@@ -74,7 +74,7 @@ struct LfV0qaanalysis {
7474 registry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (5 , " TFBorder" );
7575 registry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (6 , " ITSROFBorder" );
7676 registry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (7 , " isTOFVertexMatched" );
77- registry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (8 , " isGoodZvtxFT0vsPV " );
77+ registry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (8 , " isNoSameBunchPileup " );
7878 registry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (9 , " Applied selection" );
7979
8080 registry.add (" hCentFT0M" , " hCentFT0M" , {HistType::kTH1F , {{1000 , 0 .f , 100 .f }}});
@@ -134,14 +134,16 @@ struct LfV0qaanalysis {
134134
135135 // Event selection criteria
136136 Configurable<float > cutzvertex{" cutzvertex" , 15 .0f , " Accepted z-vertex range (cm)" };
137+ Configurable<float > MCcutzvertex{" MCcutzvertex" , 100 .0f , " Accepted true MC z-vertex range (cm)" };
137138 Configurable<bool > sel8{" sel8" , 0 , " Apply sel8 event selection" };
138139 Configurable<bool > isMC{" isMC" , 0 , " Is MC" };
139140 Configurable<bool > isTriggerTVX{" isTriggerTVX" , 1 , " Is Trigger TVX" };
140141 Configurable<bool > isNoTimeFrameBorder{" isNoTimeFrameBorder" , 1 , " Is No Time Frame Border" };
141142 Configurable<bool > isNoITSROFrameBorder{" isNoITSROFrameBorder" , 1 , " Is No ITS Readout Frame Border" };
142143 Configurable<bool > isVertexTOFmatched{" isVertexTOFmatched" , 0 , " Is Vertex TOF matched" };
143- Configurable<bool > isGoodZvtxFT0vsPV{ " isGoodZvtxFT0vsPV " , 0 , " isGoodZvtxFT0vsPV " };
144+ Configurable<bool > isNoSameBunchPileup{ " isNoSameBunchPileup " , 0 , " isNoSameBunchPileup " };
144145 Configurable<int > v0TypeSelection{" v0TypeSelection" , 1 , " select on a certain V0 type (leave negative if no selection desired)" };
146+ Configurable<bool > NotITSAfterburner{" NotITSAfterburner" , 0 , " NotITSAfterburner" };
145147
146148 // V0 selection criteria
147149 Configurable<double > v0cospa{" v0cospa" , 0.97 , " V0 CosPA" };
@@ -172,15 +174,15 @@ struct LfV0qaanalysis {
172174 return false ;
173175 }
174176 registry.fill (HIST (" hNEvents" ), 4.5 );
175- if (!isMC && isNoITSROFrameBorder && !collision.selection_bit (aod::evsel::kNoITSROFrameBorder )) {
177+ if (isNoITSROFrameBorder && !collision.selection_bit (aod::evsel::kNoITSROFrameBorder )) {
176178 return false ;
177179 }
178180 registry.fill (HIST (" hNEvents" ), 5.5 );
179181 if (isVertexTOFmatched && !collision.selection_bit (aod::evsel::kIsVertexTOFmatched )) {
180182 return false ;
181183 }
182184 registry.fill (HIST (" hNEvents" ), 6.5 );
183- if (isGoodZvtxFT0vsPV && !collision.selection_bit (aod::evsel::kIsGoodZvtxFT0vsPV )) {
185+ if (isNoSameBunchPileup && !collision.selection_bit (aod::evsel::kNoSameBunchPileup )) {
184186 return false ;
185187 }
186188 registry.fill (HIST (" hNEvents" ), 7.5 );
@@ -235,6 +237,10 @@ struct LfV0qaanalysis {
235237 bool isPhysicalPrimary = isMC;
236238 bool isDauK0Short = false , isDauLambda = false , isDauAntiLambda = false ;
237239
240+ if (NotITSAfterburner && (v0.negTrack_as <DauTracks>().isITSAfterburner () || v0.posTrack_as <DauTracks>().isITSAfterburner ())) {
241+ continue ;
242+ }
243+
238244 if (v0.v0radius () > v0radius &&
239245 v0.v0cosPA () > v0cospa &&
240246 TMath::Abs (v0.posTrack_as <DauTracks>().eta ()) < etadau &&
@@ -253,7 +259,13 @@ struct LfV0qaanalysis {
253259 v0.negTrack_as <DauTracks>().tofNSigmaPr (), v0.posTrack_as <DauTracks>().tofNSigmaPr (),
254260 v0.negTrack_as <DauTracks>().tofNSigmaPi (), v0.posTrack_as <DauTracks>().tofNSigmaPi (),
255261 v0.posTrack_as <DauTracks>().hasTOF (), v0.negTrack_as <DauTracks>().hasTOF (), lPDG, isDauK0Short, isDauLambda, isDauAntiLambda, isPhysicalPrimary,
256- collision.centFT0M (), collision.centFV0A (), evFlag, v0.alpha (), v0.qtarm ());
262+ collision.centFT0M (), collision.centFV0A (), evFlag, v0.alpha (), v0.qtarm (),
263+ v0.posTrack_as <DauTracks>().tpcNClsCrossedRows (), v0.posTrack_as <DauTracks>().tpcCrossedRowsOverFindableCls (),
264+ v0.posTrack_as <DauTracks>().tpcNClsShared (), v0.posTrack_as <DauTracks>().itsChi2NCl (),
265+ v0.posTrack_as <DauTracks>().tpcChi2NCl (),
266+ v0.negTrack_as <DauTracks>().tpcNClsCrossedRows (), v0.negTrack_as <DauTracks>().tpcCrossedRowsOverFindableCls (),
267+ v0.negTrack_as <DauTracks>().tpcNClsShared (), v0.negTrack_as <DauTracks>().itsChi2NCl (),
268+ v0.negTrack_as <DauTracks>().tpcChi2NCl ());
257269 }
258270 }
259271 }
@@ -307,6 +319,10 @@ struct LfV0qaanalysis {
307319 continue ;
308320 }
309321
322+ if (NotITSAfterburner && (v0.negTrack_as <DauTracks>().isITSAfterburner () || v0.posTrack_as <DauTracks>().isITSAfterburner ())) {
323+ continue ;
324+ }
325+
310326 // Highest numerator of efficiency
311327 if (v0mcparticle.isPhysicalPrimary ()) {
312328 if (v0mcparticle.pdgCode () == 310 ) {
@@ -383,7 +399,13 @@ struct LfV0qaanalysis {
383399 v0.negTrack_as <DauTracksMC>().tofNSigmaPr (), v0.posTrack_as <DauTracksMC>().tofNSigmaPr (),
384400 v0.negTrack_as <DauTracksMC>().tofNSigmaPi (), v0.posTrack_as <DauTracksMC>().tofNSigmaPi (),
385401 v0.posTrack_as <DauTracksMC>().hasTOF (), v0.negTrack_as <DauTracksMC>().hasTOF (), lPDG, isDauK0Short, isDauLambda, isDauAntiLambda, isprimary,
386- mcCollision.centFT0M (), cent, evFlag, v0.alpha (), v0.qtarm ());
402+ mcCollision.centFT0M (), cent, evFlag, v0.alpha (), v0.qtarm (),
403+ v0.posTrack_as <DauTracks>().tpcNClsCrossedRows (), v0.posTrack_as <DauTracks>().tpcCrossedRowsOverFindableCls (),
404+ v0.posTrack_as <DauTracks>().tpcNClsShared (), v0.posTrack_as <DauTracks>().itsChi2NCl (),
405+ v0.posTrack_as <DauTracks>().tpcChi2NCl (),
406+ v0.negTrack_as <DauTracks>().tpcNClsCrossedRows (), v0.negTrack_as <DauTracks>().tpcCrossedRowsOverFindableCls (),
407+ v0.negTrack_as <DauTracks>().tpcNClsShared (), v0.negTrack_as <DauTracks>().itsChi2NCl (),
408+ v0.negTrack_as <DauTracks>().tpcChi2NCl ());
387409 }
388410 }
389411
@@ -432,7 +454,7 @@ struct LfV0qaanalysis {
432454
433455 registry.fill (HIST (" hNEventsMCGen" ), 0.5 );
434456
435- if (TMath::Abs (mcCollision.posZ ()) > cutzvertex ) {
457+ if (TMath::Abs (mcCollision.posZ ()) > MCcutzvertex ) {
436458 return ;
437459 }
438460 registry.fill (HIST (" hNEventsMCGen" ), 1.5 );
0 commit comments