]>
Commit | Line | Data |
---|---|---|
9f9631f3 | 1 | #ifndef AliAnalysisTaskQASym_cxx |
2 | #define AliAnalysisTaskQASym_cxx | |
3 | ||
4 | ||
5 | class TH1F; | |
6 | class TH2F; | |
7 | class TList; | |
8 | class TNtuple; | |
9 | ||
10 | class AliESDEvent; | |
11 | class AliESDtrack; | |
12 | class AliESDtrackCuts; | |
13 | ||
14 | ||
15 | #include "AliAnalysisTaskSE.h" | |
16 | #include "TFile.h" | |
17 | #include "TNtuple.h" | |
18 | ||
19 | class AliAnalysisTaskQASym : public AliAnalysisTaskSE { | |
20 | public: | |
21 | AliAnalysisTaskQASym(const char *name = "AliAnalysisTaskQASym"); | |
22 | virtual ~AliAnalysisTaskQASym() {} | |
23 | ||
24 | virtual void UserCreateOutputObjects(); | |
25 | virtual void UserExec(Option_t *option); | |
26 | virtual void Terminate(Option_t *); | |
27 | ||
28 | ||
29 | ||
30 | virtual void SetCuts(AliESDtrackCuts* cuts) | |
31 | {fCuts = cuts;} | |
32 | ||
33 | virtual void SetFieldOn(Bool_t b = kTRUE){fFieldOn = b;} | |
34 | ||
35 | private: | |
36 | ||
37 | ||
38 | Bool_t fFieldOn; | |
39 | ||
40 | TList *fHists; // List of histos | |
41 | ||
42 | //old | |
43 | TH1F *fHistRECpt; // pt | |
44 | TH1F *fEta; // eta | |
e4ab7356 | 45 | TH2F *fEtaPhi; // eta-phi |
9f9631f3 | 46 | TH1F *fEtaPt; // eta over pt |
47 | TH1F *fQPt; // charge over pt | |
48 | TH1F *fDca; // distance of closest approach | |
49 | TH1F *fqPtRec[7]; // charge over pt divided for ITS layer cases | |
50 | TH1F *fqRec; // reconstrcuted charge | |
51 | TH1F *fsigmaPt; // sigma_pT | |
52 | TH2F *fDcaSigmaPos[7]; // distance of closest approach against sigma_pT | |
53 | TH2F *fDcaSigmaNeg[7]; // distance of closest approach against sigma_pT | |
54 | ||
55 | ||
56 | //positive und negative particles | |
57 | TH1F *fRecPtPos; // pt of pos partice | |
58 | TH1F *fRecPtNeg; // pt of neg particle | |
59 | TH1F *fRecPhiPos; // phi of pos. particle | |
60 | TH1F *fRecPhiNeg; // phi of neg. particle | |
61 | TH1F *fRecEtaPos; // eta of neg. particle | |
62 | TH1F *fRecEtaNeg; // eta of neg. particle | |
63 | TH1F *fRecEtaPtPos; // eta over pt of neg. particle | |
64 | TH1F *fRecEtaPtNeg; // eta over pt of neg. particle | |
65 | TH1F *fRecDcaPos; // distance of closest approach of neg. particle | |
66 | TH1F *fRecDcaNeg; // distance of closest of neg. particle | |
67 | TH1F *fRecDcaNegInv; // invers dca of neg. particle | |
68 | TH1F *fRecDPos; // impact parameter of neg. particle | |
69 | TH1F *fRecDNeg; // impact parameter of neg. particle | |
70 | ||
71 | ||
72 | ||
73 | ||
74 | // two sides of TPC -> Eta/Theta | |
75 | TH1F *fRecQPtPosEta; | |
76 | TH1F *fRecQPtNegEta; | |
77 | TH1F *fRecPtPosEta; | |
78 | TH1F *fRecPtNegEta; | |
79 | TH1F *fRecPhiPosEta; | |
80 | TH1F *fRecPhiNegEta; | |
81 | TH1F *fRecDcaPosEta; | |
82 | TH1F *fRecDcaNegEta; | |
83 | TH1F *fRecDPosEta; | |
84 | TH1F *fRecDNegEta; | |
85 | ||
86 | ||
87 | ||
88 | // sectors of TPC (with pt>xGeV?), TODO: extent to TPC standalone tracks | |
89 | TH1F *fRecPtTpcSector[18]; | |
90 | TH1F *fRecEtaTpcSector[18]; | |
91 | TH1F *fRecQPtTpcSector[18]; | |
92 | TH1F *fRecEtaPtTpcSector[18]; | |
93 | TH1F *fSignedDcaTpcSector[18]; | |
94 | ||
95 | ||
96 | // 7 different case of hit in ITS ladders | |
97 | TH1F *fSignDcaPos[7]; | |
98 | TH1F *fSignDcaNeg[7]; | |
99 | TH1F *fSignDcaNegInv[7]; | |
100 | TH1F *fPtSigmaPos[7]; | |
101 | TH1F *fPtSigmaNeg[7]; | |
102 | TH1F *fRecPtPosLadder[7]; | |
103 | TH1F *fRecPtNegLadder[7]; | |
104 | TH1F *fRecPhiPosLadder[7]; | |
105 | TH1F *fRecPhiNegLadder[7]; | |
106 | TH1F *fRecEtaPosLadder[7]; | |
107 | TH1F *fRecEtaNegLadder[7]; | |
108 | ||
109 | ||
110 | // 2D: all measures as function of z of vertex | |
111 | TH2F *fRecPtPosVz; | |
112 | TH2F *fRecPtNegVz; | |
113 | TH2F *fRecEtaPosVz; | |
114 | TH2F *fRecEtaNegVz; | |
115 | TH2F *fRecPhiPosVz; | |
116 | TH2F *fRecPhiNegVz; | |
117 | TH2F *fSignedDcaPosVz; | |
118 | TH2F *fSignedDcaNegVz; | |
119 | TH2F *fRecQPtPosEtaVz; | |
120 | TH2F *fRecQPtNegEtaVz; | |
121 | TH2F *fRecEtaPtPosVz; | |
122 | TH2F *fRecEtaPtNegVz; | |
123 | ||
124 | ||
125 | //high | |
126 | TH1F * fDeltaPhiAll; | |
127 | TH2F * fDeltaPhiLeading; | |
128 | TH1F * fDiffDcaD; | |
129 | ||
130 | //sim | |
131 | TH1F * fPhiRec; | |
132 | TH1F * fThetaRec; | |
133 | TH1F * fNumber; | |
134 | TH1F * fVx; | |
135 | TH1F * fVy; | |
136 | TH1F * fVz; | |
137 | TNtuple * test; | |
138 | ||
139 | ||
140 | ||
141 | Double_t sdca_tr; | |
142 | Float_t xy, z; | |
143 | ||
144 | AliESDtrackCuts* fCuts; // List of cuts | |
145 | AliAnalysisTaskQASym(const AliAnalysisTaskQASym&); // not implemented | |
146 | AliAnalysisTaskQASym& operator=(const AliAnalysisTaskQASym&); // not implemented | |
147 | ||
148 | ClassDef(AliAnalysisTaskQASym, 1); // Basic QA exploiting symmetries | |
149 | }; | |
150 | ||
151 | #endif |