2 #ifndef HBHE_PULSESHAPE_FLAG_H_IKAJHGEWRHIGKHAWFIKGHAWIKGH
3 #define HBHE_PULSESHAPE_FLAG_H_IKAJHGEWRHIGKHAWFIKGHAWIKGH
33 double TS4TS5ChargeThreshold,
34 unsigned int TrianglePeakTS,
35 const std::vector<double>& LinearThreshold,
36 const std::vector<double>& LinearCut,
37 const std::vector<double>& RMS8MaxThreshold,
38 const std::vector<double>& RMS8MaxCut,
39 const std::vector<double>& LeftSlopeThreshold,
40 const std::vector<double>& LeftSlopeCut,
41 const std::vector<double>& RightSlopeThreshold,
42 const std::vector<double>& RightSlopeCut,
43 const std::vector<double>& RightSlopeSmallThreshold,
44 const std::vector<double>& RightSlopeSmallCut,
50 bool TriangleIgnoreSlow);
76 double DualNominalFitSingleTry(
const std::vector<double> &Charge,
int Offset,
int Distance,
bool newCharges=
true);
80 bool CheckPassFilter(
double Charge,
double Discriminant, std::vector<std::pair<double, double> > &Cuts,
82 std::vector<double>
f1_;
83 std::vector<double>
f2_;
std::vector< double > f1_
double mMinimumChargeThreshold
std::vector< std::pair< double, double > > mLambdaLinearCut
std::vector< double > f2_
double CalculateRMS8Max(const std::vector< double > &Charge)
std::vector< std::pair< double, double > > mTS4TS5LowerCut
double PerformNominalFit(const std::vector< double > &Charge)
double DualNominalFitSingleTry(const std::vector< double > &Charge, int Offset, int Distance, bool newCharges=true)
double PerformDualNominalFit(const std::vector< double > &Charge)
~HBHEPulseShapeFlagSetter()
double PerformLinearFit(const std::vector< double > &Charge)
std::vector< std::pair< double, double > > mLeftSlopeCut
TriangleFitResult PerformTriangleFit(const std::vector< double > &Charge)
MVATrainerComputer * calib
double mTS4TS5ChargeThreshold
HBHEPulseShapeFlagSetter()
std::vector< std::pair< double, double > > mRightSlopeCut
bool CheckPassFilter(double Charge, double Discriminant, std::vector< std::pair< double, double > > &Cuts, int Side)
std::vector< double > mCharge
std::vector< std::pair< double, double > > mRightSlopeSmallCut
tuple TS4TS5LowerThreshold
tuple TS4TS5UpperThreshold
void SetPulseShapeFlags(HBHERecHit &hbhe, const HBHEDataFrame &digi, const HcalCoder &coder, const HcalCalibrations &calib)
std::vector< double > errors_
std::vector< double > CumulativeIdealPulse
std::vector< std::pair< double, double > > mLambdaRMS8MaxCut
std::vector< std::pair< double, double > > mTS4TS5UpperCut