CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalHitReconstructor.h
Go to the documentation of this file.
1 #ifndef HCALHITRECONSTRUCTOR_H
2 #define HCALHITRECONSTRUCTOR_H 1
3 
4 #include <memory>
5 
9 
12 
17 
23 
37 
44 class HcalTopology;
45 
47  public:
48  explicit HcalHitReconstructor(const edm::ParameterSet& ps);
49  virtual ~HcalHitReconstructor();
50 
51  virtual void beginRun(edm::Run const&r, edm::EventSetup const & es) override final;
52  virtual void endRun(edm::Run const&r, edm::EventSetup const & es) override final;
53  virtual void produce(edm::Event& e, const edm::EventSetup& c) override;
54  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
55 
56  private:
57  typedef void (HcalSimpleRecAlgo::*SetCorrectionFcn)(boost::shared_ptr<AbsOOTPileupCorrection>);
58 
71 
73  int subdet_;
80  //std::vector<std::string> channelStatusToDrop_;
81  bool correctTiming_; // turn on/off Ken Rossato's algorithm to fix timing
82  bool setNoiseFlags_; // turn on/off basic noise flags
83  bool setHSCPFlags_; // turn on/off HSCP noise flags
84  bool setSaturationFlags_; // turn on/off flag indicating ADC saturation
85  bool setTimingTrustFlags_; // turn on/off HF timing uncertainty flag
86  bool setPulseShapeFlags_; // turn on/off HBHE fit-based noise flags
87  bool setNegativeFlags_; // turn on/off HBHE negative noise flags
88  bool dropZSmarkedPassed_; // turn on/off dropping of zero suppression marked and passed digis
89 
91 
92  // legacy parameters for config-set values compatibility
95  bool tsFromDB_;
98 
99 
100  // switch on/off leakage (to pre-sample) correction
102 
103  // Labels related to OOT pileup corrections
109 
110  HcalRecoParams* paramTS; // firstSample & sampleToAdd from DB
111  std::unique_ptr<HcalFlagHFDigiTimeParams> HFDigiTimeParams; // HF DigiTime parameters
112 
115  bool first_;
117  };
118 
119 #endif
edm::EDGetTokenT< HBHEDigiCollection > tok_hbhe_
HcalADCSaturationFlag * saturationFlagSetter_
virtual void produce(edm::Event &e, const edm::EventSetup &c) override
void(HcalSimpleRecAlgo::* SetCorrectionFcn)(boost::shared_ptr< AbsOOTPileupCorrection >)
virtual void endRun(edm::Run const &r, edm::EventSetup const &es) overridefinal
SetCorrectionFcn setPileupCorrection_
std::string dataOOTCorrectionCategory_
HBHENegativeFlagSetter * hbheNegativeFlagSetter_
std::unique_ptr< HcalFlagHFDigiTimeParams > HFDigiTimeParams
HcalOtherSubdetector
Definition: HcalAssistant.h:32
edm::EDGetTokenT< HcalCalibDigiCollection > tok_calib_
HcalHFStatusBitFromDigis * hfdigibit_
edm::EDGetTokenT< HODigiCollection > tok_ho_
HcalHitReconstructor(const edm::ParameterSet &ps)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
HcalHF_PETalgorithm * hfPET_
HcalHF_S9S1algorithm * hfS9S1_
HBHEPulseShapeFlagSetter * hbhePulseShapeFlagSetter_
virtual void beginRun(edm::Run const &r, edm::EventSetup const &es) overridefinal
Detector
Definition: DetId.h:24
HBHEStatusBitSetter * hbheFlagSetter_
HBHETimeProfileStatusBitSetter * hbheHSCPFlagSetter_
HBHETimingShapedFlagSetter * hbheTimingShapedFlagSetter_
HcalHF_S9S1algorithm * hfS8S1_
HcalOtherSubdetector subdetOther_
HFTimingTrustFlag * HFTimingTrustFlagSetter_
std::string mcOOTCorrectionCategory_
edm::EDGetTokenT< HFDigiCollection > tok_hf_
Definition: Run.h:43
HcalSimpleRecAlgo reco_