Go to the documentation of this file.
11 bool iPedestalConstraint,
17 unsigned nSamplesToFit)
72 const double pulseTime,
73 const double pulseHeight,
90 if (offset_start == 1.0) {
95 const int bin_start = (
int)offset_start;
96 const int bin_0_start = (offset_start < bin_start + 0.5 ? bin_start - 1 : bin_start);
97 const int iTS_start = i_start / ns_per_bx;
98 const int distTo25ns_start = ns_per_bx - 1 - i_start % ns_per_bx;
99 const double factor = offset_start - bin_0_start - 0.5;
109 int bin_idx = distTo25ns_start + 1 + (iTS - iTS_start - 1) * ns_per_bx + bin_0_start;
115 ntmpbin[
i] *= pulseHeight;
127 float dummyPulseHeight = 0.f;
133 unsigned i = 0,
j = 0;
135 const double pedestal = pars[nPars - 1];
138 for (
i = 0;
i < nPars; ++
i)
146 const unsigned parBy2 = (nPars - 1) / 2;
158 for (
i = 1;
i < parBy2; ++
i) {
176 for (
i = 1;
i < parBy2; ++
i) {
197 for (
j = 0;
j < parBy2; ++
j) {
std::vector< float > diff25nsItvlVec
constexpr bool isNotFinite(T x)
double psFit_slew[HcalConst::maxSamples]
double pulse(double x, double y, double z, double t)
constexpr float iniTimeShift
double psFit_erry2[HcalConst::maxSamples]
void EvalPulse(const float *pars)
std::vector< float > accVarLenIdxZEROVec
void funcShape(std::array< double, HcalConst::maxSamples > &ntmpbin, const double pulseTime, const double pulseHeight, const double slew, bool scalePulse)
std::array< double, HcalConst::maxSamples > pulse_shape_
double psFit_y[HcalConst::maxSamples]
std::array< float, HcalConst::maxPSshapeBin > pulse_hist
std::vector< float > accVarLenIdxMinusOneVec
double EvalPulseM2(const double *pars, const unsigned nPar)
double psFit_x[HcalConst::maxSamples]
constexpr float invertnsPerBx
constexpr int maxPSshapeBin
double psFit_erry[HcalConst::maxSamples]
std::vector< float > diffVarItvlIdxZEROVec
std::vector< float > acc25nsVec
Abs< T >::type abs(const T &t)
std::vector< float > diffVarItvlIdxMinusOneVec
std::array< double, HcalConst::maxSamples > pulse_shape_sum_
PulseShapeFunctor(const HcalPulseShapes::Shape &pulse, bool iPedestalConstraint, bool iTimeConstraint, bool iAddPulseJitter, double iPulseJitter, double iTimeMean, double iPedMean, unsigned int nSamplesToFit)