14 bool* isTimingReliable)
const 24 if (charge < minCharge)
26 *isTimingReliable =
false;
39 *isTimingReliable =
false;
55 if (minTimeShape(charge) <= trise && trise <= maxTimeShape(charge))
63 const bool flaggedBadInDB[2],
64 const bool expectSingleAnodePMT)
69 <<
"In HFFlexibleTimeCheck::reconstruct: algorithm is not configured";
76 prehit, calibs, flaggedBadInDB, expectSingleAnodePMT);
81 bool setAsymmetryFlag =
true;
95 bool passesAsymmetryCut =
true;
96 const std::pair<float,bool> qAsymm =
100 const float q = prehit.
charge();
103 passesAsymmetryCut = minAsymm <= qAsymm.first && qAsymm.first <= maxAsymm;
105 if (!passesAsymmetryCut)
float minChargeForOvershoot() const
unsigned determineAnodeStatus(unsigned anodeNumber, const HFQIE10Info &anode, bool *isTimingReliable) const override
float minChargeAsymm() const
constexpr float UNKNOWN_T_DLL_FAILURE
const HFPhase1PMTParams * algoConf_
bool isDataframeOK(bool checkAllTimeSlices=false) const
constexpr uint32_t rawId() const
get the raw id
bool alwaysCalculatingQAsym() const
constexpr void setFlagField(uint32_t value, int base, int width=1)
constexpr float UNKNOWN_T_UNDERSHOOT
static const unsigned OFF_STATUS
const Item & at(const HcalDetId &id) const
constexpr float UNKNOWN_T_OVERSHOOT
HFRecHit reconstruct(const HFPreRecHit &prehit, const HcalCalibrations &calibs, const bool flaggedBadInDB[2], bool expectSingleAnodePMT) override
static const unsigned MASK_STATUS
const AbsHcalFunctor & cut(const unsigned which) const
constexpr unsigned getField(const uint32_t u, const unsigned mask, const unsigned offset)
constexpr bool isSpecial(const float t)
HFRecHit reconstruct(const HFPreRecHit &prehit, const HcalCalibrations &calibs, const bool flaggedBadInDB[2], bool expectSingleAnodePMT) override
uint32_t getAuxHF() const
constexpr uint32_t aux() const
std::pair< float, bool > chargeAsymmetry(float chargeThreshold) const
const HFPhase1PMTData * pmtInfo_
float minChargeForUndershoot() const