Skip to content

Commit 23272b6

Browse files
committed
dev: adding toi mask to table
1 parent fb0827b commit 23272b6

File tree

2 files changed

+34
-14
lines changed

2 files changed

+34
-14
lines changed

PWGLF/DataModel/LFNonPromptCascadeTables.h

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ DECLARE_SOA_COLUMN(MultFT0M, multFT0M, float);
119119
DECLARE_SOA_COLUMN(CentFT0C, centFT0C, float);
120120
DECLARE_SOA_COLUMN(CentFT0A, centFT0A, float);
121121
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float);
122+
DECLARE_SOA_COLUMN(ToiMask, toiMask, uint32_t);
122123

123124
} // namespace NPCascadeTable
124125
DECLARE_SOA_TABLE(NPCascTable, "AOD", "NPCASCTABLE",
@@ -183,7 +184,8 @@ DECLARE_SOA_TABLE(NPCascTable, "AOD", "NPCASCTABLE",
183184
NPCascadeTable::MultFT0M,
184185
NPCascadeTable::CentFT0C,
185186
NPCascadeTable::CentFT0A,
186-
NPCascadeTable::CentFT0M)
187+
NPCascadeTable::CentFT0M,
188+
NPCascadeTable::ToiMask)
187189

188190
DECLARE_SOA_TABLE(NPCascTableNT, "AOD", "NPCASCTABLENT",
189191
NPCascadeTable::MatchingChi2,
@@ -247,7 +249,8 @@ DECLARE_SOA_TABLE(NPCascTableNT, "AOD", "NPCASCTABLENT",
247249
NPCascadeTable::MultFT0M,
248250
NPCascadeTable::CentFT0C,
249251
NPCascadeTable::CentFT0A,
250-
NPCascadeTable::CentFT0M)
252+
NPCascadeTable::CentFT0M,
253+
NPCascadeTable::ToiMask)
251254

252255
DECLARE_SOA_TABLE(NPCascTableMC, "AOD", "NPCASCTABLEMC",
253256
NPCascadeTable::MatchingChi2,
@@ -330,7 +333,8 @@ DECLARE_SOA_TABLE(NPCascTableMC, "AOD", "NPCASCTABLEMC",
330333
NPCascadeTable::DCAzMC,
331334
NPCascadeTable::MCcollisionMatch,
332335
NPCascadeTable::HasFakeReassociation,
333-
NPCascadeTable::MotherDecayDaughters)
336+
NPCascadeTable::MotherDecayDaughters,
337+
NPCascadeTable::ToiMask)
334338

335339
DECLARE_SOA_TABLE(NPCascTableMCNT, "AOD", "NPCASCTABLEMCNT",
336340
NPCascadeTable::MatchingChi2,
@@ -413,7 +417,8 @@ DECLARE_SOA_TABLE(NPCascTableMCNT, "AOD", "NPCASCTABLEMCNT",
413417
NPCascadeTable::DCAzMC,
414418
NPCascadeTable::MCcollisionMatch,
415419
NPCascadeTable::HasFakeReassociation,
416-
NPCascadeTable::MotherDecayDaughters)
420+
NPCascadeTable::MotherDecayDaughters,
421+
NPCascadeTable::ToiMask)
417422

418423
DECLARE_SOA_TABLE(NPCascTableGen, "AOD", "NPCASCTABLEGen",
419424
NPCascadeTable::gPt,

PWGLF/Tasks/Strangeness/nonPromptCascade.cxx

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ struct NPCascCandidate {
125125
float centFT0C;
126126
float centFT0A;
127127
float centFT0M;
128+
uint32_t toiMask;
128129
};
129130
std::array<bool, 2> isFromHF(auto& particle)
130131
{
@@ -287,7 +288,7 @@ struct NonPromptCascadeTask {
287288
return true;
288289
}
289290

290-
void zorroAccounting(const auto& collisions)
291+
void zorroAccounting(const auto& collisions, auto& toiMap)
291292
{
292293
if (cfgSkimmedProcessing) {
293294
int runNumber{-1};
@@ -298,12 +299,20 @@ struct NonPromptCascadeTask {
298299
mZorro.populateHistRegistry(mRegistry, bc.runNumber());
299300
runNumber = bc.runNumber();
300301
}
301-
mZorro.isSelected(bc.globalBC()); /// Just let Zorro do the accounting
302+
bool sel = mZorro.isSelected(bc.globalBC()); /// Just let Zorro do the accounting
303+
if(sel) {
304+
std::vector<bool> toivect = mZorro.getTriggerOfInterestResults();
305+
uint32_t toiMask = 0;
306+
for(uint i = 0; i < toivect.size(); i++) {
307+
toiMask += 1 << i;
308+
}
309+
toiMap[bc.globalBC()] = toiMask;
310+
}
302311
}
303312
}
304313
}
305314
template <typename TrackType, typename CollisionType>
306-
void fillCandidatesVector(CollisionType const&, TrackType const& tracks, auto const& cascades, auto& candidates)
315+
void fillCandidatesVector(CollisionType const&, TrackType const& tracks, auto const& cascades, auto& candidates, std::map<uint64_t,uint32_t> toiMap = {})
307316
{
308317

309318
const auto& getCascade = [](auto const& candidate) {
@@ -507,6 +516,10 @@ struct NonPromptCascadeTask {
507516
} else {
508517
o2::base::Propagator::Instance()->propagateToDCA(primaryVertex, ntCascadeTrack, mBz, 2.f, matCorr, &motherDCA);
509518
}
519+
uint32_t toiMask = 0x0;
520+
if(toiMap.count(bc.globalBC())) {
521+
toiMask = toiMap[bc.globalBC()];
522+
}
510523
candidates.emplace_back(NPCascCandidate{mcParticleID, trackedCascGlobalIndex, itsTrackGlobalIndex, candidate.collisionId(), matchingChi2, deltaPtITSCascade, deltaPtCascade, cascITSclsSize, hasReassociatedClusters, hasFakeReassociation, isGoodMatch, isGoodCascade, pdgCodeMom, itsTrackPDG, fromHF[0], fromHF[1],
511524
collision.numContrib(), cascPVContribs, collision.collisionTimeRes(), primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ(),
512525
cascadeLvector.pt(), cascadeLvector.eta(), cascadeLvector.phi(),
@@ -517,7 +530,7 @@ struct NonPromptCascadeTask {
517530
cascITSclusters, protonTrack.itsNCls(), pionTrack.itsNCls(), bachelor.itsNCls(), protonTrack.tpcNClsFound(), pionTrack.tpcNClsFound(), bachelor.tpcNClsFound(),
518531
protonTrack.tpcNSigmaPr(), pionTrack.tpcNSigmaPi(), bachelor.tpcNSigmaKa(), bachelor.tpcNSigmaPi(),
519532
protonTrack.hasTOF(), pionTrack.hasTOF(), bachelor.hasTOF(),
520-
protonTrack.tofNSigmaPr(), pionTrack.tofNSigmaPi(), bachelor.tofNSigmaKa(), bachelor.tofNSigmaPi(), collision.sel8(), collision.multFT0C(), collision.multFT0A(), collision.multFT0M(), collision.centFT0C(), collision.centFT0A(), collision.centFT0M()});
533+
protonTrack.tofNSigmaPr(), pionTrack.tofNSigmaPi(), bachelor.tofNSigmaKa(), bachelor.tofNSigmaPi(), collision.sel8(), collision.multFT0C(), collision.multFT0A(), collision.multFT0M(), collision.centFT0C(), collision.centFT0A(), collision.centFT0M(), toiMask});
521534
}
522535
}
523536

