@@ -2105,10 +2105,21 @@ struct LongRangeDihadronCor {
21052105 for (auto it = pairs.begin (); it != pairs.end (); it++) {
21062106 auto & [collision1, tracks1, collision2, tracks2] = *it;
21072107
2108- if (cfgGeneral.cfgSelCollByNch && (tracks1.size () < cfgGeneral.cfgCutMultMin || tracks1.size () >= cfgGeneral.cfgCutMultMax ))
2108+ int tpcMult1 = 0 ;
2109+ for (const auto & track : tracks1) {
2110+ if (std::abs (track.eta ()) < cfgGeneral.cfgEtaTpcCut )
2111+ tpcMult1 += 1 ;
2112+ }
2113+ int tpcMult2 = 0 ;
2114+ for (const auto & track : tracks2) {
2115+ if (std::abs (track.eta ()) < cfgGeneral.cfgEtaTpcCut )
2116+ tpcMult2 += 1 ;
2117+ }
2118+
2119+ if (cfgGeneral.cfgSelCollByNch && (tpcMult1 < cfgGeneral.cfgCutMultMin || tpcMult1 >= cfgGeneral.cfgCutMultMax ))
21092120 continue ;
21102121
2111- if (cfgGeneral.cfgSelCollByNch && (tracks2. size () < cfgGeneral.cfgCutMultMin || tracks2. size () >= cfgGeneral.cfgCutMultMax ))
2122+ if (cfgGeneral.cfgSelCollByNch && (tpcMult2 < cfgGeneral.cfgCutMultMin || tpcMult2 >= cfgGeneral.cfgCutMultMax ))
21122123 continue ;
21132124
21142125 auto groupedCollisions1 = collisions.sliceBy (collisionPerMCCollision, collision1.globalIndex ());
@@ -2164,10 +2175,21 @@ struct LongRangeDihadronCor {
21642175 for (auto it = pairs.begin (); it != pairs.end (); it++) {
21652176 auto & [collision1, tracks1, collision2, tracks2] = *it;
21662177
2167- if (cfgGeneral.cfgSelCollByNch && (tracks1.size () < cfgGeneral.cfgCutMultMin || tracks1.size () >= cfgGeneral.cfgCutMultMax ))
2178+ int tpcMult1 = 0 ;
2179+ for (const auto & track : tracks1) {
2180+ if (std::abs (track.eta ()) < cfgGeneral.cfgEtaTpcCut )
2181+ tpcMult1 += 1 ;
2182+ }
2183+ int tpcMult2 = 0 ;
2184+ for (const auto & track : tracks2) {
2185+ if (std::abs (track.eta ()) < cfgGeneral.cfgEtaTpcCut )
2186+ tpcMult2 += 1 ;
2187+ }
2188+
2189+ if (cfgGeneral.cfgSelCollByNch && (tpcMult1 < cfgGeneral.cfgCutMultMin || tpcMult1 >= cfgGeneral.cfgCutMultMax ))
21682190 continue ;
21692191
2170- if (cfgGeneral.cfgSelCollByNch && (tracks2. size () < cfgGeneral.cfgCutMultMin || tracks2. size () >= cfgGeneral.cfgCutMultMax ))
2192+ if (cfgGeneral.cfgSelCollByNch && (tpcMult2 < cfgGeneral.cfgCutMultMin || tpcMult2 >= cfgGeneral.cfgCutMultMax ))
21712193 continue ;
21722194
21732195 auto groupedCollisions1 = collisions.sliceBy (collisionPerMCCollision, collision1.globalIndex ());
@@ -2363,6 +2385,16 @@ struct LongRangeDihadronCor {
23632385 cent1 = getCentrality (collision1);
23642386 cent2 = getCentrality (collision2);
23652387 }
2388+
2389+ int tpcMult = 0 ;
2390+ for (const auto & track : tracksTruth1) {
2391+ if (std::abs (track.eta ()) < cfgGeneral.cfgEtaTpcCut )
2392+ tpcMult += 1 ;
2393+ }
2394+
2395+ if (cfgGeneral.cfgSelCollByNch && (tpcMult < cfgGeneral.cfgCutMultMin || tpcMult >= cfgGeneral.cfgCutMultMax ))
2396+ continue ;
2397+
23662398 if (cfgGeneral.cfgUseAdditionalEventCut && !eventSelected (collision1, tracksRecon1.size (), cent1, false ))
23672399 continue ;
23682400 if (cfgGeneral.cfgUseAdditionalEventCut && !eventSelected (collision2, tracksRecon2.size (), cent2, false ))
@@ -2429,6 +2461,16 @@ struct LongRangeDihadronCor {
24292461 cent1 = getCentrality (collision1);
24302462 cent2 = getCentrality (collision2);
24312463 }
2464+
2465+ int tpcMult = 0 ;
2466+ for (const auto & track : tracksTruth1) {
2467+ if (std::abs (track.eta ()) < cfgGeneral.cfgEtaTpcCut )
2468+ tpcMult += 1 ;
2469+ }
2470+
2471+ if (cfgGeneral.cfgSelCollByNch && (tpcMult < cfgGeneral.cfgCutMultMin || tpcMult >= cfgGeneral.cfgCutMultMax ))
2472+ continue ;
2473+
24322474 if (cfgGeneral.cfgUseAdditionalEventCut && !eventSelected (collision1, tracksRecon1.size (), cent1, false ))
24332475 continue ;
24342476 if (cfgGeneral.cfgUseAdditionalEventCut && !eventSelected (collision2, tracksRecon2.size (), cent2, false ))
0 commit comments