17 : ts_to_ns_(iConfig.getParameter<double>(
"timeSliceNs")),
18 apply_calib_(iConfig.getParameter<
bool>(
"applyCalibration")) {}
28 for (
const auto& vec :
input) {
43 const float x_width = 2.0 * diamondDimensions.
xHalfWidth;
44 const float y_width = 2.0 * diamondDimensions.yHalfWidth;
45 const float z_width = 2.0 * diamondDimensions.zHalfWidth;
48 const int sector = detid.arm(),
station = detid.station(), plane = detid.plane(), channel = detid.channel();
56 for (
const auto& digi : vec) {
57 const int t_lead = digi.leadingEdge(), t_trail = digi.trailingEdge();
59 if (t_lead == 0 && t_trail == 0)
62 double tot = -1., ch_t_twc = 0.;
63 if (t_lead != 0 && t_trail != 0) {
67 ch_t_twc =
calib_fct_->evaluate(std::vector<double>{tot}, ch_params);
73 const int time_slice =
77 const double t0 = (t_lead % 1024) *
ts_to_ns_ - ch_t_twc;
93 digi.hptdcErrorFlags(),