@@ -199,6 +199,8 @@ struct UpcRhoAnalysis {
199199 Configurable<int > collisionsNumContribsMaxCut{" collisionsNumContribsMaxCut" , 2 , " max number of contributors cut on collisions" };
200200 Configurable<float > znCommonEnergyCut{" znCommonEnergyCut" , 0.0 , " ZN common energy cut" };
201201 Configurable<float > znTimeCut{" znTimeCut" , 2.0 , " ZN time cut" };
202+ Configurable<bool > cutOccupancy{" cutOccupancy" , true , " cut on collision occupancy?" };
203+ Configurable<float > occupancyCut{" occupancyCut" , 1000.0 , " occupancy cut" };
202204
203205 Configurable<float > tracksTpcNSigmaPiCut{" tracksTpcNSigmaPiCut" , 3.0 , " TPC nSigma pion cut" };
204206 Configurable<bool > rejectLowerProbPairs{" rejectLowerProbPairs" , true , " reject track pairs with lower El or Ka PID radii" };
@@ -261,7 +263,7 @@ struct UpcRhoAnalysis {
261263 rQC.addClone (" QC/collisions/all/" , " QC/collisions/trackSelections/" );
262264 rQC.addClone (" QC/collisions/all/" , " QC/collisions/systemSelections/" );
263265
264- std::vector<std::string> collisionSelectionCounterLabels = {" all collisions" , " rapidity gap" , " ITS-TPC vertex" , " same bunch pile-up" , " ITS ROF border" , " TF border" , " #it{z} position" , " number of contributors" , " RCT selections" , " reco flag selection" };
266+ std::vector<std::string> collisionSelectionCounterLabels = {" all collisions" , " rapidity gap" , " ITS-TPC vertex" , " same bunch pile-up" , " ITS ROF border" , " TF border" , " #it{z} position" , " number of contributors" , " RCT selections" , " reco flag selection" , " occupancy selection " };
265267 rQC.add (" QC/collisions/hSelectionCounter" , " ;;collisions passing selections" , kTH1D , {{static_cast <int >(collisionSelectionCounterLabels.size ()), -0.5 , static_cast <float >(collisionSelectionCounterLabels.size ()) - 0.5 }});
266268 rQC.add (" QC/collisions/hSelectionCounterPerRun" , " ;;run number;collisions passing selections" , kTH2D , {{static_cast <int >(collisionSelectionCounterLabels.size ()), -0.5 , static_cast <float >(collisionSelectionCounterLabels.size ()) - 0.5 }, runNumberAxis});
267269 for (int i = 0 ; i < static_cast <int >(collisionSelectionCounterLabels.size ()); ++i) {
@@ -585,6 +587,13 @@ struct UpcRhoAnalysis {
585587 rQC.fill (HIST (" QC/collisions/hSelectionCounterPerRun" ), 9 , runIndex);
586588 }
587589
590+ if (cutOccupancy) {
591+ if (collision.occupancyInTime () > occupancyCut)
592+ return false ;
593+ rQC.fill (HIST (" QC/collisions/hSelectionCounter" ), 10 );
594+ rQC.fill (HIST (" QC/collisions/hSelectionCounterPerRun" ), 10 , runIndex);
595+ }
596+
588597 // if all selections passed
589598 return true ;
590599 }
0 commit comments