@@ -96,6 +96,7 @@ namespace mc_tree
9696{
9797// misc event info
9898DECLARE_SOA_COLUMN (LocalBc, localBc, int );
99+ DECLARE_SOA_COLUMN (RunNumber, runNumber, int );
99100// event vertex
100101DECLARE_SOA_COLUMN (PosX, posX, float );
101102DECLARE_SOA_COLUMN (PosY, posY, float );
@@ -109,7 +110,7 @@ DECLARE_SOA_COLUMN(TrackEta, trackEta, float[2]);
109110DECLARE_SOA_COLUMN (TrackPhi, trackPhi, float [2 ]);
110111} // namespace mc_tree
111112DECLARE_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