1 #ifndef RecoLocalCalo_HcalRecAlgos_PulseShapeFunctor_h
2 #define RecoLocalCalo_HcalRecAlgos_PulseShapeFunctor_h
7 namespace FitterFuncs {
12 bool iPedestalConstraint,
18 unsigned int nSamplesToFit);
22 double EvalPulseM2(
const double *pars,
const unsigned nPar);
57 void getPulseShape(std::array<double, hcal::constants::maxSamples> &fillPulseShape) {
70 std::array<float, hcal::constants::maxPSshapeBin>
pulse_hist;
77 void funcShape(std::array<double, hcal::constants::maxSamples> &ntmpbin,
78 const double pulseTime,
79 const double pulseHeight,
105 #endif // PulseShapeFunctor_h
double psFit_x[hcal::constants::maxSamples]
void EvalPulse(const float *pars)
double psFit_erry2[hcal::constants::maxSamples]
std::vector< float > const & acc25nsVec() const
std::vector< float > accVarLenIdxMinusOneVec_
void singlePulseShapeFuncMahi(const float *x)
double singlePulseShapeFunc(const double *x)
void setpsFitx(double *x)
void setDefaultcntNANinfit()
void getPulseShape(std::array< double, hcal::constants::maxSamples > &fillPulseShape)
std::vector< float > const & diffVarItvlIdxZEROVec() const
std::vector< float > const & diff25nsItvlVec() const
double psFit_slew[hcal::constants::maxSamples]
std::vector< float > const & diffVarItvlIdxMinusOneVec() const
double getSiPMDarkCurrent(double darkCurrent, double fcByPE, double lambda)
double psFit_erry[hcal::constants::maxSamples]
PulseShapeFunctor(const HcalPulseShapes::Shape &pulse, bool iPedestalConstraint, bool iTimeConstraint, bool iAddPulseJitter, double iPulseJitter, double iTimeMean, double iPedMean, unsigned int nSamplesToFit)
std::vector< float > diff25nsItvlVec_
std::array< double, hcal::constants::maxSamples > pulse_shape_
std::vector< float > acc25nsVec_
std::vector< float > const & accVarLenIdxZEROVec() const
void setinverttimeSig2(double x)
std::array< float, hcal::constants::maxPSshapeBin > pulse_hist
double psFit_y[hcal::constants::maxSamples]
void setinvertpedSig2(double x)
double pulse(double x, double y, double z, double t)
double triplePulseShapeFunc(const double *x)
void funcShape(std::array< double, hcal::constants::maxSamples > &ntmpbin, const double pulseTime, const double pulseHeight, const double slew, bool scalePulse)
double doublePulseShapeFunc(const double *x)
void setpsFiterry(double *erry)
void setpsFity(double *y)
void setpsFitslew(double *slew)
void setpsFiterry2(double *erry2)
std::array< double, hcal::constants::maxSamples > pulse_shape_sum_
std::vector< float > accVarLenIdxZEROVec_
std::vector< float > diffVarItvlIdxZEROVec_
std::vector< float > const & accVarLenIdxMinusOneVec() const
std::vector< float > diffVarItvlIdxMinusOneVec_
double EvalPulseM2(const double *pars, const unsigned nPar)