12 bool* isTimingReliable)
const 22 if (charge < minCharge)
24 *isTimingReliable =
false;
41 if (minTimeShape(charge) <= trise && trise <= maxTimeShape(charge))
49 const bool flaggedBadInDB[2],
50 const bool expectSingleAnodePMT)
55 <<
"In HFFlexibleTimeCheck::reconstruct: algorithm is not configured";
62 prehit, calibs, flaggedBadInDB, expectSingleAnodePMT);
67 bool passesAsymmetryCut =
true;
68 const std::pair<float,bool> qAsymm =
72 const float q = prehit.
charge();
75 passesAsymmetryCut = minAsymm <= qAsymm.first && qAsymm.first <= maxAsymm;
77 if (!passesAsymmetryCut)
virtual unsigned determineAnodeStatus(unsigned anodeNumber, const HFQIE10Info &anode, bool *isTimingReliable) const override
float minChargeAsymm() const
const HFPhase1PMTParams * algoConf_
bool isDataframeOK(bool checkAllTimeSlices=false) const
void setFlagField(uint32_t value, int base, int width=1)
uint32_t rawId() const
get the raw id
const Item & at(const HcalDetId &id) const
bool isSpecial(const float t)
virtual HFRecHit reconstruct(const HFPreRecHit &prehit, const HcalCalibrations &calibs, const bool flaggedBadInDB[2], bool expectSingleAnodePMT) override
const AbsHcalFunctor & cut(const unsigned which) const
virtual 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_