Skip to content

Commit 59aaf39

Browse files
[PWGJE] Change to a more efficient way of selecting particle tracks (#12686)
1 parent ba53ebe commit 59aaf39

File tree

1 file changed

+33
-24
lines changed

1 file changed

+33
-24
lines changed

PWGJE/Tasks/jetShape.cxx

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -268,37 +268,46 @@ struct JetShapeTask {
268268

269269
registry.fill(HIST("event/vertexz"), collision.posZ());
270270

271+
std::vector<typename std::decay_t<decltype(tracks)>::iterator> goodTracks;
272+
for (auto it = tracks.begin(); it != tracks.end(); ++it) {
273+
const auto& track = *it;
274+
275+
registry.fill(HIST("trackTpcNClsCrossedRows"), track.tpcNClsCrossedRows());
276+
registry.fill(HIST("trackDcaXY"), track.dcaXY());
277+
registry.fill(HIST("trackItsChi2NCl"), track.itsChi2NCl());
278+
registry.fill(HIST("trackTpcChi2NCl"), track.tpcChi2NCl());
279+
registry.fill(HIST("trackTpcNClsFound"), track.tpcNClsFound());
280+
registry.fill(HIST("trackItsNCls"), track.itsNCls());
281+
registry.fill(HIST("trackEta"), track.eta());
282+
registry.fill(HIST("trackPhi"), track.phi());
283+
284+
if (std::abs(track.eta()) > etaTrUp)
285+
continue;
286+
if (track.tpcNClsCrossedRows() < nclcrossTpcMin)
287+
continue;
288+
if (std::abs(track.dcaXY()) > dcaxyMax)
289+
continue;
290+
if (track.itsChi2NCl() > chi2ItsMax)
291+
continue;
292+
if (track.tpcChi2NCl() > chi2TpcMax)
293+
continue;
294+
if (track.tpcNClsFound() < nclTpcMin)
295+
continue;
296+
if (track.itsNCls() < nclItsMin)
297+
continue;
298+
299+
goodTracks.push_back(it);
300+
}
301+
271302
for (auto const& jet : jets) {
272303
if (!isAcceptedJet<aod::JetTracks>(jet)) {
273304
continue;
274305
}
275306

276307
// tracks conditions
277-
for (const auto& track : tracks) {
308+
for (const auto& track_it : goodTracks) {
278309

279-
registry.fill(HIST("trackTpcNClsCrossedRows"), track.tpcNClsCrossedRows());
280-
registry.fill(HIST("trackDcaXY"), track.dcaXY());
281-
registry.fill(HIST("trackItsChi2NCl"), track.itsChi2NCl());
282-
registry.fill(HIST("trackTpcChi2NCl"), track.tpcChi2NCl());
283-
registry.fill(HIST("trackTpcNClsFound"), track.tpcNClsFound());
284-
registry.fill(HIST("trackItsNCls"), track.itsNCls());
285-
registry.fill(HIST("trackEta"), track.eta());
286-
registry.fill(HIST("trackPhi"), track.phi());
287-
288-
if (std::abs(track.eta()) > etaTrUp)
289-
continue;
290-
if (track.tpcNClsCrossedRows() < nclcrossTpcMin)
291-
continue;
292-
if (std::abs(track.dcaXY()) > dcaxyMax)
293-
continue;
294-
if (track.itsChi2NCl() > chi2ItsMax)
295-
continue;
296-
if (track.tpcChi2NCl() > chi2TpcMax)
297-
continue;
298-
if (track.tpcNClsFound() < nclTpcMin)
299-
continue;
300-
if (track.itsNCls() < nclItsMin)
301-
continue;
310+
const auto& track = *track_it;
302311

303312
// PID check
304313
registry.fill(HIST("tofMass"), track.mass());

0 commit comments

Comments
 (0)