@@ -537,7 +550,7 @@ struct NonPromptCascadeTask {
537550
c.protonTPCNSigma, c.pionTPCNSigma, c.bachKaonTPCNSigma, c.bachPionTPCNSigma,
538551
c.protonHasTOF, c.pionHasTOF, c.bachHasTOF,
539552
c.protonTOFNSigma, c.pionTOFNSigma, c.bachKaonTOFNSigma, c.bachPionTOFNSigma,
540-
c.sel8, c.multFT0C, c.multFT0A, c.multFT0M, c.centFT0C, c.centFT0A, c.centFT0M);
553+
c.sel8, c.multFT0C, c.multFT0A, c.multFT0M, c.centFT0C, c.centFT0A, c.centFT0M, c.toiMask);
541554
}
542555
}
543556

@@ -576,7 +589,7 @@ struct NonPromptCascadeTask {
576589
c.sel8, c.multFT0C, c.multFT0A, c.multFT0M, c.centFT0C, c.centFT0A, c.centFT0M,
577590
particle.pt(), particle.eta(), particle.phi(), mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(),
578591
particle.pdgCode(), mcCollision.posX() - particle.vx(), mcCollision.posY() - particle.vy(),
579-
mcCollision.posZ() - particle.vz(), mcCollision.globalIndex() == recCollision.mcCollisionId(), c.hasFakeReassociation, motherDecayDaughters);
592+
mcCollision.posZ() - particle.vz(), mcCollision.globalIndex() == recCollision.mcCollisionId(), c.hasFakeReassociation, motherDecayDaughters,c.toiMask);
580593
}
581594
}
582595

@@ -653,8 +666,9 @@ struct NonPromptCascadeTask {
653666
aod::V0s const& /*v0s*/, TracksExtData const& tracks,
654667
aod::BCsWithTimestamps const&)
655668
{
656-
zorroAccounting(collisions);
657-
fillCandidatesVector<TracksExtData>(collisions, tracks, trackedCascades, gCandidates);
669+
std::map<uint64_t, uint32_t> toiMap;
670+
zorroAccounting(collisions, toiMap);
671+
fillCandidatesVector<TracksExtData>(collisions, tracks, trackedCascades, gCandidates, toiMap);
658672
fillDataTable<aod::AssignedTrackedCascades>(gCandidates);
659673
}
660674
PROCESS_SWITCH(NonPromptCascadeTask, processTrackedCascadesData, "process cascades from strangeness tracking: Data analysis", false);
@@ -663,8 +677,9 @@ struct NonPromptCascadeTask {
663677
aod::V0s const& /*v0s*/, TracksExtData const& tracks,
664678
aod::BCsWithTimestamps const&)
665679
{
666-
zorroAccounting(collisions);
667-
fillCandidatesVector<TracksExtData>(collisions, tracks, cascades, gCandidatesNT);
680+
std::map<uint64_t, uint32_t> toiMap;
681+
zorroAccounting(collisions, toiMap);
682+
fillCandidatesVector<TracksExtData>(collisions, tracks, cascades, gCandidatesNT, toiMap);
668683
fillDataTable<aod::Cascades>(gCandidatesNT);
669684
}
670685
PROCESS_SWITCH(NonPromptCascadeTask, processCascadesData, "process cascades: Data analysis", false);

0 commit comments

Comments
 (0)