Skip to content

Commit ba07756

Browse files
committed
dev:table for pileup study
1 parent 9f5b665 commit ba07756

File tree

2 files changed

+35
-9
lines changed

2 files changed

+35
-9
lines changed

PWGLF/DataModel/LFNonPromptCascadeTables.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ DECLARE_SOA_COLUMN(MultNTracksGlobal, multNTracksGlobal, int);
123123
DECLARE_SOA_COLUMN(ToiMask, toiMask, uint32_t);
124124
DECLARE_SOA_COLUMN(RunNumber, runNumber, int);
125125
DECLARE_SOA_COLUMN(NoSameBunchPileup, noSameBunchPileup, bool);
126+
DECLARE_SOA_COLUMN(GlobalBC, globalBC, uint64_t);
126127

127128
} // namespace NPCascadeTable
128129
DECLARE_SOA_TABLE(NPCascTable, "AOD", "NPCASCTABLE",
@@ -447,7 +448,13 @@ DECLARE_SOA_TABLE(NPCascTableGen, "AOD", "NPCASCTABLEGen",
447448
NPCascadeTable::IsFromBeauty,
448449
NPCascadeTable::IsFromCharm,
449450
NPCascadeTable::MotherDecayDaughters)
450-
451+
DECLARE_SOA_TABLE(NPPileUpTable, "AOD", "NPPileUpTABLE",
452+
NPCascadeTable::RunNumber,
453+
NPCascadeTable::GlobalBC,
454+
aod::collision::NumContrib,
455+
NPCascadeTable::MultNTracksGlobal,
456+
NPCascadeTable::CentFT0M,
457+
NPCascadeTable::MultFT0M);
451458
} // namespace o2::aod
452459

453460
#endif // PWGLF_DATAMODEL_LFNONPROMPTCASCADETABLES_H_

PWGLF/Tasks/Strangeness/nonPromptCascade.cxx

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include "Framework/HistogramRegistry.h"
3535
#include "Framework/runDataProcessing.h"
3636
#include "ReconstructionDataFormats/Vertex.h"
37+
#include "Framework/O2DatabasePDGPlugin.h"
3738

3839
#include "Math/Vector4D.h"
3940
#include "TDatabasePDG.h"
@@ -175,12 +176,12 @@ std::vector<NPCascCandidate> gCandidatesNT;
175176
} // namespace
176177

