24static std::shared_ptr<o2::gpu::GPURecoWorkflowSpec> gTask;
30 bool upstreamDigits,
bool upstreamClusters,
bool disableRootOutput,
bool useGeom,
int useTrig,
bool overrideBeamPosition)
34 if (!(upstreamDigits || upstreamClusters)) {
38 if (!upstreamClusters) {
42 if (!disableRootOutput) {
56 auto ggRequest = std::make_shared<o2::base::GRPGeomRequest>(
false,
true,
false,
true,
true,
60 ggRequest->addInput({
"itsTGeo",
"ITS",
"GEOMTGEO", 0, Lifetime::Condition,
framework::ccdbParamSpec(
"ITS/Config/Geometry")}, ggInputs);
63 auto task = std::make_shared<o2::gpu::GPURecoWorkflowSpec>(&
gPolicyData, cfg, std::vector<int>(), 0, ggRequest);
65 Inputs taskInputs = task->inputs();
66 Options taskOptions = task->options();
67 std::move(ggInputs.begin(), ggInputs.end(), std::back_inserter(taskInputs));
70 .
name =
"its3-gpu-tracker",
72 .outputs = task->outputs(),
73 .algorithm =
AlgorithmSpec{adoptTask<o2::gpu::GPURecoWorkflowSpec>(task)},
74 .options = taskOptions});
78 if (!disableRootOutput) {
std::vector< InputSpec > CompletionPolicyData
std::vector< ConfigParamSpec > ccdbParamSpec(std::string const &path, int runDependent, std::vector< CCDBMetadata > metadata={}, int qrate=0)
std::vector< DataProcessorSpec > WorkflowSpec
std::vector< ConfigParamSpec > Options
std::vector< InputSpec > Inputs
framework::WorkflowSpec getWorkflow(bool useMC, bool doStag, its::TrackingMode::Type trmode, o2::gpu::gpudatatypes::DeviceType dtype, bool useGPUWorkflow, bool upstreamDigits, bool upstreamClusters, bool disableRootOutput, bool useGeom, int useTrig, bool overrideBeamPosition)
framework::DataProcessorSpec getITS3DigitReaderSpec(bool useMC=true, bool doStag=false, bool useCalib=false, std::string defname="it3digits.root")
framework::DataProcessorSpec getClustererSpec(bool useMC, bool doStag)
framework::DataProcessorSpec getTrackerSpec(bool useMC, bool doStag, bool useGeom, int useTrig, its::TrackingMode::Type trMode, const bool overrBeamEst=false, gpu::gpudatatypes::DeviceType dType=gpu::gpudatatypes::DeviceType::CPU)
o2::framework::DataProcessorSpec getTrackWriterSpec(bool useMC)
framework::DataProcessorSpec getITSClusterWriterSpec(bool useMC, bool doStag, bool clusterROFOnly=false)
std::vector< InputSpec > gPolicyData