@@ -55,6 +55,8 @@ struct SgDeuteronSpectra {
5555 Configurable<float > nsigmatpcPreselCut{" nsigmatpcPreselCut" , 3.0 , " nsigma TPC preselection cut for TOF analysis" };
5656 Configurable<float > occupancyCut{" occupancyCut" , 1000 , " Occupancy cut" };
5757 Configurable<float > vertexZCut{" vertexZCut" , 10 , " VertexZ cut" };
58+ Configurable<float > maxTracks{" maxTracks" , 100 , " Maximum number of tracks in the event" };
59+ Configurable<bool > useVtxFT0Cut{" useVtxFT0Cut" , true , " Use zVtxFT0vPV cut in event selection" };
5860
5961 // Configurable axis for histograms
6062 ConfigurableAxis ptAxis{" ptAxis" , {200 , 0.0 , 10.0 }, " p_{T}" };
@@ -70,6 +72,7 @@ struct SgDeuteronSpectra {
7072 const AxisSpec axistof{nSigmaAxis, " n#sigma_{TOF}" };
7173
7274 // Collision histograms
75+ registry.add (" collisions/selectionCuts" , " " , {HistType::kTH1F , {{8 , -0.5 , 7.5 }}});
7376 registry.add (" collisions/VertexZ" , " " , {HistType::kTH1F , {{800 , -20 , 20 }}});
7477 registry.add (" collisions/GapSide" , " Gap Side: A, C, A+C" , {HistType::kTH1F , {{3 , -0.5 , 2.5 }}});
7578 registry.add (" collisions/TrueGapSide" , " Gap Side: A, C, A+C" , {HistType::kTH1F , {{4 , -1.5 , 2.5 }}});
@@ -101,13 +104,44 @@ struct SgDeuteronSpectra {
101104 void process (UDCollisionFull const & coll, UDTracksFull const & tracks)
102105 {
103106 registry.fill (HIST (" collisions/VertexZ" ), coll.posZ ());
107+ registry.fill (HIST (" collisions/selectionCuts" ), 0 );
104108 // applying event cuts
109+ if (!coll.tfb ()) {
110+ return ;
111+ }
112+ registry.fill (HIST (" collisions/selectionCuts" ), 1 );
113+ if (!coll.itsROFb ()) {
114+ return ;
115+ }
116+ registry.fill (HIST (" collisions/selectionCuts" ), 2 );
117+ if (!coll.sbp ()) {
118+ return ;
119+ }
120+ registry.fill (HIST (" collisions/selectionCuts" ), 3 );
121+ if (useVtxFT0Cut) {
122+ if (!coll.zVtxFT0vPV ()) {
123+ return ;
124+ }
125+ registry.fill (HIST (" collisions/selectionCuts" ), 4 );
126+ } else {
127+ registry.fill (HIST (" collisions/selectionCuts" ), 4 );
128+ }
129+ if (!coll.vtxITSTPC ()) {
130+ return ;
131+ }
132+ registry.fill (HIST (" collisions/selectionCuts" ), 5 );
105133 if (std::abs (coll.posZ ()) > vertexZCut) {
106134 return ;
107135 }
136+ registry.fill (HIST (" collisions/selectionCuts" ), 6 );
108137 if (coll.occupancyInTime () > occupancyCut) {
109138 return ;
110139 }
140+ registry.fill (HIST (" collisions/selectionCuts" ), 7 );
141+ if (tracks.size () > maxTracks) {
142+ return ;
143+ }
144+ registry.fill (HIST (" collisions/selectionCuts" ), 8 );
111145 // fill gapside
112146 registry.fill (HIST (" collisions/GapSide" ), coll.gapSide (), 1 .);
113147 std::vector<float > fitCut = {fv0Cut, ft0aCut, ft0cCut, fddaCut, fddcCut};
0 commit comments