Skip to content

Commit c58894f

Browse files
committed
Feat: general clean ups
1 parent e579b1d commit c58894f

14 files changed

+695
-471
lines changed

PWGCF/Femto/Core/closePairRejection.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
#include "RecoDecay.h"
2020

21-
#include "PWGCF/Femto/Core/femtoUtils.h"
2221
#include "PWGCF/Femto/Core/histManager.h"
2322

2423
#include "Framework/Configurable.h"

PWGCF/Femto/Core/pairBuilder.h

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -965,6 +965,19 @@ class PairTrackCascadeBuilder
965965
pairprocesshelpers::processSameEvent<mode>(trackSlice, v0Slice, trackTable, col, mTrackHistManager, mCascadeHistManager, mPairHistManagerSe, mCprSe, mPc);
966966
}
967967

968+
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
969+
void processSameEvent(T1 const& col, T2 const& mcCols, T3 const& trackTable, T4& trackPartition, T5 const& /*cascadeTabel*/, T6& cascadePartition, T7 const& mcParticles, T8 const& mcMothers, T9 const& mcPartonicMothers, T10& cache)
970+
{
971+
auto trackSlice = trackPartition->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
972+
auto cascadeSlice = cascadePartition->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
973+
if (trackSlice.size() == 0 || cascadeSlice.size() == 0) {
974+
return;
975+
}
976+
mColHistManager.template fill<mode>(col, mcCols);
977+
mCprSe.setMagField(col.magField());
978+
pairprocesshelpers::processSameEvent<mode>(trackSlice, cascadeSlice, trackTable, mcParticles, mcMothers, mcPartonicMothers, col, mcCols, mTrackHistManager, mCascadeHistManager, mPairHistManagerSe, mTrackCleaner, mCascadeCleaner, mCprSe, mPc);
979+
}
980+
968981
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
969982
void processMixedEvent(T1 const& cols, T2& trackTable, T3& trackPartition, T4& v0Partition, T5& cache, T6& binsVtxMult, T7& binsVtxCent, T8& binsVtxMultCent)
970983
{
@@ -983,6 +996,24 @@ class PairTrackCascadeBuilder
983996
}
984997
}
985998

999+
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12>
1000+
void processMixedEvent(T1 const& cols, T2 const& mcCols, T3& trackTable, T4& trackPartition, T5& cascadePartition, T6 const& mcParticles, T7 const& mcMothers, T8 const& mcPartonicMothers, T9& cache, T10& binsVtxMult, T11& binsVtxCent, T12& binsVtxMultCent)
1001+
{
1002+
switch (mMixingPolicy) {
1003+
case static_cast<int>(pairhistmanager::kVtxMult):
1004+
pairprocesshelpers::processMixedEvent<mode>(cols, mcCols, trackPartition, cascadePartition, trackTable, mcParticles, mcMothers, mcPartonicMothers, cache, binsVtxMult, mMixingDepth, mPairHistManagerMe, mTrackCleaner, mCascadeCleaner, mCprMe, mPc);
1005+
break;
1006+
case static_cast<int>(pairhistmanager::kVtxCent):
1007+
pairprocesshelpers::processMixedEvent<mode>(cols, mcCols, trackPartition, cascadePartition, trackTable, mcParticles, mcMothers, mcPartonicMothers, cache, binsVtxCent, mMixingDepth, mPairHistManagerMe, mTrackCleaner, mCascadeCleaner, mCprMe, mPc);
1008+
break;
1009+
case static_cast<int>(pairhistmanager::kVtxMultCent):
1010+
pairprocesshelpers::processMixedEvent<mode>(cols, mcCols, trackPartition, cascadePartition, trackTable, mcParticles, mcMothers, mcPartonicMothers, cache, binsVtxMultCent, mMixingDepth, mPairHistManagerMe, mTrackCleaner, mCascadeCleaner, mCprMe, mPc);
1011+
break;
1012+
default:
1013+
LOG(fatal) << "Invalid binning policiy specifed. Breaking...";
1014+
}
1015+
}
1016+
9861017
private:
9871018
colhistmanager::CollisionHistManager mColHistManager;
9881019
trackhistmanager::TrackHistManager<prefixTrack> mTrackHistManager;

