Skip to content

Commit 7187042

Browse files
committed
added functionality to include runNumber for MC truth events while running with on-the-fly SGCandProducer
1 parent 0aeca67 commit 7187042

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

PWGUD/Tasks/upcRhoAnalysis.cxx

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ namespace mc_tree
9696
{
9797
// misc event info
9898
DECLARE_SOA_COLUMN(LocalBc, localBc, int);
99+
DECLARE_SOA_COLUMN(RunNumber, runNumber, int);
99100
// event vertex
100101
DECLARE_SOA_COLUMN(PosX, posX, float);
101102
DECLARE_SOA_COLUMN(PosY, posY, float);
@@ -109,7 +110,7 @@ DECLARE_SOA_COLUMN(TrackEta, trackEta, float[2]);
109110
DECLARE_SOA_COLUMN(TrackPhi, trackPhi, float[2]);
110111
} // namespace mc_tree
111112
DECLARE_SOA_TABLE(McTree, "AOD", "MCTREE",
112-
mc_tree::LocalBc,
113+
mc_tree::LocalBc, mc_tree::RunNumber,
113114
mc_tree::PosX, mc_tree::PosY, mc_tree::PosZ,
114115
mc_tree::PhiRandom, mc_tree::PhiCharge, mc_tree::TrackSign, mc_tree::TrackPt, mc_tree::TrackEta, mc_tree::TrackPhi);
115116
} // namespace o2::aod
@@ -884,7 +885,7 @@ struct UpcRhoAnalysis {
884885
}
885886

886887
template <typename C, typename T>
887-
void processMC(C const& mcCollision, T const& mcParticles)
888+
void processMC(C const& mcCollision, T const& mcParticles, const int runNumber)
888889
{
889890
rMC.fill(HIST("MC/collisions/hPosXY"), mcCollision.posX(), mcCollision.posY());
890891
rMC.fill(HIST("MC/collisions/hPosZ"), mcCollision.posZ());
@@ -984,7 +985,7 @@ struct UpcRhoAnalysis {
984985
float trackPts[2] = {pt(positivePion.px(), positivePion.py()), pt(negativePion.px(), negativePion.py())};
985986
float trackEtas[2] = {eta(positivePion.px(), positivePion.py(), positivePion.pz()), eta(negativePion.px(), negativePion.py(), negativePion.pz())};
986987
float trackPhis[2] = {phi(positivePion.px(), positivePion.py()), phi(negativePion.px(), negativePion.py())};
987-
mcTree(localBc,
988+
mcTree(localBc, runNumber,
988989
mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(),
989990
phiRandom, phiCharge, trackSigns, trackPts, trackEtas, trackPhis);
990991
}
@@ -1024,10 +1025,21 @@ struct UpcRhoAnalysis {
10241025

10251026
void processMCdata(aod::UDMcCollision const& mcCollision, aod::UDMcParticles const& mcParticles)
10261027
{
1027-
processMC(mcCollision, mcParticles);
1028+
processMC(mcCollision, mcParticles, -1);
10281029
}
10291030
PROCESS_SWITCH(UpcRhoAnalysis, processMCdata, "analyse MC data", false);
10301031

1032+
void processMCdataWithBCs(aod::UDMcCollision const& mcCollision, aod::UDMcParticles const& mcParticles, aod::BCs const& bcs)
1033+
{
1034+
int runNumber = -1;
1035+
if (bcs.size() != 0) {
1036+
auto bc = bcs.begin();
1037+
runNumber = bc.runNumber();
1038+
}
1039+
processMC(mcCollision, mcParticles, runNumber);
1040+
}
1041+
PROCESS_SWITCH(UpcRhoAnalysis, processMCdataWithBCs, "analyse MC data with BCs (only with on-the-fly skimming)", false);
1042+
10311043
void processCollisionRecoCheck(aod::UDMcCollision const& /* mcCollision */, soa::SmallGroups<soa::Join<aod::UDMcCollsLabels, aod::UDCollisions>> const& collisions)
10321044
{
10331045
checkNumberOfCollisionReconstructions(collisions);

0 commit comments

Comments
 (0)