Skip to content

Commit 817e8b2

Browse files
committed
dev: mult hists per run
1 parent 955e948 commit 817e8b2

File tree

2 files changed

+54
-17
lines changed

2 files changed

+54
-17
lines changed

PWGLF/DataModel/LFNonPromptCascadeTables.h

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,12 @@ DECLARE_SOA_COLUMN(CentFT0A, centFT0A, float);
121121
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float);
122122
DECLARE_SOA_COLUMN(MultNTracksGlobal, multNTracksGlobal, int);
123123
DECLARE_SOA_COLUMN(ToiMask, toiMask, uint32_t);
124+
DECLARE_SOA_COLUMN(RunNumber, runNumber, int);
125+
DECLARE_SOA_COLUMN(NoSameBunchPileup, noSameBunchPileup, bool);
124126

125127
} // namespace NPCascadeTable
126128
DECLARE_SOA_TABLE(NPCascTable, "AOD", "NPCASCTABLE",
129+
NPCascadeTable::RunNumber,
127130
NPCascadeTable::MatchingChi2,
128131
NPCascadeTable::DeltaPtITSCascade,
129132
NPCascadeTable::DeltaPtCascade,
@@ -187,9 +190,11 @@ DECLARE_SOA_TABLE(NPCascTable, "AOD", "NPCASCTABLE",
187190
NPCascadeTable::CentFT0A,
188191
NPCascadeTable::CentFT0M,
189192
NPCascadeTable::MultNTracksGlobal,
190-
NPCascadeTable::ToiMask)
193+
NPCascadeTable::ToiMask,
194+
NPCascadeTable::NoSameBunchPileup)
191195

192196
DECLARE_SOA_TABLE(NPCascTableNT, "AOD", "NPCASCTABLENT",
197+
NPCascadeTable::RunNumber,
193198
NPCascadeTable::MatchingChi2,
194199
NPCascadeTable::DeltaPtITSCascade,
195200
NPCascadeTable::DeltaPtCascade,
@@ -253,9 +258,11 @@ DECLARE_SOA_TABLE(NPCascTableNT, "AOD", "NPCASCTABLENT",
253258
NPCascadeTable::CentFT0A,
254259
NPCascadeTable::CentFT0M,
255260
NPCascadeTable::MultNTracksGlobal,
256-
NPCascadeTable::ToiMask)
261+
NPCascadeTable::ToiMask,
262+
NPCascadeTable::NoSameBunchPileup)
257263

258264
DECLARE_SOA_TABLE(NPCascTableMC, "AOD", "NPCASCTABLEMC",
265+
NPCascadeTable::RunNumber,
259266
NPCascadeTable::MatchingChi2,
260267
NPCascadeTable::DeltaPtITSCascade,
261268
NPCascadeTable::DeltaPtCascade,
@@ -338,9 +345,11 @@ DECLARE_SOA_TABLE(NPCascTableMC, "AOD", "NPCASCTABLEMC",
338345
NPCascadeTable::HasFakeReassociation,
339346
NPCascadeTable::MotherDecayDaughters,
340347
NPCascadeTable::MultNTracksGlobal,
341-
NPCascadeTable::ToiMask)
348+
NPCascadeTable::ToiMask,
349+
NPCascadeTable::NoSameBunchPileup)
342350

343351
DECLARE_SOA_TABLE(NPCascTableMCNT, "AOD", "NPCASCTABLEMCNT",
352+
NPCascadeTable::RunNumber,
344353
NPCascadeTable::MatchingChi2,
345354
NPCascadeTable::DeltaPtITSCascade,
346355
NPCascadeTable::DeltaPtCascade,
@@ -423,7 +432,8 @@ DECLARE_SOA_TABLE(NPCascTableMCNT, "AOD", "NPCASCTABLEMCNT",
423432
NPCascadeTable::HasFakeReassociation,
424433
NPCascadeTable::MotherDecayDaughters,
425434
NPCascadeTable::MultNTracksGlobal,
426-
NPCascadeTable::ToiMask)
435+
NPCascadeTable::ToiMask,
436+
NPCascadeTable::NoSameBunchPileup)
427437

