@@ -2205,10 +2205,6 @@ int GPUChainTracking::RunChain()
22052205 if (runRecoStep (RecoStep::TPCCompression, &GPUChainTracking::RunTPCCompression)) {
22062206 return 1 ;
22072207 }
2208- if (GetDeviceProcessingSettings ().runCompressionStatistics ) {
2209- CompressedClusters c = *mIOPtrs .tpcCompressedClusters ;
2210- mCompressionStatistics ->RunStatistics (mIOPtrs .clustersNative , &c, param ());
2211- }
22122208 }
22132209
22142210 if (runRecoStep (RecoStep::TRDTracking, &GPUChainTracking::RunTRDTracking)) {
@@ -2223,6 +2219,17 @@ int GPUChainTracking::RunChain()
22232219 return 1 ;
22242220 }
22252221
2222+ return GetDeviceProcessingSettings ().doublePipeline ? 0 : RunChainFinalize ();
2223+ }
2224+
2225+ int GPUChainTracking::RunChainFinalize ()
2226+ {
2227+ if (mIOPtrs .clustersNative && (GetRecoSteps () & RecoStep::TPCCompression) && GetDeviceProcessingSettings ().runCompressionStatistics ) {
2228+ CompressedClusters c = *mIOPtrs .tpcCompressedClusters ;
2229+ mCompressionStatistics ->RunStatistics (mIOPtrs .clustersNative , &c, param ());
2230+ }
2231+
2232+ const bool needQA = GPUQA::QAAvailable () && (GetDeviceProcessingSettings ().runQA || (GetDeviceProcessingSettings ().eventDisplay && mIOPtrs .nMCInfosTPC ));
22262233 if (needQA) {
22272234 mRec ->getGeneralStepTimer (GeneralStep::QA ).Start ();
22282235 mQA ->RunQA (!GetDeviceProcessingSettings ().runQA );
@@ -2291,7 +2298,7 @@ int GPUChainTracking::FinalizePipelinedProcessing()
22912298 }
22922299 mPipelineFinalizationCtx .reset ();
22932300 }
2294- return 0 ;
2301+ return RunChainFinalize () ;
22952302}
22962303
22972304int GPUChainTracking::HelperReadEvent (int iSlice, int threadId, GPUReconstructionHelpers::helperParam* par) { return ReadEvent (iSlice, threadId); }
0 commit comments