1212// / \file lambda1520Analysispo.cxx
1313// / \brief Task for Lambda(1520) resonance reconstruction via proton-kaon invariant mass analysis for pO system
1414// /
15- // / \author Yash Patley <yash.patley@cern.ch>, Durgesh Bhatt <durgesh.bhatt@cern.ch>
15+ // / \author Durgesh Bhatt <durgesh.bhatt@cern.ch>
1616
1717#include " PWGLF/DataModel/LFResonanceTables.h"
1818
@@ -56,7 +56,7 @@ static constexpr int PdgOmegaMinus{3334};
5656} // namespace lambda_analysis
5757
5858// FIX name/struct: use UpperCamelCase for struct names
59- struct Lambda1520Analysispo {
59+ struct lambda1520analysispo {
6060 SliceCache sliceCache;
6161
6262 // Preslice helpers
@@ -224,8 +224,10 @@ struct Lambda1520Analysispo {
224224 allHistograms.add (" QAafter/Proton/tpcNSigmaPionContamVsPt" , " Proton track: TPC nSigma pion contamination check" , kTH2F , {axisPtForPID, axisTPCNSigma});
225225 allHistograms.add (" QAafter/Proton/tpcNSigmaKaonContamVsPt" , " Proton track: TPC nSigma kaon contamination check" , kTH2F , {axisPtForPID, axisTPCNSigma});
226226 allHistograms.add (" QAafter/Proton/tpcNSigmaVsMomentum" , " Proton TPC nSigma vs total momentum (after cuts)" , kTH2F , {axisMomentumForPID, axisTPCNSigma});
227+ allHistograms.add (" QAafter/Proton/tpcNSigmaVsCentrality" , " Proton TPC nSigma vs centrality" , kTH2F , {axisCentralityPercent, axisTPCNSigma});
227228 allHistograms.add (" QAafter/Proton/tofNSigmaVsPt" , " Proton TOF nSigma vs pT (after cuts)" , kTH2F , {axisPtForPID, axisTOFNSigma});
228229 allHistograms.add (" QAafter/Proton/tofNSigmaVsMomentum" , " Proton TOF nSigma vs total momentum (after cuts)" , kTH2F , {axisMomentumForPID, axisTOFNSigma});
230+ allHistograms.add (" QAafter/Proton/tofNSigmaVsCentrality" , " Proton TOF nSigma vs centrality" , kTH2F , {axisCentralityPercent, axisTOFNSigma});
229231 allHistograms.add (" QAafter/Proton/tofNSigmaPionContamVsMomentum" , " Proton track: TOF nSigma pion contamination check" , kTH2F , {axisMomentumForPID, axisTOFNSigma});
230232 allHistograms.add (" QAafter/Proton/tofNSigmaKaonContamVsMomentum" , " Proton track: TOF nSigma kaon contamination check" , kTH2F , {axisMomentumForPID, axisTOFNSigma});
231233 allHistograms.add (" QAafter/Proton/tofNSigmaVsTPCNSigma" , " Proton TOF nSigma vs TPC nSigma (after cuts)" , kTH2F , {axisTPCNSigma, axisTOFNSigma});
@@ -240,8 +242,10 @@ struct Lambda1520Analysispo {
240242 allHistograms.add (" QAafter/Kaon/tpcNSigmaProtonContamVsMomentum" , " Kaon track: TPC nSigma proton contamination check" , kTH2F , {axisMomentumForPID, axisTPCNSigma});
241243 allHistograms.add (" QAafter/Kaon/tpcNSigmaVsPt" , " Kaon TPC nSigma vs pT (after cuts)" , kTH2F , {axisPtForPID, axisTPCNSigma});
242244 allHistograms.add (" QAafter/Kaon/tpcNSigmaVsMomentum" , " Kaon TPC nSigma vs total momentum (after cuts)" , kTH2F , {axisMomentumForPID, axisTPCNSigma});
245+ allHistograms.add (" QAafter/Kaon/tpcNSigmaVsCentrality" , " Kaon TPC nSigma vs centrality" , kTH2F , {axisCentralityPercent, axisTPCNSigma});
243246 allHistograms.add (" QAafter/Kaon/tofNSigmaVsPt" , " Kaon TOF nSigma vs pT (after cuts)" , kTH2F , {axisPtForPID, axisTOFNSigma});
244247 allHistograms.add (" QAafter/Kaon/tofNSigmaVsMomentum" , " Kaon TOF nSigma vs total momentum (after cuts)" , kTH2F , {axisMomentumForPID, axisTOFNSigma});
248+ allHistograms.add (" QAafter/Kaon/tofNSigmaVsCentrality" , " Kaon TOF nSigma vs centrality" , kTH2F , {axisCentralityPercent, axisTOFNSigma});
245249 allHistograms.add (" QAafter/Kaon/tofNSigmaPionContamVsMomentum" , " Kaon track: TOF nSigma pion contamination check" , kTH2F , {axisMomentumForPID, axisTOFNSigma});
246250 allHistograms.add (" QAafter/Kaon/tofNSigmaProtonContamVsMomentum" , " Kaon track: TOF nSigma proton contamination check" , kTH2F , {axisMomentumForPID, axisTOFNSigma});
247251 allHistograms.add (" QAafter/Kaon/tofNSigmaVsTPCNSigma" , " Kaon TOF nSigma vs TPC nSigma (after cuts)" , kTH2F , {axisTPCNSigma, axisTOFNSigma});
@@ -610,13 +614,15 @@ struct Lambda1520Analysispo {
610614 allHistograms.fill (HIST (" QAafter/Proton/tpcNSigmaPionContamVsPt" ), protonTotalMomentum, protonTrack.tpcNSigmaPi ());
611615 allHistograms.fill (HIST (" QAafter/Proton/tpcNSigmaKaonContamVsPt" ), protonTotalMomentum, protonTrack.tpcNSigmaKa ());
612616 allHistograms.fill (HIST (" QAafter/Proton/tpcNSigmaVsMomentum" ), protonTotalMomentum, tpcNSigProton);
617+ allHistograms.fill (HIST (" QAafter/Proton/tpcNSigmaVsCentrality" ), tpcNSigProton, centralityPercent);
613618 allHistograms.fill (HIST (" QAafter/Proton/tpcNSigmaVsPt" ), ptProton, tpcNSigProton);
614619 allHistograms.fill (HIST (" QAafter/Proton/tpcCrossedRowsVsPt" ), ptProton, protonTrack.tpcNClsCrossedRows ());
615620 allHistograms.fill (HIST (" QAafter/Proton/tpcClustersFoundVsPt" ), ptProton, protonTrack.tpcNClsFound ());
616621
617622 if (!useTPCOnlyPID && protonTrack.hasTOF ()) {
618623 auto tofNSigProton = protonTrack.tofNSigmaPr ();
619624 allHistograms.fill (HIST (" QAafter/Proton/tofNSigmaVsMomentum" ), protonTotalMomentum, tofNSigProton);
625+ allHistograms.fill (HIST (" QAafter/Proton/tofNSigmaVsCentrality" ), tofNSigProton, centralityPercent);
620626 allHistograms.fill (HIST (" QAafter/Proton/tofNSigmaVsPt" ), ptProton, tofNSigProton);
621627 allHistograms.fill (HIST (" QAafter/Proton/tofNSigmaPionContamVsMomentum" ), protonTotalMomentum, protonTrack.tofNSigmaPi ());
622628 allHistograms.fill (HIST (" QAafter/Proton/tofNSigmaKaonContamVsMomentum" ), protonTotalMomentum, protonTrack.tofNSigmaKa ());
@@ -633,6 +639,7 @@ struct Lambda1520Analysispo {
633639 allHistograms.fill (HIST (" QAafter/Kaon/tpcNSigmaPionContamVsPt" ), kaonTotalMomentum, kaonTrack.tpcNSigmaPi ());
634640 allHistograms.fill (HIST (" QAafter/Kaon/tpcNSigmaProtonContamVsMomentum" ), kaonTotalMomentum, kaonTrack.tpcNSigmaPr ());
635641 allHistograms.fill (HIST (" QAafter/Kaon/tpcNSigmaVsMomentum" ), kaonTotalMomentum, tpcNSigKaon);
642+ allHistograms.fill (HIST (" QAafter/Kaon/tpcNSigmaVsCentrality" ), tpcNSigKaon, centralityPercent);
636643 allHistograms.fill (HIST (" QAafter/Kaon/tpcNSigmaVsPt" ), ptKaon, tpcNSigKaon);
637644 allHistograms.fill (HIST (" QAafter/Kaon/tpcCrossedRowsVsPt" ), ptKaon, kaonTrack.tpcNClsCrossedRows ());
638645 allHistograms.fill (HIST (" QAafter/Kaon/tpcClustersFoundVsPt" ), ptKaon, kaonTrack.tpcNClsFound ());
@@ -641,6 +648,7 @@ struct Lambda1520Analysispo {
641648 auto tofNSigKaon = kaonTrack.tofNSigmaKa ();
642649 allHistograms.fill (HIST (" QAafter/Kaon/tofNSigmaVsMomentum" ), kaonTotalMomentum, tofNSigKaon);
643650 allHistograms.fill (HIST (" QAafter/Kaon/tofNSigmaVsPt" ), ptKaon, tofNSigKaon);
651+ allHistograms.fill (HIST (" QAafter/Kaon/tofNSigmaVsCentrality" ), tofNSigKaon, centralityPercent);
644652 allHistograms.fill (HIST (" QAafter/Kaon/tofNSigmaPionContamVsMomentum" ), kaonTotalMomentum, kaonTrack.tofNSigmaPi ());
645653 allHistograms.fill (HIST (" QAafter/Kaon/tofNSigmaProtonContamVsMomentum" ), kaonTotalMomentum, kaonTrack.tofNSigmaPr ());
646654 allHistograms.fill (HIST (" QAafter/Kaon/tofNSigmaVsTPCNSigma" ), tpcNSigKaon, tofNSigKaon);
@@ -830,7 +838,7 @@ struct Lambda1520Analysispo {
830838 allHistograms.fill (HIST (" Event/primaryVertexZ" ), collision.posZ ());
831839 fillInvariantMassHistograms<false , false >(tracks, tracks, collision.cent ());
832840 }
833- PROCESS_SWITCH (Lambda1520Analysispo , processData,
841+ PROCESS_SWITCH (lambda1520analysispo , processData,
834842 " Process real collision data (same-event analysis)" , true );
835843
836844 // ============================================================
@@ -935,7 +943,7 @@ struct Lambda1520Analysispo {
935943 parentMass, parentParticle.pt (), centralityPercent);
936944 }
937945 }
938- PROCESS_SWITCH (Lambda1520Analysispo , processMC,
946+ PROCESS_SWITCH (lambda1520analysispo , processMC,
939947 " Process Monte Carlo simulated events" , false );
940948
941949 // ============================================================
@@ -1042,7 +1050,7 @@ struct Lambda1520Analysispo {
10421050 }
10431051 }
10441052 }
1045- PROCESS_SWITCH (Lambda1520Analysispo , processMCGen,
1053+ PROCESS_SWITCH (lambda1520analysispo , processMCGen,
10461054 " Generator-level MC signal loss study (mT scaling)" , false );
10471055
10481056 // ── Event-mixing binning types ───────────────────────────────────────────
@@ -1075,7 +1083,7 @@ struct Lambda1520Analysispo {
10751083 fillInvariantMassHistograms<true , false >(tracks1, tracks2, col1.cent ());
10761084 }
10771085 }
1078- PROCESS_SWITCH (Lambda1520Analysispo , processMix,
1086+ PROCESS_SWITCH (lambda1520analysispo , processMix,
10791087 " Event mixing for background estimation (standard format)" ,
10801088 true );
10811089
@@ -1105,7 +1113,7 @@ struct Lambda1520Analysispo {
11051113 fillInvariantMassHistograms<false , false >(tracks, tracks, collision.cent (),
11061114 occupancyValue);
11071115 }
1108- PROCESS_SWITCH (Lambda1520Analysispo , processDatadf,
1116+ PROCESS_SWITCH (lambda1520analysispo , processDatadf,
11091117 " Process real data in merged derived-data (DF) format" , false );
11101118
11111119 // ============================================================
@@ -1143,7 +1151,7 @@ struct Lambda1520Analysispo {
11431151 occupancyValue);
11441152 }
11451153 }
1146- PROCESS_SWITCH (Lambda1520Analysispo , processMixDF,
1154+ PROCESS_SWITCH (lambda1520analysispo , processMixDF,
11471155 " Event mixing for DF-format data" , false );
11481156
11491157 // ============================================================
@@ -1177,12 +1185,12 @@ struct Lambda1520Analysispo {
11771185 fillInvariantMassHistograms<true , false >(tracks1, tracks2, col1.cent ());
11781186 }
11791187 }
1180- PROCESS_SWITCH (Lambda1520Analysispo , processMixepDF,
1188+ PROCESS_SWITCH (lambda1520analysispo , processMixepDF,
11811189 " Event-plane dependent event mixing for DF-format data" ,
11821190 false );
11831191};
11841192
11851193WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
11861194{
1187- return WorkflowSpec{adaptAnalysisTask<Lambda1520Analysispo >(cfgc)};
1195+ return WorkflowSpec{adaptAnalysisTask<lambda1520analysispo >(cfgc)};
11881196}
0 commit comments