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 
19 
21 
35 public:
37  HcalSimpleRecAlgo(bool correctForTimeslew, bool correctForContainment, float fixedPhaseNs, edm::ConsumesCollector iC);
38 
39  void beginRun(edm::EventSetup const& es);
40  void endRun();
41 
42  void initPulseCorr(int toadd);
43 
44  // set RecoParams channel-by-channel.
45  void setRecoParams(
46  bool correctForTimeslew, bool correctForPulse, bool setLeakCorrection, int pileupCleaningID, float phaseNS);
47 
48  // usage of leak correction
49  void setLeakCorrection();
50 
51  // set OOT pileup corrections
52  void setHFPileupCorrection(std::shared_ptr<AbsOOTPileupCorrection> corr);
53  void setHOPileupCorrection(std::shared_ptr<AbsOOTPileupCorrection> corr);
54 
55  // Set bunch crossing information.
56  // This object will not manage the pointer.
57  void setBXInfo(const BunchXParameter* info, unsigned lenInfo);
58 
60  const HFDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
62  const QIE10DataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
63 
65  const HODataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
67  int first,
68  int toadd,
69  const HcalCoder& coder,
70  const HcalCalibrations& calibs) const;
71 
72 private:
75  float phaseNS_;
77  std::unique_ptr<HcalPulseContainmentManager> pulseCorr_;
78  int runnum_; // data run numer
81  const BunchXParameter* bunchCrossingInfo_;
83  std::shared_ptr<AbsOOTPileupCorrection> hbhePileupCorr_;
84  std::shared_ptr<AbsOOTPileupCorrection> hfPileupCorr_;
85  std::shared_ptr<AbsOOTPileupCorrection> hoPileupCorr_;
86 
88 
90 
92 };
93 
94 #endif
const edm::ESGetToken< HcalTimeSlew, HcalTimeSlewRecord > delayToken_
static const TGPicture * info(bool iBackgroundIsBlack)
void setHFPileupCorrection(std::shared_ptr< AbsOOTPileupCorrection > corr)
void beginRun(edm::EventSetup const &es)
HcalPulseShapes theHcalPulseShapes_
const BunchXParameter * bunchCrossingInfo_
std::unique_ptr< HcalPulseContainmentManager > pulseCorr_
void setBXInfo(const BunchXParameter *info, unsigned lenInfo)
dictionary corr
HFRecHit reconstructQIE10(const QIE10DataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
unsigned lenBunchCrossingInfo_
std::shared_ptr< AbsOOTPileupCorrection > hbhePileupCorr_
void initPulseCorr(int toadd)
void setRecoParams(bool correctForTimeslew, bool correctForPulse, bool setLeakCorrection, int pileupCleaningID, float phaseNS)
std::shared_ptr< AbsOOTPileupCorrection > hfPileupCorr_
const HcalTimeSlew * hcalTimeSlew_delay_
HFRecHit reconstruct(const HFDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
std::shared_ptr< AbsOOTPileupCorrection > hoPileupCorr_
HcalSimpleRecAlgo(bool correctForTimeslew, bool correctForContainment, float fixedPhaseNs, edm::ConsumesCollector iC)
void setHOPileupCorrection(std::shared_ptr< AbsOOTPileupCorrection > corr)