@@ -159,7 +159,8 @@ void STFDecoder<Mapping>::run(ProcessingContext& pc)
159159
160160 mDecoder ->setDecodeNextAuto (false );
161161 o2::InteractionRecord lastIR{}, firstIR{0 , pc.services ().get <o2::framework::TimingInfo>().firstTForbit };
162- while (mDecoder ->decodeNextTrigger () >= 0 ) {
162+ int nTriggersProcessed =0 ;
163+ while (mDecoder ->decodeNextTrigger () >= 0 ) {
163164 if ((!lastIR.isDummy () && lastIR >= mDecoder ->getInteractionRecord ()) || firstIR > mDecoder ->getInteractionRecord ()) {
164165 const int MaxErrLog = 2 ;
165166 static int errLocCount = 0 ;
@@ -171,6 +172,7 @@ void STFDecoder<Mapping>::run(ProcessingContext& pc)
171172 lastIR = mDecoder ->getInteractionRecord ();
172173 if (mDoDigits || mClusterer ->getMaxROFDepthToSquash ()) { // call before clusterization, since the latter will hide the digits
173174 mDecoder ->fillDecodedDigits (digVec, digROFVec, chipStatus); // lot of copying involved
175+
174176 if (mDoCalibData ) {
175177 mDecoder ->fillCalibData (calVec);
176178 }
@@ -180,8 +182,14 @@ void STFDecoder<Mapping>::run(ProcessingContext& pc)
180182 if (mDoClusters && !mClusterer ->getMaxROFDepthToSquash ()) { // !!! THREADS !!!
181183 mClusterer ->process (mNThreads , *mDecoder .get (), &clusCompVec, mDoPatterns ? &clusPattVec : nullptr , &clusROFVec);
182184 }
185+ nTriggersProcessed++;
183186 }
184187
188+ const auto & alpParams = o2::itsmft::DPLAlpideParam<o2::detectors::DetID::ITS>::Instance ();
189+ std::cout<<" mTFCounter= " << mTFCounter << " from params: " << 3564 *32 /alpParams.roFrameLengthInBC << " from redout: " << nTriggersProcessed<< " number from geometry: " << o2::base::GRPGeomHelper::instance ().getGRPECS ()->getNHBFPerTF ()<<std::endl;
190+ int expectedValue = static_cast <int >(o2::constants::lhc::LHCMaxBunches * o2::base::GRPGeomHelper::instance ().getGRPECS ()->getNHBFPerTF () / alpParams.roFrameLengthInBC );
191+ if ( (expectedValue != nTriggersProcessed) && mTFCounter > 1 ) LOG (fatal)<< " Inconsistant size of ROF and Strobbing rate, from parameters: " << 3564 *32 /alpParams.roFrameLengthInBC << " from readout: " << nTriggersProcessed;
192+
185193 if (mDoClusters && mClusterer ->getMaxROFDepthToSquash ()) {
186194 // Digits squashing require to run on a batch of digits and uses a digit reader, cannot (?) run with decoder
187195 // - Setup decoder for running on a batch of digits
0 commit comments