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 
24 
38 public:
40  HcalSimpleRecAlgo(bool correctForTimeslew,
41  bool correctForContainment, float fixedPhaseNs);
42 
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  // ugly hack related to HB- e-dependent corrections
55  void setForData (int runnum);
56 
57  // usage of leak correction
58  void setLeakCorrection();
59 
60  // set OOT pileup corrections
61  void setHBHEPileupCorrection(boost::shared_ptr<AbsOOTPileupCorrection> corr);
62  void setHFPileupCorrection(boost::shared_ptr<AbsOOTPileupCorrection> corr);
63  void setHOPileupCorrection(boost::shared_ptr<AbsOOTPileupCorrection> corr);
64 
65  // Set bunch crossing information.
66  // This object will not manage the pointer.
67  void setBXInfo(const BunchXParameter* info, unsigned lenInfo);
68 
69 
70  HBHERecHit reconstruct(const HBHEDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
71  HBHERecHit reconstructHBHEUpgrade(const HcalUpgradeDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
72 
73  HFRecHit reconstruct(const HFDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
74  HFRecHit reconstructHFUpgrade(const HcalUpgradeDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
75 
76  HORecHit reconstruct(const HODataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
77  HcalCalibRecHit reconstruct(const HcalCalibDataFrame& digi, int first, int toadd, const HcalCoder& coder, const HcalCalibrations& calibs) const;
78 
79  void setpuCorrMethod(int method){ puCorrMethod_ = method; if( puCorrMethod_ ==2 ) psFitOOTpuCorr_ = std::auto_ptr<PulseShapeFitOOTPileupCorrection>(new PulseShapeFitOOTPileupCorrection()); }
80  void setpuCorrParams(bool iPedestalConstraint, bool iTimeConstraint,bool iAddPulseJitter,bool iUnConstrainedFit,bool iApplyTimeSlew,
81  double iTS4Min, double iTS4Max, double iPulseJitter,double iTimeMean,double iTimeSig,double iPedMean,double iPedSig,
82  double iNoise,double iTMin,double iTMax,
83  double its3Chi2,double its4Chi2,double its345Chi2,double iChargeThreshold, int iFitTimes);
84 
85 private:
88  float phaseNS_;
89  std::auto_ptr<HcalPulseContainmentManager> pulseCorr_;
90  int runnum_; // data run numer
93  const BunchXParameter* bunchCrossingInfo_;
95  boost::shared_ptr<AbsOOTPileupCorrection> hbhePileupCorr_;
96  boost::shared_ptr<AbsOOTPileupCorrection> hfPileupCorr_;
97  boost::shared_ptr<AbsOOTPileupCorrection> hoPileupCorr_;
98 
100 
102 
103  std::auto_ptr<PulseShapeFitOOTPileupCorrection> psFitOOTpuCorr_;
104 };
105 
106 #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)
HcalPulseShapes theHcalPulseShapes_
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
std::auto_ptr< PulseShapeFitOOTPileupCorrection > psFitOOTpuCorr_
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_
void setpuCorrMethod(int method)
tuple runnum
Definition: summaryLumi.py:210
void setHFPileupCorrection(boost::shared_ptr< AbsOOTPileupCorrection > corr)
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)