@@ -1002,6 +1002,10 @@ struct StrangenessInJets {
10021002 // MC particles per collision
10031003 auto mcParticlesPerColl = mcParticles.sliceBy (perMCCollision, collision.globalIndex ());
10041004
1005+ // Store strange hadron pdg code and momentum
1006+ std::vector<int > pdg;
1007+ std::vector<TVector3> strHadronMomentum;
1008+
10051009 // Loop over all MC particles and select physical primaries within acceptance
10061010 std::vector<fastjet::PseudoJet> fjParticles;
10071011 for (const auto & particle : mcParticlesPerColl) {
@@ -1016,6 +1020,13 @@ struct StrangenessInJets {
10161020 fastjet::PseudoJet fourMomentum (particle.px (), particle.py (), particle.pz (), energy);
10171021 fourMomentum.set_user_index (particle.pdgCode ());
10181022 fjParticles.emplace_back (fourMomentum);
1023+
1024+ // Store properties of strange hadrons
1025+ int pdgAbs = std::abs (particle.pdgCode ());
1026+ if (pdgAbs == kK0Short || pdgAbs == kLambda0 || pdgAbs == kXiMinus || pdgAbs == kOmegaMinus ) {
1027+ pdg.emplace_back (particle.pdgCode ());
1028+ strHadronMomentum.emplace_back (particle.px (), particle.py (), particle.pz ());
1029+ }
10191030 }
10201031
10211032 // Skip events with no particles
@@ -1055,48 +1066,47 @@ struct StrangenessInJets {
10551066 getPerpendicularAxis (jetAxis, ueAxis1, +1 );
10561067 getPerpendicularAxis (jetAxis, ueAxis2, -1 );
10571068
1058- // Loop over MC particles
1059- for (const auto & particle : mcParticlesPerColl) {
1060- if (!particle.isPhysicalPrimary ())
1061- continue ;
1062- double minPtParticle = 0.1 ;
1063- if (particle.eta () < etaMin || particle.eta () > etaMax || particle.pt () < minPtParticle)
1064- continue ;
1069+ // Loop over strange hadrons
1070+ int index = -1 ;
1071+ for (const auto & hadron : strHadronMomentum) {
1072+
1073+ // Particle index
1074+ index++;
10651075
10661076 // Compute distance of particles from jet and UE axes
1067- double deltaEtaJet = particle. eta () - jetAxis.Eta ();
1068- double deltaPhiJet = getDeltaPhi (particle. phi (), jetAxis.Phi ());
1077+ double deltaEtaJet = hadron. Eta () - jetAxis.Eta ();
1078+ double deltaPhiJet = getDeltaPhi (hadron. Phi (), jetAxis.Phi ());
10691079 double deltaRJet = std::sqrt (deltaEtaJet * deltaEtaJet + deltaPhiJet * deltaPhiJet);
1070- double deltaEtaUe1 = particle. eta () - ueAxis1.Eta ();
1071- double deltaPhiUe1 = getDeltaPhi (particle. phi (), ueAxis1.Phi ());
1080+ double deltaEtaUe1 = hadron. Eta () - ueAxis1.Eta ();
1081+ double deltaPhiUe1 = getDeltaPhi (hadron. Phi (), ueAxis1.Phi ());
10721082 double deltaRUe1 = std::sqrt (deltaEtaUe1 * deltaEtaUe1 + deltaPhiUe1 * deltaPhiUe1);
1073- double deltaEtaUe2 = particle. eta () - ueAxis2.Eta ();
1074- double deltaPhiUe2 = getDeltaPhi (particle. phi (), ueAxis2.Phi ());
1083+ double deltaEtaUe2 = hadron. Eta () - ueAxis2.Eta ();
1084+ double deltaPhiUe2 = getDeltaPhi (hadron. Phi (), ueAxis2.Phi ());
10751085 double deltaRUe2 = std::sqrt (deltaEtaUe2 * deltaEtaUe2 + deltaPhiUe2 * deltaPhiUe2);
10761086
10771087 // Select particles inside jet
10781088 if (deltaRJet < coneRadius) {
1079- switch (particle. pdgCode () ) {
1089+ switch (pdg[index] ) {
10801090 case kK0Short :
1081- registryMC.fill (HIST (" K0s_generated_jet" ), genMultiplicity, particle. pt ());
1091+ registryMC.fill (HIST (" K0s_generated_jet" ), genMultiplicity, hadron. Pt ());
10821092 break ;
10831093 case kLambda0 :
1084- registryMC.fill (HIST (" Lambda_generated_jet" ), genMultiplicity, particle. pt ());
1094+ registryMC.fill (HIST (" Lambda_generated_jet" ), genMultiplicity, hadron. Pt ());
10851095 break ;
10861096 case kLambda0Bar :
1087- registryMC.fill (HIST (" AntiLambda_generated_jet" ), genMultiplicity, particle. pt ());
1097+ registryMC.fill (HIST (" AntiLambda_generated_jet" ), genMultiplicity, hadron. Pt ());
10881098 break ;
10891099 case kXiMinus :
1090- registryMC.fill (HIST (" XiNeg_generated_jet" ), genMultiplicity, particle. pt ());
1100+ registryMC.fill (HIST (" XiNeg_generated_jet" ), genMultiplicity, hadron. Pt ());
10911101 break ;
10921102 case kXiPlusBar :
1093- registryMC.fill (HIST (" XiPos_generated_jet" ), genMultiplicity, particle. pt ());
1103+ registryMC.fill (HIST (" XiPos_generated_jet" ), genMultiplicity, hadron. Pt ());
10941104 break ;
10951105 case kOmegaMinus :
1096- registryMC.fill (HIST (" OmegaNeg_generated_jet" ), genMultiplicity, particle. pt ());
1106+ registryMC.fill (HIST (" OmegaNeg_generated_jet" ), genMultiplicity, hadron. Pt ());
10971107 break ;
10981108 case kOmegaPlusBar :
1099- registryMC.fill (HIST (" OmegaPos_generated_jet" ), genMultiplicity, particle. pt ());
1109+ registryMC.fill (HIST (" OmegaPos_generated_jet" ), genMultiplicity, hadron. Pt ());
11001110 break ;
11011111 default :
11021112 break ;
@@ -1105,27 +1115,27 @@ struct StrangenessInJets {
11051115
11061116 // Select particles inside UE cones
11071117 if (deltaRUe1 < coneRadius || deltaRUe2 < coneRadius) {
1108- switch (particle. pdgCode () ) {
1118+ switch (pdg[index] ) {
11091119 case kK0Short :
1110- registryMC.fill (HIST (" K0s_generated_ue" ), genMultiplicity, particle. pt ());
1120+ registryMC.fill (HIST (" K0s_generated_ue" ), genMultiplicity, hadron. Pt ());
11111121 break ;
11121122 case kLambda0 :
1113- registryMC.fill (HIST (" Lambda_generated_ue" ), genMultiplicity, particle. pt ());
1123+ registryMC.fill (HIST (" Lambda_generated_ue" ), genMultiplicity, hadron. Pt ());
11141124 break ;
11151125 case kLambda0Bar :
1116- registryMC.fill (HIST (" AntiLambda_generated_ue" ), genMultiplicity, particle. pt ());
1126+ registryMC.fill (HIST (" AntiLambda_generated_ue" ), genMultiplicity, hadron. Pt ());
11171127 break ;
11181128 case kXiMinus :
1119- registryMC.fill (HIST (" XiNeg_generated_ue" ), genMultiplicity, particle. pt ());
1129+ registryMC.fill (HIST (" XiNeg_generated_ue" ), genMultiplicity, hadron. Pt ());
11201130 break ;
11211131 case kXiPlusBar :
1122- registryMC.fill (HIST (" XiPos_generated_ue" ), genMultiplicity, particle. pt ());
1132+ registryMC.fill (HIST (" XiPos_generated_ue" ), genMultiplicity, hadron. Pt ());
11231133 break ;
11241134 case kOmegaMinus :
1125- registryMC.fill (HIST (" OmegaNeg_generated_ue" ), genMultiplicity, particle. pt ());
1135+ registryMC.fill (HIST (" OmegaNeg_generated_ue" ), genMultiplicity, hadron. Pt ());
11261136 break ;
11271137 case kOmegaPlusBar :
1128- registryMC.fill (HIST (" OmegaPos_generated_ue" ), genMultiplicity, particle. pt ());
1138+ registryMC.fill (HIST (" OmegaPos_generated_ue" ), genMultiplicity, hadron. Pt ());
11291139 break ;
11301140 default :
11311141 break ;
0 commit comments