177178
struct NonPromptCascadeTask {
178-
179179
Produces<o2::aod::NPCascTable> NPCTable;
180180
Produces<o2::aod::NPCascTableMC> NPCTableMC;
181181
Produces<o2::aod::NPCascTableNT> NPCTableNT;
182182
Produces<o2::aod::NPCascTableMCNT> NPCTableMCNT;
183183
Produces<o2::aod::NPCascTableGen> NPCTableGen;
184+
Produces<o2::aod::NPPileUpTable> NPPUTable;
184185

185186
using TracksExtData = soa::Join<aod::TracksIU, aod::TracksCovIU, aod::TracksExtra, aod::pidTPCFullKa, aod::pidTPCFullPi, aod::pidTPCFullPr, aod::pidTOFFullKa, aod::pidTOFFullPi, aod::pidTOFFullPr>;
186187
using TracksExtMC = soa::Join<aod::TracksIU, aod::TracksCovIU, aod::TracksExtra, aod::McTrackLabels, aod::pidTPCFullKa, aod::pidTPCFullPi, aod::pidTPCFullPr, aod::pidTOFFullKa, aod::pidTOFFullPi, aod::pidTOFFullPr>;
@@ -227,6 +228,7 @@ struct NonPromptCascadeTask {
227228
std::array<int, 2> mProcessCounter = {0, 0}; // {Tracked, All}
228229
std::map<uint64_t, uint32_t> mToiMap;
229230
//
231+
Service<o2::framework::O2DatabasePDG> pdgDB;
230232
HistogramRegistry mRegistryMults{"Multhistos"};
231233
HistogramRegistry mRegistrydNdeta{"dNdetahistos"};
232234

@@ -315,9 +317,10 @@ struct NonPromptCascadeTask {
315317
AxisSpec centAxisFV0{centBinning, "Centrality FV0 (%)"};
316318
AxisSpec trackAxisMC{trackBinning, "NTracks MC"};
317319
AxisSpec trackAxis{trackBinning, "NTracks Global Reco"};
320+
AxisSpec numContribAxis{trackBinning, "Num of Contrib"};
318321
AxisSpec runsAxis{runsBinning, "Run Number"};
319322

320-
mRegistryMults.add("hCentMultsRuns", "hCentMultsRuns", HistType::kTHnSparseF, {centAxisFT0M, multAxis, centAxisFV0, multAxisFV0, nTracksAxis, runsAxis});
323+
mRegistryMults.add("hCentMultsRuns", "hCentMultsRuns", HistType::kTHnSparseF, {centAxisFT0M, multAxis, numContribAxis, nTracksAxis, runsAxis});
321324
//
322325
// dN/deta
323326
//
@@ -411,11 +414,13 @@ struct NonPromptCascadeTask {
411414
for (const auto& coll : collisions) {
412415
float centFT0M = coll.centFT0M();
413416
float multFT0M = coll.multFT0M();
414-
float centFV0A = coll.centFV0A();
415-
float multFV0A = coll.multFV0A();
417+
//float centFV0A = coll.centFV0A();
418+
//float multFV0A = coll.multFV0A();
416419
float multNTracks = coll.multNTracksGlobal();
417420
float run = mRunNumber;
418-
mRegistryMults.fill(HIST("hCentMultsRuns"), centFT0M, multFT0M, centFV0A, multFV0A, multNTracks, run);
421+
float numContrib = coll.numContrib();
422+
auto bc = coll.template bc_as<aod::BCsWithTimestamps>();
423+
mRegistryMults.fill(HIST("hCentMultsRuns"), centFT0M, multFT0M, numContrib , multNTracks, run);
419424
}
420425
};
421426

@@ -729,7 +734,7 @@ struct NonPromptCascadeTask {
729734
fillCandidatesVector<TracksExtMC>(collisions, tracks, trackedCascades, gCandidates);
730735
fillMCtable<aod::AssignedTrackedCascades>(mcParticles, collisions, gCandidates);
731736
}
732-
PROCESS_SWITCH(NonPromptCascadeTask, processTrackedCascadesMC, "process cascades from strangeness tracking: MC analysis", true);
737+
PROCESS_SWITCH(NonPromptCascadeTask, processTrackedCascadesMC, "process cascades from strangeness tracking: MC analysis", false);
733738

734739
void processCascadesMC(CollisionCandidatesRun3MC const& collisions, aod::Cascades const& cascades,
735740
aod::V0s const& /*v0s*/, TracksExtMC const& tracks,
@@ -817,7 +822,7 @@ struct NonPromptCascadeTask {
817822
if (std::abs(mcp.eta()) > 0.5f)
818823
continue;
819824
int q = 0;
820-
if (auto pdg = TDatabasePDG::Instance()->GetParticle(mcp.pdgCode())) {
825+
if (auto pdg = pdgDB->GetParticle(mcp.pdgCode())) {
821826
q = int(std::round(pdg->Charge() / 3.0));
822827
}
823828
if (q == 0)
@@ -928,7 +933,7 @@ struct NonPromptCascadeTask {
928933
}
929934

930935
int q = 0;
931-
if (auto pdgEntry = TDatabasePDG::Instance()->GetParticle(mcPar.pdgCode())) {
936+
if (auto pdgEntry = pdgDB->GetParticle(mcPar.pdgCode())) {
932937
q = int(std::round(pdgEntry->Charge() / 3.0));
933938
}
934939
if (q == 0) {
@@ -971,6 +976,20 @@ struct NonPromptCascadeTask {
971976
}
972977

973978
PROCESS_SWITCH(NonPromptCascadeTask, processdNdetaMC, "process mc dN/deta", false);
979+
980+
void processPileUp(CollisionCandidatesRun3 const& collisions, aod::BCsWithTimestamps const&) {
981+
std::cout << "Processing pile up" << std::endl;
982+
for (const auto& coll : collisions) {
983+
float centFT0M = coll.centFT0M();
984+
float multFT0M = coll.multFT0M();
985+
auto bc = coll.template bc_as<aod::BCsWithTimestamps>();
986+
uint64_t globalBC = bc.globalBC();
987+
NPPUTable(mRunNumber, globalBC, coll.numContrib(), coll.multNTracksGlobal(), centFT0M, multFT0M);
988+
//NPPileUpTable(mRunNumber, globalBC, multNTracks, centFT0M, multFT0M);
989+
}
990+
};
991+
PROCESS_SWITCH(NonPromptCascadeTask, processPileUp, "pile up studies", true);
992+
974993
};
975994

976995
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)