@@ -76,11 +76,15 @@ using namespace o2::constants::math;
7676using std::array;
7777
7878// Define convenient aliases for joined AOD tables
79- using SelCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs>;
79+ using SelCollisions = soa::Join<aod::Collisions,
80+ aod::EvSels,
81+ aod::CentFT0Cs,
82+ aod::CentFT0Ms>;
8083using SimCollisions = soa::Join<aod::McCollisionLabels,
8184 aod::Collisions,
8285 aod::EvSels,
83- aod::CentFT0Cs>;
86+ aod::CentFT0Cs,
87+ aod::CentFT0Ms>;
8488using DaughterTracks = soa::Join<aod::Tracks, aod::TracksIU, aod::TracksExtra, aod::TracksCovIU, aod::TracksDCA,
8589 aod::pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullPr,
8690 aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullPr>;
@@ -118,11 +122,12 @@ struct StrangenessInJetsIons {
118122
119123 Configurable<std::vector<int >> particleOfInterest{" particleOfInterest" , {0 , 0 , 0 , 0 , 0 }, " Particles to study: [K0 and Lambda, Xi and Omega, Pion, Kaon, Proton]" };
120124 Configurable<double > minJetPt{" minJetPt" , 10.0 , " Minimum reconstructed pt of the jet (GeV/c)" };
121- Configurable<double > rJet{" rJet" , 0.3 , " Jet resolution parameter (R)" };
125+ Configurable<double > rJet{" rJet" , 0.4 , " Jet resolution parameter (R)" };
122126 Configurable<double > zVtx{" zVtx" , 10.0 , " Maximum z-vertex position" };
123127 Configurable<double > deltaEtaEdge{" deltaEtaEdge" , 0.05 , " eta gap from detector edge" };
124128 Configurable<bool > cfgSkimmedProcessing{" cfgSkimmedProcessing" , false , " Enable processing of skimmed data" };
125129 Configurable<std::string> triggerName{" triggerName" , " fOmega" , " Software trigger name" };
130+ Configurable<int > centrEstimator{" centrEstimator" , 0 , " Select centrality estimator. Options: 0 = FT0C, 1 = FT0M" };
126131
127132 // Event selection
128133 Configurable<bool > requireNoSameBunchPileup{" requireNoSameBunchPileup" , true , " Require kNoSameBunchPileup selection" };
@@ -178,6 +183,9 @@ struct StrangenessInJetsIons {
178183 Configurable<float > deltaMassOmega{" deltaMassOmega" , 0 .02f , " Mass window for Omega rejection" };
179184 Configurable<float > deltaMassLambda{" deltaMassLambda" , 0 .02f , " Mass window for Lambda inclusion" };
180185
186+ // Axes
187+ ConfigurableAxis multBinning{" multBinning" , {VARIABLE_WIDTH, 0 , 5 , 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 }, " Binning of the centrality axis" };
188+
181189 struct : ConfigurableGroup {
182190 ConfigurableAxis longLivedBinsNsigma{" longLivedBinsNsigma" , {200 , -10 .f , 10 .f }, " Binning of nSigma axis" };
183191 ConfigurableAxis longLivedBinsPt{" longLivedBinsPt" , {VARIABLE_WIDTH, -5.0 , -4.8 , -4.6 , -4.4 , -4.2 , -4.0 , -3.8 , -3.6 , -3.4 , -3.2 , -3.0 , -2.8 , -2.6 , -2.4 , -2.2 , -2.0 , -1.9 , -1.8 , -1.7 , -1.6 , -1.5 , -1.4 , -1.3 , -1.2 , -1.1 , -1.0 , -0.95 , -0.9 , -0.85 , -0.8 , -0.75 , -0.7 , -0.65 , -0.6 , -0.55 , -0.5 , -0.45 , -0.4 , -0.35 , -0.3 , -0.25 , -0.2 , -0.18 , -0.16 , -0.14 , -0.12 , -0.1 , 0.0 , 0.1 , 0.12 , 0.14 , 0.16 , 0.18 , 0.2 , 0.25 , 0.3 , 0.35 , 0.4 , 0.45 , 0.5 , 0.55 , 0.6 , 0.65 , 0.7 , 0.75 , 0.8 , 0.85 , 0.9 , 0.95 , 1.0 , 1.1 , 1.2 , 1.3 , 1.4 , 1.5 , 1.6 , 1.7 , 1.8 , 1.9 , 2.0 , 2.2 , 2.4 , 2.6 , 2.8 , 3.0 , 3.2 , 3.4 , 3.6 , 3.8 , 4.0 , 4.2 , 4.4 , 4.6 , 4.8 , 5.0 }, " Binning of the pT axis" };
@@ -203,8 +211,16 @@ struct StrangenessInJetsIons {
203211 }
204212
205213 // Define binning and axis specifications for multiplicity, eta, pT, PID, and invariant mass histograms
206- std::vector<double > multBinning = {0 , 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };
207- AxisSpec multAxis = {multBinning, " FT0C percentile" };
214+ std::string multAxTitle;
215+ if (centrEstimator == 0 ) {
216+ multAxTitle = " FT0C percentile" ;
217+ } else if (centrEstimator == 1 ) {
218+ multAxTitle = " FT0M percentile" ;
219+ } else {
220+ LOG (fatal) << " Centrality estimator " << centrEstimator << " not available. Exit." << endl;
221+ }
222+ AxisSpec multAxis = {multBinning, multAxTitle};
223+
208224 const AxisSpec ptAxis{100 , 0.0 , 10.0 , " #it{p}_{T} (GeV/#it{c})" };
209225 const AxisSpec invMassK0sAxis{200 , 0.44 , 0.56 , " m_{#pi#pi} (GeV/#it{c}^{2})" };
210226 const AxisSpec invMassLambdaAxis{200 , 1.09 , 1.14 , " m_{p#pi} (GeV/#it{c}^{2})" };
@@ -1140,7 +1156,12 @@ struct StrangenessInJetsIons {
11401156 registryData.fill (HIST (" number_of_events_data" ), 7.5 );
11411157
11421158 // Event multiplicity
1143- const float multiplicity = collision.centFT0C ();
1159+ float multiplicity;
1160+ if (centrEstimator == 0 ) {
1161+ multiplicity = collision.centFT0C ();
1162+ } else {
1163+ multiplicity = collision.centFT0M ();
1164+ }
11441165
11451166 // Fill event multiplicity
11461167 registryData.fill (HIST (" number_of_events_vsmultiplicity" ), multiplicity);
@@ -1351,7 +1372,11 @@ struct StrangenessInJetsIons {
13511372 if (!selectRecoEvent (recoColl))
13521373 continue ;
13531374
1354- multiplicity = recoColl.centFT0C ();
1375+ if (centrEstimator == 0 ) {
1376+ multiplicity = recoColl.centFT0C ();
1377+ } else {
1378+ multiplicity = recoColl.centFT0M ();
1379+ }
13551380 // LOGF(info, " MC GEN index: %d", collision.globalIndex());
13561381 // LOGF(info, " MC RECO index: %d", recoColl.mcCollisionId());
13571382 // LOGF(info, " multiplicity: %f", multiplicity);
@@ -1668,7 +1693,12 @@ struct StrangenessInJetsIons {
16681693 registryMC.fill (HIST (" number_of_events_mc_rec" ), 4.5 );
16691694
16701695 // Event multiplicity
1671- const float multiplicity = collision.centFT0C ();
1696+ float multiplicity;
1697+ if (centrEstimator == 0 ) {
1698+ multiplicity = collision.centFT0C ();
1699+ } else {
1700+ multiplicity = collision.centFT0M ();
1701+ }
16721702
16731703 // Number of V0 and cascades per collision
16741704 auto v0sPerColl = fullV0s.sliceBy (perCollisionV0, collision.globalIndex ());
0 commit comments