Fixing bug #60988: Worrying message from InitPlaneEff
[u/mrichter/AliRoot.git] / PWG1 / AliAnalysisTaskQASym.h
CommitLineData
1d55ca60 1#ifndef AliAnalysisTaskQASym_cxx
2#define AliAnalysisTaskQASym_cxx
9f9631f3 3
4
5class TH1F;
6class TH2F;
1d55ca60 7class TH3F;
9f9631f3 8class TList;
9class TNtuple;
10
11class AliESDEvent;
12class AliESDtrack;
13class AliESDtrackCuts;
14
15
16#include "AliAnalysisTaskSE.h"
1d55ca60 17#include "TFile.h"
18#include "TNtuple.h"
9f9631f3 19
20class AliAnalysisTaskQASym : public AliAnalysisTaskSE {
21 public:
1d55ca60 22 AliAnalysisTaskQASym(const char *name = "AliAnalysisTaskQASym");
23 virtual ~AliAnalysisTaskQASym() {}
24
25 virtual void UserCreateOutputObjects();
26 virtual void UserExec(Option_t *option);
27 virtual void Terminate(Option_t *);
28 virtual void SetTrackType(Int_t type) {fTrackType = type;}
9f9631f3 29
30
1d55ca60 31 virtual void SetCuts(AliESDtrackCuts* cuts)
32 {fCuts = cuts;}
33
34 virtual void SetFieldOn(Bool_t b = kTRUE){fFieldOn = b;}
35
9f9631f3 36
37 private:
38
1d55ca60 39 Int_t fTrackType;
40 Bool_t fFieldOn;
9f9631f3 41
42 TList *fHists; // List of histos
43
44 //old
45 TH1F *fHistRECpt; // pt
46 TH1F *fEta; // eta
e4ab7356 47 TH2F *fEtaPhi; // eta-phi
9f9631f3 48 TH1F *fEtaPt; // eta over pt
49 TH1F *fQPt; // charge over pt
50 TH1F *fDca; // distance of closest approach
9f9631f3 51 TH1F *fqRec; // reconstrcuted charge
52 TH1F *fsigmaPt; // sigma_pT
1d55ca60 53
54 //positive und negative tracks
55 TH1F *fRecPtPos; // pt of pos tracks
56 TH1F *fRecPtNeg; // pt of neg tracks
57 TH1F *fRecPhiPos; // phi of pos. tracks
58 TH1F *fRecPhiNeg; // phi of neg. tracks
59 TH1F *fRecEtaPos; // eta of neg. tracks
60 TH1F *fRecEtaNeg; // eta of neg. tracks
61 TH1F *fRecEtaPtPos; // eta over pt of neg. tracks
62 TH1F *fRecEtaPtNeg; // eta over pt of neg. tracks
63 TH1F *fRecDcaPos; // distance of closest approach of neg. tracks
64 TH1F *fRecDcaNeg; // distance of closest of neg. tracks
65 TH1F *fRecDcaNegInv; // invers dca of neg. tracks
66 TH1F *fRecDPos; // impact parameter of neg. tracks
67 TH1F *fRecDNeg; // impact parameter of neg. tracks
9f9631f3 68
9f9631f3 69 // two sides of TPC -> Eta/Theta
1d55ca60 70 TH1F *fRecQPtPosEta; //charge/pT for pos. eta
71 TH1F *fRecQPtNegEta; //charge/pT for neg. eta
72 TH1F *fRecPtPosEta; //pT for pos. eta
73 TH1F *fRecPtNegEta; //pT for neg. eta
74 TH1F *fRecPhiPosEta; //phi for pos. eta
75 TH1F *fRecPhiNegEta; //phi for neg. eta
76 TH1F *fRecDcaPosEta; //dca for pos. eta
77 TH1F *fRecDcaNegEta; //dca for neg. eta
78 TH1F *fRecDPosEta; //d for pos. eta
79 TH1F *fRecDNegEta; //d for neg. eta
80
81 // 2D: all measures as function of z of first trackpoint
82 TH2F *fRecPtPosVz; //pt-zfirst of pos tracks
83 TH2F *fRecPtNegVz; //pt-zfirst of neg tracks
84 TH2F *fRecEtaPosVz; //eta-zfirst of pos tracks
85 TH2F *fRecEtaNegVz; //eta-zfirst of neg tracks
86 TH2F *fRecPhiPosVz; //phi-zfirst of pos tracks
87 TH2F *fRecPhiNegVz; //phi-zfirst of neg tracks
88 TH2F *fSignedDcaPosVz; //dca-zfirst of pos tracks
89 TH2F *fSignedDcaNegVz; //dca-zfirst of neg tracks
90 TH2F *fRecQPtPosEtaVz; //charge/pT-zfirst of pos tracks
91 TH2F *fRecQPtNegEtaVz; //charge/pT-zfirst of neg tracks
92 TH2F *fRecEtaPtPosVz; //eta/pT-zfirst of pos tracks
93 TH2F *fRecEtaPtNegVz; //eta/pT-zfirst of neg tracks
9f9631f3 94
9f9631f3 95
96 //high
1d55ca60 97 TH1F * fDeltaPhiAll; // phiLeaingTracks-phiOthers
98 TH2F * fDeltaPhiLeading; // phiLeaingTracks-phiOthers vs. phiLeading
99 TH1F * fDiffDcaD; // d-dca
9f9631f3 100
101 //sim
1d55ca60 102 TH1F * fPhiRec; //phi
103 TH1F * fThetaRec; //theta
104 TH1F * fNumber; //Number of tracks per event
105 TH1F * fVx; // x of first track point
106 TH1F * fVy; // y of first track point
107 TH1F * fVz; // z of first track point
108 TNtuple * test;
109
110 //new
111 TH2F *fRecDcaPosPhi; //dca-phi for pos.
112 TH2F *fRecDcaNegPhi; //dca-phi for neg.
113 TH2F *fRecPtPosPhi; //pt-phi for pos.
114 TH2F *fRecPtNegPhi; //pt-phi for neg.
115 TH2F *fRecEtaPosPhi; //eta-phi for pos.
116 TH2F *fRecEtaNegPhi; //eta-phi for neg.
117 TH2F *fRecQPtPhi; //charge/pt-phi
118 TH2F *fRecEtaPtPosPhi; //eta/pt-phi for neg.
119 TH2F *fRecEtaPtNegPhi; //eta/pt-phi for pos.
120
121 TH1F *fRecPtPosEtaPos; //pt for pos tracks and pos eta
122 TH1F *fRecPtNegEtaPos; //pt for neg tracks and pos eta
123 TH1F *fRecPtPosEtaNeg; //pt for pos tracks and neg eta
124 TH1F *fRecPtNegEtaNeg; //pt for neg tracks and neg eta
125
126 TH1F *fRec1PtPosEtaPos; //1/pt for pos tracks and pos eta
127 TH1F *fRec1PtNegEtaPos; //1/pt for neg tracks and pos eta
128 TH1F *fRec1PtPosEtaNeg; //1/pt for pos tracks and neg eta
129 TH1F *fRec1PtNegEtaNeg; //1/pt for neg tracks and neg eta
130
131 TH1F *fRecPhiPosEtaPos; //phi for pos tracks and pos eta
132 TH1F *fRecPhiNegEtaPos; //phi for neg tracks and pos eta
133 TH1F *fRecPhiPosEtaNeg; //phi for pos tracks and neg eta
134 TH1F *fRecPhiNegEtaNeg; //phi for neg tracks and neg eta
135
136 TH2F *fRecDcaPosPhiEtaPos; //dca-phi for pos tracks and pos eta
137 TH2F *fRecDcaNegPhiEtaPos; //dca-phi for neg tracks and pos eta
138 TH2F *fRecDcaPosPhiEtaNeg; //dca-phi for pos tracks and neg eta
139 TH2F *fRecDcaNegPhiEtaNeg; //dca-phi for neg tracks and neg eta
140
141 TH2F *fRecPtPosPhiEtaPos; //pt-phi for pos tracks and pos eta
142 TH2F *fRecPtNegPhiEtaPos; //pt-phi for neg tracks and pos eta
143 TH2F *fRecPtPosPhiEtaNeg; //pt-phi for pos tracks and neg eta
144 TH2F *fRecPtNegPhiEtaNeg; //pt-phi for neg tracks and neg eta
145
146
147 TH3F *fRecDcaPhiPtPosEtaPos; //dca-pt-phi for pos tracks and pos eta
148 TH3F *fRecDcaPhiPtNegEtaPos; //dca-pt-phi for neg tracks and pos eta
149 TH3F *fRecDcaPhiPtPosEtaNeg; //dca-pt-phi for pos tracks and neg eta
150 TH3F *fRecDcaPhiPtNegEtaNeg; //dca-pt-phi for neg tracks and neg eta
151
152 TH2F *fEtavPt;
153
154 Double_t sdca;
155 Float_t xy, z, xvertexcor, yvertexcor;
156 AliESDtrackCuts* fCuts; // List of cuts
157
158 // sectors of TPC
159 TH1F *fRecPtTpcSector[18]; //pt for TPC sectors
160 TH1F *fRecEtaTpcSector[18]; //eta for TPC sectors
161 TH1F *fRecQPtTpcSector[18]; //charge/pt for TPC sectors
162 TH1F *fRecEtaPtTpcSector[18]; //eta/pt for TPC sectors
163 TH1F *fSignedDcaTpcSector[18]; //dca for TPC sectors
164
165
166 // 7 different case of hit in ITS ladders
167 TH1F *fRecPtPosLadder[7]; //pt for pos tracks
168 TH1F *fRecPtNegLadder[7]; //pt for neg tracks
169 TH1F *fRecPhiPosLadder[7]; //phi for pos tracks
170 TH1F *fRecPhiNegLadder[7]; //phi for neg tracks
171 TH1F *fRecEtaPosLadder[7]; //eta for pos tracks
172 TH1F *fRecEtaNegLadder[7]; //eta for neg tracks
173 TH1F *fSignDcaPos[7]; //dca for pos tracks
174 TH1F *fSignDcaNeg[7]; //dca for neg tracks
175 TH1F *fSignDcaNegInv[7]; //-dca for neg tracks
176 TH1F *fPtSigmaPos[7]; //sigma_pT for pos tracks
177 TH1F *fPtSigmaNeg[7]; //sigma_pT for neg tracks
178 TH1F *fqPtRec[7]; // charge/pt
179 TH2F *fDcaSigmaPos[7]; // dca - sigma_pT for pos tracks
180 TH2F *fDcaSigmaNeg[7]; // dca - sigma_pT for neg tracks
181
182
183
184
185
9f9631f3 186 AliAnalysisTaskQASym(const AliAnalysisTaskQASym&); // not implemented
187 AliAnalysisTaskQASym& operator=(const AliAnalysisTaskQASym&); // not implemented
188
189 ClassDef(AliAnalysisTaskQASym, 1); // Basic QA exploiting symmetries
190};
191
192#endif