CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
HcalSimpleRecAlgo Class Reference

#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
 
HBHERecHit reconstructHBHEUpgrade (const HcalUpgradeDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
 
HFRecHit reconstructHFUpgrade (const HcalUpgradeDataFrame &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 (int iPedSubMethod, float iPedSubThreshold, int iTimeSlewParsType, std::vector< double > iTimeSlewPars, double irespCorrM3)
 
void setpuCorrMethod (int method)
 
void setpuCorrParams (bool iPedestalConstraint, bool iTimeConstraint, bool iAddPulseJitter, bool iUnConstrainedFit, bool iApplyTimeSlew, double iTS4Min, double iTS4Max, double iPulseJitter, double iTimeMean, double iTimeSig, double iPedMean, double iPedSig, double iNoise, double iTMin, double iTMax, double its3Chi2, double its4Chi2, double its345Chi2, double iChargeThreshold, 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::auto_ptr
< HcalDeterministicFit
hltOOTpuCorr_
 
boost::shared_ptr
< AbsOOTPileupCorrection
hoPileupCorr_
 
unsigned lenBunchCrossingInfo_
 
std::auto_ptr< PedestalSubpedSubFxn_
 
float phaseNS_
 
int pileupCleaningID_
 
std::auto_ptr
< PulseShapeFitOOTPileupCorrection
psFitOOTpuCorr_
 
int puCorrMethod_
 
std::auto_ptr
< HcalPulseContainmentManager
pulseCorr_
 
int runnum_
 
bool setLeakCorrection_
 
HcalPulseShapes theHcalPulseShapes_
 

Detailed Description

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.

Author
J. Mans - Minnesota

Definition at line 41 of file HcalSimpleRecAlgo.h.

Constructor & Destructor Documentation

HcalSimpleRecAlgo::HcalSimpleRecAlgo ( bool  correctForTimeslew,
bool  correctForContainment,
float  fixedPhaseNs 
)

Full featured constructor for HB/HE and HO (HPD-based detectors)

Definition at line 18 of file HcalSimpleRecAlgo.cc.

References hltOOTpuCorr_, MaximumFractionalError, pedSubFxn_, and pulseCorr_.

18  :
20  correctForPulse_(correctForPulse),
21  phaseNS_(phaseNS), runnum_(0), setLeakCorrection_(false), puCorrMethod_(0)
22 {
23  pulseCorr_ = std::auto_ptr<HcalPulseContainmentManager>(new HcalPulseContainmentManager(MaximumFractionalError));
24  pedSubFxn_ = std::auto_ptr<PedestalSub>(new PedestalSub());
25  hltOOTpuCorr_ = std::auto_ptr<HcalDeterministicFit>(new HcalDeterministicFit());
26 }
double MaximumFractionalError
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
std::auto_ptr< PedestalSub > pedSubFxn_
std::auto_ptr< HcalDeterministicFit > hltOOTpuCorr_

Member Function Documentation

void HcalSimpleRecAlgo::beginRun ( edm::EventSetup const &  es)

Definition at line 29 of file HcalSimpleRecAlgo.cc.

References pulseCorr_.

Referenced by HcalSimpleReconstructor::beginRun(), and HcalHitReconstructor::beginRun().

30 {
31  pulseCorr_->beginRun(es);
32 }
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
void HcalSimpleRecAlgo::endRun ( void  )

Definition at line 35 of file HcalSimpleRecAlgo.cc.

References pulseCorr_.

Referenced by HcalSimpleReconstructor::endRun(), and HcalHitReconstructor::endRun().

36 {
37  pulseCorr_->endRun();
38 }
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
void HcalSimpleRecAlgo::initPulseCorr ( int  toadd)

Definition at line 41 of file HcalSimpleRecAlgo.cc.

41  {
42 }
HBHERecHit HcalSimpleRecAlgo::reconstruct ( const HBHEDataFrame digi,
int  first,
int  toadd,
const HcalCoder coder,
const HcalCalibrations calibs 
) const

Definition at line 532 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().

532  {
533  return HcalSimpleRecAlgoImpl::recoHBHE<HBHEDataFrame,HBHERecHit>(digi,coder,calibs,
535  pulseCorr_->get(digi.id(), toadd, phaseNS_),
538  hbhePileupCorr_.get(),
540 }
const BunchXParameter * bunchCrossingInfo_
boost::shared_ptr< AbsOOTPileupCorrection > hbhePileupCorr_
unsigned lenBunchCrossingInfo_
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
std::auto_ptr< PulseShapeFitOOTPileupCorrection > psFitOOTpuCorr_
std::auto_ptr< PedestalSub > pedSubFxn_
std::auto_ptr< HcalDeterministicFit > hltOOTpuCorr_
HFRecHit HcalSimpleRecAlgo::reconstruct ( const HFDataFrame digi,
int  first,
int  toadd,
const HcalCoder coder,
const HcalCalibrations calibs 
) const

Definition at line 576 of file HcalSimpleRecAlgo.cc.

References bunchCrossingInfo_, corr, correctForPulse_, correctForTimeslew_, hfPileupCorr_, HFDataFrame::id(), lenBunchCrossingInfo_, findQualityFiles::maxI, phaseNS_, pulseCorr_, HcalSimpleRecAlgoImpl::recoHFTime(), HcalSimpleRecAlgoImpl::removePileup(), setRawEnergy(), FrontierCondition_GT_autoExpress_cfi::t0, reco::t2, and HcalCalibrations::timecorr().

581 {
582  const HcalPulseContainmentCorrection* corr = pulseCorr_->get(digi.id(), toadd, phaseNS_);
583 
584  double amp_fC, ampl, uncorr_ampl, maxA;
585  int nRead, maxI;
586  bool leakCorrApplied;
587  float t0, t2;
588 
589  HcalSimpleRecAlgoImpl::removePileup(digi, coder, calibs, first, toadd,
590  correctForPulse_, corr, hfPileupCorr_.get(),
592  &maxA, &ampl, &uncorr_ampl, &amp_fC, &nRead,
593  &maxI, &leakCorrApplied, &t0, &t2);
594 
595  float time=-9999.f;
596  if (maxI > 0 && maxI < (nRead - 1))
597  time = HcalSimpleRecAlgoImpl::recoHFTime(digi,maxI,amp_fC,correctForTimeslew_,maxA,t0,t2) -
598  calibs.timecorr();
599 
600  HFRecHit rh(digi.id(),ampl,time);
601  setRawEnergy(rh, static_cast<float>(uncorr_ampl));
602  return rh;
603 }
const BunchXParameter * bunchCrossingInfo_
void setRawEnergy(HcalRecHit &h, float e)
Definition: rawEnergy.h:215
auto const T2 &decltype(t1.eta()) t2
Definition: deltaR.h:16
unsigned lenBunchCrossingInfo_
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
void removePileup(const Digi &digi, const HcalCoder &coder, const HcalCalibrations &calibs, const int ifirst, const int n, const bool pulseCorrect, const HcalPulseContainmentCorrection *corr, const AbsOOTPileupCorrection *pileupCorrection, const BunchXParameter *bxInfo, const unsigned lenInfo, double *p_maxA, double *p_ampl, double *p_uncorr_ampl, double *p_fc_ampl, int *p_nRead, int *p_maxI, bool *leakCorrApplied, float *p_t0, float *p_t2)
JetCorrectorParameters corr
Definition: classes.h:5
double timecorr() const
get time correction factor
boost::shared_ptr< AbsOOTPileupCorrection > hfPileupCorr_
float recoHFTime(const Digi &digi, const int maxI, const double amp_fC, const bool slewCorrect, double maxA, float t0, float t2)
const HcalDetId & id() const
Definition: HFDataFrame.h:22
HORecHit HcalSimpleRecAlgo::reconstruct ( const HODataFrame digi,
int  first,
int  toadd,
const HcalCoder coder,
const HcalCalibrations calibs 
) const

Definition at line 543 of file HcalSimpleRecAlgo.cc.

References bunchCrossingInfo_, correctForPulse_, correctForTimeslew_, plotBeamSpotDB::first, hltOOTpuCorr_, hoPileupCorr_, lenBunchCrossingInfo_, pedSubFxn_, phaseNS_, psFitOOTpuCorr_, puCorrMethod_, pulseCorr_, runnum_, and HcalTimeSlew::Slow.

543  {
544  return HcalSimpleRecAlgoImpl::reco<HODataFrame,HORecHit>(digi,coder,calibs,
546  pulseCorr_->get(digi.id(), toadd, phaseNS_),
548  runnum_, false, hoPileupCorr_.get(),
550 }
const BunchXParameter * bunchCrossingInfo_
boost::shared_ptr< AbsOOTPileupCorrection > hoPileupCorr_
unsigned lenBunchCrossingInfo_
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
std::auto_ptr< PulseShapeFitOOTPileupCorrection > psFitOOTpuCorr_
std::auto_ptr< PedestalSub > pedSubFxn_
std::auto_ptr< HcalDeterministicFit > hltOOTpuCorr_
HcalCalibRecHit HcalSimpleRecAlgo::reconstruct ( const HcalCalibDataFrame digi,
int  first,
int  toadd,
const HcalCoder coder,
const HcalCalibrations calibs 
) const

Definition at line 553 of file HcalSimpleRecAlgo.cc.

References bunchCrossingInfo_, correctForPulse_, correctForTimeslew_, HcalTimeSlew::Fast, plotBeamSpotDB::first, hltOOTpuCorr_, lenBunchCrossingInfo_, pedSubFxn_, phaseNS_, psFitOOTpuCorr_, puCorrMethod_, pulseCorr_, and runnum_.

553  {
554  return HcalSimpleRecAlgoImpl::reco<HcalCalibDataFrame,HcalCalibRecHit>(digi,coder,calibs,
556  pulseCorr_->get(digi.id(), toadd, phaseNS_),
558  runnum_, false, 0,
560 }
const BunchXParameter * bunchCrossingInfo_
unsigned lenBunchCrossingInfo_
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
std::auto_ptr< PulseShapeFitOOTPileupCorrection > psFitOOTpuCorr_
std::auto_ptr< PedestalSub > pedSubFxn_
std::auto_ptr< HcalDeterministicFit > hltOOTpuCorr_
HBHERecHit HcalSimpleRecAlgo::reconstructHBHEUpgrade ( const HcalUpgradeDataFrame digi,
int  first,
int  toadd,
const HcalCoder coder,
const HcalCalibrations calibs 
) const

Definition at line 563 of file HcalSimpleRecAlgo.cc.

References bunchCrossingInfo_, correctForPulse_, correctForTimeslew_, plotBeamSpotDB::first, hbhePileupCorr_, hltOOTpuCorr_, lenBunchCrossingInfo_, HcalTimeSlew::Medium, pedSubFxn_, phaseNS_, psFitOOTpuCorr_, puCorrMethod_, pulseCorr_, mps_fire::result, and EcalTBTDCReconstructor_cfi::tdcReco.

Referenced by HcalSimpleReconstructor::processUpgrade().

563  {
564  HBHERecHit result = HcalSimpleRecAlgoImpl::reco<HcalUpgradeDataFrame,HBHERecHit>(digi, coder, calibs,
566  pulseCorr_->get(digi.id(), toadd, phaseNS_),
567  HcalTimeSlew::Medium, 0, false,
568  hbhePileupCorr_.get(),
571  tdcReco.reconstruct(digi, result);
572  return result;
573 }
const BunchXParameter * bunchCrossingInfo_
tuple result
Definition: mps_fire.py:83
boost::shared_ptr< AbsOOTPileupCorrection > hbhePileupCorr_
unsigned lenBunchCrossingInfo_
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
std::auto_ptr< PulseShapeFitOOTPileupCorrection > psFitOOTpuCorr_
std::auto_ptr< PedestalSub > pedSubFxn_
std::auto_ptr< HcalDeterministicFit > hltOOTpuCorr_
HFRecHit HcalSimpleRecAlgo::reconstructHFUpgrade ( const HcalUpgradeDataFrame digi,
int  first,
int  toadd,
const HcalCoder coder,
const HcalCalibrations calibs 
) const

Definition at line 637 of file HcalSimpleRecAlgo.cc.

References bunchCrossingInfo_, corr, correctForPulse_, correctForTimeslew_, hfPileupCorr_, HcalUpgradeDataFrame::id(), lenBunchCrossingInfo_, findQualityFiles::maxI, phaseNS_, pulseCorr_, HcalSimpleRecAlgoImpl::recoHFTime(), HcalSimpleRecAlgoImpl::removePileup(), setRawEnergy(), FrontierCondition_GT_autoExpress_cfi::t0, reco::t2, and HcalCalibrations::timecorr().

Referenced by HcalSimpleReconstructor::processUpgrade().

642 {
643  const HcalPulseContainmentCorrection* corr = pulseCorr_->get(digi.id(), toadd, phaseNS_);
644 
645  double amp_fC, ampl, uncorr_ampl, maxA;
646  int nRead, maxI;
647  bool leakCorrApplied;
648  float t0, t2;
649 
650  HcalSimpleRecAlgoImpl::removePileup(digi, coder, calibs, first, toadd,
651  correctForPulse_, corr, hfPileupCorr_.get(),
653  &maxA, &ampl, &uncorr_ampl, &amp_fC, &nRead,
654  &maxI, &leakCorrApplied, &t0, &t2);
655 
656  float time=-9999.f;
657  if (maxI > 0 && maxI < (nRead - 1))
658  time = HcalSimpleRecAlgoImpl::recoHFTime(digi,maxI,amp_fC,correctForTimeslew_,maxA,t0,t2) -
659  calibs.timecorr();
660 
661  HFRecHit rh(digi.id(),ampl,time); // new RecHit gets second time = 0.
662  setRawEnergy(rh, static_cast<float>(uncorr_ampl));
663  return rh;
664 }
const BunchXParameter * bunchCrossingInfo_
void setRawEnergy(HcalRecHit &h, float e)
Definition: rawEnergy.h:215
auto const T2 &decltype(t1.eta()) t2
Definition: deltaR.h:16
unsigned lenBunchCrossingInfo_
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
void removePileup(const Digi &digi, const HcalCoder &coder, const HcalCalibrations &calibs, const int ifirst, const int n, const bool pulseCorrect, const HcalPulseContainmentCorrection *corr, const AbsOOTPileupCorrection *pileupCorrection, const BunchXParameter *bxInfo, const unsigned lenInfo, double *p_maxA, double *p_ampl, double *p_uncorr_ampl, double *p_fc_ampl, int *p_nRead, int *p_maxI, bool *leakCorrApplied, float *p_t0, float *p_t2)
JetCorrectorParameters corr
Definition: classes.h:5
double timecorr() const
get time correction factor
boost::shared_ptr< AbsOOTPileupCorrection > hfPileupCorr_
const HcalDetId & id() const
float recoHFTime(const Digi &digi, const int maxI, const double amp_fC, const bool slewCorrect, double maxA, float t0, float t2)
HFRecHit HcalSimpleRecAlgo::reconstructQIE10 ( const QIE10DataFrame digi,
int  first,
int  toadd,
const HcalCoder coder,
const HcalCalibrations calibs 
) const

Definition at line 605 of file HcalSimpleRecAlgo.cc.

References bunchCrossingInfo_, corr, correctForPulse_, correctForTimeslew_, hfPileupCorr_, QIE10DataFrame::id(), lenBunchCrossingInfo_, findQualityFiles::maxI, phaseNS_, pulseCorr_, HcalSimpleRecAlgoImpl::recoHFTime(), HcalSimpleRecAlgoImpl::removePileup(), setRawEnergy(), FrontierCondition_GT_autoExpress_cfi::t0, reco::t2, and HcalCalibrations::timecorr().

Referenced by HcalSimpleReconstructor::processUpgrade().

610 {
611  const HcalPulseContainmentCorrection* corr = pulseCorr_->get(digi.id(), toadd, phaseNS_);
612 
613  double amp_fC, ampl, uncorr_ampl, maxA;
614  int nRead, maxI;
615  bool leakCorrApplied;
616  float t0, t2;
617 
618  HcalSimpleRecAlgoImpl::removePileup(digi, coder, calibs, first, toadd,
619  correctForPulse_, corr, hfPileupCorr_.get(),
621  &maxA, &ampl, &uncorr_ampl, &amp_fC, &nRead,
622  &maxI, &leakCorrApplied, &t0, &t2);
623 
624  float time=-9999.f;
625  if (maxI > 0 && maxI < (nRead - 1))
626  time = HcalSimpleRecAlgoImpl::recoHFTime(digi,maxI,amp_fC,correctForTimeslew_,maxA,t0,t2) -
627  calibs.timecorr();
628 
629  HFRecHit rh(digi.id(),ampl,time);
630  setRawEnergy(rh, static_cast<float>(uncorr_ampl));
631  return rh;
632 }
edm::DataFrame::id_type id() const
const BunchXParameter * bunchCrossingInfo_
void setRawEnergy(HcalRecHit &h, float e)
Definition: rawEnergy.h:215
auto const T2 &decltype(t1.eta()) t2
Definition: deltaR.h:16
unsigned lenBunchCrossingInfo_
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
void removePileup(const Digi &digi, const HcalCoder &coder, const HcalCalibrations &calibs, const int ifirst, const int n, const bool pulseCorrect, const HcalPulseContainmentCorrection *corr, const AbsOOTPileupCorrection *pileupCorrection, const BunchXParameter *bxInfo, const unsigned lenInfo, double *p_maxA, double *p_ampl, double *p_uncorr_ampl, double *p_fc_ampl, int *p_nRead, int *p_maxI, bool *leakCorrApplied, float *p_t0, float *p_t2)
JetCorrectorParameters corr
Definition: classes.h:5
double timecorr() const
get time correction factor
boost::shared_ptr< AbsOOTPileupCorrection > hfPileupCorr_
float recoHFTime(const Digi &digi, const int maxI, const double amp_fC, const bool slewCorrect, double maxA, float t0, float t2)
void HcalSimpleRecAlgo::setBXInfo ( const BunchXParameter *  info,
unsigned  lenInfo 
)

Definition at line 103 of file HcalSimpleRecAlgo.cc.

References bunchCrossingInfo_, info(), and lenBunchCrossingInfo_.

105 {
107  lenBunchCrossingInfo_ = lenInfo;
108 }
static const TGPicture * info(bool iBackgroundIsBlack)
const BunchXParameter * bunchCrossingInfo_
unsigned lenBunchCrossingInfo_
void HcalSimpleRecAlgo::setForData ( int  runnum)

Definition at line 72 of file HcalSimpleRecAlgo.cc.

References HcalPulseShapes::getShape(), HPDShapev3DataNum, HPDShapev3MCNum, psFitOOTpuCorr_, puCorrMethod_, summaryLumi::runnum, runnum_, and theHcalPulseShapes_.

Referenced by HcalSimpleReconstructor::produce(), and HcalHitReconstructor::produce().

72  {
73  runnum_ = runnum;
74  if( puCorrMethod_ ==2 ){
75  int shapeNum = HPDShapev3MCNum;
76  if( runnum_ > 0 ){
77  shapeNum = HPDShapev3DataNum;
78  }
79  psFitOOTpuCorr_->setPulseShapeTemplate(theHcalPulseShapes_.getShape(shapeNum));
80  }
81 }
const Shape & getShape(int shapeType) const
HcalPulseShapes theHcalPulseShapes_
int HPDShapev3MCNum
std::auto_ptr< PulseShapeFitOOTPileupCorrection > psFitOOTpuCorr_
int HPDShapev3DataNum
tuple runnum
Definition: summaryLumi.py:210
void HcalSimpleRecAlgo::setHBHEPileupCorrection ( boost::shared_ptr< AbsOOTPileupCorrection corr)

Definition at line 85 of file HcalSimpleRecAlgo.cc.

References corr, and hbhePileupCorr_.

Referenced by HcalHitReconstructor::HcalHitReconstructor().

87 {
89 }
boost::shared_ptr< AbsOOTPileupCorrection > hbhePileupCorr_
JetCorrectorParameters corr
Definition: classes.h:5
void HcalSimpleRecAlgo::setHFPileupCorrection ( boost::shared_ptr< AbsOOTPileupCorrection corr)

Definition at line 91 of file HcalSimpleRecAlgo.cc.

References corr, and hfPileupCorr_.

93 {
95 }
JetCorrectorParameters corr
Definition: classes.h:5
boost::shared_ptr< AbsOOTPileupCorrection > hfPileupCorr_
void HcalSimpleRecAlgo::setHOPileupCorrection ( boost::shared_ptr< AbsOOTPileupCorrection corr)

Definition at line 97 of file HcalSimpleRecAlgo.cc.

References corr, and hoPileupCorr_.

99 {
101 }
boost::shared_ptr< AbsOOTPileupCorrection > hoPileupCorr_
JetCorrectorParameters corr
Definition: classes.h:5
void HcalSimpleRecAlgo::setLeakCorrection ( )

Definition at line 83 of file HcalSimpleRecAlgo.cc.

References setLeakCorrection_.

Referenced by HcalHitReconstructor::produce(), and setRecoParams().

83 { setLeakCorrection_ = true;}
void HcalSimpleRecAlgo::setMeth3Params ( int  iPedSubMethod,
float  iPedSubThreshold,
int  iTimeSlewParsType,
std::vector< double >  iTimeSlewPars,
double  irespCorrM3 
)

Definition at line 66 of file HcalSimpleRecAlgo.cc.

References hltOOTpuCorr_, HcalTimeSlew::Medium, and pedSubFxn_.

Referenced by HcalHitReconstructor::HcalHitReconstructor(), and HcalSimpleReconstructor::HcalSimpleReconstructor().

66  {
67 
68  pedSubFxn_->init(((PedestalSub::Method)iPedSubMethod), 0, iPedSubThreshold, 0.0);
69  hltOOTpuCorr_->init((HcalTimeSlew::ParaSource)iTimeSlewParsType, HcalTimeSlew::Medium, (HcalDeterministicFit::NegStrategy)2, *pedSubFxn_, iTimeSlewPars,irespCorrM3);
70 }
std::auto_ptr< PedestalSub > pedSubFxn_
std::auto_ptr< HcalDeterministicFit > hltOOTpuCorr_
void HcalSimpleRecAlgo::setpuCorrMethod ( int  method)
inline
void HcalSimpleRecAlgo::setpuCorrParams ( bool  iPedestalConstraint,
bool  iTimeConstraint,
bool  iAddPulseJitter,
bool  iUnConstrainedFit,
bool  iApplyTimeSlew,
double  iTS4Min,
double  iTS4Max,
double  iPulseJitter,
double  iTimeMean,
double  iTimeSig,
double  iPedMean,
double  iPedSig,
double  iNoise,
double  iTMin,
double  iTMax,
double  its3Chi2,
double  its4Chi2,
double  its345Chi2,
double  iChargeThreshold,
int  iFitTimes 
)

Definition at line 52 of file HcalSimpleRecAlgo.cc.

References assert(), HcalTimeSlew::Medium, and psFitOOTpuCorr_.

Referenced by HcalHitReconstructor::HcalHitReconstructor().

56  {
57  if( iPedestalConstraint ) assert ( iPedSig );
58  if( iTimeConstraint ) assert( iTimeSig );
59  psFitOOTpuCorr_->setPUParams(iPedestalConstraint,iTimeConstraint,iAddPulseJitter,iUnConstrainedFit,iApplyTimeSlew,
60  iTS4Min, iTS4Max, iPulseJitter,iTimeMean,iTimeSig,iPedMean,iPedSig,iNoise,iTMin,iTMax,its3Chi2,its4Chi2,its345Chi2,
61  iChargeThreshold,HcalTimeSlew::Medium, iFitTimes);
62 // int shapeNum = HPDShapev3MCNum;
63 // psFitOOTpuCorr_->setPulseShapeTemplate(theHcalPulseShapes_.getShape(shapeNum));
64 }
assert(m_qm.get())
std::auto_ptr< PulseShapeFitOOTPileupCorrection > psFitOOTpuCorr_
void HcalSimpleRecAlgo::setRecoParams ( bool  correctForTimeslew,
bool  correctForPulse,
bool  setLeakCorrection,
int  pileupCleaningID,
float  phaseNS 
)

Member Data Documentation

const BunchXParameter* HcalSimpleRecAlgo::bunchCrossingInfo_
private
bool HcalSimpleRecAlgo::correctForPulse_
private
bool HcalSimpleRecAlgo::correctForTimeslew_
private
boost::shared_ptr<AbsOOTPileupCorrection> HcalSimpleRecAlgo::hbhePileupCorr_
private
boost::shared_ptr<AbsOOTPileupCorrection> HcalSimpleRecAlgo::hfPileupCorr_
private
std::auto_ptr<HcalDeterministicFit> HcalSimpleRecAlgo::hltOOTpuCorr_
private
boost::shared_ptr<AbsOOTPileupCorrection> HcalSimpleRecAlgo::hoPileupCorr_
private

Definition at line 105 of file HcalSimpleRecAlgo.h.

Referenced by reconstruct(), and setHOPileupCorrection().

unsigned HcalSimpleRecAlgo::lenBunchCrossingInfo_
private
std::auto_ptr<PedestalSub> HcalSimpleRecAlgo::pedSubFxn_
private
float HcalSimpleRecAlgo::phaseNS_
private
int HcalSimpleRecAlgo::pileupCleaningID_
private

Definition at line 100 of file HcalSimpleRecAlgo.h.

Referenced by setRecoParams().

std::auto_ptr<PulseShapeFitOOTPileupCorrection> HcalSimpleRecAlgo::psFitOOTpuCorr_
private
int HcalSimpleRecAlgo::puCorrMethod_
private
std::auto_ptr<HcalPulseContainmentManager> HcalSimpleRecAlgo::pulseCorr_
private
int HcalSimpleRecAlgo::runnum_
private

Definition at line 98 of file HcalSimpleRecAlgo.h.

Referenced by reconstruct(), and setForData().

bool HcalSimpleRecAlgo::setLeakCorrection_
private

Definition at line 99 of file HcalSimpleRecAlgo.h.

Referenced by reconstruct(), setLeakCorrection(), and setRecoParams().

HcalPulseShapes HcalSimpleRecAlgo::theHcalPulseShapes_
private

Definition at line 107 of file HcalSimpleRecAlgo.h.

Referenced by setForData().