13 const DetId&
id,
float energy,
float time, uint32_t flags, uint32_t flagBits, uint8_t son,
float timeError)
14 :
CaloRecHit(id, energy, time, flags), flagBits_(flagBits), signalOverSigmaNoise_(son), timeError_(timeError) {}
17 uint32_t rawChi2 = 0x7F & (
flags() >> 4);
18 return (
float)rawChi2 / (float)((1 << 7) - 1) * 64.
f;
22 uint32_t rawChi2Prob = 0x7F & (
flags() >> 24);
23 return (
float)rawChi2Prob / (float)((1 << 7) - 1) * 64.
f;
27 uint32_t rawEnergy = (0x1FFF &
flags() >> 11);
29 uint16_t significand = ~(0xE << 9) & rawEnergy;
30 return (
float)significand *
pow(10, exponent - 5);
38 uint32_t rawChi2 = lround(chi2 / 64.
f * ((1 << 7) - 1));
44 if (energy > 0.001
f) {
45 uint16_t
exponent = lround(floor(log10(energy))) + 3;
46 uint16_t significand = lround(energy /
pow(10, exponent - 5));
48 uint32_t rawEnergy = exponent << 10 | significand;
50 setFlags((~(0x1FFF << 11) &
flags()) | ((rawEnergy & 0x1FFF) << 11));
59 uint32_t rawChi2 = lround(chi2 / 64.
f * ((1 << 7) - 1));
61 setFlags((~(0x7F << 24) &
flags()) | ((rawChi2 & 0x7F) << 24));
66 if (sOverNoise > 32.
f)
99 for (std::vector<int>::const_iterator flagPtr = flagsvec.begin(); flagPtr != flagsvec.end();
121 return s <<
"HGCRecHit undefined subdetector";
constexpr float energy() const
void setSignalOverSigmaNoise(float sOverNoise)
uint8_t signalOverSigmaNoise_
constexpr const DetId & detid() const
bool checkFlags(const std::vector< int > &flagsvec) const
check if one of the flags in a set is true
bool isTimeErrorValid() const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
float outOfTimeEnergy() const
float signalOverSigmaNoise() const
bool checkFlag(int flag) const
check if the flag is true
void setOutOfTimeEnergy(float energy)
constexpr float time() const
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
void setTimeError(float timeErr)
void setOutOfTimeChi2(float chi2)
constexpr void setFlags(uint32_t flags)
float outOfTimeChi2() const
constexpr uint32_t flags() const
Power< A, B >::type pow(const A &a, const B &b)
constexpr Detector det() const
get the detector field from this detid