]>
Commit | Line | Data |
---|---|---|
8d63376d | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | ///////////////////////////////////////////////////////////// | |
17 | // | |
18 | // AliAnalysisTask to extract from ESD tracks the information | |
19 | // on ITS tracking efficiency and resolutions. | |
20 | // | |
21 | // Author: A.Dainese, andrea.dainese@pd.infn.it | |
22 | ///////////////////////////////////////////////////////////// | |
23 | ||
c2893e82 | 24 | #include <TStyle.h> |
8d63376d | 25 | #include <TChain.h> |
26 | #include <TTree.h> | |
27 | #include <TNtuple.h> | |
28 | #include <TBranch.h> | |
29 | #include <TClonesArray.h> | |
30 | #include <TObjArray.h> | |
31 | #include <TH1F.h> | |
32 | #include <TH2F.h> | |
33 | #include <TCanvas.h> | |
34 | #include <TParticle.h> | |
35 | ||
36 | #include "AliAnalysisTask.h" | |
37 | #include "AliAnalysisManager.h" | |
38 | ||
39 | #include "AliMultiplicity.h" | |
40 | #include "AliVertexerTracks.h" | |
41 | #include "AliESDtrack.h" | |
42 | #include "AliExternalTrackParam.h" | |
43 | #include "AliESDVertex.h" | |
44 | #include "AliESDEvent.h" | |
45 | #include "AliESDfriend.h" | |
46 | #include "AliESDInputHandler.h" | |
47 | #include "AliESDInputHandlerRP.h" | |
f8777463 | 48 | #include "AliESDtrackCuts.h" |
8d63376d | 49 | #include "AliTrackPointArray.h" |
2308c814 | 50 | #include "../ITS/AliITSRecPoint.h" |
8d63376d | 51 | |
f8777463 | 52 | #include "AliInputEventHandler.h" |
8d63376d | 53 | #include "AliMCEventHandler.h" |
54 | #include "AliMCEvent.h" | |
55 | #include "AliStack.h" | |
56 | #include "AliLog.h" | |
57 | ||
58 | #include "AliGenEventHeader.h" | |
59 | #include "AliAnalysisTaskITSTrackingCheck.h" | |
60 | ||
61 | ||
62 | ClassImp(AliAnalysisTaskITSTrackingCheck) | |
d98a315a | 63 | AliAnalysisTaskITSTrackingCheck::AliAnalysisTaskITSTrackingCheck() : |
64 | AliAnalysisTaskSE(), | |
65 | fReadMC(kFALSE), | |
66 | fReadRPLabels(kFALSE), | |
67 | fFillNtuples(kFALSE), | |
68 | fUseITSSAforNtuples(kFALSE), | |
0e808834 | 69 | fUsePhysSel(kFALSE), |
9f024d7a | 70 | fRejPileupSPD(kFALSE), |
d98a315a | 71 | fESD(0), |
5ac4a99f | 72 | fMinMult(0), |
73 | fMaxMult(1000000), | |
d98a315a | 74 | fOutput(0), |
0e808834 | 75 | fHistNEvents(0), |
76 | fHistNEventsFrac(0), | |
d98a315a | 77 | fHistNtracks(0), |
78 | fHistNclsITSMI(0), | |
79 | fHistNclsITSSA(0), | |
80 | fHistNclsITSSAInAcc(0), | |
81 | fHistClusterMapITSMI(0), | |
0b2e8130 | 82 | fHistClusterMapITSMIokA(0), |
83 | fHistClusterMapITSMIokB(0), | |
d98a315a | 84 | fHistClusterMapITSMIok(0), |
85 | fHistClusterMapITSMIbad(0), | |
86 | fHistClusterMapITSMIskipped(0), | |
87 | fHistClusterMapITSMIoutinz(0), | |
88 | fHistClusterMapITSMInorefit(0), | |
89 | fHistClusterMapITSMInocls(0), | |
90 | fHistClusterMapITSMIokoutinzbad(0), | |
91 | fHistClusterMapITSSA(0), | |
92 | fHistClusterMapITSSAok(0), | |
93 | fHistClusterMapITSSAbad(0), | |
94 | fHistClusterMapITSSAskipped(0), | |
95 | fHistClusterMapITSSAoutinz(0), | |
96 | fHistClusterMapITSSAnorefit(0), | |
97 | fHistClusterMapITSSAnocls(0), | |
98 | fHistClusterMapITSSAokoutinzbad(0), | |
99 | fHistClusterMapITSSAInAcc(0), | |
100 | fHistClusterMapITSSAokInAcc(0), | |
101 | fHistClusterMapITSSAbadInAcc(0), | |
102 | fHistClusterMapITSSAskippedInAcc(0), | |
103 | fHistClusterMapITSSAoutinzInAcc(0), | |
104 | fHistClusterMapITSSAnorefitInAcc(0), | |
105 | fHistClusterMapITSSAnoclsInAcc(0), | |
106 | fHistClusterMapITSSAokoutinzbadInAcc(0), | |
107 | fHistClusterMapModuleITSSAokInAcc(0), | |
108 | fHistClusterMapModuleITSSAbadInAcc(0), | |
109 | fHistClusterMapModuleITSSAnoclsInAcc(0), | |
0e808834 | 110 | fHistClusterMapModuleITSMIokInAcc(0), |
111 | fHistClusterMapModuleITSMIbadInAcc(0), | |
112 | fHistClusterMapModuleITSMInoclsInAcc(0), | |
0b2e8130 | 113 | fHistNClustersMapModule(0), |
dbf573fb | 114 | fHistZatSPDouter0ok(0), |
115 | fHistZatSPDouter1ok(0), | |
116 | fHistZatSPDouter2ok(0), | |
117 | fHistZatSPDouter3ok(0), | |
118 | fHistZatSPDouter0notok(0), | |
119 | fHistZatSPDouter1notok(0), | |
120 | fHistZatSPDouter2notok(0), | |
121 | fHistZatSPDouter3notok(0), | |
0e808834 | 122 | fHistxlocSDDok(0), |
123 | fHistzlocSDDok(0), | |
124 | fHistxlocVSmodSDDok(0), | |
125 | fHistxlocSDDall(0), | |
126 | fHistzlocSDDall(0), | |
0b2e8130 | 127 | fHistxlocSDDA(0), |
128 | fHistxlocSDDB(0), | |
129 | fHistzlocSDDA(0), | |
130 | fHistzlocSDDB(0), | |
d98a315a | 131 | fHistPhiTPCInAcc(0), |
547640ff | 132 | fHistEtaTPCInAcc(0), |
0b2e8130 | 133 | fHistEtaTPCInAccA(0), |
134 | fHistEtaTPCInAccB(0), | |
135 | fHistNclsTPCInAccA(0), | |
136 | fHistNclsTPCInAccB(0), | |
137 | fHistChi2PerClsTPCInAccA(0), | |
138 | fHistChi2PerClsTPCInAccB(0), | |
139 | fHistChi2PerClsITSInAccA(0), | |
140 | fHistChi2PerClsITSInAccB(0), | |
d98a315a | 141 | fHistPtTPC(0), |
142 | fHistPtTPCInAcc(0), | |
dbf573fb | 143 | fHistPtTPCInAccMCtwoSPD(0), |
144 | fHistPtTPCInAccMConeSPD(0), | |
0e808834 | 145 | fHistdEdxVSPtTPCInAcc(0), |
146 | fHistdEdxVSPtITSTPCsel(0), | |
0b2e8130 | 147 | fHistTPCclsVSPtTPCInAcc(0), |
148 | fHistTPCclsVSPtITSMISPDInAcc(0), | |
0e808834 | 149 | fHistPtVSphiTPCInAcc(0), |
150 | fHistPtTPCInAccNoTRDout(0), | |
151 | fHistPtTPCInAccNoTOFout(0), | |
152 | fHistPtTPCInAccWithPtTPCAtInnerWall(0), | |
153 | fHistPtTPCInAccWithPtTPCAtVtx(0), | |
154 | fHistDeltaPtTPC(0), | |
155 | fHistPtTPCInAccP(0), | |
156 | fHistPtTPCInAccS(0), | |
157 | fHistPtTPCInAccPfromStrange(0), | |
158 | fHistPtTPCInAccSfromStrange(0), | |
159 | fHistPtTPCInAccSfromMat(0), | |
d98a315a | 160 | fHistPtITSMI2(0), |
161 | fHistPtITSMI3(0), | |
162 | fHistPtITSMI4(0), | |
163 | fHistPtITSMI5(0), | |
164 | fHistPtITSMI6(0), | |
165 | fHistPtITSMISPD(0), | |
166 | fHistPtITSMIoneSPD(0), | |
167 | fHistPtITSMI2InAcc(0), | |
168 | fHistPtITSMI3InAcc(0), | |
169 | fHistPtITSMI4InAcc(0), | |
170 | fHistPtITSMI5InAcc(0), | |
171 | fHistPtITSMI6InAcc(0), | |
172 | fHistPtITSMISPDInAcc(0), | |
173 | fHistPtITSMIoneSPDInAcc(0), | |
0b2e8130 | 174 | fHistPtITSMIoneSPDInAccShared(0), |
175 | fHistPtITSMIoneSPDInAccSharedSPD(0), | |
176 | fHistPtITSMISPD1InAccShared(0), | |
177 | fHistPtITSMISPD2InAccShared(0), | |
178 | fHistPtITSMIoneSPDInAccSharedFake(0), | |
179 | fHistPtITSMIoneSPDInAccSharedSPDFake(0), | |
547640ff | 180 | fHistPhiITSMI2InAcc(0), |
181 | fHistPhiITSMI3InAcc(0), | |
182 | fHistPhiITSMI4InAcc(0), | |
183 | fHistPhiITSMI5InAcc(0), | |
184 | fHistPhiITSMI6InAcc(0), | |
185 | fHistPhiITSMISPDInAcc(0), | |
186 | fHistPhiITSMIoneSPDInAcc(0), | |
187 | fHistEtaITSMI2InAcc(0), | |
188 | fHistEtaITSMI3InAcc(0), | |
189 | fHistEtaITSMI4InAcc(0), | |
190 | fHistEtaITSMI5InAcc(0), | |
191 | fHistEtaITSMI6InAcc(0), | |
192 | fHistEtaITSMISPDInAcc(0), | |
193 | fHistEtaITSMIoneSPDInAcc(0), | |
0faeb7ba | 194 | fHistPtITSMI2InAccFake(0), |
195 | fHistPtITSMI3InAccFake(0), | |
196 | fHistPtITSMI4InAccFake(0), | |
197 | fHistPtITSMI5InAccFake(0), | |
198 | fHistPtITSMI6InAccFake(0), | |
199 | fHistPtITSMISPDInAccFake(0), | |
200 | fHistPtITSMIoneSPDInAccFake(0), | |
6c6fab7b | 201 | fHistPtITSMIoneSPDthreeSDDSSDInAcc(0), |
0e808834 | 202 | fHistPtITSTPCsel(0), |
203 | fHistPtITSTPCselP(0), | |
204 | fHistPtITSTPCselS(0), | |
af874c53 | 205 | fHistPtITSTPCselFake(0), |
0e808834 | 206 | fHistPtITSTPCselPfromStrange(0), |
207 | fHistPtITSTPCselSfromStrange(0), | |
208 | fHistPtITSTPCselSfromMat(0), | |
209 | fHistPtITSMI2InAccP(0), | |
210 | fHistPtITSMI3InAccP(0), | |
211 | fHistPtITSMI4InAccP(0), | |
212 | fHistPtITSMI5InAccP(0), | |
213 | fHistPtITSMI6InAccP(0), | |
214 | fHistPtITSMISPDInAccP(0), | |
215 | fHistPtITSMIoneSPDInAccP(0), | |
216 | fHistPtITSMI2InAccS(0), | |
217 | fHistPtITSMI3InAccS(0), | |
218 | fHistPtITSMI4InAccS(0), | |
219 | fHistPtITSMI5InAccS(0), | |
220 | fHistPtITSMI6InAccS(0), | |
221 | fHistPtITSMISPDInAccS(0), | |
222 | fHistPtITSMIoneSPDInAccS(0), | |
d98a315a | 223 | fHistPtITSMIokbadoutinz6(0), |
224 | fHistPtITSMIokbadoutinz4InAcc(0), | |
225 | fHistPtITSMIokbadoutinz5InAcc(0), | |
226 | fHistPtITSMIokbadoutinz6InAcc(0), | |
227 | fHistPhiITSMIokbadoutinz6InAcc(0), | |
0e808834 | 228 | fHistRProdVtxInAccP(0), |
229 | fHistRProdVtxInAccS(0), | |
0b2e8130 | 230 | fHistd0rphiTPCInAccA(0), |
231 | fHistd0rphiTPCInAccB(0), | |
232 | fHistd0zTPCInAccA(0), | |
233 | fHistd0zTPCInAccB(0), | |
0e808834 | 234 | fHistd0rphiTPCInAccP150200(0), |
235 | fHistd0rphiTPCInAccP500700(0), | |
236 | fHistd0rphiTPCInAccP10001500(0), | |
237 | fHistd0rphiTPCInAccS150200(0), | |
238 | fHistd0rphiTPCInAccS500700(0), | |
239 | fHistd0rphiTPCInAccS10001500(0), | |
240 | fHistd0rphiITSMISPDInAccP150200(0), | |
241 | fHistd0rphiITSMISPDInAccP500700(0), | |
242 | fHistd0rphiITSMISPDInAccP10001500(0), | |
243 | fHistd0rphiITSMISPDInAccS150200(0), | |
244 | fHistd0rphiITSMISPDInAccS500700(0), | |
245 | fHistd0rphiITSMISPDInAccS10001500(0), | |
246 | fHistd0rphiITSMIoneSPDInAccP150200(0), | |
dbf573fb | 247 | fHistd0rphiITSMIoneSPDInAccP350450(0), |
0e808834 | 248 | fHistd0rphiITSMIoneSPDInAccP500700(0), |
249 | fHistd0rphiITSMIoneSPDInAccP10001500(0), | |
dbf573fb | 250 | fHistd0rphiITSMIoneSPDInAccP25004000(0), |
251 | fHistd0rphiITSMIoneSPDInAccP40008000(0), | |
0b2e8130 | 252 | fHistd0rphiITSMIoneSPDInAccA(0), |
253 | fHistd0rphiITSMIoneSPDInAccB(0), | |
254 | fHistd0zITSMIoneSPDInAccA(0), | |
255 | fHistd0zITSMIoneSPDInAccB(0), | |
0e808834 | 256 | fHistd0zITSMIoneSPDInAccP150200(0), |
257 | fHistd0zITSMIoneSPDInAccP500700(0), | |
258 | fHistd0zITSMIoneSPDInAccP10001500(0), | |
9a3cd95a | 259 | fHistd0zVSetaTPCInAccP10001500(0), |
0e808834 | 260 | fHistd0rphiVSphiITSMIoneSPDInAccP10001500(0), |
261 | fHistd0rphiVSetaITSMIoneSPDInAccP10001500(0), | |
262 | fHistd0rphiITSMIoneSPDInAccS150200(0), | |
dbf573fb | 263 | fHistd0rphiITSMIoneSPDInAccS350450(0), |
0e808834 | 264 | fHistd0rphiITSMIoneSPDInAccS500700(0), |
265 | fHistd0rphiITSMIoneSPDInAccS500700from22(0), | |
266 | fHistd0rphiITSMIoneSPDInAccS500700from211(0), | |
267 | fHistd0rphiITSMIoneSPDInAccS500700from310(0), | |
268 | fHistd0rphiITSMIoneSPDInAccS500700from321(0), | |
dbf573fb | 269 | fHistd0rphiITSMIoneSPDInAccS500700from3122(0), |
0e808834 | 270 | fHistd0rphiITSMIoneSPDInAccS10001500(0), |
dbf573fb | 271 | fHistd0rphiITSMIoneSPDInAccS25004000(0), |
272 | fHistd0rphiITSMIoneSPDInAccS40008000(0), | |
273 | fHistd0rphiITSMIoneSPDInAccS150200fromStrange(0), | |
274 | fHistd0rphiITSMIoneSPDInAccS150200fromMat(0), | |
275 | fHistd0rphiITSMIoneSPDInAccS350450fromStrange(0), | |
276 | fHistd0rphiITSMIoneSPDInAccS350450fromMat(0), | |
277 | fHistd0rphiITSMIoneSPDInAccS500700fromStrange(0), | |
278 | fHistd0rphiITSMIoneSPDInAccS500700fromMat(0), | |
279 | fHistd0rphiITSMIoneSPDInAccS10001500fromStrange(0), | |
280 | fHistd0rphiITSMIoneSPDInAccS10001500fromMat(0), | |
281 | fHistd0rphiITSMIoneSPDInAccS25004000fromStrange(0), | |
282 | fHistd0rphiITSMIoneSPDInAccS25004000fromMat(0), | |
283 | fHistd0rphiITSMIoneSPDInAccS40008000fromStrange(0), | |
284 | fHistd0rphiITSMIoneSPDInAccS40008000fromMat(0), | |
0e808834 | 285 | fHistd0zITSMIoneSPDInAccS150200(0), |
286 | fHistd0zITSMIoneSPDInAccS500700(0), | |
287 | fHistd0zITSMIoneSPDInAccS10001500(0), | |
288 | fHistPDGMoth(0), | |
289 | fHistPDGMoth150200(0), | |
290 | fHistPDGMoth500700(0), | |
291 | fHistPDGMoth10001500(0), | |
292 | fHistPDGTrk(0), | |
af874c53 | 293 | fHistITSRedChi2NonFakePt02(0), |
294 | fHistITSRedChi2FakePt02(0), | |
295 | fHistITSRedChi2NonFakePt05(0), | |
296 | fHistITSRedChi2FakePt05(0), | |
297 | fHistITSRedChi2NonFakePt1(0), | |
298 | fHistITSRedChi2FakePt1(0), | |
d98a315a | 299 | fNtupleESDTracks(0), |
300 | fNtupleITSAlignExtra(0), | |
0e808834 | 301 | fNtupleITSAlignSPDTracklets(0), |
302 | fESDtrackCutsTPC(0), | |
303 | fESDtrackCutsITSTPC(0) | |
d98a315a | 304 | { |
305 | // Constructor | |
779c3917 | 306 | for(Int_t i=0; i<11; i++) fCountsPerPtBin[i]=0; |
0b2e8130 | 307 | |
d98a315a | 308 | } |
8d63376d | 309 | |
310 | //________________________________________________________________________ | |
311 | AliAnalysisTaskITSTrackingCheck::AliAnalysisTaskITSTrackingCheck(const char *name) : | |
d98a315a | 312 | AliAnalysisTaskSE(name), |
2308c814 | 313 | fReadMC(kFALSE), |
8d63376d | 314 | fReadRPLabels(kFALSE), |
2308c814 | 315 | fFillNtuples(kFALSE), |
3f18d0a6 | 316 | fUseITSSAforNtuples(kFALSE), |
f8777463 | 317 | fUsePhysSel(kFALSE), |
9f024d7a | 318 | fRejPileupSPD(kFALSE), |
8d63376d | 319 | fESD(0), |
5ac4a99f | 320 | fMinMult(0), |
321 | fMaxMult(1000000), | |
8d63376d | 322 | fOutput(0), |
f8777463 | 323 | fHistNEvents(0), |
324 | fHistNEventsFrac(0), | |
8d63376d | 325 | fHistNtracks(0), |
326 | fHistNclsITSMI(0), | |
327 | fHistNclsITSSA(0), | |
2308c814 | 328 | fHistNclsITSSAInAcc(0), |
8d63376d | 329 | fHistClusterMapITSMI(0), |
0b2e8130 | 330 | fHistClusterMapITSMIokA(0), |
331 | fHistClusterMapITSMIokB(0), | |
8d63376d | 332 | fHistClusterMapITSMIok(0), |
333 | fHistClusterMapITSMIbad(0), | |
334 | fHistClusterMapITSMIskipped(0), | |
335 | fHistClusterMapITSMIoutinz(0), | |
336 | fHistClusterMapITSMInorefit(0), | |
337 | fHistClusterMapITSMInocls(0), | |
2308c814 | 338 | fHistClusterMapITSMIokoutinzbad(0), |
8d63376d | 339 | fHistClusterMapITSSA(0), |
340 | fHistClusterMapITSSAok(0), | |
341 | fHistClusterMapITSSAbad(0), | |
342 | fHistClusterMapITSSAskipped(0), | |
343 | fHistClusterMapITSSAoutinz(0), | |
344 | fHistClusterMapITSSAnorefit(0), | |
345 | fHistClusterMapITSSAnocls(0), | |
2308c814 | 346 | fHistClusterMapITSSAokoutinzbad(0), |
347 | fHistClusterMapITSSAInAcc(0), | |
348 | fHistClusterMapITSSAokInAcc(0), | |
349 | fHistClusterMapITSSAbadInAcc(0), | |
350 | fHistClusterMapITSSAskippedInAcc(0), | |
351 | fHistClusterMapITSSAoutinzInAcc(0), | |
352 | fHistClusterMapITSSAnorefitInAcc(0), | |
353 | fHistClusterMapITSSAnoclsInAcc(0), | |
354 | fHistClusterMapITSSAokoutinzbadInAcc(0), | |
355 | fHistClusterMapModuleITSSAokInAcc(0), | |
356 | fHistClusterMapModuleITSSAbadInAcc(0), | |
357 | fHistClusterMapModuleITSSAnoclsInAcc(0), | |
f8777463 | 358 | fHistClusterMapModuleITSMIokInAcc(0), |
359 | fHistClusterMapModuleITSMIbadInAcc(0), | |
360 | fHistClusterMapModuleITSMInoclsInAcc(0), | |
0b2e8130 | 361 | fHistNClustersMapModule(0), |
dbf573fb | 362 | fHistZatSPDouter0ok(0), |
363 | fHistZatSPDouter1ok(0), | |
364 | fHistZatSPDouter2ok(0), | |
365 | fHistZatSPDouter3ok(0), | |
366 | fHistZatSPDouter0notok(0), | |
367 | fHistZatSPDouter1notok(0), | |
368 | fHistZatSPDouter2notok(0), | |
369 | fHistZatSPDouter3notok(0), | |
f8777463 | 370 | fHistxlocSDDok(0), |
371 | fHistzlocSDDok(0), | |
372 | fHistxlocVSmodSDDok(0), | |
373 | fHistxlocSDDall(0), | |
374 | fHistzlocSDDall(0), | |
0b2e8130 | 375 | fHistxlocSDDA(0), |
376 | fHistxlocSDDB(0), | |
377 | fHistzlocSDDA(0), | |
378 | fHistzlocSDDB(0), | |
3f18d0a6 | 379 | fHistPhiTPCInAcc(0), |
547640ff | 380 | fHistEtaTPCInAcc(0), |
0b2e8130 | 381 | fHistEtaTPCInAccA(0), |
382 | fHistEtaTPCInAccB(0), | |
383 | fHistNclsTPCInAccA(0), | |
384 | fHistNclsTPCInAccB(0), | |
385 | fHistChi2PerClsTPCInAccA(0), | |
386 | fHistChi2PerClsTPCInAccB(0), | |
387 | fHistChi2PerClsITSInAccA(0), | |
388 | fHistChi2PerClsITSInAccB(0), | |
8d63376d | 389 | fHistPtTPC(0), |
3f18d0a6 | 390 | fHistPtTPCInAcc(0), |
dbf573fb | 391 | fHistPtTPCInAccMCtwoSPD(0), |
392 | fHistPtTPCInAccMConeSPD(0), | |
f8777463 | 393 | fHistdEdxVSPtTPCInAcc(0), |
394 | fHistdEdxVSPtITSTPCsel(0), | |
0b2e8130 | 395 | fHistTPCclsVSPtTPCInAcc(0), |
396 | fHistTPCclsVSPtITSMISPDInAcc(0), | |
f8777463 | 397 | fHistPtVSphiTPCInAcc(0), |
398 | fHistPtTPCInAccNoTRDout(0), | |
399 | fHistPtTPCInAccNoTOFout(0), | |
400 | fHistPtTPCInAccWithPtTPCAtInnerWall(0), | |
401 | fHistPtTPCInAccWithPtTPCAtVtx(0), | |
402 | fHistDeltaPtTPC(0), | |
403 | fHistPtTPCInAccP(0), | |
404 | fHistPtTPCInAccS(0), | |
405 | fHistPtTPCInAccPfromStrange(0), | |
406 | fHistPtTPCInAccSfromStrange(0), | |
407 | fHistPtTPCInAccSfromMat(0), | |
8d63376d | 408 | fHistPtITSMI2(0), |
409 | fHistPtITSMI3(0), | |
410 | fHistPtITSMI4(0), | |
411 | fHistPtITSMI5(0), | |
412 | fHistPtITSMI6(0), | |
413 | fHistPtITSMISPD(0), | |
7b4d74b2 | 414 | fHistPtITSMIoneSPD(0), |
3f18d0a6 | 415 | fHistPtITSMI2InAcc(0), |
416 | fHistPtITSMI3InAcc(0), | |
417 | fHistPtITSMI4InAcc(0), | |
418 | fHistPtITSMI5InAcc(0), | |
419 | fHistPtITSMI6InAcc(0), | |
420 | fHistPtITSMISPDInAcc(0), | |
7b4d74b2 | 421 | fHistPtITSMIoneSPDInAcc(0), |
0b2e8130 | 422 | fHistPtITSMIoneSPDInAccShared(0), |
423 | fHistPtITSMIoneSPDInAccSharedSPD(0), | |
424 | fHistPtITSMISPD1InAccShared(0), | |
425 | fHistPtITSMISPD2InAccShared(0), | |
426 | fHistPtITSMIoneSPDInAccSharedFake(0), | |
427 | fHistPtITSMIoneSPDInAccSharedSPDFake(0), | |
547640ff | 428 | fHistPhiITSMI2InAcc(0), |
429 | fHistPhiITSMI3InAcc(0), | |
430 | fHistPhiITSMI4InAcc(0), | |
431 | fHistPhiITSMI5InAcc(0), | |
432 | fHistPhiITSMI6InAcc(0), | |
433 | fHistPhiITSMISPDInAcc(0), | |
434 | fHistPhiITSMIoneSPDInAcc(0), | |
435 | fHistEtaITSMI2InAcc(0), | |
436 | fHistEtaITSMI3InAcc(0), | |
437 | fHistEtaITSMI4InAcc(0), | |
438 | fHistEtaITSMI5InAcc(0), | |
439 | fHistEtaITSMI6InAcc(0), | |
440 | fHistEtaITSMISPDInAcc(0), | |
441 | fHistEtaITSMIoneSPDInAcc(0), | |
0faeb7ba | 442 | fHistPtITSMI2InAccFake(0), |
443 | fHistPtITSMI3InAccFake(0), | |
444 | fHistPtITSMI4InAccFake(0), | |
445 | fHistPtITSMI5InAccFake(0), | |
446 | fHistPtITSMI6InAccFake(0), | |
447 | fHistPtITSMISPDInAccFake(0), | |
448 | fHistPtITSMIoneSPDInAccFake(0), | |
6c6fab7b | 449 | fHistPtITSMIoneSPDthreeSDDSSDInAcc(0), |
f8777463 | 450 | fHistPtITSTPCsel(0), |
451 | fHistPtITSTPCselP(0), | |
452 | fHistPtITSTPCselS(0), | |
af874c53 | 453 | fHistPtITSTPCselFake(0), |
f8777463 | 454 | fHistPtITSTPCselPfromStrange(0), |
455 | fHistPtITSTPCselSfromStrange(0), | |
456 | fHistPtITSTPCselSfromMat(0), | |
457 | fHistPtITSMI2InAccP(0), | |
458 | fHistPtITSMI3InAccP(0), | |
459 | fHistPtITSMI4InAccP(0), | |
460 | fHistPtITSMI5InAccP(0), | |
461 | fHistPtITSMI6InAccP(0), | |
462 | fHistPtITSMISPDInAccP(0), | |
463 | fHistPtITSMIoneSPDInAccP(0), | |
464 | fHistPtITSMI2InAccS(0), | |
465 | fHistPtITSMI3InAccS(0), | |
466 | fHistPtITSMI4InAccS(0), | |
467 | fHistPtITSMI5InAccS(0), | |
468 | fHistPtITSMI6InAccS(0), | |
469 | fHistPtITSMISPDInAccS(0), | |
470 | fHistPtITSMIoneSPDInAccS(0), | |
3f18d0a6 | 471 | fHistPtITSMIokbadoutinz6(0), |
c2893e82 | 472 | fHistPtITSMIokbadoutinz4InAcc(0), |
473 | fHistPtITSMIokbadoutinz5InAcc(0), | |
3f18d0a6 | 474 | fHistPtITSMIokbadoutinz6InAcc(0), |
475 | fHistPhiITSMIokbadoutinz6InAcc(0), | |
f8777463 | 476 | fHistRProdVtxInAccP(0), |
477 | fHistRProdVtxInAccS(0), | |
0b2e8130 | 478 | fHistd0rphiTPCInAccA(0), |
479 | fHistd0rphiTPCInAccB(0), | |
480 | fHistd0zTPCInAccA(0), | |
481 | fHistd0zTPCInAccB(0), | |
f8777463 | 482 | fHistd0rphiTPCInAccP150200(0), |
483 | fHistd0rphiTPCInAccP500700(0), | |
484 | fHistd0rphiTPCInAccP10001500(0), | |
485 | fHistd0rphiTPCInAccS150200(0), | |
486 | fHistd0rphiTPCInAccS500700(0), | |
487 | fHistd0rphiTPCInAccS10001500(0), | |
488 | fHistd0rphiITSMISPDInAccP150200(0), | |
489 | fHistd0rphiITSMISPDInAccP500700(0), | |
490 | fHistd0rphiITSMISPDInAccP10001500(0), | |
491 | fHistd0rphiITSMISPDInAccS150200(0), | |
492 | fHistd0rphiITSMISPDInAccS500700(0), | |
493 | fHistd0rphiITSMISPDInAccS10001500(0), | |
494 | fHistd0rphiITSMIoneSPDInAccP150200(0), | |
dbf573fb | 495 | fHistd0rphiITSMIoneSPDInAccP350450(0), |
f8777463 | 496 | fHistd0rphiITSMIoneSPDInAccP500700(0), |
497 | fHistd0rphiITSMIoneSPDInAccP10001500(0), | |
dbf573fb | 498 | fHistd0rphiITSMIoneSPDInAccP25004000(0), |
499 | fHistd0rphiITSMIoneSPDInAccP40008000(0), | |
0b2e8130 | 500 | fHistd0rphiITSMIoneSPDInAccA(0), |
501 | fHistd0rphiITSMIoneSPDInAccB(0), | |
502 | fHistd0zITSMIoneSPDInAccA(0), | |
503 | fHistd0zITSMIoneSPDInAccB(0), | |
f8777463 | 504 | fHistd0zITSMIoneSPDInAccP150200(0), |
505 | fHistd0zITSMIoneSPDInAccP500700(0), | |
506 | fHistd0zITSMIoneSPDInAccP10001500(0), | |
9a3cd95a | 507 | fHistd0zVSetaTPCInAccP10001500(0), |
f8777463 | 508 | fHistd0rphiVSphiITSMIoneSPDInAccP10001500(0), |
509 | fHistd0rphiVSetaITSMIoneSPDInAccP10001500(0), | |
510 | fHistd0rphiITSMIoneSPDInAccS150200(0), | |
dbf573fb | 511 | fHistd0rphiITSMIoneSPDInAccS350450(0), |
f8777463 | 512 | fHistd0rphiITSMIoneSPDInAccS500700(0), |
513 | fHistd0rphiITSMIoneSPDInAccS500700from22(0), | |
514 | fHistd0rphiITSMIoneSPDInAccS500700from211(0), | |
515 | fHistd0rphiITSMIoneSPDInAccS500700from310(0), | |
516 | fHistd0rphiITSMIoneSPDInAccS500700from321(0), | |
dbf573fb | 517 | fHistd0rphiITSMIoneSPDInAccS500700from3122(0), |
f8777463 | 518 | fHistd0rphiITSMIoneSPDInAccS10001500(0), |
dbf573fb | 519 | fHistd0rphiITSMIoneSPDInAccS25004000(0), |
520 | fHistd0rphiITSMIoneSPDInAccS40008000(0), | |
521 | fHistd0rphiITSMIoneSPDInAccS150200fromStrange(0), | |
522 | fHistd0rphiITSMIoneSPDInAccS150200fromMat(0), | |
523 | fHistd0rphiITSMIoneSPDInAccS350450fromStrange(0), | |
524 | fHistd0rphiITSMIoneSPDInAccS350450fromMat(0), | |
525 | fHistd0rphiITSMIoneSPDInAccS500700fromStrange(0), | |
526 | fHistd0rphiITSMIoneSPDInAccS500700fromMat(0), | |
527 | fHistd0rphiITSMIoneSPDInAccS10001500fromStrange(0), | |
528 | fHistd0rphiITSMIoneSPDInAccS10001500fromMat(0), | |
529 | fHistd0rphiITSMIoneSPDInAccS25004000fromStrange(0), | |
530 | fHistd0rphiITSMIoneSPDInAccS25004000fromMat(0), | |
531 | fHistd0rphiITSMIoneSPDInAccS40008000fromStrange(0), | |
532 | fHistd0rphiITSMIoneSPDInAccS40008000fromMat(0), | |
f8777463 | 533 | fHistd0zITSMIoneSPDInAccS150200(0), |
534 | fHistd0zITSMIoneSPDInAccS500700(0), | |
535 | fHistd0zITSMIoneSPDInAccS10001500(0), | |
536 | fHistPDGMoth(0), | |
537 | fHistPDGMoth150200(0), | |
538 | fHistPDGMoth500700(0), | |
539 | fHistPDGMoth10001500(0), | |
540 | fHistPDGTrk(0), | |
af874c53 | 541 | fHistITSRedChi2NonFakePt02(0), |
542 | fHistITSRedChi2FakePt02(0), | |
543 | fHistITSRedChi2NonFakePt05(0), | |
544 | fHistITSRedChi2FakePt05(0), | |
545 | fHistITSRedChi2NonFakePt1(0), | |
546 | fHistITSRedChi2FakePt1(0), | |
8d63376d | 547 | fNtupleESDTracks(0), |
548 | fNtupleITSAlignExtra(0), | |
f8777463 | 549 | fNtupleITSAlignSPDTracklets(0), |
550 | fESDtrackCutsTPC(0), | |
551 | fESDtrackCutsITSTPC(0) | |
8d63376d | 552 | { |
553 | // Constructor | |
554 | ||
f8777463 | 555 | for(Int_t i=0; i<11; i++) fCountsPerPtBin[i]=0; |
8d63376d | 556 | |
557 | // Define input and output slots here | |
8d63376d | 558 | // Output slot #0 writes into a TList container |
d98a315a | 559 | DefineOutput(1, TList::Class()); //My private output |
8d63376d | 560 | } |
561 | //________________________________________________________________________ | |
562 | AliAnalysisTaskITSTrackingCheck::~AliAnalysisTaskITSTrackingCheck() | |
563 | { | |
564 | // Destructor | |
565 | ||
566 | // histograms are in the output list and deleted when the output | |
567 | // list is deleted by the TSelector dtor | |
568 | ||
9c12af5f | 569 | if (fOutput && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) { |
8d63376d | 570 | delete fOutput; |
571 | fOutput = 0; | |
572 | } | |
573 | } | |
8d63376d | 574 | //________________________________________________________________________ |
d98a315a | 575 | void AliAnalysisTaskITSTrackingCheck::UserCreateOutputObjects() |
8d63376d | 576 | { |
577 | // Create histograms | |
578 | // Called once | |
579 | ||
c2893e82 | 580 | gStyle->SetHistLineWidth(2); |
581 | ||
f8777463 | 582 | Int_t nPtBins=34; |
d1d5a660 | 583 | //Float_t xPtBins[35]={0,0.025,0.05,0.075,0.08,0.125,0.15,0.175,0.2,0.225,0.25,0.275,0.280,0.325,0.35,0.375,0.4,0.45,0.55,0.7,0.75,0.9,1.2,1.7,2.5,3.5,4.5,5,6,8,13,15,23,28,35}; |
584 | Float_t xPtBins[35]={0,0.025,0.05,0.075,0.1,0.125,0.15,0.175,0.2,0.225,0.25,0.275,0.3,0.325,0.35,0.375,0.4,0.5,0.6,0.7,0.8,1.0,1.5,2.,2.5,3,4,5,6,8,10,15,20,25,30}; | |
3f18d0a6 | 585 | |
f8777463 | 586 | for(Int_t i=0; i<11; i++) fCountsPerPtBin[i]=0; |
8d63376d | 587 | |
588 | // Several histograms are more conveniently managed in a TList | |
589 | fOutput = new TList; | |
590 | fOutput->SetOwner(); | |
591 | ||
f8777463 | 592 | fHistPDGMoth = new TH1F("fHistPDGMoth","",4000,0,4000); |
593 | fOutput->Add(fHistPDGMoth); | |
594 | fHistPDGMoth150200 = new TH1F("fHistPDGMoth150200","",4000,0,4000); | |
595 | fOutput->Add(fHistPDGMoth150200); | |
596 | fHistPDGMoth500700 = new TH1F("fHistPDGMoth500700","",4000,0,4000); | |
597 | fOutput->Add(fHistPDGMoth500700); | |
598 | fHistPDGMoth10001500 = new TH1F("fHistPDGMoth10001500","",4000,0,4000); | |
599 | fOutput->Add(fHistPDGMoth10001500); | |
600 | fHistPDGTrk = new TH1F("fHistPDGTrk","",4000,0,4000); | |
601 | fOutput->Add(fHistPDGTrk); | |
602 | ||
603 | fHistNEvents = new TH1F("fHistNEvents", "Events: -1 tot, 0 sel, 1 vSPD3D, 2 vSPDZ, 3 vSPD, 4 vTRK; Type; N Events",12, -1.5, 10.5); | |
604 | fHistNEvents->SetMinimum(0); | |
605 | fOutput->Add(fHistNEvents); | |
606 | ||
607 | fHistNEventsFrac = (TH1F*)fHistNEvents->Clone("fHistNEventsFrac"); | |
608 | fOutput->Add(fHistNEventsFrac); | |
609 | ||
8d63376d | 610 | fHistNtracks = new TH1F("fHistNtracks", "N ESD tracks; N tracks; Events",5000, -0.5, 4999.5); |
611 | fHistNtracks->Sumw2(); | |
612 | fHistNtracks->SetMinimum(0); | |
613 | fOutput->Add(fHistNtracks); | |
614 | ||
615 | fHistNclsITSMI = new TH1F("fHistNclsITSMI", "N ITS clusters per track (MI); N clusters; Counts",7, -0.5, 6.5); | |
616 | fHistNclsITSMI->Sumw2(); | |
617 | fHistNclsITSMI->SetMinimum(0); | |
618 | fOutput->Add(fHistNclsITSMI); | |
619 | ||
2308c814 | 620 | fHistNclsITSSAInAcc = new TH1F("fHistNclsITSSAInAcc", "N ITS clusters per track (SA); N clusters; Counts",7, -0.5, 6.5); |
621 | fHistNclsITSSAInAcc->Sumw2(); | |
622 | fHistNclsITSSAInAcc->SetMinimum(0); | |
623 | fOutput->Add(fHistNclsITSSAInAcc); | |
624 | ||
8d63376d | 625 | fHistNclsITSSA = new TH1F("fHistNclsITSSA", "N ITS clusters per track (SA); N clusters; Counts",7, -0.5, 6.5); |
626 | fHistNclsITSSA->Sumw2(); | |
627 | fHistNclsITSSA->SetMinimum(0); | |
628 | fOutput->Add(fHistNclsITSSA); | |
629 | ||
630 | fHistClusterMapITSMI = new TH1F("fHistClusterMapITSMI", "N tracks with point on Layer (MI); Layer; N tracks",6, -0.5, 5.5); | |
631 | fHistClusterMapITSMI->Sumw2(); | |
632 | fHistClusterMapITSMI->SetMinimum(0); | |
633 | fOutput->Add(fHistClusterMapITSMI); | |
634 | ||
635 | fHistClusterMapITSSA = new TH1F("fHistClusterMapITSSA", "N tracks with point on Layer (SA); Layer; N tracks",6, -0.5, 5.5); | |
636 | fHistClusterMapITSSA->Sumw2(); | |
637 | fHistClusterMapITSSA->SetMinimum(0); | |
638 | fOutput->Add(fHistClusterMapITSSA); | |
639 | ||
2308c814 | 640 | fHistClusterMapITSSAInAcc = new TH1F("fHistClusterMapITSSAInAcc", "N tracks with point on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
641 | fHistClusterMapITSSAInAcc->Sumw2(); | |
642 | fHistClusterMapITSSAInAcc->SetMinimum(0); | |
643 | fOutput->Add(fHistClusterMapITSSAInAcc); | |
644 | ||
8d63376d | 645 | fHistClusterMapITSMIok = new TH1F("fHistClusterMapITSMIok", "N tracks with ok on Layer (MI); Layer; N tracks",6, -0.5, 5.5); |
646 | fHistClusterMapITSMIok->Sumw2(); | |
647 | fHistClusterMapITSMIok->SetMinimum(0); | |
648 | fOutput->Add(fHistClusterMapITSMIok); | |
649 | ||
0b2e8130 | 650 | fHistClusterMapITSMIokA = new TH1F("fHistClusterMapITSMIokA", "N tracks with ok on Layer (MI); Layer; N tracks",6, -0.5, 5.5); |
651 | fHistClusterMapITSMIokA->Sumw2(); | |
652 | fHistClusterMapITSMIokA->SetMinimum(0); | |
653 | fOutput->Add(fHistClusterMapITSMIokA); | |
654 | ||
655 | fHistClusterMapITSMIokB = new TH1F("fHistClusterMapITSMIokB", "N tracks with ok on Layer (MI); Layer; N tracks",6, -0.5, 5.5); | |
656 | fHistClusterMapITSMIokB->Sumw2(); | |
657 | fHistClusterMapITSMIokB->SetMinimum(0); | |
658 | fOutput->Add(fHistClusterMapITSMIokB); | |
659 | ||
660 | ||
2308c814 | 661 | fHistClusterMapITSSAokInAcc = new TH1F("fHistClusterMapITSSAokInAcc", "N tracks with ok on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
662 | fHistClusterMapITSSAokInAcc->Sumw2(); | |
663 | fHistClusterMapITSSAokInAcc->SetMinimum(0); | |
664 | fOutput->Add(fHistClusterMapITSSAokInAcc); | |
665 | ||
666 | fHistClusterMapModuleITSSAokInAcc = new TH1F("fHistClusterMapModuleITSSAokInAcc", "N tracks with ok on Module (SA); Module; N tracks",2198, -0.5, 2197.5); | |
667 | fHistClusterMapModuleITSSAokInAcc->SetMinimum(0); | |
668 | fOutput->Add(fHistClusterMapModuleITSSAokInAcc); | |
669 | ||
f8777463 | 670 | fHistClusterMapModuleITSMIokInAcc = new TH1F("fHistClusterMapModuleITSMIokInAcc", "N tracks with ok on Module (MI); Module; N tracks",2198, -0.5, 2197.5); |
671 | fHistClusterMapModuleITSMIokInAcc->SetMinimum(0); | |
672 | fOutput->Add(fHistClusterMapModuleITSMIokInAcc); | |
673 | ||
0b2e8130 | 674 | fHistNClustersMapModule = new TH1F("fHistNClustersMapModule", "N clusters; Module; N tracks",2198, -0.5, 2197.5); |
675 | fHistNClustersMapModule->SetMinimum(0); | |
676 | fOutput->Add(fHistNClustersMapModule); | |
677 | ||
8d63376d | 678 | fHistClusterMapITSSAok = new TH1F("fHistClusterMapITSSAok", "N tracks with ok on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
679 | fHistClusterMapITSSAok->Sumw2(); | |
680 | fHistClusterMapITSSAok->SetMinimum(0); | |
681 | fOutput->Add(fHistClusterMapITSSAok); | |
682 | ||
683 | fHistClusterMapITSMIbad = new TH1F("fHistClusterMapITSMIbad", "N tracks with bad on Layer (MI); Layer; N tracks",6, -0.5, 5.5); | |
684 | fHistClusterMapITSMIbad->Sumw2(); | |
685 | fHistClusterMapITSMIbad->SetMinimum(0); | |
686 | fOutput->Add(fHistClusterMapITSMIbad); | |
687 | ||
2308c814 | 688 | fHistClusterMapITSSAbadInAcc = new TH1F("fHistClusterMapITSSAbadInAcc", "N tracks with bad on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
689 | fHistClusterMapITSSAbadInAcc->Sumw2(); | |
690 | fHistClusterMapITSSAbadInAcc->SetMinimum(0); | |
691 | fOutput->Add(fHistClusterMapITSSAbadInAcc); | |
692 | ||
693 | fHistClusterMapModuleITSSAbadInAcc = new TH1F("fHistClusterMapModuleITSSAbadInAcc", "N tracks with bad on Module (SA); Module; N tracks",2198, -0.5, 2197.5); | |
694 | fHistClusterMapModuleITSSAbadInAcc->SetMinimum(0); | |
695 | fOutput->Add(fHistClusterMapModuleITSSAbadInAcc); | |
696 | ||
f8777463 | 697 | fHistClusterMapModuleITSMIbadInAcc = new TH1F("fHistClusterMapModuleITSMIbadInAcc", "N tracks with bad on Module (MI); Module; N tracks",2198, -0.5, 2197.5); |
698 | fHistClusterMapModuleITSMIbadInAcc->SetMinimum(0); | |
699 | fOutput->Add(fHistClusterMapModuleITSMIbadInAcc); | |
700 | ||
8d63376d | 701 | fHistClusterMapITSSAbad = new TH1F("fHistClusterMapITSSAbad", "N tracks with bad on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
702 | fHistClusterMapITSSAbad->Sumw2(); | |
703 | fHistClusterMapITSSAbad->SetMinimum(0); | |
704 | fOutput->Add(fHistClusterMapITSSAbad); | |
705 | ||
706 | fHistClusterMapITSMIskipped = new TH1F("fHistClusterMapITSMIskipped", "N tracks with skip on Layer (MI); Layer; N tracks",6, -0.5, 5.5); | |
707 | fHistClusterMapITSMIskipped->Sumw2(); | |
708 | fHistClusterMapITSMIskipped->SetMinimum(0); | |
709 | fOutput->Add(fHistClusterMapITSMIskipped); | |
710 | ||
2308c814 | 711 | fHistClusterMapITSSAskippedInAcc = new TH1F("fHistClusterMapITSSAskippedInAcc", "N tracks with skip on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
712 | fHistClusterMapITSSAskippedInAcc->Sumw2(); | |
713 | fHistClusterMapITSSAskippedInAcc->SetMinimum(0); | |
714 | fOutput->Add(fHistClusterMapITSSAskippedInAcc); | |
715 | ||
8d63376d | 716 | fHistClusterMapITSSAskipped = new TH1F("fHistClusterMapITSSAskipped", "N tracks with skip on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
717 | fHistClusterMapITSSAskipped->Sumw2(); | |
718 | fHistClusterMapITSSAskipped->SetMinimum(0); | |
719 | fOutput->Add(fHistClusterMapITSSAskipped); | |
720 | ||
721 | fHistClusterMapITSMIoutinz = new TH1F("fHistClusterMapITSMIoutinz", "N tracks out in z on Layer (MI); Layer; N tracks",6, -0.5, 5.5); | |
722 | fHistClusterMapITSMIoutinz->Sumw2(); | |
723 | fHistClusterMapITSMIoutinz->SetMinimum(0); | |
724 | fOutput->Add(fHistClusterMapITSMIoutinz); | |
725 | ||
2308c814 | 726 | fHistClusterMapITSSAoutinzInAcc = new TH1F("fHistClusterMapITSSAoutinzInAcc", "N tracks with out in z on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
727 | fHistClusterMapITSSAoutinzInAcc->Sumw2(); | |
728 | fHistClusterMapITSSAoutinzInAcc->SetMinimum(0); | |
729 | fOutput->Add(fHistClusterMapITSSAoutinzInAcc); | |
730 | ||
8d63376d | 731 | fHistClusterMapITSSAoutinz = new TH1F("fHistClusterMapITSSAoutinz", "N tracks with out in z on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
732 | fHistClusterMapITSSAoutinz->Sumw2(); | |
733 | fHistClusterMapITSSAoutinz->SetMinimum(0); | |
734 | fOutput->Add(fHistClusterMapITSSAoutinz); | |
735 | ||
2308c814 | 736 | fHistClusterMapITSSAokoutinzbad = new TH1F("fHistClusterMapITSSAokoutinzbad", "N tracks with cluster or bad zone or out in z (SA); Layer; N tracks",6, -0.5, 5.5); |
737 | fHistClusterMapITSSAokoutinzbad->Sumw2(); | |
738 | fHistClusterMapITSSAokoutinzbad->SetMinimum(0); | |
739 | fOutput->Add(fHistClusterMapITSSAokoutinzbad); | |
740 | ||
741 | fHistClusterMapITSMIokoutinzbad = new TH1F("fHistClusterMapITSMIokoutinzbad", "N tracks with cluster or bad zone or out in z (MI); Layer; N tracks",6, -0.5, 5.5); | |
742 | fHistClusterMapITSMIokoutinzbad->Sumw2(); | |
743 | fHistClusterMapITSMIokoutinzbad->SetMinimum(0); | |
744 | fOutput->Add(fHistClusterMapITSMIokoutinzbad); | |
745 | ||
746 | fHistClusterMapITSSAokoutinzbadInAcc = new TH1F("fHistClusterMapITSSAokoutinzbadInAcc", "N tracks with cluster or bad zone or out in z (SA); Layer; N tracks",6, -0.5, 5.5); | |
747 | fHistClusterMapITSSAokoutinzbadInAcc->Sumw2(); | |
748 | fHistClusterMapITSSAokoutinzbadInAcc->SetMinimum(0); | |
749 | fOutput->Add(fHistClusterMapITSSAokoutinzbadInAcc); | |
750 | ||
8d63376d | 751 | fHistClusterMapITSMInorefit = new TH1F("fHistClusterMapITSMInorefit", "N tracks with norefit on Layer (MI); Layer; N tracks",6, -0.5, 5.5); |
752 | fHistClusterMapITSMInorefit->Sumw2(); | |
753 | fHistClusterMapITSMInorefit->SetMinimum(0); | |
754 | fOutput->Add(fHistClusterMapITSMInorefit); | |
755 | ||
2308c814 | 756 | fHistClusterMapITSSAnorefitInAcc = new TH1F("fHistClusterMapITSSAnorefitInAcc", "N tracks with norefit on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
757 | fHistClusterMapITSSAnorefitInAcc->Sumw2(); | |
758 | fHistClusterMapITSSAnorefitInAcc->SetMinimum(0); | |
759 | fOutput->Add(fHistClusterMapITSSAnorefitInAcc); | |
760 | ||
8d63376d | 761 | fHistClusterMapITSSAnorefit = new TH1F("fHistClusterMapITSSAnorefit", "N tracks with norefit on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
762 | fHistClusterMapITSSAnorefit->Sumw2(); | |
763 | fHistClusterMapITSSAnorefit->SetMinimum(0); | |
764 | fOutput->Add(fHistClusterMapITSSAnorefit); | |
765 | ||
766 | fHistClusterMapITSMInocls = new TH1F("fHistClusterMapITSMInocls", "N tracks with nocls on Layer (MI); Layer; N tracks",6, -0.5, 5.5); | |
767 | fHistClusterMapITSMInocls->Sumw2(); | |
768 | fHistClusterMapITSMInocls->SetMinimum(0); | |
769 | fOutput->Add(fHistClusterMapITSMInocls); | |
770 | ||
2308c814 | 771 | fHistClusterMapITSSAnoclsInAcc = new TH1F("fHistClusterMapITSSAnoclsInAcc", "N tracks with nocls on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
772 | fHistClusterMapITSSAnoclsInAcc->Sumw2(); | |
773 | fHistClusterMapITSSAnoclsInAcc->SetMinimum(0); | |
774 | fOutput->Add(fHistClusterMapITSSAnoclsInAcc); | |
775 | ||
776 | fHistClusterMapModuleITSSAnoclsInAcc = new TH1F("fHistClusterMapModuleITSSAnoclsInAcc", "N tracks with nocls on Module (SA); Module; N tracks",2198, -0.5, 2197.5); | |
777 | fHistClusterMapModuleITSSAnoclsInAcc->SetMinimum(0); | |
778 | fOutput->Add(fHistClusterMapModuleITSSAnoclsInAcc); | |
779 | ||
f8777463 | 780 | fHistClusterMapModuleITSMInoclsInAcc = new TH1F("fHistClusterMapModuleITSMInoclsInAcc", "N tracks with nocls on Module (MI); Module; N tracks",2198, -0.5, 2197.5); |
781 | fHistClusterMapModuleITSMInoclsInAcc->SetMinimum(0); | |
782 | fOutput->Add(fHistClusterMapModuleITSMInoclsInAcc); | |
783 | ||
8d63376d | 784 | fHistClusterMapITSSAnocls = new TH1F("fHistClusterMapITSSAnocls", "N tracks with nocls on Layer (SA); Layer; N tracks",6, -0.5, 5.5); |
785 | fHistClusterMapITSSAnocls->Sumw2(); | |
786 | fHistClusterMapITSSAnocls->SetMinimum(0); | |
787 | fOutput->Add(fHistClusterMapITSSAnocls); | |
788 | ||
dbf573fb | 789 | |
790 | fHistZatSPDouter0ok = new TH1F("fHistZatSPDouter0ok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16); | |
791 | fHistZatSPDouter0ok->Sumw2(); | |
792 | fHistZatSPDouter0ok->SetMinimum(0); | |
793 | fOutput->Add(fHistZatSPDouter0ok); | |
794 | fHistZatSPDouter1ok = new TH1F("fHistZatSPDouter1ok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16); | |
795 | fHistZatSPDouter1ok->Sumw2(); | |
796 | fHistZatSPDouter1ok->SetMinimum(0); | |
797 | fOutput->Add(fHistZatSPDouter1ok); | |
798 | fHistZatSPDouter2ok = new TH1F("fHistZatSPDouter2ok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16); | |
799 | fHistZatSPDouter2ok->Sumw2(); | |
800 | fHistZatSPDouter2ok->SetMinimum(0); | |
801 | fOutput->Add(fHistZatSPDouter2ok); | |
802 | fHistZatSPDouter3ok = new TH1F("fHistZatSPDouter3ok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16); | |
803 | fHistZatSPDouter3ok->Sumw2(); | |
804 | fHistZatSPDouter3ok->SetMinimum(0); | |
805 | fOutput->Add(fHistZatSPDouter3ok); | |
806 | fHistZatSPDouter0notok = new TH1F("fHistZatSPDouter0notok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16); | |
807 | fHistZatSPDouter0notok->Sumw2(); | |
808 | fHistZatSPDouter0notok->SetMinimum(0); | |
809 | fOutput->Add(fHistZatSPDouter0notok); | |
810 | fHistZatSPDouter1notok = new TH1F("fHistZatSPDouter1notok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16); | |
811 | fHistZatSPDouter1notok->Sumw2(); | |
812 | fHistZatSPDouter1notok->SetMinimum(0); | |
813 | fOutput->Add(fHistZatSPDouter1notok); | |
814 | fHistZatSPDouter2notok = new TH1F("fHistZatSPDouter2notok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16); | |
815 | fHistZatSPDouter2notok->Sumw2(); | |
816 | fHistZatSPDouter2notok->SetMinimum(0); | |
817 | fOutput->Add(fHistZatSPDouter2notok); | |
818 | fHistZatSPDouter3notok = new TH1F("fHistZatSPDouter3notok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16); | |
819 | fHistZatSPDouter3notok->Sumw2(); | |
820 | fHistZatSPDouter3notok->SetMinimum(0); | |
821 | fOutput->Add(fHistZatSPDouter3notok); | |
822 | ||
f8777463 | 823 | fHistxlocSDDok = new TH1F("fHistxlocSDDok", "SDD points; xloc [cm]; N tracks",75, -3.75, 3.75); |
824 | fHistxlocSDDok->Sumw2(); | |
825 | fHistxlocSDDok->SetMinimum(0); | |
826 | fOutput->Add(fHistxlocSDDok); | |
827 | ||
828 | fHistxlocVSmodSDDok = new TH2F("fHistxlocVSmodSDDok", "SDD points; module; xloc [cm]",260,239.5,499.5,25, -3.75, 3.75); | |
829 | fOutput->Add(fHistxlocVSmodSDDok); | |
830 | ||
831 | fHistzlocSDDok = new TH1F("fHistzlocSDDok", "SDD points; zloc [cm]; N tracks",77, -3.85, 3.85); | |
832 | fHistzlocSDDok->Sumw2(); | |
833 | fHistzlocSDDok->SetMinimum(0); | |
834 | fOutput->Add(fHistzlocSDDok); | |
835 | ||
836 | fHistxlocSDDall = new TH1F("fHistxlocSDDall", "SDD points; xloc [cm]; N tracks",75, -3.75, 3.75); | |
837 | fHistxlocSDDall->Sumw2(); | |
838 | fHistxlocSDDall->SetMinimum(0); | |
839 | fOutput->Add(fHistxlocSDDall); | |
840 | ||
841 | fHistzlocSDDall = new TH1F("fHistzlocSDDall", "SDD points; zloc [cm]; N tracks",77, -3.85, 3.85); | |
842 | fHistzlocSDDall->Sumw2(); | |
843 | fHistzlocSDDall->SetMinimum(0); | |
844 | fOutput->Add(fHistzlocSDDall); | |
0b2e8130 | 845 | |
846 | fHistxlocSDDA = new TH1F("fHistxlocSDDA", "SDD points; xloc [cm]; N tracks",75, -3.75, 3.75); | |
847 | fHistxlocSDDA->Sumw2(); | |
848 | fHistxlocSDDA->SetMinimum(0); | |
849 | fOutput->Add(fHistxlocSDDA); | |
850 | ||
851 | fHistzlocSDDA = new TH1F("fHistzlocSDDA", "SDD points; zloc [cm]; N tracks",77, -3.85, 3.85); | |
852 | fHistzlocSDDA->Sumw2(); | |
853 | fHistzlocSDDA->SetMinimum(0); | |
854 | fOutput->Add(fHistzlocSDDA); | |
855 | ||
856 | fHistxlocSDDB = new TH1F("fHistxlocSDDB", "SDD points; xloc [cm]; N tracks",75, -3.75, 3.75); | |
857 | fHistxlocSDDB->Sumw2(); | |
858 | fHistxlocSDDB->SetMinimum(0); | |
859 | fOutput->Add(fHistxlocSDDB); | |
860 | ||
861 | fHistzlocSDDB = new TH1F("fHistzlocSDDB", "SDD points; zloc [cm]; N tracks",77, -3.85, 3.85); | |
862 | fHistzlocSDDB->Sumw2(); | |
863 | fHistzlocSDDB->SetMinimum(0); | |
864 | fOutput->Add(fHistzlocSDDB); | |
f8777463 | 865 | |
866 | ||
3f18d0a6 | 867 | fHistPhiTPCInAcc = new TH1F("fHistPhiTPCInAcc","Azimuthal distribution of TPC tracks; #phi; N tracks",100, 0, 2.*3.1415); |
868 | fHistPhiTPCInAcc->Sumw2(); | |
869 | fHistPhiTPCInAcc->SetMinimum(0); | |
870 | fOutput->Add(fHistPhiTPCInAcc); | |
871 | ||
547640ff | 872 | fHistEtaTPCInAcc = new TH1F("fHistEtaTPCInAcc","Eta distribution of TPC tracks; #eta; N tracks",100, -1.5, +1.5); |
873 | fHistEtaTPCInAcc->Sumw2(); | |
874 | fHistEtaTPCInAcc->SetMinimum(0); | |
875 | fOutput->Add(fHistEtaTPCInAcc); | |
876 | ||
0b2e8130 | 877 | fHistEtaTPCInAccA = new TH1F("fHistEtaTPCInAccA","Eta distribution of TPC tracks; #eta; N tracks",100, -1.5, +1.5); |
878 | fHistEtaTPCInAccA->Sumw2(); | |
879 | fHistEtaTPCInAccA->SetMinimum(0); | |
880 | fOutput->Add(fHistEtaTPCInAccA); | |
881 | ||
882 | fHistEtaTPCInAccB = new TH1F("fHistEtaTPCInAccB","Eta distribution of TPC tracks; #eta; N tracks",100, -1.5, +1.5); | |
883 | fHistEtaTPCInAccB->Sumw2(); | |
884 | fHistEtaTPCInAccB->SetMinimum(0); | |
885 | fOutput->Add(fHistEtaTPCInAccB); | |
886 | ||
887 | fHistNclsTPCInAccA = new TH1F("fHistNclsTPCInAccA","Ncls distribution of TPC tracks; #eta; N tracks",80, -0.5,159.5); | |
888 | fHistNclsTPCInAccA->Sumw2(); | |
889 | fHistNclsTPCInAccA->SetMinimum(0); | |
890 | fOutput->Add(fHistNclsTPCInAccA); | |
891 | ||
892 | fHistNclsTPCInAccB = new TH1F("fHistNclsTPCInAccB","Ncls distribution of TPC tracks; #eta; N tracks",80, -0.5,159.5); | |
893 | fHistNclsTPCInAccB->Sumw2(); | |
894 | fHistNclsTPCInAccB->SetMinimum(0); | |
895 | fOutput->Add(fHistNclsTPCInAccB); | |
896 | ||
897 | fHistChi2PerClsTPCInAccA = new TH1F("fHistChi2PerClsTPCInAccA","Chi2PerCls distribution of TPC tracks; #eta; N tracks",100,0,20); | |
898 | fHistChi2PerClsTPCInAccA->Sumw2(); | |
899 | fHistChi2PerClsTPCInAccA->SetMinimum(0); | |
900 | fOutput->Add(fHistChi2PerClsTPCInAccA); | |
901 | ||
902 | fHistChi2PerClsTPCInAccB = new TH1F("fHistChi2PerClsTPCInAccB","Chi2PerCls distribution of TPC tracks; #eta; N tracks",100,0,20); | |
903 | fHistChi2PerClsTPCInAccB->Sumw2(); | |
904 | fHistChi2PerClsTPCInAccB->SetMinimum(0); | |
905 | fOutput->Add(fHistChi2PerClsTPCInAccB); | |
906 | ||
907 | fHistChi2PerClsITSInAccA = new TH1F("fHistChi2PerClsITSInAccA","Chi2PerCls distribution of ITS tracks; #eta; N tracks",100,0,20); | |
908 | fHistChi2PerClsITSInAccA->Sumw2(); | |
909 | fHistChi2PerClsITSInAccA->SetMinimum(0); | |
910 | fOutput->Add(fHistChi2PerClsITSInAccA); | |
911 | ||
912 | fHistChi2PerClsITSInAccB = new TH1F("fHistChi2PerClsITSInAccB","Chi2PerCls distribution of ITS tracks; #eta; N tracks",100,0,20); | |
913 | fHistChi2PerClsITSInAccB->Sumw2(); | |
914 | fHistChi2PerClsITSInAccB->SetMinimum(0); | |
915 | fOutput->Add(fHistChi2PerClsITSInAccB); | |
916 | ||
3f18d0a6 | 917 | fHistPhiITSMIokbadoutinz6InAcc = new TH1F("fHistPhiITSMIokbadoutinz6InAcc","Azimuthal distribution of ITSMI tracks with 6 layers OK; #phi; N tracks",100,0,2.*3.1415); |
918 | fHistPhiITSMIokbadoutinz6InAcc->Sumw2(); | |
919 | fHistPhiITSMIokbadoutinz6InAcc->SetMinimum(0); | |
920 | fOutput->Add(fHistPhiITSMIokbadoutinz6InAcc); | |
8d63376d | 921 | |
3f18d0a6 | 922 | fHistPtTPC = new TH1F("fHistPtTPC","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
8d63376d | 923 | fHistPtTPC->Sumw2(); |
924 | fHistPtTPC->SetMinimum(0); | |
925 | fOutput->Add(fHistPtTPC); | |
926 | ||
3f18d0a6 | 927 | fHistPtITSMI6 = new TH1F("fHistPtITSMI6","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
8d63376d | 928 | fHistPtITSMI6->Sumw2(); |
929 | fHistPtITSMI6->SetMinimum(0); | |
930 | fOutput->Add(fHistPtITSMI6); | |
931 | ||
3f18d0a6 | 932 | fHistPtITSMI5 = new TH1F("fHistPtITSMI5","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
8d63376d | 933 | fHistPtITSMI5->Sumw2(); |
934 | fHistPtITSMI5->SetMinimum(0); | |
935 | fOutput->Add(fHistPtITSMI5); | |
936 | ||
3f18d0a6 | 937 | fHistPtITSMI4 = new TH1F("fHistPtITSMI4","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
8d63376d | 938 | fHistPtITSMI4->Sumw2(); |
939 | fHistPtITSMI4->SetMinimum(0); | |
940 | fOutput->Add(fHistPtITSMI4); | |
941 | ||
3f18d0a6 | 942 | fHistPtITSMI3 = new TH1F("fHistPtITSMI3","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
8d63376d | 943 | fHistPtITSMI3->Sumw2(); |
944 | fHistPtITSMI3->SetMinimum(0); | |
945 | fOutput->Add(fHistPtITSMI3); | |
946 | ||
3f18d0a6 | 947 | fHistPtITSMI2 = new TH1F("fHistPtITSMI2","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
8d63376d | 948 | fHistPtITSMI2->Sumw2(); |
949 | fHistPtITSMI2->SetMinimum(0); | |
950 | fOutput->Add(fHistPtITSMI2); | |
951 | ||
3f18d0a6 | 952 | fHistPtITSMISPD = new TH1F("fHistPtITSMISPD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
8d63376d | 953 | fHistPtITSMISPD->Sumw2(); |
954 | fHistPtITSMISPD->SetMinimum(0); | |
955 | fOutput->Add(fHistPtITSMISPD); | |
3f18d0a6 | 956 | |
7b4d74b2 | 957 | fHistPtITSMIoneSPD = new TH1F("fHistPtITSMIoneSPD","pt distribution of ITSMIoneSPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
958 | fHistPtITSMIoneSPD->Sumw2(); | |
959 | fHistPtITSMIoneSPD->SetMinimum(0); | |
960 | fOutput->Add(fHistPtITSMIoneSPD); | |
961 | ||
3f18d0a6 | 962 | fHistPtTPCInAcc = new TH1F("fHistPtTPCInAcc","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
963 | fHistPtTPCInAcc->Sumw2(); | |
964 | fHistPtTPCInAcc->SetMinimum(0); | |
965 | fOutput->Add(fHistPtTPCInAcc); | |
966 | ||
dbf573fb | 967 | fHistPtTPCInAccMCtwoSPD = new TH1F("fHistPtTPCInAccMCtwoSPD","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
968 | fHistPtTPCInAccMCtwoSPD->Sumw2(); | |
969 | fHistPtTPCInAccMCtwoSPD->SetMinimum(0); | |
970 | fOutput->Add(fHistPtTPCInAccMCtwoSPD); | |
971 | ||
972 | fHistPtTPCInAccMConeSPD = new TH1F("fHistPtTPCInAccMConeSPD","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
973 | fHistPtTPCInAccMConeSPD->Sumw2(); | |
974 | fHistPtTPCInAccMConeSPD->SetMinimum(0); | |
975 | fOutput->Add(fHistPtTPCInAccMConeSPD); | |
976 | ||
f8777463 | 977 | fHistdEdxVSPtTPCInAcc = new TH2F("fHistdEdxVSPtTPCInAcc","dE/dx distribution of TPC tracks; p_{t} [GeV/c]; TPC dE/dx",100,0,1,50,0,500); |
978 | fOutput->Add(fHistdEdxVSPtTPCInAcc); | |
979 | ||
980 | fHistdEdxVSPtITSTPCsel = new TH2F("fHistdEdxVSPtITSTPCsel","dE/dx distribution of TPC tracks; p_{t} [GeV/c]; ITS dE/dx",100,0,1,50,0,500); | |
981 | fOutput->Add(fHistdEdxVSPtITSTPCsel); | |
982 | ||
0b2e8130 | 983 | fHistTPCclsVSPtTPCInAcc = new TH2F("fHistTPCclsVSPtTPCInAcc","TPC ncls; p_{t} [GeV/c]; nclsTPC",50,0,10,80,0,160); |
984 | fOutput->Add(fHistTPCclsVSPtTPCInAcc); | |
985 | fHistTPCclsVSPtITSMISPDInAcc = new TH2F("fHistTPCclsVSPtITSMISPDInAcc","TPC ncls; p_{t} [GeV/c]; nclsTPC",50,0,10,80,0,160); | |
986 | fOutput->Add(fHistTPCclsVSPtITSMISPDInAcc); | |
987 | ||
f8777463 | 988 | fHistPtVSphiTPCInAcc = new TH2F("fHistPtVSphiTPCInAcc","pt distribution of TPC tracks; phi; p_{t} [GeV/c]",18,0,6.28,20,0,0.5); |
989 | fHistPtVSphiTPCInAcc->SetMinimum(0); | |
990 | fOutput->Add(fHistPtVSphiTPCInAcc); | |
991 | ||
992 | fHistPtTPCInAccNoTRDout = new TH1F("fHistPtTPCInAccNoTRDout","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
993 | fHistPtTPCInAccNoTRDout->Sumw2(); | |
994 | fHistPtTPCInAccNoTRDout->SetMinimum(0); | |
995 | fOutput->Add(fHistPtTPCInAccNoTRDout); | |
996 | ||
997 | fHistPtTPCInAccNoTOFout = new TH1F("fHistPtTPCInAccNoTOFout","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
998 | fHistPtTPCInAccNoTOFout->Sumw2(); | |
999 | fHistPtTPCInAccNoTOFout->SetMinimum(0); | |
1000 | fOutput->Add(fHistPtTPCInAccNoTOFout); | |
1001 | ||
1002 | fHistPtTPCInAccWithPtTPCAtVtx = new TH1F("fHistPtTPCInAccWithPtTPCAtVtx","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1003 | fHistPtTPCInAccWithPtTPCAtVtx->Sumw2(); | |
1004 | fHistPtTPCInAccWithPtTPCAtVtx->SetMinimum(0); | |
1005 | fOutput->Add(fHistPtTPCInAccWithPtTPCAtVtx); | |
1006 | ||
1007 | fHistPtTPCInAccWithPtTPCAtInnerWall = new TH1F("fHistPtTPCInAccWithPtTPCAtInnerWall","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1008 | fHistPtTPCInAccWithPtTPCAtInnerWall->Sumw2(); | |
1009 | fHistPtTPCInAccWithPtTPCAtInnerWall->SetMinimum(0); | |
1010 | fOutput->Add(fHistPtTPCInAccWithPtTPCAtInnerWall); | |
1011 | ||
dbf573fb | 1012 | fHistDeltaPtTPC = new TH2F("fHistDeltaPtTPC","pt distribution of TPC tracks; p_{t} [GeV/c]; p_{t} TPC at vtx - p_{t} at inner wall [GeV/c]",100,0,1,50,-0.2,0.2); |
f8777463 | 1013 | fHistDeltaPtTPC->SetMinimum(0); |
1014 | fOutput->Add(fHistDeltaPtTPC); | |
1015 | ||
3f18d0a6 | 1016 | fHistPtITSMI6InAcc = new TH1F("fHistPtITSMI6InAcc","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1017 | fHistPtITSMI6InAcc->Sumw2(); | |
1018 | fHistPtITSMI6InAcc->SetMinimum(0); | |
1019 | fOutput->Add(fHistPtITSMI6InAcc); | |
1020 | ||
1021 | fHistPtITSMI5InAcc = new TH1F("fHistPtITSMI5InAcc","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1022 | fHistPtITSMI5InAcc->Sumw2(); | |
1023 | fHistPtITSMI5InAcc->SetMinimum(0); | |
1024 | fOutput->Add(fHistPtITSMI5InAcc); | |
1025 | ||
1026 | fHistPtITSMI4InAcc = new TH1F("fHistPtITSMI4InAcc","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1027 | fHistPtITSMI4InAcc->Sumw2(); | |
1028 | fHistPtITSMI4InAcc->SetMinimum(0); | |
1029 | fOutput->Add(fHistPtITSMI4InAcc); | |
8d63376d | 1030 | |
3f18d0a6 | 1031 | fHistPtITSMI3InAcc = new TH1F("fHistPtITSMI3InAcc","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1032 | fHistPtITSMI3InAcc->Sumw2(); | |
1033 | fHistPtITSMI3InAcc->SetMinimum(0); | |
1034 | fOutput->Add(fHistPtITSMI3InAcc); | |
1035 | ||
1036 | fHistPtITSMI2InAcc = new TH1F("fHistPtITSMI2InAcc","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1037 | fHistPtITSMI2InAcc->Sumw2(); | |
1038 | fHistPtITSMI2InAcc->SetMinimum(0); | |
1039 | fOutput->Add(fHistPtITSMI2InAcc); | |
1040 | ||
1041 | fHistPtITSMISPDInAcc = new TH1F("fHistPtITSMISPDInAcc","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1042 | fHistPtITSMISPDInAcc->Sumw2(); | |
1043 | fHistPtITSMISPDInAcc->SetMinimum(0); | |
1044 | fOutput->Add(fHistPtITSMISPDInAcc); | |
1045 | ||
7b4d74b2 | 1046 | fHistPtITSMIoneSPDInAcc = new TH1F("fHistPtITSMIoneSPDInAcc","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1047 | fHistPtITSMIoneSPDInAcc->Sumw2(); | |
1048 | fHistPtITSMIoneSPDInAcc->SetMinimum(0); | |
1049 | fOutput->Add(fHistPtITSMIoneSPDInAcc); | |
f8777463 | 1050 | |
0b2e8130 | 1051 | fHistPtITSMIoneSPDInAccShared = new TH1F("fHistPtITSMIoneSPDInAccShared","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1052 | fHistPtITSMIoneSPDInAccShared->Sumw2(); | |
1053 | fHistPtITSMIoneSPDInAccShared->SetMinimum(0); | |
1054 | fOutput->Add(fHistPtITSMIoneSPDInAccShared); | |
1055 | ||
1056 | fHistPtITSMIoneSPDInAccSharedSPD = new TH1F("fHistPtITSMIoneSPDInAccSharedSPD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1057 | fHistPtITSMIoneSPDInAccSharedSPD->Sumw2(); | |
1058 | fHistPtITSMIoneSPDInAccSharedSPD->SetMinimum(0); | |
1059 | fOutput->Add(fHistPtITSMIoneSPDInAccSharedSPD); | |
1060 | ||
1061 | fHistPtITSMISPD1InAccShared = new TH1F("fHistPtITSMISPD1InAccShared","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1062 | fHistPtITSMISPD1InAccShared->Sumw2(); | |
1063 | fHistPtITSMISPD1InAccShared->SetMinimum(0); | |
1064 | fOutput->Add(fHistPtITSMISPD1InAccShared); | |
1065 | ||
1066 | fHistPtITSMISPD2InAccShared = new TH1F("fHistPtITSMISPD2InAccShared","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1067 | fHistPtITSMISPD2InAccShared->Sumw2(); | |
1068 | fHistPtITSMISPD2InAccShared->SetMinimum(0); | |
1069 | fOutput->Add(fHistPtITSMISPD2InAccShared); | |
1070 | ||
1071 | fHistPtITSMIoneSPDInAccSharedFake = new TH1F("fHistPtITSMIoneSPDInAccSharedFake","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1072 | fHistPtITSMIoneSPDInAccSharedFake->Sumw2(); | |
1073 | fHistPtITSMIoneSPDInAccSharedFake->SetMinimum(0); | |
1074 | fOutput->Add(fHistPtITSMIoneSPDInAccSharedFake); | |
1075 | ||
1076 | fHistPtITSMIoneSPDInAccSharedSPDFake = new TH1F("fHistPtITSMIoneSPDInAccSharedSPDFake","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1077 | fHistPtITSMIoneSPDInAccSharedSPDFake->Sumw2(); | |
1078 | fHistPtITSMIoneSPDInAccSharedSPDFake->SetMinimum(0); | |
1079 | fOutput->Add(fHistPtITSMIoneSPDInAccSharedSPDFake); | |
1080 | ||
547640ff | 1081 | fHistPhiITSMI6InAcc = new TH1F("fHistPhiITSMI6InAcc","phi distribution of ITSMI6 tracks; #phi; N tracks",100,0,2*3.1415); |
1082 | fHistPhiITSMI6InAcc->Sumw2(); | |
1083 | fHistPhiITSMI6InAcc->SetMinimum(0); | |
1084 | fOutput->Add(fHistPhiITSMI6InAcc); | |
1085 | ||
1086 | fHistPhiITSMI5InAcc = new TH1F("fHistPhiITSMI5InAcc","phi distribution of ITSMI5 tracks; #phi; N tracks",100,0,2*3.1415); | |
1087 | fHistPhiITSMI5InAcc->Sumw2(); | |
1088 | fHistPhiITSMI5InAcc->SetMinimum(0); | |
1089 | fOutput->Add(fHistPhiITSMI5InAcc); | |
1090 | ||
1091 | fHistPhiITSMI4InAcc = new TH1F("fHistPhiITSMI4InAcc","phi distribution of ITSMI4 tracks; #phi; N tracks",100,0,2*3.1415); | |
1092 | fHistPhiITSMI4InAcc->Sumw2(); | |
1093 | fHistPhiITSMI4InAcc->SetMinimum(0); | |
1094 | fOutput->Add(fHistPhiITSMI4InAcc); | |
1095 | ||
1096 | fHistPhiITSMI3InAcc = new TH1F("fHistPhiITSMI3InAcc","phi distribution of ITSMI3 tracks; #phi; N tracks",100,0,2*3.1415); | |
1097 | fHistPhiITSMI3InAcc->Sumw2(); | |
1098 | fHistPhiITSMI3InAcc->SetMinimum(0); | |
1099 | fOutput->Add(fHistPhiITSMI3InAcc); | |
1100 | ||
1101 | fHistPhiITSMI2InAcc = new TH1F("fHistPhiITSMI2InAcc","phi distribution of ITSMI2 tracks; #phi; N tracks",100,0,2*3.1415); | |
1102 | fHistPhiITSMI2InAcc->Sumw2(); | |
1103 | fHistPhiITSMI2InAcc->SetMinimum(0); | |
1104 | fOutput->Add(fHistPhiITSMI2InAcc); | |
1105 | ||
1106 | fHistPhiITSMISPDInAcc = new TH1F("fHistPhiITSMISPDInAcc","phi distribution of ITSMISPD tracks; #phi; N tracks",100,0,2*3.1415); | |
1107 | fHistPhiITSMISPDInAcc->Sumw2(); | |
1108 | fHistPhiITSMISPDInAcc->SetMinimum(0); | |
1109 | fOutput->Add(fHistPhiITSMISPDInAcc); | |
1110 | ||
1111 | fHistPhiITSMIoneSPDInAcc = new TH1F("fHistPhiITSMIoneSPDInAcc","phi distribution of ITSMISPD tracks; #phi; N tracks",100,0,2*3.1415); | |
1112 | fHistPhiITSMIoneSPDInAcc->Sumw2(); | |
1113 | fHistPhiITSMIoneSPDInAcc->SetMinimum(0); | |
1114 | fOutput->Add(fHistPhiITSMIoneSPDInAcc); | |
1115 | ||
1116 | fHistEtaITSMI6InAcc = new TH1F("fHistEtaITSMI6InAcc","eta distribution of ITSMI6 tracks; #eta; N tracks",100,-1.5,+1.5); | |
1117 | fHistEtaITSMI6InAcc->Sumw2(); | |
1118 | fHistEtaITSMI6InAcc->SetMinimum(0); | |
1119 | fOutput->Add(fHistEtaITSMI6InAcc); | |
1120 | ||
1121 | fHistEtaITSMI5InAcc = new TH1F("fHistEtaITSMI5InAcc","eta distribution of ITSMI5 tracks; #eta; N tracks",100,-1.5,+1.5); | |
1122 | fHistEtaITSMI5InAcc->Sumw2(); | |
1123 | fHistEtaITSMI5InAcc->SetMinimum(0); | |
1124 | fOutput->Add(fHistEtaITSMI5InAcc); | |
1125 | ||
1126 | fHistEtaITSMI4InAcc = new TH1F("fHistEtaITSMI4InAcc","eta distribution of ITSMI4 tracks; #eta; N tracks",100,-1.5,+1.5); | |
1127 | fHistEtaITSMI4InAcc->Sumw2(); | |
1128 | fHistEtaITSMI4InAcc->SetMinimum(0); | |
1129 | fOutput->Add(fHistEtaITSMI4InAcc); | |
1130 | ||
1131 | fHistEtaITSMI3InAcc = new TH1F("fHistEtaITSMI3InAcc","eta distribution of ITSMI3 tracks; #eta; N tracks",100,-1.5,+1.5); | |
1132 | fHistEtaITSMI3InAcc->Sumw2(); | |
1133 | fHistEtaITSMI3InAcc->SetMinimum(0); | |
1134 | fOutput->Add(fHistEtaITSMI3InAcc); | |
1135 | ||
1136 | fHistEtaITSMI2InAcc = new TH1F("fHistEtaITSMI2InAcc","eta distribution of ITSMI2 tracks; #eta; N tracks",100,-1.5,+1.5); | |
1137 | fHistEtaITSMI2InAcc->Sumw2(); | |
1138 | fHistEtaITSMI2InAcc->SetMinimum(0); | |
1139 | fOutput->Add(fHistEtaITSMI2InAcc); | |
1140 | ||
1141 | fHistEtaITSMISPDInAcc = new TH1F("fHistEtaITSMISPDInAcc","eta distribution of ITSMISPD tracks; #eta; N tracks",100,-1.5,+1.5); | |
1142 | fHistEtaITSMISPDInAcc->Sumw2(); | |
1143 | fHistEtaITSMISPDInAcc->SetMinimum(0); | |
1144 | fOutput->Add(fHistEtaITSMISPDInAcc); | |
1145 | ||
1146 | fHistEtaITSMIoneSPDInAcc = new TH1F("fHistEtaITSMIoneSPDInAcc","eta distribution of ITSMISPD tracks; #eta; N tracks",100,-1.5,+1.5); | |
1147 | fHistEtaITSMIoneSPDInAcc->Sumw2(); | |
1148 | fHistEtaITSMIoneSPDInAcc->SetMinimum(0); | |
1149 | fOutput->Add(fHistEtaITSMIoneSPDInAcc); | |
1150 | ||
1151 | ||
0faeb7ba | 1152 | fHistPtITSMI6InAccFake = new TH1F("fHistPtITSMI6InAccFake","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1153 | fHistPtITSMI6InAccFake->Sumw2(); | |
1154 | fHistPtITSMI6InAccFake->SetMinimum(0); | |
1155 | fOutput->Add(fHistPtITSMI6InAccFake); | |
1156 | ||
1157 | fHistPtITSMI5InAccFake = new TH1F("fHistPtITSMI5InAccFake","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1158 | fHistPtITSMI5InAccFake->Sumw2(); | |
1159 | fHistPtITSMI5InAccFake->SetMinimum(0); | |
1160 | fOutput->Add(fHistPtITSMI5InAccFake); | |
1161 | ||
1162 | fHistPtITSMI4InAccFake = new TH1F("fHistPtITSMI4InAccFake","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1163 | fHistPtITSMI4InAccFake->Sumw2(); | |
1164 | fHistPtITSMI4InAccFake->SetMinimum(0); | |
1165 | fOutput->Add(fHistPtITSMI4InAccFake); | |
1166 | ||
1167 | fHistPtITSMI3InAccFake = new TH1F("fHistPtITSMI3InAccFake","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1168 | fHistPtITSMI3InAccFake->Sumw2(); | |
1169 | fHistPtITSMI3InAccFake->SetMinimum(0); | |
1170 | fOutput->Add(fHistPtITSMI3InAccFake); | |
1171 | ||
1172 | fHistPtITSMI2InAccFake = new TH1F("fHistPtITSMI2InAccFake","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1173 | fHistPtITSMI2InAccFake->Sumw2(); | |
1174 | fHistPtITSMI2InAccFake->SetMinimum(0); | |
1175 | fOutput->Add(fHistPtITSMI2InAccFake); | |
1176 | ||
1177 | fHistPtITSMISPDInAccFake = new TH1F("fHistPtITSMISPDInAccFake","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1178 | fHistPtITSMISPDInAccFake->Sumw2(); | |
1179 | fHistPtITSMISPDInAccFake->SetMinimum(0); | |
1180 | fOutput->Add(fHistPtITSMISPDInAccFake); | |
1181 | ||
1182 | fHistPtITSMIoneSPDInAccFake = new TH1F("fHistPtITSMIoneSPDInAccFake","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1183 | fHistPtITSMIoneSPDInAccFake->Sumw2(); | |
1184 | fHistPtITSMIoneSPDInAccFake->SetMinimum(0); | |
1185 | fOutput->Add(fHistPtITSMIoneSPDInAccFake); | |
1186 | ||
6c6fab7b | 1187 | fHistPtITSMIoneSPDthreeSDDSSDInAcc = new TH1F("fHistPtITSMIoneSPDthreeSDDSSDInAcc","pt distribution of ITSMI tracks (>0 in SPD, >2 in SDD+SSD); p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1188 | fHistPtITSMIoneSPDthreeSDDSSDInAcc->Sumw2(); | |
1189 | fHistPtITSMIoneSPDthreeSDDSSDInAcc->SetMinimum(0); | |
1190 | fOutput->Add(fHistPtITSMIoneSPDthreeSDDSSDInAcc); | |
1191 | ||
f8777463 | 1192 | fHistPtITSTPCsel = new TH1F("fHistPtITSTPCsel","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1193 | fHistPtITSTPCsel->Sumw2(); | |
1194 | fHistPtITSTPCsel->SetMinimum(0); | |
1195 | fOutput->Add(fHistPtITSTPCsel); | |
1196 | ||
1197 | fHistPtITSTPCselP = new TH1F("fHistPtITSTPCselP","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1198 | fHistPtITSTPCselP->Sumw2(); | |
1199 | fHistPtITSTPCselP->SetMinimum(0); | |
1200 | fOutput->Add(fHistPtITSTPCselP); | |
1201 | ||
1202 | fHistPtITSTPCselS = new TH1F("fHistPtITSTPCselS","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1203 | fHistPtITSTPCselS->Sumw2(); | |
1204 | fHistPtITSTPCselS->SetMinimum(0); | |
1205 | fOutput->Add(fHistPtITSTPCselS); | |
1206 | ||
af874c53 | 1207 | fHistPtITSTPCselFake = new TH1F("fHistPtITSTPCselFake","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1208 | fHistPtITSTPCselFake->Sumw2(); | |
1209 | fHistPtITSTPCselFake->SetMinimum(0); | |
1210 | fOutput->Add(fHistPtITSTPCselFake); | |
1211 | ||
f8777463 | 1212 | fHistPtITSTPCselSfromStrange = new TH1F("fHistPtITSTPCselSfromStrange","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1213 | fHistPtITSTPCselSfromStrange->Sumw2(); | |
1214 | fHistPtITSTPCselSfromStrange->SetMinimum(0); | |
1215 | fOutput->Add(fHistPtITSTPCselSfromStrange); | |
1216 | ||
1217 | fHistPtITSTPCselPfromStrange = new TH1F("fHistPtITSTPCselPfromStrange","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1218 | fHistPtITSTPCselPfromStrange->Sumw2(); | |
1219 | fHistPtITSTPCselPfromStrange->SetMinimum(0); | |
1220 | fOutput->Add(fHistPtITSTPCselPfromStrange); | |
1221 | ||
1222 | fHistPtITSTPCselSfromMat = new TH1F("fHistPtITSTPCselSfromMat","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1223 | fHistPtITSTPCselSfromMat->Sumw2(); | |
1224 | fHistPtITSTPCselSfromMat->SetMinimum(0); | |
1225 | fOutput->Add(fHistPtITSTPCselSfromMat); | |
1226 | ||
1227 | fHistPtTPCInAccP = new TH1F("fHistPtTPCInAccP","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1228 | fHistPtTPCInAccP->Sumw2(); | |
1229 | fHistPtTPCInAccP->SetMinimum(0); | |
1230 | fOutput->Add(fHistPtTPCInAccP); | |
1231 | ||
1232 | fHistPtTPCInAccPfromStrange = new TH1F("fHistPtTPCInAccPfromStrange","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1233 | fHistPtTPCInAccPfromStrange->Sumw2(); | |
1234 | fHistPtTPCInAccPfromStrange->SetMinimum(0); | |
1235 | fOutput->Add(fHistPtTPCInAccPfromStrange); | |
1236 | ||
1237 | fHistPtITSMI6InAccP = new TH1F("fHistPtITSMI6InAccP","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1238 | fHistPtITSMI6InAccP->Sumw2(); | |
1239 | fHistPtITSMI6InAccP->SetMinimum(0); | |
1240 | fOutput->Add(fHistPtITSMI6InAccP); | |
1241 | ||
1242 | fHistPtITSMI5InAccP = new TH1F("fHistPtITSMI5InAccP","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1243 | fHistPtITSMI5InAccP->Sumw2(); | |
1244 | fHistPtITSMI5InAccP->SetMinimum(0); | |
1245 | fOutput->Add(fHistPtITSMI5InAccP); | |
1246 | ||
1247 | fHistPtITSMI4InAccP = new TH1F("fHistPtITSMI4InAccP","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1248 | fHistPtITSMI4InAccP->Sumw2(); | |
1249 | fHistPtITSMI4InAccP->SetMinimum(0); | |
1250 | fOutput->Add(fHistPtITSMI4InAccP); | |
1251 | ||
1252 | fHistPtITSMI3InAccP = new TH1F("fHistPtITSMI3InAccP","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1253 | fHistPtITSMI3InAccP->Sumw2(); | |
1254 | fHistPtITSMI3InAccP->SetMinimum(0); | |
1255 | fOutput->Add(fHistPtITSMI3InAccP); | |
1256 | ||
1257 | fHistPtITSMI2InAccP = new TH1F("fHistPtITSMI2InAccP","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1258 | fHistPtITSMI2InAccP->Sumw2(); | |
1259 | fHistPtITSMI2InAccP->SetMinimum(0); | |
1260 | fOutput->Add(fHistPtITSMI2InAccP); | |
1261 | ||
1262 | fHistPtITSMISPDInAccP = new TH1F("fHistPtITSMISPDInAccP","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1263 | fHistPtITSMISPDInAccP->Sumw2(); | |
1264 | fHistPtITSMISPDInAccP->SetMinimum(0); | |
1265 | fOutput->Add(fHistPtITSMISPDInAccP); | |
1266 | ||
1267 | fHistPtITSMIoneSPDInAccP = new TH1F("fHistPtITSMIoneSPDInAccP","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1268 | fHistPtITSMIoneSPDInAccP->Sumw2(); | |
1269 | fHistPtITSMIoneSPDInAccP->SetMinimum(0); | |
1270 | fOutput->Add(fHistPtITSMIoneSPDInAccP); | |
1271 | ||
1272 | fHistPtTPCInAccS = new TH1F("fHistPtTPCInAccS","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1273 | fHistPtTPCInAccS->Sumw2(); | |
1274 | fHistPtTPCInAccS->SetMinimum(0); | |
1275 | fOutput->Add(fHistPtTPCInAccS); | |
1276 | ||
1277 | fHistPtTPCInAccSfromStrange = new TH1F("fHistPtTPCInAccSfromStrange","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1278 | fHistPtTPCInAccSfromStrange->Sumw2(); | |
1279 | fHistPtTPCInAccSfromStrange->SetMinimum(0); | |
1280 | fOutput->Add(fHistPtTPCInAccSfromStrange); | |
1281 | ||
1282 | fHistPtTPCInAccSfromMat = new TH1F("fHistPtTPCInAccSfromMat","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1283 | fHistPtTPCInAccSfromMat->Sumw2(); | |
1284 | fHistPtTPCInAccSfromMat->SetMinimum(0); | |
1285 | fOutput->Add(fHistPtTPCInAccSfromMat); | |
1286 | ||
1287 | fHistPtITSMI6InAccS = new TH1F("fHistPtITSMI6InAccS","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1288 | fHistPtITSMI6InAccS->Sumw2(); | |
1289 | fHistPtITSMI6InAccS->SetMinimum(0); | |
1290 | fOutput->Add(fHistPtITSMI6InAccS); | |
1291 | ||
1292 | fHistPtITSMI5InAccS = new TH1F("fHistPtITSMI5InAccS","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1293 | fHistPtITSMI5InAccS->Sumw2(); | |
1294 | fHistPtITSMI5InAccS->SetMinimum(0); | |
1295 | fOutput->Add(fHistPtITSMI5InAccS); | |
1296 | ||
1297 | fHistPtITSMI4InAccS = new TH1F("fHistPtITSMI4InAccS","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1298 | fHistPtITSMI4InAccS->Sumw2(); | |
1299 | fHistPtITSMI4InAccS->SetMinimum(0); | |
1300 | fOutput->Add(fHistPtITSMI4InAccS); | |
1301 | ||
1302 | fHistPtITSMI3InAccS = new TH1F("fHistPtITSMI3InAccS","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1303 | fHistPtITSMI3InAccS->Sumw2(); | |
1304 | fHistPtITSMI3InAccS->SetMinimum(0); | |
1305 | fOutput->Add(fHistPtITSMI3InAccS); | |
1306 | ||
1307 | fHistPtITSMI2InAccS = new TH1F("fHistPtITSMI2InAccS","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1308 | fHistPtITSMI2InAccS->Sumw2(); | |
1309 | fHistPtITSMI2InAccS->SetMinimum(0); | |
1310 | fOutput->Add(fHistPtITSMI2InAccS); | |
1311 | ||
1312 | fHistPtITSMISPDInAccS = new TH1F("fHistPtITSMISPDInAccS","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1313 | fHistPtITSMISPDInAccS->Sumw2(); | |
1314 | fHistPtITSMISPDInAccS->SetMinimum(0); | |
1315 | fOutput->Add(fHistPtITSMISPDInAccS); | |
1316 | ||
1317 | fHistPtITSMIoneSPDInAccS = new TH1F("fHistPtITSMIoneSPDInAccS","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1318 | fHistPtITSMIoneSPDInAccS->Sumw2(); | |
1319 | fHistPtITSMIoneSPDInAccS->SetMinimum(0); | |
1320 | fOutput->Add(fHistPtITSMIoneSPDInAccS); | |
7b4d74b2 | 1321 | |
3f18d0a6 | 1322 | fHistPtITSMIokbadoutinz6 = new TH1F("fHistPtITSMIokbadoutinz6","pt distribution of ITSMI tracks with 6 layers OK; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1323 | fHistPtITSMIokbadoutinz6->Sumw2(); | |
1324 | fHistPtITSMIokbadoutinz6->SetMinimum(0); | |
1325 | fOutput->Add(fHistPtITSMIokbadoutinz6); | |
8d63376d | 1326 | |
c2893e82 | 1327 | fHistPtITSMIokbadoutinz4InAcc = new TH1F("fHistPtITSMIokbadoutinz4InAcc","pt distribution of ITSMI tracks with 4 layers OK; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1328 | fHistPtITSMIokbadoutinz4InAcc->Sumw2(); | |
1329 | fHistPtITSMIokbadoutinz4InAcc->SetMinimum(0); | |
1330 | fOutput->Add(fHistPtITSMIokbadoutinz4InAcc); | |
1331 | ||
1332 | fHistPtITSMIokbadoutinz5InAcc = new TH1F("fHistPtITSMIokbadoutinz5InAcc","pt distribution of ITSMI tracks with 5 layers OK; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); | |
1333 | fHistPtITSMIokbadoutinz5InAcc->Sumw2(); | |
1334 | fHistPtITSMIokbadoutinz5InAcc->SetMinimum(0); | |
1335 | fOutput->Add(fHistPtITSMIokbadoutinz5InAcc); | |
1336 | ||
3f18d0a6 | 1337 | fHistPtITSMIokbadoutinz6InAcc = new TH1F("fHistPtITSMIokbadoutinz6InAcc","pt distribution of ITSMI tracks with 6 layers OK; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins); |
1338 | fHistPtITSMIokbadoutinz6InAcc->Sumw2(); | |
1339 | fHistPtITSMIokbadoutinz6InAcc->SetMinimum(0); | |
1340 | fOutput->Add(fHistPtITSMIokbadoutinz6InAcc); | |
8d63376d | 1341 | |
f8777463 | 1342 | fHistRProdVtxInAccP = new TH1F("fHistRProdVtxInAccP","Radius of production vertex for primaries; r [cm]; N tracks",100,0,10); |
1343 | fHistRProdVtxInAccP->Sumw2(); | |
1344 | fHistRProdVtxInAccP->SetMinimum(0); | |
1345 | fOutput->Add(fHistRProdVtxInAccP); | |
1346 | ||
1347 | fHistRProdVtxInAccS = new TH1F("fHistRProdVtxInAccS","Radius of production vertex for secondaries; r [cm]; N tracks",100,0,10); | |
1348 | fHistRProdVtxInAccS->Sumw2(); | |
1349 | fHistRProdVtxInAccS->SetMinimum(0); | |
1350 | fOutput->Add(fHistRProdVtxInAccS); | |
1351 | ||
0b2e8130 | 1352 | fHistd0rphiTPCInAccA = new TH1F("fHistd0rphiTPCInAccA","Transverse imp. par. to VertexTracks; d_{0} rphi [cm]; N tracks",300,-5,5); |
1353 | fHistd0rphiTPCInAccA->Sumw2(); | |
1354 | fHistd0rphiTPCInAccA->SetMinimum(0); | |
1355 | fOutput->Add(fHistd0rphiTPCInAccA); | |
1356 | ||
1357 | fHistd0rphiTPCInAccB = new TH1F("fHistd0rphiTPCInAccB","Transverse imp. par. to VertexTracks; d_{0} rphi [cm]; N tracks",300,-5,5); | |
1358 | fHistd0rphiTPCInAccB->Sumw2(); | |
1359 | fHistd0rphiTPCInAccB->SetMinimum(0); | |
1360 | fOutput->Add(fHistd0rphiTPCInAccB); | |
1361 | ||
1362 | fHistd0zTPCInAccA = new TH1F("fHistd0zTPCInAccA","Transverse imp. par. to VertexTracks; d_{0} z [cm]; N tracks",300,-5,5); | |
1363 | fHistd0zTPCInAccA->Sumw2(); | |
1364 | fHistd0zTPCInAccA->SetMinimum(0); | |
1365 | fOutput->Add(fHistd0zTPCInAccA); | |
1366 | ||
1367 | fHistd0zTPCInAccB = new TH1F("fHistd0zTPCInAccB","Transverse imp. par. to VertexTracks; d_{0} z [cm]; N tracks",300,-5,5); | |
1368 | fHistd0zTPCInAccB->Sumw2(); | |
1369 | fHistd0zTPCInAccB->SetMinimum(0); | |
1370 | fOutput->Add(fHistd0zTPCInAccB); | |
1371 | ||
f8777463 | 1372 | fHistd0rphiTPCInAccP150200 = new TH1F("fHistd0rphiTPCInAccP150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5); |
1373 | fHistd0rphiTPCInAccP150200->Sumw2(); | |
1374 | fHistd0rphiTPCInAccP150200->SetMinimum(0); | |
1375 | fOutput->Add(fHistd0rphiTPCInAccP150200); | |
1376 | ||
1377 | fHistd0rphiTPCInAccP500700 = new TH1F("fHistd0rphiTPCInAccP500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5); | |
1378 | fHistd0rphiTPCInAccP500700->Sumw2(); | |
1379 | fHistd0rphiTPCInAccP500700->SetMinimum(0); | |
1380 | fOutput->Add(fHistd0rphiTPCInAccP500700); | |
1381 | ||
1382 | fHistd0rphiTPCInAccP10001500 = new TH1F("fHistd0rphiTPCInAccP10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5); | |
1383 | fHistd0rphiTPCInAccP10001500->Sumw2(); | |
1384 | fHistd0rphiTPCInAccP10001500->SetMinimum(0); | |
1385 | fOutput->Add(fHistd0rphiTPCInAccP10001500); | |
1386 | ||
1387 | fHistd0rphiTPCInAccS150200 = new TH1F("fHistd0rphiTPCInAccS150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5); | |
1388 | fHistd0rphiTPCInAccS150200->Sumw2(); | |
1389 | fHistd0rphiTPCInAccS150200->SetMinimum(0); | |
1390 | fOutput->Add(fHistd0rphiTPCInAccS150200); | |
1391 | ||
1392 | fHistd0rphiTPCInAccS500700 = new TH1F("fHistd0rphiTPCInAccS500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5); | |
1393 | fHistd0rphiTPCInAccS500700->Sumw2(); | |
1394 | fHistd0rphiTPCInAccS500700->SetMinimum(0); | |
1395 | fOutput->Add(fHistd0rphiTPCInAccS500700); | |
1396 | ||
1397 | fHistd0rphiTPCInAccS10001500 = new TH1F("fHistd0rphiTPCInAccS10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5); | |
1398 | fHistd0rphiTPCInAccS10001500->Sumw2(); | |
1399 | fHistd0rphiTPCInAccS10001500->SetMinimum(0); | |
1400 | fOutput->Add(fHistd0rphiTPCInAccS10001500); | |
1401 | ||
1402 | fHistd0rphiITSMISPDInAccP150200 = new TH1F("fHistd0rphiITSMISPDInAccP150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1403 | fHistd0rphiITSMISPDInAccP150200->Sumw2(); | |
1404 | fHistd0rphiITSMISPDInAccP150200->SetMinimum(0); | |
1405 | fOutput->Add(fHistd0rphiITSMISPDInAccP150200); | |
1406 | ||
1407 | fHistd0rphiITSMISPDInAccP500700 = new TH1F("fHistd0rphiITSMISPDInAccP500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1408 | fHistd0rphiITSMISPDInAccP500700->Sumw2(); | |
1409 | fHistd0rphiITSMISPDInAccP500700->SetMinimum(0); | |
1410 | fOutput->Add(fHistd0rphiITSMISPDInAccP500700); | |
1411 | ||
1412 | fHistd0rphiITSMISPDInAccP10001500 = new TH1F("fHistd0rphiITSMISPDInAccP10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1413 | fHistd0rphiITSMISPDInAccP10001500->Sumw2(); | |
1414 | fHistd0rphiITSMISPDInAccP10001500->SetMinimum(0); | |
1415 | fOutput->Add(fHistd0rphiITSMISPDInAccP10001500); | |
1416 | ||
1417 | fHistd0rphiITSMISPDInAccS150200 = new TH1F("fHistd0rphiITSMISPDInAccS150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1418 | fHistd0rphiITSMISPDInAccS150200->Sumw2(); | |
1419 | fHistd0rphiITSMISPDInAccS150200->SetMinimum(0); | |
1420 | fOutput->Add(fHistd0rphiITSMISPDInAccS150200); | |
1421 | ||
1422 | fHistd0rphiITSMISPDInAccS500700 = new TH1F("fHistd0rphiITSMISPDInAccS500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1423 | fHistd0rphiITSMISPDInAccS500700->Sumw2(); | |
1424 | fHistd0rphiITSMISPDInAccS500700->SetMinimum(0); | |
1425 | fOutput->Add(fHistd0rphiITSMISPDInAccS500700); | |
1426 | ||
1427 | fHistd0rphiITSMISPDInAccS10001500 = new TH1F("fHistd0rphiITSMISPDInAccS10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1428 | fHistd0rphiITSMISPDInAccS10001500->Sumw2(); | |
1429 | fHistd0rphiITSMISPDInAccS10001500->SetMinimum(0); | |
1430 | fOutput->Add(fHistd0rphiITSMISPDInAccS10001500); | |
1431 | ||
1432 | fHistd0rphiITSMIoneSPDInAccP150200 = new TH1F("fHistd0rphiITSMIoneSPDInAccP150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1433 | fHistd0rphiITSMIoneSPDInAccP150200->Sumw2(); | |
1434 | fHistd0rphiITSMIoneSPDInAccP150200->SetMinimum(0); | |
1435 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccP150200); | |
1436 | ||
dbf573fb | 1437 | fHistd0rphiITSMIoneSPDInAccP350450 = new TH1F("fHistd0rphiITSMIoneSPDInAccP350450","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); |
1438 | fHistd0rphiITSMIoneSPDInAccP350450->Sumw2(); | |
1439 | fHistd0rphiITSMIoneSPDInAccP350450->SetMinimum(0); | |
1440 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccP350450); | |
1441 | ||
f8777463 | 1442 | fHistd0rphiITSMIoneSPDInAccP500700 = new TH1F("fHistd0rphiITSMIoneSPDInAccP500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); |
1443 | fHistd0rphiITSMIoneSPDInAccP500700->Sumw2(); | |
1444 | fHistd0rphiITSMIoneSPDInAccP500700->SetMinimum(0); | |
1445 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccP500700); | |
1446 | ||
1447 | fHistd0rphiITSMIoneSPDInAccP10001500 = new TH1F("fHistd0rphiITSMIoneSPDInAccP10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1448 | fHistd0rphiITSMIoneSPDInAccP10001500->Sumw2(); | |
1449 | fHistd0rphiITSMIoneSPDInAccP10001500->SetMinimum(0); | |
1450 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccP10001500); | |
1451 | ||
dbf573fb | 1452 | fHistd0rphiITSMIoneSPDInAccP25004000 = new TH1F("fHistd0rphiITSMIoneSPDInAccP25004000","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); |
1453 | fHistd0rphiITSMIoneSPDInAccP25004000->Sumw2(); | |
1454 | fHistd0rphiITSMIoneSPDInAccP25004000->SetMinimum(0); | |
1455 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccP25004000); | |
1456 | ||
1457 | fHistd0rphiITSMIoneSPDInAccP40008000 = new TH1F("fHistd0rphiITSMIoneSPDInAccP40008000","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1458 | fHistd0rphiITSMIoneSPDInAccP40008000->Sumw2(); | |
1459 | fHistd0rphiITSMIoneSPDInAccP40008000->SetMinimum(0); | |
1460 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccP40008000); | |
1461 | ||
0b2e8130 | 1462 | fHistd0rphiITSMIoneSPDInAccA = new TH1F("fHistd0rphiITSMIoneSPDInAccA","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); |
1463 | fHistd0rphiITSMIoneSPDInAccA->Sumw2(); | |
1464 | fHistd0rphiITSMIoneSPDInAccA->SetMinimum(0); | |
1465 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccA); | |
1466 | ||
1467 | fHistd0rphiITSMIoneSPDInAccB = new TH1F("fHistd0rphiITSMIoneSPDInAccB","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1468 | fHistd0rphiITSMIoneSPDInAccB->Sumw2(); | |
1469 | fHistd0rphiITSMIoneSPDInAccB->SetMinimum(0); | |
1470 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccB); | |
1471 | ||
1472 | fHistd0zITSMIoneSPDInAccA = new TH1F("fHistd0zITSMIoneSPDInAccA","Transverse imp. par. to VertexTracks for primaries; d_{0} z [cm]; N tracks",300,-1.5,1.5); | |
1473 | fHistd0zITSMIoneSPDInAccA->Sumw2(); | |
1474 | fHistd0zITSMIoneSPDInAccA->SetMinimum(0); | |
1475 | fOutput->Add(fHistd0zITSMIoneSPDInAccA); | |
1476 | ||
1477 | fHistd0zITSMIoneSPDInAccB = new TH1F("fHistd0zITSMIoneSPDInAccB","Transverse imp. par. to VertexTracks for primaries; d_{0} z [cm]; N tracks",300,-1.5,1.5); | |
1478 | fHistd0zITSMIoneSPDInAccB->Sumw2(); | |
1479 | fHistd0zITSMIoneSPDInAccB->SetMinimum(0); | |
1480 | fOutput->Add(fHistd0zITSMIoneSPDInAccB); | |
1481 | ||
f8777463 | 1482 | fHistd0zITSMIoneSPDInAccP150200 = new TH1F("fHistd0zITSMIoneSPDInAccP150200","Longitudinal imp. par. to VertexTracks for primaries; d_{0} z [cm]; N tracks",300,-1.5,1.5); |
1483 | fHistd0zITSMIoneSPDInAccP150200->Sumw2(); | |
1484 | fHistd0zITSMIoneSPDInAccP150200->SetMinimum(0); | |
1485 | fOutput->Add(fHistd0zITSMIoneSPDInAccP150200); | |
1486 | ||
1487 | fHistd0zITSMIoneSPDInAccP500700 = new TH1F("fHistd0zITSMIoneSPDInAccP500700","Longitudinal imp. par. to VertexTracks for primaries; d_{0} z [cm]; N tracks",300,-1.5,1.5); | |
1488 | fHistd0zITSMIoneSPDInAccP500700->Sumw2(); | |
1489 | fHistd0zITSMIoneSPDInAccP500700->SetMinimum(0); | |
1490 | fOutput->Add(fHistd0zITSMIoneSPDInAccP500700); | |
1491 | ||
1492 | fHistd0zITSMIoneSPDInAccP10001500 = new TH1F("fHistd0zITSMIoneSPDInAccP10001500","Longitudinal imp. par. to VertexTracks for primaries; d_{0} z [cm]; N tracks",300,-1.5,1.5); | |
1493 | fHistd0zITSMIoneSPDInAccP10001500->Sumw2(); | |
1494 | fHistd0zITSMIoneSPDInAccP10001500->SetMinimum(0); | |
1495 | fOutput->Add(fHistd0zITSMIoneSPDInAccP10001500); | |
1496 | ||
9a3cd95a | 1497 | fHistd0zVSetaTPCInAccP10001500 = new TH2F("fHistd0zVSetaTPCInAccP10001500","Long. imp. par. to VertexSPD for TPC tracks; d_{0} z [cm]; eta",100,-4,4,10,-1,1); |
1498 | fOutput->Add(fHistd0zVSetaTPCInAccP10001500); | |
1499 | ||
f8777463 | 1500 | fHistd0rphiVSphiITSMIoneSPDInAccP10001500 = new TH2F("fHistd0rphiVSphiITSMIoneSPDInAccP10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; phi",30,-0.3,0.3,40,0,2*3.1415); |
1501 | fOutput->Add(fHistd0rphiVSphiITSMIoneSPDInAccP10001500); | |
1502 | ||
1503 | fHistd0rphiVSetaITSMIoneSPDInAccP10001500 = new TH2F("fHistd0rphiVSetaITSMIoneSPDInAccP10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; eta",30,-0.3,0.3,10,-1,1); | |
1504 | fOutput->Add(fHistd0rphiVSetaITSMIoneSPDInAccP10001500); | |
1505 | ||
1506 | fHistd0rphiITSMIoneSPDInAccS150200 = new TH1F("fHistd0rphiITSMIoneSPDInAccS150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1507 | fHistd0rphiITSMIoneSPDInAccS150200->Sumw2(); | |
1508 | fHistd0rphiITSMIoneSPDInAccS150200->SetMinimum(0); | |
1509 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS150200); | |
1510 | ||
dbf573fb | 1511 | fHistd0rphiITSMIoneSPDInAccS350450 = new TH1F("fHistd0rphiITSMIoneSPDInAccS350450","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); |
1512 | fHistd0rphiITSMIoneSPDInAccS350450->Sumw2(); | |
1513 | fHistd0rphiITSMIoneSPDInAccS350450->SetMinimum(0); | |
1514 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS350450); | |
1515 | ||
f8777463 | 1516 | fHistd0rphiITSMIoneSPDInAccS500700 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); |
1517 | fHistd0rphiITSMIoneSPDInAccS500700->Sumw2(); | |
1518 | fHistd0rphiITSMIoneSPDInAccS500700->SetMinimum(0); | |
1519 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700); | |
1520 | ||
1521 | fHistd0rphiITSMIoneSPDInAccS500700from22 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700from22","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1522 | fHistd0rphiITSMIoneSPDInAccS500700from22->Sumw2(); | |
1523 | fHistd0rphiITSMIoneSPDInAccS500700from22->SetMinimum(0); | |
1524 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700from22); | |
1525 | ||
1526 | fHistd0rphiITSMIoneSPDInAccS500700from211 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700from211","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1527 | fHistd0rphiITSMIoneSPDInAccS500700from211->Sumw2(); | |
1528 | fHistd0rphiITSMIoneSPDInAccS500700from211->SetMinimum(0); | |
1529 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700from211); | |
1530 | ||
1531 | fHistd0rphiITSMIoneSPDInAccS500700from310 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700from310","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1532 | fHistd0rphiITSMIoneSPDInAccS500700from310->Sumw2(); | |
1533 | fHistd0rphiITSMIoneSPDInAccS500700from310->SetMinimum(0); | |
1534 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700from310); | |
1535 | ||
1536 | fHistd0rphiITSMIoneSPDInAccS500700from321 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700from321","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1537 | fHistd0rphiITSMIoneSPDInAccS500700from321->Sumw2(); | |
1538 | fHistd0rphiITSMIoneSPDInAccS500700from321->SetMinimum(0); | |
1539 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700from321); | |
1540 | ||
dbf573fb | 1541 | fHistd0rphiITSMIoneSPDInAccS500700from3122 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700from3122","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); |
1542 | fHistd0rphiITSMIoneSPDInAccS500700from3122->Sumw2(); | |
1543 | fHistd0rphiITSMIoneSPDInAccS500700from3122->SetMinimum(0); | |
1544 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700from3122); | |
1545 | ||
f8777463 | 1546 | fHistd0rphiITSMIoneSPDInAccS10001500 = new TH1F("fHistd0rphiITSMIoneSPDInAccS10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); |
1547 | fHistd0rphiITSMIoneSPDInAccS10001500->Sumw2(); | |
1548 | fHistd0rphiITSMIoneSPDInAccS10001500->SetMinimum(0); | |
1549 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS10001500); | |
dbf573fb | 1550 | |
1551 | fHistd0rphiITSMIoneSPDInAccS25004000 = new TH1F("fHistd0rphiITSMIoneSPDInAccS25004000","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1552 | fHistd0rphiITSMIoneSPDInAccS25004000->Sumw2(); | |
1553 | fHistd0rphiITSMIoneSPDInAccS25004000->SetMinimum(0); | |
1554 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS25004000); | |
1555 | ||
1556 | fHistd0rphiITSMIoneSPDInAccS40008000 = new TH1F("fHistd0rphiITSMIoneSPDInAccS40008000","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1557 | fHistd0rphiITSMIoneSPDInAccS40008000->Sumw2(); | |
1558 | fHistd0rphiITSMIoneSPDInAccS40008000->SetMinimum(0); | |
1559 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS40008000); | |
1560 | ||
1561 | fHistd0rphiITSMIoneSPDInAccS150200fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS150200fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1562 | fHistd0rphiITSMIoneSPDInAccS150200fromStrange->Sumw2(); | |
1563 | fHistd0rphiITSMIoneSPDInAccS150200fromStrange->SetMinimum(0); | |
1564 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS150200fromStrange); | |
1565 | ||
1566 | fHistd0rphiITSMIoneSPDInAccS150200fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS150200fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1567 | fHistd0rphiITSMIoneSPDInAccS150200fromMat->Sumw2(); | |
1568 | fHistd0rphiITSMIoneSPDInAccS150200fromMat->SetMinimum(0); | |
1569 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS150200fromMat); | |
1570 | ||
1571 | fHistd0rphiITSMIoneSPDInAccS350450fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS350450fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1572 | fHistd0rphiITSMIoneSPDInAccS350450fromStrange->Sumw2(); | |
1573 | fHistd0rphiITSMIoneSPDInAccS350450fromStrange->SetMinimum(0); | |
1574 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS350450fromStrange); | |
1575 | ||
1576 | fHistd0rphiITSMIoneSPDInAccS350450fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS350450fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1577 | fHistd0rphiITSMIoneSPDInAccS350450fromMat->Sumw2(); | |
1578 | fHistd0rphiITSMIoneSPDInAccS350450fromMat->SetMinimum(0); | |
1579 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS350450fromMat); | |
1580 | ||
1581 | fHistd0rphiITSMIoneSPDInAccS500700fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1582 | fHistd0rphiITSMIoneSPDInAccS500700fromStrange->Sumw2(); | |
1583 | fHistd0rphiITSMIoneSPDInAccS500700fromStrange->SetMinimum(0); | |
1584 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700fromStrange); | |
1585 | ||
1586 | fHistd0rphiITSMIoneSPDInAccS500700fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1587 | fHistd0rphiITSMIoneSPDInAccS500700fromMat->Sumw2(); | |
1588 | fHistd0rphiITSMIoneSPDInAccS500700fromMat->SetMinimum(0); | |
1589 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700fromMat); | |
1590 | ||
1591 | fHistd0rphiITSMIoneSPDInAccS10001500fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS10001500fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1592 | fHistd0rphiITSMIoneSPDInAccS10001500fromStrange->Sumw2(); | |
1593 | fHistd0rphiITSMIoneSPDInAccS10001500fromStrange->SetMinimum(0); | |
1594 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS10001500fromStrange); | |
1595 | ||
1596 | fHistd0rphiITSMIoneSPDInAccS10001500fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS10001500fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1597 | fHistd0rphiITSMIoneSPDInAccS10001500fromMat->Sumw2(); | |
1598 | fHistd0rphiITSMIoneSPDInAccS10001500fromMat->SetMinimum(0); | |
1599 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS10001500fromMat); | |
1600 | ||
1601 | fHistd0rphiITSMIoneSPDInAccS25004000fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS25004000fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1602 | fHistd0rphiITSMIoneSPDInAccS25004000fromStrange->Sumw2(); | |
1603 | fHistd0rphiITSMIoneSPDInAccS25004000fromStrange->SetMinimum(0); | |
1604 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS25004000fromStrange); | |
1605 | ||
1606 | fHistd0rphiITSMIoneSPDInAccS25004000fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS25004000fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1607 | fHistd0rphiITSMIoneSPDInAccS25004000fromMat->Sumw2(); | |
1608 | fHistd0rphiITSMIoneSPDInAccS25004000fromMat->SetMinimum(0); | |
1609 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS25004000fromMat); | |
1610 | ||
1611 | fHistd0rphiITSMIoneSPDInAccS40008000fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS40008000fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1612 | fHistd0rphiITSMIoneSPDInAccS40008000fromStrange->Sumw2(); | |
1613 | fHistd0rphiITSMIoneSPDInAccS40008000fromStrange->SetMinimum(0); | |
1614 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS40008000fromStrange); | |
1615 | ||
1616 | fHistd0rphiITSMIoneSPDInAccS40008000fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS40008000fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5); | |
1617 | fHistd0rphiITSMIoneSPDInAccS40008000fromMat->Sumw2(); | |
1618 | fHistd0rphiITSMIoneSPDInAccS40008000fromMat->SetMinimum(0); | |
1619 | fOutput->Add(fHistd0rphiITSMIoneSPDInAccS40008000fromMat); | |
1620 | ||
f8777463 | 1621 | |
1622 | fHistd0zITSMIoneSPDInAccS150200 = new TH1F("fHistd0zITSMIoneSPDInAccS150200","Longitudinal imp. par. to VertexTracks for secondaries; d_{0} z [cm]; N tracks",300,-1.5,1.5); | |
1623 | fHistd0zITSMIoneSPDInAccS150200->Sumw2(); | |
1624 | fHistd0zITSMIoneSPDInAccS150200->SetMinimum(0); | |
1625 | fOutput->Add(fHistd0zITSMIoneSPDInAccS150200); | |
1626 | ||
1627 | fHistd0zITSMIoneSPDInAccS500700 = new TH1F("fHistd0zITSMIoneSPDInAccS500700","Longitudinal imp. par. to VertexTracks for secondaries; d_{0} z [cm]; N tracks",300,-1.5,1.5); | |
1628 | fHistd0zITSMIoneSPDInAccS500700->Sumw2(); | |
1629 | fHistd0zITSMIoneSPDInAccS500700->SetMinimum(0); | |
1630 | fOutput->Add(fHistd0zITSMIoneSPDInAccS500700); | |
1631 | ||
1632 | fHistd0zITSMIoneSPDInAccS10001500 = new TH1F("fHistd0zITSMIoneSPDInAccS10001500","Longitudinal imp. par. to VertexTracks for secondaries; d_{0} z [cm]; N tracks",300,-1.5,1.5); | |
1633 | fHistd0zITSMIoneSPDInAccS10001500->Sumw2(); | |
1634 | fHistd0zITSMIoneSPDInAccS10001500->SetMinimum(0); | |
1635 | fOutput->Add(fHistd0zITSMIoneSPDInAccS10001500); | |
1636 | ||
af874c53 | 1637 | fHistITSRedChi2NonFakePt02 = new TH1F("fHistITSRedChi2NonFakePt02","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100); |
1638 | fOutput->Add(fHistITSRedChi2NonFakePt02); | |
1639 | fHistITSRedChi2FakePt02 = new TH1F("fHistITSRedChi2FakePt02","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100); | |
1640 | fOutput->Add(fHistITSRedChi2FakePt02); | |
1641 | fHistITSRedChi2NonFakePt05 = new TH1F("fHistITSRedChi2NonFakePt05","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100); | |
1642 | fOutput->Add(fHistITSRedChi2NonFakePt05); | |
1643 | fHistITSRedChi2FakePt05 = new TH1F("fHistITSRedChi2FakePt05","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100); | |
1644 | fOutput->Add(fHistITSRedChi2FakePt05); | |
1645 | fHistITSRedChi2NonFakePt1 = new TH1F("fHistITSRedChi2NonFakePt1","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100); | |
1646 | fOutput->Add(fHistITSRedChi2NonFakePt1); | |
1647 | fHistITSRedChi2FakePt1 = new TH1F("fHistITSRedChi2FakePt1","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100); | |
1648 | fOutput->Add(fHistITSRedChi2FakePt1); | |
1649 | ||
f8777463 | 1650 | |
8d63376d | 1651 | // ntuples |
1652 | // | |
dbf573fb | 1653 | fNtupleESDTracks = new TNtuple("fNtupleESDTracks","tracks","pt:eta:phi:d0:z0:sigmad0:sigmaz0:ptMC:pdgMC:pdgMCMoth:d0MC:d0MCv:z0MCv:sigmad0MCv:sigmaz0MCv:ITSflag:isPrimary:isTPCSel"); |
8d63376d | 1654 | fOutput->Add(fNtupleESDTracks); |
1655 | ||
c2893e82 | 1656 | fNtupleITSAlignExtra = new TNtuple("fNtupleITSAlignExtra","ITS alignment checks: extra clusters","layer:x:y:z:dxy:dz:xloc:zloc:npoints:pt"); |
8d63376d | 1657 | fOutput->Add(fNtupleITSAlignExtra); |
1658 | ||
c2893e82 | 1659 | fNtupleITSAlignSPDTracklets = new TNtuple("fNtupleITSAlignSPDTracklets","ITS alignment checks: SPD tracklets wrt SPD vertex","phi:theta:z:dxy:dz:pt"); |
8d63376d | 1660 | fOutput->Add(fNtupleITSAlignSPDTracklets); |
1661 | ||
4f7217d1 | 1662 | PostData(1, fOutput); |
8d63376d | 1663 | return; |
1664 | } | |
1665 | ||
1666 | //________________________________________________________________________ | |
d98a315a | 1667 | void AliAnalysisTaskITSTrackingCheck::UserExec(Option_t *) |
8d63376d | 1668 | { |
1669 | // Main loop | |
1670 | // Called for each event | |
c0d39d2a | 1671 | |
d98a315a | 1672 | fESD = dynamic_cast<AliESDEvent*>(InputEvent()); |
1673 | ||
1674 | if (!fESD) { | |
1675 | Printf("ERROR: fESD not available"); | |
1676 | return; | |
1677 | } | |
1678 | ||
0b2e8130 | 1679 | //if(fESD->GetEventNumberInFile()<7) return; |
1680 | ||
5ac4a99f | 1681 | // only events in the requested multiplicity range |
1682 | if(!IsSelectedCentrality()) return; | |
f8777463 | 1683 | |
1684 | fHistNEvents->Fill(-1); | |
1685 | ||
c0d39d2a | 1686 | |
f8777463 | 1687 | Bool_t isSelected = kTRUE; |
1688 | if(fUsePhysSel) { | |
1689 | isSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected(); | |
1690 | } | |
1691 | if(!isSelected) return; | |
1692 | ||
d98a315a | 1693 | |
2308c814 | 1694 | //if(fESD->GetEventType()!=7) return; |
8d63376d | 1695 | |
8d63376d | 1696 | // *********** MC info *************** |
1697 | TArrayF mcVertex(3); | |
1698 | mcVertex[0]=9999.; mcVertex[1]=9999.; mcVertex[2]=9999.; | |
1699 | Float_t dNchdy=-999.; | |
1700 | ||
1701 | TParticle *part=0; | |
1702 | AliESDVertex *vertexMC=0; | |
1703 | AliStack *stack=0; | |
1704 | if (fReadMC) { | |
1705 | AliMCEventHandler *eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()); | |
1706 | if (!eventHandler) { | |
1707 | Printf("ERROR: Could not retrieve MC event handler"); | |
1708 | return; | |
1709 | } | |
1710 | ||
1711 | AliMCEvent* mcEvent = eventHandler->MCEvent(); | |
1712 | if (!mcEvent) { | |
1713 | Printf("ERROR: Could not retrieve MC event"); | |
1714 | return; | |
1715 | } | |
1716 | ||
1717 | stack = mcEvent->Stack(); | |
1718 | if (!stack) { | |
1719 | AliDebug(AliLog::kError, "Stack not available"); | |
1720 | return; | |
1721 | } | |
1722 | ||
1723 | AliHeader* header = mcEvent->Header(); | |
1724 | if (!header) { | |
1725 | AliDebug(AliLog::kError, "Header not available"); | |
1726 | return; | |
1727 | } | |
1728 | AliGenEventHeader* genHeader = header->GenEventHeader(); | |
1729 | genHeader->PrimaryVertex(mcVertex); | |
d1d5a660 | 1730 | //printf("MC vertex: %f %f %f\n",mcVertex[0],mcVertex[1],mcVertex[2]); |
8d63376d | 1731 | |
1732 | Int_t ngenpart = (Int_t)stack->GetNtrack(); | |
d1d5a660 | 1733 | //printf("# generated particles = %d\n",ngenpart); |
8d63376d | 1734 | dNchdy=0; |
1735 | for(Int_t ip=0; ip<ngenpart; ip++) { | |
1736 | part = (TParticle*)stack->Particle(ip); | |
1737 | // keep only electrons, muons, pions, kaons and protons | |
1738 | Int_t apdg = TMath::Abs(part->GetPdgCode()); | |
1739 | if(apdg!=11 && apdg!=13 && apdg!=211 && apdg!=321 && apdg!=2212) continue; | |
1740 | // reject secondaries | |
af874c53 | 1741 | //if(TMath::Sqrt((part->Vx()-mcVertex[0])*(part->Vx()-mcVertex[0])+(part->Vy()-mcVertex[1])*(part->Vy()-mcVertex[1]))<.01) printf("%f\n",TMath::Sqrt((part->Vx()-mcVertex[0])*(part->Vx()-mcVertex[0])+(part->Vy()-mcVertex[1])*(part->Vy()-mcVertex[1]))); |
8d63376d | 1742 | if(TMath::Sqrt((part->Vx()-mcVertex[0])*(part->Vx()-mcVertex[0])+(part->Vy()-mcVertex[1])*(part->Vy()-mcVertex[1]))>0.0010) continue; |
1743 | // reject incoming protons | |
1744 | Double_t energy = part->Energy(); | |
1745 | if(energy>900.) continue; | |
1746 | Double_t pz = part->Pz(); | |
1747 | Double_t y = 0.5*TMath::Log((energy+pz+1.e-13)/(energy-pz+1.e-13)); | |
1748 | if(TMath::Abs(y)<1.0) dNchdy += 0.5; // count 1/2 of particles in |y|<1 | |
1749 | } | |
d1d5a660 | 1750 | //printf("# primary particles = %7.1f\n",dNchdy); |
8d63376d | 1751 | } |
1752 | // *********** MC info *************** | |
1753 | Double_t mcVtxPos[3]={mcVertex[0],mcVertex[1],mcVertex[2]},mcVtxSigma[3]={0,0,0}; | |
1754 | vertexMC = new AliESDVertex(mcVtxPos,mcVtxSigma); | |
1755 | ||
8d63376d | 1756 | |
f8777463 | 1757 | |
1758 | //------- event selection -------- | |
1759 | Int_t mincontrSPDvtx=1; | |
0b2e8130 | 1760 | Double_t maxzSPDvtx=5.; |
ebcbf764 | 1761 | Double_t maxrSPDvtx=0.5; |
dbf573fb | 1762 | Bool_t useTRKvtx=kTRUE; |
1763 | Bool_t useSPDvtxifNotTRK=kTRUE; | |
1764 | Int_t mincontrTRKvtx=1; | |
1765 | //Double_t maxzTRKvtx=20.; | |
1766 | //Double_t maxrTRKvtx=1.; | |
f8777463 | 1767 | //------- TPC track selection -------- |
0b2e8130 | 1768 | Int_t minclsTPC=70; |
f8777463 | 1769 | Double_t maxchi2perTPCcl=4.; |
1770 | Double_t minEtaInAcc=-0.8; // -0.8 | |
1771 | Double_t maxEtaInAcc=0.8; // 0.8 | |
9a3cd95a | 1772 | Double_t maxdcaxy=2.4;//2.4; |
1773 | Double_t maxdcaz=3.2;//3.2; | |
f8777463 | 1774 | AliESDtrackCuts* esdtrackCutsTPC = new AliESDtrackCuts("esdtrackCutsTPC"); |
1775 | esdtrackCutsTPC->SetMaxDCAToVertexXY(maxdcaxy); | |
1776 | esdtrackCutsTPC->SetMaxDCAToVertexZ(maxdcaz); | |
1777 | esdtrackCutsTPC->SetDCAToVertex2D(kTRUE); | |
1778 | esdtrackCutsTPC->SetRequireSigmaToVertex(kFALSE); | |
1779 | esdtrackCutsTPC->SetRequireTPCRefit(kFALSE);// cannot do it because status not copied in AliESDtrack::FillTPCOnlyTrack | |
1780 | esdtrackCutsTPC->SetAcceptKinkDaughters(kFALSE); | |
1781 | esdtrackCutsTPC->SetMinNClustersTPC(minclsTPC); | |
1782 | esdtrackCutsTPC->SetMaxChi2PerClusterTPC(maxchi2perTPCcl); | |
1783 | esdtrackCutsTPC->SetEtaRange(minEtaInAcc,maxEtaInAcc); | |
1784 | SetESDtrackCutsTPC(esdtrackCutsTPC); | |
1785 | //------- ITS+TPC track selection -------- | |
1786 | Double_t maxdcaxyITSTPC=0.2; | |
1787 | Double_t maxdcazITSTPC=1.e6; | |
1788 | AliESDtrackCuts* esdtrackCutsITSTPC = new AliESDtrackCuts("esdtrackCutsITSTPC"); | |
1789 | esdtrackCutsITSTPC->SetMaxDCAToVertexXY(maxdcaxyITSTPC); | |
1790 | esdtrackCutsITSTPC->SetMaxDCAToVertexZ(maxdcazITSTPC); | |
1791 | esdtrackCutsITSTPC->SetDCAToVertex2D(kFALSE); | |
1792 | esdtrackCutsITSTPC->SetRequireSigmaToVertex(kFALSE); | |
1793 | esdtrackCutsITSTPC->SetRequireITSRefit(kTRUE); | |
1794 | esdtrackCutsITSTPC->SetClusterRequirementITS(AliESDtrackCuts::kSPD, | |
1795 | AliESDtrackCuts::kAny); | |
1796 | esdtrackCutsITSTPC->SetAcceptKinkDaughters(kFALSE); | |
1797 | esdtrackCutsITSTPC->SetMinNClustersTPC(minclsTPC); | |
1798 | esdtrackCutsITSTPC->SetMaxChi2PerClusterTPC(maxchi2perTPCcl); | |
1799 | esdtrackCutsITSTPC->SetEtaRange(minEtaInAcc,maxEtaInAcc); | |
1800 | SetESDtrackCutsITSTPC(esdtrackCutsITSTPC); | |
1801 | //--------------------------------------- | |
1802 | ||
1803 | ||
8d63376d | 1804 | // |
2308c814 | 1805 | |
1806 | /* | |
8d63376d | 1807 | // ********** Trigger ***************** |
1808 | ULong64_t triggerMask; | |
1809 | ULong64_t spdFO = (1 << 14); | |
1810 | ULong64_t v0left = (1 << 11); | |
1811 | ULong64_t v0right = (1 << 12); | |
1812 | ||
1813 | triggerMask=fESD->GetTriggerMask(); | |
1814 | // MB1: SPDFO || V0L || V0R | |
1815 | Bool_t eventTriggered = (triggerMask & spdFO || ((triggerMask & v0left) || (triggerMask & v0right))); | |
1816 | //MB2: GFO && V0R | |
1817 | //triggerMask & spdFO && ((triggerMask&v0left) || (triggerMask&v0right)) | |
1818 | // ************ Trigger ****************** | |
1819 | if(!eventTriggered) return; | |
2308c814 | 1820 | */ |
8d63376d | 1821 | |
f8777463 | 1822 | |
1823 | fHistNEvents->Fill(0); | |
1824 | ||
8d63376d | 1825 | // SPD vertex |
1826 | const AliESDVertex *spdv=fESD->GetPrimaryVertexSPD(); | |
f8777463 | 1827 | // Select good SPD vertices |
1828 | TString spdvtitle=spdv->GetTitle(); | |
1829 | //if(!spdvtitle.Contains("3D")) return; | |
1830 | if(spdv->GetNContributors()<mincontrSPDvtx || | |
1831 | TMath::Abs(spdv->GetZv())>maxzSPDvtx || | |
1832 | spdv->GetXv()*spdv->GetXv()+spdv->GetYv()*spdv->GetYv()>maxrSPDvtx) { | |
1833 | delete esdtrackCutsTPC; esdtrackCutsTPC=0; | |
1834 | delete esdtrackCutsITSTPC; esdtrackCutsITSTPC=0; | |
1835 | return; | |
1836 | } | |
d1d5a660 | 1837 | //spdv->Print(); |
dbf573fb | 1838 | |
9f024d7a | 1839 | if(fRejPileupSPD) if(fESD->IsPileupFromSPD()) return; |
1840 | ||
f8777463 | 1841 | // |
1842 | // Tracks vertex | |
1843 | const AliESDVertex *vertexESD = fESD->GetPrimaryVertexTracks(); | |
d1d5a660 | 1844 | //vertexESD->Print(); |
f8777463 | 1845 | |
1846 | if(spdvtitle.Contains("3D")) { | |
1847 | fHistNEvents->Fill(1); | |
1848 | fHistNEvents->Fill(3); | |
1849 | } else { | |
1850 | fHistNEvents->Fill(2); | |
1851 | fHistNEvents->Fill(3); | |
1852 | } | |
1853 | if(vertexESD) { | |
1854 | if(vertexESD->GetStatus()) fHistNEvents->Fill(4); | |
1855 | } | |
1856 | ||
8d63376d | 1857 | Int_t ntracks = fESD->GetNumberOfTracks(); |
abe2795e | 1858 | //printf("Tracks # = %d\n",fESD->GetNumberOfTracks()); |
8d63376d | 1859 | |
1860 | fHistNtracks->Fill(ntracks); | |
1861 | // Post the data already here | |
d98a315a | 1862 | PostData(1, fOutput); |
8d63376d | 1863 | |
0b2e8130 | 1864 | FillNClustersModuleMap(); |
1865 | ||
8d63376d | 1866 | Int_t idet,status; Float_t xloc,zloc; |
3f18d0a6 | 1867 | Double_t rSPDouter=7.6,rSDDouter=23.9,rSSDouter=43.1; |
1868 | Double_t zSPDouter=14.1,zSDDouter=29.7,zSSDouter=48.9; | |
1869 | ||
8d63376d | 1870 | // loop on tracks |
1871 | for(Int_t itr=0; itr<ntracks; itr++) { | |
1872 | AliESDtrack *track = fESD->GetTrack(itr); | |
af874c53 | 1873 | //if(track->Charge()>0) continue; |
2308c814 | 1874 | // remove kink daughters |
8d63376d | 1875 | if(track->GetKinkIndex(0)>0) continue; |
1876 | ||
3f18d0a6 | 1877 | // remove tracks not reco in ITS or TPC |
1878 | if (!(track->GetStatus() & AliESDtrack::kITSin) && | |
1879 | !(track->GetStatus() & AliESDtrack::kTPCin)) continue; | |
8d63376d | 1880 | |
f8777463 | 1881 | Bool_t isPrimary=kTRUE,isFromMat=kFALSE,isFromStrange=kFALSE; |
1882 | Double_t rProdVtx=0,zProdVtx=0; | |
1883 | Int_t pdgTrk=0,pdgMoth=0; | |
dbf573fb | 1884 | Int_t nClsMCSPD=0; |
f8777463 | 1885 | |
1886 | Int_t trkLabel = TMath::Abs(track->GetLabel()); | |
0faeb7ba | 1887 | Bool_t isFake=(track->GetLabel()>=0 ? kFALSE : kTRUE); |
0b2e8130 | 1888 | Bool_t hasShared=kFALSE,hasSharedSPD=kFALSE; |
1889 | for(Int_t i=0;i<6;i++) { | |
1890 | if(track->HasSharedPointOnITSLayer(i)) { | |
1891 | hasShared=kTRUE; | |
1892 | if(i<2) hasSharedSPD=kTRUE; | |
1893 | } | |
1894 | } | |
1895 | ||
f8777463 | 1896 | // check if it is primary |
1897 | if(fReadMC && stack) { | |
1898 | isPrimary = stack->IsPhysicalPrimary(trkLabel); | |
1899 | part = (TParticle*)stack->Particle(trkLabel); | |
1900 | rProdVtx = TMath::Sqrt((part->Vx()-mcVertex[0])*(part->Vx()-mcVertex[0])+(part->Vy()-mcVertex[1])*(part->Vy()-mcVertex[1])); | |
1901 | zProdVtx = TMath::Abs(part->Vz()-mcVertex[2]); | |
1902 | //if(rProdVtx<2.8) isPrimary=kTRUE; // this could be tried | |
1903 | pdgTrk = TMath::Abs(part->GetPdgCode()); | |
1904 | if(part->GetFirstMother()>=0) { | |
1905 | TParticle* mm=stack->Particle(part->GetFirstMother()); | |
1906 | if(mm) pdgMoth = TMath::Abs(mm->GetPdgCode()); | |
1907 | } | |
dbf573fb | 1908 | if(pdgMoth==310 || pdgMoth==321 || pdgMoth==3122 || pdgMoth==3312) isFromStrange=kTRUE; |
f8777463 | 1909 | if(pdgMoth==211 || pdgMoth==22 || pdgMoth==2112 || pdgMoth==2212) isFromMat=kTRUE; |
dbf573fb | 1910 | nClsMCSPD = NumberOfITSClustersMC(trkLabel,240); |
f8777463 | 1911 | } |
1912 | ||
1913 | Bool_t itsrefit=kFALSE,tpcrefit=kFALSE,itsfindable=kFALSE,itsfindableAcc=kFALSE; | |
8d63376d | 1914 | if ((track->GetStatus() & AliESDtrack::kITSrefit)) itsrefit=kTRUE; |
f8777463 | 1915 | if ((track->GetStatus() & AliESDtrack::kTPCrefit)) tpcrefit=kTRUE; |
1916 | //if ((track->GetStatus() & AliESDtrack::kTPCin)) tpcrefit=kTRUE; | |
8d63376d | 1917 | |
0b2e8130 | 1918 | |
1919 | ||
f8777463 | 1920 | // remove tracks with kTPCin and not kTPCrefit |
1921 | if ((track->GetStatus() & AliESDtrack::kTPCin) && !tpcrefit) continue; | |
8d63376d | 1922 | |
f8777463 | 1923 | AliESDtrack *trackTPC = 0; |
1924 | if(tpcrefit) trackTPC = AliESDtrackCuts::GetTPCOnlyTrack(fESD,itr); | |
1925 | if(trackTPC) trackTPC->RelateToVertex(spdv,fESD->GetMagneticField(),100.); // relate it to the SPD vertex | |
1926 | ||
2308c814 | 1927 | |
2308c814 | 1928 | Int_t nclsITS = track->GetNcls(0); |
6c6fab7b | 1929 | Int_t nclsSDDSSD = 0; |
3f18d0a6 | 1930 | Int_t nclsokbadoutinzITS = 0; |
2308c814 | 1931 | Bool_t outInZ=kFALSE; |
f8777463 | 1932 | Bool_t skipTrack=kFALSE; |
0b2e8130 | 1933 | Bool_t fillA=kFALSE; |
1934 | Bool_t fillB=kFALSE; | |
8d63376d | 1935 | |
1936 | for(Int_t layer=0; layer<6; layer++) { | |
6c6fab7b | 1937 | if(layer>=2 && track->HasPointOnITSLayer(layer)) nclsSDDSSD++; |
dbf573fb | 1938 | if(layer==0 && !track->HasPointOnITSLayer(1)) continue; |
1939 | if(layer==1 && !track->HasPointOnITSLayer(0)) continue; | |
8d63376d | 1940 | track->GetITSModuleIndexInfo(layer,idet,status,xloc,zloc); |
f8777463 | 1941 | if(status<0) continue; |
2308c814 | 1942 | if(layer>=2) idet+=240; // add n SPD modules |
f8777463 | 1943 | if(layer>=4) idet+=260; // add n SDD modules |
2308c814 | 1944 | if(status==4) outInZ=kTRUE; |
dbf573fb | 1945 | |
1946 | if(layer==1 && tpcrefit && itsrefit) { | |
1947 | Double_t xyz[3]; | |
1948 | track->GetXYZAt(rSPDouter,fESD->GetMagneticField(),xyz); | |
1949 | if(status==1) { | |
1950 | if(idet%4==0) fHistZatSPDouter0ok->Fill(xyz[2]); | |
1951 | if(idet%4==1) fHistZatSPDouter1ok->Fill(xyz[2]); | |
1952 | if(idet%4==2) fHistZatSPDouter2ok->Fill(xyz[2]); | |
1953 | if(idet%4==3) fHistZatSPDouter3ok->Fill(xyz[2]); | |
1954 | } | |
1955 | if(status==2 || status==5) { | |
1956 | if(idet%4==0) fHistZatSPDouter0notok->Fill(xyz[2]); | |
1957 | if(idet%4==1) fHistZatSPDouter1notok->Fill(xyz[2]); | |
1958 | if(idet%4==2) fHistZatSPDouter2notok->Fill(xyz[2]); | |
1959 | if(idet%4==3) fHistZatSPDouter3notok->Fill(xyz[2]); | |
1960 | } | |
1961 | } | |
1962 | // kill SDD clusters in MC | |
1963 | if(fReadMC && (layer==2 || layer==3)) { | |
1964 | Double_t qITS[4]; track->GetITSdEdxSamples(qITS); | |
1965 | Double_t conv=3.34/5.43; | |
1966 | if(layer==2 && status==1 && qITS[0]*conv < 30.) status=5; | |
1967 | if(layer==3 && status==1 && qITS[1]*conv < 30.) status=5; | |
1968 | } | |
f8777463 | 1969 | if(tpcrefit) { |
dbf573fb | 1970 | if(trackTPC) if(!fESDtrackCutsTPC->AcceptTrack(trackTPC)) continue; |
0b2e8130 | 1971 | if(track->Pt()>0.7 && track->Pt()<2.0) { |
1972 | if(status==1) { | |
1973 | fHistClusterMapITSMIok->Fill(layer); | |
1974 | if(fillA) fHistClusterMapITSMIokA->Fill(layer); | |
1975 | if(fillB) fHistClusterMapITSMIokB->Fill(layer); | |
1976 | } | |
1977 | if(status==2) fHistClusterMapITSMIbad->Fill(layer); | |
1978 | if(status==3) fHistClusterMapITSMIskipped->Fill(layer); | |
1979 | if(status==4) fHistClusterMapITSMIoutinz->Fill(layer); | |
1980 | if(status==5) fHistClusterMapITSMInocls->Fill(layer); | |
1981 | if(status==6) fHistClusterMapITSMInorefit->Fill(layer); | |
1982 | if(status==1 && !outInZ) fHistClusterMapModuleITSMIokInAcc->Fill(idet); | |
1983 | if((status==2 || status==7) && !outInZ) fHistClusterMapModuleITSMIbadInAcc->Fill(idet); | |
1984 | if(status==5 && !outInZ) fHistClusterMapModuleITSMInoclsInAcc->Fill(idet); | |
1985 | ||
1986 | if((idet>=0 && idet<=11) || (idet>=36 && idet<=47)) fillA=kTRUE; | |
1987 | if((idet>=28 && idet<=35) || (idet>=62 && idet<=71)) fillB=kTRUE; | |
1988 | ||
1989 | } | |
3f18d0a6 | 1990 | if(status==1 || status==2 || status==4) { |
1991 | fHistClusterMapITSMIokoutinzbad->Fill(layer); | |
1992 | nclsokbadoutinzITS++; | |
1993 | } | |
dbf573fb | 1994 | /*if(idet>=80 && idet<120) { |
1995 | Double_t xyz[3]; | |
1996 | track->GetXYZAt(6.8,fESD->GetMagneticField(),xyz); | |
1997 | printf("det %d status %d phi %f z %f zloc %f xloc %f\n",idet,status,TMath::ATan2(xyz[1],xyz[0]),xyz[2],zloc,xloc); | |
1998 | }*/ | |
1999 | if((layer==2 || layer==3) && status!=2 && status!=4) { | |
2000 | //Float_t xlocCls; | |
2001 | //Int_t nClsInMod = NumberOfITSClusters(idet,xlocCls); | |
f8777463 | 2002 | fHistxlocSDDall->Fill(xloc); |
2003 | fHistzlocSDDall->Fill(zloc); | |
dbf573fb | 2004 | if(status==1 /*nClsInMod>0*/) { |
f8777463 | 2005 | fHistxlocSDDok->Fill(xloc); |
2006 | fHistxlocVSmodSDDok->Fill(idet,xloc); | |
2007 | fHistzlocSDDok->Fill(zloc); | |
0b2e8130 | 2008 | if(fillA) fHistxlocSDDA->Fill(xloc); |
2009 | if(fillA) fHistzlocSDDA->Fill(zloc); | |
2010 | if(fillB) fHistxlocSDDB->Fill(xloc); | |
2011 | if(fillB) fHistzlocSDDB->Fill(zloc); | |
2012 | ||
dbf573fb | 2013 | } |
f8777463 | 2014 | } |
8d63376d | 2015 | } else { |
0b2e8130 | 2016 | if(track->Phi()>1.5 && track->Phi()<1.7) { // ADDED |
8d63376d | 2017 | if(status==1) fHistClusterMapITSSAok->Fill(layer); |
2018 | if(status==2) fHistClusterMapITSSAbad->Fill(layer); | |
2019 | if(status==3) fHistClusterMapITSSAskipped->Fill(layer); | |
2020 | if(status==4) fHistClusterMapITSSAoutinz->Fill(layer); | |
2021 | if(status==5) fHistClusterMapITSSAnocls->Fill(layer); | |
2022 | if(status==6) fHistClusterMapITSSAnorefit->Fill(layer); | |
2308c814 | 2023 | if(status==1 || status==2 || status==4) fHistClusterMapITSSAokoutinzbad->Fill(layer); |
2024 | if(status==1 && !outInZ) {fHistClusterMapITSSAokInAcc->Fill(layer);fHistClusterMapModuleITSSAokInAcc->Fill(idet);} | |
dbf573fb | 2025 | if((status==2 || status==7) && !outInZ) {fHistClusterMapITSSAbadInAcc->Fill(layer);fHistClusterMapModuleITSSAbadInAcc->Fill(idet);} |
2308c814 | 2026 | if(status==3 && !outInZ) fHistClusterMapITSSAskippedInAcc->Fill(layer); |
2027 | if(status==4 && !outInZ) fHistClusterMapITSSAoutinzInAcc->Fill(layer); | |
2028 | if(status==5 && !outInZ) {fHistClusterMapITSSAnoclsInAcc->Fill(layer);fHistClusterMapModuleITSSAnoclsInAcc->Fill(idet);} | |
2029 | if(status==6 && !outInZ) fHistClusterMapITSSAnorefitInAcc->Fill(layer); | |
2030 | if((status==1 || status==2 || status==4) && !outInZ) fHistClusterMapITSSAokoutinzbadInAcc->Fill(layer); | |
0b2e8130 | 2031 | } // ADDED |
2308c814 | 2032 | } |
2033 | if(TESTBIT(track->GetITSClusterMap(),layer)) { | |
f8777463 | 2034 | if(tpcrefit) { |
2308c814 | 2035 | fHistClusterMapITSMI->Fill(layer); |
2036 | } else { | |
2037 | fHistClusterMapITSSA->Fill(layer); | |
2038 | if(!outInZ) fHistClusterMapITSSAInAcc->Fill(layer); | |
2039 | } | |
8d63376d | 2040 | } |
dbf573fb | 2041 | /* |
2042 | // SKIP SDD MODULES LOW EFF | |
2043 | if( | |
2044 | idet==246 || | |
2045 | idet==247 || | |
2046 | idet==256 || | |
2047 | idet==261 || | |
2048 | idet==267 || | |
2049 | idet==333 || | |
2050 | idet==343 || | |
2051 | idet==346 || | |
2052 | idet==349 || | |
2053 | idet==376 || | |
2054 | idet==390 || | |
2055 | idet==392 || | |
2056 | idet==409 || | |
2057 | idet==411 || | |
2058 | idet==464 || | |
2059 | idet==468 || | |
2060 | idet==474 || | |
2061 | idet==469 | |
2062 | ) | |
2063 | skipTrack=kTRUE; | |
2064 | */ | |
2065 | /* | |
2066 | if( | |
2067 | idet==245 | |
2068 | || idet==248 | |
2069 | || idet==253 | |
2070 | || idet==264 | |
2071 | || idet==276 | |
2072 | || idet==286 | |
2073 | || idet==287 | |
2074 | || idet==292 | |
2075 | || idet==295 | |
2076 | || idet==302 | |
2077 | || idet==305 | |
2078 | || idet==307 | |
2079 | || idet==315 | |
2080 | || idet==320 | |
2081 | || idet==330 | |
2082 | || idet==331 | |
2083 | || idet==341 | |
2084 | || idet==357 | |
2085 | || idet==368 | |
2086 | || idet==376 | |
2087 | || idet==377 | |
2088 | || idet==378 | |
2089 | || idet==379 | |
2090 | || idet==380 | |
2091 | || idet==381 | |
2092 | || idet==382 | |
2093 | || idet==383 | |
2094 | || idet==422 | |
2095 | || idet==444 | |
2096 | || idet==445 | |
2097 | || idet==450 | |
2098 | || idet==451 | |
2099 | || idet==452 | |
2100 | || idet==453 | |
2101 | || idet==455 | |
2102 | || idet==459 | |
2103 | || idet==469 | |
2104 | || idet==485 | |
2105 | || idet==493 | |
2106 | || idet==494 | |
2107 | || idet==495 | |
2108 | || idet==496 | |
2109 | || idet==497 | |
2110 | || idet==498 | |
2111 | || idet==499 | |
2112 | ) skipTrack=kTRUE; | |
2113 | // SKIP SDD MODULES LOW EFF | |
2114 | */ | |
8d63376d | 2115 | } |
c0d39d2a | 2116 | if(skipTrack) {delete trackTPC; trackTPC=0; continue;} |
8d63376d | 2117 | |
3f18d0a6 | 2118 | // TPC track findable in ITS |
f8777463 | 2119 | if(tpcrefit && trackTPC) { |
2120 | if(fESDtrackCutsTPC->AcceptTrack(trackTPC)) { | |
2121 | itsfindable=kTRUE; | |
2122 | Double_t zAtSSDouter=100,zAtSDDouter=100,zAtSPDouter=100; | |
2123 | track->GetZAt(rSSDouter,fESD->GetMagneticField(),zAtSSDouter); | |
2124 | track->GetZAt(rSDDouter,fESD->GetMagneticField(),zAtSDDouter); | |
2125 | track->GetZAt(rSPDouter,fESD->GetMagneticField(),zAtSPDouter); | |
2126 | fHistPtTPC->Fill(track->Pt()); | |
dbf573fb | 2127 | if(TMath::Abs(zAtSSDouter)<1.*zSSDouter && |
2128 | TMath::Abs(zAtSDDouter)<1.*zSDDouter && | |
2129 | TMath::Abs(zAtSPDouter)<1.*zSPDouter) { | |
0b2e8130 | 2130 | itsfindableAcc=kTRUE; |
f8777463 | 2131 | fHistdEdxVSPtTPCInAcc->Fill(track->Pt(),track->GetTPCsignal()); |
2132 | fHistPtTPCInAcc->Fill(track->Pt()); | |
0b2e8130 | 2133 | fHistTPCclsVSPtTPCInAcc->Fill(trackTPC->Pt(),trackTPC->GetNcls(1)); |
f8777463 | 2134 | fHistPtVSphiTPCInAcc->Fill(track->Phi(),track->Pt()); |
2135 | if(!(track->GetStatus()&AliESDtrack::kTRDout)) fHistPtTPCInAccNoTRDout->Fill(track->Pt()); | |
2136 | if(!(track->GetStatus()&AliESDtrack::kTOFout)) fHistPtTPCInAccNoTOFout->Fill(track->Pt()); | |
2137 | fHistPtTPCInAccWithPtTPCAtVtx->Fill(trackTPC->Pt()); | |
2138 | Double_t pTPCinnerwall[3]; | |
2139 | track->GetInnerPxPyPz(pTPCinnerwall); | |
2140 | Double_t ptTPCinnerwall=TMath::Sqrt(pTPCinnerwall[0]*pTPCinnerwall[0]+pTPCinnerwall[1]*pTPCinnerwall[1]); | |
2141 | fHistPtTPCInAccWithPtTPCAtInnerWall->Fill(ptTPCinnerwall); | |
dbf573fb | 2142 | if(track->GetStatus()&AliESDtrack::kITSrefit && !(track->GetStatus()&AliESDtrack::kTOFout)) fHistDeltaPtTPC->Fill(trackTPC->P(),track->P()-trackTPC->P()); |
547640ff | 2143 | if(track->Pt()>1) { |
2144 | fHistPhiTPCInAcc->Fill(track->Phi()); | |
2145 | fHistEtaTPCInAcc->Fill(track->Eta()); | |
2146 | } | |
f8777463 | 2147 | if(isPrimary) { |
2148 | fHistPtTPCInAccP->Fill(track->Pt()); | |
2149 | if(pdgTrk==321) fHistPtTPCInAccPfromStrange->Fill(track->Pt()); | |
2150 | } else { | |
2151 | fHistPtTPCInAccS->Fill(track->Pt()); | |
2152 | if(isFromMat) fHistPtTPCInAccSfromMat->Fill(track->Pt()); | |
2153 | if(isFromStrange) fHistPtTPCInAccSfromStrange->Fill(track->Pt()); | |
2154 | } | |
dbf573fb | 2155 | if(nClsMCSPD==2) fHistPtTPCInAccMCtwoSPD->Fill(track->Pt()); |
2156 | if(nClsMCSPD>=1) fHistPtTPCInAccMConeSPD->Fill(track->Pt()); | |
0b2e8130 | 2157 | |
2158 | if(fillA) { | |
2159 | fHistEtaTPCInAccA->Fill(trackTPC->Eta()); | |
2160 | fHistNclsTPCInAccA->Fill(track->GetTPCNclsIter1()); | |
2161 | fHistChi2PerClsTPCInAccA->Fill(track->GetTPCchi2Iter1()/track->GetTPCNclsIter1()); | |
2162 | } | |
2163 | if(fillB) { | |
2164 | fHistEtaTPCInAccB->Fill(trackTPC->Eta()); | |
2165 | fHistNclsTPCInAccB->Fill(track->GetTPCNclsIter1()); | |
2166 | fHistChi2PerClsTPCInAccB->Fill(track->GetTPCchi2Iter1()/track->GetTPCNclsIter1()); | |
2167 | } | |
f8777463 | 2168 | //if(isPrimary) {fHistRProdVtxInAccP->Fill(rProdVtx);} else {fHistRProdVtxInAccS->Fill(rProdVtx);} |
2169 | } | |
3f18d0a6 | 2170 | } |
2308c814 | 2171 | } |
8d63376d | 2172 | |
dbf573fb | 2173 | |
2174 | if(useTRKvtx) { | |
2175 | // we need the vertex to compute the impact parameters | |
c0d39d2a | 2176 | if(!vertexESD) {delete trackTPC; trackTPC=0; continue;} |
dbf573fb | 2177 | if(!(vertexESD->GetStatus()) || vertexESD->GetNContributors()<mincontrTRKvtx) { |
2178 | if(useSPDvtxifNotTRK) { | |
2179 | vertexESD = fESD->GetPrimaryVertexSPD(); | |
2180 | } else { | |
c0d39d2a | 2181 | delete trackTPC; trackTPC=0; continue; |
dbf573fb | 2182 | } |
2183 | } | |
2184 | } | |
2185 | ||
0b2e8130 | 2186 | //if(hasSharedSPD) continue; |
d1d5a660 | 2187 | //if(track->GetITSFakeFlag()) continue; |
0b2e8130 | 2188 | |
f8777463 | 2189 | // track prolonged in ITS with different conditions |
2190 | if(itsrefit) { | |
2191 | if(itsfindable) { | |
2192 | if(nclsITS==6) fHistPtITSMI6->Fill(track->Pt()); | |
2193 | if(nclsITS==5) fHistPtITSMI5->Fill(track->Pt()); | |
2194 | if(nclsITS==4) fHistPtITSMI4->Fill(track->Pt()); | |
2195 | if(nclsITS==3) fHistPtITSMI3->Fill(track->Pt()); | |
2196 | if(nclsITS==2) fHistPtITSMI2->Fill(track->Pt()); | |
0b2e8130 | 2197 | if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1)) { |
f8777463 | 2198 | fHistPtITSMISPD->Fill(track->Pt()); |
0b2e8130 | 2199 | fHistTPCclsVSPtITSMISPDInAcc->Fill(track->Pt(),track->GetNcls(1)); |
2200 | } | |
f8777463 | 2201 | if(track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) |
2202 | fHistPtITSMIoneSPD->Fill(track->Pt()); | |
2203 | if(nclsokbadoutinzITS==6) fHistPtITSMIokbadoutinz6->Fill(track->Pt()); | |
2204 | } | |
2205 | if(itsfindableAcc) { | |
2206 | if(nclsITS==6) { | |
2207 | fHistPtITSMI6InAcc->Fill(track->Pt()); | |
547640ff | 2208 | if(track->Pt()>1) { |
2209 | fHistPhiITSMI6InAcc->Fill(track->Phi()); | |
2210 | fHistEtaITSMI6InAcc->Fill(track->Eta()); | |
2211 | } | |
0faeb7ba | 2212 | if(isFake) fHistPtITSMI6InAccFake->Fill(track->Pt()); |
f8777463 | 2213 | if(isPrimary) {fHistPtITSMI6InAccP->Fill(track->Pt());} else {fHistPtITSMI6InAccS->Fill(track->Pt());} |
2214 | } | |
2215 | if(nclsITS==5) { | |
2216 | fHistPtITSMI5InAcc->Fill(track->Pt()); | |
547640ff | 2217 | if(track->Pt()>1) { |
2218 | fHistPhiITSMI5InAcc->Fill(track->Phi()); | |
2219 | fHistEtaITSMI5InAcc->Fill(track->Eta()); | |
2220 | } | |
0faeb7ba | 2221 | if(isFake) fHistPtITSMI5InAccFake->Fill(track->Pt()); |
f8777463 | 2222 | if(isPrimary) {fHistPtITSMI5InAccP->Fill(track->Pt());} else {fHistPtITSMI5InAccS->Fill(track->Pt());} |
2223 | } | |
2224 | if(nclsITS==4) { | |
2225 | fHistPtITSMI4InAcc->Fill(track->Pt()); | |
547640ff | 2226 | if(track->Pt()>1) { |
2227 | fHistPhiITSMI4InAcc->Fill(track->Phi()); | |
2228 | fHistEtaITSMI4InAcc->Fill(track->Eta()); | |
2229 | } | |
0faeb7ba | 2230 | if(isFake) fHistPtITSMI4InAccFake->Fill(track->Pt()); |
f8777463 | 2231 | if(isPrimary) {fHistPtITSMI4InAccP->Fill(track->Pt());} else {fHistPtITSMI4InAccS->Fill(track->Pt());} |
2232 | } | |
2233 | if(nclsITS==3) { | |
2234 | fHistPtITSMI3InAcc->Fill(track->Pt()); | |
547640ff | 2235 | if(track->Pt()>1) { |
2236 | fHistPhiITSMI3InAcc->Fill(track->Phi()); | |
2237 | fHistEtaITSMI3InAcc->Fill(track->Eta()); | |
2238 | } | |
0faeb7ba | 2239 | if(isFake) fHistPtITSMI3InAccFake->Fill(track->Pt()); |
f8777463 | 2240 | if(isPrimary) {fHistPtITSMI3InAccP->Fill(track->Pt());} else {fHistPtITSMI3InAccS->Fill(track->Pt());} |
2241 | } | |
2242 | if(nclsITS==2) { | |
2243 | fHistPtITSMI2InAcc->Fill(track->Pt()); | |
547640ff | 2244 | if(track->Pt()>1) { |
2245 | fHistPhiITSMI2InAcc->Fill(track->Phi()); | |
2246 | fHistEtaITSMI2InAcc->Fill(track->Eta()); | |
2247 | } | |
0faeb7ba | 2248 | if(isFake) fHistPtITSMI2InAccFake->Fill(track->Pt()); |
f8777463 | 2249 | if(isPrimary) {fHistPtITSMI2InAccP->Fill(track->Pt());} else {fHistPtITSMI2InAccS->Fill(track->Pt());} |
2250 | } | |
2251 | if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1)) { | |
2252 | fHistPtITSMISPDInAcc->Fill(track->Pt()); | |
547640ff | 2253 | if(track->Pt()>1) { |
2254 | fHistPhiITSMISPDInAcc->Fill(track->Phi()); | |
2255 | fHistEtaITSMISPDInAcc->Fill(track->Eta()); | |
2256 | } | |
0faeb7ba | 2257 | if(isFake) fHistPtITSMISPDInAccFake->Fill(track->Pt()); |
f8777463 | 2258 | if(isPrimary) {fHistPtITSMISPDInAccP->Fill(track->Pt());} else {fHistPtITSMISPDInAccS->Fill(track->Pt());} |
2259 | } | |
2260 | if(track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) { | |
2261 | fHistPtITSMIoneSPDInAcc->Fill(track->Pt()); | |
547640ff | 2262 | if(track->Pt()>1) { |
2263 | fHistPhiITSMIoneSPDInAcc->Fill(track->Phi()); | |
2264 | fHistEtaITSMIoneSPDInAcc->Fill(track->Eta()); | |
2265 | } | |
0b2e8130 | 2266 | if(track->HasSharedPointOnITSLayer(0) || |
2267 | track->HasSharedPointOnITSLayer(1) || | |
2268 | track->HasSharedPointOnITSLayer(2) || | |
2269 | track->HasSharedPointOnITSLayer(3) || | |
2270 | track->HasSharedPointOnITSLayer(4) || | |
2271 | track->HasSharedPointOnITSLayer(5)) { | |
2272 | fHistPtITSMIoneSPDInAccShared->Fill(track->Pt()); | |
2273 | if(isFake) fHistPtITSMIoneSPDInAccSharedFake->Fill(track->Pt()); | |
2274 | } | |
2275 | if(track->HasSharedPointOnITSLayer(0) || track->HasSharedPointOnITSLayer(1)) { | |
2276 | fHistPtITSMIoneSPDInAccSharedSPD->Fill(track->Pt()); | |
2277 | if(isFake) fHistPtITSMIoneSPDInAccSharedSPDFake->Fill(track->Pt()); | |
2278 | } | |
2279 | if(track->HasSharedPointOnITSLayer(0)) fHistPtITSMISPD1InAccShared->Fill(track->Pt()); | |
2280 | if(track->HasSharedPointOnITSLayer(1)) fHistPtITSMISPD2InAccShared->Fill(track->Pt()); | |
2281 | ||
af874c53 | 2282 | Float_t chi2redITS = track->GetITSchi2()/track->GetNcls(0); |
0b2e8130 | 2283 | if(fillA) fHistChi2PerClsITSInAccA->Fill(chi2redITS); |
2284 | if(fillB) fHistChi2PerClsITSInAccB->Fill(chi2redITS); | |
2285 | ||
af874c53 | 2286 | if(track->Pt()>0.18 && track->Pt()<0.25) fHistITSRedChi2NonFakePt02->Fill(chi2redITS); |
2287 | if(track->Pt()>0.4 && track->Pt()<0.6) fHistITSRedChi2NonFakePt05->Fill(chi2redITS); | |
2288 | if(track->Pt()>0.9 && track->Pt()<1.5) fHistITSRedChi2NonFakePt1->Fill(chi2redITS); | |
2289 | if(isFake) { | |
2290 | fHistPtITSMIoneSPDInAccFake->Fill(track->Pt()); | |
2291 | if(track->Pt()>0.18 && track->Pt()<0.25) fHistITSRedChi2FakePt02->Fill(chi2redITS); | |
2292 | if(track->Pt()>0.4 && track->Pt()<0.6) fHistITSRedChi2FakePt05->Fill(chi2redITS); | |
2293 | if(track->Pt()>0.9 && track->Pt()<1.5) fHistITSRedChi2FakePt1->Fill(chi2redITS); | |
2294 | } | |
6c6fab7b | 2295 | if(nclsSDDSSD>=3) fHistPtITSMIoneSPDthreeSDDSSDInAcc->Fill(track->Pt()); |
2296 | ||
f8777463 | 2297 | if(isPrimary) {fHistPtITSMIoneSPDInAccP->Fill(track->Pt());} else {fHistPtITSMIoneSPDInAccS->Fill(track->Pt());} |
2298 | } | |
2299 | if(nclsokbadoutinzITS==6) fHistPtITSMIokbadoutinz6InAcc->Fill(track->Pt()); | |
2300 | if(nclsokbadoutinzITS==5) fHistPtITSMIokbadoutinz5InAcc->Fill(track->Pt()); | |
2301 | if(nclsokbadoutinzITS==4) fHistPtITSMIokbadoutinz4InAcc->Fill(track->Pt()); | |
547640ff | 2302 | if(nclsokbadoutinzITS==6 && track->Pt()>1) fHistPhiITSMIokbadoutinz6InAcc->Fill(track->Phi()); |
f8777463 | 2303 | } |
2304 | } | |
8d63376d | 2305 | |
f8777463 | 2306 | if(tpcrefit) { |
2308c814 | 2307 | fHistNclsITSMI->Fill(nclsITS); |
2308 | } else { | |
2309 | fHistNclsITSSA->Fill(nclsITS); | |
2310 | if(!outInZ) fHistNclsITSSAInAcc->Fill(nclsITS); | |
2311 | } | |
2312 | ||
f8777463 | 2313 | |
c0d39d2a | 2314 | if((tpcrefit && fUseITSSAforNtuples) || // only ITS-SA for ntuples |
2315 | (!tpcrefit && !fUseITSSAforNtuples)) // only ITS-TPC for ntuples | |
2316 | { delete trackTPC; trackTPC=0; continue; } | |
8d63376d | 2317 | |
f8777463 | 2318 | // impact parameter to VertexTracks |
e9204849 | 2319 | Float_t d0z0[2]={0,0},covd0z0[3]={0,0,0}; |
2320 | Double_t d0z0TPC[2]={0,0},covd0z0TPC[3]={0,0,0}; | |
dbf573fb | 2321 | if(useTRKvtx) { |
c0d39d2a | 2322 | if(!track->RelateToVertex(vertexESD,fESD->GetMagneticField(),kVeryBig)) { delete trackTPC; trackTPC=0; continue; } |
dbf573fb | 2323 | } else { |
2324 | //if(!track->RelateToVertex(vertexMC,fESD->GetMagneticField(),kVeryBig)) continue; | |
c0d39d2a | 2325 | if(!track->RelateToVertex(spdv,fESD->GetMagneticField(),kVeryBig)) { delete trackTPC; trackTPC=0; continue; } |
dbf573fb | 2326 | } |
f8777463 | 2327 | track->GetImpactParameters(d0z0,covd0z0); |
2328 | if(trackTPC) trackTPC->PropagateToDCA(spdv,fESD->GetMagneticField(),kVeryBig,d0z0TPC,covd0z0TPC); | |
c0d39d2a | 2329 | if(covd0z0[0]<0. || covd0z0[2]<0. || covd0z0TPC[0]<0. || covd0z0TPC[2]<0.) { delete trackTPC; trackTPC=0; continue; } |
2330 | ||
f8777463 | 2331 | |
2332 | // track that passes final ITS+TPC cuts | |
2333 | if(itsfindableAcc && fESDtrackCutsITSTPC->AcceptTrack(track)) { | |
2334 | fHistPtITSTPCsel->Fill(track->Pt()); | |
af874c53 | 2335 | if(isFake) fHistPtITSTPCselFake->Fill(track->Pt()); |
f8777463 | 2336 | fHistdEdxVSPtITSTPCsel->Fill(track->Pt(),track->GetITSsignal()); |
2337 | if(isPrimary) { | |
2338 | fHistPtITSTPCselP->Fill(track->Pt()); | |
2339 | if(pdgTrk==321) fHistPtITSTPCselPfromStrange->Fill(track->Pt()); | |
2340 | } else { | |
2341 | fHistPtITSTPCselS->Fill(track->Pt()); | |
2342 | if(isFromMat) fHistPtITSTPCselSfromMat->Fill(track->Pt()); | |
2343 | if(isFromStrange) fHistPtITSTPCselSfromStrange->Fill(track->Pt()); | |
2344 | } | |
2345 | } | |
2346 | ||
2347 | ||
2348 | // fill d0 histos | |
dbf573fb | 2349 | if(((!fUseITSSAforNtuples&&itsfindableAcc) || fUseITSSAforNtuples) /*&& track->Charge()>0*/) { |
0b2e8130 | 2350 | if(fillA && itsfindableAcc) { |
2351 | fHistd0rphiTPCInAccA->Fill(d0z0TPC[0]); | |
2352 | fHistd0zTPCInAccA->Fill(d0z0TPC[1]); | |
2353 | if(!track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit) { | |
2354 | fHistd0rphiITSMIoneSPDInAccA->Fill(d0z0[0]); | |
2355 | fHistd0zITSMIoneSPDInAccA->Fill(d0z0[1]); | |
2356 | } | |
2357 | } | |
2358 | if(fillB && itsfindableAcc) { | |
2359 | fHistd0rphiTPCInAccB->Fill(d0z0TPC[0]); | |
2360 | fHistd0zTPCInAccB->Fill(d0z0TPC[1]); | |
2361 | if(!track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit) { | |
2362 | fHistd0rphiITSMIoneSPDInAccB->Fill(d0z0[0]); | |
2363 | fHistd0zITSMIoneSPDInAccB->Fill(d0z0[1]); | |
2364 | } | |
2365 | } | |
f8777463 | 2366 | if(track->Pt()>0.150 && track->Pt()<0.200) { |
2367 | if(isPrimary) { | |
2368 | fHistd0rphiTPCInAccP150200->Fill(d0z0TPC[0]); | |
2369 | if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit) | |
2370 | fHistd0rphiITSMISPDInAccP150200->Fill(d0z0[0]); | |
2371 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
dbf573fb | 2372 | //if(((track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1)) || (!track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1))) && itsrefit) { |
f8777463 | 2373 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP150200->Fill(d0z0[0]); |
2374 | if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccP150200->Fill(d0z0[1]); | |
2375 | } | |
2376 | } else { | |
2377 | fHistd0rphiTPCInAccS150200->Fill(d0z0TPC[0]); | |
2378 | if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit) | |
2379 | fHistd0rphiITSMISPDInAccS150200->Fill(d0z0[0]); | |
2380 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
dbf573fb | 2381 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) { |
2382 | fHistd0rphiITSMIoneSPDInAccS150200->Fill(d0z0[0]); | |
2383 | if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS150200fromStrange->Fill(d0z0[0]); | |
2384 | if(isFromMat) fHistd0rphiITSMIoneSPDInAccS150200fromMat->Fill(d0z0[0]); | |
2385 | } | |
f8777463 | 2386 | if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccS150200->Fill(d0z0[1]); |
2387 | if(TMath::Abs(d0z0[0])<0.1) fHistPDGMoth150200->Fill(pdgMoth); | |
2388 | } | |
2389 | } | |
2390 | } | |
dbf573fb | 2391 | if(track->Pt()>0.350 && track->Pt()<0.450) { |
2392 | if(isPrimary) { | |
2393 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
2394 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP350450->Fill(d0z0[0]); | |
2395 | } | |
2396 | } else { | |
2397 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
2398 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) { | |
2399 | fHistd0rphiITSMIoneSPDInAccS350450->Fill(d0z0[0]); | |
2400 | if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS350450fromStrange->Fill(d0z0[0]); | |
2401 | if(isFromMat) fHistd0rphiITSMIoneSPDInAccS350450fromMat->Fill(d0z0[0]); | |
2402 | } | |
2403 | } | |
2404 | } | |
2405 | } | |
f8777463 | 2406 | if(track->Pt()>0.500 && track->Pt()<0.700) { |
2407 | if(isPrimary) { | |
2408 | fHistd0rphiTPCInAccP500700->Fill(d0z0TPC[0]); | |
2409 | if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit) | |
2410 | fHistd0rphiITSMISPDInAccP500700->Fill(d0z0[0]); | |
2411 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
2412 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP500700->Fill(d0z0[0]); | |
2413 | if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccP500700->Fill(d0z0[1]); | |
2414 | } | |
2415 | } else { | |
2416 | fHistd0rphiTPCInAccS500700->Fill(d0z0TPC[0]); | |
2417 | if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit) | |
2418 | fHistd0rphiITSMISPDInAccS500700->Fill(d0z0[0]); | |
2419 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
2420 | fHistPDGTrk->Fill(pdgTrk); | |
2421 | fHistPDGMoth->Fill(pdgMoth); | |
2422 | if(TMath::Abs(d0z0[0])<0.1) fHistPDGMoth500700->Fill(pdgMoth); | |
dbf573fb | 2423 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) { |
2424 | fHistd0rphiITSMIoneSPDInAccS500700->Fill(d0z0[0]); | |
2425 | if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS500700fromStrange->Fill(d0z0[0]); | |
2426 | if(isFromMat) fHistd0rphiITSMIoneSPDInAccS500700fromMat->Fill(d0z0[0]); | |
2427 | } | |
f8777463 | 2428 | if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccS500700->Fill(d0z0[1]); |
2429 | if(pdgMoth==310) fHistd0rphiITSMIoneSPDInAccS500700from310->Fill(d0z0[0]); | |
2430 | if(pdgMoth==321) fHistd0rphiITSMIoneSPDInAccS500700from321->Fill(d0z0[0]); | |
dbf573fb | 2431 | if(pdgMoth==3122) fHistd0rphiITSMIoneSPDInAccS500700from3122->Fill(d0z0[0]); |
f8777463 | 2432 | if(pdgMoth==211) fHistd0rphiITSMIoneSPDInAccS500700from211->Fill(d0z0[0]); |
2433 | if(pdgMoth==22) fHistd0rphiITSMIoneSPDInAccS500700from22->Fill(d0z0[0]); | |
dbf573fb | 2434 | if(pdgMoth==211 && TMath::Abs(d0z0[0])>0.5) fHistRProdVtxInAccS->Fill(rProdVtx); |
f8777463 | 2435 | } |
2436 | } | |
2437 | } | |
2438 | if(track->Pt()>1.000 && track->Pt()<1.500) { | |
2439 | if(isPrimary) { | |
2440 | fHistd0rphiTPCInAccP10001500->Fill(d0z0TPC[0]); | |
9a3cd95a | 2441 | fHistd0zVSetaTPCInAccP10001500->Fill(d0z0TPC[1],trackTPC->Eta()); |
2442 | ||
f8777463 | 2443 | if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit) |
2444 | fHistd0rphiITSMISPDInAccP10001500->Fill(d0z0[0]); | |
2445 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
2446 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP10001500->Fill(d0z0[0]); | |
2447 | if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccP10001500->Fill(d0z0[1]); | |
2448 | fHistd0rphiVSphiITSMIoneSPDInAccP10001500->Fill(d0z0[0],track->Phi()); | |
2449 | fHistd0rphiVSetaITSMIoneSPDInAccP10001500->Fill(d0z0[0],track->Eta()); | |
2450 | } | |
2451 | } else { | |
2452 | fHistd0rphiTPCInAccS10001500->Fill(d0z0TPC[0]); | |
2453 | if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit) | |
2454 | fHistd0rphiITSMISPDInAccS10001500->Fill(d0z0[0]); | |
2455 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
dbf573fb | 2456 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) { |
2457 | fHistd0rphiITSMIoneSPDInAccS10001500->Fill(d0z0[0]); | |
2458 | if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS10001500fromStrange->Fill(d0z0[0]); | |
2459 | if(isFromMat) fHistd0rphiITSMIoneSPDInAccS10001500fromMat->Fill(d0z0[0]); | |
2460 | } | |
f8777463 | 2461 | if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccS10001500->Fill(d0z0[1]); |
2462 | if(TMath::Abs(d0z0[0])<0.1) fHistPDGMoth10001500->Fill(pdgMoth); | |
2463 | } | |
2464 | } | |
2465 | } | |
dbf573fb | 2466 | if(track->Pt()>2.500 && track->Pt()<4.000) { |
2467 | if(isPrimary) { | |
2468 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
2469 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP25004000->Fill(d0z0[0]); | |
2470 | } | |
2471 | } else { | |
2472 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
2473 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) { | |
2474 | fHistd0rphiITSMIoneSPDInAccS25004000->Fill(d0z0[0]); | |
2475 | if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS25004000fromStrange->Fill(d0z0[0]); | |
2476 | if(isFromMat) fHistd0rphiITSMIoneSPDInAccS25004000fromMat->Fill(d0z0[0]); | |
2477 | } | |
2478 | } | |
2479 | } | |
2480 | } | |
2481 | if(track->Pt()>4.000 && track->Pt()<8.000) { | |
2482 | if(isPrimary) { | |
2483 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
2484 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP40008000->Fill(d0z0[0]); | |
2485 | } | |
2486 | } else { | |
2487 | if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) { | |
2488 | if(TMath::Abs(d0z0[1])<maxdcazITSTPC) { | |
2489 | fHistd0rphiITSMIoneSPDInAccS40008000->Fill(d0z0[0]); | |
2490 | if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS40008000fromStrange->Fill(d0z0[0]); | |
2491 | if(isFromMat) fHistd0rphiITSMIoneSPDInAccS40008000fromMat->Fill(d0z0[0]); | |
2492 | } | |
2493 | } | |
2494 | } | |
2495 | } | |
2496 | ||
8d63376d | 2497 | } |
2498 | ||
c0d39d2a | 2499 | if(trackTPC) { delete trackTPC; trackTPC=0; } |
2308c814 | 2500 | |
f8777463 | 2501 | // encode ITS cluster map, including MC info |
2502 | Int_t iITSflag=MakeITSflag(track); | |
8d63376d | 2503 | |
2504 | // if MC info is available: get particle properties | |
2505 | Float_t ptMC=-999.,pdgMC=-999.,d0MC=-999.; | |
2506 | Double_t d0z0MCv[2]={-999.,-999.},covd0z0MCv[3]={1.,1.,1.}; | |
2507 | if(fReadMC) { | |
2508 | part = (TParticle*)stack->Particle(trkLabel); | |
2509 | ptMC=part->Pt(); | |
2510 | pdgMC=part->GetPdgCode(); | |
2511 | d0MC=ParticleImpParMC(part,vertexMC,0.1*fESD->GetMagneticField()); | |
2512 | track->PropagateToDCA(vertexMC,fESD->GetMagneticField(),100.,d0z0MCv,covd0z0MCv); | |
2513 | if(covd0z0MCv[0]<0. || covd0z0MCv[2]<0.) continue; | |
8d63376d | 2514 | } |
2515 | ||
ab846928 | 2516 | Double_t sigmad0MCv=TMath::Sqrt(covd0z0MCv[0]); |
2517 | if(!itsrefit) sigmad0MCv *= -1.; | |
f8777463 | 2518 | Float_t isPrimaryFl = (isPrimary ? 1. : 0.); |
2519 | Float_t isTPCSelFl = (itsfindableAcc ? 1. : 0.); | |
ab846928 | 2520 | |
8d63376d | 2521 | // fill ntuple with track properties |
2308c814 | 2522 | if(fFillNtuples && SelectPt(track->Pt())) { |
dbf573fb | 2523 | Float_t fillArray[22]={track->Pt(),track->Eta(),track->Phi(),d0z0[0],d0z0[1],TMath::Sqrt(covd0z0[0]),TMath::Sqrt(covd0z0[2]),ptMC,pdgMC,pdgMoth,d0MC,d0z0MCv[0],d0z0MCv[1],sigmad0MCv,TMath::Sqrt(covd0z0MCv[2]),(Float_t)iITSflag,isPrimaryFl,isTPCSelFl}; |
8d63376d | 2524 | fNtupleESDTracks->Fill(fillArray); |
2525 | } | |
2526 | ||
2527 | //--------------------------------------------- | |
2528 | // AliTrackPoints: alignment checks | |
2529 | // | |
2308c814 | 2530 | if(!fFillNtuples) continue; |
ab846928 | 2531 | |
8d63376d | 2532 | const AliTrackPointArray *array = track->GetTrackPointArray(); |
2308c814 | 2533 | if(!array) continue; |
8d63376d | 2534 | AliTrackPoint point; |
2535 | Int_t pointOnLayer[6]={0,0,0,0,0,0}; | |
2536 | Int_t indexAssociated[6]={-1,-1,-1,-1,-1,-1},indexExtra=-1; | |
2537 | Bool_t extra=kFALSE; | |
2538 | Int_t layerId,layerExtra=-1; | |
2539 | for(Int_t ipt=0; ipt<array->GetNPoints(); ipt++) { | |
2540 | array->GetPoint(point,ipt); | |
2541 | Float_t r = TMath::Sqrt(point.GetX()*point.GetX()+point.GetY()*point.GetY()); | |
2542 | ||
2543 | if(r>3 && r<6) { | |
2544 | layerId = 0; | |
2545 | } else if(r>6 && r<8) { | |
2546 | layerId = 1; | |
2547 | } else if(r>8 && r<18) { | |
2548 | layerId = 2; | |
3f18d0a6 | 2549 | } else if(r>18 && r<30) { |
8d63376d | 2550 | layerId = 3; |
3f18d0a6 | 2551 | } else if(r>30 && r<40) { |
8d63376d | 2552 | layerId = 4; |
3f18d0a6 | 2553 | } else if(r>40 && r<50) { |
8d63376d | 2554 | layerId = 5; |
2555 | } else { | |
2556 | layerId=100; | |
2557 | } | |
2558 | ||
2559 | // only ITS points | |
2560 | if(layerId>5) continue; | |
2561 | ||
2562 | if(!point.IsExtra()) { | |
2563 | pointOnLayer[layerId]++; | |
2564 | indexAssociated[layerId]=ipt; | |
2565 | } else { | |
2566 | // this is an extra cluster | |
2567 | extra=kTRUE; | |
2568 | layerExtra=layerId; | |
2569 | indexExtra=ipt; | |
2570 | } | |
2571 | } // end loop on AliTrackPoints | |
2572 | ||
2573 | TString vtitle = spdv->GetTitle(); | |
2574 | if(!vtitle.Contains("3D")) continue; | |
2575 | ||
2576 | // SPD tracklet | |
2577 | if(indexAssociated[0]>=0 && indexAssociated[1]>=0) { | |
2578 | AliTrackPoint pointSPD1,pointSPD2; | |
2579 | array->GetPoint(pointSPD1,indexAssociated[0]); | |
2580 | array->GetPoint(pointSPD2,indexAssociated[1]); | |
2581 | Float_t phi=TMath::ATan2(pointSPD2.GetY()-pointSPD1.GetY(),pointSPD2.GetX()-pointSPD1.GetX()); | |
2582 | Float_t lambda=TMath::ATan((pointSPD2.GetZ()-pointSPD1.GetZ())/TMath::Sqrt((pointSPD2.GetX()-pointSPD1.GetX())*(pointSPD2.GetX()-pointSPD1.GetX())+(pointSPD2.GetY()-pointSPD1.GetY())*(pointSPD2.GetY()-pointSPD1.GetY()))); | |
2583 | Float_t theta=0.5*TMath::Pi()-lambda; | |
2584 | TParticle particle(211,0,0,0,0,0,TMath::Cos(phi),TMath::Sin(phi),TMath::Tan(lambda),10.,pointSPD1.GetX(),pointSPD1.GetY(),pointSPD1.GetZ(),0); | |
2585 | AliESDtrack tracklet(&particle); | |
2586 | Float_t dz[2]; | |
2587 | // distance to primary SPD (only if 3D and high multiplicity) | |
2588 | if(spdv->GetNContributors()>10) { | |
3f18d0a6 | 2589 | tracklet.GetDZ(spdv->GetXv(),spdv->GetYv(),spdv->GetZv(),0,dz); |
2590 | //tracklet.GetDZ(-0.07,0.25,spdv->GetZv(),0,dz); | |
c2893e82 | 2591 | fNtupleITSAlignSPDTracklets->Fill(phi,theta,0.5*(pointSPD1.GetZ()+pointSPD2.GetZ()),dz[0],dz[1],track->Pt()); |
8d63376d | 2592 | } |
2593 | } | |
2594 | ||
2595 | // distance to extra | |
3f18d0a6 | 2596 | if(extra && spdv->GetNContributors()>4 && indexAssociated[layerExtra]>-1) { |
8d63376d | 2597 | AliTrackPoint pointExtra,pointAssociated; |
2598 | array->GetPoint(pointAssociated,indexAssociated[layerExtra]); | |
2599 | array->GetPoint(pointExtra,indexExtra); | |
2600 | Float_t phiExtra = TMath::ATan2(pointExtra.GetY()-spdv->GetYv(),pointExtra.GetX()-spdv->GetXv()); | |
2601 | Float_t phiAssociated = TMath::ATan2(pointAssociated.GetY()-spdv->GetYv(),pointAssociated.GetX()-spdv->GetXv()); | |
2602 | Float_t rExtra = TMath::Sqrt((pointExtra.GetX()-spdv->GetXv())*(pointExtra.GetX()-spdv->GetXv())+(pointExtra.GetY()-spdv->GetYv())*(pointExtra.GetY()-spdv->GetYv())); | |
2603 | Float_t rAssociated = TMath::Sqrt((pointAssociated.GetX()-spdv->GetXv())*(pointAssociated.GetX()-spdv->GetXv())+(pointAssociated.GetY()-spdv->GetYv())*(pointAssociated.GetY()-spdv->GetYv())); | |
2604 | Float_t dzExtra[2]; | |
2605 | dzExtra[0] = (phiExtra-phiAssociated)*0.5*(rExtra+rAssociated); | |
2606 | dzExtra[1] = pointExtra.GetZ()-pointAssociated.GetZ()-(rExtra-rAssociated)*(pointAssociated.GetZ()-spdv->GetZv())/rAssociated; | |
2607 | Float_t xlocExtra=-100.,zlocExtra=-100.; | |
c2893e82 | 2608 | fNtupleITSAlignExtra->Fill(layerExtra,pointExtra.GetX(),pointExtra.GetY(),pointExtra.GetZ(),dzExtra[0],dzExtra[1],xlocExtra,zlocExtra,nclsITS,track->Pt()); |
8d63376d | 2609 | } |
2610 | ||
f8777463 | 2611 | if(trackTPC) { delete trackTPC; trackTPC=0; } |
8d63376d | 2612 | } // end loop on tracks |
2613 | ||
2614 | if(vertexMC) { delete vertexMC; vertexMC=0; } | |
2615 | ||
f8777463 | 2616 | delete esdtrackCutsTPC; esdtrackCutsTPC=0; |
2617 | delete esdtrackCutsITSTPC; esdtrackCutsITSTPC=0; | |
2618 | ||
0b2e8130 | 2619 | PostData(1, fOutput); |
2620 | ||
8d63376d | 2621 | return; |
2622 | } | |
2623 | ||
2624 | //________________________________________________________________________ | |
2625 | void AliAnalysisTaskITSTrackingCheck::Terminate(Option_t *) | |
2626 | { | |
2627 | // Draw result to the screen | |
2628 | // Called once at the end of the query | |
2efff183 | 2629 | fOutput = dynamic_cast<TList*> (GetOutputData(1)); |
8d63376d | 2630 | if (!fOutput) { |
2631 | Printf("ERROR: fOutput not available"); | |
2632 | return; | |
2633 | } | |
f8777463 | 2634 | fHistNEvents = dynamic_cast<TH1F*>(fOutput->FindObject("fHistNEvents")); |
2635 | fHistNEventsFrac = dynamic_cast<TH1F*>(fOutput->FindObject("fHistNEventsFrac")); | |
2636 | if(fHistNEvents && fHistNEventsFrac) { | |
2637 | for(Int_t ibin=2; ibin<=fHistNEvents->GetNbinsX(); ibin++) { | |
2638 | if(fHistNEvents->GetBinContent(2)) fHistNEventsFrac->SetBinContent(ibin,fHistNEvents->GetBinContent(ibin)/fHistNEvents->GetBinContent(2)); | |
2639 | } | |
2640 | } | |
8d63376d | 2641 | |
2642 | return; | |
2643 | } | |
2644 | //--------------------------------------------------------------------------- | |
dbf573fb | 2645 | Int_t AliAnalysisTaskITSTrackingCheck::NumberOfITSClustersMC(Int_t label,Int_t nModules) const |
8d63376d | 2646 | { |
2647 | // | |
2648 | // Return number of ITS clusters produced by MC particle with given label | |
2649 | // | |
2308c814 | 2650 | |
8d63376d | 2651 | AliESDInputHandlerRP *esdHRP = dynamic_cast<AliESDInputHandlerRP*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()); |
2652 | if(!esdHRP) return -1; | |
2653 | TTree *cTree = (TTree*)esdHRP->GetTreeR("ITS"); | |
2654 | if(!cTree) return -1; | |
dbf573fb | 2655 | TClonesArray *clusters=0; |
8d63376d | 2656 | cTree->SetBranchAddress("ITSRecPoints",&clusters); |
2657 | if(!clusters) return -1; | |
2658 | ||
2659 | AliITSRecPoint *c=0; | |
2660 | Int_t i,n,icl,lay,ilab; | |
2661 | Int_t ncls[6]={0,0,0,0,0,0}; | |
2662 | Int_t nclstot=0; | |
2663 | ||
dbf573fb | 2664 | for(i=0; i<nModules; i++) { |
8d63376d | 2665 | cTree->GetEvent(i); |
2666 | n=clusters->GetEntriesFast(); | |
2667 | for (icl=0; icl<n; icl++) { | |
2668 | c=(AliITSRecPoint*)clusters->UncheckedAt(icl); | |
2669 | lay=c->GetLayer(); | |
dbf573fb | 2670 | //printf("mod %d lay %d xloc %f zloc %f\n",i,lay,c->GetDetLocalX(),c->GetDetLocalZ()); |
8d63376d | 2671 | for(ilab=0;ilab<3;ilab++) { |
2672 | if(c->GetLabel(ilab)==label) ncls[lay]++; | |
2673 | } | |
2674 | } | |
2675 | } | |
dbf573fb | 2676 | for(i=0;i<6;i++) { |
2677 | //printf("%d\n",ncls[i]); | |
2678 | if(ncls[i]) nclstot++; | |
2679 | } | |
8d63376d | 2680 | |
2681 | return nclstot; | |
2682 | } | |
2683 | //--------------------------------------------------------------------------- | |
f8777463 | 2684 | Int_t AliAnalysisTaskITSTrackingCheck::NumberOfITSClusters(Int_t idet,Float_t &xloc) const |
2685 | { | |
2686 | // | |
2687 | // Return number of ITS clusters produced by MC particle with given label | |
2688 | // | |
2689 | ||
2690 | AliESDInputHandlerRP *esdHRP = dynamic_cast<AliESDInputHandlerRP*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()); | |
2691 | if(!esdHRP) return -1; | |
2692 | TTree *cTree = (TTree*)esdHRP->GetTreeR("ITS"); | |
2693 | if(!cTree) return -1; | |
2694 | TClonesArray *clusters=0; // new TClonesArray("AliITSRecPoint",10000); | |
2695 | cTree->SetBranchAddress("ITSRecPoints",&clusters); | |
2696 | if(!clusters) return -1; | |
2697 | ||
2698 | AliITSRecPoint *c=0; | |
2699 | Int_t n,icl; | |
2700 | ||
2701 | cTree->GetEvent(idet); | |
2702 | n=clusters->GetEntriesFast(); | |
2703 | ||
2704 | if(n==1) { | |
2705 | for (icl=0; icl<n; icl++) { | |
2706 | c=(AliITSRecPoint*)clusters->UncheckedAt(icl); | |
2707 | xloc = c->GetDetLocalX(); | |
2708 | } | |
2709 | } | |
2710 | return n; | |
2711 | } | |
2712 | //--------------------------------------------------------------------------- | |
0b2e8130 | 2713 | void AliAnalysisTaskITSTrackingCheck::FillNClustersModuleMap() |
2714 | { | |
2715 | // | |
2716 | // Number of clusters per module | |
2717 | // | |
2718 | ||
2719 | AliESDInputHandlerRP *esdHRP = dynamic_cast<AliESDInputHandlerRP*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()); | |
2720 | if(!esdHRP) return; | |
2721 | TTree *cTree = (TTree*)esdHRP->GetTreeR("ITS"); | |
2722 | if(!cTree) return; | |
2723 | TClonesArray *clusters=0; // new TClonesArray("AliITSRecPoint",10000); | |
2724 | cTree->SetBranchAddress("ITSRecPoints",&clusters); | |
2725 | ||
2726 | for(Int_t idet=0;idet<2198;idet++) { | |
2727 | cTree->GetEvent(idet); | |
2728 | if(!clusters) continue; | |
2729 | fHistNClustersMapModule->SetBinContent(idet,clusters->GetEntriesFast()); | |
2730 | } | |
2731 | ||
2732 | return; | |
2733 | } | |
2734 | //--------------------------------------------------------------------------- | |
8d63376d | 2735 | Double_t AliAnalysisTaskITSTrackingCheck::ParticleImpParMC(TParticle *part, |
2736 | AliESDVertex *vert, | |
2737 | Double_t bzT) const | |
2738 | { | |
2739 | // | |
2740 | // Return the MC value of the impact parameter | |
2741 | // | |
2742 | ||
2743 | Double_t vx=part->Vx()-vert->GetX(); | |
2744 | Double_t vy=part->Vy()-vert->GetY(); | |
2745 | ||
2746 | Double_t pt=part->Pt(); | |
2747 | Double_t px=part->Px(); | |
2748 | Double_t py=part->Py(); | |
2749 | Double_t charge = (part->GetPdgCode()>0. ? 1. : -1.); | |
2750 | if(TMath::Abs(part->GetPdgCode())<100) charge*=-1.; | |
2751 | ||
2752 | if(px<0.000001) px=0.000001; | |
f8777463 | 2753 | Double_t rAnd=((10./2.99792458)*pt/bzT)*100.; |
8d63376d | 2754 | Double_t center[3],d0; |
2755 | center[0]=vx-(1./charge)*rAnd*(py/pt); | |
2756 | center[1]=vy+(1./charge)*rAnd*(px/pt); | |
2757 | center[2]=TMath::Sqrt(center[0]*center[0]+center[1]*center[1]); | |
2758 | d0 = -center[2]+rAnd; | |
2759 | ||
2760 | return d0; | |
2761 | } | |
2762 | //--------------------------------------------------------------------------- | |
2763 | Bool_t AliAnalysisTaskITSTrackingCheck::SelectPt(Double_t pt) | |
2764 | { | |
2765 | // | |
2766 | // Keep only tracks in given pt bins | |
2767 | // | |
f8777463 | 2768 | Double_t ptlower[11]={0.15,0.29,0.49,0.75,0.9,1.9,3.5,6.5, 9.,19.,27.}; |
2769 | Double_t ptupper[11]={0.16,0.31,0.51,0.85,1.1,2.1,4.5,7.5,11.,21.,33.}; | |
8d63376d | 2770 | |
f8777463 | 2771 | for(Int_t i=0; i<11; i++) { |
ab846928 | 2772 | if(pt>ptlower[i] && pt<ptupper[i]) { |
8d63376d | 2773 | fCountsPerPtBin[i]++; |
2774 | return kTRUE; | |
2775 | } | |
2776 | } | |
2777 | return kFALSE; | |
2308c814 | 2778 | //return kTRUE; |
8d63376d | 2779 | } |
f8777463 | 2780 | //--------------------------------------------------------------------------- |
2781 | Int_t AliAnalysisTaskITSTrackingCheck::MakeITSflag(AliESDtrack *track) const { | |
2782 | // | |
2783 | // ITSflag takes the value 0 if the track has no cluster assigned in the SPDs, | |
2784 | // 1 (2) if one cluster is assigned in SPD1(2), 3 if two clusters are present. | |
2785 | // Then the same adding 10,20 or 30 for SDD and 100,200 or 300 for SSD | |
2786 | // | |
2787 | Int_t iITSflag=0; | |
2788 | if(track->HasPointOnITSLayer(0)) iITSflag+=1; | |
2789 | if(track->HasPointOnITSLayer(1)) iITSflag+=2; | |
2790 | if(track->HasPointOnITSLayer(2)) iITSflag+=10; | |
2791 | if(track->HasPointOnITSLayer(3)) iITSflag+=20; | |
2792 | if(track->HasPointOnITSLayer(4)) iITSflag+=100; | |
2793 | if(track->HasPointOnITSLayer(5)) iITSflag+=200; | |
2794 | ||
dbf573fb | 2795 | if(iITSflag==333 && track->GetNcls(0)<6) |
f8777463 | 2796 | printf(" ERROR %d %d\n",track->GetNcls(0),track->GetLabel()); |
2797 | ||
2798 | // number of associated ITS clusters | |
2799 | iITSflag += 1000*track->GetNcls(0); | |
2800 | ||
2801 | // number of associated TPC clusters | |
2802 | iITSflag += 100000*track->GetNcls(1); | |
2803 | ||
2804 | // if MC info and is available | |
2805 | // write the number of ITS clusters produced by this track | |
2806 | Int_t nITSclsMC=0; | |
2807 | if(fReadMC && fReadRPLabels) { | |
2808 | nITSclsMC = NumberOfITSClustersMC(TMath::Abs(track->GetLabel())); | |
2809 | if(nITSclsMC>=0) iITSflag += 10000*nITSclsMC; | |
2810 | // flag fake tracks | |
2811 | if(track->GetLabel()<0) iITSflag *= -1; | |
2812 | } | |
8d63376d | 2813 | |
f8777463 | 2814 | return iITSflag; |
2815 | } | |
5ac4a99f | 2816 | //--------------------------------------------------------------------------- |
2817 | Bool_t AliAnalysisTaskITSTrackingCheck::IsSelectedCentrality() const | |
2818 | { | |
2819 | // | |
2820 | // check if events is in the required multiplicity range | |
2821 | // | |
2822 | ||
2823 | const AliMultiplicity *alimult = fESD->GetMultiplicity(); | |
2824 | Int_t ntrklets=1; | |
2da5db49 | 2825 | Int_t nclsSPDouter=0; |
5ac4a99f | 2826 | if(alimult) { |
2827 | ntrklets = alimult->GetNumberOfTracklets(); | |
2da5db49 | 2828 | nclsSPDouter = alimult->GetNumberOfITSClusters(1); |
5ac4a99f | 2829 | } |
2830 | ||
2da5db49 | 2831 | if(nclsSPDouter<fMinMult || nclsSPDouter>fMaxMult) return kFALSE; |
2832 | ||
5ac4a99f | 2833 | |
2834 | return kTRUE; | |
2835 | } | |
8d63376d | 2836 | |
2837 | ||
2838 |