From 7cd6fde6db02cd8e6d1c01070be294cffb98ed9b Mon Sep 17 00:00:00 2001 From: ddobrigk Date: Tue, 29 Jul 2025 12:33:05 +0200 Subject: [PATCH 1/8] Provide TrackTuner configurables in modular approach --- Common/TableProducer/trackPropagationTester.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Common/TableProducer/trackPropagationTester.cxx b/Common/TableProducer/trackPropagationTester.cxx index 694ff77d3c0..cedaa8508ca 100644 --- a/Common/TableProducer/trackPropagationTester.cxx +++ b/Common/TableProducer/trackPropagationTester.cxx @@ -59,6 +59,9 @@ struct TrackPropagationTester { o2::common::TrackPropagationProducts trackPropagationProducts; o2::common::TrackPropagationConfigurables trackPropagationConfigurables; + // the track tuner object -> needs to be here as it inherits from ConfigurableGroup (+ has its own copy of ccdbApi) + TrackTuner trackTunerObj; + // CCDB boilerplate declarations o2::framework::Configurable ccdburl{"ccdburl", "http://alice-ccdb.cern.ch", "url of the ccdb repository"}; Service ccdb; @@ -76,14 +79,14 @@ struct TrackPropagationTester { ccdb->setURL(ccdburl.value); // task-specific - trackPropagation.init(trackPropagationConfigurables, registry, initContext); + trackPropagation.init(trackPropagationConfigurables, trackTunerObj, registry, initContext); } void processReal(aod::Collisions const& collisions, soa::Join const& tracks, aod::Collisions const&, aod::BCs const& bcs) { // task-specific ccdbLoader.initCCDBfromBCs(standardCCDBLoaderConfigurables, ccdb, bcs); - trackPropagation.fillTrackTables(trackPropagationConfigurables, ccdbLoader, collisions, tracks, trackPropagationProducts, registry); + trackPropagation.fillTrackTables(trackPropagationConfigurables, trackTunerObj, ccdbLoader, collisions, tracks, trackPropagationProducts, registry); } PROCESS_SWITCH(TrackPropagationTester, processReal, "Process Real Data", true); @@ -91,7 +94,7 @@ struct TrackPropagationTester { void processMc(aod::Collisions const& collisions, soa::Join const& tracks, aod::McParticles const&, aod::Collisions const&, aod::BCs const& bcs) { ccdbLoader.initCCDBfromBCs(standardCCDBLoaderConfigurables, ccdb, bcs); - trackPropagation.fillTrackTables(trackPropagationConfigurables, ccdbLoader, collisions, tracks, trackPropagationProducts, registry); + trackPropagation.fillTrackTables(trackPropagationConfigurables, trackTunerObj, ccdbLoader, collisions, tracks, trackPropagationProducts, registry); } PROCESS_SWITCH(TrackPropagationTester, processMc, "Process Monte Carlo", false); }; From 6d5c55f489f07ad93c08687fda3d23516690b0df Mon Sep 17 00:00:00 2001 From: ddobrigk Date: Tue, 29 Jul 2025 12:34:22 +0200 Subject: [PATCH 2/8] Update TrackPropagationModule.h --- Common/Tools/TrackPropagationModule.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Common/Tools/TrackPropagationModule.h b/Common/Tools/TrackPropagationModule.h index d8cc3fd4f28..98ca6b75be8 100644 --- a/Common/Tools/TrackPropagationModule.h +++ b/Common/Tools/TrackPropagationModule.h @@ -81,7 +81,6 @@ class TrackPropagationModule // pointers to objs needed for operation std::shared_ptr trackTunedTracks; - TrackTuner trackTunerObj; // Running variables std::array mDcaInfo; @@ -90,8 +89,8 @@ class TrackPropagationModule o2::track::TrackParametrization mTrackPar; o2::track::TrackParametrizationWithError mTrackParCov; - template - void init(TConfigurableGroup const& cGroup, THistoRegistry& registry, TInitContext& initContext) + template + void init(TConfigurableGroup const& cGroup, TTrackTuner& trackTunerObj, THistoRegistry& registry, TInitContext& initContext) { // Checking if the tables are requested in the workflow and enabling them fillTracks = isTableRequiredInWorkflow(initContext, "Tracks"); @@ -153,8 +152,8 @@ class TrackPropagationModule registry.template add("hDCAzVsPtMC", "hDCAzVsPtMC", o2::framework::kTH2F, {axisBinsDCA, cGroup.axisPtQA}); } - template - void fillTrackTables(TConfigurableGroup const& cGroup, TCCDBLoader const& ccdbLoader, TCollisions const& collisions, TTracks const& tracks, TOutputGroup& cursors, THistoRegistry& registry) + template + void fillTrackTables(TConfigurableGroup const& cGroup, TTrackTuner& trackTunerObj, TCCDBLoader const& ccdbLoader, TCollisions const& collisions, TTracks const& tracks, TOutputGroup& cursors, THistoRegistry& registry) { if (!fillTracks) { return; // suppress everything From 9df3fb4a3e9cb6b63cfce2f7e2155d81f5bc8104 Mon Sep 17 00:00:00 2001 From: ddobrigk Date: Tue, 29 Jul 2025 12:35:21 +0200 Subject: [PATCH 3/8] Update propagationService.cxx --- PWGLF/TableProducer/Strangeness/propagationService.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/PWGLF/TableProducer/Strangeness/propagationService.cxx b/PWGLF/TableProducer/Strangeness/propagationService.cxx index 6140dd2cc8b..d772fe6b2b6 100644 --- a/PWGLF/TableProducer/Strangeness/propagationService.cxx +++ b/PWGLF/TableProducer/Strangeness/propagationService.cxx @@ -81,6 +81,9 @@ struct propagationService { o2::pwglf::strangenessbuilder::preSelectOpts preSelectOpts; o2::pwglf::strangenessbuilder::BuilderModule strangenessBuilderModule; + // the track tuner object -> needs to be here as it inherits from ConfigurableGroup (+ has its own copy of ccdbApi) + TrackTuner trackTunerObj; + // track propagation o2::common::TrackPropagationProducts trackPropagationProducts; o2::common::TrackPropagationConfigurables trackPropagationConfigurables; @@ -97,21 +100,21 @@ struct propagationService { ccdb->setURL(ccdburl.value); // task-specific - trackPropagation.init(trackPropagationConfigurables, histos, initContext); + trackPropagation.init(trackPropagationConfigurables, trackTunerObj, histos, initContext); strangenessBuilderModule.init(baseOpts, v0BuilderOpts, cascadeBuilderOpts, preSelectOpts, histos, initContext); } void processRealData(soa::Join const& collisions, aod::V0s const& v0s, aod::Cascades const& cascades, aod::TrackedCascades const& trackedCascades, FullTracksExtIU const& tracks, aod::BCsWithTimestamps const& bcs) { ccdbLoader.initCCDBfromBCs(standardCCDBLoaderConfigurables, ccdb, bcs); - trackPropagation.fillTrackTables(trackPropagationConfigurables, ccdbLoader, collisions, tracks, trackPropagationProducts, histos); + trackPropagation.fillTrackTables(trackPropagationConfigurables, trackTunerObj, ccdbLoader, collisions, tracks, trackPropagationProducts, histos); strangenessBuilderModule.dataProcess(ccdb, histos, collisions, static_cast(nullptr), v0s, cascades, trackedCascades, tracks, bcs, static_cast(nullptr), products); } void processMonteCarlo(soa::Join const& collisions, aod::McCollisions const& mccollisions, aod::V0s const& v0s, aod::Cascades const& cascades, aod::TrackedCascades const& trackedCascades, FullTracksExtLabeledIU const& tracks, aod::BCsWithTimestamps const& bcs, aod::McParticles const& mcParticles) { ccdbLoader.initCCDBfromBCs(standardCCDBLoaderConfigurables, ccdb, bcs); - trackPropagation.fillTrackTables(trackPropagationConfigurables, ccdbLoader, collisions, tracks, trackPropagationProducts, histos); + trackPropagation.fillTrackTables(trackPropagationConfigurables, trackTunerObj, ccdbLoader, collisions, tracks, trackPropagationProducts, histos); strangenessBuilderModule.dataProcess(ccdb, histos, collisions, mccollisions, v0s, cascades, trackedCascades, tracks, bcs, mcParticles, products); } From ed9f5b95b10fdcd5c4e19cbf7b90c344b615c807 Mon Sep 17 00:00:00 2001 From: David Dobrigkeit Chinellato Date: Tue, 29 Jul 2025 10:33:57 -0300 Subject: [PATCH 4/8] Small adjustments --- Common/TableProducer/trackPropagationTester.cxx | 1 + Common/Tools/TrackPropagationModule.h | 8 ++++---- PWGLF/TableProducer/Strangeness/propagationService.cxx | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Common/TableProducer/trackPropagationTester.cxx b/Common/TableProducer/trackPropagationTester.cxx index cedaa8508ca..160eb4e8a81 100644 --- a/Common/TableProducer/trackPropagationTester.cxx +++ b/Common/TableProducer/trackPropagationTester.cxx @@ -39,6 +39,7 @@ #include "Framework/HistogramRegistry.h" #include "DataFormatsCalibration/MeanVertexObject.h" #include "CommonConstants/GeomConstants.h" +#include "Common/Tools/TrackTuner.h" #include "Common/Tools/TrackPropagationModule.h" #include "Common/Tools/StandardCCDBLoader.h" diff --git a/Common/Tools/TrackPropagationModule.h b/Common/Tools/TrackPropagationModule.h index 98ca6b75be8..2ef762f723e 100644 --- a/Common/Tools/TrackPropagationModule.h +++ b/Common/Tools/TrackPropagationModule.h @@ -89,8 +89,8 @@ class TrackPropagationModule o2::track::TrackParametrization mTrackPar; o2::track::TrackParametrizationWithError mTrackParCov; - template - void init(TConfigurableGroup const& cGroup, TTrackTuner& trackTunerObj, THistoRegistry& registry, TInitContext& initContext) + template + void init(TConfigurableGroup const& cGroup, TrackTuner& trackTunerObj, THistoRegistry& registry, TInitContext& initContext) { // Checking if the tables are requested in the workflow and enabling them fillTracks = isTableRequiredInWorkflow(initContext, "Tracks"); @@ -152,8 +152,8 @@ class TrackPropagationModule registry.template add("hDCAzVsPtMC", "hDCAzVsPtMC", o2::framework::kTH2F, {axisBinsDCA, cGroup.axisPtQA}); } - template - void fillTrackTables(TConfigurableGroup const& cGroup, TTrackTuner& trackTunerObj, TCCDBLoader const& ccdbLoader, TCollisions const& collisions, TTracks const& tracks, TOutputGroup& cursors, THistoRegistry& registry) + template + void fillTrackTables(TConfigurableGroup const& cGroup, TrackTuner& trackTunerObj, TCCDBLoader const& ccdbLoader, TCollisions const& collisions, TTracks const& tracks, TOutputGroup& cursors, THistoRegistry& registry) { if (!fillTracks) { return; // suppress everything diff --git a/PWGLF/TableProducer/Strangeness/propagationService.cxx b/PWGLF/TableProducer/Strangeness/propagationService.cxx index d772fe6b2b6..505cc0685a7 100644 --- a/PWGLF/TableProducer/Strangeness/propagationService.cxx +++ b/PWGLF/TableProducer/Strangeness/propagationService.cxx @@ -30,6 +30,7 @@ #include "Common/Core/trackUtilities.h" #include "Common/DataModel/TrackSelectionTables.h" #include "Common/Tools/StandardCCDBLoader.h" +#include "Common/Tools/TrackTuner.h" #include "Common/Tools/TrackPropagationModule.h" #include "CCDB/BasicCCDBManager.h" From a4bff9977378f2db68285a9844d403d3d64ae53f Mon Sep 17 00:00:00 2001 From: ALICE Builder Date: Tue, 29 Jul 2025 15:36:11 +0200 Subject: [PATCH 5/8] Please consider the following formatting changes (#454) --- .../TableProducer/trackPropagationTester.cxx | 31 ++++++++++--------- .../Strangeness/propagationService.cxx | 2 +- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/Common/TableProducer/trackPropagationTester.cxx b/Common/TableProducer/trackPropagationTester.cxx index 160eb4e8a81..1cbd476edf9 100644 --- a/Common/TableProducer/trackPropagationTester.cxx +++ b/Common/TableProducer/trackPropagationTester.cxx @@ -23,25 +23,26 @@ // //=============================================================== -#include "Framework/AnalysisDataModel.h" -#include "Framework/AnalysisTask.h" -#include "Framework/runDataProcessing.h" -#include "Framework/RunningWorkflowInfo.h" -#include "Common/DataModel/TrackSelectionTables.h" #include "Common/Core/trackUtilities.h" -#include "ReconstructionDataFormats/DCA.h" -#include "DetectorsBase/Propagator.h" -#include "DetectorsBase/GeometryManager.h" -#include "CommonUtils/NameConf.h" +#include "Common/DataModel/TrackSelectionTables.h" +#include "Common/Tools/StandardCCDBLoader.h" +#include "Common/Tools/TrackPropagationModule.h" +#include "Common/Tools/TrackTuner.h" + +#include "CCDB/BasicCCDBManager.h" #include "CCDB/CcdbApi.h" +#include "CommonConstants/GeomConstants.h" +#include "CommonUtils/NameConf.h" +#include "DataFormatsCalibration/MeanVertexObject.h" #include "DataFormatsParameters/GRPMagField.h" -#include "CCDB/BasicCCDBManager.h" +#include "DetectorsBase/GeometryManager.h" +#include "DetectorsBase/Propagator.h" +#include "Framework/AnalysisDataModel.h" +#include "Framework/AnalysisTask.h" #include "Framework/HistogramRegistry.h" -#include "DataFormatsCalibration/MeanVertexObject.h" -#include "CommonConstants/GeomConstants.h" -#include "Common/Tools/TrackTuner.h" -#include "Common/Tools/TrackPropagationModule.h" -#include "Common/Tools/StandardCCDBLoader.h" +#include "Framework/RunningWorkflowInfo.h" +#include "Framework/runDataProcessing.h" +#include "ReconstructionDataFormats/DCA.h" // The Run 3 AO2D stores the tracks at the point of innermost update. For a track with ITS this is the innermost (or second innermost) // ITS layer. For a track without ITS, this is the TPC inner wall or for loopers in the TPC even a radius beyond that. diff --git a/PWGLF/TableProducer/Strangeness/propagationService.cxx b/PWGLF/TableProducer/Strangeness/propagationService.cxx index 505cc0685a7..54bf24dfe91 100644 --- a/PWGLF/TableProducer/Strangeness/propagationService.cxx +++ b/PWGLF/TableProducer/Strangeness/propagationService.cxx @@ -30,8 +30,8 @@ #include "Common/Core/trackUtilities.h" #include "Common/DataModel/TrackSelectionTables.h" #include "Common/Tools/StandardCCDBLoader.h" -#include "Common/Tools/TrackTuner.h" #include "Common/Tools/TrackPropagationModule.h" +#include "Common/Tools/TrackTuner.h" #include "CCDB/BasicCCDBManager.h" #include "CCDB/CcdbApi.h" From a1b80e9b7182088525cd8cf18ae2d650804a430e Mon Sep 17 00:00:00 2001 From: David Dobrigkeit Chinellato Date: Tue, 29 Jul 2025 10:57:33 -0300 Subject: [PATCH 6/8] Add header --- Common/TableProducer/trackPropagationTester.cxx | 2 ++ PWGLF/TableProducer/Strangeness/propagationService.cxx | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Common/TableProducer/trackPropagationTester.cxx b/Common/TableProducer/trackPropagationTester.cxx index 1cbd476edf9..18543ee0994 100644 --- a/Common/TableProducer/trackPropagationTester.cxx +++ b/Common/TableProducer/trackPropagationTester.cxx @@ -44,6 +44,8 @@ #include "Framework/runDataProcessing.h" #include "ReconstructionDataFormats/DCA.h" +#include + // The Run 3 AO2D stores the tracks at the point of innermost update. For a track with ITS this is the innermost (or second innermost) // ITS layer. For a track without ITS, this is the TPC inner wall or for loopers in the TPC even a radius beyond that. // In order to use the track parameters, the tracks have to be propagated to the collision vertex which is done by this task. diff --git a/PWGLF/TableProducer/Strangeness/propagationService.cxx b/PWGLF/TableProducer/Strangeness/propagationService.cxx index 54bf24dfe91..191b920d9ef 100644 --- a/PWGLF/TableProducer/Strangeness/propagationService.cxx +++ b/PWGLF/TableProducer/Strangeness/propagationService.cxx @@ -47,6 +47,8 @@ #include "Framework/runDataProcessing.h" #include "ReconstructionDataFormats/DCA.h" +#include + using namespace o2; using namespace o2::framework; // using namespace o2::framework::expressions; From f6d6cf891b831722e6599342f9ab39183a42138d Mon Sep 17 00:00:00 2001 From: David Dobrigkeit Chinellato Date: Tue, 29 Jul 2025 11:15:47 -0300 Subject: [PATCH 7/8] Fix headers --- Common/Tools/StandardCCDBLoader.h | 5 +++++ Common/Tools/TrackPropagationModule.h | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/Common/Tools/StandardCCDBLoader.h b/Common/Tools/StandardCCDBLoader.h index 6ba4c9be9a1..9049d2e2432 100644 --- a/Common/Tools/StandardCCDBLoader.h +++ b/Common/Tools/StandardCCDBLoader.h @@ -20,6 +20,11 @@ #include #include #include +#include "DataFormatsCalibration/MeanVertexObject.h" +#include "DataFormatsParameters/GRPMagField.h" +#include "DetectorsBase/GeometryManager.h" +#include "DetectorsBase/Propagator.h" +#include "CCDB/BasicCCDBManager.h" #include "Framework/AnalysisDataModel.h" //__________________________________________ diff --git a/Common/Tools/TrackPropagationModule.h b/Common/Tools/TrackPropagationModule.h index 2ef762f723e..ffad7cadfd4 100644 --- a/Common/Tools/TrackPropagationModule.h +++ b/Common/Tools/TrackPropagationModule.h @@ -24,6 +24,10 @@ #include "Framework/AnalysisDataModel.h" #include "Framework/Configurable.h" #include "Framework/HistogramSpec.h" + +#include "DataFormatsCalibration/MeanVertexObject.h" +#include "DataFormatsParameters/GRPMagField.h" +#include "DetectorsBase/Propagator.h" #include "Common/Tools/TrackTuner.h" #include "TableHelper.h" From b61211e5f010904b77c0f9aaeaad45e34d74b703 Mon Sep 17 00:00:00 2001 From: ALICE Builder Date: Tue, 29 Jul 2025 16:18:12 +0200 Subject: [PATCH 8/8] Please consider the following formatting changes (#455) --- Common/Tools/StandardCCDBLoader.h | 11 ++++++----- Common/Tools/TrackPropagationModule.h | 22 ++++++++++++---------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/Common/Tools/StandardCCDBLoader.h b/Common/Tools/StandardCCDBLoader.h index 9049d2e2432..2134fec2666 100644 --- a/Common/Tools/StandardCCDBLoader.h +++ b/Common/Tools/StandardCCDBLoader.h @@ -16,17 +16,18 @@ #ifndef COMMON_TOOLS_STANDARDCCDBLOADER_H_ #define COMMON_TOOLS_STANDARDCCDBLOADER_H_ -#include -#include -#include -#include +#include "CCDB/BasicCCDBManager.h" #include "DataFormatsCalibration/MeanVertexObject.h" #include "DataFormatsParameters/GRPMagField.h" #include "DetectorsBase/GeometryManager.h" #include "DetectorsBase/Propagator.h" -#include "CCDB/BasicCCDBManager.h" #include "Framework/AnalysisDataModel.h" +#include +#include +#include +#include + //__________________________________________ // Standard class to load stuff // such as matLUT, B and mean Vertex diff --git a/Common/Tools/TrackPropagationModule.h b/Common/Tools/TrackPropagationModule.h index ffad7cadfd4..305a7c774f2 100644 --- a/Common/Tools/TrackPropagationModule.h +++ b/Common/Tools/TrackPropagationModule.h @@ -16,20 +16,22 @@ #ifndef COMMON_TOOLS_TRACKPROPAGATIONMODULE_H_ #define COMMON_TOOLS_TRACKPROPAGATIONMODULE_H_ -#include -#include -#include -#include -#include -#include "Framework/AnalysisDataModel.h" -#include "Framework/Configurable.h" -#include "Framework/HistogramSpec.h" +#include "TableHelper.h" + +#include "Common/Tools/TrackTuner.h" #include "DataFormatsCalibration/MeanVertexObject.h" #include "DataFormatsParameters/GRPMagField.h" #include "DetectorsBase/Propagator.h" -#include "Common/Tools/TrackTuner.h" -#include "TableHelper.h" +#include "Framework/AnalysisDataModel.h" +#include "Framework/Configurable.h" +#include "Framework/HistogramSpec.h" + +#include +#include +#include +#include +#include //__________________________________________ // track propagation module