From 6acb88050408d809a8c36572a293e9839e9a453f Mon Sep 17 00:00:00 2001 From: nzardosh Date: Fri, 11 Sep 2026 16:52:18 +0200 Subject: [PATCH] fixing bug in V0 jet finder --- PWGJE/Core/JetFindingUtilities.h | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/PWGJE/Core/JetFindingUtilities.h b/PWGJE/Core/JetFindingUtilities.h index cc741758d90..9d03d9e9054 100644 --- a/PWGJE/Core/JetFindingUtilities.h +++ b/PWGJE/Core/JetFindingUtilities.h @@ -137,14 +137,19 @@ template void analyseTracksMultipleCandidates(std::vector& inputParticles, T const& tracks, int trackSelection, U const& candidates) { for (auto& track : tracks) { + bool isSelected = true; if (!jetderiveddatautilities::selectTrack(track, trackSelection)) { continue; } for (auto& candidate : candidates) { if (jetcandidateutilities::isDaughterTrack(track, candidate)) { - continue; + isSelected = false; + break; } } + if (!isSelected) { + continue; + } fastjetutilities::fillTracks(track, inputParticles, track.globalIndex()); } } @@ -376,19 +381,25 @@ void analyseParticles(std::vector& inputParticles, const std } } } + bool isSelected = true; if constexpr (jetv0utilities::isV0McTable()) { // note that for V0s the candidate table is given to this function, not a single candidate if (candidate != nullptr) { for (auto const& cand : (*candidate)) { if (cand.mcParticleId() == particle.globalIndex()) { - continue; + isSelected = false; + break; } auto v0Particle = cand.template mcParticle_as(); if (jetcandidateutilities::isDaughterParticle(v0Particle, particle.globalIndex())) { - continue; + isSelected = false; + break; } } } } + if (!isSelected) { + continue; + } fastjetutilities::fillTracks(particle, inputParticles, particle.globalIndex(), JetConstituentStatus::track, pdgParticle->Mass()); } }