Skip to content

Commit 3357ff2

Browse files
authored
PWGMM: puremc-dndeta: use extra HepMC info (#3455)
1 parent 3a27874 commit 3357ff2

File tree

1 file changed

+22
-5
lines changed

1 file changed

+22
-5
lines changed

PWGMM/Mult/Tasks/puremc-dndeta.cxx

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,16 @@ using namespace o2::framework::expressions;
2525
AxisSpec ZAxis = {301, -30.1, 30.1};
2626
AxisSpec DeltaZAxis = {61, -6.1, 6.1};
2727
AxisSpec DCAAxis = {601, -3.01, 3.01};
28-
AxisSpec EtaAxis = {22, -2.2, 2.2};
28+
AxisSpec EtaAxis = {62, -6.2, 6.2};
2929
AxisSpec RapidityAxis = {102, -10.2, 10.2};
3030
AxisSpec PhiAxis = {629, 0, 2 * M_PI};
3131
AxisSpec PtAxis = {2401, -0.005, 24.005};
3232
AxisSpec PtAxis_wide = {1041, -0.05, 104.05};
3333
AxisSpec PtAxisEff = {{0.1, 0.12, 0.14, 0.16, 0.18, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6,
3434
1.7, 1.8, 1.9, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 20.0}};
35+
AxisSpec ScaleAxis = {121, -0.5, 120.5};
36+
AxisSpec MPIAxis = {51, -0.5, 50.5};
37+
AxisSpec ProcAxis = {21, 89.5, 110.5};
3538

3639
auto static constexpr mincharge = 3.f;
3740

@@ -44,7 +47,7 @@ struct PureMcMultiplicityCounter {
4447
Preslice<aod::McParticles> perMcCol = aod::mcparticle::mcCollisionId;
4548
Service<o2::framework::O2DatabasePDG> pdg;
4649
Configurable<float> etaRange{"eta-range", 1.0f, "Eta range to consider"};
47-
ConfigurableAxis multBinning{"multBinning", {301, -0.5, 300.5}, ""};
50+
ConfigurableAxis multBinning{"multiplicity-binning", {301, -0.5, 300.5}, ""};
4851

4952
HistogramRegistry registry{
5053
"registry",
@@ -56,6 +59,10 @@ struct PureMcMultiplicityCounter {
5659
{"Particles/Primaries/Eta", " ; #eta", {HistType::kTH1F, {EtaAxis}}},
5760
{"Particles/Primaries/Y", " ; y", {HistType::kTH1F, {RapidityAxis}}},
5861
{"Particles/Primaries/EtaZvtx", " ; #eta; Z_{vtx} (cm); particles", {HistType::kTH2F, {EtaAxis, ZAxis}}},
62+
{"MCEvents/Properties/ProcessID", "; process ID", {HistType::kTH1F, {ProcAxis}}},
63+
{"MCEvents/Properties/ScalePerProcessID", " ; scale (GeV); process ID", {HistType::kTH2F, {ScaleAxis, ProcAxis}}},
64+
{"MCEvents/Properties/NMPIsPerProcessID", " ; N_{MPI}; process ID", {HistType::kTH2F, {MPIAxis, ProcAxis}}},
65+
{"MCEvents/Properties/ScaleVsNMPIsPerProcessID", " ;scale (GeV); N_{MPI}; process ID", {HistType::kTHnSparseF, {MPIAxis, ScaleAxis, ProcAxis}}},
5966
} //
6067
};
6168

@@ -68,8 +75,11 @@ struct PureMcMultiplicityCounter {
6875
}
6976

7077
AxisSpec MultAxis = {multBinning};
71-
registry.add({"MCEvents/Properties/Multiplicity", " ; N_{p}; events", {HistType::kTH1F, {MultAxis}}});
7278
registry.add({"MCEvents/NtrkZvtx", " ; N_{trk}; Z_{vtx} (cm); events", {HistType::kTH2F, {MultAxis, ZAxis}}});
79+
registry.add({"MCEvents/Properties/MultiplicityPerProcessID", " ; N_{p}; process ID; events", {HistType::kTH2F, {MultAxis, ProcAxis}}});
80+
registry.add({"MCEvents/Properties/MultiplicityVsScalePerProcessID", " ; scale; N_{p}; process ID", {HistType::kTHnSparseF, {ScaleAxis, MultAxis, ProcAxis}}});
81+
registry.add({"MCEvents/Properties/MultiplicityVsMPIsPerProcessID", " ; N_{MPI}; N_{p}; process ID", {HistType::kTHnSparseF, {MPIAxis, MultAxis, ProcAxis}}});
82+
7383
if (doprocessReco) {
7484
registry.add({"Events/Properties/Multiplicity", " ; N_{p}; events", {HistType::kTH1F, {MultAxis}}});
7585
registry.add({"Events/Vertex/X", "; X (cm); events", {HistType::kTH1F, {ZAxis}}});
@@ -115,12 +125,17 @@ struct PureMcMultiplicityCounter {
115125
}
116126
}
117127

118-
void process(aod::McCollision const& collision, aod::McParticles const& particles)
128+
void process(soa::Join<aod::McCollisions, aod::HepMCXSections, aod::HepMCPdfInfos>::iterator const& collision, aod::McParticles const& particles)
119129
{
120130
registry.fill(HIST("MCEvents/Vertex/X"), collision.posX());
121131
registry.fill(HIST("MCEvents/Vertex/Y"), collision.posY());
122132
registry.fill(HIST("MCEvents/Vertex/Z"), collision.posZ());
123133

134+
registry.fill(HIST("MCEvents/Properties/ProcessID"), collision.processId());
135+
registry.fill(HIST("MCEvents/Properties/ScalePerProcessID"), collision.ptHard(), collision.processId());
136+
registry.fill(HIST("MCEvents/Properties/NMPIsPerProcessID"), collision.nMPI(), collision.processId());
137+
registry.fill(HIST("MCEvents/Properties/ScaleVsNMPIsPerProcessID"), collision.ptHard(), collision.nMPI(), collision.processId());
138+
124139
auto Np = 0;
125140
for (auto const& particle : particles) {
126141
if (!particle.isPhysicalPrimary()) {
@@ -163,7 +178,9 @@ struct PureMcMultiplicityCounter {
163178
}
164179
});
165180
}
166-
registry.fill(HIST("MCEvents/Properties/Multiplicity"), Np);
181+
registry.fill(HIST("MCEvents/Properties/MultiplicityVsMPIsPerProcessID"), collision.nMPI(), Np, collision.processId());
182+
registry.fill(HIST("MCEvents/Properties/MultiplicityVsScalePerProcessID"), collision.ptHard(), Np, collision.processId());
183+
registry.fill(HIST("MCEvents/Properties/MultiplicityPerProcessID"), Np, collision.processId());
167184
registry.fill(HIST("MCEvents/NtrkZvtx"), Np, collision.posZ());
168185
}
169186

0 commit comments

Comments
 (0)