@@ -658,13 +658,17 @@ struct RadialFlowDecorr {
658658 return (effidx == 0 ) ? 1 .0f : 0 .0f ;
659659 }
660660 TH3F* h = (effidx == 0 ) ? state.hEff [pidType] : state.hFake [pidType];
661- if (!h) {
662- return (effidx == 0 ) ? 1 .0f : 0 .0f ; // Safe defaults if map is missing
663- }
661+
662+ if (!h)
663+ return -1 ;
664+
664665 int ibx = h->GetXaxis ()->FindBin (mult);
665666 int iby = h->GetYaxis ()->FindBin (pt);
666667 int ibz = h->GetZaxis ()->FindBin (eta);
667668 float val = h->GetBinContent (ibx, iby, ibz);
669+
670+ if (effidx == 0 )
671+ return (val > 0 .f ) ? val : 1 .0f ;
668672 return val;
669673 }
670674
@@ -1302,7 +1306,6 @@ struct RadialFlowDecorr {
13021306 loadLimits (" Hist2D_globalTracks_cent" , state.mLimitsNchCent , state.mMinXNchCent , state.mMaxXNchCent );
13031307 }
13041308 }
1305-
13061309 if (!cfgRunGetEff && (cfgFlat)) {
13071310 if (cfgRunDataMean || cfgRunDataFluc) {
13081311 LOGF (info, " Data Run: Loading flattening maps from %s" , pathDataFlat.c_str ());
@@ -1448,6 +1451,9 @@ struct RadialFlowDecorr {
14481451 histos.fill (HIST (" Hist2D_PVTracks_cent" ), cent, multPV);
14491452
14501453 for (const auto & track : mcTracks) {
1454+ if (track.collisionId () != mcCollision.index ())
1455+ continue ;
1456+
14511457 if (!isTrackSelected (track))
14521458 continue ;
14531459 fillNSigmaBefCut (track, cent);
@@ -1476,6 +1482,9 @@ struct RadialFlowDecorr {
14761482 histos.fill (HIST (" Hist2D_PVTracks_cent" ), cent, multPV);
14771483
14781484 for (const auto & particle : mcParticles) {
1485+ if (particle.mcCollisionId () != mcCollision.mcCollisionId ())
1486+ continue ;
1487+
14791488 if (!isParticleSelected (particle) || !particle.isPhysicalPrimary ())
14801489 continue ;
14811490
@@ -1520,6 +1529,9 @@ struct RadialFlowDecorr {
15201529 }
15211530
15221531 for (const auto & track : mcTracks) {
1532+ if (track.collisionId () != mcCollision.index ())
1533+ continue ;
1534+
15231535 if (!isTrackSelected (track))
15241536 continue ;
15251537
@@ -1733,6 +1745,9 @@ struct RadialFlowDecorr {
17331745 histos.fill (HIST (" Hist2D_globalTracks_cent" ), cent, mcTracks.size ());
17341746 histos.fill (HIST (" Hist2D_PVTracks_cent" ), cent, multPV);
17351747 for (const auto & track : mcTracks) {
1748+ if (track.collisionId () != mcCollision.index ())
1749+ continue ;
1750+
17361751 if (!isTrackSelected (track))
17371752 continue ;
17381753
@@ -1836,6 +1851,9 @@ struct RadialFlowDecorr {
18361851 memset (sumWiptiRecoEffCorr, 0 , sizeof (sumWiptiRecoEffCorr));
18371852
18381853 for (const auto & particle : mcParticles) {
1854+ if (particle.mcCollisionId () != mcCollision.mcCollisionId ())
1855+ continue ;
1856+
18391857 if (!isParticleSelected (particle) || !particle.isPhysicalPrimary ())
18401858 continue ;
18411859 float pt = particle.pt (), eta = particle.eta ();
@@ -1880,6 +1898,9 @@ struct RadialFlowDecorr {
18801898 }
18811899
18821900 for (const auto & track : mcTracks) {
1901+ if (track.collisionId () != mcCollision.index ())
1902+ continue ;
1903+
18831904 if (!isTrackSelected (track))
18841905 continue ;
18851906 float pt = track.pt (), eta = track.eta (), phi = track.phi ();
@@ -2198,6 +2219,9 @@ struct RadialFlowDecorr {
21982219 double p1kBarFt0A = 0.0 , p1kBarFt0C = 0.0 ;
21992220
22002221 for (const auto & particle : mcParticles) {
2222+ if (particle.mcCollisionId () != mcCollision.mcCollisionId ())
2223+ continue ;
2224+
22012225 if (!isParticleSelected (particle) || !particle.isPhysicalPrimary ())
22022226 continue ;
22032227
@@ -2238,6 +2262,9 @@ struct RadialFlowDecorr {
22382262 } // end truth loop
22392263
22402264 for (const auto & track : mcTracks) {
2265+ if (track.collisionId () != mcCollision.index ())
2266+ continue ;
2267+
22412268 if (!isTrackSelected (track))
22422269 continue ;
22432270
0 commit comments