PWGCF/Femto/Core/pairCleaner.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,23 @@ class TrackCascadePairCleaner : public BasePairCleaner
197197
auto negDaughter = trackTable.rawIteratorAt(cascade.negDauId() - trackTable.offset());
198198
return (this->isCleanTrackPair(bachelor, track) && this->isCleanTrackPair(posDaughter, track) && this->isCleanTrackPair(negDaughter, track));
199199
}
200+
201+
template <typename T1, typename T2, typename T3, typename T4>
202+
bool isCleanPair(T1 const& track1, T2 const& cascade, T3 const& trackTable, T4 const& partonicMothers) const
203+
{
204+
if (!this->isCleanPair(track1, cascade, trackTable)) {
205+
return false;
206+
}
207+
// pair is clean
208+
// now check if we require common or non-common ancestry
209+
if (mMixPairsWithCommonAncestor) {
210+
return this->pairHasCommonAncestor(track1, cascade, partonicMothers);
211+
}
212+
if (mMixPairsWithNonCommonAncestor) {
213+
return this->pairHasNonCommonAncestor(track1, cascade, partonicMothers);
214+
}
215+
return true;
216+
}
200217
};
201218
} // namespace paircleaner
202219
} // namespace o2::analysis::femto

PWGCF/Femto/Core/partitions.h

Lines changed: 107 additions & 107 deletions
Large diffs are not rendered by default.

PWGCF/Femto/TableProducer/femtoProducerDerivedToDerived.cxx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@
2727
#include "Framework/InitContext.h"
2828
#include "Framework/runDataProcessing.h"
2929

30-
#include <cstdint>
3130
#include <string>
32-
#include <unordered_map>
3331

3432
using namespace o2::aod;
3533
using namespace o2::soa;

PWGCF/Femto/Tasks/femtoCascadeQa.cxx

Lines changed: 49 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -33,38 +33,31 @@
3333
#include "Framework/OutputObjHeader.h"
3434
#include "Framework/runDataProcessing.h"
3535

36-
#include <map>
37-
#include <string>
38-
#include <vector>
39-
40-
using namespace o2::aod;
41-
using namespace o2::framework;
42-
using namespace o2::framework::expressions;
4336
using namespace o2::analysis::femto;
4437

