1717#include " ITSWorkflow/TrackerSpec.h"
1818#include " ITSWorkflow/CookedTrackerSpec.h"
1919#include " ITSWorkflow/TrackWriterSpec.h"
20+ #include " ITStracking/TrackingConfigParam.h"
2021#include " ITSMFTWorkflow/DigitReaderSpec.h"
2122#include " GlobalTrackingWorkflowWriters/IRFrameWriterSpec.h"
2223#include " GPUWorkflow/GPUWorkflowSpec.h"
2324#include " Framework/CCDBParamSpec.h"
2425
2526// Dummy TPC completion policy data
26- using CompletionPolicyData = std::vector<InputSpec>;
27- static CompletionPolicyData gPolicyData ;
28- static std::shared_ptr<o2::gpu::GPURecoWorkflowSpec> gTask ;
2927
30- namespace o2
31- {
32- namespace its
33- {
34- namespace reco_workflow
28+ namespace o2 ::its::reco_workflow
3529{
3630
3731framework::WorkflowSpec getWorkflow (bool useMC,
@@ -56,14 +50,15 @@ framework::WorkflowSpec getWorkflow(bool useMC,
5650 if (!disableRootOutput) {
5751 specs.emplace_back (o2::its::getClusterWriterSpec (useMC));
5852 }
59- if (trmode != TrackingMode::Off) {
53+ if (( trmode != TrackingMode::Off) && ( TrackerParamConfig::Instance (). trackingMode != TrackingMode::Off) ) {
6054 if (useCAtracker) {
6155 if (useGPUWF) {
62- o2::gpu::GPURecoWorkflowSpec::Config cfg;
63- cfg.runITSTracking = true ;
64- cfg.itsTriggerType = useTrig;
65- cfg.itsOverrBeamEst = overrideBeamPosition;
66- cfg.processMC = useMC;
56+ o2::gpu::GPURecoWorkflowSpec::Config cfg{
57+ .itsTriggerType = useTrig,
58+ .processMC = useMC,
59+ .runITSTracking = true ,
60+ .itsOverrBeamEst = overrideBeamPosition,
61+ };
6762
6863 Inputs ggInputs;
6964 auto ggRequest = std::make_shared<o2::base::GRPGeomRequest>(false , true , false , true , true ,
@@ -73,18 +68,18 @@ framework::WorkflowSpec getWorkflow(bool useMC,
7368 ggRequest->addInput ({" itsTGeo" , " ITS" , " GEOMTGEO" , 0 , Lifetime::Condition, framework::ccdbParamSpec (" ITS/Config/Geometry" )}, ggInputs);
7469 }
7570
76- auto task = std::make_shared<o2::gpu::GPURecoWorkflowSpec>(& gPolicyData , cfg, std:: vector<int >(), 0 , ggRequest) ;
77- gTask = task;
71+ static std::vector<InputSpec> policyData ;
72+ static std::shared_ptr<o2::gpu::GPURecoWorkflowSpec> task = std::make_shared<o2::gpu::GPURecoWorkflowSpec>(&policyData, cfg, std::vector< int >(), 0 , ggRequest) ;
7873 Inputs taskInputs = task->inputs ();
7974 Options taskOptions = task->options ();
8075 std::move (ggInputs.begin (), ggInputs.end (), std::back_inserter (taskInputs));
8176
8277 specs.emplace_back (DataProcessorSpec{
83- " its-gpu-tracker" ,
84- taskInputs,
85- task->outputs (),
86- AlgorithmSpec{adoptTask<o2::gpu::GPURecoWorkflowSpec>(task)},
87- taskOptions});
78+ . name = " its-gpu-tracker" ,
79+ . inputs = taskInputs,
80+ . outputs = task->outputs (),
81+ . algorithm = AlgorithmSpec{adoptTask<o2::gpu::GPURecoWorkflowSpec>(task)},
82+ . options = taskOptions});
8883 } else {
8984 specs.emplace_back (o2::its::getTrackerSpec (useMC, useGeom, useTrig, trmode, overrideBeamPosition, dtype));
9085 }
@@ -99,6 +94,4 @@ framework::WorkflowSpec getWorkflow(bool useMC,
9994 return specs;
10095}
10196
102- } // namespace reco_workflow
103- } // namespace its
104- } // namespace o2
97+ } // namespace o2::its::reco_workflow
0 commit comments