@@ -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