@@ -63,7 +63,6 @@ struct LfITSTPCMatchingSecondaryTracksQA {
6363 // Track Parameters
6464 Configurable<float > minITSnCls{" minITSnCls" , 1 .0f , " min number of ITS clusters" };
6565 Configurable<float > minNCrossedRowsTPC{" minNCrossedRowsTPC" , 80 .0f , " min number of TPC crossed rows" };
66- Configurable<float > minNCrossedRowsOverFindable{" minNCrossedRowsOverFindable" , 0 .8f , " min number of TPC crossed rows/findable" };
6766 Configurable<float > maxChi2TPC{" maxChi2TPC" , 4 .0f , " max chi2 per cluster TPC" };
6867 Configurable<float > maxChi2ITS{" maxChi2ITS" , 36 .0f , " max chi2 per cluster ITS" };
6968 Configurable<float > etaMin{" etaMin" , -0 .8f , " eta min" };
@@ -74,8 +73,7 @@ struct LfITSTPCMatchingSecondaryTracksQA {
7473 Configurable<float > nsigmaTOFmax{" nsigmaTOFmax" , +3 .0f , " Maximum nsigma TOF" };
7574 Configurable<float > dcaxyMax{" dcaxyMax" , 0 .1f , " dcaxy max" };
7675 Configurable<float > dcazMax{" dcazMax" , 0 .1f , " dcaz max" };
77- Configurable<float > dcaxyMin{" dcaxyMin" , 0 .1f , " dcaxy min" };
78- Configurable<float > dcazMin{" dcazMin" , 0 .1f , " dcaz min" };
76+ Configurable<float > dcaMin{" dcaMin" , 0 .1f , " dca min" };
7977 Configurable<bool > requireTOF{" requireTOF" , false , " require TOF hit" };
8078 Configurable<bool > requireItsHits{" requireItsHits" , false , " require ITS hits" };
8179 Configurable<std::vector<float >> requiredHit{" requiredHit" , {0 , 0 , 0 , 0 , 0 , 0 , 0 }, " required ITS Hits (1=required, 0=not required)" };
@@ -95,6 +93,8 @@ struct LfITSTPCMatchingSecondaryTracksQA {
9593 // Event Counters
9694 if (doprocessData) {
9795 registryData.add (" number_of_events_data" , " number of events in data" , HistType::kTH1D , {{20 , 0 , 20 , " Event Cuts" }});
96+ registryData.add (" dcaxyDatavspt" , " dcaxyDatavspt" , HistType::kTH2D , {{100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }, {400 , -2 , 2 , " DCA_{xy} (cm)" }});
97+ registryData.add (" dcazDatavspt" , " dcazDatavspt" , HistType::kTH2D , {{100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }, {400 , -2 , 2 , " DCA_{z} (cm)" }});
9898 registryData.add (" primPionTPC" , " primPionTPC" , HistType::kTH3D , {{100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }, {16 , -0.8 , 0.8 , " #eta" }, {100 , 0 , TwoPI, " #phi" }});
9999 registryData.add (" primPionTPC_ITS" , " primPionTPC_ITS" , HistType::kTH3D , {{100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }, {16 , -0.8 , 0.8 , " #eta" }, {100 , 0 , TwoPI, " #phi" }});
100100 registryData.add (" secPionTPC" , " secPionTPC" , HistType::kTH3D , {{100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }, {16 , -0.8 , 0.8 , " #eta" }, {100 , 0 , TwoPI, " #phi" }});
@@ -105,6 +105,8 @@ struct LfITSTPCMatchingSecondaryTracksQA {
105105
106106 if (doprocessMC) {
107107 registryMC.add (" number_of_events_mc" , " number of events in mc" , HistType::kTH1D , {{20 , 0 , 20 , " Event Cuts" }});
108+ registryMC.add (" dcaxyMCvspt" , " dcaxyMCvspt" , HistType::kTH2D , {{100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }, {400 , -2 , 2 , " DCA_{xy} (cm)" }});
109+ registryMC.add (" dcazMCvspt" , " dcazMCvspt" , HistType::kTH2D , {{100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }, {400 , -2 , 2 , " DCA_{z} (cm)" }});
108110 registryMC.add (" primPionTPC_MC" , " primPionTPC_MC" , HistType::kTH3D , {{100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }, {16 , -0.8 , 0.8 , " #eta" }, {100 , 0 , TwoPI, " #phi" }});
109111 registryMC.add (" primPionTPC_ITS_MC" , " primPionTPC_ITS_MC" , HistType::kTH3D , {{100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }, {16 , -0.8 , 0.8 , " #eta" }, {100 , 0 , TwoPI, " #phi" }});
110112 registryMC.add (" secPionTPC_MC" , " secPionTPC_MC" , HistType::kTH3D , {{100 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }, {16 , -0.8 , 0.8 , " #eta" }, {100 , 0 , TwoPI, " #phi" }});
@@ -127,8 +129,6 @@ struct LfITSTPCMatchingSecondaryTracksQA {
127129 return false ;
128130 if (track.tpcNClsCrossedRows () < minNCrossedRowsTPC)
129131 return false ;
130- if ((static_cast <float >(track.tpcNClsCrossedRows ()) / static_cast <float >(track.tpcNClsFindable ())) < minNCrossedRowsOverFindable)
131- return false ;
132132 if (track.tpcChi2NCl () > maxChi2TPC)
133133 return false ;
134134 if (track.eta () < etaMin || track.eta () > etaMax)
@@ -147,15 +147,11 @@ struct LfITSTPCMatchingSecondaryTracksQA {
147147 return false ;
148148 if (track.tpcNClsCrossedRows () < minNCrossedRowsTPC)
149149 return false ;
150- if ((static_cast <float >(track.tpcNClsCrossedRows ()) / static_cast <float >(track.tpcNClsFindable ())) < minNCrossedRowsOverFindable)
151- return false ;
152150 if (track.tpcChi2NCl () > maxChi2TPC)
153151 return false ;
154152 if (track.eta () < etaMin || track.eta () > etaMax)
155153 return false ;
156- if (std::fabs (track.dcaXY ()) < dcaxyMin)
157- return false ;
158- if (std::fabs (track.dcaZ ()) < dcazMin)
154+ if (std::sqrt (track.dcaXY () * track.dcaXY () + track.dcaZ () * track.dcaZ ()) < dcaMin)
159155 return false ;
160156 return true ;
161157 }
@@ -167,8 +163,6 @@ struct LfITSTPCMatchingSecondaryTracksQA {
167163 return false ;
168164 if (track.tpcNClsCrossedRows () < minNCrossedRowsTPC)
169165 return false ;
170- if ((static_cast <float >(track.tpcNClsCrossedRows ()) / static_cast <float >(track.tpcNClsFindable ())) < minNCrossedRowsOverFindable)
171- return false ;
172166 if (track.tpcChi2NCl () > maxChi2TPC)
173167 return false ;
174168 if (track.eta () < etaMin || track.eta () > etaMax)
@@ -248,6 +242,12 @@ struct LfITSTPCMatchingSecondaryTracksQA {
248242
249243 for (const auto & track : tracks) {
250244
245+ // DCA distributions
246+ if (passedTrackSelectionV0daughTPC (track) && passedPionSelection (track)) {
247+ registryData.fill (HIST (" dcaxyDatavspt" ), track.pt (), track.dcaXY ());
248+ registryData.fill (HIST (" dcazDatavspt" ), track.pt (), track.dcaZ ());
249+ }
250+
251251 // Primary Tracks
252252 if (passedTrackSelectionTpcPrimary (track) && passedPionSelection (track))
253253 registryData.fill (HIST (" primPionTPC" ), track.pt (), track.eta (), TVector2::Phi_0_2pi (track.phi ()));
@@ -297,6 +297,12 @@ struct LfITSTPCMatchingSecondaryTracksQA {
297297
298298 for (const auto & track : tracksPerColl) {
299299
300+ // DCA distributions
301+ if (passedTrackSelectionV0daughTPC (track) && passedPionSelection (track)) {
302+ registryMC.fill (HIST (" dcaxyMCvspt" ), track.pt (), track.dcaXY ());
303+ registryMC.fill (HIST (" dcazMCvspt" ), track.pt (), track.dcaZ ());
304+ }
305+
300306 // Primary Tracks
301307 if (passedTrackSelectionTpcPrimary (track) && passedPionSelection (track))
302308 registryMC.fill (HIST (" primPionTPC_MC" ), track.pt (), track.eta (), TVector2::Phi_0_2pi (track.phi ()));
0 commit comments