@@ -50,6 +50,7 @@ struct qaEventTrackLite {
5050 // Event selections
5151 Configurable<float > vtxZMax{" vtxZMax" , 10 .f , " Max VTX Z position" };
5252 // Track selections
53+ Configurable<bool > bHasITS{" bHasITS" , false , " Select only DPG tracks with ITS (no forcing on TPC information)" };
5354 Configurable<bool > bItsStandalone{" bItsStandalone" , false , " Select only ITS standalone DPG tracks" };
5455 Configurable<bool > bTpcOnly{" bTpcOnly" , false , " Select only TPC only DPG tracks" };
5556 Configurable<bool > bItsTpcMatched{" bItsTpcMatched" , false , " Select ITS-TPC matched DPG tracks" };
@@ -117,9 +118,12 @@ struct qaEventTrackLite {
117118
118119 // kine histograms
119120 histos.add (" Tracks/VertexPositionZ" , " " , kTH1D , {{100 , -20 .f , 20 .f , " Vertex Z (cm)" }});
121+ histos.add (" Tracks/VertexPositionZvsEta" , " " , kTH2D , {axisEta, {100 , -20 .f , 20 .f , " Vertex Z (cm)" }});
122+ histos.add (" Tracks/VertexPositionZvsEtaHasITS" , " " , kTH2D , {axisEta, {100 , -20 .f , 20 .f , " Vertex Z (cm)" }});
120123 histos.add (" Tracks/Kine/pt" , " #it{p}_{T}" , kTH1D , {axisPt});
121124 histos.add (" Tracks/Kine/eta" , " #eta" , kTH1D , {axisEta});
122125 histos.add (" Tracks/Kine/phi" , " #phi" , kTH1D , {axisPhi});
126+ histos.add (" Tracks/Kine/phiVsEta" , " #phi" , kTH2D , {axisPhi, axisEta});
123127 histos.add (" Tracks/length" , " track length in cm;#it{Length} (cm);" , kTH1D , {{400 , 0 , 1000 }});
124128 const AxisSpec axisImpParRPhi{binsImpPar, " #it{d}_{r#it{#varphi}} (#cm)" };
125129 const AxisSpec axisImpParZAxis{binsImpPar, " #it{d}_{z} (#cm)" };
@@ -192,6 +196,7 @@ struct qaEventTrackLite {
192196 Filter ptCut = o2::aod::dpgtrack::pt > ptMin;
193197 Filter etaCut = etaMin < o2::aod::dpgtrack::eta && o2::aod::dpgtrack::eta < etaMax;
194198 // Detector matching
199+ Filter filterHasITS = (bHasITS.node() == false ) || (bItsStandalone.node() == false && bTpcOnly.node() == false && bItsTpcMatched.node() == false && o2::aod::dpgtrack::hasITS == true );
195200 Filter itsStandaloneTracks = (bItsStandalone.node() == false ) || (o2::aod::dpgtrack::hasITS == true && o2::aod::dpgtrack::hasTPC == false );
196201 Filter tpcOnlyTracks = (bTpcOnly.node() == false ) || (o2::aod::dpgtrack::hasITS == false && o2::aod::dpgtrack::hasTPC == true );
197202 Filter itsTpcMatchedTracks = (bItsTpcMatched.node() == false ) || (o2::aod::dpgtrack::hasITS == true && o2::aod::dpgtrack::hasTPC == true );
@@ -247,9 +252,14 @@ struct qaEventTrackLite {
247252 histos.fill (HIST (" Particles/Kine/phi" ), track.phiMC ());
248253 }
249254 histos.fill (HIST (" Tracks/VertexPositionZ" ), track.dpgCollision ().posZ ());
255+ histos.fill (HIST (" Tracks/VertexPositionZvsEta" ), track.eta (), track.dpgCollision ().posZ ());
256+ if (track.hasITS ()) {
257+ histos.fill (HIST (" Tracks/VertexPositionZvsEtaHasITS" ), track.eta (), track.dpgCollision ().posZ ());
258+ }
250259 histos.fill (HIST (" Tracks/Kine/pt" ), track.pt ());
251260 histos.fill (HIST (" Tracks/Kine/eta" ), track.eta ());
252261 histos.fill (HIST (" Tracks/Kine/phi" ), track.phi ());
262+ histos.fill (HIST (" Tracks/Kine/phiVsEta" ), track.phi (), track.eta ());
253263 histos.fill (HIST (" Tracks/dcaXY" ), track.dcaXY ());
254264 histos.fill (HIST (" Tracks/dcaZ" ), track.dcaZ ());
255265 histos.fill (HIST (" Tracks/dcaXYvsPt" ), track.pt (), track.dcaXY ());
0 commit comments