@@ -99,7 +99,10 @@ struct FlowMc {
9999
100100 histos.add <TH1>(" hPhi" , " #phi distribution" , HistType::kTH1D , {axisPhi});
101101 histos.add <TH1>(" hPhiWeighted" , " corrected #phi distribution" , HistType::kTH1D , {axisPhi});
102+ histos.add <TH2>(" hEPVsPhiMC" , " hEPVsPhiMC;Event Plane Angle; #varphi" , HistType::kTH2D , {axisPhi, axisPhi});
102103 histos.add <TH2>(" hEPVsPhi" , " hEPVsPhi;Event Plane Angle; #varphi" , HistType::kTH2D , {axisPhi, axisPhi});
104+ histos.add <TH2>(" hPtNchGenerated" , " Reco production; pT (GeV/c); multiplicity" , HistType::kTH2D , {axisPt, axisNch});
105+ histos.add <TH2>(" hPtNchGlobal" , " Global production; pT (GeV/c); multiplicity" , HistType::kTH2D , {axisPt, axisNch});
103106
104107 if (cfgOutputNUAWeights) {
105108 o2::framework::AxisSpec axis = axisPt;
@@ -161,6 +164,7 @@ struct FlowMc {
161164 evPhi += constants::math::TwoPI;
162165
163166 int64_t nCh = 0 ;
167+ int64_t nChGlobal = 0 ;
164168 float weff = 1 .;
165169 float wacc = 1 .;
166170 auto bc = mcCollision.bc_as <aod::BCsWithTimestamps>();
@@ -171,6 +175,23 @@ struct FlowMc {
171175 histos.fill (HIST (" hImpactParameter" ), imp);
172176 histos.fill (HIST (" hEventPlaneAngle" ), evPhi);
173177
178+ for (auto const & mcParticle : mcParticles) {
179+ int pdgCode = std::abs (mcParticle.pdgCode ());
180+ if (pdgCode != PDG_t::kElectron && pdgCode != PDG_t::kMuonMinus && pdgCode != PDG_t::kPiPlus && pdgCode != kKPlus && pdgCode != PDG_t::kProton )
181+ continue ;
182+ if (!mcParticle.isPhysicalPrimary ())
183+ continue ;
184+ if (std::fabs (mcParticle.eta ()) > 0.8 ) // main acceptance
185+ continue ;
186+ if (mcParticle.has_tracks ()) {
187+ auto const & tracks = mcParticle.tracks_as <RecoTracks>();
188+ for (auto const & track : tracks) {
189+ if (track.hasTPC () && track.hasITS ())
190+ nChGlobal++;
191+ }
192+ }
193+ }
194+
174195 for (auto const & mcParticle : mcParticles) {
175196 // focus on bulk: e, mu, pi, k, p
176197 int pdgCode = std::abs (mcParticle.pdgCode ());
@@ -189,6 +210,7 @@ struct FlowMc {
189210 deltaPhi -= constants::math::TwoPI;
190211 histos.fill (HIST (" hPtVsPhiGenerated" ), deltaPhi, mcParticle.pt ());
191212 histos.fill (HIST (" hBVsPtVsPhiGenerated" ), imp, deltaPhi, mcParticle.pt ());
213+ histos.fill (HIST (" hPtNchGenerated" ), mcParticle.pt (), nChGlobal);
192214
193215 nCh++;
194216
@@ -223,6 +245,10 @@ struct FlowMc {
223245 fWeights ->fill (mcParticle.phi (), mcParticle.eta (), vtxz, mcParticle.pt (), 0 , 0 );
224246 if (!setCurrentParticleWeights (weff, wacc, mcParticle.phi (), mcParticle.eta (), mcParticle.pt (), vtxz))
225247 continue ;
248+ if (withinPtRef) {
249+ histos.fill (HIST (" hEPVsPhiMC" ), evPhi, mcParticle.phi ());
250+ }
251+
226252 if (validGlobal && withinPtRef) {
227253 histos.fill (HIST (" hPhi" ), mcParticle.phi ());
228254 histos.fill (HIST (" hPhiWeighted" ), mcParticle.phi (), wacc);
@@ -233,6 +259,7 @@ struct FlowMc {
233259 if (validGlobal) {
234260 histos.fill (HIST (" hPtVsPhiGlobal" ), deltaPhi, mcParticle.pt (), wacc * weff);
235261 histos.fill (HIST (" hBVsPtVsPhiGlobal" ), imp, deltaPhi, mcParticle.pt (), wacc * weff);
262+ histos.fill (HIST (" hPtNchGlobal" ), mcParticle.pt (), nChGlobal);
236263 }
237264 // if any track present, fill
238265 if (validTrack)
0 commit comments