From b33925b05d2bf4697363f1fa37697bf5e07a3c80 Mon Sep 17 00:00:00 2001 From: Felix Schlepper Date: Tue, 8 Apr 2025 11:21:28 +0200 Subject: [PATCH] GPU: ITS fix MC label output Signed-off-by: Felix Schlepper --- Detectors/ITSMFT/ITS/workflow/src/RecoWorkflow.cxx | 1 + GPU/Workflow/include/GPUWorkflow/GPUWorkflowSpec.h | 1 + GPU/Workflow/src/GPUWorkflowSpec.cxx | 5 +++-- GPU/Workflow/src/gpu-reco-workflow.cxx | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Detectors/ITSMFT/ITS/workflow/src/RecoWorkflow.cxx b/Detectors/ITSMFT/ITS/workflow/src/RecoWorkflow.cxx index b03d1dccfb8e7..d5721628b788a 100644 --- a/Detectors/ITSMFT/ITS/workflow/src/RecoWorkflow.cxx +++ b/Detectors/ITSMFT/ITS/workflow/src/RecoWorkflow.cxx @@ -63,6 +63,7 @@ framework::WorkflowSpec getWorkflow(bool useMC, cfg.runITSTracking = true; cfg.itsTriggerType = useTrig; cfg.itsOverrBeamEst = overrideBeamPosition; + cfg.processITSMC = useMC; Inputs ggInputs; auto ggRequest = std::make_shared(false, true, false, true, true, diff --git a/GPU/Workflow/include/GPUWorkflow/GPUWorkflowSpec.h b/GPU/Workflow/include/GPUWorkflow/GPUWorkflowSpec.h index eda3b28c6cff6..055eb73456209 100644 --- a/GPU/Workflow/include/GPUWorkflow/GPUWorkflowSpec.h +++ b/GPU/Workflow/include/GPUWorkflow/GPUWorkflowSpec.h @@ -128,6 +128,7 @@ class GPURecoWorkflowSpec : public o2::framework::Task int32_t lumiScaleType = 0; // 0=off, 1=CTP, 2=TPC scalers bool outputErrorQA = false; bool runITSTracking = false; + bool processITSMC = false; bool itsOverrBeamEst = false; bool tpcTriggerHandling = false; }; diff --git a/GPU/Workflow/src/GPUWorkflowSpec.cxx b/GPU/Workflow/src/GPUWorkflowSpec.cxx index aa4f3cfca1289..6c5c98d131c20 100644 --- a/GPU/Workflow/src/GPUWorkflowSpec.cxx +++ b/GPU/Workflow/src/GPUWorkflowSpec.cxx @@ -1180,7 +1180,7 @@ Inputs GPURecoWorkflowSpec::inputs() if (mSpecConfig.itsOverrBeamEst) { inputs.emplace_back("meanvtx", "GLO", "MEANVERTEX", 0, Lifetime::Condition, ccdbParamSpec("GLO/Calib/MeanVertex", {}, 1)); } - if (mSpecConfig.processMC) { + if (mSpecConfig.processITSMC) { inputs.emplace_back("itsmclabels", "ITS", "CLUSTERSMCTR", 0, Lifetime::Timeframe); inputs.emplace_back("ITSMC2ROframes", "ITS", "CLUSTERSMC2ROF", 0, Lifetime::Timeframe); } @@ -1254,8 +1254,9 @@ Outputs GPURecoWorkflowSpec::outputs() outputSpecs.emplace_back(gDataOriginITS, "VERTICESROF", 0, Lifetime::Timeframe); outputSpecs.emplace_back(gDataOriginITS, "IRFRAMES", 0, Lifetime::Timeframe); - if (mSpecConfig.processMC) { + if (mSpecConfig.processITSMC) { outputSpecs.emplace_back(gDataOriginITS, "VERTICESMCTR", 0, Lifetime::Timeframe); + outputSpecs.emplace_back(gDataOriginITS, "VERTICESMCPUR", 0, Lifetime::Timeframe); outputSpecs.emplace_back(gDataOriginITS, "TRACKSMCTR", 0, Lifetime::Timeframe); outputSpecs.emplace_back(gDataOriginITS, "ITSTrackMC2ROF", 0, Lifetime::Timeframe); } diff --git a/GPU/Workflow/src/gpu-reco-workflow.cxx b/GPU/Workflow/src/gpu-reco-workflow.cxx index 4583e138b7579..c6b12e30d9fc1 100644 --- a/GPU/Workflow/src/gpu-reco-workflow.cxx +++ b/GPU/Workflow/src/gpu-reco-workflow.cxx @@ -179,6 +179,7 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) cfg.outputErrorQA = isEnabled(outputTypes, ioType::ErrorQA); cfg.outputSharedClusterMap = (cfg.outputCAClusters || cfg.caClusterer || isEnabled(inputTypes, ioType::Clusters)) && cfg.outputTracks && !isEnabled(outputTypes, ioType::NoSharedMap); cfg.processMC = doMC; + cfg.processITSMC = doMC; cfg.sendClustersPerSector = isEnabled(outputTypes, ioType::SendClustersPerSector); cfg.askDISTSTF = !cfgc.options().get("ignore-dist-stf"); cfg.readTRDtracklets = isEnabled(inputTypes, ioType::TRDTracklets);