diff --git a/PWGLF/Tasks/Resonances/lambda1520analysis.cxx b/PWGLF/Tasks/Resonances/lambda1520analysis.cxx index 13b29303cb8..ab0d7245ed1 100644 --- a/PWGLF/Tasks/Resonances/lambda1520analysis.cxx +++ b/PWGLF/Tasks/Resonances/lambda1520analysis.cxx @@ -34,12 +34,13 @@ struct lambda1520analysis { // Configurables // switches - Configurable isEtaAssym{"isEtaAssym", false, "Turn on/off EtaAssym calculation"}; + Configurable cEtaAssym{"cEtaAssym", false, "Turn on/off EtaAssym calculation"}; // Configurable isFillQA{"isFillQA", false, "Turn on/off QA plots"}; - Configurable IsAddlTrackcut{"IsAddlTrackcut", false, "Switch to turn on/off Additional track cut"}; - Configurable IsOldPIDcut{"IsOldPIDcut", false, "Switch to turn on/off old PID cut to apply pt dependent cut"}; - Configurable IsDCAr7SigCut{"IsDCAr7SigCut", false, "Track DCAr 7 Sigma cut to PV Maximum"}; + Configurable cAddlTrackcut{"cAddlTrackcut", false, "Switch to turn on/off Additional track cut"}; + Configurable cOldPIDcut{"cOldPIDcut", false, "Switch to turn on/off old PID cut to apply pt dependent cut"}; + Configurable cDCAr7SigCut{"cDCAr7SigCut", false, "Track DCAr 7 Sigma cut to PV Maximum"}; Configurable cKinCuts{"cKinCuts", false, "Kinematic Cuts for p-K pair opening angle"}; + Configurable cTPCNClsFound{"cTPCNClsFound", false, "Switch to turn on/off TPCNClsFound cut"}; // Pre-selection Track cuts Configurable cMinPtcut{"cMinPtcut", 0.15f, "Minimal pT for tracks"}; @@ -47,6 +48,7 @@ struct lambda1520analysis { Configurable cMinRtpccut{"cMinRtpccut", 0.8f, "minimum ratio of number of Xrows to findable clusters in TPC"}; Configurable cMaxChi2ITScut{"cMaxChi2ITScut", 36.0f, "Maximal pT for Chi2/cluster for ITS"}; Configurable cMaxChi2TPCcut{"cMaxChi2TPCcut", 4.0f, "Maximal pT for Chi2/cluster for TPC"}; + Configurable cMinTPCNClsFound{"cMinTPCNClsFound", 120, "minimum TPCNClsFound value for good track"}; // DCA Selections // DCAr to PV @@ -186,7 +188,7 @@ struct lambda1520analysis { histos.add("Result/Data/h3lambda1520invmassME", "Invariant mass of #Lambda(1520) mixed event K^{#pm}p^{#mp}", HistType::kTH3F, {axisMult, axisPt, axisMassLambda1520}); } - if (isEtaAssym) { + if (cEtaAssym) { histos.add("Result/Data/hlambda1520invmassUnlikeSignAside", "Invariant mass of #Lambda(1520) Unlike Sign A side", {HistType::kTH1F, {axisMassLambda1520}}); histos.add("Result/Data/hlambda1520invmassLikeSignAside", "Invariant mass of #Lambda(1520) Like Sign A side", {HistType::kTH1F, {axisMassLambda1520}}); histos.add("Result/Data/hlambda1520invmassUnlikeSignCside", "Invariant mass of #Lambda(1520) Unlike Sign C side", {HistType::kTH1F, {axisMassLambda1520}}); @@ -239,7 +241,7 @@ struct lambda1520analysis { // basic track cuts if (std::abs(track.pt()) < cMinPtcut) return false; - if (IsDCAr7SigCut) { + if (cDCAr7SigCut) { if (std::abs(track.dcaXY()) > (0.004f + 0.0130f / (track.pt()))) // 7 - Sigma cut return false; } else { @@ -250,7 +252,7 @@ struct lambda1520analysis { return false; if (track.tpcNClsCrossedRows() < cMinTPCncr) return false; - if (IsAddlTrackcut) { + if (cAddlTrackcut) { if (!track.passedITSRefit() || !track.passedTPCRefit()) return false; if (track.tpcCrossedRowsOverFindableCls() < cMinRtpccut) @@ -260,6 +262,8 @@ struct lambda1520analysis { if (track.tpcChi2NCl() > cMaxChi2TPCcut) return false; } + if (cTPCNClsFound && (track.tpcNClsFound() < cMinTPCNClsFound)) + return false; if (cfgPrimaryTrack && !track.isPrimaryTrack()) return false; if (cfgGlobalWoDCATrack && !track.isGlobalTrackWoDCA()) @@ -469,7 +473,7 @@ struct lambda1520analysis { continue; if (cUseOnlyTOFTrackKa && !isTrk2hasTOF) continue; - if (IsOldPIDcut) { + if (cOldPIDcut) { if (!selectionoldPIDProton(trk1) || !selectionoldPIDKaon(trk2)) continue; } else { @@ -511,6 +515,12 @@ struct lambda1520analysis { histos.fill(HIST("QA/QAafter/Kaon/eta"), trk2.eta()); } + // TPCncluster distributions + histos.fill(HIST("TPCncluster/TPCnclusterpr"), trk1.tpcNClsFound()); + histos.fill(HIST("TPCncluster/TPCnclusterka"), trk2.tpcNClsFound()); + histos.fill(HIST("TPCncluster/TPCnclusterPhipr"), trk1.tpcNClsFound(), trk1.phi()); + histos.fill(HIST("TPCncluster/TPCnclusterPhika"), trk2.tpcNClsFound(), trk2.phi()); + // Multiplicity correlation calibration plots int counterglo1 = 0; int counterglo2 = 0; @@ -552,20 +562,20 @@ struct lambda1520analysis { if constexpr (!IsMix) { histos.fill(HIST("Result/Data/lambda1520invmass"), lResonance.M()); histos.fill(HIST("Result/Data/h3lambda1520invmass"), collision.cent(), lResonance.Pt(), lResonance.M()); - if (isEtaAssym && trk1.eta() > 0.2 && trk1.eta() < 0.8 && trk2.eta() > 0.2 && trk2.eta() < 0.8) { // Eta-range will be updated + if (cEtaAssym && trk1.eta() > 0.2 && trk1.eta() < 0.8 && trk2.eta() > 0.2 && trk2.eta() < 0.8) { // Eta-range will be updated histos.fill(HIST("Result/Data/hlambda1520invmassUnlikeSignAside"), lResonance.M()); histos.fill(HIST("Result/Data/h3lambda1520invmassUnlikeSignAside"), collision.cent(), lResonance.Pt(), lResonance.M()); - } else if (isEtaAssym && trk1.eta() > -0.6 && trk1.eta() < 0.0 && trk2.eta() > -0.6 && trk2.eta() < 0.0) { // Eta-range will be updated + } else if (cEtaAssym && trk1.eta() > -0.6 && trk1.eta() < 0.0 && trk2.eta() > -0.6 && trk2.eta() < 0.0) { // Eta-range will be updated histos.fill(HIST("Result/Data/hlambda1520invmassUnlikeSignCside"), lResonance.M()); histos.fill(HIST("Result/Data/h3lambda1520invmassUnlikeSignCside"), collision.cent(), lResonance.Pt(), lResonance.M()); } } else { histos.fill(HIST("Result/Data/lambda1520invmassME"), lResonance.M()); histos.fill(HIST("Result/Data/h3lambda1520invmassME"), collision.cent(), lResonance.Pt(), lResonance.M()); - if (isEtaAssym && trk1.eta() > 0.2 && trk1.eta() < 0.8 && trk2.eta() > 0.2 && trk2.eta() < 0.8) { // Eta-range will be updated + if (cEtaAssym && trk1.eta() > 0.2 && trk1.eta() < 0.8 && trk2.eta() > 0.2 && trk2.eta() < 0.8) { // Eta-range will be updated histos.fill(HIST("Result/Data/hlambda1520invmassMixedAside"), lResonance.M()); histos.fill(HIST("Result/Data/h3lambda1520invmassMixedAside"), collision.cent(), lResonance.Pt(), lResonance.M()); - } else if (isEtaAssym && trk1.eta() > -0.6 && trk1.eta() < 0.0 && trk2.eta() > -0.6 && trk2.eta() < 0.0) { // Eta-range will be updated + } else if (cEtaAssym && trk1.eta() > -0.6 && trk1.eta() < 0.0 && trk2.eta() > -0.6 && trk2.eta() < 0.0) { // Eta-range will be updated histos.fill(HIST("Result/Data/hlambda1520invmassMixedCside"), lResonance.M()); histos.fill(HIST("Result/Data/h3lambda1520invmassMixedCside"), collision.cent(), lResonance.Pt(), lResonance.M()); } @@ -601,10 +611,10 @@ struct lambda1520analysis { } } else { if constexpr (!IsMix) { - if (isEtaAssym && trk1.eta() > 0.2 && trk1.eta() < 0.8 && trk2.eta() > 0.2 && trk2.eta() < 0.8) { // Eta-range will be updated + if (cEtaAssym && trk1.eta() > 0.2 && trk1.eta() < 0.8 && trk2.eta() > 0.2 && trk2.eta() < 0.8) { // Eta-range will be updated histos.fill(HIST("Result/Data/hlambda1520invmassLikeSignAside"), lResonance.M()); histos.fill(HIST("Result/Data/h3lambda1520invmassLikeSignAside"), collision.cent(), lResonance.Pt(), lResonance.M()); - } else if (isEtaAssym && trk1.eta() > -0.6 && trk1.eta() < 0.0 && trk2.eta() > -0.6 && trk2.eta() < 0.0) { // Eta-range will be updated + } else if (cEtaAssym && trk1.eta() > -0.6 && trk1.eta() < 0.0 && trk2.eta() > -0.6 && trk2.eta() < 0.0) { // Eta-range will be updated histos.fill(HIST("Result/Data/hlambda1520invmassLikeSignCside"), lResonance.M()); histos.fill(HIST("Result/Data/h3lambda1520invmassLikeSignCside"), collision.cent(), lResonance.Pt(), lResonance.M()); }