#include <PulseShapeFitOOTPileupCorrection.h>
Public Member Functions | |
void | phase1Apply (const HBHEChannelInfo &channelData, float &reconstructedEnergy, float &reconstructedTime, bool &useTriple, float &chi2) const |
PulseShapeFitOOTPileupCorrection () | |
void | resetPulseShapeTemplate (const HcalPulseShapes::Shape &ps, unsigned nSamples) |
void | setPulseShapeTemplate (const HcalPulseShapes::Shape &ps, bool isHPD, unsigned nSamples, const HcalTimeSlew *hcalTimeSlewDelay) |
void | setPUParams (bool iPedestalConstraint, bool iTimeConstraint, bool iAddPulseJitter, bool iApplyTimeSlew, double iTS4Min, const std::vector< double > &iTS4Max, double iPulseJitter, double iTimeMean, double iTimeSigHPD, double iTimeSigSiPM, double iPedMean, double iTMin, double iTMax, const std::vector< double > &its4Chi2, HcalTimeSlew::BiasSetting slewFlavor, int iFitTimes) |
~PulseShapeFitOOTPileupCorrection () | |
Public Attributes | |
const HcalPulseShapes::Shape * | currentPulseShape_ = 0 |
const HcalTimeSlew * | hcalTimeSlewDelay_ = 0 |
double | tsDelay1GeV_ =0 |
Private Member Functions | |
void | fit (int iFit, float &timevalfit, float &chargevalfit, float &pedvalfit, float &chi2, bool &fitStatus, double &iTSMax, const double &iTSTOTen, double *iEnArr, unsigned(&iBX)[3]) const |
int | pulseShapeFit (const double *energyArr, const double *pedenArr, const double *chargeArr, const double *pedArr, const double *gainArr, const double tsTOTen, std::vector< float > &fitParsVec, const double *ADCnoise, unsigned int soi) const |
Private Attributes | |
bool | addPulseJitter_ |
bool | applyTimeSlew_ |
double | chargeThreshold_ |
int | cntsetPulseShape |
std::unique_ptr< ROOT::Math::Functor > | dpfunctor_ |
int | fitTimes_ |
PSFitter::HybridMinimizer * | hybridfitter |
std::array< double, HcalConst::maxSamples > | iniTimesArr |
bool | isCurrentChannelHPD_ |
bool | pedestalConstraint_ |
double | pedMean_ |
double | pedSig_ |
std::unique_ptr< FitterFuncs::PulseShapeFunctor > | psfPtr_ |
double | pulseJitter_ |
HcalTimeSlew::BiasSetting | slewFlavor_ |
std::unique_ptr< ROOT::Math::Functor > | spfunctor_ |
bool | timeConstraint_ |
double | timeMean_ |
double | timeSig_ |
double | timeSigHPD_ |
double | timeSigSiPM_ |
std::unique_ptr< ROOT::Math::Functor > | tpfunctor_ |
double | ts4Chi2_ |
double | ts4Max_ |
double | ts4Min_ |
int | TSMax_ |
int | TSMin_ |
bool | unConstrainedFit_ |
std::vector< double > | vts4Chi2_ |
std::vector< double > | vts4Max_ |
Definition at line 23 of file PulseShapeFitOOTPileupCorrection.h.
PulseShapeFitOOTPileupCorrection::PulseShapeFitOOTPileupCorrection | ( | ) |
Definition at line 8 of file PulseShapeFitOOTPileupCorrection.cc.
References hybridfitter, iniTimesArr, and PSFitter::HybridMinimizer::kMigrad.
PulseShapeFitOOTPileupCorrection::~PulseShapeFitOOTPileupCorrection | ( | ) |
Definition at line 18 of file PulseShapeFitOOTPileupCorrection.cc.
References hybridfitter.
|
private |
Definition at line 154 of file PulseShapeFitOOTPileupCorrection.cc.
References funct::abs(), PSFitter::HybridMinimizer::Clear(), dpfunctor_, fitTimes_, hybridfitter, mps_fire::i, iniTimesArr, createfilelist::int, PSFitter::HybridMinimizer::kMigrad, PSFitter::HybridMinimizer::kScan, PSFitter::HybridMinimizer::Minimize(), PSFitter::HybridMinimizer::MinValue(), gen::n, pedMean_, pedSig_, mps_update::results, PSFitter::HybridMinimizer::SetFixedVariable(), PSFitter::HybridMinimizer::SetFunction(), PSFitter::HybridMinimizer::SetLimitedVariable(), PSFitter::HybridMinimizer::SetMinimizerType(), spfunctor_, timeMean_, timeSig_, tpfunctor_, TSMax_, TSMin_, varNames, and PSFitter::HybridMinimizer::X().
Referenced by trackingPlots.Iteration::modules(), and pulseShapeFit().
void PulseShapeFitOOTPileupCorrection::phase1Apply | ( | const HBHEChannelInfo & | channelData, |
float & | reconstructedEnergy, | ||
float & | reconstructedTime, | ||
bool & | useTriple, | ||
float & | chi2 | ||
) | const |
Definition at line 231 of file PulseShapeFitOOTPileupCorrection.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge, HcalDetId::depth(), randomXiThetaGunProducer_cfi::energy, HBHEChannelInfo::fcByPE(), muonCSCDigis_cfi::gain, HBHEChannelInfo::hasTimeInfo(), HBHEChannelInfo::id(), HcalConst::maxSamples, HBHEChannelInfo::nSamples(), psfPtr_, pulseShapeFit(), HBHEChannelInfo::soi(), mathSSE::sqrt(), ts4Chi2_, ts4Max_, ts4Min_, HBHEChannelInfo::tsDFcPerADC(), HBHEChannelInfo::tsGain(), HBHEChannelInfo::tsPedestal(), HBHEChannelInfo::tsPedestalWidth(), HBHEChannelInfo::tsRawCharge(), vts4Chi2_, and vts4Max_.
Referenced by SimpleHBHEPhase1Algo::reconstruct().
|
private |
Definition at line 84 of file PulseShapeFitOOTPileupCorrection.cc.
References funct::abs(), applyTimeSlew_, rpcdqm::BX, vertices_cff::chi2, HcalTimeSlew::delay(), fit(), hcalTimeSlewDelay_, mps_fire::i, createfilelist::int, HcalConst::maxSamples, HcalConst::nsPerBX, psfPtr_, HcalConst::shiftTS, slewFlavor_, mathSSE::sqrt(), ts4Chi2_, ts4Max_, and tsDelay1GeV_.
Referenced by phase1Apply().
void PulseShapeFitOOTPileupCorrection::resetPulseShapeTemplate | ( | const HcalPulseShapes::Shape & | ps, |
unsigned | nSamples | ||
) |
Definition at line 72 of file PulseShapeFitOOTPileupCorrection.cc.
References addPulseJitter_, cntsetPulseShape, FitterFuncs::PulseShapeFunctor::doublePulseShapeFunc(), dpfunctor_, pedestalConstraint_, pedMean_, psfPtr_, pulseJitter_, FitterFuncs::PulseShapeFunctor::singlePulseShapeFunc(), spfunctor_, timeConstraint_, timeMean_, tpfunctor_, and FitterFuncs::PulseShapeFunctor::triplePulseShapeFunc().
Referenced by setPulseShapeTemplate().
void PulseShapeFitOOTPileupCorrection::setPulseShapeTemplate | ( | const HcalPulseShapes::Shape & | ps, |
bool | isHPD, | ||
unsigned | nSamples, | ||
const HcalTimeSlew * | hcalTimeSlewDelay | ||
) |
Definition at line 52 of file PulseShapeFitOOTPileupCorrection.cc.
References currentPulseShape_, HcalTimeSlew::delay(), hcalTimeSlewDelay_, isCurrentChannelHPD_, psfPtr_, resetPulseShapeTemplate(), slewFlavor_, timeSigHPD_, timeSigSiPM_, and tsDelay1GeV_.
void PulseShapeFitOOTPileupCorrection::setPUParams | ( | bool | iPedestalConstraint, |
bool | iTimeConstraint, | ||
bool | iAddPulseJitter, | ||
bool | iApplyTimeSlew, | ||
double | iTS4Min, | ||
const std::vector< double > & | iTS4Max, | ||
double | iPulseJitter, | ||
double | iTimeMean, | ||
double | iTimeSigHPD, | ||
double | iTimeSigSiPM, | ||
double | iPedMean, | ||
double | iTMin, | ||
double | iTMax, | ||
const std::vector< double > & | its4Chi2, | ||
HcalTimeSlew::BiasSetting | slewFlavor, | ||
int | iFitTimes | ||
) |
Definition at line 22 of file PulseShapeFitOOTPileupCorrection.cc.
References addPulseJitter_, applyTimeSlew_, fitTimes_, pedestalConstraint_, pedMean_, pulseJitter_, slewFlavor_, timeConstraint_, timeMean_, timeSigHPD_, timeSigSiPM_, ts4Min_, TSMax_, TSMin_, vts4Chi2_, and vts4Max_.
|
private |
Definition at line 73 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 75 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by pulseShapeFit(), and setPUParams().
|
private |
Definition at line 60 of file PulseShapeFitOOTPileupCorrection.h.
|
private |
Definition at line 58 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by resetPulseShapeTemplate().
const HcalPulseShapes::Shape* PulseShapeFitOOTPileupCorrection::currentPulseShape_ = 0 |
Definition at line 43 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by setPulseShapeTemplate().
|
private |
Definition at line 65 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and resetPulseShapeTemplate().
|
private |
Definition at line 61 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and setPUParams().
const HcalTimeSlew* PulseShapeFitOOTPileupCorrection::hcalTimeSlewDelay_ = 0 |
Definition at line 44 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by pulseShapeFit(), and setPulseShapeTemplate().
|
private |
Definition at line 57 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), PulseShapeFitOOTPileupCorrection(), and ~PulseShapeFitOOTPileupCorrection().
|
private |
Definition at line 59 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and PulseShapeFitOOTPileupCorrection().
|
private |
Definition at line 88 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by setPulseShapeTemplate().
|
private |
Definition at line 71 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 84 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 85 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit().
|
private |
Definition at line 63 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), pulseShapeFit(), resetPulseShapeTemplate(), and setPulseShapeTemplate().
|
private |
Definition at line 79 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 86 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by pulseShapeFit(), setPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 64 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and resetPulseShapeTemplate().
|
private |
Definition at line 72 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 80 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 81 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit().
|
private |
Definition at line 82 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by setPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 83 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by setPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 66 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and resetPulseShapeTemplate().
|
mutableprivate |
Definition at line 69 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), and pulseShapeFit().
|
mutableprivate |
Definition at line 77 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), and pulseShapeFit().
|
private |
Definition at line 76 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), and setPUParams().
double PulseShapeFitOOTPileupCorrection::tsDelay1GeV_ =0 |
Definition at line 45 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by pulseShapeFit(), and setPulseShapeTemplate().
|
private |
Definition at line 68 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and setPUParams().
|
private |
Definition at line 67 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and setPUParams().
|
private |
Definition at line 74 of file PulseShapeFitOOTPileupCorrection.h.
|
private |
Definition at line 70 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), and setPUParams().
|
private |
Definition at line 78 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), and setPUParams().