Skip to content

Commit 4af9425

Browse files
nstrangmNicolas Strangmann
andauthored
[PWGEM/PhotonMeson] Add gen mult histogram for bc wise analysis (#11227)
Co-authored-by: Nicolas Strangmann <nicolas.strangmann@.cern.ch>
1 parent 503c638 commit 4af9425

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

PWGEM/PhotonMeson/TableProducer/bcWiseClusterSkimmer.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ struct bcWiseClusterSkimmer {
7575
Configurable<bool> cfgRequirekTVXinEMC{"cfgRequirekTVXinEMC", false, "Only store kTVXinEMC triggered BCs"};
7676
Configurable<bool> cfgRequireGoodRCTQuality{"cfgRequireGoodRCTQuality", false, "Only store BCs with good quality of T0 and EMC in RCT"};
7777
Configurable<bool> cfgStoreMu{"cfgStoreMu", false, "Calculate and store mu (probablity of a TVX collision in the BC) per BC. Otherwise fill with 0"};
78+
ConfigurableAxis cfgMultiplicityBinning{"cfgMultiplicityBinning", {1000, 0, 10000}, "Binning used for the binning of the number of particles in the event"};
7879

7980
aod::rctsel::RCTFlagsChecker isFT0EMCGoodRCTChecker{aod::rctsel::kFT0Bad, aod::rctsel::kEMCBad};
8081
parameters::GRPLHCIFData* mLHCIFdata = nullptr;
@@ -98,6 +99,8 @@ struct bcWiseClusterSkimmer {
9899
for (int iBin = 0; iBin < nEventBins; iBin++)
99100
mHistManager.get<TH1>(HIST("nBCs"))->GetXaxis()->SetBinLabel(iBin + 1, binLabels[iBin]);
100101

102+
mHistManager.add("CentralityVsGenMultiplicity", "Centrality vs number of generated MC particles;Centrality;#bf{#it{N}_{gen}}", HistType::kTH2F, {{102, 0., 102}, cfgMultiplicityBinning});
103+
101104
LOG(info) << "BC wise cluster skimmer cuts:";
102105
LOG(info) << "------------------------------------";
103106
LOG(info) << "| Timing cut: " << cfgMinTime << " < t < " << cfgMaxTime;
@@ -310,6 +313,10 @@ struct bcWiseClusterSkimmer {
310313
auto mcCollisionsBC = mcCollisions.sliceBy(mcCollperBC, bc.globalIndex());
311314
for (const auto& mcCollision : mcCollisionsBC) {
312315
auto mcParticlesInColl = mcParticles.sliceBy(perMcCollision, mcCollision.globalIndex());
316+
double centrality = 101.5;
317+
if (collisionsInBC.size() > 0)
318+
centrality = collisionsInBC.iteratorAt(0).centFT0M();
319+
mHistManager.fill(HIST("CentralityVsGenMultiplicity"), centrality, mcParticlesInColl.size());
313320
for (const auto& mcParticle : mcParticlesInColl) {
314321
if (mcParticle.pdgCode() != 111 || std::abs(mcParticle.y()) > cfgRapidityCut || !isGammaGammaDecay(mcParticle, mcParticles) || mcParticle.pt() < cfgMinPtGenPi0)
315322
continue;

PWGEM/PhotonMeson/Tasks/mcGeneratorStudies.cxx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,23 @@ struct MCGeneratorStudies {
3131
HistogramRegistry mHistManager{"MCGeneratorStudyHistograms"};
3232
Configurable<int> cfgSelectedParticleCode{"cfgSelectedParticleCode", 111, "PDG code of the particle to be investigated"};
3333
Configurable<float> cfgMaxZVertex{"cfgMaxZVertex", 10, "Maximum absolute z-vertex distance (cm)"};
34+
Configurable<float> cfgRapidityCut{"cfgRapidityCut", 0.8, "Maximum absolute rapditity of selected generated particles"};
35+
ConfigurableAxis cfgMultiplicityBinning{"cfgMultiplicityBinning", {1000, 0, 10000}, "Binning used for the binning of the number of particles in the event"};
3436
expressions::Filter zVertexFilter = aod::mccollision::posZ < cfgMaxZVertex && aod::mccollision::posZ > -cfgMaxZVertex;
3537

36-
void init(InitContext const&) { mHistManager.add("YieldVsNParticles", "pT of selected particles in all MC collisions vs number of all generated particles in event;#bf{#it{p}_{T} (GeV/#it{c})};#bf{#it{N} (Multiplicity)};#bf{#it{N}}", HistType::kTH2F, {{200, 0, 20}, {1000, 0, 10000}}); }
38+
void init(InitContext const&)
39+
{
40+
mHistManager.add("Multiplicity", "Number of generated particles per MC collision;#bf{#it{N} (Multiplicity)};#bf{#it{N}_{MC collisions}}", HistType::kTH1F, {cfgMultiplicityBinning});
41+
mHistManager.add("YieldVsMultiplicity", "pT of selected particles in all MC collisions vs number of all generated particles in event;#bf{#it{p}_{T} (GeV/#it{c})};#bf{#it{N} (Multiplicity)};#bf{#it{N}}", HistType::kTH2F, {{200, 0, 20}, cfgMultiplicityBinning});
42+
}
3743

3844
void process(soa::Filtered<aod::McCollisions>::iterator const&, aod::McParticles const& mcParticles)
3945
{
4046
int nParticles = mcParticles.size();
47+
mHistManager.fill(HIST("Multiplicity"), nParticles);
4148
for (auto& mcParticle : mcParticles) {
42-
if (mcParticle.pdgCode() == cfgSelectedParticleCode && std::abs(mcParticle.y()) < 0.8f)
43-
mHistManager.fill(HIST("YieldVsNParticles"), mcParticle.pt(), nParticles);
49+
if (mcParticle.pdgCode() == cfgSelectedParticleCode && std::abs(mcParticle.y()) < cfgRapidityCut)
50+
mHistManager.fill(HIST("YieldVsMultiplicity"), mcParticle.pt(), nParticles);
4451
}
4552
}
4653
};

0 commit comments

Comments
 (0)