Skip to content

Commit fc5c313

Browse files
[PWGLF] histograms for quality assurance (#16304)
1 parent 64e5782 commit fc5c313

1 file changed

Lines changed: 18 additions & 10 deletions

File tree

PWGLF/Tasks/Resonances/lambda1520analysispo.cxx

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
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

11851193
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
11861194
{
1187-
return WorkflowSpec{adaptAnalysisTask<Lambda1520Analysispo>(cfgc)};
1195+
return WorkflowSpec{adaptAnalysisTask<lambda1520analysispo>(cfgc)};
11881196
}

0 commit comments

Comments
 (0)