@@ -517,6 +517,7 @@ struct nucleiQC {
517517 candidate.DCAxy ,
518518 candidate.DCAz ,
519519 candidate.flags ,
520+ candidate.centrality ,
520521 candidate.ptGenerated ,
521522 candidate.mcProcess ,
522523 candidate.pdgCode ,
@@ -531,6 +532,7 @@ struct nucleiQC {
531532 gRandom ->SetSeed (67 );
532533 std::unordered_set<int > reconstructedMcParticles;
533534 std::unordered_set<int > reconstructedCollisions;
535+ std::map<int , float > mcCollisionIdToCentrality;
534536
535537 for (const auto & collision : collisions) {
536538
@@ -539,8 +541,10 @@ struct nucleiQC {
539541
540542 if (!nuclei::eventSelection (collision, mHistograms , cfgEventSelections, cfgCutVertex))
541543 continue ;
542- mHistograms .fill (HIST (" hCentrality" ), nuclei::getCentrality (collision, cfgCentralityEstimator, mHistFailCentrality ));
544+ const float centrality = nuclei::getCentrality (collision, cfgCentralityEstimator, mHistFailCentrality );
545+ mHistograms .fill (HIST (" hCentrality" ), centrality);
543546 reconstructedCollisions.insert (collision.mcCollisionId ());
547+ mcCollisionIdToCentrality[collision.mcCollisionId ()] = centrality;
544548 mVtx .setPos ({collision.posX (), collision.posY (), collision.posZ ()});
545549 mVtx .setCov (collision.covXX (), collision.covXY (), collision.covYY (), collision.covXZ (), collision.covYZ (), collision.covZZ ());
546550
@@ -635,8 +639,8 @@ struct nucleiQC {
635639 }
636640
637641 nuclei::SlimCandidate candidate;
638- // candidate.centrality = nuclei::getCentrality(collision, cfgCentralityEstimator, mHistFailCentrality );
639- candidate.centrality = - 1 . f ; // centrality is not well defined for non-reconstructed particles, set to -1 for now
642+ const auto & centralityIt = mcCollisionIdToCentrality. find (particle. mcCollisionId () );
643+ candidate.centrality = centralityIt != mcCollisionIdToCentrality. end () ? centralityIt-> second : - 1 . f ;
640644 fillCollisionFlag (particle, candidate, reconstructedCollisions);
641645 fillNucleusFlagsPdgsMc (particle, candidate);
642646 fillNucleusGeneratedVariables (particle, candidate);
0 commit comments