Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 48 additions & 1 deletion PWGLF/Tasks/Strangeness/strangenessInJets.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,7 @@ struct StrangenessInJets {
// Define binning and axis specifications for multiplicity, eta, pT, PID, and invariant mass histograms
AxisSpec multAxis = {axisOptions.multBinning, "FT0C percentile"};
const AxisSpec ptAxis{100, 0.0, 10.0, "#it{p}_{T} (GeV/#it{c})"};
const AxisSpec ptAxisFull{250, 0.0, 25.0, "#it{p}_{T} (GeV/#it{c})"};
const AxisSpec invMassK0sAxis{200, 0.44, 0.56, "m_{#pi#pi} (GeV/#it{c}^{2})"};
const AxisSpec invMassLambdaAxis{200, 1.09, 1.14, "m_{p#pi} (GeV/#it{c}^{2})"};
const AxisSpec invMassXiAxis{200, 1.28, 1.36, "m_{p#pi#pi} (GeV/#it{c}^{2})"};
Expand Down Expand Up @@ -434,6 +435,14 @@ struct StrangenessInJets {
registryMC.add("K0s_generated_recojet_ue", "K0s_generated_recojet_ue", HistType::kTH2F, {multAxis, ptAxis});
registryMC.add("Lambda_generated_recojet_ue", "Lambda_generated_recojet_ue", HistType::kTH2F, {multAxis, ptAxis});
registryMC.add("AntiLambda_generated_recojet_ue", "AntiLambda_generated_recojet_ue", HistType::kTH2F, {multAxis, ptAxis});
registryMC.add("hFDVsPtLambdaVsMotherPt_DoubleCharged_jet", ";p_{T} [GeV/c] (V0);p_{T}^{gen} [GeV/c] (#Xi^{-});", {HistType::kTH2F, {ptAxisFull, ptAxisFull}});
registryMC.add("hFDVsPtLambdaVsMotherPt_MCRatio_jet", ";p_{T} [GeV/c] (V0);p_{T}^{gen} [GeV/c] (#Xi^{-/0});", {HistType::kTH2F, {ptAxisFull, ptAxisFull}});
registryMC.add("hFDVsPtAntiLambdaVsMotherPt_DoubleCharged_jet", ";p_{T} [GeV/c] (V0);p_{T}^{gen} [GeV/c] (#bar{#Xi}^{+})", {HistType::kTH2F, {ptAxisFull, ptAxisFull}});
registryMC.add("hFDVsPtAntiLambdaVsMotherPt_MCRatio_jet", ";p_{T} [GeV/c] (V0);p_{T}^{gen} [GeV/c] (#bar{#Xi}^{+/0})", {HistType::kTH2F, {ptAxisFull, ptAxisFull}});
registryMC.add("hFDVsPtLambdaVsMotherPt_DoubleCharged_ue", ";p_{T} [GeV/c] (V0);p_{T}^{gen} [GeV/c] (#Xi^{-});", {HistType::kTH2F, {ptAxisFull, ptAxisFull}});
registryMC.add("hFDVsPtLambdaVsMotherPt_MCRatio_ue", ";p_{T} [GeV/c] (V0);p_{T}^{gen} [GeV/c] (#Xi^{-/0});", {HistType::kTH2F, {ptAxisFull, ptAxisFull}});
registryMC.add("hFDVsPtAntiLambdaVsMotherPt_DoubleCharged_ue", ";p_{T} [GeV/c] (V0);p_{T}^{gen} [GeV/c] (#bar{#Xi}^{+})", {HistType::kTH2F, {ptAxisFull, ptAxisFull}});
registryMC.add("hFDVsPtAntiLambdaVsMotherPt_MCRatio_ue", ";p_{T} [GeV/c] (V0);p_{T}^{gen} [GeV/c] (#bar{#Xi}^{+/0})", {HistType::kTH2F, {ptAxisFull, ptAxisFull}});
}

if (enabledSignals.value[ParticleOfInterest::kCascades]) {
Expand Down Expand Up @@ -1593,7 +1602,7 @@ struct StrangenessInJets {

// Reconstructed MC events
void processMCreconstructed(SimCollisions const& collisions, soa::Join<aod::McCollisions, aod::McCentFT0Ms> const&,
DaughterTracksMC const& mcTracks, aod::V0Datas const& fullV0s,
DaughterTracksMC const& mcTracks, soa::Join<aod::V0Datas, aod::McV0Labels> const& fullV0s,
aod::CascDataExt const& Cascades, aod::McParticles const& mcParticles)
{
// Define per-event containers
Expand Down Expand Up @@ -2002,6 +2011,20 @@ struct StrangenessInJets {
}
const bool isPhysPrim = motherPos.isPhysicalPrimary();

float ptMotherMC = 0.;
float pdgMother = 0.;

auto v0mcparticle = v0.mcParticle();

if (std::abs(v0mcparticle.pdgCode()) == kLambda0 && v0mcparticle.has_mothers()) {
for (auto& mcparticleMother0 : v0mcparticle.mothers_as<aod::McParticles>()) {
if (std::abs(mcparticleMother0.pdgCode()) == 3312 || std::abs(mcparticleMother0.pdgCode()) == 3322) {
ptMotherMC = mcparticleMother0.pt();
pdgMother = mcparticleMother0.pdgCode();
}
}
}

// Compute distance from jet and UE axes
const ParticlePositionWithRespectToJet position{v0.px(), v0.py(), v0.pz(), selectedJet[i], ue1[i], ue2[i]};

Expand All @@ -2018,18 +2041,42 @@ struct StrangenessInJets {
if (passedLambdaSelection(v0, pos, neg) && motherPos.pdgCode() == kLambda0 && isPhysPrim) {
if (position.isInJet()) {
registryMC.fill(HIST("Lambda_reconstructed_jet"), multiplicity, v0.pt());
if (pdgMother == 3312) {
registryMC.fill(HIST("hFDVsPtLambdaVsMotherPt_DoubleCharged_jet"), v0mcparticle.pt(), ptMotherMC);
}
if (pdgMother == 3312 || pdgMother == 3322) {
registryMC.fill(HIST("hFDVsPtLambdaVsMotherPt_MCRatio_jet"), v0mcparticle.pt(), ptMotherMC);
}
}
if (position.isInUE1() || position.isInUE2()) {
registryMC.fill(HIST("Lambda_reconstructed_ue"), multiplicity, v0.pt());
if (pdgMother == 3312) {
registryMC.fill(HIST("hFDVsPtLambdaVsMotherPt_DoubleCharged_ue"), v0mcparticle.pt(), ptMotherMC);
}
if (pdgMother == 3312 || pdgMother == 3322) {
registryMC.fill(HIST("hFDVsPtLambdaVsMotherPt_MCRatio_ue"), v0mcparticle.pt(), ptMotherMC);
}
}
}
// AntiLambda
if (passedAntiLambdaSelection(v0, pos, neg) && motherPos.pdgCode() == kLambda0Bar && isPhysPrim) {
if (position.isInJet()) {
registryMC.fill(HIST("AntiLambda_reconstructed_jet"), multiplicity, v0.pt());
if (pdgMother == -3312) {
registryMC.fill(HIST("hFDVsPtAntiLambdaVsMotherPt_DoubleCharged_jet"), v0mcparticle.pt(), ptMotherMC);
}
if (pdgMother == -3312 || pdgMother == -3322) {
registryMC.fill(HIST("hFDVsPtAntiLambdaVsMotherPt_MCRatio_jet"), v0mcparticle.pt(), ptMotherMC);
}
}
if (position.isInUE1() || position.isInUE2()) {
registryMC.fill(HIST("AntiLambda_reconstructed_ue"), multiplicity, v0.pt());
if (pdgMother == -3312) {
registryMC.fill(HIST("hFDVsPtAntiLambdaVsMotherPt_DoubleCharged_ue"), v0mcparticle.pt(), ptMotherMC);
}
if (pdgMother == -3312 || pdgMother == -3322) {
registryMC.fill(HIST("hFDVsPtAntiLambdaVsMotherPt_MCRatio_ue"), v0mcparticle.pt(), ptMotherMC);
}
}
}

Expand Down
Loading