File indexing completed on 2024-04-06 12:25:47
0001 #ifndef RecoLocalCalo_HcalRecAlgos_HFFlexibleTimeCheck_h_
0002 #define RecoLocalCalo_HcalRecAlgos_HFFlexibleTimeCheck_h_
0003
0004 #include "RecoLocalCalo/HcalRecAlgos/interface/HFSimpleTimeCheck.h"
0005 #include "CondFormats/HcalObjects/interface/HFPhase1PMTParams.h"
0006
0007 class HFFlexibleTimeCheck : public HFSimpleTimeCheck {
0008 public:
0009 using HFSimpleTimeCheck::HFSimpleTimeCheck;
0010
0011 inline ~HFFlexibleTimeCheck() override {}
0012
0013
0014 inline bool isConfigurable() const override { return true; }
0015 inline bool configure(const AbsHcalAlgoData* config) override {
0016 algoConf_ = dynamic_cast<const HFPhase1PMTParams*>(config);
0017 return algoConf_;
0018 }
0019
0020 HFRecHit reconstruct(const HFPreRecHit& prehit,
0021 const HcalCalibrations& calibs,
0022 const bool flaggedBadInDB[2],
0023 bool expectSingleAnodePMT) override;
0024
0025 protected:
0026 unsigned determineAnodeStatus(unsigned anodeNumber, const HFQIE10Info& anode, bool* isTimingReliable) const override;
0027
0028 private:
0029
0030 const HFPhase1PMTParams* algoConf_ = nullptr;
0031 const HFPhase1PMTData* pmtInfo_ = nullptr;
0032 };
0033
0034 #endif