Skip to content

Commit 054d270

Browse files
authored
[PWGLF] Omegahm: pileup (#15124)
1 parent f17c61c commit 054d270

File tree

2 files changed

+35
-10
lines changed

2 files changed

+35
-10
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 & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,16 @@
2424
#include "DCAFitter/DCAFitterN.h"
2525
#include "DataFormatsParameters/GRPMagField.h"
2626
#include "DataFormatsParameters/GRPObject.h"
27-
#include "MathUtils/BetheBlochAleph.h"
2827
#include "DetectorsBase/Propagator.h"
2928
#include "DetectorsVertexing/PVertexer.h"
3029
#include "Framework/ASoA.h"
3130
#include "Framework/ASoAHelpers.h"
3231
#include "Framework/AnalysisDataModel.h"
3332
#include "Framework/AnalysisTask.h"
3433
#include "Framework/HistogramRegistry.h"
34+
#include "Framework/O2DatabasePDGPlugin.h"
3535
#include "Framework/runDataProcessing.h"
36+
#include "MathUtils/BetheBlochAleph.h"
3637
#include "ReconstructionDataFormats/Vertex.h"
3738

3839
#include "Math/Vector4D.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,12 @@ 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+
mRegistryMults.fill(HIST("hCentMultsRuns"), centFT0M, multFT0M, numContrib, multNTracks, run);
419423
}
420424
};
421425

@@ -729,7 +733,7 @@ struct NonPromptCascadeTask {
729733
fillCandidatesVector<TracksExtMC>(collisions, tracks, trackedCascades, gCandidates);
730734
fillMCtable<aod::AssignedTrackedCascades>(mcParticles, collisions, gCandidates);
731735
}
732-
PROCESS_SWITCH(NonPromptCascadeTask, processTrackedCascadesMC, "process cascades from strangeness tracking: MC analysis", true);
736+
PROCESS_SWITCH(NonPromptCascadeTask, processTrackedCascadesMC, "process cascades from strangeness tracking: MC analysis", false);
733737

734738
void processCascadesMC(CollisionCandidatesRun3MC const& collisions, aod::Cascades const& cascades,
735739
aod::V0s const& /*v0s*/, TracksExtMC const& tracks,
@@ -817,7 +821,7 @@ struct NonPromptCascadeTask {
817821
if (std::abs(mcp.eta()) > 0.5f)
818822
continue;
819823
int q = 0;
820-
if (auto pdg = TDatabasePDG::Instance()->GetParticle(mcp.pdgCode())) {
824+
if (auto pdg = pdgDB->GetParticle(mcp.pdgCode())) {
821825
q = int(std::round(pdg->Charge() / 3.0));
822826
}
823827
if (q == 0)
@@ -928,7 +932,7 @@ struct NonPromptCascadeTask {
928932
}
929933

930934
int q = 0;
931-
if (auto pdgEntry = TDatabasePDG::Instance()->GetParticle(mcPar.pdgCode())) {
935+
if (auto pdgEntry = pdgDB->GetParticle(mcPar.pdgCode())) {
932936
q = int(std::round(pdgEntry->Charge() / 3.0));
933937
}
934938
if (q == 0) {
@@ -971,6 +975,20 @@ struct NonPromptCascadeTask {
971975
}
972976

973977
PROCESS_SWITCH(NonPromptCascadeTask, processdNdetaMC, "process mc dN/deta", false);
978+
979+
void processPileUp(CollisionCandidatesRun3 const& collisions, aod::BCsWithTimestamps const&)
980+
{
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);
974992
};
975993

976994
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)