Skip to content

Commit fa67fc4

Browse files
authored
Add processGen function to have MC gen level info
1 parent 63bb035 commit fa67fc4

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

PWGLF/Tasks/GlobalEventProperties/heavyionMultiplicity.cxx

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ struct HeavyionMultiplicity {
147147
ConfigurableAxis ptHistBin{"ptHistBin", {200, 0., 20.}, ""};
148148
ConfigurableAxis centralityBinning{"centralityBinning", {VARIABLE_WIDTH, 0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100}, ""};
149149
ConfigurableAxis occupancyBin{"occupancyBin", {VARIABLE_WIDTH, 0, 500, 1000, 2000, 5000, 10000}, ""};
150+
ConfigurableAxis centBinGen{"centBinGen", {VARIABLE_WIDTH, 0, 500, 1000, 2000, 5000, 10000}, ""};
150151

151152
Configurable<bool> isApplySameBunchPileup{"isApplySameBunchPileup", true, "Enable SameBunchPileup cut"};
152153
Configurable<bool> isApplyGoodZvtxFT0vsPV{"isApplyGoodZvtxFT0vsPV", true, "Enable GoodZvtxFT0vsPV cut"};
@@ -174,6 +175,7 @@ struct HeavyionMultiplicity {
174175
AxisSpec centAxis = {centralityBinning, "Centrality", "CentralityAxis"};
175176
AxisSpec axisPt = {ptHistBin, "pT", "pTAxis"};
176177
AxisSpec axisOccupancy = {occupancyBin, "occupancy", "OccupancyAxis"};
178+
AxisSpec axisCentBinGen = {centBinGen, "GenCentrality", "CentGenAxis"};
177179

178180
histos.add("EventHist", "EventHist", kTH1D, {axisEvent}, false);
179181
histos.add("VtxZHist", "VtxZHist", kTH1D, {axisVtxZ}, false);
@@ -252,6 +254,18 @@ struct HeavyionMultiplicity {
252254
histos.add("hmcrecdndetapp", "hmcrecdndetapp", kTHnSparseD, {axisVtxZ, centAxis, axisEta, axisPhi, axisSpecies, axisTrackType}, false);
253255
histos.add("hmcgendndetapp", "hmcgendndetapp", kTHnSparseD, {axisVtxZ, centAxis, axisEta, axisPhi, axisSpecies, axisGenPtVary}, false);
254256
}
257+
258+
if (doprocessGen) {
259+
histos.add("MultBarrelEta10_vs_FT0A", "MultBarrelEta10_vs_FT0A", kTH2F, {axisMult, axisFt0aMult}, true);
260+
histos.add("MultBarrelEta10_vs_FT0C", "MultBarrelEta10_vs_FT0C", kTH2F, {axisMult, axisFt0cMult}, true);
261+
histos.add("MultBarrelEta10", "MultBarrelEta10", kTH1F, {axisMult}, true);
262+
histos.add("MultFT0A", "MultFT0A", kTH1F, {axisFt0aMult}, true);
263+
histos.add("MultFT0C", "MultFT0C", kTH1F, {axisFt0cMult}, true);
264+
histos.add("dndeta10_vs_FT0C", "dndeta10_vs_FT0C", kTH2F, {axisEta, axisCentBinGen}, true);
265+
histos.add("dndeta10_vs_FT0A", "dndeta10_vs_FT0A", kTH2F, {axisEta, axisCentBinGen}, true);
266+
histos.add("mult10_vs_FT0C", "mult10_vs_FT0C", kTH2F, {axisMult, axisCentBinGen}, true);
267+
histos.add("mult10_vs_FT0A", "mult10_vs_FT0A", kTH2F, {axisMult, axisCentBinGen}, true);
268+
}
255269
}
256270

257271
template <typename CheckCol>
@@ -791,6 +805,26 @@ struct HeavyionMultiplicity {
791805
} // collision loop
792806
}
793807
PROCESS_SWITCH(HeavyionMultiplicity, processppMonteCarlo, "process pp MC", false);
808+
809+
void processGen(soa::Join<aod::McCollisions, aod::MultsExtraMC>::iterator const& mccols, aod::McParticles const& GenParticles)
810+
{
811+
histos.fill(HIST("MultBarrelEta10_vs_FT0A"), mccols.multMCNParticlesEta10(), mccols.multMCFT0A());
812+
histos.fill(HIST("MultBarrelEta10_vs_FT0C"), mccols.multMCNParticlesEta10(), mccols.multMCFT0C());
813+
histos.fill(HIST("MultBarrelEta10"), mccols.multMCNParticlesEta10());
814+
histos.fill(HIST("MultFT0A"), mccols.multMCFT0A());
815+
histos.fill(HIST("MultFT0C"), mccols.multMCFT0C());
816+
histos.fill(HIST("mult10_vs_FT0A"), mccols.multMCNParticlesEta10(), mccols.multMCFT0A());
817+
histos.fill(HIST("mult10_vs_FT0C"), mccols.multMCNParticlesEta10(), mccols.multMCFT0C());
818+
819+
for (const auto& particle : GenParticles) {
820+
if (!isGenTrackSelected(particle)) {
821+
continue;
822+
}
823+
histos.fill(HIST("dndeta10_vs_FT0A"), particle.eta(), mccols.multMCFT0A());
824+
histos.fill(HIST("dndeta10_vs_FT0C"), particle.eta(), mccols.multMCFT0C());
825+
}
826+
}
827+
PROCESS_SWITCH(HeavyionMultiplicity, processGen, "process pure MC gen", false);
794828
};
795829

796830
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)