CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
HcalHitReconstructor.h
Go to the documentation of this file.
1 #ifndef HCALHITRECONSTRUCTOR_H
2 #define HCALHITRECONSTRUCTOR_H 1
3 
4 #include <memory>
5 
10 
13 
18 
24 
33 
40 class HcalTopology;
42 class HcalRecoParamsRcd;
45 class HcalDbRecord;
49 
51 public:
52  explicit HcalHitReconstructor(const edm::ParameterSet& ps);
53  ~HcalHitReconstructor() override;
54 
55  void beginRun(edm::Run const& r, edm::EventSetup const& es) final;
56  void endRun(edm::Run const& r, edm::EventSetup const& es) final;
57  void produce(edm::Event& e, const edm::EventSetup& c) override;
58 
59 private:
60  typedef void (HcalSimpleRecAlgo::*SetCorrectionFcn)(std::shared_ptr<AbsOOTPileupCorrection>);
61 
69 
71  int subdet_;
77  //std::vector<std::string> channelStatusToDrop_;
78  bool correctTiming_; // turn on/off Ken Rossato's algorithm to fix timing
79  bool setNoiseFlags_; // turn on/off basic noise flags
80  bool setHSCPFlags_; // turn on/off HSCP noise flags
81  bool setSaturationFlags_; // turn on/off flag indicating ADC saturation
82  bool setTimingTrustFlags_; // turn on/off HF timing uncertainty flag
83  bool setPulseShapeFlags_; // turn on/off HBHE fit-based noise flags
84  bool setNegativeFlags_; // turn on/off HBHE negative noise flags
85  bool dropZSmarkedPassed_; // turn on/off dropping of zero suppression marked and passed digis
86 
88 
89  // legacy parameters for config-set values compatibility
92  bool tsFromDB_;
95 
96  // switch on/off leakage (to pre-sample) correction
98 
99  // Labels related to OOT pileup corrections
105 
106  std::unique_ptr<HcalRecoParams> paramTS_; // firstSample & sampleToAdd from DB
107  std::unique_ptr<HcalFlagHFDigiTimeParams> hFDigiTimeParams_; // HF DigiTime parameters
108 
110 
111  // ES tokens
118 };
119 
120 #endif
void beginRun(edm::Run const &r, edm::EventSetup const &es) final
HcalADCSaturationFlag * saturationFlagSetter_
void produce(edm::Event &e, const edm::EventSetup &c) override
void(HcalSimpleRecAlgo::* SetCorrectionFcn)(std::shared_ptr< AbsOOTPileupCorrection >)
std::unique_ptr< HcalRecoParams > paramTS_
edm::ESGetToken< HcalDbService, HcalDbRecord > conditionsToken_
SetCorrectionFcn setPileupCorrection_
TEMPL(T2) struct Divides void
Definition: Factorize.h:24
edm::ESGetToken< HcalChannelQuality, HcalChannelQualityRcd > qualToken_
edm::ESGetToken< HcalFlagHFDigiTimeParams, HcalFlagHFDigiTimeParamsRcd > digiTimeToken_
std::string dataOOTCorrectionCategory_
std::unique_ptr< HcalFlagHFDigiTimeParams > hFDigiTimeParams_
HcalOtherSubdetector
Definition: HcalAssistant.h:40
edm::EDGetTokenT< HcalCalibDigiCollection > tok_calib_
HcalHFStatusBitFromDigis * hfdigibit_
edm::EDGetTokenT< HODigiCollection > tok_ho_
HcalHitReconstructor(const edm::ParameterSet &ps)
HcalHF_PETalgorithm * hfPET_
HcalHF_S9S1algorithm * hfS9S1_
edm::ESGetToken< HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd > sevToken_
Detector
Definition: DetId.h:24
HcalHF_S9S1algorithm * hfS8S1_
HcalOtherSubdetector subdetOther_
void endRun(edm::Run const &r, edm::EventSetup const &es) final
HFTimingTrustFlag * HFTimingTrustFlagSetter_
edm::ESGetToken< HcalRecoParams, HcalRecoParamsRcd > paramsToken_
std::string mcOOTCorrectionCategory_
edm::EDGetTokenT< HFDigiCollection > tok_hf_
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > htopoToken_
Definition: Run.h:45
HcalSimpleRecAlgo reco_