Skip to content

Commit b282dbd

Browse files
committed
Add histograms to count number of jets
1 parent 5e97c36 commit b282dbd

File tree

1 file changed

+37
-2
lines changed

1 file changed

+37
-2
lines changed

PWGLF/Tasks/Strangeness/strangenessInJetsIons.cxx

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,8 @@ struct StrangenessInJetsIons {
237237
AxisSpec multAxis = {multBinning, multAxTitle};
238238

239239
const AxisSpec ptAxis{100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"};
240+
const AxisSpec ptJetAxis{101, 0.0, 100.0, "#it{p}_{T,jet} (GeV/#it{c})"};
241+
const AxisSpec numJets{21, -0.5, 20.5, "Number of jets per collision"};
240242
const AxisSpec invMassK0sAxis{200, 0.44, 0.56, "m_{#pi#pi} (GeV/#it{c}^{2})"};
241243
const AxisSpec invMassLambdaAxis{200, 1.09, 1.14, "m_{p#pi} (GeV/#it{c}^{2})"};
242244
const AxisSpec invMassXiAxis{200, 1.28, 1.36, "m_{p#pi#pi} (GeV/#it{c}^{2})"};
@@ -283,6 +285,10 @@ struct StrangenessInJetsIons {
283285
registryData.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(7, "No empty events");
284286
registryData.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(8, "At least one jet");
285287

288+
// Jet counters
289+
registryData.add("n_jets_vs_mult_pT", "n_jets_vs_mult_pT", HistType::kTH2F, {multAxis, ptJetAxis});
290+
registryData.add("n_jets_vs_mult", "n_jets_vs_mult", HistType::kTH2F, {multAxis, numJets});
291+
286292
// Armenteros-Podolanski plot
287293
// registryQC.add("ArmenterosPreSel_DATA", "ArmenterosPreSel_DATA", HistType::kTH2F, {alphaArmAxis, qtarmAxis});
288294

@@ -333,6 +339,10 @@ struct StrangenessInJetsIons {
333339
// Add histogram to store multiplicity of the event
334340
registryMC.add("number_of_events_vsmultiplicity_gen", "number of events vs multiplicity", HistType::kTH1D, {{101, -0.5, 100.5, "Multiplicity percentile"}});
335341

342+
// Jet counters
343+
registryMC.add("n_jets_vs_mult_pT_mc_gen", "n_jets_vs_mult_pT_mc_gen", HistType::kTH2F, {multAxis, ptJetAxis});
344+
registryMC.add("n_jets_vs_mult_mc_gen", "n_jets_vs_mult_mc_gen", HistType::kTH2F, {multAxis, numJets});
345+
336346
// Histograms for analysis
337347
if (particleOfInterestDict[ParticleOfInterest::kV0Particles]) {
338348
registryMC.add("K0s_generated_jet", "K0s_generated_jet", HistType::kTH2F, {multAxis, ptAxis});
@@ -412,6 +422,10 @@ struct StrangenessInJetsIons {
412422
// Add histogram to store multiplicity of the event
413423
registryMC.add("number_of_events_vsmultiplicity_rec", "number of events vs multiplicity", HistType::kTH1D, {{101, -0.5, 100.5, "Multiplicity percentile"}});
414424

425+
// Jet counters
426+
registryMC.add("n_jets_vs_mult_pT_mc_rec", "n_jets_vs_mult_pT_mc_rec", HistType::kTH2F, {multAxis, ptJetAxis});
427+
registryMC.add("n_jets_vs_mult_mc_rec", "n_jets_vs_mult_mc_rec", HistType::kTH2F, {multAxis, numJets});
428+
415429
// Armenteros-Podolanski plot
416430
// registryQC.add("ArmenterosPreSel_REC", "ArmenterosPreSel_REC", HistType::kTH2F, {alphaArmAxis, qtarmAxis});
417431

@@ -1414,6 +1428,7 @@ struct StrangenessInJetsIons {
14141428
std::vector<TVector3> selectedJet;
14151429
std::vector<TVector3> ue1;
14161430
std::vector<TVector3> ue2;
1431+
std::vector<double> jetPt;
14171432

14181433
// Loop over reconstructed jets
14191434
for (const auto& jet : jets) {
@@ -1441,6 +1456,7 @@ struct StrangenessInJetsIons {
14411456
selectedJet.emplace_back(jetAxis);
14421457
ue1.emplace_back(ueAxis1);
14431458
ue2.emplace_back(ueAxis2);
1459+
jetPt.emplace_back(jetMinusBkg.pt());
14441460
}
14451461
if (!isAtLeastOneJetSelected)
14461462
return;
@@ -1458,9 +1474,14 @@ struct StrangenessInJetsIons {
14581474

14591475
// Fill event multiplicity
14601476
registryData.fill(HIST("number_of_events_vsmultiplicity"), multiplicity);
1477+
registryData.fill(HIST("n_jets_vs_mult"), multiplicity, static_cast<int>(selectedJet.size()));
14611478

14621479
// Loop over selected jets
14631480
for (int i = 0; i < static_cast<int>(selectedJet.size()); i++) {
1481+
1482+
// Fill jet counter
1483+
registryData.fill(HIST("n_jets_vs_mult_pT"), multiplicity, jetPt[i]);
1484+
14641485
if (particleOfInterestDict[ParticleOfInterest::kV0Particles]) { // V0s
14651486
for (const auto& v0 : fullV0s) {
14661487

@@ -1748,6 +1769,7 @@ struct StrangenessInJetsIons {
17481769
auto [rhoPerp, rhoMPerp] = jetutilities::estimateRhoPerpCone(fjParticles, jets[0], rJet);
17491770

17501771
// Loop over clustered jets
1772+
int countSelJet = 0; // number of selected jets
17511773
for (const auto& jet : jets) {
17521774

17531775
// Jet must be fully contained in acceptance
@@ -1761,9 +1783,13 @@ struct StrangenessInJetsIons {
17611783
// Apply jet pT threshold
17621784
if (jetMinusBkg.pt() < minJetPt)
17631785
continue;
1786+
countSelJet++;
17641787
registryMC.fill(HIST("number_of_events_mc_gen"), 3.5);
17651788
registryMC.fill(HIST("number_of_events_vsmultiplicity_gen"), genMultiplicity);
17661789

1790+
// Fill jet counter
1791+
registryMC.fill(HIST("n_jets_vs_mult_pT_mc_gen"), genMultiplicity, jetMinusBkg.pt());
1792+
17671793
// Set up two perpendicular cone axes for underlying event estimation
17681794
TVector3 jetAxis(jet.px(), jet.py(), jet.pz());
17691795
double coneRadius = std::sqrt(jet.area() / PI);
@@ -1937,6 +1963,8 @@ struct StrangenessInJetsIons {
19371963
}
19381964
}
19391965
}
1966+
// Fill jet counter
1967+
registryMC.fill(HIST("n_jets_vs_mult_mc_gen"), genMultiplicity, countSelJet);
19401968
}
19411969
}
19421970
PROCESS_SWITCH(StrangenessInJetsIons, processMCgenerated, "Process MC generated events", false);
@@ -2037,6 +2065,7 @@ struct StrangenessInJetsIons {
20372065

20382066
// Jet selection
20392067
bool isAtLeastOneJetSelected = false;
2068+
std::vector<double> jetPt;
20402069

20412070
// Loop over clustered jets
20422071
for (const auto& jet : jets) {
@@ -2064,29 +2093,34 @@ struct StrangenessInJetsIons {
20642093
selectedJet.emplace_back(jetAxis);
20652094
ue1.emplace_back(ueAxis1);
20662095
ue2.emplace_back(ueAxis2);
2096+
jetPt.emplace_back(jetMinusBkg.pt());
20672097
}
20682098
if (!isAtLeastOneJetSelected)
20692099
continue;
20702100

20712101
// Fill event counter for events with at least one selected jet
20722102
registryMC.fill(HIST("number_of_events_mc_rec"), 6.5);
20732103
registryMC.fill(HIST("number_of_events_vsmultiplicity_rec"), multiplicity);
2104+
registryMC.fill(HIST("n_jets_vs_mult_mc_rec"), multiplicity, static_cast<int>(selectedJet.size()));
20742105

20752106
// Loop over selected jets
20762107
for (int i = 0; i < static_cast<int>(selectedJet.size()); i++) {
20772108

2109+
// Fill jet counter
2110+
registryMC.fill(HIST("n_jets_vs_mult_pT_mc_rec"), multiplicity, jetPt[i]);
2111+
20782112
// ------------------------------------------------
20792113
// --- Generated hadrons in reconstructed jets ----
20802114
for (auto& particle : mcParticlesPerColl) {
20812115
if (!particle.isPhysicalPrimary() || std::abs(particle.eta()) > 0.8)
20822116
continue;
20832117

20842118
int absPdg = std::abs(particle.pdgCode());
2085-
if (absPdg != kK0Short && absPdg != kLambda0 )
2119+
if (absPdg != kK0Short && absPdg != kLambda0)
20862120
continue;
20872121

20882122
TVector3 momVec(particle.px(), particle.py(), particle.pz());
2089-
2123+
20902124
// Compute distance of particles from jet and UE axes
20912125
const double deltaEtaJet = momVec.Eta() - selectedJet[i].Eta();
20922126
const double deltaPhiJet = getDeltaPhi(momVec.Phi(), selectedJet[i].Phi());
@@ -2336,6 +2370,7 @@ struct StrangenessInJetsIons {
23362370
}
23372371
}
23382372
}
2373+
jetPt.clear();
23392374
}
23402375
}
23412376
PROCESS_SWITCH(StrangenessInJetsIons, processMCreconstructed, "process reconstructed events", false);

0 commit comments

Comments
 (0)