@@ -990,6 +990,11 @@ struct AntiprotonCumulantsMc {
990990 float nAntiprot = 0.0 ;
991991
992992 for (const auto & mcParticle : mcParticles) {
993+ if (!mcParticle.has_mcCollision ())
994+ continue ;
995+ if (!(mcParticle.mcCollision ().globalIndex () == mcCollision.globalIndex ()))
996+ continue ;
997+
993998 if (mcParticle.isPhysicalPrimary ()) {
994999 if ((mcParticle.pt () > cfgCutPtLower) && (mcParticle.pt () < 5 .0f ) && (std::abs (mcParticle.eta ()) < cfgCutEta)) {
9951000 histos.fill (HIST (" hgenPtAll" ), mcParticle.pt ());
@@ -1096,6 +1101,13 @@ struct AntiprotonCumulantsMc {
10961101
10971102 // Start of the Monte-Carlo reconstructed tracks
10981103 for (const auto & track : tracks) {
1104+ if (!track.has_collision ()) {
1105+ continue ;
1106+ }
1107+ if (!(track.collision ().globalIndex () == collision.globalIndex ())) {
1108+ continue ;
1109+ }
1110+
10991111 if (!track.has_mcParticle ()) // ! check if track has corresponding MC particle
11001112 {
11011113 continue ;
@@ -1106,6 +1118,9 @@ struct AntiprotonCumulantsMc {
11061118 }
11071119
11081120 auto particle = track.mcParticle ();
1121+ if (!particle.has_mcCollision ())
1122+ continue ;
1123+
11091124 if ((particle.pt () < cfgCutPtLower) || (particle.pt () > 5 .0f ) || (std::abs (particle.eta ()) > cfgCutEta)) {
11101125 continue ;
11111126 }
@@ -2037,6 +2052,12 @@ struct AntiprotonCumulantsMc {
20372052
20382053 // Start of the Monte-Carlo reconstructed tracks
20392054 for (const auto & track : inputTracks) {
2055+ if (!track.has_collision ()) {
2056+ continue ;
2057+ }
2058+ if (!(track.collision ().globalIndex () == coll.globalIndex ())) {
2059+ continue ;
2060+ }
20402061 if (!track.isPVContributor ()) // ! track check as used in data
20412062 {
20422063 continue ;
0 commit comments