CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HFFlexibleTimeCheck.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_HcalRecAlgos_HFFlexibleTimeCheck_h_
2 #define RecoLocalCalo_HcalRecAlgos_HFFlexibleTimeCheck_h_
3 
6 
8 {
9 public:
11 
12  inline virtual ~HFFlexibleTimeCheck() {}
13 
14  // Unlike HFSimpleTimeCheck, this algorithm is configurable
15  inline virtual bool isConfigurable() const override {return true;}
16  inline virtual bool configure(const AbsHcalAlgoData* config) override
17  {
18  algoConf_ = dynamic_cast<const HFPhase1PMTParams*>(config);
19  return algoConf_;
20  }
21 
22  virtual HFRecHit reconstruct(const HFPreRecHit& prehit,
23  const HcalCalibrations& calibs,
24  const bool flaggedBadInDB[2],
25  bool expectSingleAnodePMT) override;
26 protected:
27  virtual unsigned determineAnodeStatus(unsigned anodeNumber,
28  const HFQIE10Info& anode,
29  bool* isTimingReliable) const override;
30 private:
31  // Algorihm configuration data. We do not manage these pointers.
32  const HFPhase1PMTParams* algoConf_ = nullptr;
33  const HFPhase1PMTData* pmtInfo_ = nullptr;
34 };
35 
36 #endif // RecoLocalCalo_HcalRecAlgos_HFFlexibleTimeCheck_h_
virtual unsigned determineAnodeStatus(unsigned anodeNumber, const HFQIE10Info &anode, bool *isTimingReliable) const override
const HFPhase1PMTParams * algoConf_
virtual bool isConfigurable() const override
virtual HFRecHit reconstruct(const HFPreRecHit &prehit, const HcalCalibrations &calibs, const bool flaggedBadInDB[2], bool expectSingleAnodePMT) override
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, bool rejectAllFailures=true)
virtual bool configure(const AbsHcalAlgoData *config) override
const HFPhase1PMTData * pmtInfo_