@@ -413,6 +413,18 @@ int32_t SetupReconstruction()
413413 steps.steps .setBits (gpudatatypes::RecoStep::TPCClusterFinding, false );
414414 }
415415
416+ // Set settings for synchronous
417+ GPUChainTracking::ApplySyncSettings (procSet, recSet, steps.steps , configStandalone.testSyncAsync || configStandalone.testSync , configStandalone.rundEdx );
418+ int32_t runAsyncQA = procSet.runQA && !configStandalone.testSyncAsyncQcInSync ? procSet.runQA : 0 ;
419+ if (configStandalone.testSyncAsync ) {
420+ procSet.eventDisplay = nullptr ;
421+ if (!configStandalone.testSyncAsyncQcInSync ) {
422+ procSet.runQA = false ;
423+ }
424+ }
425+
426+ // Apply --recoSteps flag last so it takes precedence
427+ // E.g. ApplySyncSettings might enable TPCdEdx, but might not be needed if only clusterizer was requested
416428 if (configStandalone.recoSteps >= 0 ) {
417429 steps.steps &= configStandalone.recoSteps ;
418430 }
@@ -432,16 +444,6 @@ int32_t SetupReconstruction()
432444 }
433445 }
434446
435- // Set settings for synchronous
436- GPUChainTracking::ApplySyncSettings (procSet, recSet, steps.steps , configStandalone.testSyncAsync || configStandalone.testSync , configStandalone.rundEdx );
437- int32_t runAsyncQA = procSet.runQA && !configStandalone.testSyncAsyncQcInSync ? procSet.runQA : 0 ;
438- if (configStandalone.testSyncAsync ) {
439- procSet.eventDisplay = nullptr ;
440- if (!configStandalone.testSyncAsyncQcInSync ) {
441- procSet.runQA = false ;
442- }
443- }
444-
445447 rec->SetSettings (&grp, &recSet, &procSet, &steps);
446448 if (configStandalone.proc .doublePipeline ) {
447449 recPipeline->SetSettings (&grp, &recSet, &procSet, &steps);
0 commit comments