Skip to content

Commit 823dc13

Browse files
committed
Add additional cent estimators
1 parent 8fb6e00 commit 823dc13

File tree

2 files changed

+79
-12
lines changed

2 files changed

+79
-12
lines changed

PWGCF/GenericFramework/Tasks/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ o2physics_add_dpl_workflow(flow-generic-framework
1515
COMPONENT_NAME Analysis)
1616

1717
o2physics_add_dpl_workflow(flow-gfw-light-ions
18-
SOURCES flowGFWLightIons.cxx
18+
SOURCES flowGfwLightIons.cxx
1919
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::GFWCore
2020
COMPONENT_NAME Analysis)

PWGCF/GenericFramework/Tasks/flowGFWLightIons.cxx renamed to PWGCF/GenericFramework/Tasks/flowGfwLightIons.cxx

Lines changed: 78 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,9 @@ struct FlowGfwLightIons {
165165
kCentFT0CVariant1,
166166
kCentFT0M,
167167
kCentFV0A,
168-
kCentNTPV
168+
kCentNTPV,
169+
kCentNGlobal,
170+
kCentMFT
169171
};
170172

171173
// Define global variables
@@ -212,7 +214,7 @@ struct FlowGfwLightIons {
212214

213215
void init(InitContext const&)
214216
{
215-
LOGF(info, "flowGFWLightIons::init()");
217+
LOGF(info, "flowGfwLightIons::init()");
216218
o2::analysis::gfw::regions.SetNames(cfgRegions->GetNames());
217219
o2::analysis::gfw::regions.SetEtaMin(cfgRegions->GetEtaMin());
218220
o2::analysis::gfw::regions.SetEtaMax(cfgRegions->GetEtaMax());
@@ -265,8 +267,15 @@ struct FlowGfwLightIons {
265267
case kCentNTPV:
266268
sCentralityEstimator = "NTPV";
267269
break;
270+
case kCentNGlobal:
271+
sCentralityEstimator = "NGlobals";
272+
break;
273+
case kCentMFT:
274+
sCentralityEstimator = "MFT";
275+
break;
268276
default:
269277
sCentralityEstimator = "FT0C";
278+
break;
270279
}
271280
sCentralityEstimator += " centrality (%)";
272281
AxisSpec centAxis = {o2::analysis::gfw::centbinning, sCentralityEstimator.c_str()};
@@ -296,7 +305,7 @@ struct FlowGfwLightIons {
296305
fPtAxis = new TAxis(ptbins, &o2::analysis::gfw::ptbinning[0]);
297306

298307
if (doprocessMCGen || doprocessMCGenNoCent || doprocessOnTheFly) {
299-
registry.add("MCGen/trackQA/nch_pt", "#it{p}_{T} vs multiplicity; N_{ch}; #it{p}_{T}", {HistType::kTH2D, {nchAxis, {100, o2::analysis::gfw::ptpoilow, o2::analysis::gfw::ptpoiup}}});
308+
registry.add("MCGen/trackQA/nch_pt", "#it{p}_{T} vs multiplicity; N_{ch}; #it{p}_{T}", {HistType::kTH2D, {nchAxis, ptAxis}});
300309
registry.add("MCGen/trackQA/phi_eta_vtxZ", "", {HistType::kTH3D, {phiAxis, etaAxis, vtxAxis}});
301310
registry.add("MCGen/trackQA/pt_ref", "Reference #it{p}_{T}; #it{p}_{T}; Counts", {HistType::kTH1D, {{100, o2::analysis::gfw::ptreflow, o2::analysis::gfw::ptrefup}}});
302311
registry.add("MCGen/trackQA/pt_poi", "POI #it{p}_{T}; #it{p}_{T}; Counts", {HistType::kTH1D, {{100, o2::analysis::gfw::ptpoilow, o2::analysis::gfw::ptpoiup}}});
@@ -310,7 +319,7 @@ struct FlowGfwLightIons {
310319
if (doprocessMCReco || doprocessData || doprocessDataNoCent || doprocessMCRecoNoCent) {
311320
registry.add("trackQA/before/phi_eta_vtxZ", "", {HistType::kTH3D, {phiAxis, etaAxis, vtxAxis}});
312321
registry.add("trackQA/before/pt_dcaXY_dcaZ", "", {HistType::kTH3D, {ptAxis, dcaXYAXis, dcaZAXis}});
313-
registry.add("trackQA/before/nch_pt", "#it{p}_{T} vs multiplicity; N_{ch}; #it{p}_{T}", {HistType::kTH2D, {nchAxis, {100, o2::analysis::gfw::ptpoilow, o2::analysis::gfw::ptpoiup}}});
322+
registry.add("trackQA/before/nch_pt", "#it{p}_{T} vs multiplicity; N_{ch}; #it{p}_{T}", {HistType::kTH2D, {nchAxis, ptAxis}});
314323
registry.add("trackQA/before/chi2prTPCcls", "#chi^{2}/cluster for the TPC track segment; #chi^{2}/TPC cluster", {HistType::kTH1D, {{100, 0., 5.}}});
315324
registry.add("trackQA/before/chi2prITScls", "#chi^{2}/cluster for the ITS track; #chi^{2}/ITS cluster", {HistType::kTH1D, {{100, 0., 50.}}});
316325
registry.add("trackQA/before/nTPCClusters", "Number of found TPC clusters; TPC N_{cls}; Counts", {HistType::kTH1D, {{100, 40, 180}}});
@@ -770,10 +779,10 @@ struct FlowGfwLightIons {
770779
return;
771780

772781
if (cfgFillWeights) {
773-
fillWeights(mcParticle, vtxz, run);
782+
fillWeights(track, vtxz, run);
774783
} else {
775784
fillPtSums<kReco>(track);
776-
fillGFW<kReco>(mcParticle, vtxz, densitycorrections);
785+
fillGFW<kReco>(track, vtxz, densitycorrections);
777786
}
778787

779788
if (cfgFillQA) {
@@ -905,7 +914,7 @@ struct FlowGfwLightIons {
905914
return;
906915
}
907916

908-
void processData(soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms, aod::CentFV0As, aod::CentNTPVs>>::iterator const& collision, aod::BCsWithTimestamps const&, GFWTracks const& tracks)
917+
void processData(soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms, aod::CentFV0As, aod::CentNTPVs, aod::CentNGlobals, aod::CentMFTs>>::iterator const& collision, aod::BCsWithTimestamps const&, GFWTracks const& tracks)
909918
{
910919
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
911920
int run = bc.runNumber();
@@ -959,8 +968,15 @@ struct FlowGfwLightIons {
959968
case kCentNTPV:
960969
centrality = collision.centNTPV();
961970
break;
971+
case kCentNGlobal:
972+
centrality = collision.centNGlobal();
973+
break;
974+
case kCentMFT:
975+
centrality = collision.centMFT();
976+
break;
962977
default:
963978
centrality = collision.centFT0C();
979+
break;
964980
}
965981
if (cfgFillQA)
966982
fillEventQA<kBefore>(collision, tracks);
@@ -1025,7 +1041,7 @@ struct FlowGfwLightIons {
10251041
}
10261042
PROCESS_SWITCH(FlowGfwLightIons, processDataNoCent, "Process analysis for non-derived data without centrality", true);
10271043

1028-
void processMCReco(soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms, aod::CentFV0As, aod::CentNTPVs>>::iterator const& collision, aod::BCsWithTimestamps const&, soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection, aod::TracksDCA, aod::McTrackLabels>> const& tracks, aod::McParticles const&)
1044+
void processMCReco(soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms, aod::CentFV0As, aod::CentNTPVs, aod::CentNGlobals, aod::CentMFTs>>::iterator const& collision, aod::BCsWithTimestamps const&, soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection, aod::TracksDCA, aod::McTrackLabels>> const& tracks, aod::McParticles const&)
10291045
{
10301046
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
10311047
int run = bc.runNumber();
@@ -1036,7 +1052,33 @@ struct FlowGfwLightIons {
10361052
}
10371053
if (!collision.sel8())
10381054
return;
1039-
const auto centrality = collision.centFT0C();
1055+
float centrality;
1056+
switch (cfgCentEstimator) {
1057+
case kCentFT0C:
1058+
centrality = collision.centFT0C();
1059+
break;
1060+
case kCentFT0CVariant1:
1061+
centrality = collision.centFT0CVariant1();
1062+
break;
1063+
case kCentFT0M:
1064+
centrality = collision.centFT0M();
1065+
break;
1066+
case kCentFV0A:
1067+
centrality = collision.centFV0A();
1068+
break;
1069+
case kCentNTPV:
1070+
centrality = collision.centNTPV();
1071+
break;
1072+
case kCentNGlobal:
1073+
centrality = collision.centNGlobal();
1074+
break;
1075+
case kCentMFT:
1076+
centrality = collision.centMFT();
1077+
break;
1078+
default:
1079+
centrality = collision.centFT0C();
1080+
break;
1081+
}
10401082
if (cfgFillQA)
10411083
fillEventQA<kBefore>(collision, tracks);
10421084
registry.fill(HIST("eventQA/before/centrality"), centrality);
@@ -1142,13 +1184,38 @@ struct FlowGfwLightIons {
11421184
}
11431185
PROCESS_SWITCH(FlowGfwLightIons, processMCRecoNoCent, "Process analysis for MC reconstructed events without centrality/mult table", false);
11441186

1145-
void processMCGen(soa::Filtered<aod::McCollisions>::iterator const& mcCollision, soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::CentFT0Cs>> const& collisions, aod::McParticles const& particles, GFWTracks const& tracks)
1187+
void processMCGen(soa::Filtered<aod::McCollisions>::iterator const& mcCollision, soa::SmallGroups<soa::Join<aod::McCollisionLabels, aod::Collisions, aod::CentFT0Cs, aod::CentFT0CVariant1s, aod::CentFT0Ms, aod::CentFV0As, aod::CentNTPVs, aod::CentNGlobals, aod::CentMFTs>> const& collisions, aod::McParticles const& particles, GFWTracks const& tracks)
11461188
{
11471189
if (collisions.size() != 1)
11481190
return;
11491191
float centrality = -1;
11501192
for (const auto& collision : collisions) {
1151-
centrality = collision.centFT0C();
1193+
switch (cfgCentEstimator) {
1194+
case kCentFT0C:
1195+
centrality = collision.centFT0C();
1196+
break;
1197+
case kCentFT0CVariant1:
1198+
centrality = collision.centFT0CVariant1();
1199+
break;
1200+
case kCentFT0M:
1201+
centrality = collision.centFT0M();
1202+
break;
1203+
case kCentFV0A:
1204+
centrality = collision.centFV0A();
1205+
break;
1206+
case kCentNTPV:
1207+
centrality = collision.centNTPV();
1208+
break;
1209+
case kCentNGlobal:
1210+
centrality = collision.centNGlobal();
1211+
break;
1212+
case kCentMFT:
1213+
centrality = collision.centMFT();
1214+
break;
1215+
default:
1216+
centrality = collision.centFT0C();
1217+
break;
1218+
}
11521219
}
11531220
std::vector<int> numberOfTracks;
11541221
for (auto const& collision : collisions) {

0 commit comments

Comments
 (0)