CMS 3D CMS Logo

HFFlexibleTimeCheck.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_HcalRecAlgos_HFFlexibleTimeCheck_h_
2 #define RecoLocalCalo_HcalRecAlgos_HFFlexibleTimeCheck_h_
3 
6 
8 public:
10 
11  inline ~HFFlexibleTimeCheck() override {}
12 
13  // Unlike HFSimpleTimeCheck, this algorithm is configurable
14  inline bool isConfigurable() const override { return true; }
15  inline bool configure(const AbsHcalAlgoData* config) override {
16  algoConf_ = dynamic_cast<const HFPhase1PMTParams*>(config);
17  return algoConf_;
18  }
19 
20  HFRecHit reconstruct(const HFPreRecHit& prehit,
21  const HcalCalibrations& calibs,
22  const bool flaggedBadInDB[2],
23  bool expectSingleAnodePMT) override;
24 
25 protected:
26  unsigned determineAnodeStatus(unsigned anodeNumber, const HFQIE10Info& anode, bool* isTimingReliable) const override;
27 
28 private:
29  // Algorihm configuration data. We do not manage these pointers.
30  const HFPhase1PMTParams* algoConf_ = nullptr;
31  const HFPhase1PMTData* pmtInfo_ = nullptr;
32 };
33 
34 #endif // RecoLocalCalo_HcalRecAlgos_HFFlexibleTimeCheck_h_
HFFlexibleTimeCheck::isConfigurable
bool isConfigurable() const override
Definition: HFFlexibleTimeCheck.h:14
AbsHcalAlgoData
Definition: AbsHcalAlgoData.h:10
HFQIE10Info
Definition: HFQIE10Info.h:15
HFPhase1PMTData
Definition: HFPhase1PMTData.h:15
config
Definition: config.py:1
HFFlexibleTimeCheck::algoConf_
const HFPhase1PMTParams * algoConf_
Definition: HFFlexibleTimeCheck.h:30
HFRecHit
Definition: HFRecHit.h:11
HFSimpleTimeCheck::HFSimpleTimeCheck
HFSimpleTimeCheck(const std::pair< float, float > tlimits[2], const float energyWeights[2 *HFAnodeStatus::N_POSSIBLE_STATES - 1][2], unsigned soiPhase, float timeShift, float triseIfNoTDC, float tfallIfNoTDC, float minChargeForUndershoot, float minChargeForOvershoot, bool rejectAllFailures=true, bool alwaysCalculateChargeAsymmetry=true)
Definition: HFSimpleTimeCheck.cc:32
HcalItemCollById< HFPhase1PMTData >
HcalCalibrations
Definition: HcalCalibrations.h:9
HFFlexibleTimeCheck::reconstruct
HFRecHit reconstruct(const HFPreRecHit &prehit, const HcalCalibrations &calibs, const bool flaggedBadInDB[2], bool expectSingleAnodePMT) override
Definition: HFFlexibleTimeCheck.cc:53
HFFlexibleTimeCheck::determineAnodeStatus
unsigned determineAnodeStatus(unsigned anodeNumber, const HFQIE10Info &anode, bool *isTimingReliable) const override
Definition: HFFlexibleTimeCheck.cc:12
HFFlexibleTimeCheck
Definition: HFFlexibleTimeCheck.h:7
HFFlexibleTimeCheck::~HFFlexibleTimeCheck
~HFFlexibleTimeCheck() override
Definition: HFFlexibleTimeCheck.h:11
HFFlexibleTimeCheck::pmtInfo_
const HFPhase1PMTData * pmtInfo_
Definition: HFFlexibleTimeCheck.h:31
HFSimpleTimeCheck.h
HFSimpleTimeCheck
Definition: HFSimpleTimeCheck.h:9
HFPhase1PMTParams.h
HFPreRecHit
Definition: HFPreRecHit.h:14
HFFlexibleTimeCheck::configure
bool configure(const AbsHcalAlgoData *config) override
Definition: HFFlexibleTimeCheck.h:15