Skip to content

Commit 61aaf58

Browse files
authored
TPC QC: update PID task, add cuts (#7362)
o Cuts for the PID plots on eta, nclusters and dEdxTot o Histos added without cuts for nclusters and dEdxTotVsP
1 parent a9c25ed commit 61aaf58

File tree

1 file changed

+37
-29
lines changed

1 file changed

+37
-29
lines changed

Detectors/TPC/qc/src/PID.cxx

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,30 @@ using namespace o2::tpc::qc;
3232
//______________________________________________________________________________
3333
void PID::initializeHistograms()
3434
{
35-
mHist1D.emplace_back("hNClusters", "; # of clusters; counts", 160, 0, 160); //| mHist1D[0]
36-
mHist1D.emplace_back("hdEdxTot", "; dEdxTot (a.u.); counts", 200, 0, 200); //| mHist1D[1]
37-
mHist1D.emplace_back("hdEdxMax", "; dEdxMax (a.u.); counts", 200, 0, 200); //| mHist1D[2]
38-
mHist1D.emplace_back("hPhi", "; #phi (rad); counts", 180, 0., 2 * M_PI); //| mHist1D[3]
39-
mHist1D.emplace_back("hTgl", "; tan#lambda; counts", 60, -2, 2); //| mHist1D[4]
40-
mHist1D.emplace_back("hSnp", "; sin p; counts", 60, -2, 2); //| mHist1D[5]
41-
mHist1D.emplace_back("hdEdxMips", "dEdx (a.u.) of MIPs; dEdx of MIPs (a.u.); counts", 25, 35, 60); //| mHist1D[6]
42-
mHist1D.emplace_back("hdEdxEles", "dEdx (a.u.) of electrons; dEdx (a.u.); counts", 30, 70, 100); //| mHist1D[7]
35+
mHist1D.emplace_back("hNClusters", "Number of clusters; # of clusters; counts", 160, 0, 160); //| mHist1D[0]
36+
mHist1D.emplace_back("hdEdxTot", "; dEdxTot (a.u.); counts", 200, 0, 200); //| mHist1D[1]
37+
mHist1D.emplace_back("hdEdxMax", "; dEdxMax (a.u.); counts", 200, 0, 200); //| mHist1D[2]
38+
mHist1D.emplace_back("hPhi", "; #phi (rad); counts", 180, 0., 2 * M_PI); //| mHist1D[3]
39+
mHist1D.emplace_back("hTgl", "; tan#lambda; counts", 60, -2, 2); //| mHist1D[4]
40+
mHist1D.emplace_back("hSnp", "; sin p; counts", 60, -2, 2); //| mHist1D[5]
41+
mHist1D.emplace_back("hdEdxMips", "dEdx (a.u.) of MIPs; dEdx of MIPs (a.u.); counts", 25, 35, 60); //| mHist1D[6]
42+
mHist1D.emplace_back("hdEdxEles", "dEdx (a.u.) of electrons; dEdx (a.u.); counts", 30, 70, 100); //| mHist1D[7]
43+
mHist1D.emplace_back("hNClustersBeforeCuts", "Number of clusters (before cuts); # of clusters; counts", 160, 0, 160); //| mHist1D[8]
4344

4445
mHist2D.emplace_back("hdEdxVsPhi", "dEdx (a.u.) vs #phi (rad); #phi (rad); dEdx (a.u.)", 180, 0., 2 * M_PI, 300, 0, 300); //| mHist2D[0]
4546
mHist2D.emplace_back("hdEdxVsTgl", "dEdx (a.u.) vs tan#lambda; tan#lambda; dEdx (a.u.)", 60, -2, 2, 300, 0, 300); //| mHist2D[1]
4647
mHist2D.emplace_back("hdEdxVsncls", "dEdx (a.u.) vs ncls; ncls; dEdx (a.u.)", 80, 0, 160, 300, 0, 300); //| mHist2D[2]
4748

4849
const auto logPtBinning = helpers::makeLogBinning(30, 0.1, 10);
4950
if (logPtBinning.size() > 0) {
50-
mHist2D.emplace_back("hdEdxVsp", "dEdx (a.u.) vs p (G#it{e}V/#it{c}); p (G#it{e}V/#it{c}); dEdx (a.u.)", logPtBinning.size() - 1, logPtBinning.data(), 300, 0, 300); //| mHist2D[3]
51+
mHist2D.emplace_back("hdEdxVsp", "dEdx (a.u.) vs p (GeV/#it{c}); p (GeV/#it{c}); dEdx (a.u.)", logPtBinning.size() - 1, logPtBinning.data(), 300, 0, 300); //| mHist2D[3]
52+
mHist2D.emplace_back("hdEdxVspBeforeCuts", "dEdx (a.u.) vs p (GeV/#it{c}) (before cuts); p (GeV/#it{c}); dEdx (a.u.)", logPtBinning.size() - 1, logPtBinning.data(), 300, 0, 300); //| mHist2D[4]
5153
}
5254

53-
mHist2D.emplace_back("hdEdxVsPhiMipsAside", "dEdx (a.u.) vs #phi (rad) of MIPs (A side); #phi (rad); dEdx (a.u.)", 180, 0., 2 * M_PI, 25, 35, 60); //| mHist2D[4]
54-
mHist2D.emplace_back("hdEdxVsPhiMipsCside", "dEdx (a.u.) vs #phi (rad) of MIPs (C side); #phi (rad); dEdx (a.u.)", 180, 0., 2 * M_PI, 25, 35, 60); //| mHist2D[5]
55-
mHist2D.emplace_back("hdEdxVsPhiElesAside", "dEdx (a.u.) vs #phi (rad) of electrons (A side); #phi (rad); dEdx (a.u.)", 180, 0., 2 * M_PI, 30, 70, 100); //| mHist2D[6]
56-
mHist2D.emplace_back("hdEdxVsPhiElesCside", "dEdx (a.u.) vs #phi (rad) of electrons (C side); #phi (rad); dEdx (a.u.)", 180, 0., 2 * M_PI, 30, 70, 100); //| mHist2D[7]
55+
mHist2D.emplace_back("hdEdxVsPhiMipsAside", "dEdx (a.u.) vs #phi (rad) of MIPs (A side); #phi (rad); dEdx (a.u.)", 180, 0., 2 * M_PI, 25, 35, 60); //| mHist2D[5]
56+
mHist2D.emplace_back("hdEdxVsPhiMipsCside", "dEdx (a.u.) vs #phi (rad) of MIPs (C side); #phi (rad); dEdx (a.u.)", 180, 0., 2 * M_PI, 25, 35, 60); //| mHist2D[6]
57+
mHist2D.emplace_back("hdEdxVsPhiElesAside", "dEdx (a.u.) vs #phi (rad) of electrons (A side); #phi (rad); dEdx (a.u.)", 180, 0., 2 * M_PI, 30, 70, 100); //| mHist2D[7]
58+
mHist2D.emplace_back("hdEdxVsPhiElesCside", "dEdx (a.u.) vs #phi (rad) of electrons (C side); #phi (rad); dEdx (a.u.)", 180, 0., 2 * M_PI, 30, 70, 100); //| mHist2D[8]
5759
}
5860

5961
//______________________________________________________________________________
@@ -82,36 +84,42 @@ bool PID::processTrack(const o2::tpc::TrackTPC& track)
8284

8385
double absEta = TMath::Abs(eta);
8486

85-
// ===| histogram filling |===
86-
mHist1D[0].Fill(nclusters);
87-
mHist1D[1].Fill(dEdxTot);
88-
mHist1D[2].Fill(dEdxMax);
89-
mHist1D[3].Fill(phi);
90-
mHist1D[4].Fill(tgl);
91-
mHist1D[5].Fill(snp);
92-
93-
mHist2D[0].Fill(phi, dEdxTot);
94-
mHist2D[1].Fill(tgl, dEdxTot);
95-
mHist2D[2].Fill(nclusters, dEdxTot);
96-
mHist2D[3].Fill(p, dEdxTot);
87+
// ===| histogram filling before cuts |===
88+
mHist1D[8].Fill(nclusters);
89+
mHist2D[4].Fill(p, dEdxTot);
90+
91+
// ===| histogram filling including cuts |===
92+
if (absEta < 1. && nclusters > 60 && dEdxTot > 20) {
93+
mHist1D[0].Fill(nclusters);
94+
mHist1D[1].Fill(dEdxTot);
95+
mHist1D[2].Fill(dEdxMax);
96+
mHist1D[3].Fill(phi);
97+
mHist1D[4].Fill(tgl);
98+
mHist1D[5].Fill(snp);
99+
100+
mHist2D[0].Fill(phi, dEdxTot);
101+
mHist2D[1].Fill(tgl, dEdxTot);
102+
mHist2D[2].Fill(nclusters, dEdxTot);
103+
mHist2D[3].Fill(p, dEdxTot);
104+
}
97105

98106
// ===| cuts and histogram filling for MIPs |===
99107
if (p > 0.4 && p < 0.55 && absEta < 1. && nclusters > 80 && dEdxTot > 35 && dEdxTot < 60) {
100108
mHist1D[6].Fill(dEdxTot);
101109
if (eta > 0.) {
102-
mHist2D[4].Fill(phi, dEdxTot);
103-
} else {
104110
mHist2D[5].Fill(phi, dEdxTot);
111+
} else {
112+
mHist2D[6].Fill(phi, dEdxTot);
105113
}
106114
}
107115

108116
// ===| cuts and histogram filling for electrons |===
109117
if (p > 0.32 && p < 0.38 && absEta < 1. && nclusters > 80 && dEdxTot > 70 && dEdxTot < 100) {
110118
mHist1D[7].Fill(dEdxTot);
111119
if (eta > 0.) {
112-
mHist2D[6].Fill(phi, dEdxTot);
113-
} else {
114120
mHist2D[7].Fill(phi, dEdxTot);
121+
} else {
122+
mHist2D[8].Fill(phi, dEdxTot);
115123
}
116124
}
117125

0 commit comments

Comments
 (0)