]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/ITS/AliAnalysisTaskITSTrackingCheck.h
Added possibility to select a multiplicity range
[u/mrichter/AliRoot.git] / PWG1 / ITS / AliAnalysisTaskITSTrackingCheck.h
CommitLineData
8d63376d 1#ifndef AliAnalysisTaskITSTrackingCheck_cxx
2#define AliAnalysisTaskITSTrackingCheck_cxx
3
4/* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//*************************************************************************
8// Class AliAnalysiTaskITSTrackingCheck
9// AliAnalysisTask to extract from ESD tracks the information on the
10// ITS tracking efficiency and resolutions
11//
12// Author: A.Dainese, andrea.dainese@pd.infn.it
13//*************************************************************************
14
15class TNtuple;
16class TParticle;
17class TH1F;
18class AliESDEvent;
19class AliESDVertex;
20class AliESDfriend;
f8777463 21class AliESDtrackCuts;
8d63376d 22
d98a315a 23#include "AliAnalysisTaskSE.h"
8d63376d 24
d98a315a 25class AliAnalysisTaskITSTrackingCheck : public AliAnalysisTaskSE
8d63376d 26{
27 public:
d98a315a 28 AliAnalysisTaskITSTrackingCheck();
29 AliAnalysisTaskITSTrackingCheck(const char *name);
8d63376d 30 virtual ~AliAnalysisTaskITSTrackingCheck();
31
d98a315a 32 virtual void UserCreateOutputObjects();
33 virtual void UserExec(Option_t *option);
8d63376d 34 virtual void Terminate(Option_t *);
35 Bool_t GetReadMC() const { return fReadMC; }
36 void SetReadMC(Bool_t flag=kTRUE) { fReadMC=flag; }
f8777463 37 void SetUsePhysSel() { fUsePhysSel=kTRUE; }
8d63376d 38 void SetReadRPLabels(Bool_t flag=kTRUE) { fReadRPLabels=flag; }
2308c814 39 void SetFillNtuples(Bool_t flag=kTRUE) { fFillNtuples=flag; }
3f18d0a6 40 void SetUseITSSAforNtuples(Bool_t flag=kTRUE) { fUseITSSAforNtuples=flag; }
f8777463 41 void SetESDtrackCutsTPC(AliESDtrackCuts *c) { fESDtrackCutsTPC=c; }
42 void SetESDtrackCutsITSTPC(AliESDtrackCuts *c) { fESDtrackCutsITSTPC=c; }
5ac4a99f 43 void SetMultiplicityRange(Int_t min,Int_t max) { fMinMult=min; fMaxMult=max; }
44
8d63376d 45 protected:
46 Bool_t fReadMC; // read Monte Carlo
47 Bool_t fReadRPLabels; // read MC labels from ITS.RecPoints
2308c814 48 Bool_t fFillNtuples; // fill expert ntuples
3f18d0a6 49 Bool_t fUseITSSAforNtuples; // fill expert ntuples with ITSSA tracks
f8777463 50 Bool_t fUsePhysSel; // use AliPhysicsSelection
8d63376d 51 AliESDEvent *fESD; // ESD object
5ac4a99f 52 Int_t fMinMult; // minimum multiplicity
53 Int_t fMaxMult; // maximum multiplicity
8d63376d 54 TList *fOutput; //! list send on output slot 0
f8777463 55 TH1F *fHistNEvents; //! output hist
56 TH1F *fHistNEventsFrac; //! output hist
8d63376d 57 TH1F *fHistNtracks; //! output hist
58 TH1F *fHistNclsITSMI; //! output hist
59 TH1F *fHistNclsITSSA; //! output hist
2308c814 60 TH1F *fHistNclsITSSAInAcc; //! output hist
8d63376d 61 TH1F *fHistClusterMapITSMI; //! output hist
62 TH1F *fHistClusterMapITSMIok; //! output hist
63 TH1F *fHistClusterMapITSMIbad; //! output hist
64 TH1F *fHistClusterMapITSMIskipped; //! output hist
65 TH1F *fHistClusterMapITSMIoutinz; //! output hist
66 TH1F *fHistClusterMapITSMInorefit; //! output hist
67 TH1F *fHistClusterMapITSMInocls; //! output hist
2308c814 68 TH1F *fHistClusterMapITSMIokoutinzbad; //! output hist
8d63376d 69 TH1F *fHistClusterMapITSSA; //! output hist
70 TH1F *fHistClusterMapITSSAok; //! output hist
71 TH1F *fHistClusterMapITSSAbad; //! output hist
72 TH1F *fHistClusterMapITSSAskipped; //! output hist
73 TH1F *fHistClusterMapITSSAoutinz; //! output hist
74 TH1F *fHistClusterMapITSSAnorefit; //! output hist
75 TH1F *fHistClusterMapITSSAnocls; //! output hist
2308c814 76 TH1F *fHistClusterMapITSSAokoutinzbad; //! output hist
77 TH1F *fHistClusterMapITSSAInAcc; //! output hist
78 TH1F *fHistClusterMapITSSAokInAcc; //! output hist
79 TH1F *fHistClusterMapITSSAbadInAcc; //! output hist
80 TH1F *fHistClusterMapITSSAskippedInAcc; //! output hist
81 TH1F *fHistClusterMapITSSAoutinzInAcc; //! output hist
82 TH1F *fHistClusterMapITSSAnorefitInAcc; //! output hist
83 TH1F *fHistClusterMapITSSAnoclsInAcc; //! output hist
84 TH1F *fHistClusterMapITSSAokoutinzbadInAcc; //! output hist
85 TH1F *fHistClusterMapModuleITSSAokInAcc; //! output hist
86 TH1F *fHistClusterMapModuleITSSAbadInAcc; //! output hist
87 TH1F *fHistClusterMapModuleITSSAnoclsInAcc; //! output hist
f8777463 88 TH1F *fHistClusterMapModuleITSMIokInAcc; //! output hist
89 TH1F *fHistClusterMapModuleITSMIbadInAcc; //! output hist
90 TH1F *fHistClusterMapModuleITSMInoclsInAcc; //! output hist
dbf573fb 91 TH1F *fHistZatSPDouter0ok; //! output hist
92 TH1F *fHistZatSPDouter1ok; //! output hist
93 TH1F *fHistZatSPDouter2ok; //! output hist
94 TH1F *fHistZatSPDouter3ok; //! output hist
95 TH1F *fHistZatSPDouter0notok; //! output hist
96 TH1F *fHistZatSPDouter1notok; //! output hist
97 TH1F *fHistZatSPDouter2notok; //! output hist
98 TH1F *fHistZatSPDouter3notok; //! output hist
f8777463 99 TH1F *fHistxlocSDDok; //! output hist
100 TH1F *fHistzlocSDDok; //! output hist
101 TH2F *fHistxlocVSmodSDDok; //! output hist
102 TH1F *fHistxlocSDDall; //! output hist
103 TH1F *fHistzlocSDDall; //! output hist
3f18d0a6 104 TH1F *fHistPhiTPCInAcc; //! output hist
8d63376d 105 TH1F *fHistPtTPC; //! output hist
3f18d0a6 106 TH1F *fHistPtTPCInAcc; //! output hist
dbf573fb 107 TH1F *fHistPtTPCInAccMCtwoSPD; //! output hist
108 TH1F *fHistPtTPCInAccMConeSPD; //! output hist
f8777463 109 TH2F *fHistdEdxVSPtTPCInAcc; //! output hist
110 TH2F *fHistdEdxVSPtITSTPCsel; //! output hist
111 TH2F *fHistPtVSphiTPCInAcc; //! output hist
112 TH1F *fHistPtTPCInAccNoTRDout; //! output hist
113 TH1F *fHistPtTPCInAccNoTOFout; //! output hist
114 TH1F *fHistPtTPCInAccWithPtTPCAtInnerWall; //! output hist
115 TH1F *fHistPtTPCInAccWithPtTPCAtVtx; //! output hist
116 TH2F *fHistDeltaPtTPC; //! output hist
117 TH1F *fHistPtTPCInAccP; //! output hist
118 TH1F *fHistPtTPCInAccS; //! output hist
119 TH1F *fHistPtTPCInAccPfromStrange; //! output hist
120 TH1F *fHistPtTPCInAccSfromStrange; //! output hist
121 TH1F *fHistPtTPCInAccSfromMat; //! output hist
8d63376d 122 TH1F *fHistPtITSMI2; //! output hist
123 TH1F *fHistPtITSMI3; //! output hist
124 TH1F *fHistPtITSMI4; //! output hist
125 TH1F *fHistPtITSMI5; //! output hist
126 TH1F *fHistPtITSMI6; //! output hist
127 TH1F *fHistPtITSMISPD; //! output hist
7b4d74b2 128 TH1F *fHistPtITSMIoneSPD; //! output hist
3f18d0a6 129 TH1F *fHistPtITSMI2InAcc; //! output hist
130 TH1F *fHistPtITSMI3InAcc; //! output hist
131 TH1F *fHistPtITSMI4InAcc; //! output hist
132 TH1F *fHistPtITSMI5InAcc; //! output hist
133 TH1F *fHistPtITSMI6InAcc; //! output hist
134 TH1F *fHistPtITSMISPDInAcc; //! output hist
7b4d74b2 135 TH1F *fHistPtITSMIoneSPDInAcc; //! output hist
0faeb7ba 136 TH1F *fHistPtITSMI2InAccFake; //! output hist
137 TH1F *fHistPtITSMI3InAccFake; //! output hist
138 TH1F *fHistPtITSMI4InAccFake; //! output hist
139 TH1F *fHistPtITSMI5InAccFake; //! output hist
140 TH1F *fHistPtITSMI6InAccFake; //! output hist
141 TH1F *fHistPtITSMISPDInAccFake; //! output hist
142 TH1F *fHistPtITSMIoneSPDInAccFake; //! output hist
6c6fab7b 143 TH1F *fHistPtITSMIoneSPDthreeSDDSSDInAcc; //! output hist
f8777463 144 TH1F *fHistPtITSTPCsel; //! output hist
145 TH1F *fHistPtITSTPCselP; //! output hist
146 TH1F *fHistPtITSTPCselS; //! output hist
af874c53 147 TH1F *fHistPtITSTPCselFake; //! output hist
f8777463 148 TH1F *fHistPtITSTPCselPfromStrange; //! output hist
149 TH1F *fHistPtITSTPCselSfromStrange; //! output hist
150 TH1F *fHistPtITSTPCselSfromMat; //! output hist
151 TH1F *fHistPtITSMI2InAccP; //! output hist
152 TH1F *fHistPtITSMI3InAccP; //! output hist
153 TH1F *fHistPtITSMI4InAccP; //! output hist
154 TH1F *fHistPtITSMI5InAccP; //! output hist
155 TH1F *fHistPtITSMI6InAccP; //! output hist
156 TH1F *fHistPtITSMISPDInAccP; //! output hist
157 TH1F *fHistPtITSMIoneSPDInAccP; //! output hist
158 TH1F *fHistPtITSMI2InAccS; //! output hist
159 TH1F *fHistPtITSMI3InAccS; //! output hist
160 TH1F *fHistPtITSMI4InAccS; //! output hist
161 TH1F *fHistPtITSMI5InAccS; //! output hist
162 TH1F *fHistPtITSMI6InAccS; //! output hist
163 TH1F *fHistPtITSMISPDInAccS; //! output hist
164 TH1F *fHistPtITSMIoneSPDInAccS; //! output hist
3f18d0a6 165 TH1F *fHistPtITSMIokbadoutinz6; //! output hist
c2893e82 166 TH1F *fHistPtITSMIokbadoutinz4InAcc; //! output hist
167 TH1F *fHistPtITSMIokbadoutinz5InAcc; //! output hist
3f18d0a6 168 TH1F *fHistPtITSMIokbadoutinz6InAcc; //! output hist
169 TH1F *fHistPhiITSMIokbadoutinz6InAcc; //! output hist
f8777463 170 TH1F *fHistRProdVtxInAccP; //! output hist
171 TH1F *fHistRProdVtxInAccS; //! output hist
172 TH1F *fHistd0rphiTPCInAccP150200; //! output hist
173 TH1F *fHistd0rphiTPCInAccP500700; //! output hist
174 TH1F *fHistd0rphiTPCInAccP10001500; //! output hist
175 TH1F *fHistd0rphiTPCInAccS150200; //! output hist
176 TH1F *fHistd0rphiTPCInAccS500700; //! output hist
177 TH1F *fHistd0rphiTPCInAccS10001500; //! output hist
178 TH1F *fHistd0rphiITSMISPDInAccP150200; //! output hist
179 TH1F *fHistd0rphiITSMISPDInAccP500700; //! output hist
180 TH1F *fHistd0rphiITSMISPDInAccP10001500; //! output hist
181 TH1F *fHistd0rphiITSMISPDInAccS150200; //! output hist
182 TH1F *fHistd0rphiITSMISPDInAccS500700; //! output hist
183 TH1F *fHistd0rphiITSMISPDInAccS10001500; //! output hist
184 TH1F *fHistd0rphiITSMIoneSPDInAccP150200; //! output hist
dbf573fb 185 TH1F *fHistd0rphiITSMIoneSPDInAccP350450; //! output hist
f8777463 186 TH1F *fHistd0rphiITSMIoneSPDInAccP500700; //! output hist
187 TH1F *fHistd0rphiITSMIoneSPDInAccP10001500; //! output hist
dbf573fb 188 TH1F *fHistd0rphiITSMIoneSPDInAccP25004000; //! output hist
189 TH1F *fHistd0rphiITSMIoneSPDInAccP40008000; //! output hist
f8777463 190 TH1F *fHistd0zITSMIoneSPDInAccP150200; //! output hist
191 TH1F *fHistd0zITSMIoneSPDInAccP500700; //! output hist
192 TH1F *fHistd0zITSMIoneSPDInAccP10001500; //! output hist
9a3cd95a 193 TH2F *fHistd0zVSetaTPCInAccP10001500; //! output hist
f8777463 194 TH2F *fHistd0rphiVSphiITSMIoneSPDInAccP10001500; //! output hist
195 TH2F *fHistd0rphiVSetaITSMIoneSPDInAccP10001500; //! output hist
196 TH1F *fHistd0rphiITSMIoneSPDInAccS150200; //! output hist
dbf573fb 197 TH1F *fHistd0rphiITSMIoneSPDInAccS350450; //! output hist
f8777463 198 TH1F *fHistd0rphiITSMIoneSPDInAccS500700; //! output hist
199 TH1F *fHistd0rphiITSMIoneSPDInAccS500700from22; //! output hist
200 TH1F *fHistd0rphiITSMIoneSPDInAccS500700from211; //! output hist
201 TH1F *fHistd0rphiITSMIoneSPDInAccS500700from310; //! output hist
202 TH1F *fHistd0rphiITSMIoneSPDInAccS500700from321; //! output hist
dbf573fb 203 TH1F *fHistd0rphiITSMIoneSPDInAccS500700from3122; //! output hist
f8777463 204 TH1F *fHistd0rphiITSMIoneSPDInAccS10001500; //! output hist
dbf573fb 205 TH1F *fHistd0rphiITSMIoneSPDInAccS25004000; //! output hist
206 TH1F *fHistd0rphiITSMIoneSPDInAccS40008000; //! output hist
207 TH1F *fHistd0rphiITSMIoneSPDInAccS150200fromStrange; //! output hist
208 TH1F *fHistd0rphiITSMIoneSPDInAccS150200fromMat; //! output hist
209 TH1F *fHistd0rphiITSMIoneSPDInAccS350450fromStrange; //! output hist
210 TH1F *fHistd0rphiITSMIoneSPDInAccS350450fromMat; //! output hist
211 TH1F *fHistd0rphiITSMIoneSPDInAccS500700fromStrange; //! output hist
212 TH1F *fHistd0rphiITSMIoneSPDInAccS500700fromMat; //! output hist
213 TH1F *fHistd0rphiITSMIoneSPDInAccS10001500fromStrange; //! output hist
214 TH1F *fHistd0rphiITSMIoneSPDInAccS10001500fromMat; //! output hist
215 TH1F *fHistd0rphiITSMIoneSPDInAccS25004000fromStrange; //! output hist
216 TH1F *fHistd0rphiITSMIoneSPDInAccS25004000fromMat; //! output hist
217 TH1F *fHistd0rphiITSMIoneSPDInAccS40008000fromStrange; //! output hist
218 TH1F *fHistd0rphiITSMIoneSPDInAccS40008000fromMat; //! output hist
f8777463 219 TH1F *fHistd0zITSMIoneSPDInAccS150200; //! output hist
220 TH1F *fHistd0zITSMIoneSPDInAccS500700; //! output hist
221 TH1F *fHistd0zITSMIoneSPDInAccS10001500; //! output hist
222 TH1F *fHistPDGMoth; //! output hist
223 TH1F *fHistPDGMoth150200; //! output hist
224 TH1F *fHistPDGMoth500700; //! output hist
225 TH1F *fHistPDGMoth10001500; //! output hist
226 TH1F *fHistPDGTrk; //! output hist
af874c53 227 TH1F *fHistITSRedChi2NonFakePt02; //! output hist
228 TH1F *fHistITSRedChi2FakePt02; //! output hist
229 TH1F *fHistITSRedChi2NonFakePt05; //! output hist
230 TH1F *fHistITSRedChi2FakePt05; //! output hist
231 TH1F *fHistITSRedChi2NonFakePt1; //! output hist
232 TH1F *fHistITSRedChi2FakePt1; //! output hist
8d63376d 233 TNtuple *fNtupleESDTracks; //! output ntuple
234 TNtuple *fNtupleITSAlignExtra; //! output ntuple
235 TNtuple *fNtupleITSAlignSPDTracklets; //! output ntuple
f8777463 236 Int_t fCountsPerPtBin[11]; // track per pt bin
237 AliESDtrackCuts *fESDtrackCutsTPC; // cuts for TPC track
238 AliESDtrackCuts *fESDtrackCutsITSTPC; // cuts for TPC+ITS track
8d63376d 239
240 private:
241
242 AliAnalysisTaskITSTrackingCheck(const AliAnalysisTaskITSTrackingCheck&); // not implemented
243 AliAnalysisTaskITSTrackingCheck& operator=(const AliAnalysisTaskITSTrackingCheck&); // not implemented
244
245
dbf573fb 246 Int_t NumberOfITSClustersMC(Int_t label,Int_t nModules=2198) const;
f8777463 247 Int_t NumberOfITSClusters(Int_t idet,Float_t &xloc) const;
8d63376d 248 Double_t ParticleImpParMC(TParticle *part,AliESDVertex *vert,Double_t bzT) const;
249 Bool_t SelectPt(Double_t pt);
f8777463 250 Int_t MakeITSflag(AliESDtrack *track) const;
5ac4a99f 251 Bool_t IsSelectedCentrality() const;
8d63376d 252
5ac4a99f 253 ClassDef(AliAnalysisTaskITSTrackingCheck,11); // ITS tracks analysis
8d63376d 254};
255
256#endif