3535using namespace o2 ;
3636using namespace o2 ::framework;
3737using namespace o2 ::framework::expressions;
38+ using namespace o2 ::aod::track;
3839
3940AxisSpec PtAxis = {1001 , -0.005 , 10.005 };
4041AxisSpec DeltaZAxis = {61 , -6.1 , 6.1 };
41- // AxisSpec MultAxis = {301, -0.5, 300.5}; now replaced by a ConfigurableAxis
4242AxisSpec ZAxis = {301 , -30.1 , 30.1 };
4343AxisSpec PhiAxis = {600 , 0 , 2 * M_PI };
4444AxisSpec EtaAxis = {18 , -4.6 , -1 .};
4545AxisSpec DCAxyAxis = {100 , -1 , 10 };
46+ AxisSpec CentAxis = {{0 , 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 100 }};
47+
48+ static constexpr TrackSelectionFlags::flagtype trackSelectionITS =
49+ TrackSelectionFlags::kITSNCls | TrackSelectionFlags::kITSChi2NDF |
50+ TrackSelectionFlags::kITSHits ;
51+
52+ static constexpr TrackSelectionFlags::flagtype trackSelectionTPC =
53+ TrackSelectionFlags::kTPCNCls |
54+ TrackSelectionFlags::kTPCCrossedRowsOverNCls |
55+ TrackSelectionFlags::kTPCChi2NDF ;
56+
57+ static constexpr TrackSelectionFlags::flagtype trackSelectionDCA =
58+ TrackSelectionFlags::kDCAz | TrackSelectionFlags::kDCAxy ;
4659
4760using MFTTracksLabeled = soa::Join<o2::aod::MFTTracks, aod::McMFTTrackLabels>;
4861
4962struct PseudorapidityDensityMFT {
5063 Service<TDatabasePDG> pdg;
5164
65+ Configurable<float > estimatorEta{" estimatorEta" , 1.0 , " eta range for INEL>0 sample definition" };
66+
5267 Configurable<bool > useEvSel{" useEvSel" , true , " use event selection" };
5368 ConfigurableAxis multBinning{" multBinning" , {301 , -0.5 , 300.5 }, " " };
5469
@@ -70,18 +85,19 @@ struct PseudorapidityDensityMFT {
7085 " registry" ,
7186 {
7287 // {"EventsNtrkZvtx", "; N_{trk}; #it{z}_{vtx} (cm); events", {HistType::kTH2F, {MultAxis, ZAxis}}}, //
73- {" TracksEtaZvtx" , " ; #eta; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {EtaAxis, ZAxis}}}, //
74- {" TracksPhiEta" , " ; #varphi; #eta; tracks" , {HistType::kTH2F , {PhiAxis, EtaAxis}}}, //
75- {" TracksPhiZvtx" , " ; #varphi; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {PhiAxis, ZAxis}}}, //
76- {" TracksPtEta" , " ; p_{T} (GeV/c); #eta" , {HistType::kTH2F , {PtAxis, EtaAxis}}}, //
77- {" EventSelection" , " ;status;events" , {HistType::kTH1F , {{7 , 0.5 , 7.5 }}}}, //
88+ {" TracksEtaZvtx" , " ; #eta; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {EtaAxis, ZAxis}}}, //
89+ {" Tracks/EtaZvtx_gt0" , " ; #eta; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {EtaAxis, ZAxis}}}, //
90+ {" TracksPhiEta" , " ; #varphi; #eta; tracks" , {HistType::kTH2F , {PhiAxis, EtaAxis}}}, //
91+ {" TracksPhiZvtx" , " ; #varphi; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {PhiAxis, ZAxis}}}, //
92+ {" TracksPtEta" , " ; p_{T} (GeV/c); #eta" , {HistType::kTH2F , {PtAxis, EtaAxis}}}, //
93+ {" EventSelection" , " ;status;events" , {HistType::kTH1F , {{7 , 0.5 , 7.5 }}}}, //
7894
7995 {" Tracks/Control/DCAXY" , " ; DCA_{XY} (cm)" , {HistType::kTH1F , {DCAxyAxis}}}, //
8096 // {"Tracks/Control/DCAZPt", " ; p_{T} (GeV/c) ; DCA_{Z} (cm)", {HistType::kTH2F, {PtAxis, DCAAxis}}}, //
8197 {" Tracks/Control/ReassignedDCAXY" , " ; DCA_{XY} (cm)" , {HistType::kTH1F , {DCAxyAxis}}}, //
82- // {"Tracks/Control/ReassignedDCAZPt", " ; p_{T} (GeV/c) ; DCA_{Z} (cm)", {HistType::kTH2F, {PtAxis, DCAAxis }}}, //
98+ // {"Tracks/Control/ReassignedDCAZPt", " ; p_{T} (GeV/c) ; DCA_{Z} (cm)", {HistType::kTH2F, {PtAxis, DCAxyAxis }}}, //
8399 {" Tracks/Control/ExtraDCAXY" , " ; DCA_{XY} (cm)" , {HistType::kTH1F , {DCAxyAxis}}}, //
84- // {"Tracks/Control/ExtraDCAZPt", " ; p_{T} (GeV/c) ; DCA_{Z} (cm)", {HistType::kTH2F, {PtAxis, DCAAxis }}}, //
100+ // {"Tracks/Control/ExtraDCAZPt", " ; p_{T} (GeV/c) ; DCA_{Z} (cm)", {HistType::kTH2F, {PtAxis, DCAxyAxis }}}, //
85101 {" Tracks/Control/ExtraTracksEtaZvtx" , " ; #eta; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {EtaAxis, ZAxis}}}, //
86102 {" Tracks/Control/ExtraTracksPhiEta" , " ; #varphi; #eta; tracks" , {HistType::kTH2F , {PhiAxis, EtaAxis}}}, //
87103 {" Tracks/Control/ReassignedTracksEtaZvtx" , " ; #eta; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {EtaAxis, ZAxis}}}, //
@@ -105,12 +121,17 @@ struct PseudorapidityDensityMFT {
105121 x->SetBinLabel (7 , " BCs with pile-up/splitting" );
106122
107123 registry.add ({" EventsNtrkZvtx" , " ; N_{trk}; #it{z}_{vtx} (cm); events" , {HistType::kTH2F , {MultAxis, ZAxis}}});
124+ registry.add ({" EventsNtrkZvtx_gt0" , " ; N_{trk}; #it{z}_{vtx} (cm); events" , {HistType::kTH2F , {MultAxis, ZAxis}}});
108125
109126 if (doprocessGen) {
110127 registry.add ({" EventsNtrkZvtxGen" , " ; N_{trk}; #it{z}_{vtx} (cm); events" , {HistType::kTH2F , {MultAxis, ZAxis}}});
111128 registry.add ({" EventsNtrkZvtxGen_t" , " ; N_{trk}; #it{z}_{vtx} (cm); events" , {HistType::kTH2F , {MultAxis, ZAxis}}});
129+ registry.add ({" EventsNtrkZvtxGen_gt0" , " ; N_{trk}; #it{z}_{vtx} (cm); events" , {HistType::kTH2F , {MultAxis, ZAxis}}});
130+ registry.add ({" EventsNtrkZvtxGen_gt0t" , " ; N_{trk}; #it{z}_{vtx} (cm); events" , {HistType::kTH2F , {MultAxis, ZAxis}}});
112131 registry.add ({" TracksEtaZvtxGen" , " ; #eta; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {EtaAxis, ZAxis}}});
113132 registry.add ({" TracksEtaZvtxGen_t" , " ; #eta; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {EtaAxis, ZAxis}}});
133+ registry.add ({" TracksEtaZvtxGen_gt0" , " ; #eta; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {EtaAxis, ZAxis}}});
134+ registry.add ({" TracksEtaZvtxGen_gt0t" , " ; #eta; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {EtaAxis, ZAxis}}});
114135 registry.add ({" TracksPhiEtaGen" , " ; #varphi; #eta; tracks" , {HistType::kTH2F , {PhiAxis, EtaAxis}}});
115136 registry.add ({" TracksPhiZvtxGen" , " ; #varphi; #it{z}_{vtx} (cm); tracks" , {HistType::kTH2F , {PhiAxis, ZAxis}}}); //
116137 registry.add ({" TracksToPartPtEta" , " ; p_{T} (GeV/c); #eta" , {HistType::kTH2F , {PtAxis, EtaAxis}}}); //
@@ -143,6 +164,27 @@ struct PseudorapidityDensityMFT {
143164 LOGF (fatal, " object not found!" );
144165 }
145166 }
167+ if (doprocessCountingCentrality) {
168+ registry.add ({" Events/Centrality/Selection" , " ;status;centrality;events" , {HistType::kTH2F , {{3 , 0.5 , 3.5 }, CentAxis}}});
169+ auto hstat = registry.get <TH2 >(HIST (" Events/Centrality/Selection" ));
170+ auto * x = hstat->GetXaxis ();
171+ x->SetBinLabel (1 , " All" );
172+ x->SetBinLabel (2 , " Selected" );
173+ x->SetBinLabel (3 , " Rejected" );
174+
175+ registry.add ({" Events/Centrality/NtrkZvtx" , " ; N_{trk}; Z_{vtx} (cm); centrality" , {HistType::kTH3F , {MultAxis, ZAxis, CentAxis}}});
176+ registry.add ({" Tracks/Centrality/EtaZvtx" , " ; #eta; Z_{vtx} (cm); centrality" , {HistType::kTH3F , {EtaAxis, ZAxis, CentAxis}}});
177+ registry.add ({" Tracks/Centrality/PhiEta" , " ; #varphi; #eta; centrality" , {HistType::kTH3F , {PhiAxis, EtaAxis, CentAxis}}});
178+ registry.add ({" Tracks/Centrality/Control/PtEta" , " ; p_{T} (GeV/c); #eta; centrality" , {HistType::kTH3F , {PtAxis, EtaAxis, CentAxis}}});
179+ registry.add ({" Tracks/Centrality/Control/DCAXYPt" , " ; p_{T} (GeV/c) ; DCA_{XY} (cm); centrality" , {HistType::kTH3F , {PtAxis, DCAxyAxis, CentAxis}}});
180+ registry.add ({" Tracks/Centrality/Control/ReassignedDCAXYPt" , " ; p_{T} (GeV/c) ; DCA_{XY} (cm); centrality" , {HistType::kTH3F , {PtAxis, DCAxyAxis, CentAxis}}});
181+ registry.add ({" Tracks/Centrality/Control/ExtraDCAXYPt" , " ; p_{T} (GeV/c) ; DCA_{XY} (cm); centrality" , {HistType::kTH3F , {PtAxis, DCAxyAxis, CentAxis}}});
182+ registry.add ({" Tracks/Centrality/Control/ExtraTracksEtaZvtx" , " ; #eta; Z_{vtx} (cm); centrality" , {HistType::kTH3F , {EtaAxis, ZAxis, CentAxis}}});
183+ registry.add ({" Tracks/Centrality/Control/ExtraTracksPhiEta" , " ; #varphi; #eta; centrality" , {HistType::kTH3F , {PhiAxis, EtaAxis, CentAxis}}});
184+ registry.add ({" Tracks/Centrality/Control/ReassignedTracksEtaZvtx" , " ; #eta; Z_{vtx} (cm); centrality" , {HistType::kTH3F , {EtaAxis, ZAxis, CentAxis}}});
185+ registry.add ({" Tracks/Centrality/Control/ReassignedTracksPhiEta" , " ; #varphi; #eta; centrality" , {HistType::kTH3F , {PhiAxis, EtaAxis, CentAxis}}});
186+ registry.add ({" Tracks/Centrality/Control/ReassignedVertexCorr" , " ; Z_{vtx}^{orig} (cm); Z_{vtx}^{re} (cm); centrality" , {HistType::kTH3F , {ZAxis, ZAxis, CentAxis}}});
187+ }
146188 }
147189
148190 using FullBCs = soa::Join<aod::BCsWithTimestamps, aod::BcSels>;
@@ -200,7 +242,20 @@ struct PseudorapidityDensityMFT {
200242 }
201243 PROCESS_SWITCH (PseudorapidityDensityMFT, processAmbi, " Fills vector of ambiTracks" , true );
202244
203- void processMult (CollwEv::iterator const & collision, aod::MFTTracks const & tracks, soa::SmallGroups<soa::Join<aod::AmbiguousMFTTracks, aod::BestCollisionsFwd>> const & atracks)
245+ expressions::Filter trackSelectionCentral = ((aod::track::trackCutFlag & trackSelectionITS) == trackSelectionITS) &&
246+ ifnode ((aod::track::detectorMap & (uint8_t )o2::aod::track::TPC) == (uint8_t )o2::aod::track::TPC,
247+ (aod::track::trackCutFlag & trackSelectionTPC) == trackSelectionTPC,
248+ true) &&
249+ ((aod::track::trackCutFlag & trackSelectionDCA) == trackSelectionDCA) &&
250+ (nabs(aod::track::eta) < estimatorEta);
251+
252+ using FiCentralTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection, aod::TracksDCA>>; // central tracks for INEL>0
253+
254+ void processMult (CollwEv::iterator const & collision,
255+ aod::MFTTracks const & tracks,
256+ soa::SmallGroups<soa::Join<aod::AmbiguousMFTTracks,
257+ aod::BestCollisionsFwd>> const & atracks,
258+ FiCentralTracks const & midtracks)
204259 {
205260
206261 if (tracks.size () == 0 ) {
@@ -232,6 +287,10 @@ struct PseudorapidityDensityMFT {
232287 }
233288 registry.fill (HIST (" Tracks/Control/DCAXY" ), track.bestDCAXY ());
234289 registry.fill (HIST (" TracksEtaZvtx" ), track.etas (), z);
290+ if (midtracks.size () > 0 ) // INEL>0
291+ {
292+ registry.fill (HIST (" Tracks/EtaZvtx_gt0" ), track.etas (), z);
293+ }
235294 float phi = track.phis ();
236295 o2::math_utils::bringTo02Pi (phi);
237296 registry.fill (HIST (" TracksPhiEta" ), phi, track.etas ());
@@ -244,6 +303,10 @@ struct PseudorapidityDensityMFT {
244303 continue ; // this track has already been reassigned to bestcollision, don't double count
245304 }
246305 registry.fill (HIST (" TracksEtaZvtx" ), track.eta (), z);
306+ if (midtracks.size () > 0 ) // INEL>0
307+ {
308+ registry.fill (HIST (" Tracks/EtaZvtx_gt0" ), track.eta (), z);
309+ }
247310 float phi = track.phi ();
248311 o2::math_utils::bringTo02Pi (phi);
249312 registry.fill (HIST (" TracksPhiEta" ), phi, track.eta ());
@@ -252,6 +315,11 @@ struct PseudorapidityDensityMFT {
252315 registry.fill (HIST (" TracksPhiZvtx" ), phi, z);
253316 }
254317 }
318+ if (midtracks.size () > 0 ) // INEL>0
319+ {
320+ registry.fill (HIST (" EventSelection" ), 3 .);
321+ registry.fill (HIST (" EventsNtrkZvtx_gt0" ), Ntrk, z);
322+ }
255323
256324 } else {
257325 registry.fill (HIST (" EventSelection" ), 4 .);
@@ -311,11 +379,75 @@ struct PseudorapidityDensityMFT {
311379 }
312380 PROCESS_SWITCH (PseudorapidityDensityMFT, processMultReweight, " Process reco info w reweight" , false );
313381
382+ using ExColsCent = soa::Join<aod::Collisions, aod::CentFT0Cs, aod::EvSels>;
383+
384+ void processCountingCentrality (ExColsCent::iterator const & collision,
385+ aod::MFTTracks const & tracks,
386+ soa::SmallGroups<soa::Join<aod::AmbiguousMFTTracks,
387+ aod::BestCollisionsFwd>> const & atracks)
388+ {
389+ auto c = collision.centFT0C ();
390+ registry.fill (HIST (" Events/Centrality/Selection" ), 1 ., c);
391+
392+ if (!useEvSel || collision.sel8 ()) {
393+ auto z = collision.posZ ();
394+ registry.fill (HIST (" Events/Centrality/Selection" ), 2 ., c);
395+ auto perCollisionSample = sample->sliceByCached (o2::aod::fwdtrack::collisionId, collision.globalIndex ());
396+ auto Ntrk = perCollisionSample.size () + atracks.size ();
397+
398+ registry.fill (HIST (" Events/Centrality/NtrkZvtx" ), Ntrk, z, c);
399+
400+ for (auto & track : atracks) {
401+ auto otrack = track.mfttrack (); // original track
402+ float ophi = otrack.phi ();
403+ o2::math_utils::bringTo02Pi (ophi);
404+
405+ registry.fill (HIST (" Tracks/Centrality/EtaZvtx" ), otrack.eta (), z, c);
406+ registry.fill (HIST (" Tracks/Centrality/PhiEta" ), ophi, otrack.eta (), c);
407+ if (!otrack.has_collision ()) {
408+ registry.fill (HIST (" Tracks/Centrality/Control/ExtraTracksEtaZvtx" ), otrack.eta (), z, c);
409+ registry.fill (HIST (" Tracks/Centrality/Control/ExtraTracksPhiEta" ), ophi, otrack.eta (), c);
410+ registry.fill (HIST (" Tracks/Centrality/Control/ExtraDCAXYPt" ), otrack.pt (), track.bestDCAXY (), c);
411+ // registry.fill(HIST("Tracks/Centrality/Control/ExtraDCAZPt"), otrack.pt(), track.bestDCAZ(), c);
412+ } else if (otrack.collisionId () != track.bestCollisionId ()) {
413+ registry.fill (HIST (" Tracks/Centrality/Control/ReassignedTracksEtaZvtx" ), otrack.eta (), z, c);
414+ registry.fill (HIST (" Tracks/Centrality/Control/ReassignedTracksPhiEta" ), ophi, otrack.eta (), c);
415+ registry.fill (HIST (" Tracks/Centrality/Control/ReassignedVertexCorr" ), otrack.collision_as <ExColsCent>().posZ (), z, c);
416+ registry.fill (HIST (" Tracks/Centrality/Control/ReassignedDCAXYPt" ), otrack.pt (), track.bestDCAXY (), c);
417+ // registry.fill(HIST("Tracks/Centrality/Control/ReassignedDCAZPt"), otrack.pt(), track.bestDCAZ(), c);
418+ }
419+ registry.fill (HIST (" Tracks/Centrality/Control/PtEta" ), otrack.pt (), otrack.eta (), c);
420+ registry.fill (HIST (" Tracks/Centrality/Control/DCAXYPt" ), otrack.pt (), track.bestDCAXY (), c);
421+ // registry.fill(HIST("Tracks/Centrality/Control/DCAZPt"), otrack.pt(), track.bestDCAZ(), c);
422+ }
423+ for (auto & track : tracks) {
424+ if (std::find (ambTrackIds.begin (), ambTrackIds.end (), track.globalIndex ()) != ambTrackIds.end ()) {
425+ continue ;
426+ }
427+
428+ registry.fill (HIST (" Tracks/Centrality/EtaZvtx" ), track.eta (), z, c);
429+ registry.fill (HIST (" Tracks/Centrality/PhiEta" ), track.phi (), track.eta (), c);
430+ }
431+
432+ } else {
433+ registry.fill (HIST (" Events/Centrality/Selection" ), 3 ., c); // rejected events
434+ }
435+ }
436+
437+ PROCESS_SWITCH (PseudorapidityDensityMFT, processCountingCentrality, " Count tracks in centrality bins" , false );
438+
314439 using Particles = soa::Filtered<aod::McParticles>;
315440 expressions::Filter primaries = (aod::mcparticle::flags & (uint8_t )o2::aod::mcparticle::enums::PhysicalPrimary) == (uint8_t )o2::aod::mcparticle::enums::PhysicalPrimary;
316441 Partition<Particles> mcSample = (aod::mcparticle::eta < -2 .8f ) && (aod::mcparticle::eta > -3 .2f );
442+ Partition<Particles> mcSampleCentral = nabs(aod::mcparticle::eta) < estimatorEta;
317443
318- void processGen (aod::McCollisions::iterator const & mcCollision, o2::soa::SmallGroups<soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels>> const & collisions, Particles const & particles, aod::MFTTracks const & tracks)
444+ Preslice<FiCentralTracks> perColCentral = aod::track::collisionId;
445+
446+ void processGen (aod::McCollisions::iterator const & mcCollision,
447+ o2::soa::SmallGroups<soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels>> const & collisions,
448+ Particles const & particles,
449+ aod::MFTTracks const & tracks,
450+ FiCentralTracks const & midtracks)
319451 {
320452 registry.fill (HIST (" EventEfficiency" ), 1 .);
321453
@@ -334,7 +466,29 @@ struct PseudorapidityDensityMFT {
334466 }
335467 registry.fill (HIST (" EventsNtrkZvtxGen_t" ), nCharged, mcCollision.posZ ());
336468
469+ // --------for INEL>0
470+ auto perCollisionMCSampleCentral = mcSampleCentral->sliceByCached (aod::mcparticle::mcCollisionId, mcCollision.globalIndex ());
471+ auto nChargedCentral = 0 ;
472+ for (auto & particle : perCollisionMCSampleCentral) {
473+ auto charge = 0 .;
474+ auto p = pdg->GetParticle (particle.pdgCode ());
475+ if (p != nullptr ) {
476+ charge = p->Charge ();
477+ }
478+ if (std::abs (charge) < 3 .) {
479+ continue ;
480+ }
481+ nChargedCentral++;
482+ }
483+
484+ if (nChargedCentral > 0 ) {
485+ registry.fill (HIST (" EventEfficiency" ), 2 .);
486+ registry.fill (HIST (" EventsNtrkZvtxGen_gt0t" ), nCharged, mcCollision.posZ ());
487+ }
488+
489+ // -----------
337490 bool atLeastOne = false ;
491+ bool atLeastOne_gt0 = false ;
338492 int moreThanOne = 0 ;
339493
340494 LOGP (debug, " MC col {} has {} reco cols" , mcCollision.globalIndex (), collisions.size ());
@@ -346,6 +500,14 @@ struct PseudorapidityDensityMFT {
346500
347501 registry.fill (HIST (" EventEfficiency" ), 4 .);
348502
503+ auto perCollisionSampleCentral = midtracks.sliceBy (perColCentral, collision.globalIndex ());
504+
505+ if (perCollisionSampleCentral.size () > 0 ) {
506+ registry.fill (HIST (" EventEfficiency" ), 5 .);
507+ atLeastOne_gt0 = true ;
508+ registry.fill (HIST (" EventsNtrkZvtxGen_gt0" ), perCollisionSample.size (), collision.posZ ());
509+ }
510+
349511 registry.fill (HIST (" EventsZposDiff" ), collision.posZ () - mcCollision.posZ ());
350512 if (useZDiffCut) {
351513 if (std::abs (collision.posZ () - mcCollision.posZ ()) > maxZDiff) {
@@ -374,10 +536,17 @@ struct PseudorapidityDensityMFT {
374536 }
375537
376538 registry.fill (HIST (" TracksEtaZvtxGen_t" ), particle.eta (), mcCollision.posZ ());
539+ if (perCollisionMCSampleCentral.size () > 0 ) {
540+ registry.fill (HIST (" TracksEtaZvtxGen_gt0t" ), particle.eta (), mcCollision.posZ ());
541+ }
377542 if (atLeastOne) {
378543 registry.fill (HIST (" TracksEtaZvtxGen" ), particle.eta (), mcCollision.posZ ());
379544 registry.fill (HIST (" TracksPtEtaGen" ), particle.pt (), particle.eta ());
545+ if (atLeastOne_gt0) {
546+ registry.fill (HIST (" TracksEtaZvtxGen_gt0" ), particle.eta (), mcCollision.posZ ());
547+ }
380548 }
549+
381550 registry.fill (HIST (" TracksPhiEtaGen" ), particle.phi (), particle.eta ());
382551 registry.fill (HIST (" TracksPhiZvtxGen" ), particle.phi (), mcCollision.posZ ());
383552 registry.fill (HIST (" TracksPtEtaGen_t" ), particle.pt (), particle.eta ());
0 commit comments