Skip to content

Commit cd30ff3

Browse files
committed
add cascade gen. info
1 parent e840743 commit cd30ff3

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

PWGLF/Tasks/Strangeness/derivedupcanalysis.cxx

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1811,6 +1811,48 @@ struct Derivedupcanalysis {
18111811
histos.fill(HIST(kParticlenames[2]) + HIST("/mc/h6dGen"), centrality, nTracksGlobal, mcCollision.multMCNParticlesEta10(), pTmc, static_cast<int>(upcCuts.genGapSide), ymc);
18121812
}
18131813
} // V0 end
1814+
1815+
// Cascade start
1816+
for (auto const& cascMC : CascMCCores) {
1817+
// Consider only primaries
1818+
if (!cascMC.has_straMCCollision() || !cascMC.isPhysicalPrimary())
1819+
continue;
1820+
// Kinematics (|y| < rapidityCut)
1821+
float pTmc = cascMC.ptMC();
1822+
float ymc = 1e3;
1823+
if (std::abs(cascMC.pdgCode()) == 3312)
1824+
ymc = RecoDecay::y(std::array{cascMC.pxMC(), cascMC.pyMC(), cascMC.pzMC()}, o2::constants::physics::MassXiMinus);
1825+
else if (std::abs(cascMC.pdgCode()) == 3334)
1826+
ymc = RecoDecay::y(std::array{cascMC.pxMC(), cascMC.pyMC(), cascMC.pzMC()}, o2::constants::physics::MassOmegaMinus);
1827+
if (std::abs(ymc) > rapidityCut)
1828+
continue;
1829+
1830+
auto mcCollision = cascMC.straMCCollision_as<StraMCCollisionsFull>(); // take gen. collision
1831+
if (std::abs(mcCollision.posZ()) > 10.f)
1832+
continue;
1833+
1834+
float centrality = -1.f;
1835+
int nTracksGlobal = -1;
1836+
if (listBestCollisionIdx[mcCollision.globalIndex()] > -1) {
1837+
auto collision = collisions.iteratorAt(listBestCollisionIdx[mcCollision.globalIndex()]);
1838+
centrality = collision.centFT0C();
1839+
nTracksGlobal = collision.multNTracksGlobal();
1840+
}
1841+
1842+
// Fill histograms
1843+
if (cascMC.pdgCode() == 3312) {
1844+
histos.fill(HIST(kParticlenames[3]) + HIST("/mc/h6dGen"), centrality, nTracksGlobal, mcCollision.multMCNParticlesEta10(), pTmc, static_cast<int>(upcCuts.genGapSide), ymc);
1845+
}
1846+
if (cascMC.pdgCode() == -3312) {
1847+
histos.fill(HIST(kParticlenames[4]) + HIST("/mc/h6dGen"), centrality, nTracksGlobal, mcCollision.multMCNParticlesEta10(), pTmc, static_cast<int>(upcCuts.genGapSide), ymc);
1848+
}
1849+
if (cascMC.pdgCode() == 3334) {
1850+
histos.fill(HIST(kParticlenames[5]) + HIST("/mc/h6dGen"), centrality, nTracksGlobal, mcCollision.multMCNParticlesEta10(), pTmc, static_cast<int>(upcCuts.genGapSide), ymc);
1851+
}
1852+
if (cascMC.pdgCode() == -3334) {
1853+
histos.fill(HIST(kParticlenames[6]) + HIST("/mc/h6dGen"), centrality, nTracksGlobal, mcCollision.multMCNParticlesEta10(), pTmc, static_cast<int>(upcCuts.genGapSide), ymc);
1854+
}
1855+
} // Cascade end
18141856
}
18151857

18161858
PROCESS_SWITCH(Derivedupcanalysis, processV0s, "Process V0s", true);

0 commit comments

Comments
 (0)