diff --git a/EventFiltering/PWGLF/strangenessFilter.cxx b/EventFiltering/PWGLF/strangenessFilter.cxx index 0475a5b364e..961a979cf1f 100644 --- a/EventFiltering/PWGLF/strangenessFilter.cxx +++ b/EventFiltering/PWGLF/strangenessFilter.cxx @@ -299,6 +299,10 @@ struct strangenessFilter { QAHistosStrangenessTracking.add("hDcaVsR", "DCA;DCA (cm);R (cm)", HistType::kTH2D, {{200, 0., .5}, {200, 0., 10.}}); QAHistosStrangenessTracking.add("hPtCascCand", "cascades;p_{T} (GeV/#it{c})", HistType::kTH1D, {{200, 0., 10.}}); QAHistosStrangenessTracking.add("hPtCascTracked", "tracked cascades;p_{T} (GeV/#it{c})", HistType::kTH1D, {{200, 0., 10.}}); + QAHistosStrangenessTracking.add("hPtVsMassTrkXi", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1., 3.}}); + QAHistosStrangenessTracking.add("hPtVsMassTrkOmega", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1., 3.}}); + QAHistosStrangenessTracking.add("hPtVsMassTrkXiSelected", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1., 3.}}); + QAHistosStrangenessTracking.add("hPtVsMassTrkOmegaSelected", "cascades;p_{T} (GeV/#it{c});m (GeV/#it{c}^2)", HistType::kTH2D, {{200, 0., 10.}, {1000, 1., 3.}}); } } @@ -1016,10 +1020,6 @@ struct strangenessFilter { QAHistosStrangenessTracking.fill(HIST("hPtCascTracked"), trackCasc.pt()); QAHistosStrangenessTracking.fill(HIST("hStRVsPtTrkCasc"), trackCasc.pt(), RecoDecay::sqrtSumOfSquares(trackCasc.x(), trackCasc.y())); QAHistosStrangenessTracking.fill(HIST("hMatchChi2TrkCasc"), trackedCascade.matchingChi2()); - QAHistosStrangenessTracking.fill(HIST("hMassOmegaVsMatchChi2TrkCasc"), trackedCascade.omegaMass(), trackedCascade.matchingChi2()); - QAHistosStrangenessTracking.fill(HIST("hMassXiVsMatchChi2TrkCasc"), trackedCascade.xiMass(), trackedCascade.matchingChi2()); - QAHistosStrangenessTracking.fill(HIST("hMassOmegaVsTopChi2TrkCasc"), trackedCascade.omegaMass(), trackedCascade.topologyChi2()); - QAHistosStrangenessTracking.fill(HIST("hMassXiVsTopChi2TrkCasc"), trackedCascade.xiMass(), trackedCascade.topologyChi2()); auto trackParCovTrk = getTrackParCov(trackCasc); o2::base::Propagator::Instance()->propagateToDCA(primaryVertex, trackParCovTrk, bz, 2.f, o2::base::Propagator::MatCorrType::USEMatCorrNONE, &impactParameterTrk); @@ -1038,6 +1038,10 @@ struct strangenessFilter { const auto negTrack = v0.negTrack_as(); const auto posTrack = v0.posTrack_as(); + if (!posTrack.hasTPC() || !negTrack.hasTPC()) { + continue; + } + std::array masses{o2::analysis::pdg::MassProton, o2::analysis::pdg::MassPiMinus}; std::array, 2> momenta; std::array nsigma; @@ -1066,14 +1070,19 @@ struct strangenessFilter { momenta[1] = {bachelor.px(), bachelor.py(), bachelor.pz()}; masses = {o2::analysis::pdg::MassLambda0, o2::analysis::pdg::MassK0}; const auto massOmega = recalculateMasses ? RecoDecay::m(momenta, masses) : trackedCascade.omegaMass(); - if (posTrack.hasTPC() && negTrack.hasTPC()) { - QAHistosStrangenessTracking.fill(HIST("hMassOmegaTrkCasc"), massOmega); - } + QAHistosStrangenessTracking.fill(HIST("hMassOmegaTrkCasc"), massOmega); + masses = {o2::analysis::pdg::MassLambda0, o2::analysis::pdg::MassPi0}; const auto massXi = recalculateMasses ? RecoDecay::m(momenta, masses) : trackedCascade.xiMass(); - if (posTrack.hasTPC() && negTrack.hasTPC()) { - QAHistosStrangenessTracking.fill(HIST("hMassXiTrkCasc"), massXi); - } + QAHistosStrangenessTracking.fill(HIST("hMassXiTrkCasc"), massXi); + + QAHistosStrangenessTracking.fill(HIST("hMassOmegaVsMatchChi2TrkCasc"), massOmega, trackedCascade.matchingChi2()); + QAHistosStrangenessTracking.fill(HIST("hMassXiVsMatchChi2TrkCasc"), massXi, trackedCascade.matchingChi2()); + QAHistosStrangenessTracking.fill(HIST("hMassOmegaVsTopChi2TrkCasc"), massOmega, trackedCascade.topologyChi2()); + QAHistosStrangenessTracking.fill(HIST("hMassXiVsTopChi2TrkCasc"), massXi, trackedCascade.topologyChi2()); + + QAHistosStrangenessTracking.fill(HIST("hPtVsMassTrkXi"), trackCasc.pt(), massXi); + QAHistosStrangenessTracking.fill(HIST("hPtVsMassTrkOmega"), trackCasc.pt(), massOmega); if ((trackCasc.pt() > minPtTrackedCascade) && (trackedCascade.matchingChi2() < maxMatchingChi2TrackedCascade) && @@ -1084,12 +1093,14 @@ struct strangenessFilter { if ((std::abs(massXi - o2::analysis::pdg::MassXiMinus) < massWindowTrackedXi) && (std::abs(bachelor.tpcNSigmaPi()) < maxNSigmaBachelorTrackedXi)) { keepEvent[7] = true; + QAHistosStrangenessTracking.fill(HIST("hPtVsMassTrkXiSelected"), trackCasc.pt(), massXi); } // Omega if ((std::abs(massOmega - o2::analysis::pdg::MassOmegaMinus) < massWindowTrackedOmega) && (std::abs(massXi - o2::analysis::pdg::MassXiMinus) >= massWindowXiExclTrackedOmega) && (std::abs(bachelor.tpcNSigmaKa()) < maxNSigmaBachelorTrackedOmega)) { keepEvent[8] = true; + QAHistosStrangenessTracking.fill(HIST("hPtVsMassTrkOmegaSelected"), trackCasc.pt(), massOmega); } } }