CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
22 
35 public:
37  HcalSimpleRecAlgo(bool correctForTimeslew,
38  bool correctForContainment, float fixedPhaseNs);
39 
42 
43  void beginRun(edm::EventSetup const & es);
44  void endRun();
45 
46  void initPulseCorr(int toadd);
47 
48  // set RecoParams channel-by-channel.
49  void setRecoParams(bool correctForTimeslew, bool correctForPulse, bool setLeakCorrection, int pileupCleaningID, float phaseNS);
50 
51  // ugly hack related to HB- e-dependent corrections
52  void setForData(int runnum);
53 
54  // usage of leak correction
55  void setLeakCorrection();
56 
57  // set OOT pileup corrections
58  void setHBHEPileupCorrection(boost::shared_ptr<AbsOOTPileupCorrection> corr);
59  void setHFPileupCorrection(boost::shared_ptr<AbsOOTPileupCorrection> corr);
60  void setHOPileupCorrection(boost::shared_ptr<AbsOOTPileupCorrection> corr);
61 
62  // Set bunch crossing information.
63  // This object will not manage the pointer.
64  void setBXInfo(const BunchXParameter* info, unsigned lenInfo);
65 
66 
67  HBHERecHit reconstruct(const HBHEDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
68  HBHERecHit reconstructHBHEUpgrade(const HcalUpgradeDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
69 
70  HFRecHit reconstruct(const HFDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
71  HFRecHit reconstructHFUpgrade(const HcalUpgradeDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
72 
73  HORecHit reconstruct(const HODataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
74  HcalCalibRecHit reconstruct(const HcalCalibDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
75 
76 
77 private:
80  float phaseNS_;
81  std::auto_ptr<HcalPulseContainmentManager> pulseCorr_;
82  int runnum_; // data run numer
85  const BunchXParameter* bunchCrossingInfo_;
87  boost::shared_ptr<AbsOOTPileupCorrection> hbhePileupCorr_;
88  boost::shared_ptr<AbsOOTPileupCorrection> hfPileupCorr_;
89  boost::shared_ptr<AbsOOTPileupCorrection> hoPileupCorr_;
90 };
91 
92 #endif
static const TGPicture * info(bool iBackgroundIsBlack)
HBHERecHit reconstruct(const HBHEDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
void beginRun(edm::EventSetup const &es)
void setHOPileupCorrection(boost::shared_ptr< AbsOOTPileupCorrection > corr)
const BunchXParameter * bunchCrossingInfo_
boost::shared_ptr< AbsOOTPileupCorrection > hoPileupCorr_
void setBXInfo(const BunchXParameter *info, unsigned lenInfo)
boost::shared_ptr< AbsOOTPileupCorrection > hbhePileupCorr_
unsigned lenBunchCrossingInfo_
HFRecHit reconstructHFUpgrade(const HcalUpgradeDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
void initPulseCorr(int toadd)
std::auto_ptr< HcalPulseContainmentManager > pulseCorr_
bool first
Definition: L1TdeRCT.cc:75
JetCorrectorParameters corr
Definition: classes.h:5
void setRecoParams(bool correctForTimeslew, bool correctForPulse, bool setLeakCorrection, int pileupCleaningID, float phaseNS)
void setHBHEPileupCorrection(boost::shared_ptr< AbsOOTPileupCorrection > corr)
void setForData(int runnum)
HBHERecHit reconstructHBHEUpgrade(const HcalUpgradeDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
boost::shared_ptr< AbsOOTPileupCorrection > hfPileupCorr_
tuple runnum
Definition: summaryLumi.py:210
void setHFPileupCorrection(boost::shared_ptr< AbsOOTPileupCorrection > corr)