CMS 3D CMS Logo

HcalSimpleRecAlgo.h
Go to the documentation of this file.
1 #ifndef HCALSIMPLERECALGO_H
2 #define HCALSIMPLERECALGO_H 1
3 
4 #include <memory>
5 #include "boost/shared_ptr.hpp"
6 
20 
22 
36 public:
39  bool correctForContainment, float fixedPhaseNs);
40 
41  void beginRun(edm::EventSetup const & es);
42  void endRun();
43 
44  void initPulseCorr(int toadd);
45 
46  // set RecoParams channel-by-channel.
47  void setRecoParams(bool correctForTimeslew, bool correctForPulse, bool setLeakCorrection, int pileupCleaningID, float phaseNS);
48 
49  // usage of leak correction
50  void setLeakCorrection();
51 
52  // set OOT pileup corrections
53  void setHFPileupCorrection(boost::shared_ptr<AbsOOTPileupCorrection> corr);
54  void setHOPileupCorrection(boost::shared_ptr<AbsOOTPileupCorrection> corr);
55 
56  // Set bunch crossing information.
57  // This object will not manage the pointer.
58  void setBXInfo(const BunchXParameter* info, unsigned lenInfo);
59 
60 
61  HFRecHit reconstruct(const HFDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
62  HFRecHit reconstructQIE10(const QIE10DataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
63 
64  HORecHit reconstruct(const HODataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
65  HcalCalibRecHit reconstruct(const HcalCalibDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
66 
67 private:
70  float phaseNS_;
71  std::unique_ptr<HcalPulseContainmentManager> pulseCorr_;
72  int runnum_; // data run numer
75  const BunchXParameter* bunchCrossingInfo_;
77  boost::shared_ptr<AbsOOTPileupCorrection> hbhePileupCorr_;
78  boost::shared_ptr<AbsOOTPileupCorrection> hfPileupCorr_;
79  boost::shared_ptr<AbsOOTPileupCorrection> hoPileupCorr_;
80 
82 
84 
86 };
87 
88 #endif
static const TGPicture * info(bool iBackgroundIsBlack)
void beginRun(edm::EventSetup const &es)
void setHOPileupCorrection(boost::shared_ptr< AbsOOTPileupCorrection > corr)
HcalPulseShapes theHcalPulseShapes_
const BunchXParameter * bunchCrossingInfo_
boost::shared_ptr< AbsOOTPileupCorrection > hoPileupCorr_
std::unique_ptr< HcalPulseContainmentManager > pulseCorr_
void setBXInfo(const BunchXParameter *info, unsigned lenInfo)
boost::shared_ptr< AbsOOTPileupCorrection > hbhePileupCorr_
unsigned lenBunchCrossingInfo_
void initPulseCorr(int toadd)
HcalSimpleRecAlgo(bool correctForTimeslew, bool correctForContainment, float fixedPhaseNs)
HFRecHit reconstruct(const HFDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
JetCorrectorParameters corr
Definition: classes.h:5
void setRecoParams(bool correctForTimeslew, bool correctForPulse, bool setLeakCorrection, int pileupCleaningID, float phaseNS)
HFRecHit reconstructQIE10(const QIE10DataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
boost::shared_ptr< AbsOOTPileupCorrection > hfPileupCorr_
const HcalTimeSlew * hcalTimeSlew_delay_
void setHFPileupCorrection(boost::shared_ptr< AbsOOTPileupCorrection > corr)