Skip to content

Commit 6490c62

Browse files
authored
[PWGJE] V0 Jet Finder: use V0 signal flags (#11190)
1 parent 9aceb89 commit 6490c62

File tree

5 files changed

+15
-10
lines changed

5 files changed

+15
-10
lines changed

PWGJE/Core/JetFindingUtilities.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ bool analyseCandidateMC(std::vector<fastjet::PseudoJet>& inputParticles, T const
224224
* @param v0s V0 candidates
225225
*/
226226
template <typename T>
227-
bool analyseV0s(std::vector<fastjet::PseudoJet>& inputParticles, T const& v0s, float v0PtMin, float v0PtMax, float v0YMin, float v0YMax, int v0Index)
227+
bool analyseV0s(std::vector<fastjet::PseudoJet>& inputParticles, T const& v0s, float v0PtMin, float v0PtMax, float v0YMin, float v0YMax, int v0Index, bool useV0SignalFlags)
228228
{
229229
float v0Mass = 0;
230230
float v0Y = -10.0;
@@ -235,6 +235,9 @@ bool analyseV0s(std::vector<fastjet::PseudoJet>& inputParticles, T const& v0s, f
235235
v0Mass = v0.m();
236236
v0Y = v0.y();
237237
} else {
238+
if (useV0SignalFlags && v0.isRejectedCandidate()) {
239+
continue;
240+
}
238241
if (v0Index == 0) {
239242
v0Mass = o2::constants::physics::MassKaonNeutral;
240243
}

PWGJE/DataModel/Jet.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include "PWGHF/DataModel/DerivedTables.h"
3636
#include "PWGHF/DataModel/CandidateSelectionTables.h"
3737
#include "PWGLF/DataModel/LFStrangenessTables.h"
38+
#include "PWGLF/DataModel/V0SelectorTables.h"
3839
#include "PWGDQ/DataModel/ReducedInfoTables.h"
3940

4041
namespace o2::aod
@@ -244,8 +245,8 @@ using JetParticlesSubBplus = JMcParticleBplusSubs;
244245
using McCollisionsBplus = o2::soa::Join<HfBplusMcCollBases, JBplusMcCollisionIds>;
245246
using CandidatesBplusMCP = o2::soa::Join<HfBplusPBases, JBplusPIds>;
246247

247-
using CandidatesV0Data = o2::soa::Join<V0Cores, JV0Ids>;
248-
using CandidatesV0MCD = o2::soa::Join<V0Cores, V0MCCores, JV0Ids>;
248+
using CandidatesV0Data = o2::soa::Join<V0Cores, JV0Ids, V0SignalFlags>;
249+
using CandidatesV0MCD = o2::soa::Join<V0Cores, V0MCCores, JV0Ids, V0SignalFlags>;
249250
// using V0Daughters = DauTrackExtras;
250251
using McCollisionsV0 = o2::soa::Join<JV0McCollisions, JV0McCollisionIds>;
251252
using CandidatesV0MCP = o2::soa::Join<JV0Mcs, JV0McIds>;

PWGJE/JetFinders/jetFinderV0.cxx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include "PWGJE/Core/JetFindingUtilities.h"
3838
#include "PWGJE/DataModel/Jet.h"
3939
#include "PWGJE/DataModel/JetReducedData.h"
40+
#include "PWGLF/DataModel/V0SelectorTables.h"
4041

4142
using namespace o2;
4243
using namespace o2::framework;
@@ -93,6 +94,7 @@ struct JetFinderV0Task {
9394
Configurable<int> jetPtBinWidth{"jetPtBinWidth", 5, "used to define the width of the jetPt bins for the THnSparse"};
9495
Configurable<bool> fillTHnSparse{"fillTHnSparse", true, "switch to fill the THnSparse"};
9596
Configurable<double> jetExtraParam{"jetExtraParam", -99.0, "sets the _extra_param in fastjet"};
97+
Configurable<bool> useV0SignalFlags{"useV0SignalFlags", true, "use V0 signal flags table"};
9698

9799
Service<o2::framework::O2DatabasePDG> pdgDatabase;
98100
int trackSelection = -1;
@@ -161,7 +163,6 @@ struct JetFinderV0Task {
161163
Filter mcCollisionFilter = ((skipMBGapEvents.node() == false) || (aod::jmccollision::subGeneratorId != static_cast<int>(jetderiveddatautilities::JCollisionSubGeneratorId::mbGap))); // should we add a posZ vtx cut here or leave it to analysers?
162164
Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta >= trackEtaMin && aod::jtrack::eta <= trackEtaMax && aod::jtrack::phi >= trackPhiMin && aod::jtrack::phi <= trackPhiMax);
163165
Filter partCuts = (aod::jmcparticle::pt >= trackPtMin && aod::jmcparticle::pt < trackPtMax && aod::jmcparticle::eta >= trackEtaMin && aod::jmcparticle::eta <= trackEtaMax && aod::jmcparticle::phi >= trackPhiMin && aod::jmcparticle::phi <= trackPhiMax);
164-
// Filter candidateCuts = (aod::hfcand::pt >= candPtMin && aod::hfcand::pt < candPtMax && aod::hfcand::y >= candYMin && aod::hfcand::y < candYMax);
165166

166167
// function that generalically processes Data and reco level events
167168
template <typename T, typename U, typename V, typename M, typename N>
@@ -171,7 +172,7 @@ struct JetFinderV0Task {
171172
return;
172173
}
173174
inputParticles.clear();
174-
if (!jetfindingutilities::analyseV0s(inputParticles, candidates, candPtMin, candPtMax, candYMin, candYMax, candIndex)) {
175+
if (!jetfindingutilities::analyseV0s(inputParticles, candidates, candPtMin, candPtMax, candYMin, candYMax, candIndex, useV0SignalFlags)) {
175176
return;
176177
}
177178

@@ -192,7 +193,7 @@ struct JetFinderV0Task {
192193
{
193194

194195
inputParticles.clear();
195-
if (!jetfindingutilities::analyseV0s(inputParticles, candidates, candPtMin, candPtMax, candYMin, candYMax, candIndex)) {
196+
if (!jetfindingutilities::analyseV0s(inputParticles, candidates, candPtMin, candPtMax, candYMin, candYMax, candIndex, useV0SignalFlags)) {
196197
return;
197198
}
198199
jetfindingutilities::analyseParticles<true>(inputParticles, particleSelection, jetTypeParticleLevel, particles, pdgDatabase, &candidates);

PWGJE/Tasks/jetFragmentation.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ using MatchedMCPJetsWithConstituents = soa::Join<MCPJets, aod::ChargedMCParticle
5656

5757
// V0 jets
5858
using DataV0JetsWithConstituents = soa::Join<aod::V0ChargedJets, aod::V0ChargedJetConstituents>;
59-
using CandidatesV0DataWithFlags = soa::Join<aod::CandidatesV0Data, aod::V0SignalFlags>;
59+
using CandidatesV0DataWithFlags = aod::CandidatesV0Data;
6060

61-
using CandidatesV0MCDWithLabelsAndFlags = soa::Join<aod::CandidatesV0MCD, aod::McV0Labels, aod::V0SignalFlags>;
61+
using CandidatesV0MCDWithLabelsAndFlags = soa::Join<aod::CandidatesV0MCD, aod::McV0Labels>;
6262
using MCDV0Jets = aod::V0ChargedMCDetectorLevelJets;
6363
using MCDV0JetsWithConstituents = soa::Join<MCDV0Jets, aod::V0ChargedMCDetectorLevelJetConstituents>;
6464
using MatchedMCDV0Jets = soa::Join<MCDV0Jets, aod::V0ChargedMCDetectorLevelJetsMatchedToV0ChargedMCParticleLevelJets>;

PWGJE/Tasks/v0QA.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ using MCDV0JetsWithConstituents = soa::Join<MCDV0Jets, aod::V0ChargedMCDetectorL
4747
using MatchedMCDV0Jets = soa::Join<MCDV0Jets, aod::V0ChargedMCDetectorLevelJetsMatchedToV0ChargedMCParticleLevelJets>;
4848
using MatchedMCDV0JetsWithConstituents = soa::Join<MCDV0Jets, aod::V0ChargedMCDetectorLevelJetConstituents, aod::V0ChargedMCDetectorLevelJetsMatchedToV0ChargedMCParticleLevelJets>;
4949

50-
using CandidatesV0MCDWithFlags = soa::Join<aod::CandidatesV0MCD, aod::McV0Labels, aod::V0SignalFlags>;
50+
using CandidatesV0MCDWithFlags = soa::Join<aod::CandidatesV0MCD, aod::McV0Labels>;
5151

5252
using MCPV0Jets = aod::V0ChargedMCParticleLevelJets;
5353
using MCPV0JetsWithConstituents = soa::Join<MCPV0Jets, aod::V0ChargedMCParticleLevelJetConstituents>;
@@ -1221,7 +1221,7 @@ struct V0QA {
12211221

12221222
using DaughterJTracks = soa::Join<aod::JetTracks, aod::JTrackPIs>;
12231223
using DaughterTracks = soa::Join<aod::FullTracks, aod::TracksDCA, aod::TrackSelection, aod::TracksCov>;
1224-
void processV0TrackQA(aod::JetCollision const& /*jcoll*/, soa::Join<aod::CandidatesV0Data, aod::V0SignalFlags> const& v0s, DaughterJTracks const&, DaughterTracks const&)
1224+
void processV0TrackQA(aod::JetCollision const& /*jcoll*/, aod::CandidatesV0Data const& v0s, DaughterJTracks const&, DaughterTracks const&)
12251225
{
12261226
// if (!jetderiveddatautilities::selectCollision(jcoll, eventSelectionBits)) {
12271227
// return;

0 commit comments

Comments
 (0)