@@ -145,18 +145,22 @@ struct FlowPtEfficiency {
145145
146146 void init (InitContext const &)
147147 {
148+ const AxisSpec axisVertex{20 , -10 , 10 , " Vtxz (cm)" };
149+ const AxisSpec axisEta{20 , -1 ., 1 ., " #eta" };
148150 const AxisSpec axisCounter{1 , 0 , +1 , " " };
149151 // create histograms
150152 registry.add (" eventCounter" , " eventCounter" , kTH1F , {axisCounter});
151153 registry.add (" hPtMCRec" , " Monte Carlo Reco" , {HistType::kTH1D , {axisPt}});
152154 registry.add (" hPtNchMCRec" , " Reco production; pT (GeV/c); multiplicity" , {HistType::kTH2D , {axisPt, axisNch}});
153155 registry.add (" hBVsPtVsPhiRec" , " hBVsPtVsPhiRec" , HistType::kTH3D , {axisB, axisPhi, axisPt});
156+ registry.add (" hEtaPtVzRec" , " hEtaPtVz Reconstructed" , HistType::kTH3D , {axisEta, axisPt, axisVertex});
154157
155158 registry.add (" mcEventCounter" , " Monte Carlo Truth EventCounter" , kTH1F , {axisCounter});
156159 registry.add (" hPtMCGen" , " Monte Carlo Truth" , {HistType::kTH1D , {axisPt}});
157160 registry.add (" hPtNchMCGen" , " Truth production; pT (GeV/c); multiplicity" , {HistType::kTH2D , {axisPt, axisNch}});
158161 registry.add (" numberOfRecoCollisions" , " numberOfRecoCollisions" , kTH1F , {{10 , -0 .5f , 9 .5f }});
159162 registry.add (" hBVsPtVsPhiTrue" , " hBVsPtVsPhiTrue" , HistType::kTH3D , {axisB, axisPhi, axisPt});
163+ registry.add (" hEtaPtVzTrue" , " hEtaPtVz True" , HistType::kTH3D , {axisEta, axisPt, axisVertex});
160164
161165 if (cfgFlowEnabled) {
162166 registry.add (" hImpactParameterReco" , " hImpactParameterReco" , {HistType::kTH1D , {axisB}});
@@ -406,6 +410,7 @@ struct FlowPtEfficiency {
406410 if (isStable (mcParticle.pdgCode ())) {
407411 registry.fill (HIST (" hPtMCRec" ), track.pt ());
408412 registry.fill (HIST (" hPtNchMCRec" ), track.pt (), tracks.size ());
413+ registry.fill (HIST (" hEtaPtVzRec" ), track.eta (), track.pt (), vtxz);
409414
410415 if (cfgFlowEnabled) {
411416 float deltaPhi = RecoDecay::constrainAngle (track.phi () - evPhi);
@@ -462,6 +467,7 @@ struct FlowPtEfficiency {
462467 float lRandom = fRndm ->Rndm ();
463468 float wacc = 1 .0f ;
464469 float weff = 1 .0f ;
470+ float vtxz = mcCollision.posZ ();
465471
466472 if (collisions.size () > -1 ) {
467473 registry.fill (HIST (" mcEventCounter" ), 0.5 );
@@ -477,8 +483,10 @@ struct FlowPtEfficiency {
477483 for (const auto & mcParticle : mcParticles) {
478484 if (mcParticle.isPhysicalPrimary () && isStable (mcParticle.pdgCode ())) {
479485 registry.fill (HIST (" hPtMCGen" ), mcParticle.pt ());
480- if (collisions.size () > 0 )
486+ if (collisions.size () > 0 ) {
481487 registry.fill (HIST (" hPtNchMCGen" ), mcParticle.pt (), numberOfTracks[0 ]);
488+ }
489+ registry.fill (HIST (" hEtaPtVzTrue" ), mcParticle.eta (), mcParticle.pt (), vtxz);
482490
483491 if (cfgFlowEnabled) {
484492 float deltaPhi = RecoDecay::constrainAngle (mcParticle.phi () - evPhi);
0 commit comments