Skip to content

Commit eed392e

Browse files
[PWGMM][dndeta-mft] binned in centrality, and added INEL>0 event class (#1738)
* First working version of dndeta-mft with centrality binning
1 parent 13a9906 commit eed392e

2 files changed

Lines changed: 179 additions & 12 deletions

File tree

PWGMM/Mult/TableProducer/trackPropagation.cxx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,6 @@ struct AmbiguousTrackPropagation {
9898

9999
void initCCDB(ExtBCs::iterator const& bc)
100100
{
101-
LOG(info) << "INITIALIZING CCDB";
102-
103101
if (runNumber == bc.runNumber()) {
104102
return;
105103
}

PWGMM/Mult/Tasks/dndeta-mft.cxx

Lines changed: 179 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,35 @@
3535
using namespace o2;
3636
using namespace o2::framework;
3737
using namespace o2::framework::expressions;
38+
using namespace o2::aod::track;
3839

3940
AxisSpec PtAxis = {1001, -0.005, 10.005};
4041
AxisSpec DeltaZAxis = {61, -6.1, 6.1};
41-
// AxisSpec MultAxis = {301, -0.5, 300.5}; now replaced by a ConfigurableAxis
4242
AxisSpec ZAxis = {301, -30.1, 30.1};
4343
AxisSpec PhiAxis = {600, 0, 2 * M_PI};
4444
AxisSpec EtaAxis = {18, -4.6, -1.};
4545
AxisSpec 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

4760
using MFTTracksLabeled = soa::Join<o2::aod::MFTTracks, aod::McMFTTrackLabels>;
4861

4962
struct 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

Comments
 (0)