]>
Commit | Line | Data |
---|---|---|
6d1c79ca | 1 | #ifndef ALICOMPARISONRES_H\r |
2 | #define ALICOMPARISONRES_H\r | |
3 | \r | |
4 | //------------------------------------------------------------------------------\r | |
5 | // Class to keep information from comparison of \r | |
6 | // reconstructed and MC particle tracks (TPC resolution). \r | |
7 | // \r | |
8 | // Author: J.Otwinowski 04/02/2008 \r | |
9 | //------------------------------------------------------------------------------\r | |
10 | \r | |
11 | class TFile;\r | |
12 | class AliMCInfo;\r | |
13 | class AliESDRecInfo;\r | |
14 | class AliESDEvent; \r | |
15 | class AliESD;\r | |
16 | class AliESDfriend;\r | |
17 | class AliMCInfoCuts;\r | |
18 | class AliRecInfoCuts;\r | |
19 | class TH1I;\r | |
20 | class TH3F;\r | |
21 | class TH3;\r | |
22 | class TProfile;\r | |
23 | class TProfile2D;\r | |
24 | class AliESDVertex;\r | |
25 | \r | |
26 | #include "TNamed.h"\r | |
27 | \r | |
28 | class AliComparisonRes : public TNamed {\r | |
29 | public :\r | |
30 | AliComparisonRes(); \r | |
31 | virtual ~AliComparisonRes();\r | |
32 | void InitHisto();\r | |
33 | void InitCuts();\r | |
34 | void Exec(AliMCInfo* infoMC, AliESDRecInfo *infoRC);\r | |
35 | void ProcessConstrained(AliMCInfo* infoMC, AliESDRecInfo *infoRC);\r | |
36 | void Process(AliMCInfo* infoMC, AliESDRecInfo *infoRC);\r | |
37 | \r | |
38 | // Selection cuts\r | |
39 | void SetAliRecInfoCuts(AliRecInfoCuts* cuts=0) {fCutsRC = cuts;} \r | |
40 | void SetAliMCInfoCuts(AliMCInfoCuts* cuts=0) {fCutsMC = cuts;} \r | |
41 | \r | |
42 | AliRecInfoCuts* GetAliRecInfoCuts() const {return fCutsRC;} \r | |
43 | AliMCInfoCuts* GetAliMCInfoCuts() const {return fCutsMC;} \r | |
44 | \r | |
45 | // Merge output objects (needed by PROOF) \r | |
46 | virtual Long64_t Merge(TCollection* list);\r | |
47 | \r | |
48 | // Analyse output histograms\r | |
49 | void Analyse();\r | |
50 | static TH1F* MakeResol(TH2F * his, Int_t integ, Bool_t type); \r | |
51 | \r | |
52 | \r | |
53 | private:\r | |
54 | //\r | |
55 | // Control histograms\r | |
56 | //\r | |
57 | TH2F* fPtResolLPT; //-> pt resolution - low pt\r | |
58 | TH2F* fPtResolHPT; //-> pt resolution - high pt \r | |
59 | TH2F* fPtPullLPT; //-> pt resolution - low pt\r | |
60 | TH2F* fPtPullHPT; //-> pt resolution - high pt \r | |
61 | \r | |
62 | //\r | |
63 | // Resolution constrained param\r | |
64 | //\r | |
65 | TH2F *fCPhiResolTan; //-> angular resolution - constrained\r | |
66 | TH2F *fCTanResolTan; //-> angular resolution - constrained\r | |
67 | TH2F *fCPtResolTan; //-> pt resolution - constrained\r | |
68 | TH2F *fCPhiPullTan; //-> angular resolution - constrained\r | |
69 | TH2F *fCTanPullTan; //-> angular resolution - constrained\r | |
70 | TH2F *fCPtPullTan; //-> pt resolution - constrained\r | |
71 | \r | |
72 | //\r | |
73 | // Histograms for track resolution parameterisation\r | |
74 | //\r | |
79916a3f | 75 | \r |
76 | TH2F* f1Pt2Resol1PtTPC; //-> (1/mcpt-1/pt)/(1+1/pt)^2 vs 1/pt (TPC)\r | |
77 | TH2F* f1Pt2Resol1PtTPCITS; //-> (1/mcpt-1/pt)/(1+1/pt)^2 vs 1/pt (TPC+ITS)\r | |
78 | TH2F* fYResol1PtTPC; //-> (mcy-y)/(0.2+1/pt) vs 1/pt (TPC) \r | |
79 | TH2F* fYResol1PtTPCITS; //-> (mcy-y)/(0.2+1/pt) vs 1/pt (TPC + ITS) \r | |
80 | TH2F* fZResol1PtTPC; //-> (mcz-z)/(0.2+1/pt) vs 1/pt (TPC)\r | |
81 | TH2F* fZResol1PtTPCITS; //-> (mcz-z)/(0.2+1/pt) vs 1/pt (TPC+ITS)\r | |
82 | TH2F* fPhiResol1PtTPC; //-> (mcphi-phi)/(0.1+1/pt) vs 1/pt (TPC)\r | |
83 | TH2F* fPhiResol1PtTPCITS; //-> (mcphi-phi)/(0.1+1/pt) vs 1/pt (TPC+ITS)\r | |
84 | TH2F* fThetaResol1PtTPC; //-> (mctheta-theta)/(0.1+1/pt) vs 1/pt (TPC)\r | |
85 | TH2F* fThetaResol1PtTPCITS; //-> (mctheta-theta)/(0.1+1/pt) vs 1/pt (TPC+ITS)\r | |
86 | \r | |
87 | // constrained\r | |
6d1c79ca | 88 | TH2F* fC1Pt2Resol1PtTPC; //-> (1/mcpt-1/pt)/(1+1/pt)^2 vs 1/pt (TPC)\r |
89 | TH2F* fC1Pt2Resol1PtTPCITS; //-> (1/mcpt-1/pt)/(1+1/pt)^2 vs 1/pt (TPC+ITS)\r | |
90 | TH2F* fCYResol1PtTPC; //-> (mcy-y)/(0.2+1/pt) vs 1/pt (TPC) \r | |
91 | TH2F* fCYResol1PtTPCITS; //-> (mcy-y)/(0.2+1/pt) vs 1/pt (TPC + ITS) \r | |
92 | TH2F* fCZResol1PtTPC; //-> (mcz-z)/(0.2+1/pt) vs 1/pt (TPC)\r | |
93 | TH2F* fCZResol1PtTPCITS; //-> (mcz-z)/(0.2+1/pt) vs 1/pt (TPC+ITS)\r | |
94 | TH2F* fCPhiResol1PtTPC; //-> (mcphi-phi)/(0.1+1/pt) vs 1/pt (TPC)\r | |
95 | TH2F* fCPhiResol1PtTPCITS; //-> (mcphi-phi)/(0.1+1/pt) vs 1/pt (TPC+ITS)\r | |
96 | TH2F* fCThetaResol1PtTPC; //-> (mctheta-theta)/(0.1+1/pt) vs 1/pt (TPC)\r | |
97 | TH2F* fCThetaResol1PtTPCITS; //-> (mctheta-theta)/(0.1+1/pt) vs 1/pt (TPC+ITS)\r | |
98 | \r | |
99 | AliESDVertex *fVertex; //! \r | |
100 | \r | |
101 | // Global cuts objects\r | |
102 | AliRecInfoCuts* fCutsRC; // selection cuts for reconstructed tracks\r | |
103 | AliMCInfoCuts* fCutsMC; // selection cuts for MC tracks\r | |
104 | \r | |
105 | AliComparisonRes(const AliComparisonRes&); // not implemented\r | |
106 | AliComparisonRes& operator=(const AliComparisonRes&); // not implemented\r | |
107 | \r | |
108 | ClassDef(AliComparisonRes,1);\r | |
109 | };\r | |
110 | \r | |
111 | #endif\r |