5 #ifndef PIXELATHERRORMONTOOL_H 
    6 #define PIXELATHERRORMONTOOL_H 
   30 static const int kNumErrorStatesFEI3 {
 
   33 static const int kNumErrorStatesFEI4 {
 
   36 static const int kNumErrorStatesPerFE {
 
   42 static constexpr std::array<const char*, kNumErrorStatesFEI3> error_names_stateFEI3 {
 
   45   "RODSyncLVL1IDErrors",
 
   47   "ModSyncLVL1IDErrors",
 
   50   "ModTruncEoEOverflowErrors",
 
   51   "ModTruncHitOverflowErrors",
 
   57   "RODTrailerBitErrors",
 
   58   "RODTruncHTLimitErrors",
 
   62 static constexpr std::array<const char*, kNumErrorStatesFEI4> error_names_stateFEI4 {
 
   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" 
   92 static constexpr std::array<const char*, ErrorCategoryRODMOD::COUNT> error_names_cat_rodmod {
 
   97   "OpticalErrorsRODMod",
 
  102 static constexpr std::array<const char*, 4> error_names_cat_rodmod_norm {
 
  103   "SyncErrorsModFracPerEvent",
 
  104   "SyncErrorsRODFracPerEvent",
 
  105   "TruncErrorsModFracPerEvent",
 
  106   "TruncErrorsRODFracPerEvent" 
  109 static constexpr std::array<const char*, ErrorCategory::COUNT> error_names_cat {
 
  117 static constexpr std::array<const char*, ErrorCategory::COUNT> error_names_cat_norm {
 
  118   "SyncErrorsFracPerEvent",
 
  119   "TruncationErrorsFracPerEvent",
 
  120   "OpticalErrorsFracPerEvent",
 
  121   "SEUErrorsFracPerEvent",
 
  122   "TimeoutErrorsFracPerEvent" 
  126   kNumErrorStatesFEI3, kNumErrorStatesFEI3, kNumErrorStatesFEI3, kNumErrorStatesFEI3,
 
  127   kNumErrorStatesFEI3, kNumErrorStatesFEI4, kNumErrorStatesFEI4
 
  129 static const int kNumErrorCatRODMods {
 
  133   kNumErrorCatRODMods, kNumErrorCatRODMods, kNumErrorCatRODMods, kNumErrorCatRODMods,
 
  134   kNumErrorCatRODMods, kNumErrorCatRODMods, kNumErrorCatRODMods
 
  137 static const int nFEIBL2D {
 
  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"};