Skip to content

Commit 50b4c98

Browse files
authored
[PWGLF] nonPromptCascade: added PDG code of Omega/Xi mother in MC (#7039)
1 parent 12ca099 commit 50b4c98

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

PWGLF/DataModel/LFNonPromptCascadeTables.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ namespace NPCascadeTable
2727
DECLARE_SOA_COLUMN(MatchingChi2, matchingChi2, float);
2828
DECLARE_SOA_COLUMN(IsGoodMatch, isGoodMatch, bool);
2929
DECLARE_SOA_COLUMN(IsGoodCascade, isGoodCascade, bool);
30+
DECLARE_SOA_COLUMN(PdgCodePrimary, pdgCodePrimary, int);
3031

3132
DECLARE_SOA_COLUMN(PvX, pvX, float);
3233
DECLARE_SOA_COLUMN(PvY, pvY, float);
@@ -154,6 +155,7 @@ DECLARE_SOA_TABLE(NPCascTableMC, "AOD", "NPCASCTABLEMC",
154155
NPCascadeTable::MatchingChi2,
155156
NPCascadeTable::IsGoodMatch,
156157
NPCascadeTable::IsGoodCascade,
158+
NPCascadeTable::PdgCodePrimary,
157159
NPCascadeTable::PvX,
158160
NPCascadeTable::PvY,
159161
NPCascadeTable::PvZ,

PWGLF/Tasks/Strangeness/nonPromptCascade.cxx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ struct NPCascCandidate {
4343
float matchingChi2;
4444
bool isGoodMatch;
4545
bool isGoodCascade;
46+
int pdgCodePrimary;
4647
float pvX;
4748
float pvY;
4849
float pvZ;
@@ -582,7 +583,15 @@ struct NonPromptCascadeTask {
582583

583584
bool isGoodMatch = ((motherParticleID == ITStrack.mcParticleId())) ? true : false;
584585

585-
candidates.emplace_back(NPCascCandidate{track.globalIndex(), ITStrack.globalIndex(), trackedCascade.matchingChi2(), isGoodMatch, isGoodCascade,
586+
int pdgCodePrimary = -1;
587+
if (isGoodCascade && isGoodMatch) {
588+
if (track.mcParticle().has_mothers()) {
589+
const auto primary = track.mcParticle().mothers_as<aod::McParticles>()[0];
590+
pdgCodePrimary = primary.pdgCode();
591+
}
592+
}
593+
594+
candidates.emplace_back(NPCascCandidate{track.globalIndex(), ITStrack.globalIndex(), trackedCascade.matchingChi2(), isGoodMatch, isGoodCascade, pdgCodePrimary,
586595
primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ(),
587596
track.pt(), track.eta(), track.phi(),
588597
protonTrack.pt(), protonTrack.eta(), pionTrack.pt(), pionTrack.eta(), bachelor.pt(), bachelor.eta(),
@@ -609,7 +618,7 @@ struct NonPromptCascadeTask {
609618
auto particle = mcParticles.iteratorAt(mcParticleId[i]);
610619
auto& c = candidates[i];
611620

612-
NPCTableMC(c.matchingChi2, c.isGoodMatch, c.isGoodCascade,
621+
NPCTableMC(c.matchingChi2, c.isGoodMatch, c.isGoodCascade, c.pdgCodePrimary,
613622
c.pvX, c.pvY, c.pvZ,
614623
c.cascPt, c.cascEta, c.cascPhi,
615624
c.protonPt, c.protonEta, c.pionPt, c.pionEta, c.bachPt, c.bachEta,
@@ -819,7 +828,7 @@ struct NonPromptCascadeTask {
819828
daughtersDCA dDCA;
820829
fillDauDCA(trackedCascade, bachelor, protonTrack, pionTrack, primaryVertex, isOmega, dDCA);
821830

822-
candidates.emplace_back(NPCascCandidate{track.globalIndex(), ITStrack.globalIndex(), trackedCascade.matchingChi2(), 0, 0,
831+
candidates.emplace_back(NPCascCandidate{track.globalIndex(), ITStrack.globalIndex(), trackedCascade.matchingChi2(), 0, 0, -1,
823832
primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ(),
824833
track.pt(), track.eta(), track.phi(),
825834
protonTrack.pt(), protonTrack.eta(), pionTrack.pt(), pionTrack.eta(), bachelor.pt(), bachelor.eta(),

0 commit comments

Comments
 (0)