]>
Commit | Line | Data |
---|---|---|
09b20ad1 | 1 | #ifndef ALICOMPARISONEFF_H |
2 | #define ALICOMPARISONEFF_H | |
3 | ||
4 | //------------------------------------------------------------------------------ | |
5 | // Class to keep information from comparison of | |
6 | // reconstructed and MC particle tracks (TPC efficiency). | |
7 | // | |
8 | // Author: J.Otwinowski 04/02/2008 | |
9 | //------------------------------------------------------------------------------ | |
10 | ||
11 | class TFile; | |
12 | class AliMCInfo; | |
13 | class AliESDRecInfo; | |
14 | class AliESDEvent; | |
15 | class AliESD; | |
16 | class AliESDfriend; | |
17 | class AliRecInfoCuts; | |
18 | class AliMCInfoCuts; | |
19 | class TH1I; | |
20 | class TH3F; | |
21 | class TH3; | |
22 | class TProfile; | |
23 | class TProfile2D; | |
24 | class TGraph2D; | |
25 | class TGraph; | |
26 | class TGeoManager; | |
27 | class TStatToolkit; | |
28 | class AliMagFMaps; | |
29 | class AliESDVertex; | |
30 | ||
31 | #include "TNamed.h" | |
32 | ||
33 | class AliComparisonEff : public TNamed { | |
34 | public : | |
35 | AliComparisonEff(); | |
36 | ~AliComparisonEff(); | |
37 | void InitHisto(); | |
38 | void InitCuts(); | |
39 | void Exec(AliMCInfo* infoMC, AliESDRecInfo *infoRC); | |
40 | void Process(AliMCInfo* infoMC, AliESDRecInfo *infoRC); | |
41 | ||
42 | // Selection cuts | |
43 | void SetAliRecInfoCuts(AliRecInfoCuts* cuts=0) {fCutsRC = cuts;} | |
44 | void SetAliMCInfoCuts(AliMCInfoCuts* cuts=0) {fCutsMC = cuts;} | |
45 | ||
46 | AliRecInfoCuts* GetAliRecInfoCuts() const {return fCutsRC;} | |
47 | AliMCInfoCuts* GetAliMCInfoCuts() const {return fCutsMC;} | |
48 | ||
49 | // Merge output objects (needed by PROOF) | |
50 | virtual Long64_t Merge(TCollection* list); | |
51 | ||
52 | // Analyse output histograms | |
53 | void Analyse(); | |
54 | ||
55 | private: | |
56 | ||
57 | // Control histograms | |
58 | TH1F *fMCPt; | |
59 | TH1F *fMCRecPt; | |
60 | TH1F *fMCRecPrimPt; | |
61 | TH1F *fMCRecSecPt; | |
62 | ||
63 | TProfile* fEffTPCPt; //->TPC efficiency as function of Pt (tan+-1) | |
64 | TProfile* fEffTPCPtMC; //->MC -TPC efficiency as function of Pt (tan+-1) | |
65 | TProfile* fEffTPCPtF; //->efficiency for findable tracks | |
66 | ||
67 | TProfile* fEffTPCPt_P; //->TPC efficiency as function of Pt (tan+-1) - Protons | |
68 | TProfile* fEffTPCPtMC_P; //->MC -TPC efficiency as function of Pt (tan+-1) - Protons | |
69 | TProfile* fEffTPCPtF_P; //->efficiency for findable tracks - Protons | |
70 | ||
71 | TProfile* fEffTPCPt_Pi; //->TPC efficiency as function of Pt (tan+-1) - Pions | |
72 | TProfile* fEffTPCPtMC_Pi; //->MC -TPC efficiency as function of Pt (tan+-1) - Pions | |
73 | TProfile* fEffTPCPtF_Pi; //->efficiency for findable tracks - Pions | |
74 | ||
75 | TProfile* fEffTPCPt_K; //->TPC efficiency as function of Pt (tan+-1) - Kaons | |
76 | TProfile* fEffTPCPtMC_K; //->MC -TPC efficiency as function of Pt (tan+-1) - Kaons | |
77 | TProfile* fEffTPCPtF_K; //->efficiency for findable tracks - Kaons | |
78 | ||
79 | // | |
80 | TProfile* fEffTPCTan; //->TPC efficiency as function of Tan (pt>0.15 | |
81 | TProfile* fEffTPCTanMC; //->MC -TPC efficiency as function of Tan (pt>0.15) | |
82 | TProfile* fEffTPCTanF; //->efficiency for findable tracks Tan (pt>0.15) | |
83 | // | |
84 | TProfile2D* fEffTPCPtTan; //->TPC efficiency as function of Pt and tan | |
85 | TProfile2D* fEffTPCPtTanMC; //->MC -TPC efficiency as function of Pt and tan | |
86 | TProfile2D* fEffTPCPtTanF; //->TPC efficiency as function of Pt and tan | |
87 | ||
88 | // idx - 0 (isPrim), idx - 1 (isPrim && infoRC->GetStatus(1)==3) | |
89 | // idx - 2 (infoRC->GetStatus(1)==3), idx - 3 (infoRC->GetStatus(1)==3 && !isPrim ) | |
90 | // | |
91 | ||
92 | TH2F* fTPCPtDCASigmaIdeal[4]; //->TPC efficiency vs Pt vs DCA/Sigma (tan+-1) | |
93 | TH2F* fTPCPtDCASigmaFull[4]; //->TPC efficiency vs Pt vs DCA/Sigma (tan+-1, full systematics) | |
94 | TH2F* fTPCPtDCASigmaDay0[4]; //->TPC efficiency vs Pt vs DCA/Sigma (tan+-1, goofie systematics) | |
95 | ||
96 | TH2F* fTPCPtDCAXY[4]; //->TPC efficiency as Pt vs DCA_XY (tan+-1) | |
97 | TH2F* fTPCPtDCAZ[4]; //->TPC efficiency as Pt vs DCA_Z (tan+-1) | |
98 | ||
99 | // Pid = 0 - electrons, 1 - muons, 2 - kaons, 3 - pions, 4 - protons | |
100 | TH3F* fTPCPtDCASigmaIdealPid[4]; //->TPC efficiency vs Pt vs DCA/Sigma (tan+-1) | |
101 | TH3F* fTPCPtDCASigmaFullPid[4]; //->TPC efficiency vs Pt vs DCA/Sigma (tan+-1, full systematics) | |
102 | TH3F* fTPCPtDCASigmaDay0Pid[4]; //->TPC efficiency vs Pt vs DCA/Sigma (tan+-1, goofie systematics) | |
103 | ||
104 | TH3F* fTPCPtDCAXYPid[4]; //->TPC efficiency as Pt vs DCA_XY (tan+-1) | |
105 | TH3F* fTPCPtDCAZPid[4]; //->TPC efficiency as Pt vs DCA_Z (tan+-1) | |
106 | ||
107 | // Global cuts objects | |
108 | AliRecInfoCuts* fCutsRC; // selection cuts for reconstructed tracks | |
109 | AliMCInfoCuts* fCutsMC; // selection cuts for MC tracks | |
110 | ||
111 | // Magnet (needed for DCA calculations) | |
112 | AliESDVertex* fVertex; //! | |
113 | ||
114 | AliComparisonEff(const AliComparisonEff&); // not implemented | |
115 | AliComparisonEff& operator=(const AliComparisonEff&); // not implemented | |
116 | ||
117 | ClassDef(AliComparisonEff,1); | |
118 | }; | |
119 | ||
120 | #endif |