@@ -61,7 +61,7 @@ struct LfITSTPCMatchingSecondaryTracksQA {
6161 Configurable<double > zVtx{" zVtx" , 10.0 , " Maximum zVertex" };
6262
6363 // Track Parameters
64- Configurable<float > minITSnCls{" minITSnCls" , 3 .0f , " min number of ITS clusters" };
64+ Configurable<float > minITSnCls{" minITSnCls" , 1 .0f , " min number of ITS clusters" };
6565 Configurable<float > minNCrossedRowsTPC{" minNCrossedRowsTPC" , 80 .0f , " min number of TPC crossed rows" };
6666 Configurable<float > minNCrossedRowsOverFindable{" minNCrossedRowsOverFindable" , 0 .8f , " min number of TPC crossed rows/findable" };
6767 Configurable<float > maxChi2TPC{" maxChi2TPC" , 4 .0f , " max chi2 per cluster TPC" };
@@ -211,15 +211,27 @@ struct LfITSTPCMatchingSecondaryTracksQA {
211211 template <typename ItsTrack>
212212 bool passedTrackSelectionIts (const ItsTrack& track)
213213 {
214+ /*
214215 if (!track.hasITS())
215216 return false;
216217 if (track.itsNCls() < minITSnCls)
217218 return false;
218219 if (track.itsChi2NCl() > maxChi2ITS)
219220 return false;
221+ */
220222
221- auto requiredItsHit = static_cast <std::vector<float >>(requiredHit);
223+ if (track.itsNCls () < minITSnCls)
224+ return false ;
222225
226+ bool hasHitOnAnyLayer = false ;
227+ for (int i = 0 ; i < 7 ; i++) {
228+ if (hasHitOnITSlayer (track.itsClusterMap (), i))
229+ hasHitOnAnyLayer = true ;
230+ }
231+ if (!hasHitOnAnyLayer)
232+ return false ;
233+
234+ auto requiredItsHit = static_cast <std::vector<float >>(requiredHit);
223235 if (requireItsHits) {
224236 for (int i = 0 ; i < 7 ; i++) {
225237 if (requiredItsHit[i] > 0 && !hasHitOnITSlayer (track.itsClusterMap (), i)) {
@@ -250,7 +262,7 @@ struct LfITSTPCMatchingSecondaryTracksQA {
250262 // Secondary Tracks
251263 if (passedTrackSelectionTpcSecondary (track) && passedPionSelection (track))
252264 registryData.fill (HIST (" secPionTPC" ), track.pt (), track.eta (), TVector2::Phi_0_2pi (track.phi ()));
253- if (passedTrackSelectionTpcSecondary (track) && passedPionSelection (track) && track. hasITS ( ))
265+ if (passedTrackSelectionTpcSecondary (track) && passedPionSelection (track) && passedTrackSelectionIts (track ))
254266 registryData.fill (HIST (" secPionTPC_ITS" ), track.pt (), track.eta (), TVector2::Phi_0_2pi (track.phi ()));
255267 }
256268
@@ -265,9 +277,9 @@ struct LfITSTPCMatchingSecondaryTracksQA {
265277 registryData.fill (HIST (" secPionV0TPC" ), posTrack.pt (), posTrack.eta (), TVector2::Phi_0_2pi (posTrack.phi ()));
266278 if (passedTrackSelectionV0daughTPC (negTrack) && passedPionSelection (negTrack))
267279 registryData.fill (HIST (" secPionV0TPC" ), negTrack.pt (), negTrack.eta (), TVector2::Phi_0_2pi (negTrack.phi ()));
268- if (passedTrackSelectionV0daughTPC (posTrack) && passedPionSelection (posTrack) && posTrack. hasITS ( ))
280+ if (passedTrackSelectionV0daughTPC (posTrack) && passedPionSelection (posTrack) && passedTrackSelectionIts (posTrack ))
269281 registryData.fill (HIST (" secPionV0TPC_ITS" ), posTrack.pt (), posTrack.eta (), TVector2::Phi_0_2pi (posTrack.phi ()));
270- if (passedTrackSelectionV0daughTPC (negTrack) && passedPionSelection (negTrack) && negTrack. hasITS ( ))
282+ if (passedTrackSelectionV0daughTPC (negTrack) && passedPionSelection (negTrack) && passedTrackSelectionIts (negTrack ))
271283 registryData.fill (HIST (" secPionV0TPC_ITS" ), negTrack.pt (), negTrack.eta (), TVector2::Phi_0_2pi (negTrack.phi ()));
272284 }
273285 }
@@ -299,7 +311,7 @@ struct LfITSTPCMatchingSecondaryTracksQA {
299311 // Secondary Tracks
300312 if (passedTrackSelectionTpcSecondary (track) && passedPionSelection (track))
301313 registryMC.fill (HIST (" secPionTPC_MC" ), track.pt (), track.eta (), TVector2::Phi_0_2pi (track.phi ()));
302- if (passedTrackSelectionTpcSecondary (track) && passedPionSelection (track) && track. hasITS ( ))
314+ if (passedTrackSelectionTpcSecondary (track) && passedPionSelection (track) && passedTrackSelectionIts (track ))
303315 registryMC.fill (HIST (" secPionTPC_ITS_MC" ), track.pt (), track.eta (), TVector2::Phi_0_2pi (track.phi ()));
304316 }
305317
@@ -314,9 +326,9 @@ struct LfITSTPCMatchingSecondaryTracksQA {
314326 registryMC.fill (HIST (" secPionV0TPC_MC" ), posTrack.pt (), posTrack.eta (), TVector2::Phi_0_2pi (posTrack.phi ()));
315327 if (passedTrackSelectionV0daughTPC (negTrack) && passedPionSelection (negTrack))
316328 registryMC.fill (HIST (" secPionV0TPC_MC" ), negTrack.pt (), negTrack.eta (), TVector2::Phi_0_2pi (negTrack.phi ()));
317- if (passedTrackSelectionV0daughTPC (posTrack) && passedPionSelection (posTrack) && posTrack. hasITS ( ))
329+ if (passedTrackSelectionV0daughTPC (posTrack) && passedPionSelection (posTrack) && passedTrackSelectionIts (posTrack ))
318330 registryMC.fill (HIST (" secPionV0TPC_ITS_MC" ), posTrack.pt (), posTrack.eta (), TVector2::Phi_0_2pi (posTrack.phi ()));
319- if (passedTrackSelectionV0daughTPC (negTrack) && passedPionSelection (negTrack) && negTrack. hasITS ( ))
331+ if (passedTrackSelectionV0daughTPC (negTrack) && passedPionSelection (negTrack) && passedTrackSelectionIts (negTrack ))
320332 registryMC.fill (HIST (" secPionV0TPC_ITS_MC" ), negTrack.pt (), negTrack.eta (), TVector2::Phi_0_2pi (negTrack.phi ()));
321333 }
322334 }
0 commit comments