4538
struct FemtoCascadeQa {
4639

47-
using FemtoCollisions = o2::soa::Join<FCols, FColMasks, FColPos, FColSphericities, FColMults>;
40+
using FemtoCollisions = o2::soa::Join<o2::aod::FCols, o2::aod::FColMasks, o2::aod::FColPos, o2::aod::FColSphericities, o2::aod::FColMults>;
4841
using FilteredFemtoCollisions = o2::soa::Filtered<FemtoCollisions>;
4942
using FilteredFemtoCollision = FilteredFemtoCollisions::iterator;
5043

51-
using FemtoCollisionsWithLabel = o2::soa::Join<FemtoCollisions, FColLabels>;
44+
using FemtoCollisionsWithLabel = o2::soa::Join<FemtoCollisions, o2::aod::FColLabels>;
5245
using FilteredFemtoCollisionsWithLabel = o2::soa::Filtered<FemtoCollisionsWithLabel>;
5346
using FilteredFemtoCollisionWithLabel = FilteredFemtoCollisionsWithLabel::iterator;
5447

55-
using FemtoXis = o2::soa::Join<FXis, FXiMasks, FXiExtras>;
56-
using FemtoOmegas = o2::soa::Join<FOmegas, FOmegaMasks, FOmegaExtras>;
57-
using FemtoTracks = o2::soa::Join<FTracks, FTrackDcas, FTrackExtras, FTrackPids>;
48+
using FemtoXis = o2::soa::Join<o2::aod::FXis, o2::aod::FXiMasks, o2::aod::FXiExtras>;
49+
using FemtoOmegas = o2::soa::Join<o2::aod::FOmegas, o2::aod::FOmegaMasks, o2::aod::FOmegaExtras>;
50+
using FemtoTracks = o2::soa::Join<o2::aod::FTracks, o2::aod::FTrackDcas, o2::aod::FTrackExtras, o2::aod::FTrackPids>;
5851

59-
using FemtoXisWithLabel = o2::soa::Join<FemtoXis, FXiLabels>;
60-
using FemtoOmegasWithLabel = o2::soa::Join<FemtoOmegas, FOmegaLabels>;
61-
using FemtoTracksWithLabel = o2::soa::Join<FemtoTracks, FTrackLabels>;
52+
using FemtoXisWithLabel = o2::soa::Join<FemtoXis, o2::aod::FXiLabels>;
53+
using FemtoOmegasWithLabel = o2::soa::Join<FemtoOmegas, o2::aod::FOmegaLabels>;
54+
using FemtoTracksWithLabel = o2::soa::Join<FemtoTracks, o2::aod::FTrackLabels>;
6255

63-
SliceCache cache;
56+
o2::framework::SliceCache cache;
6457

6558
// setup collisions
6659
collisionbuilder::ConfCollisionSelection collisionSelection;
67-
Filter collisionFilter = MAKE_COLLISION_FILTER(collisionSelection);
60+
o2::framework::expressions::Filter collisionFilter = MAKE_COLLISION_FILTER(collisionSelection);
6861
colhistmanager::CollisionHistManager colHistManager;
6962
colhistmanager::ConfCollisionBinning confCollisionBinning;
7063
colhistmanager::ConfCollisionQaBinning confCollisionQaBinning;
@@ -75,11 +68,11 @@ struct FemtoCascadeQa {
7568
particlecleaner::ConfXiCleaner1 confXiCleaner;
7669
particlecleaner::ParticleCleaner xiCleaner;
7770

78-
Partition<FemtoXis> xiPartition = MAKE_CASCADE_PARTITION(confXiSelection);
79-
Preslice<FemtoXis> preColXis = femtobase::stored::fColId;
71+
o2::framework::Partition<FemtoXis> xiPartition = MAKE_CASCADE_PARTITION(confXiSelection);
72+
o2::framework::Preslice<FemtoXis> preColXis = o2::aod::femtobase::stored::fColId;
8073

81-
Partition<FemtoXisWithLabel> xiWithLabelPartition = MAKE_CASCADE_PARTITION(confXiSelection);
82-
Preslice<FemtoXisWithLabel> perColXisWithLabel = femtobase::stored::fColId;
74+
o2::framework::Partition<FemtoXisWithLabel> xiWithLabelPartition = MAKE_CASCADE_PARTITION(confXiSelection);
75+
o2::framework::Preslice<FemtoXisWithLabel> perColXisWithLabel = o2::aod::femtobase::stored::fColId;
8376

8477
cascadehistmanager::ConfXiBinning confXiBinning;
8578
cascadehistmanager::ConfXiQaBinning confXiQaBinning;
@@ -97,11 +90,11 @@ struct FemtoCascadeQa {
9790
particlecleaner::ConfOmegaCleaner1 confOmegaCleaner;
9891
particlecleaner::ParticleCleaner omegaCleaner;
9992

100-
Partition<FemtoOmegas> omegaPartition = MAKE_CASCADE_PARTITION(confOmegaSelection);
101-
Preslice<FemtoOmegas> preColOmegas = femtobase::stored::fColId;
93+
o2::framework::Partition<FemtoOmegas> omegaPartition = MAKE_CASCADE_PARTITION(confOmegaSelection);
94+
o2::framework::Preslice<FemtoOmegas> preColOmegas = o2::aod::femtobase::stored::fColId;
10295

103-
Partition<FemtoOmegasWithLabel> omegaWithLabelPartition = MAKE_CASCADE_PARTITION(confOmegaSelection);
104-
Preslice<FemtoOmegasWithLabel> perColOmegasWithLabel = femtobase::stored::fColId;
96+
o2::framework::Partition<FemtoOmegasWithLabel> omegaWithLabelPartition = MAKE_CASCADE_PARTITION(confOmegaSelection);
97+
o2::framework::Preslice<FemtoOmegasWithLabel> perColOmegasWithLabel = o2::aod::femtobase::stored::fColId;
10598

10699
cascadehistmanager::ConfOmegaBinning confOmegaBinning;
107100
cascadehistmanager::ConfOmegaQaBinning confOmegaQaBinning;
@@ -121,42 +114,51 @@ struct FemtoCascadeQa {
121114
trackhistmanager::ConfCascadeBachelorBinning confBachelorBinning;
122115
trackhistmanager::ConfCascadeBachelorQaBinning confBachelorQaBinning;
123116

124-
HistogramRegistry hRegistry{"FemtoCascadeQA", {}, OutputObjHandlingPolicy::AnalysisObject};
117+
o2::framework::HistogramRegistry hRegistry{"FemtoCascadeQA", {}, o2::framework::OutputObjHandlingPolicy::AnalysisObject};
125118

126-
void init(InitContext&)
119+
void init(o2::framework::InitContext&)
127120
{
128121
if ((doprocessXi + doprocessXiMc + doprocessOmega + doprocessOmegaMc) > 1) {
129122
LOG(fatal) << "Only one process can be activated";
130123
}
131124
bool processData = doprocessXi || doprocessOmega;
125+
132126
xiCleaner.init(confXiCleaner);
133127
omegaCleaner.init(confOmegaCleaner);
128+
129+
std::map<colhistmanager::ColHist, std::vector<o2::framework::AxisSpec>> colHistSpec;
130+
std::map<trackhistmanager::TrackHist, std::vector<o2::framework::AxisSpec>> bachelorHistSpec;
131+
std::map<trackhistmanager::TrackHist, std::vector<o2::framework::AxisSpec>> posDaughterHistSpec;
132+
std::map<trackhistmanager::TrackHist, std::vector<o2::framework::AxisSpec>> negDaughterHistSpec;
133+
std::map<cascadehistmanager::CascadeHist, std::vector<o2::framework::AxisSpec>> xiHistSpec;
134+
std::map<cascadehistmanager::CascadeHist, std::vector<o2::framework::AxisSpec>> omegaHistSpec;
135+
134136
if (processData) {
135-
auto colHistSpec = colhistmanager::makeColQaHistSpecMap(confCollisionBinning, confCollisionQaBinning);
137+
colHistSpec = colhistmanager::makeColQaHistSpecMap(confCollisionBinning, confCollisionQaBinning);
136138
colHistManager.init<modes::Mode::kAnalysis_Qa>(&hRegistry, colHistSpec, confCollisionQaBinning);
137-
auto bachelorHistSpec = trackhistmanager::makeTrackQaHistSpecMap(confBachelorBinning, confBachelorQaBinning);
138-
auto posDaughterHistSpec = trackhistmanager::makeTrackQaHistSpecMap(confPosDaughterBinning, confPosDaughterQaBinning);
139-
auto negDaughterHistSpec = trackhistmanager::makeTrackQaHistSpecMap(confNegDaughterBinning, confNegDaughterQaBinning);
139+
bachelorHistSpec = trackhistmanager::makeTrackQaHistSpecMap(confBachelorBinning, confBachelorQaBinning);
140+
posDaughterHistSpec = trackhistmanager::makeTrackQaHistSpecMap(confPosDaughterBinning, confPosDaughterQaBinning);
141+
negDaughterHistSpec = trackhistmanager::makeTrackQaHistSpecMap(confNegDaughterBinning, confNegDaughterQaBinning);
140142
if (doprocessXi) {
141-
auto xiHistSpec = cascadehistmanager::makeCascadeQaHistSpecMap(confXiBinning, confXiQaBinning);
143+
xiHistSpec = cascadehistmanager::makeCascadeQaHistSpecMap(confXiBinning, confXiQaBinning);
142144
xiHistManager.init<modes::Mode::kAnalysis_Qa>(&hRegistry, xiHistSpec, confXiSelection, confXiQaBinning, bachelorHistSpec, confBachelorQaBinning, posDaughterHistSpec, confPosDaughterQaBinning, negDaughterHistSpec, confNegDaughterQaBinning);
143145
}
144146
if (doprocessOmega) {
145-
auto omegaHistSpec = cascadehistmanager::makeCascadeQaHistSpecMap(confOmegaBinning, confOmegaQaBinning);
147+
omegaHistSpec = cascadehistmanager::makeCascadeQaHistSpecMap(confOmegaBinning, confOmegaQaBinning);
146148
omegaHistManager.init<modes::Mode::kAnalysis_Qa>(&hRegistry, omegaHistSpec, confOmegaSelection, confOmegaQaBinning, bachelorHistSpec, confBachelorQaBinning, posDaughterHistSpec, confPosDaughterQaBinning, negDaughterHistSpec, confNegDaughterQaBinning);
147149
}
148150
} else {
149-
auto colHistSpec = colhistmanager::makeColMcQaHistSpecMap(confCollisionBinning, confCollisionQaBinning);
151+
colHistSpec = colhistmanager::makeColMcQaHistSpecMap(confCollisionBinning, confCollisionQaBinning);
150152
colHistManager.init<modes::Mode::kAnalysis_Qa_Mc>(&hRegistry, colHistSpec, confCollisionQaBinning);
151-
auto bachelorHistSpec = trackhistmanager::makeTrackMcQaHistSpecMap(confBachelorBinning, confBachelorQaBinning);
152-
auto posDaughterHistSpec = trackhistmanager::makeTrackMcQaHistSpecMap(confPosDaughterBinning, confPosDaughterQaBinning);
153-
auto negDaughterHistSpec = trackhistmanager::makeTrackMcQaHistSpecMap(confNegDaughterBinning, confNegDaughterQaBinning);
153+
bachelorHistSpec = trackhistmanager::makeTrackMcQaHistSpecMap(confBachelorBinning, confBachelorQaBinning);
154+
posDaughterHistSpec = trackhistmanager::makeTrackMcQaHistSpecMap(confPosDaughterBinning, confPosDaughterQaBinning);
155+
negDaughterHistSpec = trackhistmanager::makeTrackMcQaHistSpecMap(confNegDaughterBinning, confNegDaughterQaBinning);
154156
if (doprocessXiMc) {
155-
auto xiHistSpec = cascadehistmanager::makeCascadeMcQaHistSpecMap(confXiBinning, confXiQaBinning);
157+
xiHistSpec = cascadehistmanager::makeCascadeMcQaHistSpecMap(confXiBinning, confXiQaBinning);
156158
xiHistManager.init<modes::Mode::kAnalysis_Qa_Mc>(&hRegistry, xiHistSpec, confXiSelection, confXiQaBinning, bachelorHistSpec, confBachelorQaBinning, posDaughterHistSpec, confPosDaughterQaBinning, negDaughterHistSpec, confNegDaughterQaBinning);
157159
}
158160
if (doprocessOmegaMc) {
159-
auto omegaHistSpec = cascadehistmanager::makeCascadeMcQaHistSpecMap(confOmegaBinning, confOmegaQaBinning);
161+
omegaHistSpec = cascadehistmanager::makeCascadeMcQaHistSpecMap(confOmegaBinning, confOmegaQaBinning);
160162
omegaHistManager.init<modes::Mode::kAnalysis_Qa_Mc>(&hRegistry, omegaHistSpec, confOmegaSelection, confOmegaQaBinning, bachelorHistSpec, confBachelorQaBinning, posDaughterHistSpec, confPosDaughterQaBinning, negDaughterHistSpec, confNegDaughterQaBinning);
161163
}
162164
}
@@ -166,17 +168,17 @@ struct FemtoCascadeQa {
166168
void processXi(FilteredFemtoCollision const& col, FemtoXis const& /*xis*/, FemtoTracks const& tracks)
167169
{
168170
colHistManager.fill<modes::Mode::kAnalysis_Qa>(col);
169-
auto xiSlice = xiPartition->sliceByCached(femtobase::stored::fColId, col.globalIndex(), cache);
171+
auto xiSlice = xiPartition->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
170172
for (auto const& xi : xiSlice) {
171173
xiHistManager.fill<modes::Mode::kAnalysis_Qa>(xi, tracks);
172174
}
173175
}
174176
PROCESS_SWITCH(FemtoCascadeQa, processXi, "Process Xis", true);
175177

176-
void processXiMc(FilteredFemtoCollisionWithLabel const& col, FMcCols const& mcCols, FemtoTracksWithLabel const& tracks, FemtoXisWithLabel const& /*xis*/, FMcParticles const& mcParticles, FMcMothers const& mcMothers, FMcPartMoths const& mcPartonicMothers)
178+
void processXiMc(FilteredFemtoCollisionWithLabel const& col, o2::aod::FMcCols const& mcCols, FemtoTracksWithLabel const& tracks, FemtoXisWithLabel const& /*xis*/, o2::aod::FMcParticles const& mcParticles, o2::aod::FMcMothers const& mcMothers, o2::aod::FMcPartMoths const& mcPartonicMothers)
177179
{
178180
colHistManager.fill<modes::Mode::kAnalysis_Qa_Mc>(col, mcCols);
179-
auto xiSlice = xiWithLabelPartition->sliceByCached(femtobase::stored::fColId, col.globalIndex(), cache);
181+
auto xiSlice = xiWithLabelPartition->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
180182
for (auto const& xi : xiSlice) {
181183
if (!xiCleaner.isClean(xi, mcParticles, mcMothers, mcPartonicMothers)) {
182184
continue;
@@ -189,17 +191,17 @@ struct FemtoCascadeQa {
189191
void processOmega(FilteredFemtoCollision const& col, FemtoOmegas const& /*omegas*/, FemtoTracks const& tracks)
190192
{
191193
colHistManager.fill<modes::Mode::kAnalysis_Qa>(col);
192-
auto omegaSlice = omegaPartition->sliceByCached(femtobase::stored::fColId, col.globalIndex(), cache);
194+
auto omegaSlice = omegaPartition->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
193195
for (auto const& omega : omegaSlice) {
194196
omegaHistManager.fill<modes::Mode::kAnalysis_Qa>(omega, tracks);
195197
}
196198
}
197199
PROCESS_SWITCH(FemtoCascadeQa, processOmega, "Process Omegas", false);
198200

199-
void processOmegaMc(FilteredFemtoCollisionWithLabel const& col, FMcCols const& mcCols, FemtoTracksWithLabel const& tracks, FemtoOmegasWithLabel const& /*omegas*/, FMcParticles const& mcParticles, FMcMothers const& mcMothers, FMcPartMoths const& mcPartonicMothers)
201+
void processOmegaMc(FilteredFemtoCollisionWithLabel const& col, o2::aod::FMcCols const& mcCols, FemtoTracksWithLabel const& tracks, FemtoOmegasWithLabel const& /*omegas*/, o2::aod::FMcParticles const& mcParticles, o2::aod::FMcMothers const& mcMothers, o2::aod::FMcPartMoths const& mcPartonicMothers)
200202
{
201203
colHistManager.fill<modes::Mode::kAnalysis_Qa_Mc>(col, mcCols);
202-
auto omegaSlice = omegaWithLabelPartition->sliceByCached(femtobase::stored::fColId, col.globalIndex(), cache);
204+
auto omegaSlice = omegaWithLabelPartition->sliceByCached(o2::aod::femtobase::stored::fColId, col.globalIndex(), cache);
203205
for (auto const& omega : omegaSlice) {
204206
if (!omegaCleaner.isClean(omega, mcParticles, mcMothers, mcPartonicMothers)) {
205207
continue;
@@ -210,9 +212,9 @@ struct FemtoCascadeQa {
210212
PROCESS_SWITCH(FemtoCascadeQa, processOmegaMc, "Process Omegas with MC information", false);
211213
};
212214

213-
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
215+
o2::framework::WorkflowSpec defineDataProcessing(o2::framework::ConfigContext const& cfgc)
214216
{
215-
WorkflowSpec workflow{
217+
o2::framework::WorkflowSpec workflow{
216218
adaptAnalysisTask<FemtoCascadeQa>(cfgc),
217219
};
218220
return workflow;

0 commit comments

Comments
 (0)