Skip to content

Commit 2209841

Browse files
authored
[PWGLF] Add BestCentrality MC events histos (#15492)
1 parent 9f1ece1 commit 2209841

File tree

1 file changed

+22
-13
lines changed

1 file changed

+22
-13
lines changed

PWGLF/Tasks/Strangeness/strangeCascTrack.cxx

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -855,6 +855,7 @@ struct StrangeCascTrack {
855855
histos.add("MC/EvRec/EvCounter", "Event Counter", kTH1D, {{1, 0, 1}});
856856
histos.add("MC/EvRec/Mult", "Event charged multiplicty (gen events with reco>=1)", kTH1D, {{1600, 0, 3200}});
857857
histos.add("MC/EvRec/MultCent", "Gen multiplicity vs reco centrality", kTH2D, {{100, 0, 100}, {1600, 0, 3200}});
858+
histos.add("MC/EvRec/Cent", "FT0 Centality", kTH1D, {axesConfig.axisMult});
858859
histos.add("MC/EvRec/Xi", "Xi", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated Xis in reco>=1
859860
histos.add("MC/EvRec/PrimaryXi", "Xi primaries", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Xis in reco>=1
860861
histos.add("MC/EvRec/PrimaryXiRapidity", "Xi primaries in |y|", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Xis in selected rapidity range in reco>=1
@@ -1048,6 +1049,8 @@ struct StrangeCascTrack {
10481049
// look at reco>= 1 for corrections
10491050
auto slicedRecColls = recColls.sliceBy(perMcCollision, genColl.globalIndex());
10501051
bool recoCounter = false;
1052+
int biggestNContribs = -1;
1053+
float bestCentrality = 100.5;
10511054
for (auto const& recColl : slicedRecColls) {
10521055
if (!isValidEvent(recColl, false))
10531056
continue; // from this point on - only gen events (and cascades from such events) that were reconstructed
@@ -1059,42 +1062,48 @@ struct StrangeCascTrack {
10591062
histos.fill(HIST("MC/EvRec/Mult"), genMult);
10601063
recoCounter = true;
10611064
}
1062-
// fill multiplicity-centrality distribution
1063-
double recoMult = (doProcessIons) ? recColl.centFT0C() : recColl.centFT0M();
1064-
histos.fill(HIST("MC/EvRec/MultCent"), recoMult, genMult);
1065+
if (biggestNContribs < recColl.multPVTotalContributors()) {
1066+
biggestNContribs = recColl.multPVTotalContributors();
1067+
bestCentrality = (doProcessIons) ? recColl.centFT0C() : recColl.centFT0M();
1068+
}
10651069
// look at generated cascades within reconstructed events
10661070
for (auto const& casc : slicedGenCascs) {
10671071
if (casc.straMCCollisionId() != genCollId)
10681072
continue; // check for cascades belonging to the correct reco collision
10691073
double cascPt = casc.ptMC();
10701074
if (isValidPDG(casc, "Xi"))
1071-
histos.fill(HIST("MC/EvRec/Xi"), cascPt, recoMult);
1075+
histos.fill(HIST("MC/EvRec/Xi"), cascPt, bestCentrality);
10721076
if (isValidPDG(casc, "Omega"))
1073-
histos.fill(HIST("MC/EvRec/Omega"), cascPt, recoMult);
1077+
histos.fill(HIST("MC/EvRec/Omega"), cascPt, bestCentrality);
10741078
if (casc.isPhysicalPrimary()) {
10751079
if (isValidPDG(casc, "Xi")) {
1076-
histos.fill(HIST("MC/EvRec/PrimaryXi"), cascPt, recoMult);
1080+
histos.fill(HIST("MC/EvRec/PrimaryXi"), cascPt, bestCentrality);
10771081
if (std::abs(casc.rapidityMC(0)) < selCuts.cutRapidity) {
1078-
histos.fill(HIST("MC/EvRec/PrimaryXiRapidity"), cascPt, recoMult);
1082+
histos.fill(HIST("MC/EvRec/PrimaryXiRapidity"), cascPt, bestCentrality);
10791083
if (casc.pdgCode() == PDG_t::kXiMinus)
1080-
histos.fill(HIST("MC/EvRec/PrimaryXiMinusRapidity"), cascPt, recoMult);
1084+
histos.fill(HIST("MC/EvRec/PrimaryXiMinusRapidity"), cascPt, bestCentrality);
10811085
if (casc.pdgCode() == PDG_t::kXiPlusBar)
1082-
histos.fill(HIST("MC/EvRec/PrimaryXiPlusRapidity"), cascPt, recoMult);
1086+
histos.fill(HIST("MC/EvRec/PrimaryXiPlusRapidity"), cascPt, bestCentrality);
10831087
}
10841088
}
10851089
if (isValidPDG(casc, "Omega")) {
1086-
histos.fill(HIST("MC/EvRec/PrimaryOmega"), cascPt, recoMult);
1090+
histos.fill(HIST("MC/EvRec/PrimaryOmega"), cascPt, bestCentrality);
10871091
if (std::abs(casc.rapidityMC(2)) < selCuts.cutRapidity) {
1088-
histos.fill(HIST("MC/EvRec/PrimaryOmegaRapidity"), cascPt, recoMult);
1092+
histos.fill(HIST("MC/EvRec/PrimaryOmegaRapidity"), cascPt, bestCentrality);
10891093
if (casc.pdgCode() == PDG_t::kOmegaMinus)
1090-
histos.fill(HIST("MC/EvRec/PrimaryOmegaMinusRapidity"), cascPt, recoMult);
1094+
histos.fill(HIST("MC/EvRec/PrimaryOmegaMinusRapidity"), cascPt, bestCentrality);
10911095
if (casc.pdgCode() == PDG_t::kOmegaPlusBar)
1092-
histos.fill(HIST("MC/EvRec/PrimaryOmegaPlusRapidity"), cascPt, recoMult);
1096+
histos.fill(HIST("MC/EvRec/PrimaryOmegaPlusRapidity"), cascPt, bestCentrality);
10931097
}
10941098
}
10951099
}
10961100
}
10971101
}
1102+
// fill centrality exactly once for each rec gen event
1103+
if (biggestNContribs >= 0) {
1104+
histos.fill(HIST("MC/EvRec/MultCent"), bestCentrality, genMult);
1105+
histos.fill(HIST("MC/EvRec/Cent"), bestCentrality);
1106+
}
10981107
}
10991108
}
11001109

0 commit comments

Comments
 (0)