13 static std::unique_ptr<PulseShapeFitOOTPileupCorrection>
16 const bool iPedestalConstraint = conf.
getParameter<
bool> (
"applyPedConstraint");
17 const bool iDCConstraint = conf.
getParameter<
bool> (
"applyDCConstraint");
18 const bool iTimeConstraint = conf.
getParameter<
bool> (
"applyTimeConstraint");
19 const bool iAddPulseJitter = conf.
getParameter<
bool> (
"applyPulseJitter");
20 const bool iApplyTimeSlew = conf.
getParameter<
bool> (
"applyTimeSlew");
21 const double iTS4Min = conf.
getParameter<
double>(
"ts4Min");
22 const std::vector<double> iTS4Max = conf.
getParameter<std::vector<double>>(
"ts4Max");
23 const double iPulseJitter = conf.
getParameter<
double>(
"pulseJitter");
24 const double iTimeMean = conf.
getParameter<
double>(
"meanTime");
25 const double iTimeSigHPD = conf.
getParameter<
double>(
"timeSigmaHPD");
26 const double iTimeSigSiPM = conf.
getParameter<
double>(
"timeSigmaSiPM");
27 const double iPedMean = conf.
getParameter<
double>(
"meanPed");
28 const double iPedSigHPD = conf.
getParameter<
double>(
"pedSigmaHPD");
29 const double iPedSigSiPM = conf.
getParameter<
double>(
"pedSigmaSiPM");
30 const double iNoiseHPD = conf.
getParameter<
double>(
"noiseHPD");
31 const double iNoiseSiPM = conf.
getParameter<
double>(
"noiseSiPM");
32 const double iTMin = conf.
getParameter<
double>(
"timeMin");
33 const double iTMax = conf.
getParameter<
double>(
"timeMax");
34 const std::vector<double> its4Chi2 = conf.
getParameter<std::vector<double>>(
"ts4chi2");
35 const int iFitTimes = conf.
getParameter<
int> (
"fitTimes");
37 if (iPedestalConstraint) assert(iPedSigHPD);
38 if (iPedestalConstraint) assert(iPedSigSiPM);
39 if (iTimeConstraint) assert(iTimeSigHPD);
40 if (iTimeConstraint) assert(iTimeSigSiPM);
42 std::unique_ptr<PulseShapeFitOOTPileupCorrection>
corr =
43 std::make_unique<PulseShapeFitOOTPileupCorrection>();
45 corr->setPUParams(iPedestalConstraint, iTimeConstraint, iAddPulseJitter,
46 iApplyTimeSlew, iTS4Min, iTS4Max,
48 iTimeMean, iTimeSigHPD, iTimeSigSiPM,
49 iPedMean, iPedSigHPD, iPedSigSiPM,
50 iNoiseHPD, iNoiseSiPM,
51 iTMin, iTMax, its4Chi2,
58 static std::unique_ptr<HcalDeterministicFit>
61 const bool iApplyTimeSlew = conf.
getParameter<
bool> (
"applyTimeSlewM3");
62 const float iPedSubThreshold = conf.
getParameter<
double>(
"pedestalUpperLimit");
63 const int iTimeSlewParsType = conf.
getParameter<
int> (
"timeSlewParsType");
64 const double irespCorrM3 = conf.
getParameter<
double>(
"respCorrM3");
65 const std::vector<double>& iTimeSlewPars =
69 pedSubFxn.
init(0, iPedSubThreshold, 0.0);
71 std::unique_ptr<HcalDeterministicFit>
fit = std::make_unique<HcalDeterministicFit>();
74 pedSubFxn, iTimeSlewPars, irespCorrM3);
79 std::unique_ptr<AbsHBHEPhase1Algo>
82 std::unique_ptr<AbsHBHEPhase1Algo>
algo;
86 if (className ==
"SimpleHBHEPhase1Algo")
88 std::unique_ptr<PulseShapeFitOOTPileupCorrection> m2;
92 std::unique_ptr<HcalDeterministicFit> detFit;
96 algo = std::unique_ptr<AbsHBHEPhase1Algo>(
T getParameter(std::string const &) const
std::unique_ptr< AbsHBHEPhase1Algo > parseHBHEPhase1AlgoDescription(const edm::ParameterSet &ps)
static std::unique_ptr< PulseShapeFitOOTPileupCorrection > parseHBHEMethod2Description(const edm::ParameterSet &conf)
void init(int runCond, float threshold, float quantile)
static std::unique_ptr< HcalDeterministicFit > parseHBHEMethod3Description(const edm::ParameterSet &conf)
std::string className(const T &t)