From 56518e5997bd5cdbd3f319bceacd5b03fa23faf3 Mon Sep 17 00:00:00 2001 From: GiorgioAlbertoLucia Date: Tue, 9 Jun 2026 13:53:45 +0200 Subject: [PATCH 1/2] centrality properly stored in mc and added to output table --- PWGLF/DataModel/LFSlimNucleiTables.h | 1 + PWGLF/TableProducer/QC/nucleiQC.cxx | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/PWGLF/DataModel/LFSlimNucleiTables.h b/PWGLF/DataModel/LFSlimNucleiTables.h index 7988a1322e6..974acc072d2 100644 --- a/PWGLF/DataModel/LFSlimNucleiTables.h +++ b/PWGLF/DataModel/LFSlimNucleiTables.h @@ -201,6 +201,7 @@ DECLARE_SOA_TABLE(NucleiTableRed, "AOD", "NUCLEITABLERED", NucleiTableNS::DCAxy, NucleiTableNS::DCAz, NucleiTableNS::Flags, + NucleiFlowTableNS::CentFT0C, NucleiTableNS::gPt, NucleiTableNS::McProcess, NucleiTableNS::PDGcode, diff --git a/PWGLF/TableProducer/QC/nucleiQC.cxx b/PWGLF/TableProducer/QC/nucleiQC.cxx index 6e8c7569bb9..6e69690a2c5 100644 --- a/PWGLF/TableProducer/QC/nucleiQC.cxx +++ b/PWGLF/TableProducer/QC/nucleiQC.cxx @@ -517,6 +517,7 @@ struct nucleiQC { candidate.DCAxy, candidate.DCAz, candidate.flags, + candidate.centrality, candidate.ptGenerated, candidate.mcProcess, candidate.pdgCode, @@ -531,6 +532,7 @@ struct nucleiQC { gRandom->SetSeed(67); std::unordered_set reconstructedMcParticles; std::unordered_set reconstructedCollisions; + std::map mcCollisionIdToCentrality; for (const auto& collision : collisions) { @@ -539,8 +541,10 @@ struct nucleiQC { if (!nuclei::eventSelection(collision, mHistograms, cfgEventSelections, cfgCutVertex)) continue; - mHistograms.fill(HIST("hCentrality"), nuclei::getCentrality(collision, cfgCentralityEstimator, mHistFailCentrality)); + const float centrality = nuclei::getCentrality(collision, cfgCentralityEstimator, mHistFailCentrality); + mHistograms.fill(HIST("hCentrality"), centrality); reconstructedCollisions.insert(collision.mcCollisionId()); + mcCollisionIdToCentrality[collision.mcCollisionId()] = centrality; mVtx.setPos({collision.posX(), collision.posY(), collision.posZ()}); mVtx.setCov(collision.covXX(), collision.covXY(), collision.covYY(), collision.covXZ(), collision.covYZ(), collision.covZZ()); @@ -635,8 +639,8 @@ struct nucleiQC { } nuclei::SlimCandidate candidate; - // candidate.centrality = nuclei::getCentrality(collision, cfgCentralityEstimator, mHistFailCentrality); - candidate.centrality = -1.f; // centrality is not well defined for non-reconstructed particles, set to -1 for now + const auto& centralityIt = mcCollisionIdToCentrality.find(particle.mcCollisionId()); + candidate.centrality = centralityIt != mcCollisionIdToCentrality.end() ? centralityIt->second : -1.f; fillCollisionFlag(particle, candidate, reconstructedCollisions); fillNucleusFlagsPdgsMc(particle, candidate); fillNucleusGeneratedVariables(particle, candidate); From b02fab665f822102cf3c680ee918b7f02f728f73 Mon Sep 17 00:00:00 2001 From: GiorgioAlbertoLucia Date: Tue, 9 Jun 2026 14:15:07 +0200 Subject: [PATCH 2/2] added include map --- PWGLF/TableProducer/QC/nucleiQC.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/PWGLF/TableProducer/QC/nucleiQC.cxx b/PWGLF/TableProducer/QC/nucleiQC.cxx index 6e69690a2c5..bef7cb9f4f5 100644 --- a/PWGLF/TableProducer/QC/nucleiQC.cxx +++ b/PWGLF/TableProducer/QC/nucleiQC.cxx @@ -58,6 +58,7 @@ #include #include #include +#include #include #include #include