5#ifndef PIXELATHERRORMONTOOL_H
6#define PIXELATHERRORMONTOOL_H
45 "RODSyncLVL1IDErrors",
47 "ModSyncLVL1IDErrors",
50 "ModTruncEoEOverflowErrors",
51 "ModTruncHitOverflowErrors",
57 "RODTrailerBitErrors",
58 "RODTruncHTLimitErrors",
71 "SR0BCIDCounterErrors",
72 "SR1HammingCode0Errors",
73 "SR2HammingCode1Errors",
74 "SR3HammingCode2Errors",
75 "SR4L1InCounterErrors",
76 "SR5L1RequestCounterErrors",
77 "SR6L1RegisterErrors",
78 "SR7L1TriggerIDErrors",
79 "SR8FEReadoutProcessErrors",
80 "SR15SkipppedTrigCountErrors",
81 "SR16TruncatedEventFlagErrors",
82 "SR24TripleRedundantErrorsCNFGMEM",
83 "SR25WriteRegDataErrors",
85 "SR27OtherCMDDecoderErrors",
86 "SR28CMDDecoderBitflipErrors",
87 "SR29TripleRedundantErrorsCMD",
88 "SR30DataBusAddressErrors",
89 "SR31TripleRedundantErrorsEFUSE"
97 "OpticalErrorsRODMod",
103 "SyncErrorsModFracPerEvent",
104 "SyncErrorsRODFracPerEvent",
105 "TruncErrorsModFracPerEvent",
106 "TruncErrorsRODFracPerEvent"
118 "SyncErrorsFracPerEvent",
119 "TruncationErrorsFracPerEvent",
120 "OpticalErrorsFracPerEvent",
121 "SEUErrorsFracPerEvent",
122 "TimeoutErrorsFracPerEvent"
146 virtual StatusCode
fillHistograms(
const EventContext& ctx)
const override;
150 std::bitset<kNumErrorStatesFEI3>
getErrorStateFE(uint64_t errorword,
bool isibl)
const;
160 {
this,
"PixelByteStreamErrs",
"PixelByteStreamErrs",
"PixelByteStreamErrs container key"};
162 {
this,
"UseByteStreamFEI4",
false,
"Switch of the ByteStream error for FEI4"};
164 {
this,
"UseByteStreamFEI3",
false,
"Switch of the ByteStream error for FEI3"};
166 {
this,
"UseByteStreamRD53",
false,
"Switch of the ByteStream error for RD53"};
static const int kNumErrorStatesFEI4
static constexpr std::array< const char *, 4 > error_names_cat_rodmod_norm
static constexpr std::array< const char *, kNumErrorStatesFEI4 > error_names_stateFEI4
static constexpr std::array< const char *, ErrorCategory::COUNT > error_names_cat_norm
static const int kNumErrorCatRODMods
static constexpr std::array< const char *, ErrorCategoryRODMOD::COUNT > error_names_cat_rodmod
static const int numErrorStatesLayer[PixLayers::COUNT]
static const int numErrorCatRODModsLayer[PixLayers::COUNT]
static const int kNumErrorStatesPerFE
static const int kNumErrorStatesFEI3
static constexpr std::array< const char *, ErrorCategory::COUNT > error_names_cat
static constexpr std::array< const char *, kNumErrorStatesFEI3 > error_names_stateFEI3
static const int nFEIBL2D
PixelAthErrorMonAlg(const std::string &name, ISvcLocator *pSvcLocator)
std::bitset< kNumErrorStatesFEI3 > getErrorStateFE(uint64_t errorword, bool isibl) const
bool isPerFEI3State(const std::string &state) const
Gaudi::Property< bool > m_useByteStreamRD53
void fillErrorCatRODmod(uint64_t mod_errorword, int(&nerrors_cat_rodmod)[ErrorCategoryRODMOD::COUNT][nFEIBL2D]) const
virtual StatusCode initialize() override
initialize
SG::ReadHandleKey< IDCInDetBSErrContainer > m_idcErrContKey
Gaudi::Property< bool > m_useByteStreamFEI4
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
int getErrorCategory(int error_cat_rodmod) const
Gaudi::Property< bool > m_useByteStreamFEI3
virtual ~PixelAthErrorMonAlg()
unsigned int m_readoutTechnologyMask
std::bitset< kNumErrorStatesFEI3 > getErrorStateFEI3Mod(uint64_t errorword) const
std::string findComponentString(int bec, int ld) const
This is an Identifier helper class for the Pixel subdetector.
Property holding a SG store/key/clid from which a ReadHandle is made.