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 
23 
25 
27 
41 public:
44  bool correctForContainment, float fixedPhaseNs);
45 
46  void beginRun(edm::EventSetup const & es);
47  void endRun();
48 
49  void initPulseCorr(int toadd);
50 
51  // set RecoParams channel-by-channel.
52  void setRecoParams(bool correctForTimeslew, bool correctForPulse, bool setLeakCorrection, int pileupCleaningID, float phaseNS);
53 
54  // usage of leak correction
55  void setLeakCorrection();
56 
57  // set OOT pileup corrections
58  void setHFPileupCorrection(boost::shared_ptr<AbsOOTPileupCorrection> corr);
59  void setHOPileupCorrection(boost::shared_ptr<AbsOOTPileupCorrection> corr);
60 
61  // Set bunch crossing information.
62  // This object will not manage the pointer.
63  void setBXInfo(const BunchXParameter* info, unsigned lenInfo);
64 
65 
66  HFRecHit reconstruct(const HFDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
67  HFRecHit reconstructQIE10(const QIE10DataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
68 
69  HORecHit reconstruct(const HODataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
70  HcalCalibRecHit reconstruct(const HcalCalibDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
71 
72 private:
75  float phaseNS_;
76  std::unique_ptr<HcalPulseContainmentManager> pulseCorr_;
77  int runnum_; // data run numer
80  const BunchXParameter* bunchCrossingInfo_;
82  boost::shared_ptr<AbsOOTPileupCorrection> hbhePileupCorr_;
83  boost::shared_ptr<AbsOOTPileupCorrection> hfPileupCorr_;
84  boost::shared_ptr<AbsOOTPileupCorrection> hoPileupCorr_;
85 
87 
89 
91 
92  std::unique_ptr<PulseShapeFitOOTPileupCorrection> psFitOOTpuCorr_;
93 
94  std::unique_ptr<PedestalSub> pedSubFxn_;
95 
96  // S.Brandt Feb19 : Add a pointer to the HLT algo
97  std::unique_ptr<HcalDeterministicFit> hltOOTpuCorr_;
98 };
99 
100 #endif
static const TGPicture * info(bool iBackgroundIsBlack)
std::unique_ptr< HcalDeterministicFit > hltOOTpuCorr_
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_
std::unique_ptr< PedestalSub > pedSubFxn_
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_
std::unique_ptr< PulseShapeFitOOTPileupCorrection > psFitOOTpuCorr_
void setHFPileupCorrection(boost::shared_ptr< AbsOOTPileupCorrection > corr)