]>
Commit | Line | Data |
---|---|---|
4ebdd20e | 1 | #ifndef ALIHIGHPTDEDXCALIB_H |
2 | #define ALIHIGHPTDEDXCALIB_H | |
3 | ||
4 | #include <TCanvas.h> | |
5 | #include <TH1.h> | |
6 | #include <TH2.h> | |
7 | #include <TProfile.h> | |
8 | ||
9 | #include "AliHighPtDeDxBase.h" | |
10 | ||
11 | class AliHighPtDeDxCalib : public AliHighPtDeDxBase { | |
12 | public: | |
13 | AliHighPtDeDxCalib(); // default constructor | |
14 | AliHighPtDeDxCalib(const char* name, const char* title); // named constructor | |
15 | virtual ~AliHighPtDeDxCalib(); // default destructor | |
16 | ||
17 | virtual void Init(Int_t nPtBins, Double_t* ptBins); | |
18 | virtual void Init(Int_t step, Int_t nPtBins, Double_t* ptBins); | |
19 | virtual void FillTrackInfo(Float_t weight); | |
20 | virtual void PerformEtaCal(); | |
21 | virtual void PerformNclCal(); | |
22 | ||
23 | TCanvas* DrawNclCal(); | |
24 | TCanvas* DrawEta(Bool_t forMIP); | |
25 | TCanvas* DrawEtaCalibrated(Bool_t forMIP); | |
26 | TCanvas* DrawSelectionHistograms(Int_t step=3); | |
27 | ||
28 | virtual void SetStep(Int_t value) { fStep = value; } | |
29 | ||
30 | virtual void SetPMIPMin(Double_t value) { fPMIPMin = value; } | |
31 | virtual void SetPMIPMax(Double_t value) { fPMIPMax = value; } | |
32 | virtual void SetDeDxMIPMin(Double_t value) { fDeDxMIPMin = value; } | |
33 | virtual void SetDeDxMIPMax(Double_t value) { fDeDxMIPMax = value; } | |
34 | virtual void SetDeltaBeta(Double_t value) { fDeltaBeta = value; } | |
35 | ||
36 | TF1* GetDeDxVsEtaNeg() {return fDeDxVsEtaNeg;} | |
37 | TF1* GetDeDxVsEtaPos() {return fDeDxVsEtaPos;} | |
38 | TF1* GetDeDxVsNcl() {return fDeDxVsNcl;} | |
39 | TProfile* GetHistMeanP() {return hMeanP;} | |
40 | TH1D* GetHistDeDx(Bool_t forMIP, Int_t etaBin); | |
41 | TH2D* GetHistDeDxVsNcl(Bool_t forMIP, Int_t etaBin); | |
42 | TH2D* GetHistDeDxVsP(Int_t pid); | |
43 | ||
44 | // virtual void Init(Int_t nPtBins, Double_t* ptBins); | |
45 | // virtual void FillTrackInfo(Double_t weight=1); | |
46 | ||
47 | private: | |
48 | ||
49 | Bool_t IsMIP(); | |
50 | Bool_t IsElectron(); | |
51 | ||
52 | Int_t fStep; // Step 1 = Eta calibration, step 2 = dE/dx calibration | |
53 | Int_t fInit; // Step 1 = Eta calibration, step 2 = dE/dx calibration | |
54 | ||
55 | Double_t fPMIPMin; // Min P for MIP pion | |
56 | Double_t fPMIPMax; // Max P for MIP pion | |
57 | Double_t fDeDxMIPMin; // Min dE/dx for MIP pion | |
58 | Double_t fDeDxMIPMax; // Max dE/dx for MIP pion | |
59 | Double_t fDeltaBeta; // delta beta cut for electrons | |
60 | ||
61 | TF1* fDeDxPi; // dE/dx vs p for pions | |
62 | TF1* fSigmaDeDx; // sigma dE/dx vs ncl | |
63 | ||
64 | // functions | |
65 | TF1* fDeDxVsEtaNeg; // eta < 0 dE/dx calib | |
66 | TF1* fDeDxVsEtaPos; // eta > 0 dE/dx calib | |
67 | TF1* fDeDxVsNcl; // ncl dE/dx calib | |
68 | ||
69 | // histograms - step 0 | |
70 | TH2D* hSelection1; // selected region in p and dE/dx for pion MIPs | |
71 | TH2D* hSelection2; // selected region in p and dE/dx for pion MIPs | |
72 | TH2D* hSelection3; // selected region in p and dE/dx for pion MIPs | |
73 | TH2D* hSelectionElectrons2; // selected region in p and dE/dx for electrons | |
74 | TH2D* hSelectionElectrons3; // selected region in p and dE/dx for electrons | |
75 | TH2D* hDeDxVsEta; // dE/dx vs eta uncalibrated (pion MIPs) | |
76 | TH2D* hDeDxVsEtaElectrons; // dE/dx vs eta uncalibrated (electrons) | |
77 | TH2D* hNclVsEta; // Ncl vs eta (pion MIPs) | |
78 | TH2D* hNclVsEtaElectrons; // Ncl vs eta (electrons) | |
79 | ||
80 | // histograms - step 1 | |
81 | TH2D* hDeDxVsEtaCal; // dE/dx vs eta calibrated (pion MIPs) | |
82 | TH2D* hDeDxVsEtaCalElectrons; // dE/dx vs eta calibrated (electrons) | |
83 | TProfile* hMeanEta; // <eta> in the 4 eta interval (pion MIPs) | |
84 | TProfile* hMeanEtaElectrons; // <eta> in the 4 eta interval (electrons) | |
85 | ||
86 | TH1D* hDeDx; // dE/dx no eta cut (pion MIPs) | |
87 | TH1D* hDeDx1; // dE/dx 0.0<|eta|<0.2 (pion MIPs) | |
88 | TH1D* hDeDx2; // dE/dx 0.2<|eta|<0.4 (pion MIPs) | |
89 | TH1D* hDeDx3; // dE/dx 0.4<|eta|<0.6 (pion MIPs) | |
90 | TH1D* hDeDx4; // dE/dx 0.6<|eta|<0.8 (pion MIPs) | |
91 | TH1D* hDeDxElectrons; // dE/dx no eta cut (electrons) | |
92 | TH1D* hDeDxElectrons1; // dE/dx 0.0<|eta|<0.2 (electrons) | |
93 | TH1D* hDeDxElectrons2; // dE/dx 0.2<|eta|<0.4 (electrons) | |
94 | TH1D* hDeDxElectrons3; // dE/dx 0.4<|eta|<0.6 (electrons) | |
95 | TH1D* hDeDxElectrons4; // dE/dx 0.6<|eta|<0.8 (electrons) | |
96 | ||
97 | TH2D* hDeDxVsNclBefore; // dE/dx vs ncl for calib (step 2) | |
98 | ||
99 | TH2D* hDeDxVsNcl; // dE/dx vs ncl no eta cut (pion MIPs) | |
100 | TH2D* hDeDxVsNcl1; // dE/dx vs ncl 0.0<|eta|<0.2 (pion MIPs) | |
101 | TH2D* hDeDxVsNcl2; // dE/dx vs ncl 0.2<|eta|<0.4 (pion MIPs) | |
102 | TH2D* hDeDxVsNcl3; // dE/dx vs ncl 0.4<|eta|<0.6 (pion MIPs) | |
103 | TH2D* hDeDxVsNcl4; // dE/dx vs ncl 0.6<|eta|<0.8 (pion MIPs) | |
104 | TH2D* hDeDxVsNclElectrons; // dE/dx vs ncl no eta cut (electrons) | |
105 | TH2D* hDeDxVsNclElectrons1; // dE/dx vs ncl 0.0<|eta|<0.2 (electrons) | |
106 | TH2D* hDeDxVsNclElectrons2; // dE/dx vs ncl 0.2<|eta|<0.4 (electrons) | |
107 | TH2D* hDeDxVsNclElectrons3; // dE/dx vs ncl 0.4<|eta|<0.6 (electrons) | |
108 | TH2D* hDeDxVsNclElectrons4; // dE/dx vs ncl 0.6<|eta|<0.8 (electrons) | |
109 | ||
110 | /* TH1D* GetHistDeDx(Int_t bin = 0) { */ | |
111 | ||
112 | ||
113 | /* } */ | |
114 | ||
115 | // histograms - step 1 dE/dx | |
116 | ||
117 | TProfile* hMeanP; // <p> vs p | |
118 | ||
119 | TH2D* hDeDxVsP; // dE/dx vs p | |
120 | TH2D* hDeDxVsPPiMc; // dE/dx vs p for MC pions | |
121 | TH2D* hDeDxVsPKMc; // dE/dx vs p for MC Kaons | |
122 | TH2D* hDeDxVsPPMc; // dE/dx vs p for MC protons | |
123 | TH2D* hDeDxVsPEMc; // dE/dx vs p for MC electrons | |
124 | TH2D* hDeDxVsPMuMc; // dE/dx vs p for MC muons | |
125 | ||
126 | // void Print(Option_t* option) const; | |
127 | ||
128 | ClassDef(AliHighPtDeDxCalib, 1) // AliHighPtDeDxCalib information | |
129 | }; | |
130 | ||
131 | #endif | |
132 |