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 
55  private:
56  typedef void (HcalSimpleRecAlgo::*SetCorrectionFcn)(boost::shared_ptr<AbsOOTPileupCorrection>);
57  typedef void (HBHENegativeFlagSetter::*SetCorrectionFcnForNegative)(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
110 
111  HcalRecoParams* paramTS; // firstSample & sampleToAdd from DB
112  std::unique_ptr<HcalFlagHFDigiTimeParams> HFDigiTimeParams; // HF DigiTime parameters
113 
116  };
117 
118 #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 >)
SetCorrectionFcnForNegative setPileupCorrectionForNegative_
virtual void endRun(edm::Run const &r, edm::EventSetup const &es) overridefinal
void(HBHENegativeFlagSetter::* SetCorrectionFcnForNegative)(boost::shared_ptr< AbsOOTPileupCorrection >)
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)
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:41
HcalSimpleRecAlgo reco_