@@ -255,6 +255,7 @@ void RawTFDump::run(ProcessingContext& pc)
255255 try {
256256 size_t lTFSizeInFile = getTFSizeInFile ();
257257 SubTimeFrameFileMeta lTFFileMeta (lTFSizeInFile);
258+ lTFFileMeta.mWriteTimeMs = mTimingInfo .creation ;
258259
259260 mFile << lTFFileMeta; // Write DataHeader + SubTimeFrameFileMeta
260261 mFile << mTFDataIndex ; // Write DataHeader + SubTimeFrameFileDataIndex
@@ -265,6 +266,10 @@ void RawTFDump::run(ProcessingContext& pc)
265266 const auto & dataPtr = mTFData [lEntry + part];
266267 DataHeader hdToWrite = *reinterpret_cast <const DataHeader*>(dataPtr.first ); // make a local DataHeader copy to clear flagsNextHeader bit
267268 hdToWrite.flagsNextHeader = 0 ;
269+ hdToWrite.splitPayloadIndex = part;
270+ if (mVerbose > 2 ) {
271+ LOGP (info, " Writing part:{}/{} of {} | TFCounter:{} part{}/{}" , part, lCnt, DataSpecUtils::describe (OutputSpec{hdToWrite.dataOrigin , hdToWrite.dataDescription , hdToWrite.subSpecification }), hdToWrite.firstTForbit , hdToWrite.splitPayloadIndex , hdToWrite.splitPayloadParts );
272+ }
268273 buffered_write (reinterpret_cast <const char *>(&hdToWrite), sizeof (DataHeader));
269274 buffered_write (dataPtr.second , hdToWrite.payloadSize );
270275 }
@@ -519,10 +524,11 @@ void RawTFDump::prepareTFForWriting(ProcessingContext& pc)
519524 LOGP (error, " Failed to extract header" );
520525 continue ;
521526 }
522- if (dh->subSpecification == 0xdeadbeef && mRejectDEADBEEF ) {
523- continue ;
524- }
525- if (dh->dataOrigin == o2::header::gDataOriginFLP && dh->dataDescription == o2::header::gDataDescriptionDISTSTF && mRejectDistSTF ) {
527+ if ((dh->subSpecification == 0xdeadbeef && mRejectDEADBEEF ) ||
528+ (dh->dataOrigin == o2::header::gDataOriginFLP && dh->dataDescription == o2::header::gDataDescriptionDISTSTF && mRejectDistSTF )) {
529+ if (mVerbose > 2 ) {
530+ LOGP (info, " Rejecting {}" , DataSpecUtils::describe (OutputSpec{dh->dataOrigin , dh->dataDescription , dh->subSpecification }));
531+ }
526532 continue ;
527533 }
528534 const auto lHdrDataSize = sizeof (DataHeader) + dh->payloadSize ;
@@ -536,9 +542,10 @@ void RawTFDump::prepareTFForWriting(ProcessingContext& pc)
536542 lCnt++;
537543 mTFData .push_back ({ref.header , ref.payload });
538544 if (mVerbose > 2 ) {
539- LOGP (info, " {}, part: {} of {}, payload {}, 1stTFOrbit: {} TF: {}" ,
545+ const auto * dph = DataRefUtils::getHeader<DataProcessingHeader*>(ref);
546+ LOGP (info, " {}, part: {} of {}, payload {}, 1stTFOrbit: {} TF: {}, creation: {} | counter:{} size:{} entry:{}" ,
540547 DataSpecUtils::describe (OutputSpec{dh->dataOrigin , dh->dataDescription , dh->subSpecification }),
541- dh->splitPayloadIndex , dh->splitPayloadParts , dh->payloadSize , dh->firstTForbit , dh->tfCounter );
548+ dh->splitPayloadIndex , dh->splitPayloadParts , dh->payloadSize , dh->firstTForbit , dh->tfCounter , dph ? dph-> creation : - 1UL , lCnt, lSize, lEntry );
542549 }
543550 }
544551
@@ -553,7 +560,7 @@ void RawTFDump::prepareTFForWriting(ProcessingContext& pc)
553560
554561 OutputSpec spec{eq.mDataOrigin , eq.mDataDescription , eq.mSubSpecification };
555562 if (mVerbose > 1 ) {
556- LOGP (info, " {} : {} parts of size {} | offset: {}" , DataSpecUtils::describe (spec), lCnt, lSize, lCurrOff);
563+ LOGP (info, " {} : {} parts of size {} entry {} | offset: {}" , DataSpecUtils::describe (spec), lCnt, lSize, lEntry , lCurrOff);
557564 }
558565 mTFDataIndex .AddStfElement (eq, lCnt, lCurrOff, lSize);
559566 lCurrOff += lSize;
0 commit comments