12 bool* isTimingReliable)
const 22 if (charge < minCharge)
24 *isTimingReliable =
false;
37 *isTimingReliable =
false;
53 if (minTimeShape(charge) <= trise && trise <= maxTimeShape(charge))
61 const bool flaggedBadInDB[2],
62 const bool expectSingleAnodePMT)
67 <<
"In HFFlexibleTimeCheck::reconstruct: algorithm is not configured";
74 prehit, calibs, flaggedBadInDB, expectSingleAnodePMT);
79 bool passesAsymmetryCut =
true;
80 const std::pair<float,bool> qAsymm =
84 const float q = prehit.
charge();
87 passesAsymmetryCut = minAsymm <= qAsymm.first && qAsymm.first <= maxAsymm;
89 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
void setFlagField(uint32_t value, int base, int width=1)
constexpr float UNKNOWN_T_UNDERSHOOT
uint32_t rawId() const
get the raw id
const Item & at(const HcalDetId &id) const
constexpr float UNKNOWN_T_OVERSHOOT
bool isSpecial(const float t)
HFRecHit reconstruct(const HFPreRecHit &prehit, const HcalCalibrations &calibs, const bool flaggedBadInDB[2], bool expectSingleAnodePMT) override
const AbsHcalFunctor & cut(const unsigned which) const
HFRecHit reconstruct(const HFPreRecHit &prehit, const HcalCalibrations &calibs, const bool flaggedBadInDB[2], bool expectSingleAnodePMT) override
std::pair< float, bool > chargeAsymmetry(float chargeThreshold) const
const HFPhase1PMTData * pmtInfo_
float minChargeForUndershoot() const