Skip to content

Commit f853ccf

Browse files
ddobrigkalibuild
andauthored
[Common,PWGLF] Expose configurables inside TrackTuner in propagationService (#12306)
Co-authored-by: David Dobrigkeit Chinellato <david.dobrigkeit.chinellato.cern.ch> Co-authored-by: ALICE Builder <alibuild@users.noreply.github.com>
1 parent 652b251 commit f853ccf

File tree

4 files changed

+58
-34
lines changed

4 files changed

+58
-34
lines changed

Common/TableProducer/trackPropagationTester.cxx

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,28 @@
2323
//
2424
//===============================================================
2525

26-
#include "Framework/AnalysisDataModel.h"
27-
#include "Framework/AnalysisTask.h"
28-
#include "Framework/runDataProcessing.h"
29-
#include "Framework/RunningWorkflowInfo.h"
30-
#include "Common/DataModel/TrackSelectionTables.h"
3126
#include "Common/Core/trackUtilities.h"
32-
#include "ReconstructionDataFormats/DCA.h"
33-
#include "DetectorsBase/Propagator.h"
34-
#include "DetectorsBase/GeometryManager.h"
35-
#include "CommonUtils/NameConf.h"
27+
#include "Common/DataModel/TrackSelectionTables.h"
28+
#include "Common/Tools/StandardCCDBLoader.h"
29+
#include "Common/Tools/TrackPropagationModule.h"
30+
#include "Common/Tools/TrackTuner.h"
31+
32+
#include "CCDB/BasicCCDBManager.h"
3633
#include "CCDB/CcdbApi.h"
34+
#include "CommonConstants/GeomConstants.h"
35+
#include "CommonUtils/NameConf.h"
36+
#include "DataFormatsCalibration/MeanVertexObject.h"
3737
#include "DataFormatsParameters/GRPMagField.h"
38-
#include "CCDB/BasicCCDBManager.h"
38+
#include "DetectorsBase/GeometryManager.h"
39+
#include "DetectorsBase/Propagator.h"
40+
#include "Framework/AnalysisDataModel.h"
41+
#include "Framework/AnalysisTask.h"
3942
#include "Framework/HistogramRegistry.h"
40-
#include "DataFormatsCalibration/MeanVertexObject.h"
41-
#include "CommonConstants/GeomConstants.h"
42-
#include "Common/Tools/TrackPropagationModule.h"
43-
#include "Common/Tools/StandardCCDBLoader.h"
43+
#include "Framework/RunningWorkflowInfo.h"
44+
#include "Framework/runDataProcessing.h"
45+
#include "ReconstructionDataFormats/DCA.h"
46+
47+
#include <string>
4448

4549
// 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)
4650
// ITS layer. For a track without ITS, this is the TPC inner wall or for loopers in the TPC even a radius beyond that.
@@ -59,6 +63,9 @@ struct TrackPropagationTester {
5963
o2::common::TrackPropagationProducts trackPropagationProducts;
6064
o2::common::TrackPropagationConfigurables trackPropagationConfigurables;
6165

66+
// the track tuner object -> needs to be here as it inherits from ConfigurableGroup (+ has its own copy of ccdbApi)
67+
TrackTuner trackTunerObj;
68+
6269
// CCDB boilerplate declarations
6370
o2::framework::Configurable<std::string> ccdburl{"ccdburl", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};
6471
Service<o2::ccdb::BasicCCDBManager> ccdb;
@@ -76,22 +83,22 @@ struct TrackPropagationTester {
7683
ccdb->setURL(ccdburl.value);
7784

7885
// task-specific
79-
trackPropagation.init(trackPropagationConfigurables, registry, initContext);
86+
trackPropagation.init(trackPropagationConfigurables, trackTunerObj, registry, initContext);
8087
}
8188

8289
void processReal(aod::Collisions const& collisions, soa::Join<aod::StoredTracksIU, aod::TracksCovIU, aod::TracksExtra> const& tracks, aod::Collisions const&, aod::BCs const& bcs)
8390
{
8491
// task-specific
8592
ccdbLoader.initCCDBfromBCs(standardCCDBLoaderConfigurables, ccdb, bcs);
86-
trackPropagation.fillTrackTables<false>(trackPropagationConfigurables, ccdbLoader, collisions, tracks, trackPropagationProducts, registry);
93+
trackPropagation.fillTrackTables<false>(trackPropagationConfigurables, trackTunerObj, ccdbLoader, collisions, tracks, trackPropagationProducts, registry);
8794
}
8895
PROCESS_SWITCH(TrackPropagationTester, processReal, "Process Real Data", true);
8996

9097
// -----------------------
9198
void processMc(aod::Collisions const& collisions, soa::Join<aod::StoredTracksIU, aod::McTrackLabels, aod::TracksCovIU, aod::TracksExtra> const& tracks, aod::McParticles const&, aod::Collisions const&, aod::BCs const& bcs)
9299
{
93100
ccdbLoader.initCCDBfromBCs(standardCCDBLoaderConfigurables, ccdb, bcs);
94-
trackPropagation.fillTrackTables<false>(trackPropagationConfigurables, ccdbLoader, collisions, tracks, trackPropagationProducts, registry);
101+
trackPropagation.fillTrackTables<false>(trackPropagationConfigurables, trackTunerObj, ccdbLoader, collisions, tracks, trackPropagationProducts, registry);
95102
}
96103
PROCESS_SWITCH(TrackPropagationTester, processMc, "Process Monte Carlo", false);
97104
};

Common/Tools/StandardCCDBLoader.h

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,18 @@
1616
#ifndef COMMON_TOOLS_STANDARDCCDBLOADER_H_
1717
#define COMMON_TOOLS_STANDARDCCDBLOADER_H_
1818

19-
#include <string>
20-
#include <cstdlib>
21-
#include <cmath>
22-
#include <array>
19+
#include "CCDB/BasicCCDBManager.h"
20+
#include "DataFormatsCalibration/MeanVertexObject.h"
21+
#include "DataFormatsParameters/GRPMagField.h"
22+
#include "DetectorsBase/GeometryManager.h"
23+
#include "DetectorsBase/Propagator.h"
2324
#include "Framework/AnalysisDataModel.h"
2425

26+
#include <array>
27+
#include <cmath>
28+
#include <cstdlib>
29+
#include <string>
30+
2531
//__________________________________________
2632
// Standard class to load stuff
2733
// such as matLUT, B and mean Vertex

Common/Tools/TrackPropagationModule.h

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,22 @@
1616
#ifndef COMMON_TOOLS_TRACKPROPAGATIONMODULE_H_
1717
#define COMMON_TOOLS_TRACKPROPAGATIONMODULE_H_
1818

19-
#include <memory>
20-
#include <cstdlib>
21-
#include <cmath>
22-
#include <array>
23-
#include <string>
19+
#include "TableHelper.h"
20+
21+
#include "Common/Tools/TrackTuner.h"
22+
23+
#include "DataFormatsCalibration/MeanVertexObject.h"
24+
#include "DataFormatsParameters/GRPMagField.h"
25+
#include "DetectorsBase/Propagator.h"
2426
#include "Framework/AnalysisDataModel.h"
2527
#include "Framework/Configurable.h"
2628
#include "Framework/HistogramSpec.h"
27-
#include "Common/Tools/TrackTuner.h"
28-
#include "TableHelper.h"
29+
30+
#include <array>
31+
#include <cmath>
32+
#include <cstdlib>
33+
#include <memory>
34+
#include <string>
2935

3036
//__________________________________________
3137
// track propagation module
@@ -81,7 +87,6 @@ class TrackPropagationModule
8187

8288
// pointers to objs needed for operation
8389
std::shared_ptr<TH1> trackTunedTracks;
84-
TrackTuner trackTunerObj;
8590

8691
// Running variables
8792
std::array<float, 2> mDcaInfo;
@@ -91,7 +96,7 @@ class TrackPropagationModule
9196
o2::track::TrackParametrizationWithError<float> mTrackParCov;
9297

9398
template <typename TConfigurableGroup, typename TInitContext, typename THistoRegistry>
94-
void init(TConfigurableGroup const& cGroup, THistoRegistry& registry, TInitContext& initContext)
99+
void init(TConfigurableGroup const& cGroup, TrackTuner& trackTunerObj, THistoRegistry& registry, TInitContext& initContext)
95100
{
96101
// Checking if the tables are requested in the workflow and enabling them
97102
fillTracks = isTableRequiredInWorkflow(initContext, "Tracks");
@@ -154,7 +159,7 @@ class TrackPropagationModule
154159
}
155160

156161
template <bool isMc, typename TConfigurableGroup, typename TCCDBLoader, typename TCollisions, typename TTracks, typename TOutputGroup, typename THistoRegistry>
157-
void fillTrackTables(TConfigurableGroup const& cGroup, TCCDBLoader const& ccdbLoader, TCollisions const& collisions, TTracks const& tracks, TOutputGroup& cursors, THistoRegistry& registry)
162+
void fillTrackTables(TConfigurableGroup const& cGroup, TrackTuner& trackTunerObj, TCCDBLoader const& ccdbLoader, TCollisions const& collisions, TTracks const& tracks, TOutputGroup& cursors, THistoRegistry& registry)
158163
{
159164
if (!fillTracks) {
160165
return; // suppress everything

PWGLF/TableProducer/Strangeness/propagationService.cxx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "Common/DataModel/TrackSelectionTables.h"
3232
#include "Common/Tools/StandardCCDBLoader.h"
3333
#include "Common/Tools/TrackPropagationModule.h"
34+
#include "Common/Tools/TrackTuner.h"
3435

3536
#include "CCDB/BasicCCDBManager.h"
3637
#include "CCDB/CcdbApi.h"
@@ -46,6 +47,8 @@
4647
#include "Framework/runDataProcessing.h"
4748
#include "ReconstructionDataFormats/DCA.h"
4849

50+
#include <string>
51+
4952
using namespace o2;
5053
using namespace o2::framework;
5154
// using namespace o2::framework::expressions;
@@ -81,6 +84,9 @@ struct propagationService {
8184
o2::pwglf::strangenessbuilder::preSelectOpts preSelectOpts;
8285
o2::pwglf::strangenessbuilder::BuilderModule strangenessBuilderModule;
8386

87+
// the track tuner object -> needs to be here as it inherits from ConfigurableGroup (+ has its own copy of ccdbApi)
88+
TrackTuner trackTunerObj;
89+
8490
// track propagation
8591
o2::common::TrackPropagationProducts trackPropagationProducts;
8692
o2::common::TrackPropagationConfigurables trackPropagationConfigurables;
@@ -97,21 +103,21 @@ struct propagationService {
97103
ccdb->setURL(ccdburl.value);
98104

99105
// task-specific
100-
trackPropagation.init(trackPropagationConfigurables, histos, initContext);
106+
trackPropagation.init(trackPropagationConfigurables, trackTunerObj, histos, initContext);
101107
strangenessBuilderModule.init(baseOpts, v0BuilderOpts, cascadeBuilderOpts, preSelectOpts, histos, initContext);
102108
}
103109

104110
void processRealData(soa::Join<aod::Collisions, aod::EvSels> const& collisions, aod::V0s const& v0s, aod::Cascades const& cascades, aod::TrackedCascades const& trackedCascades, FullTracksExtIU const& tracks, aod::BCsWithTimestamps const& bcs)
105111
{
106112
ccdbLoader.initCCDBfromBCs(standardCCDBLoaderConfigurables, ccdb, bcs);
107-
trackPropagation.fillTrackTables<false>(trackPropagationConfigurables, ccdbLoader, collisions, tracks, trackPropagationProducts, histos);
113+
trackPropagation.fillTrackTables<false>(trackPropagationConfigurables, trackTunerObj, ccdbLoader, collisions, tracks, trackPropagationProducts, histos);
108114
strangenessBuilderModule.dataProcess(ccdb, histos, collisions, static_cast<TObject*>(nullptr), v0s, cascades, trackedCascades, tracks, bcs, static_cast<TObject*>(nullptr), products);
109115
}
110116

111117
void processMonteCarlo(soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels> 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)
112118
{
113119
ccdbLoader.initCCDBfromBCs(standardCCDBLoaderConfigurables, ccdb, bcs);
114-
trackPropagation.fillTrackTables<true>(trackPropagationConfigurables, ccdbLoader, collisions, tracks, trackPropagationProducts, histos);
120+
trackPropagation.fillTrackTables<true>(trackPropagationConfigurables, trackTunerObj, ccdbLoader, collisions, tracks, trackPropagationProducts, histos);
115121
strangenessBuilderModule.dataProcess(ccdb, histos, collisions, mccollisions, v0s, cascades, trackedCascades, tracks, bcs, mcParticles, products);
116122
}
117123

0 commit comments

Comments
 (0)