@@ -37,14 +37,15 @@ enum ParsingErrors {
3737 DigitMCMHeaderSanityCheckFailure, // essentially we did not see an MCM header see RawData.h for requirement
3838 DigitROBDecreasing, // sequential headers must have the same or increasing rob number
3939 DigitMCMNotIncreasing, // sequential headers must have increasing mcm number
40- DigitADCMaskMismatch, // mask adc count does not match # of 1s in bitpattern
40+ DigitMCMDuplicate, // we saw two DigitMCMHeaders for the same MCM in one trigger
41+ DigitADCMaskInvalid, // mask adc count does not match # of 1s in bitpattern or the check bits are wrongly set
4142 DigitADCMaskAdvanceToEnd, // in advancing to adcmask we have reached the end of the buffer
4243 DigitMCMHeaderBypassButStateMCMHeader, // we are reading mcmadc data but the state is mcmheader
4344 DigitEndMarkerStateButReadingMCMADCData, // read the endmarker while expecting to read the mcmadcdata
4445 DigitADCChannel21, // ADCMask is zero but we are still on a digit.
4546 DigitADCChannelGT22, // error allocating digit, so digit channel has error value
4647 DigitGT10ADCs, // more than 10 adc data words seen
47- DigitSanityCheck, // adc failed sanity check see RawData.cxx for faiulre reasons
48+ DigitSanityCheck, // adc failed sanity check based on current channel (odd/even) and check bits DigitMCMData.f
4849 DigitExcessTimeBins, // ADC has more than 30 timebins (10 adc words)
4950 DigitParsingExitInWrongState, // exiting parsing in the wrong state ... got to the end of the buffer in wrong state.
5051 DigitStackMismatch, // mismatch between rdh and hcheader stack calculation/value
@@ -59,8 +60,8 @@ enum ParsingErrors {
5960 TrackletStateMCMHeaderButParsingMCMData,
6061 TrackletTrackletCountGTThatDeclaredInMCMHeader, // mcmheader tracklet count does not match that in we have parsed.
6162 TrackletInvalidTrackletCount, // invalid tracklet count in header vs data
62- TrackletPadRowIncreaseError , // subsequent padrow can not be less than previous one.
63- TrackletColIncreaseError , // subsequent col can not be less than previous one
63+ TrackletDataWrongOrdering , // the tracklet data is not arriving in increasing MCM order
64+ TrackletDataDuplicateMCM , // we see more than one TrackletMCMHeader for the same MCM
6465 TrackletNoTrackletEndMarker, // got to the end of the buffer with out finding a tracklet end marker.
6566 TrackletExitingNoTrackletEndMarker, // got to the end of the buffer exiting tracklet parsing with no tracklet end marker
6667 DigitHeaderCountGT3, // digital half chamber header had more than 3 additional words expected by header. most likely corruption above somewhere.
@@ -87,7 +88,7 @@ enum ParsingErrors {
8788 FEEIDIsFFFF, // RDH is in error, the FEEID is 0xffff
8889 FEEIDBadSector, // RDH is in error, the FEEID.supermodule is not a valid value.
8990 DigitHCHeaderPreTriggerPhaseOOB, // pretrigger phase in Digit HC header has to be less than 12, it is not.
90- HalfCRUBadBC, // saw a bc below the L0 trigger
91+ HalfCRUBadBC, // the BC in the half-CRU header is so low that the BC shift would make it negative
9192 TRDLastParsingError // This is to keep QC happy until we can change it there as well.
9293};
9394
@@ -97,31 +98,32 @@ static std::unordered_map<int, std::string> ParsingErrorsString = {
9798 {BadDigit, " Bad Digt" },
9899 {BadTracklet, " Bad Tracklet" },
99100 {DigitEndMarkerWrongState, " Digit EndMarker but Wrong State" },
100- {DigitMCMHeaderSanityCheckFailure, " Digit MCM Header Sanity Check Failure " },
101+ {DigitMCMHeaderSanityCheckFailure, " DigitMCMHeaderSanityCheckFailure " },
101102 {DigitROBDecreasing, " Digit ROB not increasing" },
102- {DigitMCMNotIncreasing, " Digit MCM number Not Increasing" },
103- {DigitADCMaskMismatch, " Digit ADCMask Mismatch" },
103+ {DigitMCMNotIncreasing, " DigitMCMNotIncreasing" },
104+ {DigitMCMDuplicate, " DigitMCMDuplicate" },
105+ {DigitADCMaskInvalid, " DigitADCMaskInvalid" },
104106 {DigitADCMaskAdvanceToEnd, " Digit ADC Mask problem, advancing to end" },
105107 {DigitMCMHeaderBypassButStateMCMHeader, " Digit MCM Header bypassed but state is mcm header" },
106108 {DigitEndMarkerStateButReadingMCMADCData, " Digit End Marker but state is MCMADCData" },
107109 {DigitADCChannel21, " Digit ADC has Channel 21" },
108110 {DigitADCChannelGT22, " Digit ADC Channel > 22" },
109111 {DigitGT10ADCs, " Digit has more than 10 ADCs" },
110- {DigitSanityCheck, " Digit Sanity Check Failure " },
112+ {DigitSanityCheck, " DigitSanityCheck " },
111113 {DigitExcessTimeBins, " Digit has Excess TimeBins" },
112114 {DigitParsingExitInWrongState, " Digit Parsing Exiting in wrong starte" },
113115 {DigitStackMismatch, " Digit Stack MisMatch" },
114116 {DigitLayerMismatch, " Digit Layer MisMatch" },
115117 {TrackletCRUPaddingWhileParsingTracklets, " Tracklet CRU Padding while parsing trackletsl" },
116118 {TrackletHCHeaderSanityCheckFailure, " Tracklet HC Header Sanity Check Failure" },
117119 {TrackletHCHeaderFailure, " TrackletHCHeaderFailure" },
118- {TrackletMCMHeaderSanityCheckFailure, " Tracklet MCMHeader Sanity Check Failure " },
120+ {TrackletMCMHeaderSanityCheckFailure, " TrackletMCMHeaderSanityCheckFailure " },
119121 {TrackletMCMHeaderButParsingMCMData, " Tracklet on MCMHeader, but parsing MCMData" },
120122 {TrackletStateMCMHeaderButParsingMCMData, " Tracklet state MCMHeader but parsing MCMData" },
121123 {TrackletTrackletCountGTThatDeclaredInMCMHeader, " Tracklet count > than that in the MCM header" },
122124 {TrackletInvalidTrackletCount, " Tracklet invalid tracklet count" },
123- {TrackletPadRowIncreaseError , " Tracklet padrow is not increasing " },
124- {TrackletColIncreaseError , " Tracklet column is not increasing " },
125+ {TrackletDataWrongOrdering , " TrackletDataWrongOrdering " },
126+ {TrackletDataDuplicateMCM , " TrackletDataDuplicateMCM " },
125127 {TrackletNoTrackletEndMarker, " Tracklet did not find an end marker" },
126128 {TrackletExitingNoTrackletEndMarker, " Tracklet exiting with out a tracklet end marker" },
127129 {DigitHeaderCountGT3, " DigitHeaderCountGT3" },
@@ -147,7 +149,7 @@ static std::unordered_map<int, std::string> ParsingErrorsString = {
147149 {FEEIDIsFFFF, " FEEID Is FFFx" },
148150 {FEEIDBadSector, " FEEID Sector is not valid" },
149151 {DigitHCHeaderPreTriggerPhaseOOB, " Digit Half Chamber Header PreTriggerPhase is out of bounds" },
150- {HalfCRUBadBC, " HalfCRU has a bad bunchcrossing " },
152+ {HalfCRUBadBC, " HalfCRUBadBC " },
151153 {TRDLastParsingError, " Last Parsing Error" }};
152154
153155// enumerations for the options, saves on having a long parameter list.
0 commit comments