diff --git a/PWGLF/Tasks/Resonances/lambda1520analysispo.cxx b/PWGLF/Tasks/Resonances/lambda1520analysispo.cxx index 350c7dd9501..435a104dbdb 100644 --- a/PWGLF/Tasks/Resonances/lambda1520analysispo.cxx +++ b/PWGLF/Tasks/Resonances/lambda1520analysispo.cxx @@ -12,7 +12,7 @@ /// \file lambda1520Analysispo.cxx /// \brief Task for Lambda(1520) resonance reconstruction via proton-kaon invariant mass analysis for pO system /// -/// \author Yash Patley , Durgesh Bhatt +/// \author Durgesh Bhatt #include "PWGLF/DataModel/LFResonanceTables.h" @@ -56,7 +56,7 @@ static constexpr int PdgOmegaMinus{3334}; } // namespace lambda_analysis // FIX name/struct: use UpperCamelCase for struct names -struct Lambda1520Analysispo { +struct lambda1520analysispo { SliceCache sliceCache; // Preslice helpers @@ -224,8 +224,10 @@ struct Lambda1520Analysispo { allHistograms.add("QAafter/Proton/tpcNSigmaPionContamVsPt", "Proton track: TPC nSigma pion contamination check", kTH2F, {axisPtForPID, axisTPCNSigma}); allHistograms.add("QAafter/Proton/tpcNSigmaKaonContamVsPt", "Proton track: TPC nSigma kaon contamination check", kTH2F, {axisPtForPID, axisTPCNSigma}); allHistograms.add("QAafter/Proton/tpcNSigmaVsMomentum", "Proton TPC nSigma vs total momentum (after cuts)", kTH2F, {axisMomentumForPID, axisTPCNSigma}); + allHistograms.add("QAafter/Proton/tpcNSigmaVsCentrality", "Proton TPC nSigma vs centrality", kTH2F, {axisCentralityPercent, axisTPCNSigma}); allHistograms.add("QAafter/Proton/tofNSigmaVsPt", "Proton TOF nSigma vs pT (after cuts)", kTH2F, {axisPtForPID, axisTOFNSigma}); allHistograms.add("QAafter/Proton/tofNSigmaVsMomentum", "Proton TOF nSigma vs total momentum (after cuts)", kTH2F, {axisMomentumForPID, axisTOFNSigma}); + allHistograms.add("QAafter/Proton/tofNSigmaVsCentrality", "Proton TOF nSigma vs centrality", kTH2F, {axisCentralityPercent, axisTOFNSigma}); allHistograms.add("QAafter/Proton/tofNSigmaPionContamVsMomentum", "Proton track: TOF nSigma pion contamination check", kTH2F, {axisMomentumForPID, axisTOFNSigma}); allHistograms.add("QAafter/Proton/tofNSigmaKaonContamVsMomentum", "Proton track: TOF nSigma kaon contamination check", kTH2F, {axisMomentumForPID, axisTOFNSigma}); allHistograms.add("QAafter/Proton/tofNSigmaVsTPCNSigma", "Proton TOF nSigma vs TPC nSigma (after cuts)", kTH2F, {axisTPCNSigma, axisTOFNSigma}); @@ -240,8 +242,10 @@ struct Lambda1520Analysispo { allHistograms.add("QAafter/Kaon/tpcNSigmaProtonContamVsMomentum", "Kaon track: TPC nSigma proton contamination check", kTH2F, {axisMomentumForPID, axisTPCNSigma}); allHistograms.add("QAafter/Kaon/tpcNSigmaVsPt", "Kaon TPC nSigma vs pT (after cuts)", kTH2F, {axisPtForPID, axisTPCNSigma}); allHistograms.add("QAafter/Kaon/tpcNSigmaVsMomentum", "Kaon TPC nSigma vs total momentum (after cuts)", kTH2F, {axisMomentumForPID, axisTPCNSigma}); + allHistograms.add("QAafter/Kaon/tpcNSigmaVsCentrality", "Kaon TPC nSigma vs centrality", kTH2F, {axisCentralityPercent, axisTPCNSigma}); allHistograms.add("QAafter/Kaon/tofNSigmaVsPt", "Kaon TOF nSigma vs pT (after cuts)", kTH2F, {axisPtForPID, axisTOFNSigma}); allHistograms.add("QAafter/Kaon/tofNSigmaVsMomentum", "Kaon TOF nSigma vs total momentum (after cuts)", kTH2F, {axisMomentumForPID, axisTOFNSigma}); + allHistograms.add("QAafter/Kaon/tofNSigmaVsCentrality", "Kaon TOF nSigma vs centrality", kTH2F, {axisCentralityPercent, axisTOFNSigma}); allHistograms.add("QAafter/Kaon/tofNSigmaPionContamVsMomentum", "Kaon track: TOF nSigma pion contamination check", kTH2F, {axisMomentumForPID, axisTOFNSigma}); allHistograms.add("QAafter/Kaon/tofNSigmaProtonContamVsMomentum", "Kaon track: TOF nSigma proton contamination check", kTH2F, {axisMomentumForPID, axisTOFNSigma}); allHistograms.add("QAafter/Kaon/tofNSigmaVsTPCNSigma", "Kaon TOF nSigma vs TPC nSigma (after cuts)", kTH2F, {axisTPCNSigma, axisTOFNSigma}); @@ -610,6 +614,7 @@ struct Lambda1520Analysispo { allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaPionContamVsPt"), protonTotalMomentum, protonTrack.tpcNSigmaPi()); allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaKaonContamVsPt"), protonTotalMomentum, protonTrack.tpcNSigmaKa()); allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaVsMomentum"), protonTotalMomentum, tpcNSigProton); + allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaVsCentrality"), tpcNSigProton, centralityPercent); allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaVsPt"), ptProton, tpcNSigProton); allHistograms.fill(HIST("QAafter/Proton/tpcCrossedRowsVsPt"), ptProton, protonTrack.tpcNClsCrossedRows()); allHistograms.fill(HIST("QAafter/Proton/tpcClustersFoundVsPt"), ptProton, protonTrack.tpcNClsFound()); @@ -617,6 +622,7 @@ struct Lambda1520Analysispo { if (!useTPCOnlyPID && protonTrack.hasTOF()) { auto tofNSigProton = protonTrack.tofNSigmaPr(); allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsMomentum"), protonTotalMomentum, tofNSigProton); + allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsCentrality"), tofNSigProton, centralityPercent); allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsPt"), ptProton, tofNSigProton); allHistograms.fill(HIST("QAafter/Proton/tofNSigmaPionContamVsMomentum"), protonTotalMomentum, protonTrack.tofNSigmaPi()); allHistograms.fill(HIST("QAafter/Proton/tofNSigmaKaonContamVsMomentum"), protonTotalMomentum, protonTrack.tofNSigmaKa()); @@ -633,6 +639,7 @@ struct Lambda1520Analysispo { allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaPionContamVsPt"), kaonTotalMomentum, kaonTrack.tpcNSigmaPi()); allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaProtonContamVsMomentum"), kaonTotalMomentum, kaonTrack.tpcNSigmaPr()); allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaVsMomentum"), kaonTotalMomentum, tpcNSigKaon); + allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaVsCentrality"), tpcNSigKaon, centralityPercent); allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaVsPt"), ptKaon, tpcNSigKaon); allHistograms.fill(HIST("QAafter/Kaon/tpcCrossedRowsVsPt"), ptKaon, kaonTrack.tpcNClsCrossedRows()); allHistograms.fill(HIST("QAafter/Kaon/tpcClustersFoundVsPt"), ptKaon, kaonTrack.tpcNClsFound()); @@ -641,6 +648,7 @@ struct Lambda1520Analysispo { auto tofNSigKaon = kaonTrack.tofNSigmaKa(); allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsMomentum"), kaonTotalMomentum, tofNSigKaon); allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsPt"), ptKaon, tofNSigKaon); + allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsCentrality"), tofNSigKaon, centralityPercent); allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaPionContamVsMomentum"), kaonTotalMomentum, kaonTrack.tofNSigmaPi()); allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaProtonContamVsMomentum"), kaonTotalMomentum, kaonTrack.tofNSigmaPr()); allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsTPCNSigma"), tpcNSigKaon, tofNSigKaon); @@ -830,7 +838,7 @@ struct Lambda1520Analysispo { allHistograms.fill(HIST("Event/primaryVertexZ"), collision.posZ()); fillInvariantMassHistograms(tracks, tracks, collision.cent()); } - PROCESS_SWITCH(Lambda1520Analysispo, processData, + PROCESS_SWITCH(lambda1520analysispo, processData, "Process real collision data (same-event analysis)", true); // ============================================================ @@ -935,7 +943,7 @@ struct Lambda1520Analysispo { parentMass, parentParticle.pt(), centralityPercent); } } - PROCESS_SWITCH(Lambda1520Analysispo, processMC, + PROCESS_SWITCH(lambda1520analysispo, processMC, "Process Monte Carlo simulated events", false); // ============================================================ @@ -1042,7 +1050,7 @@ struct Lambda1520Analysispo { } } } - PROCESS_SWITCH(Lambda1520Analysispo, processMCGen, + PROCESS_SWITCH(lambda1520analysispo, processMCGen, "Generator-level MC signal loss study (mT scaling)", false); // ── Event-mixing binning types ─────────────────────────────────────────── @@ -1075,7 +1083,7 @@ struct Lambda1520Analysispo { fillInvariantMassHistograms(tracks1, tracks2, col1.cent()); } } - PROCESS_SWITCH(Lambda1520Analysispo, processMix, + PROCESS_SWITCH(lambda1520analysispo, processMix, "Event mixing for background estimation (standard format)", true); @@ -1105,7 +1113,7 @@ struct Lambda1520Analysispo { fillInvariantMassHistograms(tracks, tracks, collision.cent(), occupancyValue); } - PROCESS_SWITCH(Lambda1520Analysispo, processDatadf, + PROCESS_SWITCH(lambda1520analysispo, processDatadf, "Process real data in merged derived-data (DF) format", false); // ============================================================ @@ -1143,7 +1151,7 @@ struct Lambda1520Analysispo { occupancyValue); } } - PROCESS_SWITCH(Lambda1520Analysispo, processMixDF, + PROCESS_SWITCH(lambda1520analysispo, processMixDF, "Event mixing for DF-format data", false); // ============================================================ @@ -1177,12 +1185,12 @@ struct Lambda1520Analysispo { fillInvariantMassHistograms(tracks1, tracks2, col1.cent()); } } - PROCESS_SWITCH(Lambda1520Analysispo, processMixepDF, + PROCESS_SWITCH(lambda1520analysispo, processMixepDF, "Event-plane dependent event mixing for DF-format data", false); }; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { - return WorkflowSpec{adaptAnalysisTask(cfgc)}; + return WorkflowSpec{adaptAnalysisTask(cfgc)}; }