@@ -58,6 +58,7 @@ struct ThreeParticleCorrelations {
5858 Configurable<float > zvtxMax{" zvtxMax" , 10.0 , " Maximum collision Z-vertex position (cm)" };
5959 Configurable<int > occupMin{" occupMin" , 0 , " Minimum collision occupancy" };
6060 Configurable<int > occupMax{" occupMax" , 15000 , " Maximum collision occupancy" };
61+ Configurable<bool > useOccupCut{" useOccupCut" , true , " Use the kNoCollInTimeRangeStandard cut" };
6162 } evSelGroup;
6263
6364 // V0 filter parameters
@@ -96,7 +97,8 @@ struct ThreeParticleCorrelations {
9697 Filter collCent = aod::cent::centFT0C > centMin&& aod::cent::centFT0C < centMax;
9798 Filter collZvtx = nabs(aod::collision::posZ) < evSelGroup.zvtxMax;
9899 Filter mcCollZvtx = nabs(aod::mccollision::posZ) < evSelGroup.zvtxMax;
99- Filter evSelect = aod::evsel::sel8 == true ;
100+ Filter evSel8 = aod::evsel::sel8 == true ;
101+ Filter evSelOccup = o2::aod::evsel::trackOccupancyInTimeRange >= evSelGroup.occupMin && o2::aod::evsel::trackOccupancyInTimeRange < evSelGroup.occupMax;
100102
101103 // Track filters
102104 Filter trackPt = aod::track::pt > trackPtMin&& aod::track::pt < trackPtMax;
@@ -204,7 +206,7 @@ struct ThreeParticleCorrelations {
204206 rQARegistry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (1 , " All" );
205207 rQARegistry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (2 , " kIsGoodZvtxFT0vsPV" );
206208 rQARegistry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (3 , " kNoSameBunchPileup" );
207- rQARegistry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (4 , Form (" %i < Occupancy < %i" , static_cast <int >(evSelGroup.occupMin ), static_cast <int >(evSelGroup.occupMax )));
209+ rQARegistry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (4 , Form (" [ %i < Occupancy < %i) " , static_cast <int >(evSelGroup.occupMin ), static_cast <int >(evSelGroup.occupMax )));
208210 rQARegistry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (5 , " kNoCollInTimeRangeStandard" );
209211
210212 rQARegistry.add (" hEventCentrality" , " hEventCentrality" , {HistType::kTH1D , {{fineCentralityAxis}}});
@@ -377,7 +379,6 @@ struct ThreeParticleCorrelations {
377379 void processSame (MyFilteredCollision const & collision, aod::V0Datas const & v0s, MyFilteredTracks const & tracks, aod::BCsWithTimestamps const &)
378380 {
379381
380- rQARegistry.fill (HIST (" hEventOccupancy" ), collision.trackOccupancyInTimeRange ());
381382 if (!acceptEvent (collision, true )) {
382383 return ;
383384 }
@@ -392,6 +393,7 @@ struct ThreeParticleCorrelations {
392393
393394 rQARegistry.fill (HIST (" hEventCentrality" ), collision.centFT0C ());
394395 rQARegistry.fill (HIST (" hEventZvtx" ), collision.posZ ());
396+ rQARegistry.fill (HIST (" hEventOccupancy" ), collision.trackOccupancyInTimeRange ());
395397 rQARegistry.fill (HIST (" hEventBfield" ), bField);
396398
397399 // Start of the Track QA
@@ -514,15 +516,18 @@ struct ThreeParticleCorrelations {
514516
515517 // Start of the Mixed-Event correlations
516518 for (const auto & [coll_1, v0_1, coll_2, track_2] : pairData) {
517- if (!acceptEvent (coll_1, false ) || !acceptEvent (coll_2, false )) {
518- return ;
519+ if (!acceptEvent (coll_1, false )) {
520+ continue ;
521+ }
522+ if (!acceptEvent (coll_2, false )) {
523+ continue ;
519524 }
520525
521526 auto bc = coll_1.bc_as <aod::BCsWithTimestamps>();
522527 auto bField = getMagneticField (bc.timestamp ());
523528 if (switchGroup.confBfieldSwitch != 0 ) {
524529 if (std::signbit (static_cast <double >(switchGroup.confBfieldSwitch )) != std::signbit (bField)) {
525- return ;
530+ continue ;
526531 }
527532 }
528533
@@ -669,12 +674,12 @@ struct ThreeParticleCorrelations {
669674 if (recCollsA1.size () == 1 && recCollsA2.size () == 1 ) {
670675 for (const auto & recColl_1 : recCollsA1) {
671676 if (!acceptEvent (recColl_1, false )) {
672- return ;
677+ continue ;
673678 }
674679 }
675680 for (const auto & recColl_2 : recCollsA2) {
676681 if (!acceptEvent (recColl_2, false )) {
677- return ;
682+ continue ;
678683 }
679684 }
680685 }
@@ -1024,19 +1029,13 @@ struct ThreeParticleCorrelations {
10241029 rQARegistry.fill (HIST (" hNEvents" ), 2.5 );
10251030 }
10261031
1027- int occupEstim = col.trackOccupancyInTimeRange ();
1028- if (occupEstim <= evSelGroup.occupMin || occupEstim >= evSelGroup.occupMax ) { // Occupancy window
1029- return false ;
1030- }
1031- if (FillHist) {
1032- rQARegistry.fill (HIST (" hNEvents" ), 3.5 );
1033- }
1034-
1035- if (!col.selection_bit (aod::evsel::kNoCollInTimeRangeStandard )) { // kNoCollInTimeRangeStandard
1036- return false ;
1037- }
1038- if (FillHist) {
1039- rQARegistry.fill (HIST (" hNEvents" ), 4.5 );
1032+ if (evSelGroup.useOccupCut ) {
1033+ if (!col.selection_bit (aod::evsel::kNoCollInTimeRangeStandard )) { // kNoCollInTimeRangeStandard
1034+ return false ;
1035+ }
1036+ if (FillHist) {
1037+ rQARegistry.fill (HIST (" hNEvents" ), 4.5 );
1038+ }
10401039 }
10411040
10421041 return true ;
0 commit comments