File tree Expand file tree Collapse file tree
Detectors/ITSMFT/common/reconstruction
include/ITSMFTReconstruction Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3939 } \
4040 if ((errRes)&uint8_t (Abort)) { \
4141 discardData (); \
42- return AbortedOnError; \
42+ return (status = AbortedOnError); \
4343 }
4444
4545namespace o2
@@ -187,6 +187,8 @@ struct GBTLink {
187187 uint8_t checkErrorsDiagnosticWord (const GBTDiagnostic* gbtD) const { return NoError; }
188188 uint8_t checkErrorsCalibrationWord (const GBTCalibration* gbtCal) const { return NoError; }
189189 uint8_t checkErrorsCableID (const GBTData* gbtD, uint8_t cableSW) const { return NoError; }
190+ uint8_t checkErrorsIRNotExtracted () const { return NoError; }
191+
190192#else
191193 uint8_t checkErrorsAlignmentPadding ();
192194 uint8_t checkErrorsRDH (const RDH& rdh);
@@ -203,6 +205,8 @@ struct GBTLink {
203205 uint8_t checkErrorsDiagnosticWord (const GBTDiagnostic* gbtD);
204206 uint8_t checkErrorsCalibrationWord (const GBTCalibration* gbtCal);
205207 uint8_t checkErrorsCableID (const GBTData* gbtD, uint8_t cableSW);
208+ uint8_t checkErrorsIRNotExtracted ();
209+
206210#endif
207211 uint8_t checkErrorsGBTDataID (const GBTData* dbtD);
208212
@@ -339,7 +343,10 @@ GBTLink::CollectedDataStatus GBTLink::collectROFCableData(const Mapping& chmap)
339343 }
340344 continue ;
341345 }
346+ // trigger is supposed to be seen
347+ GBTLINK_DECODE_ERRORCHECK (errRes, checkErrorsIRNotExtracted ());
342348 }
349+
343350 auto gbtD = reinterpret_cast <const o2::itsmft::GBTData*>(&currRawPiece->data [dataOffset]);
344351 expectPacketDone = true ;
345352
Original file line number Diff line number Diff line change @@ -510,6 +510,23 @@ uint8_t GBTLink::checkErrorsCableID(const GBTData* gbtD, uint8_t cableSW)
510510 return err;
511511}
512512
513+ // /_________________________________________________________________
514+ // / Check that the IR was extracted from the trigger
515+ uint8_t GBTLink::checkErrorsIRNotExtracted ()
516+ {
517+ uint8_t err = uint8_t (NoError);
518+ if (ir.isDummy ()) {
519+ statistics.errorCounts [GBTLinkDecodingStat::ErrMissingGBTTrigger]++;
520+ gbtErrStatUpadated = true ;
521+ if (needToPrintError (statistics.errorCounts [GBTLinkDecodingStat::ErrMissingGBTTrigger])) {
522+ LOG (info) << describe () << " IR_RDH " << irHBF << " IR_ROF " << ir << " . " << statistics.ErrNames [GBTLinkDecodingStat::ErrMissingGBTTrigger];
523+ }
524+ errorBits |= 0x1 << int (GBTLinkDecodingStat::ErrMissingGBTTrigger);
525+ err |= uint8_t (Abort);
526+ }
527+ return err;
528+ }
529+
513530// /_________________________________________________________________
514531// / Account link recovery RDH flag
515532void GBTLink::accountLinkRecovery (o2::InteractionRecord ir)
You can’t perform that action at this time.
0 commit comments