16#ifndef TILEEVENT_TILEDQSTATUS_H
17#define TILEEVENT_TILEDQSTATUS_H
65 bool isAdcDQgood (
int partition,
int drawer,
int ch,
int gain)
const;
67 bool isChanDQgood (
int partition,
int drawer,
int ch)
const;
69 static int isChEmpty (
int partition,
int drawer,
int ch);
88 inline int checkFE_CRCErr(
int partition,
int drawer,
int dmu,
int gain)
const {
100 inline int checkBCIDErr(
int partition,
int drawer,
int dmu,
int gain)
const {
173 inline void setEmptyEvent(
int partition,
int drawer,
int dmu,
int gain,
int isEmpty) {
182 void fillTrips(
unsigned int partition,
const std::vector<float>& trips,
double* rndmVec,
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
__attribute__((always_inline)) inline int TileDQstatus
Class that holds Data Quality fragment information and provides functions to extract the data quality...
short m_BCIDErrArrayDetail[5][64][2]
Array of bit masks storing BCID errors for all DMUs (from comparison with Digits)
short m_EmptyEventArray[5][64][16][2]
Array storing whether event is empty.
void fillArrays(const TileRawChannelCollection *coll, const TileDigitsContainer *digitsCnt, int gain, unsigned short fragBCID)
parses DQ fragments and fill error arrays for event
bool isAdcDQgood(int partition, int drawer, int ch, int gain) const
returns status of single ADC returns False if there are any errors
bool m_incompleteDigits
True if not all digits are available.
uint32_t m_cispar[110]
CIS parameters.
short m_BCIDErrArray[5][64][2]
Array of bit masks storing BCID errors for all DMUs (from comparison with DMU1)
short m_SampleFormatErrArray[5][64][2]
Array of bit masks storing Sample Format errors for all DMUs.
int checkHeaderFormatErr(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has header word format error
bool nonZeroCounter() const
returns True if there are any errors in event
void setCalibMode(uint32_t calibMode)
bool isChanDQgood(int partition, int drawer, int ch) const
returns status of single channel (if bigain, returns AND of ADCs' status
uint32_t m_BCID
Event bunch crossing identification.
short m_HeaderParityErrArray[5][64][2]
Array of bit masks storing Header Parity errors for all DMUs.
int checkBCIDErr(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has BCID mismatch between DMU and ROD Since BCID errors in the DQ fragment are det...
void setFilled(bool filled)
sets flag that DQ status instance has been filled for this event
int checkGlobalErr(int partition, int drawer, int gain) const
returns 1 if adc channel has any global error
int checkDoubleStrobeErr(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has double strobe error
void setBiGain(bool biGain)
sets flag of gain mode of run
short m_MemoryParityErrArray[5][64][2]
Array of bit masks storing Memory Parity errors for all DMUs.
short m_HeaderFormatErrArray[5][64][2]
Array of bit masks storing Header Format errors for all DMUs.
short m_FE_DMUmaskArray[5][64][2]
Array of bit masks storing CRC errors for all DMUs.
bool m_isBiGain
Boolean storing gain mode of run.
int trigType() const
Trigger type.
void fillTrips(unsigned int partition, const std::vector< float > &trips, double *rndmVec, MsgStream &msg)
bool m_isFilled
Boolean storing if DQ fragment has been parsed already.
int checkGlobalCRCErr(int partition, int drawer, int gain) const
returns 1 if adc channel has global CRC error
short m_ROD_DMUmaskArray[5][64][2]
Array of bit masks storing CRC errors for all DMUs.
int checkSampleFormatErr(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has data word format error
static const int s_ch2dmuEB[48]
int checkBCIDErrDetail(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has BCID mismatch between DMU and ROD This method accesses the TileDigitsContainer i...
int checkSingleStrobeErr(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has single strobe error
TileDQstatus()
Default constructor.
bool m_checkDigi
Boolean flag to control TileDigitsContainer access.
int checkROD_CRCErr(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has CRC error originating in ROD
friend class TileDQstatusTool
uint32_t calibMode() const
Calibration mode.
void setRODBCID(uint32_t BCID)
sets the ROD BCID stored and used in DQStatus
static const int s_ch2dmuLB[48]
int checkHeaderParityErr(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has header word parity error
bool incompleteDigits() const
A few extra items (from TileBeamInfoProvider).
int checkEmptyEvent(int partition, int drawer, int dmu) const
returns 0 if event is ok, 1 if empty LG event, 2 if empty HG event, 3 if empty event in both gains
short m_SingleStrobeErrArray[5][64][2]
Array of bit masks storing Single Strobe errors for all DMUs.
void setIncompleteDigits(bool incomplete)
int m_counter
Counter of non-zero elements in all error arrays.
bool isFilled() const
returns whether TileDQStatus has been filled with data from TileDQ fragment
short m_SampleParityErrArray[5][64][2]
Array of bit masks storing Sample Parity errors for all DMUs.
short m_GlobalCRCErrArray[5][64][2]
Array of bit masks storing CRC errors for all DMUs.
void setTrigType(int trigType)
uint32_t m_calibMode
Calibration mode.
int m_trigType
Trigger type.
short m_DoubleStrobeErrArray[5][64][2]
Array of bit masks storing Double Strobe errors for all DMUs.
static int isChEmpty(int partition, int drawer, int ch)
True if channel is not fully implemented.
void setEmptyEvent(int partition, int drawer, int dmu, int gain, int isEmpty)
sets flag that DMU sent an empty event (0xFFFFFFFF)
const uint32_t * cispar() const
CIS parameters.
int checkFE_CRCErr(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has CRC error originating in FE electronics
int checkMemoryParityErr(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has memory parity error
void fillBCIDErrDetail(const TileDigitsContainer *digitsCnt, int frag, int gain)
bool isBiGain() const
returns gain mode of run
void setAllGood()
mark all channels/ADC's as DQ good
static const int s_ch2dmuEBspecial[48]
int checkSampleParityErr(int partition, int drawer, int dmu, int gain) const
returns 1 if DMU has data word parity error