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
@@ -1,3 +1,3 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
Expand All @@ -12,7 +12,7 @@
///
/// \file LFNonPromptCascadeTable.h
/// \brief Non prompt cascade tables
///

Check warning on line 15 in PWGLF/DataModel/LFNonPromptCascadeTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Documentation for \author is missing, incorrect or misplaced.

Check warning on line 15 in PWGLF/DataModel/LFNonPromptCascadeTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Documentation for \file is missing, incorrect or misplaced.

#include "Framework/AnalysisDataModel.h"
#include "Framework/ASoAHelpers.h"
Expand All @@ -26,7 +26,7 @@
{
DECLARE_SOA_COLUMN(MatchingChi2, matchingChi2, float);
DECLARE_SOA_COLUMN(DeltaPtITSCascade, deltaPtITSCascade, float);
DECLARE_SOA_COLUMN(ITSClusSize, itsClusSize, float);

Check warning on line 29 in PWGLF/DataModel/LFNonPromptCascadeTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(HasReassociatedCluster, hasReassociatedCluster, bool);
DECLARE_SOA_COLUMN(IsGoodMatch, isGoodMatch, bool);
DECLARE_SOA_COLUMN(IsGoodCascade, isGoodCascade, bool);
Expand All @@ -38,6 +38,7 @@
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 All @@ -59,8 +60,8 @@
DECLARE_SOA_COLUMN(BachDCAxy, bachDCAxy, float);
DECLARE_SOA_COLUMN(BachDCAz, bachDCAz, float);

DECLARE_SOA_COLUMN(CascCosPA, casccosPA, float);

Check warning on line 63 in PWGLF/DataModel/LFNonPromptCascadeTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(V0CosPA, v0cosPA, float);

Check warning on line 64 in PWGLF/DataModel/LFNonPromptCascadeTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.

DECLARE_SOA_COLUMN(MassXi, massXi, double);
DECLARE_SOA_COLUMN(MassOmega, massOmega, double);
Expand Down Expand Up @@ -95,10 +96,10 @@
DECLARE_SOA_COLUMN(BachKaonTOFNSigma, bachKaonTOFNSigma, float);
DECLARE_SOA_COLUMN(BachPionTOFNSigma, bachPionTOFNSigma, float);

DECLARE_SOA_COLUMN(gPt, genPt, float);

Check warning on line 99 in PWGLF/DataModel/LFNonPromptCascadeTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(gEta, genEta, float);

Check warning on line 100 in PWGLF/DataModel/LFNonPromptCascadeTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(gPhi, genPhi, float);

Check warning on line 101 in PWGLF/DataModel/LFNonPromptCascadeTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(PDGcode, pdgCode, int);

Check warning on line 102 in PWGLF/DataModel/LFNonPromptCascadeTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(DCAxMC, dcaXmc, float);
DECLARE_SOA_COLUMN(DCAyMC, dcaYmc, float);
DECLARE_SOA_COLUMN(DCAzMC, dcaZmc, float);
Expand All @@ -115,6 +116,7 @@
NPCascadeTable::ITSClusSize,
NPCascadeTable::HasReassociatedCluster,
aod::collision::NumContrib,
NPCascadeTable::CascPVContribs,
aod::collision::CollisionTimeRes,
NPCascadeTable::PvX,
NPCascadeTable::PvY,
Expand Down Expand Up @@ -173,6 +175,7 @@
NPCascadeTable::ITSClusSize,
NPCascadeTable::HasReassociatedCluster,
aod::collision::NumContrib,
NPCascadeTable::CascPVContribs,
aod::collision::CollisionTimeRes,
NPCascadeTable::PvX,
NPCascadeTable::PvY,
Expand Down Expand Up @@ -237,6 +240,7 @@
NPCascadeTable::IsFromBeauty,
NPCascadeTable::IsFromCharm,
aod::collision::NumContrib,
NPCascadeTable::CascPVContribs,
aod::collision::CollisionTimeRes,
NPCascadeTable::PvX,
NPCascadeTable::PvY,
Expand Down Expand Up @@ -309,6 +313,7 @@
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
Loading