428438
DECLARE_SOA_TABLE(NPCascTableGen, "AOD", "NPCASCTABLEGen",
429439
NPCascadeTable::gPt,

PWGLF/Tasks/Strangeness/nonPromptCascade.cxx

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ using namespace o2::framework::expressions;
5252
namespace
5353
{
5454
struct NPCascCandidate {
55+
int runNumber;
5556
int64_t mcParticleId;
5657
int64_t trackGlobID;
5758
int64_t trackITSID;
@@ -127,6 +128,7 @@ struct NPCascCandidate {
127128
float centFT0M;
128129
int multNTracksGlobal;
129130
uint32_t toiMask;
131+
bool noSameBunchPileup;
130132
};
131133
std::array<bool, 2> isFromHF(auto& particle)
132134
{
@@ -182,6 +184,7 @@ struct NonPromptCascadeTask {
182184
Preslice<TracksExtMC> perCollisionMC = aod::track::collisionId;
183185

184186
HistogramRegistry mRegistry;
187+
std::map<int, OutputObj<TH1D>> mMultPerRunHistos;
185188

186189
Configurable<std::string> ccdbUrl{"ccdbUrl", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};
187190
Configurable<bool> cfgPropToPCA{"cfgPropToPCA", true, "create tracks version propagated to PCA"};
@@ -211,6 +214,17 @@ struct NonPromptCascadeTask {
211214
o2::vertexing::DCAFitterN<2> mDCAFitter;
212215
std::array<int, 2> mProcessCounter = {0, 0}; // {Tracked, All}
213216
std::map<uint64_t, uint32_t> mToiMap;
217+
std::unordered_set<int> mRuns;
218+
std::shared_ptr<TH2> mHistPointer1;
219+
std::shared_ptr<TH2> mHistPointer2;
220+
std::shared_ptr<TH2> mHistPointer3;
221+
std::shared_ptr<TH2> mHistPointer4;
222+
AxisSpec multAxis = {10000, 0, 10000, "Multiplicity FT0M"};
223+
AxisSpec centAxis = {2021, -0.025, 101.025, "Centrality"};
224+
AxisSpec centAxisZoom = {2000, -0.0025, 10.0025, "Centrality"};
225+
AxisSpec multAxisZoom = {7000, 3000, 10000, "Multiplicity FT0M"};
226+
AxisSpec nTracksAxis = {100, 0., 100., "NTracksGlobal"};
227+
214228

215229
void initCCDB(aod::BCsWithTimestamps::iterator const& bc)
216230
{
@@ -248,12 +262,7 @@ struct NonPromptCascadeTask {
248262

249263
std::vector<double> ptBinning = {0.4, 0.8, 1.2, 1.6, 2.0, 2.4, 2.8, 3.2, 3.6, 4.0, 4.4, 4.8, 5.2, 5.6, 6.0};
250264
// AxisSpec ptAxis = {ptBinning, "#it{p}_{T} (GeV/#it{c})"};
251-
AxisSpec centAxis = {101, 0., 101., "Centrality"};
252-
AxisSpec centAxisZoom = {100, 0., 10., "Centrality"};
253-
AxisSpec multAxis = {10000, 0, 10000, "Multiplicity FT0M"};
254-
AxisSpec multAxisZoom = {7000, 3000, 10000, "Multiplicity FT0M"};
255-
AxisSpec nTracksAxis = {100, 0., 100., "NTracksGlobal"};
256-
265+
257266
std::array<std::string, 7> cutsNames{"# candidates", "hasTOF", "nClusTPC", "nSigmaTPCbach", "nSigmaTPCprotontrack", "nSigmaTPCpiontrack", "cosPA"};
258267
auto cutsOmega{std::get<std::shared_ptr<TH2>>(mRegistry.add("h_PIDcutsOmega", ";;Invariant mass (GeV/#it{c}^{2})", HistType::kTH2D, {{cutsNames.size(), -0.5, -0.5 + cutsNames.size()}, {125, 1.650, 1.700}}))};
259268
auto cutsXi{std::get<std::shared_ptr<TH2>>(mRegistry.add("h_PIDcutsXi", ";;Invariant mass (GeV/#it{c}^{2})", HistType::kTH2D, {{6, -0.5, 5.5}, {125, 1.296, 1.346}}))};
@@ -266,6 +275,7 @@ struct NonPromptCascadeTask {
266275
cutsOmega->GetYaxis()->SetBinLabel(iBin + 1, cutsNames[iBin].c_str());
267276
cutsXi->GetYaxis()->SetBinLabel(iBin + 1, cutsNames[iBin].c_str());
268277
}
278+
269279
}
270280

271281
template <typename CollisionType, typename TrackType>
@@ -331,7 +341,24 @@ struct NonPromptCascadeTask {
331341
{
332342
// std::cout << "Filling mult histos" << std::endl;
333343
for (const auto& coll : collisions) {
334-
// std::cout << coll.centFT0M() << " mult, cent " << coll.multNTracksGlobal() << std::endl;
344+
if(!mRuns.count(mRunNumber)) {
345+
std::string histName = "mult/hMultVsCent_run" + std::to_string(mRunNumber);
346+
mHistPointer1= std::get<std::shared_ptr<TH2>>(mRegistry.add(histName.c_str(), histName.c_str(), HistType::kTH2F, {centAxis, multAxis}));
347+
histName = "mult/hMultVsCentZoom_run" + std::to_string(mRunNumber);
348+
mHistPointer2= std::get<std::shared_ptr<TH2>>(mRegistry.add(histName.c_str(), histName.c_str(), HistType::kTH2F, {centAxisZoom, multAxisZoom}));
349+
histName = "mult/hNTracksVsCent_run" + std::to_string(mRunNumber);
350+
mHistPointer3= std::get<std::shared_ptr<TH2>>(mRegistry.add(histName.c_str(), histName.c_str(), HistType::kTH2F, {centAxis, nTracksAxis}));
351+
histName = "mult/hNTracksVsCentZoom_run" + std::to_string(mRunNumber);
352+
mHistPointer4= std::get<std::shared_ptr<TH2>>(mRegistry.add(histName.c_str(), histName.c_str(), HistType::kTH2F, {centAxisZoom, nTracksAxis}));
353+
mRuns.insert(mRunNumber);
354+
}
355+
//std::cout << coll.selection_bit(aod::evsel::kNoSameBunchPileup) << std::endl;
356+
mHistPointer1->Fill(coll.centFT0M(), coll.multFT0M());
357+
mHistPointer2->Fill(coll.centFT0M(), coll.multFT0M());
358+
mHistPointer3->Fill(coll.centFT0M(), coll.multNTracksGlobal());
359+
mHistPointer4->Fill(coll.centFT0M(), coll.multNTracksGlobal());
360+
361+
335362
mRegistry.fill(HIST("hMultVsCent"), coll.centFT0M(), coll.multFT0M());
336363
mRegistry.fill(HIST("hMultVsCentZoom"), coll.centFT0M(), coll.multFT0M());
337364
mRegistry.fill(HIST("hNTracksVsCent"), coll.centFT0M(), (float)coll.multNTracksGlobal());
@@ -548,7 +575,7 @@ struct NonPromptCascadeTask {
548575
if (mToiMap.count(bc.globalBC())) {
549576
toiMask = mToiMap[bc.globalBC()];
550577
}
551-
candidates.emplace_back(NPCascCandidate{mcParticleID, trackedCascGlobalIndex, itsTrackGlobalIndex, candidate.collisionId(), matchingChi2, deltaPtITSCascade, deltaPtCascade, cascITSclsSize, hasReassociatedClusters, hasFakeReassociation, isGoodMatch, isGoodCascade, pdgCodeMom, itsTrackPDG, fromHF[0], fromHF[1],
578+
candidates.emplace_back(NPCascCandidate{mRunNumber ,mcParticleID, trackedCascGlobalIndex, itsTrackGlobalIndex, candidate.collisionId(), matchingChi2, deltaPtITSCascade, deltaPtCascade, cascITSclsSize, hasReassociatedClusters, hasFakeReassociation, isGoodMatch, isGoodCascade, pdgCodeMom, itsTrackPDG, fromHF[0], fromHF[1],
552579
collision.numContrib(), cascPVContribs, collision.collisionTimeRes(), primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ(),
553580
cascadeLvector.pt(), cascadeLvector.eta(), cascadeLvector.phi(),
554581
protonTrack.pt(), protonTrack.eta(), pionTrack.pt(), pionTrack.eta(), bachelor.pt(), bachelor.eta(),
@@ -558,15 +585,15 @@ struct NonPromptCascadeTask {
558585
cascITSclusters, protonTrack.itsNCls(), pionTrack.itsNCls(), bachelor.itsNCls(), protonTrack.tpcNClsFound(), pionTrack.tpcNClsFound(), bachelor.tpcNClsFound(),
559586
protonTrack.tpcNSigmaPr(), pionTrack.tpcNSigmaPi(), bachelor.tpcNSigmaKa(), bachelor.tpcNSigmaPi(),
560587
protonTrack.hasTOF(), pionTrack.hasTOF(), bachelor.hasTOF(),
561-
protonTrack.tofNSigmaPr(), pionTrack.tofNSigmaPi(), bachelor.tofNSigmaKa(), bachelor.tofNSigmaPi(), collision.sel8(), collision.multFT0C(), collision.multFT0A(), collision.multFT0M(), collision.centFT0C(), collision.centFT0A(), collision.centFT0M(), collision.multNTracksGlobal(), toiMask});
588+
protonTrack.tofNSigmaPr(), pionTrack.tofNSigmaPi(), bachelor.tofNSigmaKa(), bachelor.tofNSigmaPi(), collision.sel8(), collision.multFT0C(), collision.multFT0A(), collision.multFT0M(), collision.centFT0C(), collision.centFT0A(), collision.centFT0M(), collision.multNTracksGlobal(), toiMask, collision.selection_bit(aod::evsel::kNoSameBunchPileup)});
562589
}
563590
}
564591

565592
template <typename CascadeType>
566593
void fillDataTable(auto const& candidates)
567594
{
568595
for (const auto& c : candidates) {
569-
getDataTable<CascadeType>()(c.matchingChi2, c.deltaPtITS, c.deltaPt, c.itsClusSize, c.hasReassociatedCluster,
596+
getDataTable<CascadeType>()(mRunNumber, c.matchingChi2, c.deltaPtITS, c.deltaPt, c.itsClusSize, c.hasReassociatedCluster,
570597
c.pvContributors, c.cascPVContribs, c.pvTimeResolution, c.pvX, c.pvY, c.pvZ,
571598
c.cascPt, c.cascEta, c.cascPhi,
572599
c.protonPt, c.protonEta, c.pionPt, c.pionEta, c.bachPt, c.bachEta,
@@ -578,7 +605,7 @@ struct NonPromptCascadeTask {
578605
c.protonTPCNSigma, c.pionTPCNSigma, c.bachKaonTPCNSigma, c.bachPionTPCNSigma,
579606
c.protonHasTOF, c.pionHasTOF, c.bachHasTOF,
580607
c.protonTOFNSigma, c.pionTOFNSigma, c.bachKaonTOFNSigma, c.bachPionTOFNSigma,
581-
c.sel8, c.multFT0C, c.multFT0A, c.multFT0M, c.centFT0C, c.centFT0A, c.centFT0M, c.multNTracksGlobal, c.toiMask);
608+
c.sel8, c.multFT0C, c.multFT0A, c.multFT0M, c.centFT0C, c.centFT0A, c.centFT0M, c.multNTracksGlobal, c.toiMask, c.noSameBunchPileup);
582609
}
583610
}
584611

@@ -606,7 +633,7 @@ struct NonPromptCascadeTask {
606633
auto mcCollision = particle.template mcCollision_as<aod::McCollisions>();
607634
auto recCollision = collisions.iteratorAt(c.collisionID);
608635

609-
getMCtable<CascadeType>()(c.matchingChi2, c.deltaPtITS, c.deltaPt, c.itsClusSize, c.hasReassociatedCluster, c.isGoodMatch, c.isGoodCascade, c.pdgCodeMom, c.pdgCodeITStrack, c.isFromBeauty, c.isFromCharm,
636+
getMCtable<CascadeType>()(mRunNumber, c.matchingChi2, c.deltaPtITS, c.deltaPt, c.itsClusSize, c.hasReassociatedCluster, c.isGoodMatch, c.isGoodCascade, c.pdgCodeMom, c.pdgCodeITStrack, c.isFromBeauty, c.isFromCharm,
610637
c.pvContributors, c.cascPVContribs, c.pvTimeResolution, c.pvX, c.pvY, c.pvZ, c.cascPt, c.cascEta, c.cascPhi,
611638
c.protonPt, c.protonEta, c.pionPt, c.pionEta, c.bachPt, c.bachEta,
612639
c.cascDCAxy, c.cascDCAz, c.protonDCAxy, c.protonDCAz, c.pionDCAxy, c.pionDCAz, c.bachDCAxy, c.bachDCAz,
@@ -617,7 +644,7 @@ struct NonPromptCascadeTask {
617644
c.sel8, c.multFT0C, c.multFT0A, c.multFT0M, c.centFT0C, c.centFT0A, c.centFT0M,
618645
particle.pt(), particle.eta(), particle.phi(), mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(),
619646
particle.pdgCode(), mcCollision.posX() - particle.vx(), mcCollision.posY() - particle.vy(),
620-
mcCollision.posZ() - particle.vz(), mcCollision.globalIndex() == recCollision.mcCollisionId(), c.hasFakeReassociation, motherDecayDaughters, c.multNTracksGlobal, c.toiMask);
647+
mcCollision.posZ() - particle.vz(), mcCollision.globalIndex() == recCollision.mcCollisionId(), c.hasFakeReassociation, motherDecayDaughters, c.multNTracksGlobal, c.toiMask, c.noSameBunchPileup);
621648
}
622649
}
623650

0 commit comments

Comments
 (0)