#include <HcalSimpleRecAlgo.h>
Public Member Functions | |
void | beginRun (edm::EventSetup const &es) |
void | endRun () |
HcalSimpleRecAlgo (bool correctForTimeslew, bool correctForContainment, float fixedPhaseNs) | |
void | initPulseCorr (int toadd) |
HBHERecHit | reconstruct (const HBHEDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const |
HFRecHit | reconstruct (const HFDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const |
HORecHit | reconstruct (const HODataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const |
HcalCalibRecHit | reconstruct (const HcalCalibDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const |
HFRecHit | reconstructQIE10 (const QIE10DataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const |
void | setBXInfo (const BunchXParameter *info, unsigned lenInfo) |
void | setForData (int runnum) |
void | setHBHEPileupCorrection (boost::shared_ptr< AbsOOTPileupCorrection > corr) |
void | setHFPileupCorrection (boost::shared_ptr< AbsOOTPileupCorrection > corr) |
void | setHOPileupCorrection (boost::shared_ptr< AbsOOTPileupCorrection > corr) |
void | setLeakCorrection () |
void | setMeth3Params (bool iApplyTimeSlew, float iPedSubThreshold, int iTimeSlewParsType, std::vector< double > iTimeSlewPars, double irespCorrM3) |
void | setpuCorrMethod (int method) |
void | setpuCorrParams (bool iPedestalConstraint, bool iTimeConstraint, bool iAddPulseJitter, bool iApplyTimeSlew, double iTS4Min, const std::vector< double > &iTS4Max, double iPulseJitter, double iTimeMean, double iTimeSig, double iTimeSigSiPM, double iPedMean, double iPedSig, double iPedSigSiPM, double iNoise, double iNoiseSiPM, double iTMin, double iTMax, const std::vector< double > &its4Chi2, int iFitTimes) |
void | setRecoParams (bool correctForTimeslew, bool correctForPulse, bool setLeakCorrection, int pileupCleaningID, float phaseNS) |
Private Attributes | |
const BunchXParameter * | bunchCrossingInfo_ |
bool | correctForPulse_ |
bool | correctForTimeslew_ |
boost::shared_ptr< AbsOOTPileupCorrection > | hbhePileupCorr_ |
boost::shared_ptr< AbsOOTPileupCorrection > | hfPileupCorr_ |
std::unique_ptr< HcalDeterministicFit > | hltOOTpuCorr_ |
boost::shared_ptr< AbsOOTPileupCorrection > | hoPileupCorr_ |
unsigned | lenBunchCrossingInfo_ |
std::unique_ptr< PedestalSub > | pedSubFxn_ |
float | phaseNS_ |
int | pileupCleaningID_ |
std::unique_ptr< PulseShapeFitOOTPileupCorrection > | psFitOOTpuCorr_ |
int | puCorrMethod_ |
std::unique_ptr< HcalPulseContainmentManager > | pulseCorr_ |
int | runnum_ |
bool | setLeakCorrection_ |
HcalPulseShapes | theHcalPulseShapes_ |
This class reconstructs RecHits from Digis for HBHE, HF, and HO by addition of selected time samples, pedestal subtraction, and gain application. The time of the hit is reconstructed using a weighted peak bin calculation supplemented by precise time lookup table. A consumer of this class also has the option of correcting the reconstructed time for energy-dependent time slew associated with the QIE.
Definition at line 40 of file HcalSimpleRecAlgo.h.
HcalSimpleRecAlgo::HcalSimpleRecAlgo | ( | bool | correctForTimeslew, |
bool | correctForContainment, | ||
float | fixedPhaseNs | ||
) |
Full featured constructor for HB/HE and HO (HPD-based detectors)
Definition at line 19 of file HcalSimpleRecAlgo.cc.
References hltOOTpuCorr_, MaximumFractionalError, pedSubFxn_, and pulseCorr_.
void HcalSimpleRecAlgo::beginRun | ( | edm::EventSetup const & | es | ) |
Definition at line 30 of file HcalSimpleRecAlgo.cc.
References pulseCorr_.
Referenced by HcalSimpleReconstructor::beginRun(), and HcalHitReconstructor::beginRun().
void HcalSimpleRecAlgo::endRun | ( | ) |
Definition at line 36 of file HcalSimpleRecAlgo.cc.
References pulseCorr_.
Referenced by HcalSimpleReconstructor::endRun(), and HcalHitReconstructor::endRun().
void HcalSimpleRecAlgo::initPulseCorr | ( | int | toadd | ) |
Definition at line 42 of file HcalSimpleRecAlgo.cc.
HBHERecHit HcalSimpleRecAlgo::reconstruct | ( | const HBHEDataFrame & | digi, |
int | first, | ||
int | toadd, | ||
const HcalCoder & | coder, | ||
const HcalCalibrations & | calibs | ||
) | const |
Definition at line 520 of file HcalSimpleRecAlgo.cc.
References bunchCrossingInfo_, correctForPulse_, correctForTimeslew_, plotBeamSpotDB::first, hbhePileupCorr_, hltOOTpuCorr_, lenBunchCrossingInfo_, HcalTimeSlew::Medium, pedSubFxn_, phaseNS_, psFitOOTpuCorr_, puCorrMethod_, pulseCorr_, runnum_, and setLeakCorrection_.
Referenced by HcalSimpleReconstructor::process(), and HcalHitReconstructor::produce().
HFRecHit HcalSimpleRecAlgo::reconstruct | ( | const HFDataFrame & | digi, |
int | first, | ||
int | toadd, | ||
const HcalCoder & | coder, | ||
const HcalCalibrations & | calibs | ||
) | const |
Definition at line 551 of file HcalSimpleRecAlgo.cc.
References bunchCrossingInfo_, corr, correctForPulse_, correctForTimeslew_, hfPileupCorr_, HFDataFrame::id(), lenBunchCrossingInfo_, findQualityFiles::maxI, phaseNS_, pulseCorr_, HcalSimpleRecAlgoImpl::recoHFTime(), HcalSimpleRecAlgoImpl::removePileup(), setRawEnergy(), cscNeutronWriter_cfi::t0, reco::t2, ntuplemaker::time, and HcalCalibrations::timecorr().
HORecHit HcalSimpleRecAlgo::reconstruct | ( | const HODataFrame & | digi, |
int | first, | ||
int | toadd, | ||
const HcalCoder & | coder, | ||
const HcalCalibrations & | calibs | ||
) | const |
Definition at line 531 of file HcalSimpleRecAlgo.cc.
References bunchCrossingInfo_, correctForPulse_, correctForTimeslew_, plotBeamSpotDB::first, hltOOTpuCorr_, hoPileupCorr_, lenBunchCrossingInfo_, pedSubFxn_, phaseNS_, psFitOOTpuCorr_, puCorrMethod_, pulseCorr_, runnum_, and HcalTimeSlew::Slow.
HcalCalibRecHit HcalSimpleRecAlgo::reconstruct | ( | const HcalCalibDataFrame & | digi, |
int | first, | ||
int | toadd, | ||
const HcalCoder & | coder, | ||
const HcalCalibrations & | calibs | ||
) | const |
Definition at line 541 of file HcalSimpleRecAlgo.cc.
References bunchCrossingInfo_, correctForPulse_, correctForTimeslew_, HcalTimeSlew::Fast, plotBeamSpotDB::first, hltOOTpuCorr_, lenBunchCrossingInfo_, pedSubFxn_, phaseNS_, psFitOOTpuCorr_, puCorrMethod_, pulseCorr_, and runnum_.
HFRecHit HcalSimpleRecAlgo::reconstructQIE10 | ( | const QIE10DataFrame & | digi, |
int | first, | ||
int | toadd, | ||
const HcalCoder & | coder, | ||
const HcalCalibrations & | calibs | ||
) | const |
Definition at line 580 of file HcalSimpleRecAlgo.cc.
References bunchCrossingInfo_, corr, correctForPulse_, correctForTimeslew_, hfPileupCorr_, QIE10DataFrame::id(), lenBunchCrossingInfo_, findQualityFiles::maxI, phaseNS_, pulseCorr_, HcalSimpleRecAlgoImpl::recoHFTime(), HcalSimpleRecAlgoImpl::removePileup(), setRawEnergy(), cscNeutronWriter_cfi::t0, reco::t2, ntuplemaker::time, and HcalCalibrations::timecorr().
void HcalSimpleRecAlgo::setBXInfo | ( | const BunchXParameter * | info, |
unsigned | lenInfo | ||
) |
Definition at line 112 of file HcalSimpleRecAlgo.cc.
References bunchCrossingInfo_, info(), leakCorr(), lenBunchCrossingInfo_, and timeshift_ns_hf().
void HcalSimpleRecAlgo::setForData | ( | int | runnum | ) |
Definition at line 80 of file HcalSimpleRecAlgo.cc.
References HcalPulseShapes::getShape(), HPDShapev3DataNum, HPDShapev3MCNum, psFitOOTpuCorr_, puCorrMethod_, summaryLumi::runnum, runnum_, and theHcalPulseShapes_.
Referenced by HcalSimpleReconstructor::produce(), and HcalHitReconstructor::produce().
void HcalSimpleRecAlgo::setHBHEPileupCorrection | ( | boost::shared_ptr< AbsOOTPileupCorrection > | corr | ) |
Definition at line 94 of file HcalSimpleRecAlgo.cc.
References corr, and hbhePileupCorr_.
Referenced by HcalHitReconstructor::HcalHitReconstructor().
void HcalSimpleRecAlgo::setHFPileupCorrection | ( | boost::shared_ptr< AbsOOTPileupCorrection > | corr | ) |
Definition at line 100 of file HcalSimpleRecAlgo.cc.
References corr, and hfPileupCorr_.
void HcalSimpleRecAlgo::setHOPileupCorrection | ( | boost::shared_ptr< AbsOOTPileupCorrection > | corr | ) |
Definition at line 106 of file HcalSimpleRecAlgo.cc.
References corr, and hoPileupCorr_.
void HcalSimpleRecAlgo::setLeakCorrection | ( | ) |
Definition at line 92 of file HcalSimpleRecAlgo.cc.
References setLeakCorrection_.
Referenced by HcalHitReconstructor::produce(), and setRecoParams().
void HcalSimpleRecAlgo::setMeth3Params | ( | bool | iApplyTimeSlew, |
float | iPedSubThreshold, | ||
int | iTimeSlewParsType, | ||
std::vector< double > | iTimeSlewPars, | ||
double | irespCorrM3 | ||
) |
Definition at line 73 of file HcalSimpleRecAlgo.cc.
References hltOOTpuCorr_, HcalTimeSlew::Medium, and pedSubFxn_.
Referenced by HcalHitReconstructor::HcalHitReconstructor(), HcalSimpleReconstructor::HcalSimpleReconstructor(), and setpuCorrMethod().
|
inline |
Definition at line 78 of file HcalSimpleRecAlgo.h.
References AlcaSiPixelAliHarvester0T_cff::method, psFitOOTpuCorr_, puCorrMethod_, setMeth3Params(), and setpuCorrParams().
Referenced by HcalHitReconstructor::HcalHitReconstructor().
void HcalSimpleRecAlgo::setpuCorrParams | ( | bool | iPedestalConstraint, |
bool | iTimeConstraint, | ||
bool | iAddPulseJitter, | ||
bool | iApplyTimeSlew, | ||
double | iTS4Min, | ||
const std::vector< double > & | iTS4Max, | ||
double | iPulseJitter, | ||
double | iTimeMean, | ||
double | iTimeSig, | ||
double | iTimeSigSiPM, | ||
double | iPedMean, | ||
double | iPedSig, | ||
double | iPedSigSiPM, | ||
double | iNoise, | ||
double | iNoiseSiPM, | ||
double | iTMin, | ||
double | iTMax, | ||
const std::vector< double > & | its4Chi2, | ||
int | iFitTimes | ||
) |
Definition at line 53 of file HcalSimpleRecAlgo.cc.
References HcalTimeSlew::Medium, and psFitOOTpuCorr_.
Referenced by HcalHitReconstructor::HcalHitReconstructor(), and setpuCorrMethod().
void HcalSimpleRecAlgo::setRecoParams | ( | bool | correctForTimeslew, |
bool | correctForPulse, | ||
bool | setLeakCorrection, | ||
int | pileupCleaningID, | ||
float | phaseNS | ||
) |
Definition at line 45 of file HcalSimpleRecAlgo.cc.
References correctForPulse_, CastorSimpleReconstructor_cfi::correctForTimeslew, correctForTimeslew_, phaseNS_, pileupCleaningID_, setLeakCorrection(), and setLeakCorrection_.
Referenced by HcalHitReconstructor::produce().
|
private |
Definition at line 101 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), reconstructQIE10(), and setBXInfo().
|
private |
Definition at line 95 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), reconstructQIE10(), and setRecoParams().
|
private |
Definition at line 94 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), reconstructQIE10(), and setRecoParams().
|
private |
Definition at line 103 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), and setHBHEPileupCorrection().
|
private |
Definition at line 104 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), reconstructQIE10(), and setHFPileupCorrection().
|
private |
Definition at line 116 of file HcalSimpleRecAlgo.h.
Referenced by HcalSimpleRecAlgo(), reconstruct(), and setMeth3Params().
|
private |
Definition at line 105 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), and setHOPileupCorrection().
|
private |
Definition at line 102 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), reconstructQIE10(), and setBXInfo().
|
private |
Definition at line 113 of file HcalSimpleRecAlgo.h.
Referenced by HcalSimpleRecAlgo(), reconstruct(), and setMeth3Params().
|
private |
Definition at line 96 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), reconstructQIE10(), and setRecoParams().
|
private |
Definition at line 100 of file HcalSimpleRecAlgo.h.
Referenced by setRecoParams().
|
private |
Definition at line 111 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), setForData(), setpuCorrMethod(), and setpuCorrParams().
|
private |
Definition at line 109 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), setForData(), and setpuCorrMethod().
|
private |
Definition at line 97 of file HcalSimpleRecAlgo.h.
Referenced by beginRun(), endRun(), HcalSimpleRecAlgo(), reconstruct(), and reconstructQIE10().
|
private |
Definition at line 98 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), and setForData().
|
private |
Definition at line 99 of file HcalSimpleRecAlgo.h.
Referenced by reconstruct(), setLeakCorrection(), and setRecoParams().
|
private |
Definition at line 107 of file HcalSimpleRecAlgo.h.
Referenced by setForData().