Skip to content

Commit bce63c1

Browse files
committed
GPU Workflor: add possibility to run TRD tracking within GPU workflow
1 parent 37fddc9 commit bce63c1

3 files changed

Lines changed: 10 additions & 2 deletions

File tree

GPU/Workflow/include/GPUWorkflow/GPUWorkflowSpec.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ struct Config {
4747
bool processMC = false;
4848
bool sendClustersPerSector = false;
4949
bool askDISTSTF = true;
50+
bool runTRDTracking = false;
5051
bool readTRDtracklets = false;
5152
};
5253
using CompletionPolicyData = std::vector<framework::InputSpec>;

GPU/Workflow/src/GPUWorkflowSpec.cxx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,10 @@ DataProcessorSpec getGPURecoWorkflowSpec(gpuworkflow::CompletionPolicyData* poli
231231
throw std::invalid_argument("Cannot run TPC decompression with a sector mask");
232232
}
233233
}
234+
if (specconfig.runTRDTracking) {
235+
config.configWorkflow.inputs.setBits(GPUDataTypes::InOutType::TRDTracklets, true);
236+
config.configWorkflow.steps.setBits(GPUDataTypes::RecoStep::TRDTracking, true);
237+
}
234238
if (specconfig.outputSharedClusterMap) {
235239
config.configProcessing.outputSharedClusterMap = true;
236240
}

GPU/Workflow/src/gpu-reco-workflow.cxx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ void customize(std::vector<ConfigParamSpec>& workflowOptions)
4545

4646
std::vector<ConfigParamSpec> options{
4747
{"input-type", VariantType::String, "digits", {"digitizer, digits, zsraw, zsonthefly, clustersnative, compressed-clusters-root, compressed-clusters-ctf, trd-tracklets"}},
48-
{"output-type", VariantType::String, "tracks", {"clustersnative, tracks, compressed-clusters-ctf, qa, no-shared-cluster-map, send-clusters-per-sector"}},
48+
{"output-type", VariantType::String, "tracks", {"clustersnative, tracks, compressed-clusters-ctf, qa, no-shared-cluster-map, send-clusters-per-sector, trd-tracks"}},
4949
{"disable-root-input", VariantType::Bool, true, {"disable root-files input reader"}},
5050
{"disable-mc", VariantType::Bool, false, {"disable sending of MC information"}},
5151
{"ignore-dist-stf", VariantType::Bool, false, {"do not subscribe to FLP/DISTSUBTIMEFRAME/0 message (no lost TF recovery)"}},
@@ -80,6 +80,7 @@ enum struct ioType { Digits,
8080
Tracks,
8181
QA,
8282
TRDTracklets,
83+
TRDTracks,
8384
NoSharedMap,
8485
SendClustersPerSector };
8586

@@ -98,7 +99,8 @@ static const std::unordered_map<std::string, ioType> OutputMap{
9899
{"compressed-clusters-ctf", ioType::CompClustCTF},
99100
{"qa", ioType::QA},
100101
{"no-shared-cluster-map", ioType::NoSharedMap},
101-
{"send-clusters-per-sector", ioType::SendClustersPerSector}};
102+
{"send-clusters-per-sector", ioType::SendClustersPerSector},
103+
{"trd-tracks", ioType::TRDTracks}};
102104

103105
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
104106
{
@@ -141,6 +143,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
141143
cfg.sendClustersPerSector = isEnabled(outputTypes, ioType::SendClustersPerSector);
142144
cfg.askDISTSTF = !cfgc.options().get<bool>("ignore-dist-stf");
143145
cfg.readTRDtracklets = isEnabled(inputTypes, ioType::TRDTracklets);
146+
cfg.runTRDTracking = isEnabled(outputTypes, ioType::TRDTracks);
144147
specs.emplace_back(o2::gpu::getGPURecoWorkflowSpec(&gPolicyData, cfg, tpcSectors, gTpcSectorMask, "gpu-reconstruction"));
145148

146149
if (!cfgc.options().get<bool>("ignore-dist-stf")) {

0 commit comments

Comments
 (0)