12#ifndef ALICEO2_TRD_NOISECALIBRATION_H
13#define ALICEO2_TRD_NOISECALIBRATION_H
35 bool isDummy()
const {
return mNEntries == 0; }
37 float getRMS()
const {
return mRMS; }
40 void setMean(
float mean) { mMean = mean; }
41 void setRMS(
float rms) { mRMS = rms; }
47 uint32_t mNEntries{0};
58 const std::vector<ChannelInfo>&
getData()
const {
return mData; }
61 std::vector<ChannelInfo> mData{};
74 hcid = mcmGlb / constants::NMCMHCMAX;
75 int side = (hcid % 2) ? 1 : 0;
76 rob = ((mcmGlb % constants::NMCMHCMAX) / constants::NMCMROB) * 2 +
side;
77 mcm = (mcmGlb % constants::NMCMHCMAX) % constants::NMCMROB;
80 static constexpr int getMcmIdxGlb(
int hcid,
int rob,
int mcm) {
return hcid * constants::NMCMHCMAX + (
rob / 2) * constants::NMCMROB +
mcm; }
84 void setIsNoisy(
int mcmIdxGlb) { mNoiseFlag.set(mcmIdxGlb); }
88 bool getIsNoisy(
int mcmIdxGlb)
const {
return mNoiseFlag.test(mcmIdxGlb); }
94 std::bitset<constants::MAXHALFCHAMBER * constants::NMCMHCMAX> mNoiseFlag{};
ChannelInfo & getChannel(int index)
const std::vector< ChannelInfo > & getData() const
ChannelInfo getChannel(int index) const
uint32_t getEntries() const
void setNentries(uint32_t n)
Simple noise status bit for each MCM of the TRD.
static constexpr int getMcmIdxGlb(int hcid, int rob, int mcm)
void setIsNoisy(int mcmIdxGlb)
static constexpr void convertMcmIdxGlb(int mcmGlb, int &hcid, int &rob, int &mcm)
void setIsNoisy(int hcid, int rob, int mcm)
bool isDigitFromNoisyMCM(const Digit &d) const
bool isTrackletFromNoisyMCM(const Tracklet64 &trklt) const
bool getIsNoisy(int mcmIdxGlb) const
auto getNumberOfNoisyMCMs() const
bool getIsNoisy(int hcid, int rob, int mcm) const
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...