Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions PWGLF/DataModel/LFNonPromptCascadeTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ DECLARE_SOA_COLUMN(IsFromCharm, isFromCharm, bool);
DECLARE_SOA_COLUMN(PvX, pvX, float);
DECLARE_SOA_COLUMN(PvY, pvY, float);
DECLARE_SOA_COLUMN(PvZ, pvZ, float);
DECLARE_SOA_COLUMN(CascPVContribs, cascPVContribs, uint8_t);

DECLARE_SOA_COLUMN(CascPt, cascPt, float);
DECLARE_SOA_COLUMN(CascEta, cascEta, float);
Expand Down Expand Up @@ -115,6 +116,7 @@ DECLARE_SOA_TABLE(NPCascTable, "AOD", "NPCASCTABLE",
NPCascadeTable::ITSClusSize,
NPCascadeTable::HasReassociatedCluster,
aod::collision::NumContrib,
NPCascadeTable::CascPVContribs,
aod::collision::CollisionTimeRes,
NPCascadeTable::PvX,
NPCascadeTable::PvY,
Expand Down Expand Up @@ -173,6 +175,7 @@ DECLARE_SOA_TABLE(NPCascTableNT, "AOD", "NPCASCTABLENT",
NPCascadeTable::ITSClusSize,
NPCascadeTable::HasReassociatedCluster,
aod::collision::NumContrib,
NPCascadeTable::CascPVContribs,
aod::collision::CollisionTimeRes,
NPCascadeTable::PvX,
NPCascadeTable::PvY,
Expand Down Expand Up @@ -237,6 +240,7 @@ DECLARE_SOA_TABLE(NPCascTableMC, "AOD", "NPCASCTABLEMC",
NPCascadeTable::IsFromBeauty,
NPCascadeTable::IsFromCharm,
aod::collision::NumContrib,
NPCascadeTable::CascPVContribs,
aod::collision::CollisionTimeRes,
NPCascadeTable::PvX,
NPCascadeTable::PvY,
Expand Down Expand Up @@ -309,6 +313,7 @@ DECLARE_SOA_TABLE(NPCascTableMCNT, "AOD", "NPCASCTABLEMCNT",
NPCascadeTable::IsFromBeauty,
NPCascadeTable::IsFromCharm,
aod::collision::NumContrib,
NPCascadeTable::CascPVContribs,
aod::collision::CollisionTimeRes,
NPCascadeTable::PvX,
NPCascadeTable::PvY,
Expand Down
14 changes: 11 additions & 3 deletions PWGLF/Tasks/Strangeness/nonPromptCascade.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ struct NPCascCandidate {
bool isFromBeauty;
bool isFromCharm;
uint16_t pvContributors;
uint8_t cascPVContribs;
float pvTimeResolution;
float pvX;
float pvY;
Expand Down Expand Up @@ -286,6 +287,12 @@ struct NonPromptCascadeTask {
const auto& protonTrack = bachelor.sign() > 0 ? ntrack : ptrack;
const auto& pionTrack = bachelor.sign() > 0 ? ptrack : ntrack;

// first bit for the strange track, second for pos v0, third for neg v0, fourth for bachelor
uint8_t cascPVContribs = 0;
cascPVContribs |= ptrack.isPVContributor() << 1;
cascPVContribs |= ntrack.isPVContributor() << 2;
cascPVContribs |= bachelor.isPVContributor() << 3;

mRegistry.fill(HIST("h_PIDcutsXi"), 0, 1.322);
mRegistry.fill(HIST("h_PIDcutsOmega"), 0, 1.675);

Expand Down Expand Up @@ -422,6 +429,7 @@ struct NonPromptCascadeTask {
int trackedCascGlobalIndex{-1}, itsTrackGlobalIndex{-1}, cascITSclusters{-1};
if constexpr (requires { candidate.track(); }) {
const auto& track = candidate.template track_as<TrackType>();
cascPVContribs |= track.isPVContributor() << 0;
const auto& ITStrack = candidate.template itsTrack_as<TrackType>();
auto trackTrkParCov = getTrackParCov(track);
o2::base::Propagator::Instance()->propagateToDCA(primaryVertex, trackTrkParCov, mBz, 2.f, matCorr, &motherDCA);
Expand All @@ -447,7 +455,7 @@ struct NonPromptCascadeTask {
float mc = collision.multFT0C();
float ma = collision.multFT0A();
candidates.emplace_back(NPCascCandidate{mcParticleID, trackedCascGlobalIndex, itsTrackGlobalIndex, candidate.collisionId(), matchingChi2, deltaPtITSCascade, cascITSclsSize, hasReassociatedClusters, isGoodMatch, isGoodCascade, pdgCodeMom, itsTrackPDG, fromHF[0], fromHF[1],
collision.numContrib(), collision.collisionTimeRes(), primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ(),
collision.numContrib(), cascPVContribs, collision.collisionTimeRes(), primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ(),
cascadeLvector.pt(), cascadeLvector.eta(), cascadeLvector.phi(),
protonTrack.pt(), protonTrack.eta(), pionTrack.pt(), pionTrack.eta(), bachelor.pt(), bachelor.eta(),
motherDCA.getY(), motherDCA.getZ(), protonDCA.getY(), protonDCA.getZ(), pionDCA.getY(), pionDCA.getZ(), bachDCA.getY(), bachDCA.getZ(),
Expand All @@ -465,7 +473,7 @@ struct NonPromptCascadeTask {
{
for (const auto& c : candidates) {
getDataTable<CascadeType>()(c.matchingChi2, c.deltaPt, c.itsClusSize, c.hasReassociatedCluster,
c.pvContributors, c.pvTimeResolution, c.pvX, c.pvY, c.pvZ,
c.pvContributors, c.cascPVContribs, c.pvTimeResolution, c.pvX, c.pvY, c.pvZ,
c.cascPt, c.cascEta, c.cascPhi,
c.protonPt, c.protonEta, c.pionPt, c.pionEta, c.bachPt, c.bachEta,
c.cascDCAxy, c.cascDCAz, c.protonDCAxy, c.protonDCAz, c.pionDCAxy, c.pionDCAz, c.bachDCAxy, c.bachDCAz,
Expand All @@ -492,7 +500,7 @@ struct NonPromptCascadeTask {
auto recCollision = collisions.iteratorAt(c.collisionID);

getMCtable<CascadeType>()(c.matchingChi2, c.deltaPt, c.itsClusSize, c.hasReassociatedCluster, c.isGoodMatch, c.isGoodCascade, c.pdgCodeMom, c.pdgCodeITStrack, c.isFromBeauty, c.isFromCharm,
c.pvContributors, c.pvTimeResolution, c.pvX, c.pvY, c.pvZ, c.cascPt, c.cascEta, c.cascPhi,
c.pvContributors, c.cascPVContribs, c.pvTimeResolution, c.pvX, c.pvY, c.pvZ, c.cascPt, c.cascEta, c.cascPhi,
c.protonPt, c.protonEta, c.pionPt, c.pionEta, c.bachPt, c.bachEta,
c.cascDCAxy, c.cascDCAz, c.protonDCAxy, c.protonDCAz, c.pionDCAxy, c.pionDCAz, c.bachDCAxy, c.bachDCAz,
c.casccosPA, c.v0cosPA, c.massXi, c.massOmega, c.massV0, c.cascRadius, c.v0radius, c.cascLength, c.v0length,
Expand Down