@@ -32,28 +32,30 @@ using namespace o2::tpc::qc;
3232// ______________________________________________________________________________
3333void 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