#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_ = nullptr |
const HcalTimeSlew * | hcalTimeSlewDelay_ = nullptr |
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, hcal::constants::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 10 of file PulseShapeFitOOTPileupCorrection.cc.
References hybridfitter, iniTimesArr, and kMigrad.
PulseShapeFitOOTPileupCorrection::~PulseShapeFitOOTPileupCorrection | ( | ) |
Definition at line 33 of file PulseShapeFitOOTPileupCorrection.cc.
References hybridfitter.
|
private |
Definition at line 196 of file PulseShapeFitOOTPileupCorrection.cc.
References funct::abs(), cms::cuda::assert(), nano_mu_local_reco_cff::chi2, dpfunctor_, fitTimes_, hybridfitter, mps_fire::i, iniTimesArr, createfilelist::int, kMigrad, dqmiodumpmetadata::n, pedMean_, pedSig_, mysort::results, PSFitter::HybridMinimizer::SetMinimizerType(), spfunctor_, timeMean_, timeSig_, tpfunctor_, TSMax_, TSMin_, and varNames.
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 302 of file PulseShapeFitOOTPileupCorrection.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge, nano_mu_local_reco_cff::chi2, HcalDetId::depth(), hcalRecHitTable_cff::energy, HBHEChannelInfo::fcByPE(), PedestalClient_cfi::gain, HBHEChannelInfo::hasTimeInfo(), HBHEChannelInfo::id(), hcal::constants::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 112 of file PulseShapeFitOOTPileupCorrection.cc.
References funct::abs(), applyTimeSlew_, L1TStage2uGTEmulatorClient_cff::BX, nano_mu_local_reco_cff::chi2, HcalTimeSlew::delay(), fit(), hcalTimeSlewDelay_, mps_fire::i, createfilelist::int, hcal::constants::maxSamples, hcal::constants::nsPerBX, psfPtr_, hcal::constants::shiftTS, slewFlavor_, mathSSE::sqrt(), ts4Chi2_, ts4Max_, and tsDelay1GeV_.
Referenced by phase1Apply().
void PulseShapeFitOOTPileupCorrection::resetPulseShapeTemplate | ( | const HcalPulseShapes::Shape & | ps, |
unsigned | nSamples | ||
) |
Definition at line 98 of file PulseShapeFitOOTPileupCorrection.cc.
References addPulseJitter_, cntsetPulseShape, FitterFuncs::PulseShapeFunctor::doublePulseShapeFunc(), dpfunctor_, PresampleTask_cfi::nSamples, 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 75 of file PulseShapeFitOOTPileupCorrection.cc.
References currentPulseShape_, HcalTimeSlew::delay(), hcalTimeSlewDelay_, isCurrentChannelHPD_, PresampleTask_cfi::nSamples, 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 38 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 98 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 100 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by pulseShapeFit(), and setPUParams().
|
private |
Definition at line 85 of file PulseShapeFitOOTPileupCorrection.h.
|
private |
Definition at line 83 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by resetPulseShapeTemplate().
const HcalPulseShapes::Shape* PulseShapeFitOOTPileupCorrection::currentPulseShape_ = nullptr |
Definition at line 51 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by setPulseShapeTemplate().
|
private |
Definition at line 90 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and resetPulseShapeTemplate().
|
private |
Definition at line 86 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and setPUParams().
const HcalTimeSlew* PulseShapeFitOOTPileupCorrection::hcalTimeSlewDelay_ = nullptr |
Definition at line 52 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by pulseShapeFit(), and setPulseShapeTemplate().
|
private |
Definition at line 82 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), PulseShapeFitOOTPileupCorrection(), and ~PulseShapeFitOOTPileupCorrection().
|
private |
Definition at line 84 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and PulseShapeFitOOTPileupCorrection().
|
private |
Definition at line 113 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by setPulseShapeTemplate().
|
private |
Definition at line 96 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 109 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 110 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit().
|
private |
Definition at line 88 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), pulseShapeFit(), resetPulseShapeTemplate(), and setPulseShapeTemplate().
|
private |
Definition at line 104 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 111 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by pulseShapeFit(), setPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 89 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and resetPulseShapeTemplate().
|
private |
Definition at line 97 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 105 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), resetPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 106 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit().
|
private |
Definition at line 107 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by setPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 108 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by setPulseShapeTemplate(), and setPUParams().
|
private |
Definition at line 91 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and resetPulseShapeTemplate().
|
mutableprivate |
Definition at line 94 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), and pulseShapeFit().
|
mutableprivate |
Definition at line 102 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), and pulseShapeFit().
|
private |
Definition at line 101 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), and setPUParams().
double PulseShapeFitOOTPileupCorrection::tsDelay1GeV_ = 0 |
Definition at line 53 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by pulseShapeFit(), and setPulseShapeTemplate().
|
private |
Definition at line 93 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and setPUParams().
|
private |
Definition at line 92 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by fit(), and setPUParams().
|
private |
Definition at line 99 of file PulseShapeFitOOTPileupCorrection.h.
|
private |
Definition at line 95 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), and setPUParams().
|
private |
Definition at line 103 of file PulseShapeFitOOTPileupCorrection.h.
Referenced by phase1Apply(), and setPUParams().