Skip to content

Commit 892192f

Browse files
committed
added histo for cascade efficiency
1 parent d74c7fd commit 892192f

1 file changed

Lines changed: 87 additions & 3 deletions

File tree

PWGLF/Tasks/Strangeness/strangeness_in_jets.cxx

Lines changed: 87 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,20 @@ struct strangeness_in_jets {
171171
registryMC.add("K0s_generated", "K0s_generated", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
172172
registryMC.add("Lambda_generated", "Lambda_generated", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
173173
registryMC.add("AntiLambda_generated", "AntiLambda_generated", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
174+
registryMC.add("XiPos_generated", "XiPos_generated", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
175+
registryMC.add("XiNeg_generated", "XiNeg_generated", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
176+
registryMC.add("OmegaPos_generated", "OmegaPos_generated", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
177+
registryMC.add("OmegaNeg_generated", "OmegaNeg_generated", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
174178
registryMC.add("K0s_reconstructed", "K0s_reconstructed", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
175179
registryMC.add("Lambda_reconstructed", "Lambda_reconstructed", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
176180
registryMC.add("AntiLambda_reconstructed", "AntiLambda_reconstructed", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
177181
registryMC.add("K0s_reconstructed_incl", "K0s_reconstructed_incl", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
178182
registryMC.add("Lambda_reconstructed_incl", "Lambda_reconstructed_incl", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
179183
registryMC.add("AntiLambda_reconstructed_incl", "AntiLambda_reconstructed_incl", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
184+
registryMC.add("XiPos_reconstructed", "XiPos_reconstructed", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
185+
registryMC.add("XiNeg_reconstructed", "XiNeg_reconstructed", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
186+
registryMC.add("OmegaPos_reconstructed", "OmegaPos_reconstructed", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
187+
registryMC.add("OmegaNeg_reconstructed", "OmegaNeg_reconstructed", HistType::kTH2F, {multBinning, {100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}});
180188

181189
// Histograms for reweighting
182190
registryMC.add("K0s_eta_pt_jet", "K0s_eta_pt_jet", HistType::kTH2F, {{100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"}, {18, -0.9, 0.9, "#eta"}});
@@ -1068,10 +1076,11 @@ struct strangeness_in_jets {
10681076
}
10691077
PROCESS_SWITCH(strangeness_in_jets, processData, "Process data", true);
10701078

1071-
Preslice<aod::V0Datas> perCollision = o2::aod::v0data::collisionId;
1079+
Preslice<aod::V0Datas> perCollisionV0 = o2::aod::v0data::collisionId;
1080+
Preslice<aod::CascDataExt> perCollisionCasc = o2::aod::cascade::collisionId;
10721081
Preslice<aod::McParticles> perMCCollision = o2::aod::mcparticle::mcCollisionId;
10731082

1074-
void processMCefficiency(SimCollisions const& collisions, MCTracks const& mcTracks, aod::V0Datas const& fullV0s, aod::McCollisions const& mcCollisions, const aod::McParticles& mcParticles)
1083+
void processMCefficiency(SimCollisions const& collisions, MCTracks const& mcTracks, aod::V0Datas const& fullV0s, aod::CascDataExt const& Cascades, aod::McCollisions const& mcCollisions, const aod::McParticles& mcParticles)
10751084
{
10761085
for (const auto& collision : collisions) {
10771086
registryQC.fill(HIST("number_of_events_mc"), 0.5);
@@ -1085,7 +1094,8 @@ struct strangeness_in_jets {
10851094
registryQC.fill(HIST("number_of_events_mc"), 2.5);
10861095
float multiplicity = collision.centFT0M();
10871096

1088-
auto v0s_per_coll = fullV0s.sliceBy(perCollision, collision.globalIndex());
1097+
auto v0s_per_coll = fullV0s.sliceBy(perCollisionV0, collision.globalIndex());
1098+
auto casc_per_coll = Cascades.sliceBy(perCollisionCasc, collision.globalIndex());
10891099
auto mcParticles_per_coll = mcParticles.sliceBy(perMCCollision, collision.globalIndex());
10901100

10911101
for (auto& v0 : v0s_per_coll) {
@@ -1142,6 +1152,64 @@ struct strangeness_in_jets {
11421152
}
11431153
}
11441154

1155+
// Cascades
1156+
for (auto& casc : casc_per_coll) {
1157+
auto bach = casc.bachelor_as<FullTracks>();
1158+
auto pos = casc.posTrack_as<FullTracks>();
1159+
auto neg = casc.negTrack_as<FullTracks>();
1160+
1161+
if (!bach.has_mcParticle())
1162+
continue;
1163+
if (!pos.has_mcParticle())
1164+
continue;
1165+
if (!neg.has_mcParticle())
1166+
continue;
1167+
1168+
auto posParticle = pos.mcParticle_as<aod::McParticles>();
1169+
auto negParticle = neg.mcParticle_as<aod::McParticles>();
1170+
auto bachParticle = bach.mcParticle_as<aod::McParticles>();
1171+
if (!posParticle.has_mothers())
1172+
continue;
1173+
if (!negParticle.has_mothers())
1174+
continue;
1175+
if (!bachParticle.has_mothers())
1176+
continue;
1177+
1178+
int pdg_parent(0);
1179+
for (auto& particleMotherOfNeg : negParticle.mothers_as<aod::McParticles>()) {
1180+
for (auto& particleMotherOfPos : posParticle.mothers_as<aod::McParticles>()) {
1181+
for (auto& particleMotherOfBach : bachParticle.mothers_as<aod::McParticles>()) {
1182+
if (particleMotherOfNeg.globalIndex() != particleMotherOfPos.globalIndex())
1183+
continue;
1184+
if (abs(particleMotherOfNeg.pdgCode()) != 3122)
1185+
continue;
1186+
if (!particleMotherOfBach.isPhysicalPrimary())
1187+
continue;
1188+
pdg_parent = particleMotherOfBach.pdgCode();
1189+
}
1190+
}
1191+
}
1192+
if (pdg_parent == 0)
1193+
continue;
1194+
1195+
// Xi+
1196+
if (passedXiSelection(casc, pos, neg, bach, collision) && bach.sign() > 0 && pdg_parent == -3312) {
1197+
registryMC.fill(HIST("XiPos_reconstructed"), multiplicity, casc.pt());
1198+
}
1199+
// Xi-
1200+
if (passedXiSelection(casc, pos, neg, bach, collision) && bach.sign() < 0 && pdg_parent == 3312) {
1201+
registryMC.fill(HIST("XiNeg_reconstructed"), multiplicity, casc.pt());
1202+
}
1203+
// Omega+
1204+
if (passedOmegaSelection(casc, pos, neg, bach, collision) && bach.sign() > 0 && pdg_parent == -3334) {
1205+
registryMC.fill(HIST("OmegaPos_reconstructed"), multiplicity, casc.pt());
1206+
}
1207+
// Omega-
1208+
if (passedOmegaSelection(casc, pos, neg, bach, collision) && bach.sign() < 0 && pdg_parent == 3334) {
1209+
registryMC.fill(HIST("OmegaNeg_reconstructed"), multiplicity, casc.pt());
1210+
}
1211+
}
1212+
11451213
for (auto& mcParticle : mcParticles_per_coll) {
11461214

11471215
if (mcParticle.y() < yMin || mcParticle.y() > yMax)
@@ -1164,6 +1232,22 @@ struct strangeness_in_jets {
11641232
registryMC.fill(HIST("AntiLambda_generated"), multiplicity, mcParticle.pt());
11651233
registryMC.fill(HIST("AntiLambda_eta_pt_pythia"), mcParticle.pt(), mcParticle.eta());
11661234
}
1235+
// Xi Pos
1236+
if (mcParticle.pdgCode() == -3312) {
1237+
registryMC.fill(HIST("XiPos_generated"), multiplicity, mcParticle.pt());
1238+
}
1239+
// Xi Neg
1240+
if (mcParticle.pdgCode() == 3312) {
1241+
registryMC.fill(HIST("XiNeg_generated"), multiplicity, mcParticle.pt());
1242+
}
1243+
// Omega Pos
1244+
if (mcParticle.pdgCode() == -3334) {
1245+
registryMC.fill(HIST("OmegaPos_generated"), multiplicity, mcParticle.pt());
1246+
}
1247+
// Omega Neg
1248+
if (mcParticle.pdgCode() == 3334) {
1249+
registryMC.fill(HIST("OmegaNeg_generated"), multiplicity, mcParticle.pt());
1250+
}
11671251
}
11681252
}
11691253
}

0 commit comments

Comments
 (0)