1 /**************************************************************************
2 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 /////////////////////////////////////////////////////////////
18 // AliAnalysisTask to extract from ESD tracks the information
19 // on ITS tracking efficiency and resolutions.
21 // Author: A.Dainese, andrea.dainese@pd.infn.it
22 /////////////////////////////////////////////////////////////
29 #include <TClonesArray.h>
30 #include <TObjArray.h>
34 #include <TParticle.h>
36 #include "AliAnalysisTask.h"
37 #include "AliAnalysisManager.h"
39 #include "AliMultiplicity.h"
40 #include "AliTriggerConfiguration.h"
41 #include "AliCDBManager.h"
42 #include "AliCDBEntry.h"
43 #include "AliVertexerTracks.h"
44 #include "AliESDtrack.h"
45 #include "AliExternalTrackParam.h"
46 #include "AliESDVertex.h"
47 #include "AliESDEvent.h"
48 #include "AliESDfriend.h"
49 #include "AliESDInputHandler.h"
50 #include "AliESDInputHandlerRP.h"
51 #include "AliESDtrackCuts.h"
52 #include "AliTrackPointArray.h"
53 #include "../ITS/AliITSRecPoint.h"
55 #include "AliInputEventHandler.h"
56 #include "AliMCEventHandler.h"
57 #include "AliMCEvent.h"
61 #include "AliGenEventHeader.h"
62 #include "AliAnalysisTaskITSTrackingCheck.h"
65 ClassImp(AliAnalysisTaskITSTrackingCheck)
66 AliAnalysisTaskITSTrackingCheck::AliAnalysisTaskITSTrackingCheck() :
69 fReadRPLabels(kFALSE),
71 fUseITSSAforNtuples(kFALSE),
73 fRejPileupSPD(kFALSE),
87 fHistNclsITSSAInAcc(0),
88 fHistClusterMapITSMI(0),
89 fHistClusterMapITSMIok(0),
90 fHistClusterMapITSMIbad(0),
91 fHistClusterMapITSMIskipped(0),
92 fHistClusterMapITSMIoutinz(0),
93 fHistClusterMapITSMInorefit(0),
94 fHistClusterMapITSMInocls(0),
95 fHistClusterMapITSMIokoutinzbad(0),
96 fHistClusterMapITSSA(0),
97 fHistClusterMapITSSAok(0),
98 fHistClusterMapITSSAbad(0),
99 fHistClusterMapITSSAskipped(0),
100 fHistClusterMapITSSAoutinz(0),
101 fHistClusterMapITSSAnorefit(0),
102 fHistClusterMapITSSAnocls(0),
103 fHistClusterMapITSSAokoutinzbad(0),
104 fHistClusterMapITSSAInAcc(0),
105 fHistClusterMapITSSAokInAcc(0),
106 fHistClusterMapITSSAbadInAcc(0),
107 fHistClusterMapITSSAskippedInAcc(0),
108 fHistClusterMapITSSAoutinzInAcc(0),
109 fHistClusterMapITSSAnorefitInAcc(0),
110 fHistClusterMapITSSAnoclsInAcc(0),
111 fHistClusterMapITSSAokoutinzbadInAcc(0),
112 fHistClusterMapModuleITSSAokInAcc(0),
113 fHistClusterMapModuleITSSAbadInAcc(0),
114 fHistClusterMapModuleITSSAnoclsInAcc(0),
115 fHistClusterMapModuleITSMIokInAcc(0),
116 fHistClusterMapModuleITSMIbadInAcc(0),
117 fHistClusterMapModuleITSMInoclsInAcc(0),
118 fHistNClustersMapModule(0),
119 fHistZatSPDouter0ok(0),
120 fHistZatSPDouter1ok(0),
121 fHistZatSPDouter2ok(0),
122 fHistZatSPDouter3ok(0),
123 fHistZatSPDouter0notok(0),
124 fHistZatSPDouter1notok(0),
125 fHistZatSPDouter2notok(0),
126 fHistZatSPDouter3notok(0),
129 fHistxlocVSmodSDDok(0),
136 fHistPtTPCInAccTOFbc0(0),
137 fHistPtTPCInAccwSDD(0),
138 fHistPtTPCInAccTOFbc0wSDD(0),
139 fHistPtTPCInAccwoSDD(0),
140 fHistPtTPCInAccTOFbc0woSDD(0),
141 fHistPtTPCInAccMCtwoSPD(0),
142 fHistPtTPCInAccMConeSPD(0),
143 fHistdEdxVSPtTPCInAcc(0),
144 fHistdEdxVSPtITSTPCsel(0),
145 fHistTPCclsVSPtTPCInAcc(0),
146 fHistTPCclsVSPtITSMISPDInAcc(0),
147 fHistPtVSphiTPCInAcc(0),
148 fHistPtTPCInAccNoTRDout(0),
149 fHistPtTPCInAccNoTOFout(0),
150 fHistPtTPCInAccWithPtTPCAtInnerWall(0),
151 fHistPtTPCInAccWithPtTPCAtVtx(0),
155 fHistPtTPCInAccPfromStrange(0),
156 fHistPtTPCInAccSfromStrange(0),
157 fHistPtTPCInAccSfromMat(0),
164 fHistPtITSMIoneSPD(0),
165 fHistPtITSMI2InAcc(0),
166 fHistPtITSMI3InAcc(0),
167 fHistPtITSMI4InAcc(0),
168 fHistPtITSMI5InAcc(0),
169 fHistPtITSMI6InAcc(0),
170 fHistPtITSMISPDInAcc(0),
171 fHistPtITSMIoneSPDInAcc(0),
172 fHistPtITSMI2InAccTOFbc0(0),
173 fHistPtITSMI3InAccTOFbc0(0),
174 fHistPtITSMI4InAccTOFbc0(0),
175 fHistPtITSMI5InAccTOFbc0(0),
176 fHistPtITSMI6InAccTOFbc0(0),
177 fHistPtITSMISPDInAccTOFbc0(0),
178 fHistPtITSMIoneSPDInAccTOFbc0(0),
179 fHistPtITSMI2InAccwSDD(0),
180 fHistPtITSMI3InAccwSDD(0),
181 fHistPtITSMI4InAccwSDD(0),
182 fHistPtITSMI5InAccwSDD(0),
183 fHistPtITSMI6InAccwSDD(0),
184 fHistPtITSMISPDInAccwSDD(0),
185 fHistPtITSMIoneSPDInAccwSDD(0),
186 fHistPtITSMI2InAccTOFbc0wSDD(0),
187 fHistPtITSMI3InAccTOFbc0wSDD(0),
188 fHistPtITSMI4InAccTOFbc0wSDD(0),
189 fHistPtITSMI5InAccTOFbc0wSDD(0),
190 fHistPtITSMI6InAccTOFbc0wSDD(0),
191 fHistPtITSMISPDInAccTOFbc0wSDD(0),
192 fHistPtITSMIoneSPDInAccTOFbc0wSDD(0),
193 fHistPtITSMI2InAccwoSDD(0),
194 fHistPtITSMI3InAccwoSDD(0),
195 fHistPtITSMI4InAccwoSDD(0),
196 fHistPtITSMI5InAccwoSDD(0),
197 fHistPtITSMI6InAccwoSDD(0),
198 fHistPtITSMISPDInAccwoSDD(0),
199 fHistPtITSMIoneSPDInAccwoSDD(0),
200 fHistPtITSMI2InAccTOFbc0woSDD(0),
201 fHistPtITSMI3InAccTOFbc0woSDD(0),
202 fHistPtITSMI4InAccTOFbc0woSDD(0),
203 fHistPtITSMI5InAccTOFbc0woSDD(0),
204 fHistPtITSMI6InAccTOFbc0woSDD(0),
205 fHistPtITSMISPDInAccTOFbc0woSDD(0),
206 fHistPtITSMIoneSPDInAccTOFbc0woSDD(0),
207 fHistPtITSMIoneSPDInAccShared(0),
208 fHistPtITSMIoneSPDInAccSharedSPD(0),
209 fHistPtITSMISPD1InAccShared(0),
210 fHistPtITSMISPD2InAccShared(0),
211 fHistPtITSMIoneSPDInAccSharedFake(0),
212 fHistPtITSMIoneSPDInAccSharedSPDFake(0),
213 fHistPhiITSMI2InAcc(0),
214 fHistPhiITSMI3InAcc(0),
215 fHistPhiITSMI4InAcc(0),
216 fHistPhiITSMI5InAcc(0),
217 fHistPhiITSMI6InAcc(0),
218 fHistPhiITSMISPDInAcc(0),
219 fHistPhiITSMIoneSPDInAcc(0),
220 fHistEtaITSMI2InAcc(0),
221 fHistEtaITSMI3InAcc(0),
222 fHistEtaITSMI4InAcc(0),
223 fHistEtaITSMI5InAcc(0),
224 fHistEtaITSMI6InAcc(0),
225 fHistEtaITSMISPDInAcc(0),
226 fHistEtaITSMIoneSPDInAcc(0),
227 fHistPtITSMI2InAccFake(0),
228 fHistPtITSMI3InAccFake(0),
229 fHistPtITSMI4InAccFake(0),
230 fHistPtITSMI5InAccFake(0),
231 fHistPtITSMI6InAccFake(0),
232 fHistPtITSMISPDInAccFake(0),
233 fHistPtITSMIoneSPDInAccFake(0),
234 fHistPtITSMIoneSPDthreeSDDSSDInAcc(0),
236 fHistPtITSTPCselTOFbc0(0),
237 fHistPtITSTPCselwSDD(0),
238 fHistPtITSTPCselTOFbc0wSDD(0),
239 fHistPtITSTPCselwoSDD(0),
240 fHistPtITSTPCselTOFbc0woSDD(0),
241 fHistPtITSTPCselP(0),
242 fHistPtITSTPCselS(0),
243 fHistPtITSTPCselFake(0),
244 fHistPtITSTPCselPfromStrange(0),
245 fHistPtITSTPCselSfromStrange(0),
246 fHistPtITSTPCselSfromMat(0),
247 fHistPtITSMI2InAccP(0),
248 fHistPtITSMI3InAccP(0),
249 fHistPtITSMI4InAccP(0),
250 fHistPtITSMI5InAccP(0),
251 fHistPtITSMI6InAccP(0),
252 fHistPtITSMISPDInAccP(0),
253 fHistPtITSMIoneSPDInAccP(0),
254 fHistPtITSMI2InAccS(0),
255 fHistPtITSMI3InAccS(0),
256 fHistPtITSMI4InAccS(0),
257 fHistPtITSMI5InAccS(0),
258 fHistPtITSMI6InAccS(0),
259 fHistPtITSMISPDInAccS(0),
260 fHistPtITSMIoneSPDInAccS(0),
261 fHistPtITSMIokbadoutinz6(0),
262 fHistPtITSMIokbadoutinz4InAcc(0),
263 fHistPtITSMIokbadoutinz5InAcc(0),
264 fHistPtITSMIokbadoutinz6InAcc(0),
265 fHistPhiITSMIokbadoutinz6InAcc(0),
266 fHistRProdVtxInAccP(0),
267 fHistRProdVtxInAccS(0),
268 fHistd0rphiTPCInAccP150200(0),
269 fHistd0rphiTPCInAccP500700(0),
270 fHistd0rphiTPCInAccP10001500(0),
271 fHistd0rphiTPCInAccS150200(0),
272 fHistd0rphiTPCInAccS500700(0),
273 fHistd0rphiTPCInAccS10001500(0),
274 fHistd0rphiITSMISPDInAccP150200(0),
275 fHistd0rphiITSMISPDInAccP500700(0),
276 fHistd0rphiITSMISPDInAccP10001500(0),
277 fHistd0rphiITSMISPDInAccS150200(0),
278 fHistd0rphiITSMISPDInAccS500700(0),
279 fHistd0rphiITSMISPDInAccS10001500(0),
280 fHistd0rphiITSMIoneSPDInAccP150200(0),
281 fHistd0rphiITSMIoneSPDInAccP350450(0),
282 fHistd0rphiITSMIoneSPDInAccP500700(0),
283 fHistd0rphiITSMIoneSPDInAccP10001500(0),
284 fHistd0rphiITSMIoneSPDInAccP25004000(0),
285 fHistd0rphiITSMIoneSPDInAccP40008000(0),
286 fHistd0zITSMIoneSPDInAccP150200(0),
287 fHistd0zITSMIoneSPDInAccP500700(0),
288 fHistd0zITSMIoneSPDInAccP10001500(0),
289 fHistd0zVSetaTPCInAccP10001500(0),
290 fHistd0rphiVSphiITSMIoneSPDInAccP10001500(0),
291 fHistd0rphiVSetaITSMIoneSPDInAccP10001500(0),
292 fHistd0rphiITSMIoneSPDInAccS150200(0),
293 fHistd0rphiITSMIoneSPDInAccS350450(0),
294 fHistd0rphiITSMIoneSPDInAccS500700(0),
295 fHistd0rphiITSMIoneSPDInAccS500700from22(0),
296 fHistd0rphiITSMIoneSPDInAccS500700from211(0),
297 fHistd0rphiITSMIoneSPDInAccS500700from310(0),
298 fHistd0rphiITSMIoneSPDInAccS500700from321(0),
299 fHistd0rphiITSMIoneSPDInAccS500700from3122(0),
300 fHistd0rphiITSMIoneSPDInAccS10001500(0),
301 fHistd0rphiITSMIoneSPDInAccS25004000(0),
302 fHistd0rphiITSMIoneSPDInAccS40008000(0),
303 fHistd0rphiITSMIoneSPDInAccS150200fromStrange(0),
304 fHistd0rphiITSMIoneSPDInAccS150200fromMat(0),
305 fHistd0rphiITSMIoneSPDInAccS350450fromStrange(0),
306 fHistd0rphiITSMIoneSPDInAccS350450fromMat(0),
307 fHistd0rphiITSMIoneSPDInAccS500700fromStrange(0),
308 fHistd0rphiITSMIoneSPDInAccS500700fromMat(0),
309 fHistd0rphiITSMIoneSPDInAccS10001500fromStrange(0),
310 fHistd0rphiITSMIoneSPDInAccS10001500fromMat(0),
311 fHistd0rphiITSMIoneSPDInAccS25004000fromStrange(0),
312 fHistd0rphiITSMIoneSPDInAccS25004000fromMat(0),
313 fHistd0rphiITSMIoneSPDInAccS40008000fromStrange(0),
314 fHistd0rphiITSMIoneSPDInAccS40008000fromMat(0),
315 fHistd0zITSMIoneSPDInAccS150200(0),
316 fHistd0zITSMIoneSPDInAccS500700(0),
317 fHistd0zITSMIoneSPDInAccS10001500(0),
319 fHistPDGMoth150200(0),
320 fHistPDGMoth500700(0),
321 fHistPDGMoth10001500(0),
323 fHistITSRedChi2NonFakePt02(0),
324 fHistITSRedChi2FakePt02(0),
325 fHistITSRedChi2NonFakePt05(0),
326 fHistITSRedChi2FakePt05(0),
327 fHistITSRedChi2NonFakePt1(0),
328 fHistITSRedChi2FakePt1(0),
330 fNtupleITSAlignExtra(0),
331 fNtupleITSAlignSPDTracklets(0),
333 fESDtrackCutsITSTPC(0)
336 for(Int_t i=0; i<11; i++) fCountsPerPtBin[i]=0;
340 //________________________________________________________________________
341 AliAnalysisTaskITSTrackingCheck::AliAnalysisTaskITSTrackingCheck(const char *name) :
342 AliAnalysisTaskSE(name),
344 fReadRPLabels(kFALSE),
345 fFillNtuples(kFALSE),
346 fUseITSSAforNtuples(kFALSE),
348 fRejPileupSPD(kFALSE),
362 fHistNclsITSSAInAcc(0),
363 fHistClusterMapITSMI(0),
364 fHistClusterMapITSMIok(0),
365 fHistClusterMapITSMIbad(0),
366 fHistClusterMapITSMIskipped(0),
367 fHistClusterMapITSMIoutinz(0),
368 fHistClusterMapITSMInorefit(0),
369 fHistClusterMapITSMInocls(0),
370 fHistClusterMapITSMIokoutinzbad(0),
371 fHistClusterMapITSSA(0),
372 fHistClusterMapITSSAok(0),
373 fHistClusterMapITSSAbad(0),
374 fHistClusterMapITSSAskipped(0),
375 fHistClusterMapITSSAoutinz(0),
376 fHistClusterMapITSSAnorefit(0),
377 fHistClusterMapITSSAnocls(0),
378 fHistClusterMapITSSAokoutinzbad(0),
379 fHistClusterMapITSSAInAcc(0),
380 fHistClusterMapITSSAokInAcc(0),
381 fHistClusterMapITSSAbadInAcc(0),
382 fHistClusterMapITSSAskippedInAcc(0),
383 fHistClusterMapITSSAoutinzInAcc(0),
384 fHistClusterMapITSSAnorefitInAcc(0),
385 fHistClusterMapITSSAnoclsInAcc(0),
386 fHistClusterMapITSSAokoutinzbadInAcc(0),
387 fHistClusterMapModuleITSSAokInAcc(0),
388 fHistClusterMapModuleITSSAbadInAcc(0),
389 fHistClusterMapModuleITSSAnoclsInAcc(0),
390 fHistClusterMapModuleITSMIokInAcc(0),
391 fHistClusterMapModuleITSMIbadInAcc(0),
392 fHistClusterMapModuleITSMInoclsInAcc(0),
393 fHistNClustersMapModule(0),
394 fHistZatSPDouter0ok(0),
395 fHistZatSPDouter1ok(0),
396 fHistZatSPDouter2ok(0),
397 fHistZatSPDouter3ok(0),
398 fHistZatSPDouter0notok(0),
399 fHistZatSPDouter1notok(0),
400 fHistZatSPDouter2notok(0),
401 fHistZatSPDouter3notok(0),
404 fHistxlocVSmodSDDok(0),
411 fHistPtTPCInAccTOFbc0(0),
412 fHistPtTPCInAccwSDD(0),
413 fHistPtTPCInAccTOFbc0wSDD(0),
414 fHistPtTPCInAccwoSDD(0),
415 fHistPtTPCInAccTOFbc0woSDD(0),
416 fHistPtTPCInAccMCtwoSPD(0),
417 fHistPtTPCInAccMConeSPD(0),
418 fHistdEdxVSPtTPCInAcc(0),
419 fHistdEdxVSPtITSTPCsel(0),
420 fHistTPCclsVSPtTPCInAcc(0),
421 fHistTPCclsVSPtITSMISPDInAcc(0),
422 fHistPtVSphiTPCInAcc(0),
423 fHistPtTPCInAccNoTRDout(0),
424 fHistPtTPCInAccNoTOFout(0),
425 fHistPtTPCInAccWithPtTPCAtInnerWall(0),
426 fHistPtTPCInAccWithPtTPCAtVtx(0),
430 fHistPtTPCInAccPfromStrange(0),
431 fHistPtTPCInAccSfromStrange(0),
432 fHistPtTPCInAccSfromMat(0),
439 fHistPtITSMIoneSPD(0),
440 fHistPtITSMI2InAcc(0),
441 fHistPtITSMI3InAcc(0),
442 fHistPtITSMI4InAcc(0),
443 fHistPtITSMI5InAcc(0),
444 fHistPtITSMI6InAcc(0),
445 fHistPtITSMISPDInAcc(0),
446 fHistPtITSMIoneSPDInAcc(0),
447 fHistPtITSMI2InAccTOFbc0(0),
448 fHistPtITSMI3InAccTOFbc0(0),
449 fHistPtITSMI4InAccTOFbc0(0),
450 fHistPtITSMI5InAccTOFbc0(0),
451 fHistPtITSMI6InAccTOFbc0(0),
452 fHistPtITSMISPDInAccTOFbc0(0),
453 fHistPtITSMIoneSPDInAccTOFbc0(0),
454 fHistPtITSMI2InAccwSDD(0),
455 fHistPtITSMI3InAccwSDD(0),
456 fHistPtITSMI4InAccwSDD(0),
457 fHistPtITSMI5InAccwSDD(0),
458 fHistPtITSMI6InAccwSDD(0),
459 fHistPtITSMISPDInAccwSDD(0),
460 fHistPtITSMIoneSPDInAccwSDD(0),
461 fHistPtITSMI2InAccTOFbc0wSDD(0),
462 fHistPtITSMI3InAccTOFbc0wSDD(0),
463 fHistPtITSMI4InAccTOFbc0wSDD(0),
464 fHistPtITSMI5InAccTOFbc0wSDD(0),
465 fHistPtITSMI6InAccTOFbc0wSDD(0),
466 fHistPtITSMISPDInAccTOFbc0wSDD(0),
467 fHistPtITSMIoneSPDInAccTOFbc0wSDD(0),
468 fHistPtITSMI2InAccwoSDD(0),
469 fHistPtITSMI3InAccwoSDD(0),
470 fHistPtITSMI4InAccwoSDD(0),
471 fHistPtITSMI5InAccwoSDD(0),
472 fHistPtITSMI6InAccwoSDD(0),
473 fHistPtITSMISPDInAccwoSDD(0),
474 fHistPtITSMIoneSPDInAccwoSDD(0),
475 fHistPtITSMI2InAccTOFbc0woSDD(0),
476 fHistPtITSMI3InAccTOFbc0woSDD(0),
477 fHistPtITSMI4InAccTOFbc0woSDD(0),
478 fHistPtITSMI5InAccTOFbc0woSDD(0),
479 fHistPtITSMI6InAccTOFbc0woSDD(0),
480 fHistPtITSMISPDInAccTOFbc0woSDD(0),
481 fHistPtITSMIoneSPDInAccTOFbc0woSDD(0),
482 fHistPtITSMIoneSPDInAccShared(0),
483 fHistPtITSMIoneSPDInAccSharedSPD(0),
484 fHistPtITSMISPD1InAccShared(0),
485 fHistPtITSMISPD2InAccShared(0),
486 fHistPtITSMIoneSPDInAccSharedFake(0),
487 fHistPtITSMIoneSPDInAccSharedSPDFake(0),
488 fHistPhiITSMI2InAcc(0),
489 fHistPhiITSMI3InAcc(0),
490 fHistPhiITSMI4InAcc(0),
491 fHistPhiITSMI5InAcc(0),
492 fHistPhiITSMI6InAcc(0),
493 fHistPhiITSMISPDInAcc(0),
494 fHistPhiITSMIoneSPDInAcc(0),
495 fHistEtaITSMI2InAcc(0),
496 fHistEtaITSMI3InAcc(0),
497 fHistEtaITSMI4InAcc(0),
498 fHistEtaITSMI5InAcc(0),
499 fHistEtaITSMI6InAcc(0),
500 fHistEtaITSMISPDInAcc(0),
501 fHistEtaITSMIoneSPDInAcc(0),
502 fHistPtITSMI2InAccFake(0),
503 fHistPtITSMI3InAccFake(0),
504 fHistPtITSMI4InAccFake(0),
505 fHistPtITSMI5InAccFake(0),
506 fHistPtITSMI6InAccFake(0),
507 fHistPtITSMISPDInAccFake(0),
508 fHistPtITSMIoneSPDInAccFake(0),
509 fHistPtITSMIoneSPDthreeSDDSSDInAcc(0),
511 fHistPtITSTPCselTOFbc0(0),
512 fHistPtITSTPCselwSDD(0),
513 fHistPtITSTPCselTOFbc0wSDD(0),
514 fHistPtITSTPCselwoSDD(0),
515 fHistPtITSTPCselTOFbc0woSDD(0),
516 fHistPtITSTPCselP(0),
517 fHistPtITSTPCselS(0),
518 fHistPtITSTPCselFake(0),
519 fHistPtITSTPCselPfromStrange(0),
520 fHistPtITSTPCselSfromStrange(0),
521 fHistPtITSTPCselSfromMat(0),
522 fHistPtITSMI2InAccP(0),
523 fHistPtITSMI3InAccP(0),
524 fHistPtITSMI4InAccP(0),
525 fHistPtITSMI5InAccP(0),
526 fHistPtITSMI6InAccP(0),
527 fHistPtITSMISPDInAccP(0),
528 fHistPtITSMIoneSPDInAccP(0),
529 fHistPtITSMI2InAccS(0),
530 fHistPtITSMI3InAccS(0),
531 fHistPtITSMI4InAccS(0),
532 fHistPtITSMI5InAccS(0),
533 fHistPtITSMI6InAccS(0),
534 fHistPtITSMISPDInAccS(0),
535 fHistPtITSMIoneSPDInAccS(0),
536 fHistPtITSMIokbadoutinz6(0),
537 fHistPtITSMIokbadoutinz4InAcc(0),
538 fHistPtITSMIokbadoutinz5InAcc(0),
539 fHistPtITSMIokbadoutinz6InAcc(0),
540 fHistPhiITSMIokbadoutinz6InAcc(0),
541 fHistRProdVtxInAccP(0),
542 fHistRProdVtxInAccS(0),
543 fHistd0rphiTPCInAccP150200(0),
544 fHistd0rphiTPCInAccP500700(0),
545 fHistd0rphiTPCInAccP10001500(0),
546 fHistd0rphiTPCInAccS150200(0),
547 fHistd0rphiTPCInAccS500700(0),
548 fHistd0rphiTPCInAccS10001500(0),
549 fHistd0rphiITSMISPDInAccP150200(0),
550 fHistd0rphiITSMISPDInAccP500700(0),
551 fHistd0rphiITSMISPDInAccP10001500(0),
552 fHistd0rphiITSMISPDInAccS150200(0),
553 fHistd0rphiITSMISPDInAccS500700(0),
554 fHistd0rphiITSMISPDInAccS10001500(0),
555 fHistd0rphiITSMIoneSPDInAccP150200(0),
556 fHistd0rphiITSMIoneSPDInAccP350450(0),
557 fHistd0rphiITSMIoneSPDInAccP500700(0),
558 fHistd0rphiITSMIoneSPDInAccP10001500(0),
559 fHistd0rphiITSMIoneSPDInAccP25004000(0),
560 fHistd0rphiITSMIoneSPDInAccP40008000(0),
561 fHistd0zITSMIoneSPDInAccP150200(0),
562 fHistd0zITSMIoneSPDInAccP500700(0),
563 fHistd0zITSMIoneSPDInAccP10001500(0),
564 fHistd0zVSetaTPCInAccP10001500(0),
565 fHistd0rphiVSphiITSMIoneSPDInAccP10001500(0),
566 fHistd0rphiVSetaITSMIoneSPDInAccP10001500(0),
567 fHistd0rphiITSMIoneSPDInAccS150200(0),
568 fHistd0rphiITSMIoneSPDInAccS350450(0),
569 fHistd0rphiITSMIoneSPDInAccS500700(0),
570 fHistd0rphiITSMIoneSPDInAccS500700from22(0),
571 fHistd0rphiITSMIoneSPDInAccS500700from211(0),
572 fHistd0rphiITSMIoneSPDInAccS500700from310(0),
573 fHistd0rphiITSMIoneSPDInAccS500700from321(0),
574 fHistd0rphiITSMIoneSPDInAccS500700from3122(0),
575 fHistd0rphiITSMIoneSPDInAccS10001500(0),
576 fHistd0rphiITSMIoneSPDInAccS25004000(0),
577 fHistd0rphiITSMIoneSPDInAccS40008000(0),
578 fHistd0rphiITSMIoneSPDInAccS150200fromStrange(0),
579 fHistd0rphiITSMIoneSPDInAccS150200fromMat(0),
580 fHistd0rphiITSMIoneSPDInAccS350450fromStrange(0),
581 fHistd0rphiITSMIoneSPDInAccS350450fromMat(0),
582 fHistd0rphiITSMIoneSPDInAccS500700fromStrange(0),
583 fHistd0rphiITSMIoneSPDInAccS500700fromMat(0),
584 fHistd0rphiITSMIoneSPDInAccS10001500fromStrange(0),
585 fHistd0rphiITSMIoneSPDInAccS10001500fromMat(0),
586 fHistd0rphiITSMIoneSPDInAccS25004000fromStrange(0),
587 fHistd0rphiITSMIoneSPDInAccS25004000fromMat(0),
588 fHistd0rphiITSMIoneSPDInAccS40008000fromStrange(0),
589 fHistd0rphiITSMIoneSPDInAccS40008000fromMat(0),
590 fHistd0zITSMIoneSPDInAccS150200(0),
591 fHistd0zITSMIoneSPDInAccS500700(0),
592 fHistd0zITSMIoneSPDInAccS10001500(0),
594 fHistPDGMoth150200(0),
595 fHistPDGMoth500700(0),
596 fHistPDGMoth10001500(0),
598 fHistITSRedChi2NonFakePt02(0),
599 fHistITSRedChi2FakePt02(0),
600 fHistITSRedChi2NonFakePt05(0),
601 fHistITSRedChi2FakePt05(0),
602 fHistITSRedChi2NonFakePt1(0),
603 fHistITSRedChi2FakePt1(0),
605 fNtupleITSAlignExtra(0),
606 fNtupleITSAlignSPDTracklets(0),
608 fESDtrackCutsITSTPC(0)
612 for(Int_t i=0; i<11; i++) fCountsPerPtBin[i]=0;
614 // Define input and output slots here
615 // Output slot #0 writes into a TList container
616 DefineOutput(1, TList::Class()); //My private output
618 //________________________________________________________________________
619 AliAnalysisTaskITSTrackingCheck::~AliAnalysisTaskITSTrackingCheck()
623 // histograms are in the output list and deleted when the output
624 // list is deleted by the TSelector dtor
626 if (fOutput && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
631 //________________________________________________________________________
632 void AliAnalysisTaskITSTrackingCheck::UserCreateOutputObjects()
637 gStyle->SetHistLineWidth(2);
640 //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};
641 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};
643 for(Int_t i=0; i<11; i++) fCountsPerPtBin[i]=0;
645 // Several histograms are more conveniently managed in a TList
649 fHistPDGMoth = new TH1F("fHistPDGMoth","",4000,0,4000);
650 fOutput->Add(fHistPDGMoth);
651 fHistPDGMoth150200 = new TH1F("fHistPDGMoth150200","",4000,0,4000);
652 fOutput->Add(fHistPDGMoth150200);
653 fHistPDGMoth500700 = new TH1F("fHistPDGMoth500700","",4000,0,4000);
654 fOutput->Add(fHistPDGMoth500700);
655 fHistPDGMoth10001500 = new TH1F("fHistPDGMoth10001500","",4000,0,4000);
656 fOutput->Add(fHistPDGMoth10001500);
657 fHistPDGTrk = new TH1F("fHistPDGTrk","",4000,0,4000);
658 fOutput->Add(fHistPDGTrk);
660 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);
661 fHistNEvents->SetMinimum(0);
662 fOutput->Add(fHistNEvents);
664 fHistNEventsFrac = (TH1F*)fHistNEvents->Clone("fHistNEventsFrac");
665 fOutput->Add(fHistNEventsFrac);
667 fHistNtracks = new TH1F("fHistNtracks", "N ESD tracks; N tracks; Events",5000, -0.5, 4999.5);
668 fHistNtracks->Sumw2();
669 fHistNtracks->SetMinimum(0);
670 fOutput->Add(fHistNtracks);
672 fHistNclsITSMI = new TH1F("fHistNclsITSMI", "N ITS clusters per track (MI); N clusters; Counts",7, -0.5, 6.5);
673 fHistNclsITSMI->Sumw2();
674 fHistNclsITSMI->SetMinimum(0);
675 fOutput->Add(fHistNclsITSMI);
677 fHistNclsITSSAInAcc = new TH1F("fHistNclsITSSAInAcc", "N ITS clusters per track (SA); N clusters; Counts",7, -0.5, 6.5);
678 fHistNclsITSSAInAcc->Sumw2();
679 fHistNclsITSSAInAcc->SetMinimum(0);
680 fOutput->Add(fHistNclsITSSAInAcc);
682 fHistNclsITSSA = new TH1F("fHistNclsITSSA", "N ITS clusters per track (SA); N clusters; Counts",7, -0.5, 6.5);
683 fHistNclsITSSA->Sumw2();
684 fHistNclsITSSA->SetMinimum(0);
685 fOutput->Add(fHistNclsITSSA);
687 fHistClusterMapITSMI = new TH1F("fHistClusterMapITSMI", "N tracks with point on Layer (MI); Layer; N tracks",6, -0.5, 5.5);
688 fHistClusterMapITSMI->Sumw2();
689 fHistClusterMapITSMI->SetMinimum(0);
690 fOutput->Add(fHistClusterMapITSMI);
692 fHistClusterMapITSSA = new TH1F("fHistClusterMapITSSA", "N tracks with point on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
693 fHistClusterMapITSSA->Sumw2();
694 fHistClusterMapITSSA->SetMinimum(0);
695 fOutput->Add(fHistClusterMapITSSA);
697 fHistClusterMapITSSAInAcc = new TH1F("fHistClusterMapITSSAInAcc", "N tracks with point on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
698 fHistClusterMapITSSAInAcc->Sumw2();
699 fHistClusterMapITSSAInAcc->SetMinimum(0);
700 fOutput->Add(fHistClusterMapITSSAInAcc);
702 fHistClusterMapITSMIok = new TH1F("fHistClusterMapITSMIok", "N tracks with ok on Layer (MI); Layer; N tracks",6, -0.5, 5.5);
703 fHistClusterMapITSMIok->Sumw2();
704 fHistClusterMapITSMIok->SetMinimum(0);
705 fOutput->Add(fHistClusterMapITSMIok);
709 fHistClusterMapITSSAokInAcc = new TH1F("fHistClusterMapITSSAokInAcc", "N tracks with ok on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
710 fHistClusterMapITSSAokInAcc->Sumw2();
711 fHistClusterMapITSSAokInAcc->SetMinimum(0);
712 fOutput->Add(fHistClusterMapITSSAokInAcc);
714 fHistClusterMapModuleITSSAokInAcc = new TH1F("fHistClusterMapModuleITSSAokInAcc", "N tracks with ok on Module (SA); Module; N tracks",2198, -0.5, 2197.5);
715 fHistClusterMapModuleITSSAokInAcc->SetMinimum(0);
716 fOutput->Add(fHistClusterMapModuleITSSAokInAcc);
718 fHistClusterMapModuleITSMIokInAcc = new TH1F("fHistClusterMapModuleITSMIokInAcc", "N tracks with ok on Module (MI); Module; N tracks",2198, -0.5, 2197.5);
719 fHistClusterMapModuleITSMIokInAcc->SetMinimum(0);
720 fOutput->Add(fHistClusterMapModuleITSMIokInAcc);
722 fHistNClustersMapModule = new TH1F("fHistNClustersMapModule", "N clusters; Module; N tracks",2198, -0.5, 2197.5);
723 fHistNClustersMapModule->SetMinimum(0);
724 fOutput->Add(fHistNClustersMapModule);
726 fHistClusterMapITSSAok = new TH1F("fHistClusterMapITSSAok", "N tracks with ok on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
727 fHistClusterMapITSSAok->Sumw2();
728 fHistClusterMapITSSAok->SetMinimum(0);
729 fOutput->Add(fHistClusterMapITSSAok);
731 fHistClusterMapITSMIbad = new TH1F("fHistClusterMapITSMIbad", "N tracks with bad on Layer (MI); Layer; N tracks",6, -0.5, 5.5);
732 fHistClusterMapITSMIbad->Sumw2();
733 fHistClusterMapITSMIbad->SetMinimum(0);
734 fOutput->Add(fHistClusterMapITSMIbad);
736 fHistClusterMapITSSAbadInAcc = new TH1F("fHistClusterMapITSSAbadInAcc", "N tracks with bad on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
737 fHistClusterMapITSSAbadInAcc->Sumw2();
738 fHistClusterMapITSSAbadInAcc->SetMinimum(0);
739 fOutput->Add(fHistClusterMapITSSAbadInAcc);
741 fHistClusterMapModuleITSSAbadInAcc = new TH1F("fHistClusterMapModuleITSSAbadInAcc", "N tracks with bad on Module (SA); Module; N tracks",2198, -0.5, 2197.5);
742 fHistClusterMapModuleITSSAbadInAcc->SetMinimum(0);
743 fOutput->Add(fHistClusterMapModuleITSSAbadInAcc);
745 fHistClusterMapModuleITSMIbadInAcc = new TH1F("fHistClusterMapModuleITSMIbadInAcc", "N tracks with bad on Module (MI); Module; N tracks",2198, -0.5, 2197.5);
746 fHistClusterMapModuleITSMIbadInAcc->SetMinimum(0);
747 fOutput->Add(fHistClusterMapModuleITSMIbadInAcc);
749 fHistClusterMapITSSAbad = new TH1F("fHistClusterMapITSSAbad", "N tracks with bad on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
750 fHistClusterMapITSSAbad->Sumw2();
751 fHistClusterMapITSSAbad->SetMinimum(0);
752 fOutput->Add(fHistClusterMapITSSAbad);
754 fHistClusterMapITSMIskipped = new TH1F("fHistClusterMapITSMIskipped", "N tracks with skip on Layer (MI); Layer; N tracks",6, -0.5, 5.5);
755 fHistClusterMapITSMIskipped->Sumw2();
756 fHistClusterMapITSMIskipped->SetMinimum(0);
757 fOutput->Add(fHistClusterMapITSMIskipped);
759 fHistClusterMapITSSAskippedInAcc = new TH1F("fHistClusterMapITSSAskippedInAcc", "N tracks with skip on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
760 fHistClusterMapITSSAskippedInAcc->Sumw2();
761 fHistClusterMapITSSAskippedInAcc->SetMinimum(0);
762 fOutput->Add(fHistClusterMapITSSAskippedInAcc);
764 fHistClusterMapITSSAskipped = new TH1F("fHistClusterMapITSSAskipped", "N tracks with skip on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
765 fHistClusterMapITSSAskipped->Sumw2();
766 fHistClusterMapITSSAskipped->SetMinimum(0);
767 fOutput->Add(fHistClusterMapITSSAskipped);
769 fHistClusterMapITSMIoutinz = new TH1F("fHistClusterMapITSMIoutinz", "N tracks out in z on Layer (MI); Layer; N tracks",6, -0.5, 5.5);
770 fHistClusterMapITSMIoutinz->Sumw2();
771 fHistClusterMapITSMIoutinz->SetMinimum(0);
772 fOutput->Add(fHistClusterMapITSMIoutinz);
774 fHistClusterMapITSSAoutinzInAcc = new TH1F("fHistClusterMapITSSAoutinzInAcc", "N tracks with out in z on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
775 fHistClusterMapITSSAoutinzInAcc->Sumw2();
776 fHistClusterMapITSSAoutinzInAcc->SetMinimum(0);
777 fOutput->Add(fHistClusterMapITSSAoutinzInAcc);
779 fHistClusterMapITSSAoutinz = new TH1F("fHistClusterMapITSSAoutinz", "N tracks with out in z on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
780 fHistClusterMapITSSAoutinz->Sumw2();
781 fHistClusterMapITSSAoutinz->SetMinimum(0);
782 fOutput->Add(fHistClusterMapITSSAoutinz);
784 fHistClusterMapITSSAokoutinzbad = new TH1F("fHistClusterMapITSSAokoutinzbad", "N tracks with cluster or bad zone or out in z (SA); Layer; N tracks",6, -0.5, 5.5);
785 fHistClusterMapITSSAokoutinzbad->Sumw2();
786 fHistClusterMapITSSAokoutinzbad->SetMinimum(0);
787 fOutput->Add(fHistClusterMapITSSAokoutinzbad);
789 fHistClusterMapITSMIokoutinzbad = new TH1F("fHistClusterMapITSMIokoutinzbad", "N tracks with cluster or bad zone or out in z (MI); Layer; N tracks",6, -0.5, 5.5);
790 fHistClusterMapITSMIokoutinzbad->Sumw2();
791 fHistClusterMapITSMIokoutinzbad->SetMinimum(0);
792 fOutput->Add(fHistClusterMapITSMIokoutinzbad);
794 fHistClusterMapITSSAokoutinzbadInAcc = new TH1F("fHistClusterMapITSSAokoutinzbadInAcc", "N tracks with cluster or bad zone or out in z (SA); Layer; N tracks",6, -0.5, 5.5);
795 fHistClusterMapITSSAokoutinzbadInAcc->Sumw2();
796 fHistClusterMapITSSAokoutinzbadInAcc->SetMinimum(0);
797 fOutput->Add(fHistClusterMapITSSAokoutinzbadInAcc);
799 fHistClusterMapITSMInorefit = new TH1F("fHistClusterMapITSMInorefit", "N tracks with norefit on Layer (MI); Layer; N tracks",6, -0.5, 5.5);
800 fHistClusterMapITSMInorefit->Sumw2();
801 fHistClusterMapITSMInorefit->SetMinimum(0);
802 fOutput->Add(fHistClusterMapITSMInorefit);
804 fHistClusterMapITSSAnorefitInAcc = new TH1F("fHistClusterMapITSSAnorefitInAcc", "N tracks with norefit on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
805 fHistClusterMapITSSAnorefitInAcc->Sumw2();
806 fHistClusterMapITSSAnorefitInAcc->SetMinimum(0);
807 fOutput->Add(fHistClusterMapITSSAnorefitInAcc);
809 fHistClusterMapITSSAnorefit = new TH1F("fHistClusterMapITSSAnorefit", "N tracks with norefit on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
810 fHistClusterMapITSSAnorefit->Sumw2();
811 fHistClusterMapITSSAnorefit->SetMinimum(0);
812 fOutput->Add(fHistClusterMapITSSAnorefit);
814 fHistClusterMapITSMInocls = new TH1F("fHistClusterMapITSMInocls", "N tracks with nocls on Layer (MI); Layer; N tracks",6, -0.5, 5.5);
815 fHistClusterMapITSMInocls->Sumw2();
816 fHistClusterMapITSMInocls->SetMinimum(0);
817 fOutput->Add(fHistClusterMapITSMInocls);
819 fHistClusterMapITSSAnoclsInAcc = new TH1F("fHistClusterMapITSSAnoclsInAcc", "N tracks with nocls on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
820 fHistClusterMapITSSAnoclsInAcc->Sumw2();
821 fHistClusterMapITSSAnoclsInAcc->SetMinimum(0);
822 fOutput->Add(fHistClusterMapITSSAnoclsInAcc);
824 fHistClusterMapModuleITSSAnoclsInAcc = new TH1F("fHistClusterMapModuleITSSAnoclsInAcc", "N tracks with nocls on Module (SA); Module; N tracks",2198, -0.5, 2197.5);
825 fHistClusterMapModuleITSSAnoclsInAcc->SetMinimum(0);
826 fOutput->Add(fHistClusterMapModuleITSSAnoclsInAcc);
828 fHistClusterMapModuleITSMInoclsInAcc = new TH1F("fHistClusterMapModuleITSMInoclsInAcc", "N tracks with nocls on Module (MI); Module; N tracks",2198, -0.5, 2197.5);
829 fHistClusterMapModuleITSMInoclsInAcc->SetMinimum(0);
830 fOutput->Add(fHistClusterMapModuleITSMInoclsInAcc);
832 fHistClusterMapITSSAnocls = new TH1F("fHistClusterMapITSSAnocls", "N tracks with nocls on Layer (SA); Layer; N tracks",6, -0.5, 5.5);
833 fHistClusterMapITSSAnocls->Sumw2();
834 fHistClusterMapITSSAnocls->SetMinimum(0);
835 fOutput->Add(fHistClusterMapITSSAnocls);
838 fHistZatSPDouter0ok = new TH1F("fHistZatSPDouter0ok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16);
839 fHistZatSPDouter0ok->Sumw2();
840 fHistZatSPDouter0ok->SetMinimum(0);
841 fOutput->Add(fHistZatSPDouter0ok);
842 fHistZatSPDouter1ok = new TH1F("fHistZatSPDouter1ok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16);
843 fHistZatSPDouter1ok->Sumw2();
844 fHistZatSPDouter1ok->SetMinimum(0);
845 fOutput->Add(fHistZatSPDouter1ok);
846 fHistZatSPDouter2ok = new TH1F("fHistZatSPDouter2ok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16);
847 fHistZatSPDouter2ok->Sumw2();
848 fHistZatSPDouter2ok->SetMinimum(0);
849 fOutput->Add(fHistZatSPDouter2ok);
850 fHistZatSPDouter3ok = new TH1F("fHistZatSPDouter3ok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16);
851 fHistZatSPDouter3ok->Sumw2();
852 fHistZatSPDouter3ok->SetMinimum(0);
853 fOutput->Add(fHistZatSPDouter3ok);
854 fHistZatSPDouter0notok = new TH1F("fHistZatSPDouter0notok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16);
855 fHistZatSPDouter0notok->Sumw2();
856 fHistZatSPDouter0notok->SetMinimum(0);
857 fOutput->Add(fHistZatSPDouter0notok);
858 fHistZatSPDouter1notok = new TH1F("fHistZatSPDouter1notok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16);
859 fHistZatSPDouter1notok->Sumw2();
860 fHistZatSPDouter1notok->SetMinimum(0);
861 fOutput->Add(fHistZatSPDouter1notok);
862 fHistZatSPDouter2notok = new TH1F("fHistZatSPDouter2notok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16);
863 fHistZatSPDouter2notok->Sumw2();
864 fHistZatSPDouter2notok->SetMinimum(0);
865 fOutput->Add(fHistZatSPDouter2notok);
866 fHistZatSPDouter3notok = new TH1F("fHistZatSPDouter3notok", "Track z at SPDouter radius; z [cm]; N tracks",3200,-16,16);
867 fHistZatSPDouter3notok->Sumw2();
868 fHistZatSPDouter3notok->SetMinimum(0);
869 fOutput->Add(fHistZatSPDouter3notok);
871 fHistxlocSDDok = new TH1F("fHistxlocSDDok", "SDD points; xloc [cm]; N tracks",75, -3.75, 3.75);
872 fHistxlocSDDok->Sumw2();
873 fHistxlocSDDok->SetMinimum(0);
874 fOutput->Add(fHistxlocSDDok);
876 fHistxlocVSmodSDDok = new TH2F("fHistxlocVSmodSDDok", "SDD points; module; xloc [cm]",260,239.5,499.5,25, -3.75, 3.75);
877 fOutput->Add(fHistxlocVSmodSDDok);
879 fHistzlocSDDok = new TH1F("fHistzlocSDDok", "SDD points; zloc [cm]; N tracks",77, -3.85, 3.85);
880 fHistzlocSDDok->Sumw2();
881 fHistzlocSDDok->SetMinimum(0);
882 fOutput->Add(fHistzlocSDDok);
884 fHistxlocSDDall = new TH1F("fHistxlocSDDall", "SDD points; xloc [cm]; N tracks",75, -3.75, 3.75);
885 fHistxlocSDDall->Sumw2();
886 fHistxlocSDDall->SetMinimum(0);
887 fOutput->Add(fHistxlocSDDall);
889 fHistzlocSDDall = new TH1F("fHistzlocSDDall", "SDD points; zloc [cm]; N tracks",77, -3.85, 3.85);
890 fHistzlocSDDall->Sumw2();
891 fHistzlocSDDall->SetMinimum(0);
892 fOutput->Add(fHistzlocSDDall);
895 fHistPhiTPCInAcc = new TH1F("fHistPhiTPCInAcc","Azimuthal distribution of TPC tracks; #phi; N tracks",100, 0, 2.*3.1415);
896 fHistPhiTPCInAcc->Sumw2();
897 fHistPhiTPCInAcc->SetMinimum(0);
898 fOutput->Add(fHistPhiTPCInAcc);
900 fHistEtaTPCInAcc = new TH1F("fHistEtaTPCInAcc","Eta distribution of TPC tracks; #eta; N tracks",100, -1.5, +1.5);
901 fHistEtaTPCInAcc->Sumw2();
902 fHistEtaTPCInAcc->SetMinimum(0);
903 fOutput->Add(fHistEtaTPCInAcc);
906 fHistPhiITSMIokbadoutinz6InAcc = new TH1F("fHistPhiITSMIokbadoutinz6InAcc","Azimuthal distribution of ITSMI tracks with 6 layers OK; #phi; N tracks",100,0,2.*3.1415);
907 fHistPhiITSMIokbadoutinz6InAcc->Sumw2();
908 fHistPhiITSMIokbadoutinz6InAcc->SetMinimum(0);
909 fOutput->Add(fHistPhiITSMIokbadoutinz6InAcc);
911 fHistPtTPC = new TH1F("fHistPtTPC","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
913 fHistPtTPC->SetMinimum(0);
914 fOutput->Add(fHistPtTPC);
916 fHistPtITSMI6 = new TH1F("fHistPtITSMI6","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
917 fHistPtITSMI6->Sumw2();
918 fHistPtITSMI6->SetMinimum(0);
919 fOutput->Add(fHistPtITSMI6);
921 fHistPtITSMI5 = new TH1F("fHistPtITSMI5","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
922 fHistPtITSMI5->Sumw2();
923 fHistPtITSMI5->SetMinimum(0);
924 fOutput->Add(fHistPtITSMI5);
926 fHistPtITSMI4 = new TH1F("fHistPtITSMI4","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
927 fHistPtITSMI4->Sumw2();
928 fHistPtITSMI4->SetMinimum(0);
929 fOutput->Add(fHistPtITSMI4);
931 fHistPtITSMI3 = new TH1F("fHistPtITSMI3","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
932 fHistPtITSMI3->Sumw2();
933 fHistPtITSMI3->SetMinimum(0);
934 fOutput->Add(fHistPtITSMI3);
936 fHistPtITSMI2 = new TH1F("fHistPtITSMI2","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
937 fHistPtITSMI2->Sumw2();
938 fHistPtITSMI2->SetMinimum(0);
939 fOutput->Add(fHistPtITSMI2);
941 fHistPtITSMISPD = new TH1F("fHistPtITSMISPD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
942 fHistPtITSMISPD->Sumw2();
943 fHistPtITSMISPD->SetMinimum(0);
944 fOutput->Add(fHistPtITSMISPD);
946 fHistPtITSMIoneSPD = new TH1F("fHistPtITSMIoneSPD","pt distribution of ITSMIoneSPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
947 fHistPtITSMIoneSPD->Sumw2();
948 fHistPtITSMIoneSPD->SetMinimum(0);
949 fOutput->Add(fHistPtITSMIoneSPD);
951 fHistPtTPCInAcc = new TH1F("fHistPtTPCInAcc","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
952 fHistPtTPCInAcc->Sumw2();
953 fHistPtTPCInAcc->SetMinimum(0);
954 fOutput->Add(fHistPtTPCInAcc);
956 fHistPtTPCInAccTOFbc0 = new TH1F("fHistPtTPCInAccTOFbc0","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
957 fHistPtTPCInAccTOFbc0->Sumw2();
958 fHistPtTPCInAccTOFbc0->SetMinimum(0);
959 fOutput->Add(fHistPtTPCInAccTOFbc0);
961 fHistPtTPCInAccwSDD = new TH1F("fHistPtTPCInAccwSDD","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
962 fHistPtTPCInAccwSDD->Sumw2();
963 fHistPtTPCInAccwSDD->SetMinimum(0);
964 fOutput->Add(fHistPtTPCInAccwSDD);
966 fHistPtTPCInAccTOFbc0wSDD = new TH1F("fHistPtTPCInAccTOFbc0wSDD","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
967 fHistPtTPCInAccTOFbc0wSDD->Sumw2();
968 fHistPtTPCInAccTOFbc0wSDD->SetMinimum(0);
969 fOutput->Add(fHistPtTPCInAccTOFbc0wSDD);
971 fHistPtTPCInAccwoSDD = new TH1F("fHistPtTPCInAccwoSDD","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
972 fHistPtTPCInAccwoSDD->Sumw2();
973 fHistPtTPCInAccwoSDD->SetMinimum(0);
974 fOutput->Add(fHistPtTPCInAccwoSDD);
976 fHistPtTPCInAccTOFbc0woSDD = new TH1F("fHistPtTPCInAccTOFbc0woSDD","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
977 fHistPtTPCInAccTOFbc0woSDD->Sumw2();
978 fHistPtTPCInAccTOFbc0woSDD->SetMinimum(0);
979 fOutput->Add(fHistPtTPCInAccTOFbc0woSDD);
981 fHistPtTPCInAccMCtwoSPD = new TH1F("fHistPtTPCInAccMCtwoSPD","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
982 fHistPtTPCInAccMCtwoSPD->Sumw2();
983 fHistPtTPCInAccMCtwoSPD->SetMinimum(0);
984 fOutput->Add(fHistPtTPCInAccMCtwoSPD);
986 fHistPtTPCInAccMConeSPD = new TH1F("fHistPtTPCInAccMConeSPD","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
987 fHistPtTPCInAccMConeSPD->Sumw2();
988 fHistPtTPCInAccMConeSPD->SetMinimum(0);
989 fOutput->Add(fHistPtTPCInAccMConeSPD);
991 fHistdEdxVSPtTPCInAcc = new TH2F("fHistdEdxVSPtTPCInAcc","dE/dx distribution of TPC tracks; p_{t} [GeV/c]; TPC dE/dx",100,0,1,50,0,500);
992 fOutput->Add(fHistdEdxVSPtTPCInAcc);
994 fHistdEdxVSPtITSTPCsel = new TH2F("fHistdEdxVSPtITSTPCsel","dE/dx distribution of TPC tracks; p_{t} [GeV/c]; ITS dE/dx",100,0,1,50,0,500);
995 fOutput->Add(fHistdEdxVSPtITSTPCsel);
997 fHistTPCclsVSPtTPCInAcc = new TH2F("fHistTPCclsVSPtTPCInAcc","TPC ncls; p_{t} [GeV/c]; nclsTPC",50,0,10,80,0,160);
998 fOutput->Add(fHistTPCclsVSPtTPCInAcc);
999 fHistTPCclsVSPtITSMISPDInAcc = new TH2F("fHistTPCclsVSPtITSMISPDInAcc","TPC ncls; p_{t} [GeV/c]; nclsTPC",50,0,10,80,0,160);
1000 fOutput->Add(fHistTPCclsVSPtITSMISPDInAcc);
1002 fHistPtVSphiTPCInAcc = new TH2F("fHistPtVSphiTPCInAcc","pt distribution of TPC tracks; phi; p_{t} [GeV/c]",18,0,6.28,20,0,0.5);
1003 fHistPtVSphiTPCInAcc->SetMinimum(0);
1004 fOutput->Add(fHistPtVSphiTPCInAcc);
1006 fHistPtTPCInAccNoTRDout = new TH1F("fHistPtTPCInAccNoTRDout","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1007 fHistPtTPCInAccNoTRDout->Sumw2();
1008 fHistPtTPCInAccNoTRDout->SetMinimum(0);
1009 fOutput->Add(fHistPtTPCInAccNoTRDout);
1011 fHistPtTPCInAccNoTOFout = new TH1F("fHistPtTPCInAccNoTOFout","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1012 fHistPtTPCInAccNoTOFout->Sumw2();
1013 fHistPtTPCInAccNoTOFout->SetMinimum(0);
1014 fOutput->Add(fHistPtTPCInAccNoTOFout);
1016 fHistPtTPCInAccWithPtTPCAtVtx = new TH1F("fHistPtTPCInAccWithPtTPCAtVtx","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1017 fHistPtTPCInAccWithPtTPCAtVtx->Sumw2();
1018 fHistPtTPCInAccWithPtTPCAtVtx->SetMinimum(0);
1019 fOutput->Add(fHistPtTPCInAccWithPtTPCAtVtx);
1021 fHistPtTPCInAccWithPtTPCAtInnerWall = new TH1F("fHistPtTPCInAccWithPtTPCAtInnerWall","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1022 fHistPtTPCInAccWithPtTPCAtInnerWall->Sumw2();
1023 fHistPtTPCInAccWithPtTPCAtInnerWall->SetMinimum(0);
1024 fOutput->Add(fHistPtTPCInAccWithPtTPCAtInnerWall);
1026 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);
1027 fHistDeltaPtTPC->SetMinimum(0);
1028 fOutput->Add(fHistDeltaPtTPC);
1030 fHistPtITSMI6InAcc = new TH1F("fHistPtITSMI6InAcc","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1031 fHistPtITSMI6InAcc->Sumw2();
1032 fHistPtITSMI6InAcc->SetMinimum(0);
1033 fOutput->Add(fHistPtITSMI6InAcc);
1035 fHistPtITSMI5InAcc = new TH1F("fHistPtITSMI5InAcc","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1036 fHistPtITSMI5InAcc->Sumw2();
1037 fHistPtITSMI5InAcc->SetMinimum(0);
1038 fOutput->Add(fHistPtITSMI5InAcc);
1040 fHistPtITSMI4InAcc = new TH1F("fHistPtITSMI4InAcc","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1041 fHistPtITSMI4InAcc->Sumw2();
1042 fHistPtITSMI4InAcc->SetMinimum(0);
1043 fOutput->Add(fHistPtITSMI4InAcc);
1045 fHistPtITSMI3InAcc = new TH1F("fHistPtITSMI3InAcc","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1046 fHistPtITSMI3InAcc->Sumw2();
1047 fHistPtITSMI3InAcc->SetMinimum(0);
1048 fOutput->Add(fHistPtITSMI3InAcc);
1050 fHistPtITSMI2InAcc = new TH1F("fHistPtITSMI2InAcc","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1051 fHistPtITSMI2InAcc->Sumw2();
1052 fHistPtITSMI2InAcc->SetMinimum(0);
1053 fOutput->Add(fHistPtITSMI2InAcc);
1055 fHistPtITSMISPDInAcc = new TH1F("fHistPtITSMISPDInAcc","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1056 fHistPtITSMISPDInAcc->Sumw2();
1057 fHistPtITSMISPDInAcc->SetMinimum(0);
1058 fOutput->Add(fHistPtITSMISPDInAcc);
1060 fHistPtITSMIoneSPDInAcc = new TH1F("fHistPtITSMIoneSPDInAcc","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1061 fHistPtITSMIoneSPDInAcc->Sumw2();
1062 fHistPtITSMIoneSPDInAcc->SetMinimum(0);
1063 fOutput->Add(fHistPtITSMIoneSPDInAcc);
1065 fHistPtITSMI6InAccTOFbc0 = new TH1F("fHistPtITSMI6InAccTOFbc0","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1066 fHistPtITSMI6InAccTOFbc0->Sumw2();
1067 fHistPtITSMI6InAccTOFbc0->SetMinimum(0);
1068 fOutput->Add(fHistPtITSMI6InAccTOFbc0);
1070 fHistPtITSMI5InAccTOFbc0 = new TH1F("fHistPtITSMI5InAccTOFbc0","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1071 fHistPtITSMI5InAccTOFbc0->Sumw2();
1072 fHistPtITSMI5InAccTOFbc0->SetMinimum(0);
1073 fOutput->Add(fHistPtITSMI5InAccTOFbc0);
1075 fHistPtITSMI4InAccTOFbc0 = new TH1F("fHistPtITSMI4InAccTOFbc0","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1076 fHistPtITSMI4InAccTOFbc0->Sumw2();
1077 fHistPtITSMI4InAccTOFbc0->SetMinimum(0);
1078 fOutput->Add(fHistPtITSMI4InAccTOFbc0);
1080 fHistPtITSMI3InAccTOFbc0 = new TH1F("fHistPtITSMI3InAccTOFbc0","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1081 fHistPtITSMI3InAccTOFbc0->Sumw2();
1082 fHistPtITSMI3InAccTOFbc0->SetMinimum(0);
1083 fOutput->Add(fHistPtITSMI3InAccTOFbc0);
1085 fHistPtITSMI2InAccTOFbc0 = new TH1F("fHistPtITSMI2InAccTOFbc0","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1086 fHistPtITSMI2InAccTOFbc0->Sumw2();
1087 fHistPtITSMI2InAccTOFbc0->SetMinimum(0);
1088 fOutput->Add(fHistPtITSMI2InAccTOFbc0);
1090 fHistPtITSMISPDInAccTOFbc0 = new TH1F("fHistPtITSMISPDInAccTOFbc0","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1091 fHistPtITSMISPDInAccTOFbc0->Sumw2();
1092 fHistPtITSMISPDInAccTOFbc0->SetMinimum(0);
1093 fOutput->Add(fHistPtITSMISPDInAccTOFbc0);
1095 fHistPtITSMIoneSPDInAccTOFbc0 = new TH1F("fHistPtITSMIoneSPDInAccTOFbc0","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1096 fHistPtITSMIoneSPDInAccTOFbc0->Sumw2();
1097 fHistPtITSMIoneSPDInAccTOFbc0->SetMinimum(0);
1098 fOutput->Add(fHistPtITSMIoneSPDInAccTOFbc0);
1100 fHistPtITSMI6InAccwSDD = new TH1F("fHistPtITSMI6InAccwSDD","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1101 fHistPtITSMI6InAccwSDD->Sumw2();
1102 fHistPtITSMI6InAccwSDD->SetMinimum(0);
1103 fOutput->Add(fHistPtITSMI6InAccwSDD);
1105 fHistPtITSMI5InAccwSDD = new TH1F("fHistPtITSMI5InAccwSDD","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1106 fHistPtITSMI5InAccwSDD->Sumw2();
1107 fHistPtITSMI5InAccwSDD->SetMinimum(0);
1108 fOutput->Add(fHistPtITSMI5InAccwSDD);
1110 fHistPtITSMI4InAccwSDD = new TH1F("fHistPtITSMI4InAccwSDD","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1111 fHistPtITSMI4InAccwSDD->Sumw2();
1112 fHistPtITSMI4InAccwSDD->SetMinimum(0);
1113 fOutput->Add(fHistPtITSMI4InAccwSDD);
1115 fHistPtITSMI3InAccwSDD = new TH1F("fHistPtITSMI3InAccwSDD","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1116 fHistPtITSMI3InAccwSDD->Sumw2();
1117 fHistPtITSMI3InAccwSDD->SetMinimum(0);
1118 fOutput->Add(fHistPtITSMI3InAccwSDD);
1120 fHistPtITSMI2InAccwSDD = new TH1F("fHistPtITSMI2InAccwSDD","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1121 fHistPtITSMI2InAccwSDD->Sumw2();
1122 fHistPtITSMI2InAccwSDD->SetMinimum(0);
1123 fOutput->Add(fHistPtITSMI2InAccwSDD);
1125 fHistPtITSMISPDInAccwSDD = new TH1F("fHistPtITSMISPDInAccwSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1126 fHistPtITSMISPDInAccwSDD->Sumw2();
1127 fHistPtITSMISPDInAccwSDD->SetMinimum(0);
1128 fOutput->Add(fHistPtITSMISPDInAccwSDD);
1130 fHistPtITSMIoneSPDInAccwSDD = new TH1F("fHistPtITSMIoneSPDInAccwSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1131 fHistPtITSMIoneSPDInAccwSDD->Sumw2();
1132 fHistPtITSMIoneSPDInAccwSDD->SetMinimum(0);
1133 fOutput->Add(fHistPtITSMIoneSPDInAccwSDD);
1135 fHistPtITSMI6InAccTOFbc0wSDD = new TH1F("fHistPtITSMI6InAccTOFbc0wSDD","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1136 fHistPtITSMI6InAccTOFbc0wSDD->Sumw2();
1137 fHistPtITSMI6InAccTOFbc0wSDD->SetMinimum(0);
1138 fOutput->Add(fHistPtITSMI6InAccTOFbc0wSDD);
1140 fHistPtITSMI5InAccTOFbc0wSDD = new TH1F("fHistPtITSMI5InAccTOFbc0wSDD","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1141 fHistPtITSMI5InAccTOFbc0wSDD->Sumw2();
1142 fHistPtITSMI5InAccTOFbc0wSDD->SetMinimum(0);
1143 fOutput->Add(fHistPtITSMI5InAccTOFbc0wSDD);
1145 fHistPtITSMI4InAccTOFbc0wSDD = new TH1F("fHistPtITSMI4InAccTOFbc0wSDD","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1146 fHistPtITSMI4InAccTOFbc0wSDD->Sumw2();
1147 fHistPtITSMI4InAccTOFbc0wSDD->SetMinimum(0);
1148 fOutput->Add(fHistPtITSMI4InAccTOFbc0wSDD);
1150 fHistPtITSMI3InAccTOFbc0wSDD = new TH1F("fHistPtITSMI3InAccTOFbc0wSDD","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1151 fHistPtITSMI3InAccTOFbc0wSDD->Sumw2();
1152 fHistPtITSMI3InAccTOFbc0wSDD->SetMinimum(0);
1153 fOutput->Add(fHistPtITSMI3InAccTOFbc0wSDD);
1155 fHistPtITSMI2InAccTOFbc0wSDD = new TH1F("fHistPtITSMI2InAccTOFbc0wSDD","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1156 fHistPtITSMI2InAccTOFbc0wSDD->Sumw2();
1157 fHistPtITSMI2InAccTOFbc0wSDD->SetMinimum(0);
1158 fOutput->Add(fHistPtITSMI2InAccTOFbc0wSDD);
1160 fHistPtITSMISPDInAccTOFbc0wSDD = new TH1F("fHistPtITSMISPDInAccTOFbc0wSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1161 fHistPtITSMISPDInAccTOFbc0wSDD->Sumw2();
1162 fHistPtITSMISPDInAccTOFbc0wSDD->SetMinimum(0);
1163 fOutput->Add(fHistPtITSMISPDInAccTOFbc0wSDD);
1165 fHistPtITSMIoneSPDInAccTOFbc0wSDD = new TH1F("fHistPtITSMIoneSPDInAccTOFbc0wSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1166 fHistPtITSMIoneSPDInAccTOFbc0wSDD->Sumw2();
1167 fHistPtITSMIoneSPDInAccTOFbc0wSDD->SetMinimum(0);
1168 fOutput->Add(fHistPtITSMIoneSPDInAccTOFbc0wSDD);
1170 fHistPtITSMI6InAccwoSDD = new TH1F("fHistPtITSMI6InAccwoSDD","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1171 fHistPtITSMI6InAccwoSDD->Sumw2();
1172 fHistPtITSMI6InAccwoSDD->SetMinimum(0);
1173 fOutput->Add(fHistPtITSMI6InAccwoSDD);
1175 fHistPtITSMI5InAccwoSDD = new TH1F("fHistPtITSMI5InAccwoSDD","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1176 fHistPtITSMI5InAccwoSDD->Sumw2();
1177 fHistPtITSMI5InAccwoSDD->SetMinimum(0);
1178 fOutput->Add(fHistPtITSMI5InAccwoSDD);
1180 fHistPtITSMI4InAccwoSDD = new TH1F("fHistPtITSMI4InAccwoSDD","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1181 fHistPtITSMI4InAccwoSDD->Sumw2();
1182 fHistPtITSMI4InAccwoSDD->SetMinimum(0);
1183 fOutput->Add(fHistPtITSMI4InAccwoSDD);
1185 fHistPtITSMI3InAccwoSDD = new TH1F("fHistPtITSMI3InAccwoSDD","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1186 fHistPtITSMI3InAccwoSDD->Sumw2();
1187 fHistPtITSMI3InAccwoSDD->SetMinimum(0);
1188 fOutput->Add(fHistPtITSMI3InAccwoSDD);
1190 fHistPtITSMI2InAccwoSDD = new TH1F("fHistPtITSMI2InAccwoSDD","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1191 fHistPtITSMI2InAccwoSDD->Sumw2();
1192 fHistPtITSMI2InAccwoSDD->SetMinimum(0);
1193 fOutput->Add(fHistPtITSMI2InAccwoSDD);
1195 fHistPtITSMISPDInAccwoSDD = new TH1F("fHistPtITSMISPDInAccwoSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1196 fHistPtITSMISPDInAccwoSDD->Sumw2();
1197 fHistPtITSMISPDInAccwoSDD->SetMinimum(0);
1198 fOutput->Add(fHistPtITSMISPDInAccwoSDD);
1200 fHistPtITSMIoneSPDInAccwoSDD = new TH1F("fHistPtITSMIoneSPDInAccwoSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1201 fHistPtITSMIoneSPDInAccwoSDD->Sumw2();
1202 fHistPtITSMIoneSPDInAccwoSDD->SetMinimum(0);
1203 fOutput->Add(fHistPtITSMIoneSPDInAccwoSDD);
1205 fHistPtITSMI6InAccTOFbc0woSDD = new TH1F("fHistPtITSMI6InAccTOFbc0woSDD","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1206 fHistPtITSMI6InAccTOFbc0woSDD->Sumw2();
1207 fHistPtITSMI6InAccTOFbc0woSDD->SetMinimum(0);
1208 fOutput->Add(fHistPtITSMI6InAccTOFbc0woSDD);
1210 fHistPtITSMI5InAccTOFbc0woSDD = new TH1F("fHistPtITSMI5InAccTOFbc0woSDD","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1211 fHistPtITSMI5InAccTOFbc0woSDD->Sumw2();
1212 fHistPtITSMI5InAccTOFbc0woSDD->SetMinimum(0);
1213 fOutput->Add(fHistPtITSMI5InAccTOFbc0woSDD);
1215 fHistPtITSMI4InAccTOFbc0woSDD = new TH1F("fHistPtITSMI4InAccTOFbc0woSDD","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1216 fHistPtITSMI4InAccTOFbc0woSDD->Sumw2();
1217 fHistPtITSMI4InAccTOFbc0woSDD->SetMinimum(0);
1218 fOutput->Add(fHistPtITSMI4InAccTOFbc0woSDD);
1220 fHistPtITSMI3InAccTOFbc0woSDD = new TH1F("fHistPtITSMI3InAccTOFbc0woSDD","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1221 fHistPtITSMI3InAccTOFbc0woSDD->Sumw2();
1222 fHistPtITSMI3InAccTOFbc0woSDD->SetMinimum(0);
1223 fOutput->Add(fHistPtITSMI3InAccTOFbc0woSDD);
1225 fHistPtITSMI2InAccTOFbc0woSDD = new TH1F("fHistPtITSMI2InAccTOFbc0woSDD","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1226 fHistPtITSMI2InAccTOFbc0woSDD->Sumw2();
1227 fHistPtITSMI2InAccTOFbc0woSDD->SetMinimum(0);
1228 fOutput->Add(fHistPtITSMI2InAccTOFbc0woSDD);
1230 fHistPtITSMISPDInAccTOFbc0woSDD = new TH1F("fHistPtITSMISPDInAccTOFbc0woSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1231 fHistPtITSMISPDInAccTOFbc0woSDD->Sumw2();
1232 fHistPtITSMISPDInAccTOFbc0woSDD->SetMinimum(0);
1233 fOutput->Add(fHistPtITSMISPDInAccTOFbc0woSDD);
1235 fHistPtITSMIoneSPDInAccTOFbc0woSDD = new TH1F("fHistPtITSMIoneSPDInAccTOFbc0woSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1236 fHistPtITSMIoneSPDInAccTOFbc0woSDD->Sumw2();
1237 fHistPtITSMIoneSPDInAccTOFbc0woSDD->SetMinimum(0);
1238 fOutput->Add(fHistPtITSMIoneSPDInAccTOFbc0woSDD);
1240 fHistPtITSMIoneSPDInAccShared = new TH1F("fHistPtITSMIoneSPDInAccShared","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1241 fHistPtITSMIoneSPDInAccShared->Sumw2();
1242 fHistPtITSMIoneSPDInAccShared->SetMinimum(0);
1243 fOutput->Add(fHistPtITSMIoneSPDInAccShared);
1245 fHistPtITSMIoneSPDInAccSharedSPD = new TH1F("fHistPtITSMIoneSPDInAccSharedSPD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1246 fHistPtITSMIoneSPDInAccSharedSPD->Sumw2();
1247 fHistPtITSMIoneSPDInAccSharedSPD->SetMinimum(0);
1248 fOutput->Add(fHistPtITSMIoneSPDInAccSharedSPD);
1250 fHistPtITSMISPD1InAccShared = new TH1F("fHistPtITSMISPD1InAccShared","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1251 fHistPtITSMISPD1InAccShared->Sumw2();
1252 fHistPtITSMISPD1InAccShared->SetMinimum(0);
1253 fOutput->Add(fHistPtITSMISPD1InAccShared);
1255 fHistPtITSMISPD2InAccShared = new TH1F("fHistPtITSMISPD2InAccShared","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1256 fHistPtITSMISPD2InAccShared->Sumw2();
1257 fHistPtITSMISPD2InAccShared->SetMinimum(0);
1258 fOutput->Add(fHistPtITSMISPD2InAccShared);
1260 fHistPtITSMIoneSPDInAccSharedFake = new TH1F("fHistPtITSMIoneSPDInAccSharedFake","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1261 fHistPtITSMIoneSPDInAccSharedFake->Sumw2();
1262 fHistPtITSMIoneSPDInAccSharedFake->SetMinimum(0);
1263 fOutput->Add(fHistPtITSMIoneSPDInAccSharedFake);
1265 fHistPtITSMIoneSPDInAccSharedSPDFake = new TH1F("fHistPtITSMIoneSPDInAccSharedSPDFake","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1266 fHistPtITSMIoneSPDInAccSharedSPDFake->Sumw2();
1267 fHistPtITSMIoneSPDInAccSharedSPDFake->SetMinimum(0);
1268 fOutput->Add(fHistPtITSMIoneSPDInAccSharedSPDFake);
1270 fHistPhiITSMI6InAcc = new TH1F("fHistPhiITSMI6InAcc","phi distribution of ITSMI6 tracks; #phi; N tracks",100,0,2*3.1415);
1271 fHistPhiITSMI6InAcc->Sumw2();
1272 fHistPhiITSMI6InAcc->SetMinimum(0);
1273 fOutput->Add(fHistPhiITSMI6InAcc);
1275 fHistPhiITSMI5InAcc = new TH1F("fHistPhiITSMI5InAcc","phi distribution of ITSMI5 tracks; #phi; N tracks",100,0,2*3.1415);
1276 fHistPhiITSMI5InAcc->Sumw2();
1277 fHistPhiITSMI5InAcc->SetMinimum(0);
1278 fOutput->Add(fHistPhiITSMI5InAcc);
1280 fHistPhiITSMI4InAcc = new TH1F("fHistPhiITSMI4InAcc","phi distribution of ITSMI4 tracks; #phi; N tracks",100,0,2*3.1415);
1281 fHistPhiITSMI4InAcc->Sumw2();
1282 fHistPhiITSMI4InAcc->SetMinimum(0);
1283 fOutput->Add(fHistPhiITSMI4InAcc);
1285 fHistPhiITSMI3InAcc = new TH1F("fHistPhiITSMI3InAcc","phi distribution of ITSMI3 tracks; #phi; N tracks",100,0,2*3.1415);
1286 fHistPhiITSMI3InAcc->Sumw2();
1287 fHistPhiITSMI3InAcc->SetMinimum(0);
1288 fOutput->Add(fHistPhiITSMI3InAcc);
1290 fHistPhiITSMI2InAcc = new TH1F("fHistPhiITSMI2InAcc","phi distribution of ITSMI2 tracks; #phi; N tracks",100,0,2*3.1415);
1291 fHistPhiITSMI2InAcc->Sumw2();
1292 fHistPhiITSMI2InAcc->SetMinimum(0);
1293 fOutput->Add(fHistPhiITSMI2InAcc);
1295 fHistPhiITSMISPDInAcc = new TH1F("fHistPhiITSMISPDInAcc","phi distribution of ITSMISPD tracks; #phi; N tracks",100,0,2*3.1415);
1296 fHistPhiITSMISPDInAcc->Sumw2();
1297 fHistPhiITSMISPDInAcc->SetMinimum(0);
1298 fOutput->Add(fHistPhiITSMISPDInAcc);
1300 fHistPhiITSMIoneSPDInAcc = new TH1F("fHistPhiITSMIoneSPDInAcc","phi distribution of ITSMISPD tracks; #phi; N tracks",100,0,2*3.1415);
1301 fHistPhiITSMIoneSPDInAcc->Sumw2();
1302 fHistPhiITSMIoneSPDInAcc->SetMinimum(0);
1303 fOutput->Add(fHistPhiITSMIoneSPDInAcc);
1305 fHistEtaITSMI6InAcc = new TH1F("fHistEtaITSMI6InAcc","eta distribution of ITSMI6 tracks; #eta; N tracks",100,-1.5,+1.5);
1306 fHistEtaITSMI6InAcc->Sumw2();
1307 fHistEtaITSMI6InAcc->SetMinimum(0);
1308 fOutput->Add(fHistEtaITSMI6InAcc);
1310 fHistEtaITSMI5InAcc = new TH1F("fHistEtaITSMI5InAcc","eta distribution of ITSMI5 tracks; #eta; N tracks",100,-1.5,+1.5);
1311 fHistEtaITSMI5InAcc->Sumw2();
1312 fHistEtaITSMI5InAcc->SetMinimum(0);
1313 fOutput->Add(fHistEtaITSMI5InAcc);
1315 fHistEtaITSMI4InAcc = new TH1F("fHistEtaITSMI4InAcc","eta distribution of ITSMI4 tracks; #eta; N tracks",100,-1.5,+1.5);
1316 fHistEtaITSMI4InAcc->Sumw2();
1317 fHistEtaITSMI4InAcc->SetMinimum(0);
1318 fOutput->Add(fHistEtaITSMI4InAcc);
1320 fHistEtaITSMI3InAcc = new TH1F("fHistEtaITSMI3InAcc","eta distribution of ITSMI3 tracks; #eta; N tracks",100,-1.5,+1.5);
1321 fHistEtaITSMI3InAcc->Sumw2();
1322 fHistEtaITSMI3InAcc->SetMinimum(0);
1323 fOutput->Add(fHistEtaITSMI3InAcc);
1325 fHistEtaITSMI2InAcc = new TH1F("fHistEtaITSMI2InAcc","eta distribution of ITSMI2 tracks; #eta; N tracks",100,-1.5,+1.5);
1326 fHistEtaITSMI2InAcc->Sumw2();
1327 fHistEtaITSMI2InAcc->SetMinimum(0);
1328 fOutput->Add(fHistEtaITSMI2InAcc);
1330 fHistEtaITSMISPDInAcc = new TH1F("fHistEtaITSMISPDInAcc","eta distribution of ITSMISPD tracks; #eta; N tracks",100,-1.5,+1.5);
1331 fHistEtaITSMISPDInAcc->Sumw2();
1332 fHistEtaITSMISPDInAcc->SetMinimum(0);
1333 fOutput->Add(fHistEtaITSMISPDInAcc);
1335 fHistEtaITSMIoneSPDInAcc = new TH1F("fHistEtaITSMIoneSPDInAcc","eta distribution of ITSMISPD tracks; #eta; N tracks",100,-1.5,+1.5);
1336 fHistEtaITSMIoneSPDInAcc->Sumw2();
1337 fHistEtaITSMIoneSPDInAcc->SetMinimum(0);
1338 fOutput->Add(fHistEtaITSMIoneSPDInAcc);
1341 fHistPtITSMI6InAccFake = new TH1F("fHistPtITSMI6InAccFake","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1342 fHistPtITSMI6InAccFake->Sumw2();
1343 fHistPtITSMI6InAccFake->SetMinimum(0);
1344 fOutput->Add(fHistPtITSMI6InAccFake);
1346 fHistPtITSMI5InAccFake = new TH1F("fHistPtITSMI5InAccFake","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1347 fHistPtITSMI5InAccFake->Sumw2();
1348 fHistPtITSMI5InAccFake->SetMinimum(0);
1349 fOutput->Add(fHistPtITSMI5InAccFake);
1351 fHistPtITSMI4InAccFake = new TH1F("fHistPtITSMI4InAccFake","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1352 fHistPtITSMI4InAccFake->Sumw2();
1353 fHistPtITSMI4InAccFake->SetMinimum(0);
1354 fOutput->Add(fHistPtITSMI4InAccFake);
1356 fHistPtITSMI3InAccFake = new TH1F("fHistPtITSMI3InAccFake","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1357 fHistPtITSMI3InAccFake->Sumw2();
1358 fHistPtITSMI3InAccFake->SetMinimum(0);
1359 fOutput->Add(fHistPtITSMI3InAccFake);
1361 fHistPtITSMI2InAccFake = new TH1F("fHistPtITSMI2InAccFake","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1362 fHistPtITSMI2InAccFake->Sumw2();
1363 fHistPtITSMI2InAccFake->SetMinimum(0);
1364 fOutput->Add(fHistPtITSMI2InAccFake);
1366 fHistPtITSMISPDInAccFake = new TH1F("fHistPtITSMISPDInAccFake","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1367 fHistPtITSMISPDInAccFake->Sumw2();
1368 fHistPtITSMISPDInAccFake->SetMinimum(0);
1369 fOutput->Add(fHistPtITSMISPDInAccFake);
1371 fHistPtITSMIoneSPDInAccFake = new TH1F("fHistPtITSMIoneSPDInAccFake","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1372 fHistPtITSMIoneSPDInAccFake->Sumw2();
1373 fHistPtITSMIoneSPDInAccFake->SetMinimum(0);
1374 fOutput->Add(fHistPtITSMIoneSPDInAccFake);
1376 fHistPtITSMIoneSPDthreeSDDSSDInAcc = new TH1F("fHistPtITSMIoneSPDthreeSDDSSDInAcc","pt distribution of ITSMI tracks (>0 in SPD, >2 in SDD+SSD); p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1377 fHistPtITSMIoneSPDthreeSDDSSDInAcc->Sumw2();
1378 fHistPtITSMIoneSPDthreeSDDSSDInAcc->SetMinimum(0);
1379 fOutput->Add(fHistPtITSMIoneSPDthreeSDDSSDInAcc);
1381 fHistPtITSTPCsel = new TH1F("fHistPtITSTPCsel","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1382 fHistPtITSTPCsel->Sumw2();
1383 fHistPtITSTPCsel->SetMinimum(0);
1384 fOutput->Add(fHistPtITSTPCsel);
1386 fHistPtITSTPCselTOFbc0 = new TH1F("fHistPtITSTPCselTOFbc0","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1387 fHistPtITSTPCselTOFbc0->Sumw2();
1388 fHistPtITSTPCselTOFbc0->SetMinimum(0);
1389 fOutput->Add(fHistPtITSTPCselTOFbc0);
1391 fHistPtITSTPCselwSDD = new TH1F("fHistPtITSTPCselwSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1392 fHistPtITSTPCselwSDD->Sumw2();
1393 fHistPtITSTPCselwSDD->SetMinimum(0);
1394 fOutput->Add(fHistPtITSTPCselwSDD);
1396 fHistPtITSTPCselTOFbc0wSDD = new TH1F("fHistPtITSTPCselTOFbc0wSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1397 fHistPtITSTPCselTOFbc0wSDD->Sumw2();
1398 fHistPtITSTPCselTOFbc0wSDD->SetMinimum(0);
1399 fOutput->Add(fHistPtITSTPCselTOFbc0wSDD);
1401 fHistPtITSTPCselwoSDD = new TH1F("fHistPtITSTPCselwoSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1402 fHistPtITSTPCselwoSDD->Sumw2();
1403 fHistPtITSTPCselwoSDD->SetMinimum(0);
1404 fOutput->Add(fHistPtITSTPCselwoSDD);
1406 fHistPtITSTPCselTOFbc0woSDD = new TH1F("fHistPtITSTPCselTOFbc0woSDD","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1407 fHistPtITSTPCselTOFbc0woSDD->Sumw2();
1408 fHistPtITSTPCselTOFbc0woSDD->SetMinimum(0);
1409 fOutput->Add(fHistPtITSTPCselTOFbc0woSDD);
1411 fHistPtITSTPCselP = new TH1F("fHistPtITSTPCselP","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1412 fHistPtITSTPCselP->Sumw2();
1413 fHistPtITSTPCselP->SetMinimum(0);
1414 fOutput->Add(fHistPtITSTPCselP);
1416 fHistPtITSTPCselS = new TH1F("fHistPtITSTPCselS","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1417 fHistPtITSTPCselS->Sumw2();
1418 fHistPtITSTPCselS->SetMinimum(0);
1419 fOutput->Add(fHistPtITSTPCselS);
1421 fHistPtITSTPCselFake = new TH1F("fHistPtITSTPCselFake","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1422 fHistPtITSTPCselFake->Sumw2();
1423 fHistPtITSTPCselFake->SetMinimum(0);
1424 fOutput->Add(fHistPtITSTPCselFake);
1426 fHistPtITSTPCselSfromStrange = new TH1F("fHistPtITSTPCselSfromStrange","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1427 fHistPtITSTPCselSfromStrange->Sumw2();
1428 fHistPtITSTPCselSfromStrange->SetMinimum(0);
1429 fOutput->Add(fHistPtITSTPCselSfromStrange);
1431 fHistPtITSTPCselPfromStrange = new TH1F("fHistPtITSTPCselPfromStrange","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1432 fHistPtITSTPCselPfromStrange->Sumw2();
1433 fHistPtITSTPCselPfromStrange->SetMinimum(0);
1434 fOutput->Add(fHistPtITSTPCselPfromStrange);
1436 fHistPtITSTPCselSfromMat = new TH1F("fHistPtITSTPCselSfromMat","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1437 fHistPtITSTPCselSfromMat->Sumw2();
1438 fHistPtITSTPCselSfromMat->SetMinimum(0);
1439 fOutput->Add(fHistPtITSTPCselSfromMat);
1441 fHistPtTPCInAccP = new TH1F("fHistPtTPCInAccP","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1442 fHistPtTPCInAccP->Sumw2();
1443 fHistPtTPCInAccP->SetMinimum(0);
1444 fOutput->Add(fHistPtTPCInAccP);
1446 fHistPtTPCInAccPfromStrange = new TH1F("fHistPtTPCInAccPfromStrange","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1447 fHistPtTPCInAccPfromStrange->Sumw2();
1448 fHistPtTPCInAccPfromStrange->SetMinimum(0);
1449 fOutput->Add(fHistPtTPCInAccPfromStrange);
1451 fHistPtITSMI6InAccP = new TH1F("fHistPtITSMI6InAccP","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1452 fHistPtITSMI6InAccP->Sumw2();
1453 fHistPtITSMI6InAccP->SetMinimum(0);
1454 fOutput->Add(fHistPtITSMI6InAccP);
1456 fHistPtITSMI5InAccP = new TH1F("fHistPtITSMI5InAccP","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1457 fHistPtITSMI5InAccP->Sumw2();
1458 fHistPtITSMI5InAccP->SetMinimum(0);
1459 fOutput->Add(fHistPtITSMI5InAccP);
1461 fHistPtITSMI4InAccP = new TH1F("fHistPtITSMI4InAccP","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1462 fHistPtITSMI4InAccP->Sumw2();
1463 fHistPtITSMI4InAccP->SetMinimum(0);
1464 fOutput->Add(fHistPtITSMI4InAccP);
1466 fHistPtITSMI3InAccP = new TH1F("fHistPtITSMI3InAccP","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1467 fHistPtITSMI3InAccP->Sumw2();
1468 fHistPtITSMI3InAccP->SetMinimum(0);
1469 fOutput->Add(fHistPtITSMI3InAccP);
1471 fHistPtITSMI2InAccP = new TH1F("fHistPtITSMI2InAccP","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1472 fHistPtITSMI2InAccP->Sumw2();
1473 fHistPtITSMI2InAccP->SetMinimum(0);
1474 fOutput->Add(fHistPtITSMI2InAccP);
1476 fHistPtITSMISPDInAccP = new TH1F("fHistPtITSMISPDInAccP","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1477 fHistPtITSMISPDInAccP->Sumw2();
1478 fHistPtITSMISPDInAccP->SetMinimum(0);
1479 fOutput->Add(fHistPtITSMISPDInAccP);
1481 fHistPtITSMIoneSPDInAccP = new TH1F("fHistPtITSMIoneSPDInAccP","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1482 fHistPtITSMIoneSPDInAccP->Sumw2();
1483 fHistPtITSMIoneSPDInAccP->SetMinimum(0);
1484 fOutput->Add(fHistPtITSMIoneSPDInAccP);
1486 fHistPtTPCInAccS = new TH1F("fHistPtTPCInAccS","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1487 fHistPtTPCInAccS->Sumw2();
1488 fHistPtTPCInAccS->SetMinimum(0);
1489 fOutput->Add(fHistPtTPCInAccS);
1491 fHistPtTPCInAccSfromStrange = new TH1F("fHistPtTPCInAccSfromStrange","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1492 fHistPtTPCInAccSfromStrange->Sumw2();
1493 fHistPtTPCInAccSfromStrange->SetMinimum(0);
1494 fOutput->Add(fHistPtTPCInAccSfromStrange);
1496 fHistPtTPCInAccSfromMat = new TH1F("fHistPtTPCInAccSfromMat","pt distribution of TPC tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1497 fHistPtTPCInAccSfromMat->Sumw2();
1498 fHistPtTPCInAccSfromMat->SetMinimum(0);
1499 fOutput->Add(fHistPtTPCInAccSfromMat);
1501 fHistPtITSMI6InAccS = new TH1F("fHistPtITSMI6InAccS","pt distribution of ITSMI6 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1502 fHistPtITSMI6InAccS->Sumw2();
1503 fHistPtITSMI6InAccS->SetMinimum(0);
1504 fOutput->Add(fHistPtITSMI6InAccS);
1506 fHistPtITSMI5InAccS = new TH1F("fHistPtITSMI5InAccS","pt distribution of ITSMI5 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1507 fHistPtITSMI5InAccS->Sumw2();
1508 fHistPtITSMI5InAccS->SetMinimum(0);
1509 fOutput->Add(fHistPtITSMI5InAccS);
1511 fHistPtITSMI4InAccS = new TH1F("fHistPtITSMI4InAccS","pt distribution of ITSMI4 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1512 fHistPtITSMI4InAccS->Sumw2();
1513 fHistPtITSMI4InAccS->SetMinimum(0);
1514 fOutput->Add(fHistPtITSMI4InAccS);
1516 fHistPtITSMI3InAccS = new TH1F("fHistPtITSMI3InAccS","pt distribution of ITSMI3 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1517 fHistPtITSMI3InAccS->Sumw2();
1518 fHistPtITSMI3InAccS->SetMinimum(0);
1519 fOutput->Add(fHistPtITSMI3InAccS);
1521 fHistPtITSMI2InAccS = new TH1F("fHistPtITSMI2InAccS","pt distribution of ITSMI2 tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1522 fHistPtITSMI2InAccS->Sumw2();
1523 fHistPtITSMI2InAccS->SetMinimum(0);
1524 fOutput->Add(fHistPtITSMI2InAccS);
1526 fHistPtITSMISPDInAccS = new TH1F("fHistPtITSMISPDInAccS","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1527 fHistPtITSMISPDInAccS->Sumw2();
1528 fHistPtITSMISPDInAccS->SetMinimum(0);
1529 fOutput->Add(fHistPtITSMISPDInAccS);
1531 fHistPtITSMIoneSPDInAccS = new TH1F("fHistPtITSMIoneSPDInAccS","pt distribution of ITSMISPD tracks; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1532 fHistPtITSMIoneSPDInAccS->Sumw2();
1533 fHistPtITSMIoneSPDInAccS->SetMinimum(0);
1534 fOutput->Add(fHistPtITSMIoneSPDInAccS);
1536 fHistPtITSMIokbadoutinz6 = new TH1F("fHistPtITSMIokbadoutinz6","pt distribution of ITSMI tracks with 6 layers OK; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1537 fHistPtITSMIokbadoutinz6->Sumw2();
1538 fHistPtITSMIokbadoutinz6->SetMinimum(0);
1539 fOutput->Add(fHistPtITSMIokbadoutinz6);
1541 fHistPtITSMIokbadoutinz4InAcc = new TH1F("fHistPtITSMIokbadoutinz4InAcc","pt distribution of ITSMI tracks with 4 layers OK; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1542 fHistPtITSMIokbadoutinz4InAcc->Sumw2();
1543 fHistPtITSMIokbadoutinz4InAcc->SetMinimum(0);
1544 fOutput->Add(fHistPtITSMIokbadoutinz4InAcc);
1546 fHistPtITSMIokbadoutinz5InAcc = new TH1F("fHistPtITSMIokbadoutinz5InAcc","pt distribution of ITSMI tracks with 5 layers OK; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1547 fHistPtITSMIokbadoutinz5InAcc->Sumw2();
1548 fHistPtITSMIokbadoutinz5InAcc->SetMinimum(0);
1549 fOutput->Add(fHistPtITSMIokbadoutinz5InAcc);
1551 fHistPtITSMIokbadoutinz6InAcc = new TH1F("fHistPtITSMIokbadoutinz6InAcc","pt distribution of ITSMI tracks with 6 layers OK; p_{t} [GeV/c]; N tracks",nPtBins,xPtBins);
1552 fHistPtITSMIokbadoutinz6InAcc->Sumw2();
1553 fHistPtITSMIokbadoutinz6InAcc->SetMinimum(0);
1554 fOutput->Add(fHistPtITSMIokbadoutinz6InAcc);
1556 fHistRProdVtxInAccP = new TH1F("fHistRProdVtxInAccP","Radius of production vertex for primaries; r [cm]; N tracks",100,0,10);
1557 fHistRProdVtxInAccP->Sumw2();
1558 fHistRProdVtxInAccP->SetMinimum(0);
1559 fOutput->Add(fHistRProdVtxInAccP);
1561 fHistRProdVtxInAccS = new TH1F("fHistRProdVtxInAccS","Radius of production vertex for secondaries; r [cm]; N tracks",100,0,10);
1562 fHistRProdVtxInAccS->Sumw2();
1563 fHistRProdVtxInAccS->SetMinimum(0);
1564 fOutput->Add(fHistRProdVtxInAccS);
1567 fHistd0rphiTPCInAccP150200 = new TH1F("fHistd0rphiTPCInAccP150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5);
1568 fHistd0rphiTPCInAccP150200->Sumw2();
1569 fHistd0rphiTPCInAccP150200->SetMinimum(0);
1570 fOutput->Add(fHistd0rphiTPCInAccP150200);
1572 fHistd0rphiTPCInAccP500700 = new TH1F("fHistd0rphiTPCInAccP500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5);
1573 fHistd0rphiTPCInAccP500700->Sumw2();
1574 fHistd0rphiTPCInAccP500700->SetMinimum(0);
1575 fOutput->Add(fHistd0rphiTPCInAccP500700);
1577 fHistd0rphiTPCInAccP10001500 = new TH1F("fHistd0rphiTPCInAccP10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5);
1578 fHistd0rphiTPCInAccP10001500->Sumw2();
1579 fHistd0rphiTPCInAccP10001500->SetMinimum(0);
1580 fOutput->Add(fHistd0rphiTPCInAccP10001500);
1582 fHistd0rphiTPCInAccS150200 = new TH1F("fHistd0rphiTPCInAccS150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5);
1583 fHistd0rphiTPCInAccS150200->Sumw2();
1584 fHistd0rphiTPCInAccS150200->SetMinimum(0);
1585 fOutput->Add(fHistd0rphiTPCInAccS150200);
1587 fHistd0rphiTPCInAccS500700 = new TH1F("fHistd0rphiTPCInAccS500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5);
1588 fHistd0rphiTPCInAccS500700->Sumw2();
1589 fHistd0rphiTPCInAccS500700->SetMinimum(0);
1590 fOutput->Add(fHistd0rphiTPCInAccS500700);
1592 fHistd0rphiTPCInAccS10001500 = new TH1F("fHistd0rphiTPCInAccS10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-5,5);
1593 fHistd0rphiTPCInAccS10001500->Sumw2();
1594 fHistd0rphiTPCInAccS10001500->SetMinimum(0);
1595 fOutput->Add(fHistd0rphiTPCInAccS10001500);
1597 fHistd0rphiITSMISPDInAccP150200 = new TH1F("fHistd0rphiITSMISPDInAccP150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1598 fHistd0rphiITSMISPDInAccP150200->Sumw2();
1599 fHistd0rphiITSMISPDInAccP150200->SetMinimum(0);
1600 fOutput->Add(fHistd0rphiITSMISPDInAccP150200);
1602 fHistd0rphiITSMISPDInAccP500700 = new TH1F("fHistd0rphiITSMISPDInAccP500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1603 fHistd0rphiITSMISPDInAccP500700->Sumw2();
1604 fHistd0rphiITSMISPDInAccP500700->SetMinimum(0);
1605 fOutput->Add(fHistd0rphiITSMISPDInAccP500700);
1607 fHistd0rphiITSMISPDInAccP10001500 = new TH1F("fHistd0rphiITSMISPDInAccP10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1608 fHistd0rphiITSMISPDInAccP10001500->Sumw2();
1609 fHistd0rphiITSMISPDInAccP10001500->SetMinimum(0);
1610 fOutput->Add(fHistd0rphiITSMISPDInAccP10001500);
1612 fHistd0rphiITSMISPDInAccS150200 = new TH1F("fHistd0rphiITSMISPDInAccS150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1613 fHistd0rphiITSMISPDInAccS150200->Sumw2();
1614 fHistd0rphiITSMISPDInAccS150200->SetMinimum(0);
1615 fOutput->Add(fHistd0rphiITSMISPDInAccS150200);
1617 fHistd0rphiITSMISPDInAccS500700 = new TH1F("fHistd0rphiITSMISPDInAccS500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1618 fHistd0rphiITSMISPDInAccS500700->Sumw2();
1619 fHistd0rphiITSMISPDInAccS500700->SetMinimum(0);
1620 fOutput->Add(fHistd0rphiITSMISPDInAccS500700);
1622 fHistd0rphiITSMISPDInAccS10001500 = new TH1F("fHistd0rphiITSMISPDInAccS10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1623 fHistd0rphiITSMISPDInAccS10001500->Sumw2();
1624 fHistd0rphiITSMISPDInAccS10001500->SetMinimum(0);
1625 fOutput->Add(fHistd0rphiITSMISPDInAccS10001500);
1627 fHistd0rphiITSMIoneSPDInAccP150200 = new TH1F("fHistd0rphiITSMIoneSPDInAccP150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1628 fHistd0rphiITSMIoneSPDInAccP150200->Sumw2();
1629 fHistd0rphiITSMIoneSPDInAccP150200->SetMinimum(0);
1630 fOutput->Add(fHistd0rphiITSMIoneSPDInAccP150200);
1632 fHistd0rphiITSMIoneSPDInAccP350450 = new TH1F("fHistd0rphiITSMIoneSPDInAccP350450","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1633 fHistd0rphiITSMIoneSPDInAccP350450->Sumw2();
1634 fHistd0rphiITSMIoneSPDInAccP350450->SetMinimum(0);
1635 fOutput->Add(fHistd0rphiITSMIoneSPDInAccP350450);
1637 fHistd0rphiITSMIoneSPDInAccP500700 = new TH1F("fHistd0rphiITSMIoneSPDInAccP500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1638 fHistd0rphiITSMIoneSPDInAccP500700->Sumw2();
1639 fHistd0rphiITSMIoneSPDInAccP500700->SetMinimum(0);
1640 fOutput->Add(fHistd0rphiITSMIoneSPDInAccP500700);
1642 fHistd0rphiITSMIoneSPDInAccP10001500 = new TH1F("fHistd0rphiITSMIoneSPDInAccP10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1643 fHistd0rphiITSMIoneSPDInAccP10001500->Sumw2();
1644 fHistd0rphiITSMIoneSPDInAccP10001500->SetMinimum(0);
1645 fOutput->Add(fHistd0rphiITSMIoneSPDInAccP10001500);
1647 fHistd0rphiITSMIoneSPDInAccP25004000 = new TH1F("fHistd0rphiITSMIoneSPDInAccP25004000","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1648 fHistd0rphiITSMIoneSPDInAccP25004000->Sumw2();
1649 fHistd0rphiITSMIoneSPDInAccP25004000->SetMinimum(0);
1650 fOutput->Add(fHistd0rphiITSMIoneSPDInAccP25004000);
1652 fHistd0rphiITSMIoneSPDInAccP40008000 = new TH1F("fHistd0rphiITSMIoneSPDInAccP40008000","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1653 fHistd0rphiITSMIoneSPDInAccP40008000->Sumw2();
1654 fHistd0rphiITSMIoneSPDInAccP40008000->SetMinimum(0);
1655 fOutput->Add(fHistd0rphiITSMIoneSPDInAccP40008000);
1657 fHistd0zITSMIoneSPDInAccP150200 = new TH1F("fHistd0zITSMIoneSPDInAccP150200","Longitudinal imp. par. to VertexTracks for primaries; d_{0} z [cm]; N tracks",300,-1.5,1.5);
1658 fHistd0zITSMIoneSPDInAccP150200->Sumw2();
1659 fHistd0zITSMIoneSPDInAccP150200->SetMinimum(0);
1660 fOutput->Add(fHistd0zITSMIoneSPDInAccP150200);
1662 fHistd0zITSMIoneSPDInAccP500700 = new TH1F("fHistd0zITSMIoneSPDInAccP500700","Longitudinal imp. par. to VertexTracks for primaries; d_{0} z [cm]; N tracks",300,-1.5,1.5);
1663 fHistd0zITSMIoneSPDInAccP500700->Sumw2();
1664 fHistd0zITSMIoneSPDInAccP500700->SetMinimum(0);
1665 fOutput->Add(fHistd0zITSMIoneSPDInAccP500700);
1667 fHistd0zITSMIoneSPDInAccP10001500 = new TH1F("fHistd0zITSMIoneSPDInAccP10001500","Longitudinal imp. par. to VertexTracks for primaries; d_{0} z [cm]; N tracks",300,-1.5,1.5);
1668 fHistd0zITSMIoneSPDInAccP10001500->Sumw2();
1669 fHistd0zITSMIoneSPDInAccP10001500->SetMinimum(0);
1670 fOutput->Add(fHistd0zITSMIoneSPDInAccP10001500);
1672 fHistd0zVSetaTPCInAccP10001500 = new TH2F("fHistd0zVSetaTPCInAccP10001500","Long. imp. par. to VertexSPD for TPC tracks; d_{0} z [cm]; eta",100,-4,4,10,-1,1);
1673 fOutput->Add(fHistd0zVSetaTPCInAccP10001500);
1675 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);
1676 fOutput->Add(fHistd0rphiVSphiITSMIoneSPDInAccP10001500);
1678 fHistd0rphiVSetaITSMIoneSPDInAccP10001500 = new TH2F("fHistd0rphiVSetaITSMIoneSPDInAccP10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; eta",30,-0.3,0.3,10,-1,1);
1679 fOutput->Add(fHistd0rphiVSetaITSMIoneSPDInAccP10001500);
1681 fHistd0rphiITSMIoneSPDInAccS150200 = new TH1F("fHistd0rphiITSMIoneSPDInAccS150200","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1682 fHistd0rphiITSMIoneSPDInAccS150200->Sumw2();
1683 fHistd0rphiITSMIoneSPDInAccS150200->SetMinimum(0);
1684 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS150200);
1686 fHistd0rphiITSMIoneSPDInAccS350450 = new TH1F("fHistd0rphiITSMIoneSPDInAccS350450","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1687 fHistd0rphiITSMIoneSPDInAccS350450->Sumw2();
1688 fHistd0rphiITSMIoneSPDInAccS350450->SetMinimum(0);
1689 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS350450);
1691 fHistd0rphiITSMIoneSPDInAccS500700 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1692 fHistd0rphiITSMIoneSPDInAccS500700->Sumw2();
1693 fHistd0rphiITSMIoneSPDInAccS500700->SetMinimum(0);
1694 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700);
1696 fHistd0rphiITSMIoneSPDInAccS500700from22 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700from22","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1697 fHistd0rphiITSMIoneSPDInAccS500700from22->Sumw2();
1698 fHistd0rphiITSMIoneSPDInAccS500700from22->SetMinimum(0);
1699 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700from22);
1701 fHistd0rphiITSMIoneSPDInAccS500700from211 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700from211","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1702 fHistd0rphiITSMIoneSPDInAccS500700from211->Sumw2();
1703 fHistd0rphiITSMIoneSPDInAccS500700from211->SetMinimum(0);
1704 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700from211);
1706 fHistd0rphiITSMIoneSPDInAccS500700from310 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700from310","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1707 fHistd0rphiITSMIoneSPDInAccS500700from310->Sumw2();
1708 fHistd0rphiITSMIoneSPDInAccS500700from310->SetMinimum(0);
1709 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700from310);
1711 fHistd0rphiITSMIoneSPDInAccS500700from321 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700from321","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1712 fHistd0rphiITSMIoneSPDInAccS500700from321->Sumw2();
1713 fHistd0rphiITSMIoneSPDInAccS500700from321->SetMinimum(0);
1714 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700from321);
1716 fHistd0rphiITSMIoneSPDInAccS500700from3122 = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700from3122","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1717 fHistd0rphiITSMIoneSPDInAccS500700from3122->Sumw2();
1718 fHistd0rphiITSMIoneSPDInAccS500700from3122->SetMinimum(0);
1719 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700from3122);
1721 fHistd0rphiITSMIoneSPDInAccS10001500 = new TH1F("fHistd0rphiITSMIoneSPDInAccS10001500","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1722 fHistd0rphiITSMIoneSPDInAccS10001500->Sumw2();
1723 fHistd0rphiITSMIoneSPDInAccS10001500->SetMinimum(0);
1724 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS10001500);
1726 fHistd0rphiITSMIoneSPDInAccS25004000 = new TH1F("fHistd0rphiITSMIoneSPDInAccS25004000","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1727 fHistd0rphiITSMIoneSPDInAccS25004000->Sumw2();
1728 fHistd0rphiITSMIoneSPDInAccS25004000->SetMinimum(0);
1729 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS25004000);
1731 fHistd0rphiITSMIoneSPDInAccS40008000 = new TH1F("fHistd0rphiITSMIoneSPDInAccS40008000","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1732 fHistd0rphiITSMIoneSPDInAccS40008000->Sumw2();
1733 fHistd0rphiITSMIoneSPDInAccS40008000->SetMinimum(0);
1734 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS40008000);
1736 fHistd0rphiITSMIoneSPDInAccS150200fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS150200fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1737 fHistd0rphiITSMIoneSPDInAccS150200fromStrange->Sumw2();
1738 fHistd0rphiITSMIoneSPDInAccS150200fromStrange->SetMinimum(0);
1739 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS150200fromStrange);
1741 fHistd0rphiITSMIoneSPDInAccS150200fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS150200fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1742 fHistd0rphiITSMIoneSPDInAccS150200fromMat->Sumw2();
1743 fHistd0rphiITSMIoneSPDInAccS150200fromMat->SetMinimum(0);
1744 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS150200fromMat);
1746 fHistd0rphiITSMIoneSPDInAccS350450fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS350450fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1747 fHistd0rphiITSMIoneSPDInAccS350450fromStrange->Sumw2();
1748 fHistd0rphiITSMIoneSPDInAccS350450fromStrange->SetMinimum(0);
1749 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS350450fromStrange);
1751 fHistd0rphiITSMIoneSPDInAccS350450fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS350450fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1752 fHistd0rphiITSMIoneSPDInAccS350450fromMat->Sumw2();
1753 fHistd0rphiITSMIoneSPDInAccS350450fromMat->SetMinimum(0);
1754 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS350450fromMat);
1756 fHistd0rphiITSMIoneSPDInAccS500700fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1757 fHistd0rphiITSMIoneSPDInAccS500700fromStrange->Sumw2();
1758 fHistd0rphiITSMIoneSPDInAccS500700fromStrange->SetMinimum(0);
1759 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700fromStrange);
1761 fHistd0rphiITSMIoneSPDInAccS500700fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS500700fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1762 fHistd0rphiITSMIoneSPDInAccS500700fromMat->Sumw2();
1763 fHistd0rphiITSMIoneSPDInAccS500700fromMat->SetMinimum(0);
1764 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS500700fromMat);
1766 fHistd0rphiITSMIoneSPDInAccS10001500fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS10001500fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1767 fHistd0rphiITSMIoneSPDInAccS10001500fromStrange->Sumw2();
1768 fHistd0rphiITSMIoneSPDInAccS10001500fromStrange->SetMinimum(0);
1769 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS10001500fromStrange);
1771 fHistd0rphiITSMIoneSPDInAccS10001500fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS10001500fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1772 fHistd0rphiITSMIoneSPDInAccS10001500fromMat->Sumw2();
1773 fHistd0rphiITSMIoneSPDInAccS10001500fromMat->SetMinimum(0);
1774 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS10001500fromMat);
1776 fHistd0rphiITSMIoneSPDInAccS25004000fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS25004000fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1777 fHistd0rphiITSMIoneSPDInAccS25004000fromStrange->Sumw2();
1778 fHistd0rphiITSMIoneSPDInAccS25004000fromStrange->SetMinimum(0);
1779 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS25004000fromStrange);
1781 fHistd0rphiITSMIoneSPDInAccS25004000fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS25004000fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1782 fHistd0rphiITSMIoneSPDInAccS25004000fromMat->Sumw2();
1783 fHistd0rphiITSMIoneSPDInAccS25004000fromMat->SetMinimum(0);
1784 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS25004000fromMat);
1786 fHistd0rphiITSMIoneSPDInAccS40008000fromStrange = new TH1F("fHistd0rphiITSMIoneSPDInAccS40008000fromStrange","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1787 fHistd0rphiITSMIoneSPDInAccS40008000fromStrange->Sumw2();
1788 fHistd0rphiITSMIoneSPDInAccS40008000fromStrange->SetMinimum(0);
1789 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS40008000fromStrange);
1791 fHistd0rphiITSMIoneSPDInAccS40008000fromMat = new TH1F("fHistd0rphiITSMIoneSPDInAccS40008000fromMat","Transverse imp. par. to VertexTracks for primaries; d_{0} rphi [cm]; N tracks",300,-1.5,1.5);
1792 fHistd0rphiITSMIoneSPDInAccS40008000fromMat->Sumw2();
1793 fHistd0rphiITSMIoneSPDInAccS40008000fromMat->SetMinimum(0);
1794 fOutput->Add(fHistd0rphiITSMIoneSPDInAccS40008000fromMat);
1797 fHistd0zITSMIoneSPDInAccS150200 = new TH1F("fHistd0zITSMIoneSPDInAccS150200","Longitudinal imp. par. to VertexTracks for secondaries; d_{0} z [cm]; N tracks",300,-1.5,1.5);
1798 fHistd0zITSMIoneSPDInAccS150200->Sumw2();
1799 fHistd0zITSMIoneSPDInAccS150200->SetMinimum(0);
1800 fOutput->Add(fHistd0zITSMIoneSPDInAccS150200);
1802 fHistd0zITSMIoneSPDInAccS500700 = new TH1F("fHistd0zITSMIoneSPDInAccS500700","Longitudinal imp. par. to VertexTracks for secondaries; d_{0} z [cm]; N tracks",300,-1.5,1.5);
1803 fHistd0zITSMIoneSPDInAccS500700->Sumw2();
1804 fHistd0zITSMIoneSPDInAccS500700->SetMinimum(0);
1805 fOutput->Add(fHistd0zITSMIoneSPDInAccS500700);
1807 fHistd0zITSMIoneSPDInAccS10001500 = new TH1F("fHistd0zITSMIoneSPDInAccS10001500","Longitudinal imp. par. to VertexTracks for secondaries; d_{0} z [cm]; N tracks",300,-1.5,1.5);
1808 fHistd0zITSMIoneSPDInAccS10001500->Sumw2();
1809 fHistd0zITSMIoneSPDInAccS10001500->SetMinimum(0);
1810 fOutput->Add(fHistd0zITSMIoneSPDInAccS10001500);
1812 fHistITSRedChi2NonFakePt02 = new TH1F("fHistITSRedChi2NonFakePt02","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100);
1813 fOutput->Add(fHistITSRedChi2NonFakePt02);
1814 fHistITSRedChi2FakePt02 = new TH1F("fHistITSRedChi2FakePt02","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100);
1815 fOutput->Add(fHistITSRedChi2FakePt02);
1816 fHistITSRedChi2NonFakePt05 = new TH1F("fHistITSRedChi2NonFakePt05","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100);
1817 fOutput->Add(fHistITSRedChi2NonFakePt05);
1818 fHistITSRedChi2FakePt05 = new TH1F("fHistITSRedChi2FakePt05","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100);
1819 fOutput->Add(fHistITSRedChi2FakePt05);
1820 fHistITSRedChi2NonFakePt1 = new TH1F("fHistITSRedChi2NonFakePt1","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100);
1821 fOutput->Add(fHistITSRedChi2NonFakePt1);
1822 fHistITSRedChi2FakePt1 = new TH1F("fHistITSRedChi2FakePt1","ITS chi2/cluster; ITS #chi^{2}/nclusters; tracks",500,0,100);
1823 fOutput->Add(fHistITSRedChi2FakePt1);
1828 fNtupleESDTracks = new TNtuple("fNtupleESDTracks","tracks","pt:eta:phi:d0:z0:sigmad0:sigmaz0:ptMC:pdgMC:pdgMCMoth:d0MC:d0MCv:z0MCv:sigmad0MCv:sigmaz0MCv:ITSflag:isPrimary:isTPCSel");
1829 fOutput->Add(fNtupleESDTracks);
1831 fNtupleITSAlignExtra = new TNtuple("fNtupleITSAlignExtra","ITS alignment checks: extra clusters","layer:x:y:z:dxy:dz:xloc:zloc:npoints:pt");
1832 fOutput->Add(fNtupleITSAlignExtra);
1834 fNtupleITSAlignSPDTracklets = new TNtuple("fNtupleITSAlignSPDTracklets","ITS alignment checks: SPD tracklets wrt SPD vertex","phi:theta:z:dxy:dz:pt");
1835 fOutput->Add(fNtupleITSAlignSPDTracklets);
1837 PostData(1, fOutput);
1841 //________________________________________________________________________
1842 void AliAnalysisTaskITSTrackingCheck::UserExec(Option_t *)
1845 // Called for each event
1848 fESD = dynamic_cast<AliESDEvent*>(InputEvent());
1851 Printf("ERROR: fESD not available");
1855 //if(fESD->GetEventNumberInFile()<7) return;
1857 // only events in the requested multiplicity range
1858 if(!IsSelectedCentrality()) return;
1860 fHistNEvents->Fill(-1);
1863 Bool_t isSelected = kTRUE;
1865 isSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
1867 if(!isSelected) return;
1869 TString firedTriggerClasses=fESD->GetFiredTriggerClasses();
1870 if(!firedTriggerClasses.Contains(fTriggerClass.Data())) return;
1873 Bool_t sddIsIn=kTRUE;
1877 AliCDBManager* man = AliCDBManager::Instance();
1878 if(fOCDBPath.Contains("OCDB")) { // when running in the QAtrain this is not called (OCBD is already set)
1879 man->SetDefaultStorage(fOCDBPath.Data());
1880 man->SetRun(fESD->GetRunNumber());
1883 AliFatal("CDB not set but needed by AliAnalysisTaskITSTrackingCheck");
1886 AliCDBEntry* eT=(AliCDBEntry*)man->Get("GRP/CTP/Config");
1888 fTrigConfig=(AliTriggerConfiguration*)eT->GetObject();
1890 if(!eT || !fTrigConfig) {
1891 AliError("Cannot retrieve CDB entry for GRP/CTP/Config");
1896 sddIsIn=fESD->IsDetectorInTriggerCluster("ITSSDD",fTrigConfig);
1900 //if(fESD->GetEventType()!=7) return;
1902 // *********** MC info ***************
1903 TArrayF mcVertex(3);
1904 mcVertex[0]=9999.; mcVertex[1]=9999.; mcVertex[2]=9999.;
1905 Float_t dNchdy=-999.;
1908 AliESDVertex *vertexMC=0;
1911 AliMCEventHandler *eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
1912 if (!eventHandler) {
1913 Printf("ERROR: Could not retrieve MC event handler");
1917 AliMCEvent* mcEvent = eventHandler->MCEvent();
1919 Printf("ERROR: Could not retrieve MC event");
1923 stack = mcEvent->Stack();
1925 AliDebug(AliLog::kError, "Stack not available");
1929 AliHeader* header = mcEvent->Header();
1931 AliDebug(AliLog::kError, "Header not available");
1934 AliGenEventHeader* genHeader = header->GenEventHeader();
1935 genHeader->PrimaryVertex(mcVertex);
1936 //printf("MC vertex: %f %f %f\n",mcVertex[0],mcVertex[1],mcVertex[2]);
1938 Int_t ngenpart = (Int_t)stack->GetNtrack();
1939 //printf("# generated particles = %d\n",ngenpart);
1941 for(Int_t ip=0; ip<ngenpart; ip++) {
1942 part = (TParticle*)stack->Particle(ip);
1943 // keep only electrons, muons, pions, kaons and protons
1944 Int_t apdg = TMath::Abs(part->GetPdgCode());
1945 if(apdg!=11 && apdg!=13 && apdg!=211 && apdg!=321 && apdg!=2212) continue;
1946 // reject secondaries
1947 //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])));
1948 if(TMath::Sqrt((part->Vx()-mcVertex[0])*(part->Vx()-mcVertex[0])+(part->Vy()-mcVertex[1])*(part->Vy()-mcVertex[1]))>0.0010) continue;
1949 // reject incoming protons
1950 Double_t energy = part->Energy();
1951 if(energy>900.) continue;
1952 Double_t pz = part->Pz();
1954 if(energy-pz+1.e-13 > 0.) y = 0.5*TMath::Log((energy+pz+1.e-13)/(energy-pz+1.e-13));
1955 if(TMath::Abs(y)<1.0) dNchdy += 0.5; // count 1/2 of particles in |y|<1
1957 //printf("# primary particles = %7.1f\n",dNchdy);
1959 // *********** MC info ***************
1960 Double_t mcVtxPos[3]={mcVertex[0],mcVertex[1],mcVertex[2]},mcVtxSigma[3]={0,0,0};
1961 vertexMC = new AliESDVertex(mcVtxPos,mcVtxSigma);
1965 //------- event selection --------
1966 Int_t mincontrSPDvtx=1;
1967 Double_t maxzSPDvtx=5.;
1968 Double_t maxrSPDvtx=0.5;
1969 Bool_t useTRKvtx=kTRUE;
1970 Bool_t useSPDvtxifNotTRK=kTRUE;
1971 Int_t mincontrTRKvtx=1;
1972 //Double_t maxzTRKvtx=20.;
1973 //Double_t maxrTRKvtx=1.;
1974 //------- TPC track selection --------
1976 Double_t maxchi2perTPCcl=4.;
1977 Double_t minEtaInAcc=-0.8; // -0.8
1978 Double_t maxEtaInAcc=0.8; // 0.8
1979 Double_t maxdcaxy=2.4;//2.4;
1980 Double_t maxdcaz=3.2;//3.2;
1981 AliESDtrackCuts* esdtrackCutsTPC = new AliESDtrackCuts("esdtrackCutsTPC");
1982 esdtrackCutsTPC->SetMaxDCAToVertexXY(maxdcaxy);
1983 esdtrackCutsTPC->SetMaxDCAToVertexZ(maxdcaz);
1984 esdtrackCutsTPC->SetDCAToVertex2D(kTRUE);
1985 esdtrackCutsTPC->SetRequireSigmaToVertex(kFALSE);
1986 esdtrackCutsTPC->SetRequireTPCRefit(kFALSE);// cannot do it because status not copied in AliESDtrack::FillTPCOnlyTrack
1987 esdtrackCutsTPC->SetAcceptKinkDaughters(kFALSE);
1988 esdtrackCutsTPC->SetMinNClustersTPC(minclsTPC);
1989 esdtrackCutsTPC->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1990 esdtrackCutsTPC->SetEtaRange(minEtaInAcc,maxEtaInAcc);
1991 SetESDtrackCutsTPC(esdtrackCutsTPC);
1992 //------- ITS+TPC track selection --------
1993 Double_t maxdcaxyITSTPC=0.2;
1994 Double_t maxdcazITSTPC=1.e6;
1995 AliESDtrackCuts* esdtrackCutsITSTPC = new AliESDtrackCuts("esdtrackCutsITSTPC");
1996 esdtrackCutsITSTPC->SetMaxDCAToVertexXY(maxdcaxyITSTPC);
1997 esdtrackCutsITSTPC->SetMaxDCAToVertexZ(maxdcazITSTPC);
1998 esdtrackCutsITSTPC->SetDCAToVertex2D(kFALSE);
1999 esdtrackCutsITSTPC->SetRequireSigmaToVertex(kFALSE);
2000 esdtrackCutsITSTPC->SetRequireITSRefit(kTRUE);
2001 esdtrackCutsITSTPC->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
2002 AliESDtrackCuts::kAny);
2003 esdtrackCutsITSTPC->SetAcceptKinkDaughters(kFALSE);
2004 esdtrackCutsITSTPC->SetMinNClustersTPC(minclsTPC);
2005 esdtrackCutsITSTPC->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
2006 esdtrackCutsITSTPC->SetEtaRange(minEtaInAcc,maxEtaInAcc);
2007 SetESDtrackCutsITSTPC(esdtrackCutsITSTPC);
2008 //---------------------------------------
2014 // ********** Trigger *****************
2015 ULong64_t triggerMask;
2016 ULong64_t spdFO = (1 << 14);
2017 ULong64_t v0left = (1 << 11);
2018 ULong64_t v0right = (1 << 12);
2020 triggerMask=fESD->GetTriggerMask();
2021 // MB1: SPDFO || V0L || V0R
2022 Bool_t eventTriggered = (triggerMask & spdFO || ((triggerMask & v0left) || (triggerMask & v0right)));
2024 //triggerMask & spdFO && ((triggerMask&v0left) || (triggerMask&v0right))
2025 // ************ Trigger ******************
2026 if(!eventTriggered) return;
2030 fHistNEvents->Fill(0);
2033 const AliESDVertex *spdv=fESD->GetPrimaryVertexSPD();
2034 // Select good SPD vertices
2035 TString spdvtitle=spdv->GetTitle();
2036 //if(!spdvtitle.Contains("3D")) return;
2037 if(spdv->GetNContributors()<mincontrSPDvtx ||
2038 TMath::Abs(spdv->GetZv())>maxzSPDvtx ||
2039 spdv->GetXv()*spdv->GetXv()+spdv->GetYv()*spdv->GetYv()>maxrSPDvtx) {
2040 delete esdtrackCutsTPC; esdtrackCutsTPC=0;
2041 delete esdtrackCutsITSTPC; esdtrackCutsITSTPC=0;
2046 if(fRejPileupSPD) if(fESD->IsPileupFromSPD()) return;
2050 const AliESDVertex *vertexESD = fESD->GetPrimaryVertexTracks();
2051 //vertexESD->Print();
2053 if(spdvtitle.Contains("3D")) {
2054 fHistNEvents->Fill(1);
2055 fHistNEvents->Fill(3);
2057 fHistNEvents->Fill(2);
2058 fHistNEvents->Fill(3);
2061 if(vertexESD->GetStatus()) fHistNEvents->Fill(4);
2064 Int_t ntracks = fESD->GetNumberOfTracks();
2065 //printf("Tracks # = %d\n",fESD->GetNumberOfTracks());
2067 fHistNtracks->Fill(ntracks);
2068 // Post the data already here
2069 PostData(1, fOutput);
2071 FillNClustersModuleMap();
2073 Int_t idet,status; Float_t xloc,zloc;
2074 Double_t rSPDouter=7.6,rSDDouter=23.9,rSSDouter=43.1;
2075 Double_t zSPDouter=14.1,zSDDouter=29.7,zSSDouter=48.9;
2078 for(Int_t itr=0; itr<ntracks; itr++) {
2079 AliESDtrack *track = fESD->GetTrack(itr);
2080 //if(track->Charge()>0) continue;
2081 // remove kink daughters
2082 if(track->GetKinkIndex(0)>0) continue;
2085 // remove tracks not reco in ITS or TPC
2086 if (!(track->GetStatus() & AliESDtrack::kITSin) &&
2087 !(track->GetStatus() & AliESDtrack::kTPCin)) continue;
2089 // check if tracks if flagged as from bc0 by TOF
2090 Bool_t isTOFbc0 = kFALSE;
2091 if(track->GetTOFBunchCrossing(fESD->GetMagneticField())/2==0) isTOFbc0=kTRUE;
2094 Bool_t isPrimary=kTRUE,isFromMat=kFALSE,isFromStrange=kFALSE;
2095 Double_t rProdVtx=0,zProdVtx=0;
2096 Int_t pdgTrk=0,pdgMoth=0;
2099 Int_t trkLabel = TMath::Abs(track->GetLabel());
2100 Bool_t isFake=(track->GetLabel()>=0 ? kFALSE : kTRUE);
2101 Bool_t hasShared=kFALSE,hasSharedSPD=kFALSE;
2102 for(Int_t i=0;i<6;i++) {
2103 if(track->HasSharedPointOnITSLayer(i)) {
2105 if(i<2) hasSharedSPD=kTRUE;
2109 // check if it is primary
2110 if(fReadMC && stack) {
2111 isPrimary = stack->IsPhysicalPrimary(trkLabel);
2112 part = (TParticle*)stack->Particle(trkLabel);
2113 rProdVtx = TMath::Sqrt((part->Vx()-mcVertex[0])*(part->Vx()-mcVertex[0])+(part->Vy()-mcVertex[1])*(part->Vy()-mcVertex[1]));
2114 zProdVtx = TMath::Abs(part->Vz()-mcVertex[2]);
2115 //if(rProdVtx<2.8) isPrimary=kTRUE; // this could be tried
2116 pdgTrk = TMath::Abs(part->GetPdgCode());
2117 if(part->GetFirstMother()>=0) {
2118 TParticle* mm=stack->Particle(part->GetFirstMother());
2119 if(mm) pdgMoth = TMath::Abs(mm->GetPdgCode());
2121 if(pdgMoth==310 || pdgMoth==321 || pdgMoth==3122 || pdgMoth==3312) isFromStrange=kTRUE;
2122 if(pdgMoth==211 || pdgMoth==22 || pdgMoth==2112 || pdgMoth==2212) isFromMat=kTRUE;
2123 nClsMCSPD = NumberOfITSClustersMC(trkLabel,240);
2126 Bool_t itsrefit=kFALSE,tpcrefit=kFALSE,itsfindable=kFALSE,itsfindableAcc=kFALSE;
2127 if ((track->GetStatus() & AliESDtrack::kITSrefit)) itsrefit=kTRUE;
2128 if ((track->GetStatus() & AliESDtrack::kTPCrefit)) tpcrefit=kTRUE;
2129 //if ((track->GetStatus() & AliESDtrack::kTPCin)) tpcrefit=kTRUE;
2133 // remove tracks with kTPCin and not kTPCrefit
2134 if ((track->GetStatus() & AliESDtrack::kTPCin) && !tpcrefit) continue;
2136 AliESDtrack *trackTPC = 0;
2137 if(tpcrefit) trackTPC = AliESDtrackCuts::GetTPCOnlyTrack(fESD,itr);
2138 if(trackTPC) trackTPC->RelateToVertex(spdv,fESD->GetMagneticField(),100.); // relate it to the SPD vertex
2141 Int_t nclsITS = track->GetNcls(0);
2142 Int_t nclsSDDSSD = 0;
2143 Int_t nclsokbadoutinzITS = 0;
2144 Bool_t outInZ=kFALSE;
2145 Bool_t skipTrack=kFALSE;
2147 for(Int_t layer=0; layer<6; layer++) {
2148 if(layer>=2 && track->HasPointOnITSLayer(layer)) nclsSDDSSD++;
2149 if(layer==0 && !track->HasPointOnITSLayer(1)) continue;
2150 if(layer==1 && !track->HasPointOnITSLayer(0)) continue;
2151 track->GetITSModuleIndexInfo(layer,idet,status,xloc,zloc);
2152 if(status<0) continue;
2153 if(layer>=2) idet+=240; // add n SPD modules
2154 if(layer>=4) idet+=260; // add n SDD modules
2155 if(status==4) outInZ=kTRUE;
2157 if(layer==1 && tpcrefit && itsrefit) {
2159 track->GetXYZAt(rSPDouter,fESD->GetMagneticField(),xyz);
2161 if(idet%4==0) fHistZatSPDouter0ok->Fill(xyz[2]);
2162 if(idet%4==1) fHistZatSPDouter1ok->Fill(xyz[2]);
2163 if(idet%4==2) fHistZatSPDouter2ok->Fill(xyz[2]);
2164 if(idet%4==3) fHistZatSPDouter3ok->Fill(xyz[2]);
2166 if(status==2 || status==5) {
2167 if(idet%4==0) fHistZatSPDouter0notok->Fill(xyz[2]);
2168 if(idet%4==1) fHistZatSPDouter1notok->Fill(xyz[2]);
2169 if(idet%4==2) fHistZatSPDouter2notok->Fill(xyz[2]);
2170 if(idet%4==3) fHistZatSPDouter3notok->Fill(xyz[2]);
2173 // kill SDD clusters in MC
2174 if(fReadMC && (layer==2 || layer==3)) {
2175 Double_t qITS[4]; track->GetITSdEdxSamples(qITS);
2176 Double_t conv=3.34/5.43;
2177 if(layer==2 && status==1 && qITS[0]*conv < 30.) status=5;
2178 if(layer==3 && status==1 && qITS[1]*conv < 30.) status=5;
2181 if(trackTPC) if(!fESDtrackCutsTPC->AcceptTrack(trackTPC)) continue;
2182 if(track->Pt()>0.7 && track->Pt()<2.0) {
2184 fHistClusterMapITSMIok->Fill(layer);
2186 if(status==2) fHistClusterMapITSMIbad->Fill(layer);
2187 if(status==3) fHistClusterMapITSMIskipped->Fill(layer);
2188 if(status==4) fHistClusterMapITSMIoutinz->Fill(layer);
2189 if(status==5) fHistClusterMapITSMInocls->Fill(layer);
2190 if(status==6) fHistClusterMapITSMInorefit->Fill(layer);
2191 if(status==1 && !outInZ) fHistClusterMapModuleITSMIokInAcc->Fill(idet);
2192 if((status==2 || status==7) && !outInZ) fHistClusterMapModuleITSMIbadInAcc->Fill(idet);
2193 if(status==5 && !outInZ) fHistClusterMapModuleITSMInoclsInAcc->Fill(idet);
2197 if(status==1 || status==2 || status==4) {
2198 fHistClusterMapITSMIokoutinzbad->Fill(layer);
2199 nclsokbadoutinzITS++;
2201 /*if(idet>=80 && idet<120) {
2203 track->GetXYZAt(6.8,fESD->GetMagneticField(),xyz);
2204 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);
2206 if((layer==2 || layer==3) && status!=2 && status!=4) {
2208 //Int_t nClsInMod = NumberOfITSClusters(idet,xlocCls);
2209 fHistxlocSDDall->Fill(xloc);
2210 fHistzlocSDDall->Fill(zloc);
2211 if(status==1 /*nClsInMod>0*/) {
2212 fHistxlocSDDok->Fill(xloc);
2213 fHistxlocVSmodSDDok->Fill(idet,xloc);
2214 fHistzlocSDDok->Fill(zloc);
2219 if(track->Phi()>1.5 && track->Phi()<1.7) { // ADDED
2220 if(status==1) fHistClusterMapITSSAok->Fill(layer);
2221 if(status==2) fHistClusterMapITSSAbad->Fill(layer);
2222 if(status==3) fHistClusterMapITSSAskipped->Fill(layer);
2223 if(status==4) fHistClusterMapITSSAoutinz->Fill(layer);
2224 if(status==5) fHistClusterMapITSSAnocls->Fill(layer);
2225 if(status==6) fHistClusterMapITSSAnorefit->Fill(layer);
2226 if(status==1 || status==2 || status==4) fHistClusterMapITSSAokoutinzbad->Fill(layer);
2227 if(status==1 && !outInZ) {fHistClusterMapITSSAokInAcc->Fill(layer);fHistClusterMapModuleITSSAokInAcc->Fill(idet);}
2228 if((status==2 || status==7) && !outInZ) {fHistClusterMapITSSAbadInAcc->Fill(layer);fHistClusterMapModuleITSSAbadInAcc->Fill(idet);}
2229 if(status==3 && !outInZ) fHistClusterMapITSSAskippedInAcc->Fill(layer);
2230 if(status==4 && !outInZ) fHistClusterMapITSSAoutinzInAcc->Fill(layer);
2231 if(status==5 && !outInZ) {fHistClusterMapITSSAnoclsInAcc->Fill(layer);fHistClusterMapModuleITSSAnoclsInAcc->Fill(idet);}
2232 if(status==6 && !outInZ) fHistClusterMapITSSAnorefitInAcc->Fill(layer);
2233 if((status==1 || status==2 || status==4) && !outInZ) fHistClusterMapITSSAokoutinzbadInAcc->Fill(layer);
2236 if(TESTBIT(track->GetITSClusterMap(),layer)) {
2238 fHistClusterMapITSMI->Fill(layer);
2240 fHistClusterMapITSSA->Fill(layer);
2241 if(!outInZ) fHistClusterMapITSSAInAcc->Fill(layer);
2245 // SKIP SDD MODULES LOW EFF
2316 // SKIP SDD MODULES LOW EFF
2319 if(skipTrack) {delete trackTPC; trackTPC=0; continue;}
2321 // TPC track findable in ITS
2322 if(tpcrefit && trackTPC) {
2323 if(fESDtrackCutsTPC->AcceptTrack(trackTPC)) {
2325 Double_t zAtSSDouter=100,zAtSDDouter=100,zAtSPDouter=100;
2326 track->GetZAt(rSSDouter,fESD->GetMagneticField(),zAtSSDouter);
2327 track->GetZAt(rSDDouter,fESD->GetMagneticField(),zAtSDDouter);
2328 track->GetZAt(rSPDouter,fESD->GetMagneticField(),zAtSPDouter);
2329 fHistPtTPC->Fill(track->Pt());
2330 if(TMath::Abs(zAtSSDouter)<1.*zSSDouter &&
2331 TMath::Abs(zAtSDDouter)<1.*zSDDouter &&
2332 TMath::Abs(zAtSPDouter)<1.*zSPDouter) {
2333 itsfindableAcc=kTRUE;
2334 fHistdEdxVSPtTPCInAcc->Fill(track->Pt(),track->GetTPCsignal());
2335 fHistPtTPCInAcc->Fill(track->Pt());
2336 if(fCheckSDDIsIn && sddIsIn) fHistPtTPCInAccwSDD->Fill(track->Pt());
2337 if(fCheckSDDIsIn && !sddIsIn) fHistPtTPCInAccwoSDD->Fill(track->Pt());
2339 fHistPtTPCInAccTOFbc0->Fill(track->Pt());
2340 if(fCheckSDDIsIn && sddIsIn) fHistPtTPCInAccTOFbc0wSDD->Fill(track->Pt());
2341 if(fCheckSDDIsIn && !sddIsIn) fHistPtTPCInAccTOFbc0woSDD->Fill(track->Pt());
2343 fHistTPCclsVSPtTPCInAcc->Fill(trackTPC->Pt(),trackTPC->GetNcls(1));
2344 fHistPtVSphiTPCInAcc->Fill(track->Phi(),track->Pt());
2345 if(!(track->GetStatus()&AliESDtrack::kTRDout)) fHistPtTPCInAccNoTRDout->Fill(track->Pt());
2346 if(!(track->GetStatus()&AliESDtrack::kTOFout)) fHistPtTPCInAccNoTOFout->Fill(track->Pt());
2347 fHistPtTPCInAccWithPtTPCAtVtx->Fill(trackTPC->Pt());
2348 Double_t pTPCinnerwall[3];
2349 track->GetInnerPxPyPz(pTPCinnerwall);
2350 Double_t ptTPCinnerwall=TMath::Sqrt(pTPCinnerwall[0]*pTPCinnerwall[0]+pTPCinnerwall[1]*pTPCinnerwall[1]);
2351 fHistPtTPCInAccWithPtTPCAtInnerWall->Fill(ptTPCinnerwall);
2352 if(track->GetStatus()&AliESDtrack::kITSrefit && !(track->GetStatus()&AliESDtrack::kTOFout)) fHistDeltaPtTPC->Fill(trackTPC->P(),track->P()-trackTPC->P());
2354 fHistPhiTPCInAcc->Fill(track->Phi());
2355 fHistEtaTPCInAcc->Fill(track->Eta());
2358 fHistPtTPCInAccP->Fill(track->Pt());
2359 if(pdgTrk==321) fHistPtTPCInAccPfromStrange->Fill(track->Pt());
2361 fHistPtTPCInAccS->Fill(track->Pt());
2362 if(isFromMat) fHistPtTPCInAccSfromMat->Fill(track->Pt());
2363 if(isFromStrange) fHistPtTPCInAccSfromStrange->Fill(track->Pt());
2365 if(nClsMCSPD==2) fHistPtTPCInAccMCtwoSPD->Fill(track->Pt());
2366 if(nClsMCSPD>=1) fHistPtTPCInAccMConeSPD->Fill(track->Pt());
2368 //if(isPrimary) {fHistRProdVtxInAccP->Fill(rProdVtx);} else {fHistRProdVtxInAccS->Fill(rProdVtx);}
2375 // we need the vertex to compute the impact parameters
2376 if(!vertexESD) {delete trackTPC; trackTPC=0; continue;}
2377 if(!(vertexESD->GetStatus()) || vertexESD->GetNContributors()<mincontrTRKvtx) {
2378 if(useSPDvtxifNotTRK) {
2379 vertexESD = fESD->GetPrimaryVertexSPD();
2381 delete trackTPC; trackTPC=0; continue;
2386 //if(hasSharedSPD) continue;
2387 //if(track->GetITSFakeFlag()) continue;
2389 // track prolonged in ITS with different conditions
2392 if(nclsITS==6) fHistPtITSMI6->Fill(track->Pt());
2393 if(nclsITS==5) fHistPtITSMI5->Fill(track->Pt());
2394 if(nclsITS==4) fHistPtITSMI4->Fill(track->Pt());
2395 if(nclsITS==3) fHistPtITSMI3->Fill(track->Pt());
2396 if(nclsITS==2) fHistPtITSMI2->Fill(track->Pt());
2397 if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1)) {
2398 fHistPtITSMISPD->Fill(track->Pt());
2399 fHistTPCclsVSPtITSMISPDInAcc->Fill(track->Pt(),track->GetNcls(1));
2401 if(track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1))
2402 fHistPtITSMIoneSPD->Fill(track->Pt());
2403 if(nclsokbadoutinzITS==6) fHistPtITSMIokbadoutinz6->Fill(track->Pt());
2405 if(itsfindableAcc) {
2407 fHistPtITSMI6InAcc->Fill(track->Pt());
2408 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMI6InAccwSDD->Fill(track->Pt());
2409 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMI6InAccwoSDD->Fill(track->Pt());
2411 fHistPtITSMI6InAccTOFbc0->Fill(track->Pt());
2412 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMI6InAccTOFbc0wSDD->Fill(track->Pt());
2413 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMI6InAccTOFbc0woSDD->Fill(track->Pt());
2416 fHistPhiITSMI6InAcc->Fill(track->Phi());
2417 fHistEtaITSMI6InAcc->Fill(track->Eta());
2419 if(isFake) fHistPtITSMI6InAccFake->Fill(track->Pt());
2420 if(isPrimary) {fHistPtITSMI6InAccP->Fill(track->Pt());} else {fHistPtITSMI6InAccS->Fill(track->Pt());}
2423 fHistPtITSMI5InAcc->Fill(track->Pt());
2424 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMI5InAccwSDD->Fill(track->Pt());
2425 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMI5InAccwoSDD->Fill(track->Pt());
2427 fHistPtITSMI5InAccTOFbc0->Fill(track->Pt());
2428 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMI5InAccTOFbc0wSDD->Fill(track->Pt());
2429 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMI5InAccTOFbc0woSDD->Fill(track->Pt());
2432 fHistPhiITSMI5InAcc->Fill(track->Phi());
2433 fHistEtaITSMI5InAcc->Fill(track->Eta());
2435 if(isFake) fHistPtITSMI5InAccFake->Fill(track->Pt());
2436 if(isPrimary) {fHistPtITSMI5InAccP->Fill(track->Pt());} else {fHistPtITSMI5InAccS->Fill(track->Pt());}
2439 fHistPtITSMI4InAcc->Fill(track->Pt());
2440 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMI4InAccwSDD->Fill(track->Pt());
2441 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMI4InAccwoSDD->Fill(track->Pt());
2443 fHistPtITSMI4InAccTOFbc0->Fill(track->Pt());
2444 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMI4InAccTOFbc0wSDD->Fill(track->Pt());
2445 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMI4InAccTOFbc0woSDD->Fill(track->Pt());
2448 fHistPhiITSMI4InAcc->Fill(track->Phi());
2449 fHistEtaITSMI4InAcc->Fill(track->Eta());
2451 if(isFake) fHistPtITSMI4InAccFake->Fill(track->Pt());
2452 if(isPrimary) {fHistPtITSMI4InAccP->Fill(track->Pt());} else {fHistPtITSMI4InAccS->Fill(track->Pt());}
2455 fHistPtITSMI3InAcc->Fill(track->Pt());
2456 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMI3InAccwSDD->Fill(track->Pt());
2457 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMI3InAccwoSDD->Fill(track->Pt());
2459 fHistPtITSMI3InAccTOFbc0->Fill(track->Pt());
2460 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMI3InAccTOFbc0wSDD->Fill(track->Pt());
2461 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMI3InAccTOFbc0woSDD->Fill(track->Pt());
2464 fHistPhiITSMI3InAcc->Fill(track->Phi());
2465 fHistEtaITSMI3InAcc->Fill(track->Eta());
2467 if(isFake) fHistPtITSMI3InAccFake->Fill(track->Pt());
2468 if(isPrimary) {fHistPtITSMI3InAccP->Fill(track->Pt());} else {fHistPtITSMI3InAccS->Fill(track->Pt());}
2471 fHistPtITSMI2InAcc->Fill(track->Pt());
2472 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMI2InAccwSDD->Fill(track->Pt());
2473 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMI2InAccwoSDD->Fill(track->Pt());
2475 fHistPtITSMI2InAccTOFbc0->Fill(track->Pt());
2476 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMI2InAccTOFbc0wSDD->Fill(track->Pt());
2477 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMI2InAccTOFbc0woSDD->Fill(track->Pt());
2480 fHistPhiITSMI2InAcc->Fill(track->Phi());
2481 fHistEtaITSMI2InAcc->Fill(track->Eta());
2483 if(isFake) fHistPtITSMI2InAccFake->Fill(track->Pt());
2484 if(isPrimary) {fHistPtITSMI2InAccP->Fill(track->Pt());} else {fHistPtITSMI2InAccS->Fill(track->Pt());}
2486 if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1)) {
2487 fHistPtITSMISPDInAcc->Fill(track->Pt());
2488 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMISPDInAccwSDD->Fill(track->Pt());
2489 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMISPDInAccwoSDD->Fill(track->Pt());
2491 fHistPtITSMISPDInAccTOFbc0->Fill(track->Pt());
2492 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMISPDInAccTOFbc0wSDD->Fill(track->Pt());
2493 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMISPDInAccTOFbc0woSDD->Fill(track->Pt());
2496 fHistPhiITSMISPDInAcc->Fill(track->Phi());
2497 fHistEtaITSMISPDInAcc->Fill(track->Eta());
2499 if(isFake) fHistPtITSMISPDInAccFake->Fill(track->Pt());
2500 if(isPrimary) {fHistPtITSMISPDInAccP->Fill(track->Pt());} else {fHistPtITSMISPDInAccS->Fill(track->Pt());}
2502 if(track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) {
2503 fHistPtITSMIoneSPDInAcc->Fill(track->Pt());
2504 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMIoneSPDInAccwSDD->Fill(track->Pt());
2505 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMIoneSPDInAccwoSDD->Fill(track->Pt());
2507 fHistPtITSMIoneSPDInAccTOFbc0->Fill(track->Pt());
2508 if(fCheckSDDIsIn && sddIsIn) fHistPtITSMIoneSPDInAccTOFbc0wSDD->Fill(track->Pt());
2509 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSMIoneSPDInAccTOFbc0woSDD->Fill(track->Pt());
2512 fHistPhiITSMIoneSPDInAcc->Fill(track->Phi());
2513 fHistEtaITSMIoneSPDInAcc->Fill(track->Eta());
2515 if(track->HasSharedPointOnITSLayer(0) ||
2516 track->HasSharedPointOnITSLayer(1) ||
2517 track->HasSharedPointOnITSLayer(2) ||
2518 track->HasSharedPointOnITSLayer(3) ||
2519 track->HasSharedPointOnITSLayer(4) ||
2520 track->HasSharedPointOnITSLayer(5)) {
2521 fHistPtITSMIoneSPDInAccShared->Fill(track->Pt());
2522 if(isFake) fHistPtITSMIoneSPDInAccSharedFake->Fill(track->Pt());
2524 if(track->HasSharedPointOnITSLayer(0) || track->HasSharedPointOnITSLayer(1)) {
2525 fHistPtITSMIoneSPDInAccSharedSPD->Fill(track->Pt());
2526 if(isFake) fHistPtITSMIoneSPDInAccSharedSPDFake->Fill(track->Pt());
2528 if(track->HasSharedPointOnITSLayer(0)) fHistPtITSMISPD1InAccShared->Fill(track->Pt());
2529 if(track->HasSharedPointOnITSLayer(1)) fHistPtITSMISPD2InAccShared->Fill(track->Pt());
2531 Float_t chi2redITS = track->GetITSchi2()/track->GetNcls(0);
2533 if(track->Pt()>0.18 && track->Pt()<0.25) fHistITSRedChi2NonFakePt02->Fill(chi2redITS);
2534 if(track->Pt()>0.4 && track->Pt()<0.6) fHistITSRedChi2NonFakePt05->Fill(chi2redITS);
2535 if(track->Pt()>0.9 && track->Pt()<1.5) fHistITSRedChi2NonFakePt1->Fill(chi2redITS);
2537 fHistPtITSMIoneSPDInAccFake->Fill(track->Pt());
2538 if(track->Pt()>0.18 && track->Pt()<0.25) fHistITSRedChi2FakePt02->Fill(chi2redITS);
2539 if(track->Pt()>0.4 && track->Pt()<0.6) fHistITSRedChi2FakePt05->Fill(chi2redITS);
2540 if(track->Pt()>0.9 && track->Pt()<1.5) fHistITSRedChi2FakePt1->Fill(chi2redITS);
2542 if(nclsSDDSSD>=3) fHistPtITSMIoneSPDthreeSDDSSDInAcc->Fill(track->Pt());
2544 if(isPrimary) {fHistPtITSMIoneSPDInAccP->Fill(track->Pt());} else {fHistPtITSMIoneSPDInAccS->Fill(track->Pt());}
2546 if(nclsokbadoutinzITS==6) fHistPtITSMIokbadoutinz6InAcc->Fill(track->Pt());
2547 if(nclsokbadoutinzITS==5) fHistPtITSMIokbadoutinz5InAcc->Fill(track->Pt());
2548 if(nclsokbadoutinzITS==4) fHistPtITSMIokbadoutinz4InAcc->Fill(track->Pt());
2549 if(nclsokbadoutinzITS==6 && track->Pt()>1) fHistPhiITSMIokbadoutinz6InAcc->Fill(track->Phi());
2554 fHistNclsITSMI->Fill(nclsITS);
2556 fHistNclsITSSA->Fill(nclsITS);
2557 if(!outInZ) fHistNclsITSSAInAcc->Fill(nclsITS);
2561 if((tpcrefit && fUseITSSAforNtuples) || // only ITS-SA for ntuples
2562 (!tpcrefit && !fUseITSSAforNtuples)) // only ITS-TPC for ntuples
2563 { delete trackTPC; trackTPC=0; continue; }
2565 // impact parameter to VertexTracks
2566 Float_t d0z0[2]={0,0},covd0z0[3]={0,0,0};
2567 Double_t d0z0TPC[2]={0,0},covd0z0TPC[3]={0,0,0};
2569 if(!track->RelateToVertex(vertexESD,fESD->GetMagneticField(),kVeryBig)) { delete trackTPC; trackTPC=0; continue; }
2571 //if(!track->RelateToVertex(vertexMC,fESD->GetMagneticField(),kVeryBig)) continue;
2572 if(!track->RelateToVertex(spdv,fESD->GetMagneticField(),kVeryBig)) { delete trackTPC; trackTPC=0; continue; }
2574 track->GetImpactParameters(d0z0,covd0z0);
2575 if(trackTPC) trackTPC->PropagateToDCA(spdv,fESD->GetMagneticField(),kVeryBig,d0z0TPC,covd0z0TPC);
2576 if(covd0z0[0]<0. || covd0z0[2]<0. || covd0z0TPC[0]<0. || covd0z0TPC[2]<0.) { delete trackTPC; trackTPC=0; continue; }
2579 // track that passes final ITS+TPC cuts
2580 if(itsfindableAcc && fESDtrackCutsITSTPC->AcceptTrack(track)) {
2581 fHistPtITSTPCsel->Fill(track->Pt());
2582 if(fCheckSDDIsIn && sddIsIn) fHistPtITSTPCselwSDD->Fill(track->Pt());
2583 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSTPCselwoSDD->Fill(track->Pt());
2585 fHistPtITSTPCselTOFbc0->Fill(track->Pt());
2586 if(fCheckSDDIsIn && sddIsIn) fHistPtITSTPCselTOFbc0wSDD->Fill(track->Pt());
2587 if(fCheckSDDIsIn && !sddIsIn) fHistPtITSTPCselTOFbc0woSDD->Fill(track->Pt());
2589 if(isFake) fHistPtITSTPCselFake->Fill(track->Pt());
2590 fHistdEdxVSPtITSTPCsel->Fill(track->Pt(),track->GetITSsignal());
2592 fHistPtITSTPCselP->Fill(track->Pt());
2593 if(pdgTrk==321) fHistPtITSTPCselPfromStrange->Fill(track->Pt());
2595 fHistPtITSTPCselS->Fill(track->Pt());
2596 if(isFromMat) fHistPtITSTPCselSfromMat->Fill(track->Pt());
2597 if(isFromStrange) fHistPtITSTPCselSfromStrange->Fill(track->Pt());
2603 if(((!fUseITSSAforNtuples&&itsfindableAcc) || fUseITSSAforNtuples) /*&& track->Charge()>0*/) {
2604 if(track->Pt()>0.150 && track->Pt()<0.200) {
2606 fHistd0rphiTPCInAccP150200->Fill(d0z0TPC[0]);
2607 if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit)
2608 fHistd0rphiITSMISPDInAccP150200->Fill(d0z0[0]);
2609 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2610 //if(((track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1)) || (!track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1))) && itsrefit) {
2611 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP150200->Fill(d0z0[0]);
2612 if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccP150200->Fill(d0z0[1]);
2615 fHistd0rphiTPCInAccS150200->Fill(d0z0TPC[0]);
2616 if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit)
2617 fHistd0rphiITSMISPDInAccS150200->Fill(d0z0[0]);
2618 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2619 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) {
2620 fHistd0rphiITSMIoneSPDInAccS150200->Fill(d0z0[0]);
2621 if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS150200fromStrange->Fill(d0z0[0]);
2622 if(isFromMat) fHistd0rphiITSMIoneSPDInAccS150200fromMat->Fill(d0z0[0]);
2624 if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccS150200->Fill(d0z0[1]);
2625 if(TMath::Abs(d0z0[0])<0.1) fHistPDGMoth150200->Fill(pdgMoth);
2629 if(track->Pt()>0.350 && track->Pt()<0.450) {
2631 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2632 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP350450->Fill(d0z0[0]);
2635 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2636 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) {
2637 fHistd0rphiITSMIoneSPDInAccS350450->Fill(d0z0[0]);
2638 if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS350450fromStrange->Fill(d0z0[0]);
2639 if(isFromMat) fHistd0rphiITSMIoneSPDInAccS350450fromMat->Fill(d0z0[0]);
2644 if(track->Pt()>0.500 && track->Pt()<0.700) {
2646 fHistd0rphiTPCInAccP500700->Fill(d0z0TPC[0]);
2647 if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit)
2648 fHistd0rphiITSMISPDInAccP500700->Fill(d0z0[0]);
2649 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2650 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP500700->Fill(d0z0[0]);
2651 if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccP500700->Fill(d0z0[1]);
2654 fHistd0rphiTPCInAccS500700->Fill(d0z0TPC[0]);
2655 if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit)
2656 fHistd0rphiITSMISPDInAccS500700->Fill(d0z0[0]);
2657 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2658 fHistPDGTrk->Fill(pdgTrk);
2659 fHistPDGMoth->Fill(pdgMoth);
2660 if(TMath::Abs(d0z0[0])<0.1) fHistPDGMoth500700->Fill(pdgMoth);
2661 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) {
2662 fHistd0rphiITSMIoneSPDInAccS500700->Fill(d0z0[0]);
2663 if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS500700fromStrange->Fill(d0z0[0]);
2664 if(isFromMat) fHistd0rphiITSMIoneSPDInAccS500700fromMat->Fill(d0z0[0]);
2666 if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccS500700->Fill(d0z0[1]);
2667 if(pdgMoth==310) fHistd0rphiITSMIoneSPDInAccS500700from310->Fill(d0z0[0]);
2668 if(pdgMoth==321) fHistd0rphiITSMIoneSPDInAccS500700from321->Fill(d0z0[0]);
2669 if(pdgMoth==3122) fHistd0rphiITSMIoneSPDInAccS500700from3122->Fill(d0z0[0]);
2670 if(pdgMoth==211) fHistd0rphiITSMIoneSPDInAccS500700from211->Fill(d0z0[0]);
2671 if(pdgMoth==22) fHistd0rphiITSMIoneSPDInAccS500700from22->Fill(d0z0[0]);
2672 if(pdgMoth==211 && TMath::Abs(d0z0[0])>0.5) fHistRProdVtxInAccS->Fill(rProdVtx);
2676 if(track->Pt()>1.000 && track->Pt()<1.500) {
2678 fHistd0rphiTPCInAccP10001500->Fill(d0z0TPC[0]);
2679 fHistd0zVSetaTPCInAccP10001500->Fill(d0z0TPC[1],trackTPC->Eta());
2681 if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit)
2682 fHistd0rphiITSMISPDInAccP10001500->Fill(d0z0[0]);
2683 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2684 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP10001500->Fill(d0z0[0]);
2685 if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccP10001500->Fill(d0z0[1]);
2686 fHistd0rphiVSphiITSMIoneSPDInAccP10001500->Fill(d0z0[0],track->Phi());
2687 fHistd0rphiVSetaITSMIoneSPDInAccP10001500->Fill(d0z0[0],track->Eta());
2690 fHistd0rphiTPCInAccS10001500->Fill(d0z0TPC[0]);
2691 if(track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1) && itsrefit)
2692 fHistd0rphiITSMISPDInAccS10001500->Fill(d0z0[0]);
2693 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2694 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) {
2695 fHistd0rphiITSMIoneSPDInAccS10001500->Fill(d0z0[0]);
2696 if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS10001500fromStrange->Fill(d0z0[0]);
2697 if(isFromMat) fHistd0rphiITSMIoneSPDInAccS10001500fromMat->Fill(d0z0[0]);
2699 if(TMath::Abs(d0z0[0])<maxdcaxyITSTPC) fHistd0zITSMIoneSPDInAccS10001500->Fill(d0z0[1]);
2700 if(TMath::Abs(d0z0[0])<0.1) fHistPDGMoth10001500->Fill(pdgMoth);
2704 if(track->Pt()>2.500 && track->Pt()<4.000) {
2706 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2707 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP25004000->Fill(d0z0[0]);
2710 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2711 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) {
2712 fHistd0rphiITSMIoneSPDInAccS25004000->Fill(d0z0[0]);
2713 if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS25004000fromStrange->Fill(d0z0[0]);
2714 if(isFromMat) fHistd0rphiITSMIoneSPDInAccS25004000fromMat->Fill(d0z0[0]);
2719 if(track->Pt()>4.000 && track->Pt()<8.000) {
2721 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2722 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) fHistd0rphiITSMIoneSPDInAccP40008000->Fill(d0z0[0]);
2725 if((track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)) && itsrefit) {
2726 if(TMath::Abs(d0z0[1])<maxdcazITSTPC) {
2727 fHistd0rphiITSMIoneSPDInAccS40008000->Fill(d0z0[0]);
2728 if(isFromStrange) fHistd0rphiITSMIoneSPDInAccS40008000fromStrange->Fill(d0z0[0]);
2729 if(isFromMat) fHistd0rphiITSMIoneSPDInAccS40008000fromMat->Fill(d0z0[0]);
2737 if(trackTPC) { delete trackTPC; trackTPC=0; }
2739 // encode ITS cluster map, including MC info
2740 Int_t iITSflag=MakeITSflag(track);
2742 // if MC info is available: get particle properties
2743 Float_t ptMC=-999.,pdgMC=-999.,d0MC=-999.;
2744 Double_t d0z0MCv[2]={-999.,-999.},covd0z0MCv[3]={1.,1.,1.};
2746 part = (TParticle*)stack->Particle(trkLabel);
2748 pdgMC=part->GetPdgCode();
2749 d0MC=ParticleImpParMC(part,vertexMC,0.1*fESD->GetMagneticField());
2750 track->PropagateToDCA(vertexMC,fESD->GetMagneticField(),100.,d0z0MCv,covd0z0MCv);
2751 if(covd0z0MCv[0]<0. || covd0z0MCv[2]<0.) continue;
2754 Double_t sigmad0MCv=TMath::Sqrt(covd0z0MCv[0]);
2755 if(!itsrefit) sigmad0MCv *= -1.;
2756 Float_t isPrimaryFl = (isPrimary ? 1. : 0.);
2757 Float_t isTPCSelFl = (itsfindableAcc ? 1. : 0.);
2759 // fill ntuple with track properties
2760 if(fFillNtuples && SelectPt(track->Pt())) {
2761 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};
2762 fNtupleESDTracks->Fill(fillArray);
2765 //---------------------------------------------
2766 // AliTrackPoints: alignment checks
2768 if(!fFillNtuples) continue;
2770 const AliTrackPointArray *array = track->GetTrackPointArray();
2771 if(!array) continue;
2772 AliTrackPoint point;
2773 Int_t pointOnLayer[6]={0,0,0,0,0,0};
2774 Int_t indexAssociated[6]={-1,-1,-1,-1,-1,-1},indexExtra=-1;
2775 Bool_t extra=kFALSE;
2776 Int_t layerId,layerExtra=-1;
2777 for(Int_t ipt=0; ipt<array->GetNPoints(); ipt++) {
2778 array->GetPoint(point,ipt);
2779 Float_t r = TMath::Sqrt(point.GetX()*point.GetX()+point.GetY()*point.GetY());
2783 } else if(r>6 && r<8) {
2785 } else if(r>8 && r<18) {
2787 } else if(r>18 && r<30) {
2789 } else if(r>30 && r<40) {
2791 } else if(r>40 && r<50) {
2798 if(layerId>5) continue;
2800 if(!point.IsExtra()) {
2801 pointOnLayer[layerId]++;
2802 indexAssociated[layerId]=ipt;
2804 // this is an extra cluster
2809 } // end loop on AliTrackPoints
2811 TString vtitle = spdv->GetTitle();
2812 if(!vtitle.Contains("3D")) continue;
2815 if(indexAssociated[0]>=0 && indexAssociated[1]>=0) {
2816 AliTrackPoint pointSPD1,pointSPD2;
2817 array->GetPoint(pointSPD1,indexAssociated[0]);
2818 array->GetPoint(pointSPD2,indexAssociated[1]);
2819 Float_t phi=TMath::ATan2(pointSPD2.GetY()-pointSPD1.GetY(),pointSPD2.GetX()-pointSPD1.GetX());
2820 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())));
2821 Float_t theta=0.5*TMath::Pi()-lambda;
2822 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);
2823 AliESDtrack tracklet(&particle);
2825 // distance to primary SPD (only if 3D and high multiplicity)
2826 if(spdv->GetNContributors()>10) {
2827 tracklet.GetDZ(spdv->GetXv(),spdv->GetYv(),spdv->GetZv(),0,dz);
2828 //tracklet.GetDZ(-0.07,0.25,spdv->GetZv(),0,dz);
2829 fNtupleITSAlignSPDTracklets->Fill(phi,theta,0.5*(pointSPD1.GetZ()+pointSPD2.GetZ()),dz[0],dz[1],track->Pt());
2833 // distance to extra
2834 if(extra && spdv->GetNContributors()>4 && indexAssociated[layerExtra]>-1) {
2835 AliTrackPoint pointExtra,pointAssociated;
2836 array->GetPoint(pointAssociated,indexAssociated[layerExtra]);
2837 array->GetPoint(pointExtra,indexExtra);
2838 Float_t phiExtra = TMath::ATan2(pointExtra.GetY()-spdv->GetYv(),pointExtra.GetX()-spdv->GetXv());
2839 Float_t phiAssociated = TMath::ATan2(pointAssociated.GetY()-spdv->GetYv(),pointAssociated.GetX()-spdv->GetXv());
2840 Float_t rExtra = TMath::Sqrt((pointExtra.GetX()-spdv->GetXv())*(pointExtra.GetX()-spdv->GetXv())+(pointExtra.GetY()-spdv->GetYv())*(pointExtra.GetY()-spdv->GetYv()));
2841 Float_t rAssociated = TMath::Sqrt((pointAssociated.GetX()-spdv->GetXv())*(pointAssociated.GetX()-spdv->GetXv())+(pointAssociated.GetY()-spdv->GetYv())*(pointAssociated.GetY()-spdv->GetYv()));
2843 dzExtra[0] = (phiExtra-phiAssociated)*0.5*(rExtra+rAssociated);
2844 dzExtra[1] = pointExtra.GetZ()-pointAssociated.GetZ()-(rExtra-rAssociated)*(pointAssociated.GetZ()-spdv->GetZv())/rAssociated;
2845 Float_t xlocExtra=-100.,zlocExtra=-100.;
2846 fNtupleITSAlignExtra->Fill(layerExtra,pointExtra.GetX(),pointExtra.GetY(),pointExtra.GetZ(),dzExtra[0],dzExtra[1],xlocExtra,zlocExtra,nclsITS,track->Pt());
2849 if(trackTPC) { delete trackTPC; trackTPC=0; }
2850 } // end loop on tracks
2852 if(vertexMC) { delete vertexMC; vertexMC=0; }
2854 delete esdtrackCutsTPC; esdtrackCutsTPC=0;
2855 delete esdtrackCutsITSTPC; esdtrackCutsITSTPC=0;
2857 PostData(1, fOutput);
2862 //________________________________________________________________________
2863 void AliAnalysisTaskITSTrackingCheck::Terminate(Option_t *)
2865 // Draw result to the screen
2866 // Called once at the end of the query
2867 fOutput = dynamic_cast<TList*> (GetOutputData(1));
2869 Printf("ERROR: fOutput not available");
2872 fHistNEvents = dynamic_cast<TH1F*>(fOutput->FindObject("fHistNEvents"));
2873 fHistNEventsFrac = dynamic_cast<TH1F*>(fOutput->FindObject("fHistNEventsFrac"));
2874 if(fHistNEvents && fHistNEventsFrac) {
2875 for(Int_t ibin=2; ibin<=fHistNEvents->GetNbinsX(); ibin++) {
2876 if(fHistNEvents->GetBinContent(2)) fHistNEventsFrac->SetBinContent(ibin,fHistNEvents->GetBinContent(ibin)/fHistNEvents->GetBinContent(2));
2882 //---------------------------------------------------------------------------
2883 Int_t AliAnalysisTaskITSTrackingCheck::NumberOfITSClustersMC(Int_t label,Int_t nModules) const
2886 // Return number of ITS clusters produced by MC particle with given label
2889 AliESDInputHandlerRP *esdHRP = dynamic_cast<AliESDInputHandlerRP*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
2890 if(!esdHRP) return -1;
2891 TTree *cTree = (TTree*)esdHRP->GetTreeR("ITS");
2892 if(!cTree) return -1;
2893 TClonesArray *clusters=0;
2894 cTree->SetBranchAddress("ITSRecPoints",&clusters);
2895 if(!clusters) return -1;
2897 AliITSRecPoint *c=0;
2898 Int_t i,n,icl,lay,ilab;
2899 Int_t ncls[6]={0,0,0,0,0,0};
2902 for(i=0; i<nModules; i++) {
2904 n=clusters->GetEntriesFast();
2905 for (icl=0; icl<n; icl++) {
2906 c=(AliITSRecPoint*)clusters->UncheckedAt(icl);
2908 //printf("mod %d lay %d xloc %f zloc %f\n",i,lay,c->GetDetLocalX(),c->GetDetLocalZ());
2909 for(ilab=0;ilab<3;ilab++) {
2910 if(c->GetLabel(ilab)==label) ncls[lay]++;
2915 //printf("%d\n",ncls[i]);
2916 if(ncls[i]) nclstot++;
2921 //---------------------------------------------------------------------------
2922 Int_t AliAnalysisTaskITSTrackingCheck::NumberOfITSClusters(Int_t idet,Float_t &xloc) const
2925 // Return number of ITS clusters produced by MC particle with given label
2928 AliESDInputHandlerRP *esdHRP = dynamic_cast<AliESDInputHandlerRP*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
2929 if(!esdHRP) return -1;
2930 TTree *cTree = (TTree*)esdHRP->GetTreeR("ITS");
2931 if(!cTree) return -1;
2932 TClonesArray *clusters=0; // new TClonesArray("AliITSRecPoint",10000);
2933 cTree->SetBranchAddress("ITSRecPoints",&clusters);
2934 if(!clusters) return -1;
2936 AliITSRecPoint *c=0;
2939 cTree->GetEvent(idet);
2940 n=clusters->GetEntriesFast();
2943 for (icl=0; icl<n; icl++) {
2944 c=(AliITSRecPoint*)clusters->UncheckedAt(icl);
2945 xloc = c->GetDetLocalX();
2950 //---------------------------------------------------------------------------
2951 void AliAnalysisTaskITSTrackingCheck::FillNClustersModuleMap()
2954 // Number of clusters per module
2957 AliESDInputHandlerRP *esdHRP = dynamic_cast<AliESDInputHandlerRP*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
2959 TTree *cTree = (TTree*)esdHRP->GetTreeR("ITS");
2961 TClonesArray *clusters=0; // new TClonesArray("AliITSRecPoint",10000);
2962 cTree->SetBranchAddress("ITSRecPoints",&clusters);
2964 for(Int_t idet=0;idet<2198;idet++) {
2965 cTree->GetEvent(idet);
2966 if(!clusters) continue;
2967 fHistNClustersMapModule->SetBinContent(idet,clusters->GetEntriesFast());
2972 //---------------------------------------------------------------------------
2973 Double_t AliAnalysisTaskITSTrackingCheck::ParticleImpParMC(TParticle *part,
2978 // Return the MC value of the impact parameter
2981 Double_t vx=part->Vx()-vert->GetX();
2982 Double_t vy=part->Vy()-vert->GetY();
2984 Double_t pt=part->Pt();
2985 Double_t px=part->Px();
2986 Double_t py=part->Py();
2987 Double_t charge = (part->GetPdgCode()>0. ? 1. : -1.);
2988 if(TMath::Abs(part->GetPdgCode())<100) charge*=-1.;
2990 if(px<0.000001) px=0.000001;
2991 Double_t rAnd=((10./2.99792458)*pt/bzT)*100.;
2992 Double_t center[3],d0;
2993 center[0]=vx-(1./charge)*rAnd*(py/pt);
2994 center[1]=vy+(1./charge)*rAnd*(px/pt);
2995 center[2]=TMath::Sqrt(center[0]*center[0]+center[1]*center[1]);
2996 d0 = -center[2]+rAnd;
3000 //---------------------------------------------------------------------------
3001 Bool_t AliAnalysisTaskITSTrackingCheck::SelectPt(Double_t pt)
3004 // Keep only tracks in given pt bins
3006 Double_t ptlower[11]={0.15,0.29,0.49,0.75,0.9,1.9,3.5,6.5, 9.,19.,27.};
3007 Double_t ptupper[11]={0.16,0.31,0.51,0.85,1.1,2.1,4.5,7.5,11.,21.,33.};
3009 for(Int_t i=0; i<11; i++) {
3010 if(pt>ptlower[i] && pt<ptupper[i]) {
3011 fCountsPerPtBin[i]++;
3018 //---------------------------------------------------------------------------
3019 Int_t AliAnalysisTaskITSTrackingCheck::MakeITSflag(AliESDtrack *track) const {
3021 // ITSflag takes the value 0 if the track has no cluster assigned in the SPDs,
3022 // 1 (2) if one cluster is assigned in SPD1(2), 3 if two clusters are present.
3023 // Then the same adding 10,20 or 30 for SDD and 100,200 or 300 for SSD
3026 if(track->HasPointOnITSLayer(0)) iITSflag+=1;
3027 if(track->HasPointOnITSLayer(1)) iITSflag+=2;
3028 if(track->HasPointOnITSLayer(2)) iITSflag+=10;
3029 if(track->HasPointOnITSLayer(3)) iITSflag+=20;
3030 if(track->HasPointOnITSLayer(4)) iITSflag+=100;
3031 if(track->HasPointOnITSLayer(5)) iITSflag+=200;
3033 if(iITSflag==333 && track->GetNcls(0)<6)
3034 printf(" ERROR %d %d\n",track->GetNcls(0),track->GetLabel());
3036 // number of associated ITS clusters
3037 iITSflag += 1000*track->GetNcls(0);
3039 // number of associated TPC clusters
3040 iITSflag += 100000*track->GetNcls(1);
3042 // if MC info and is available
3043 // write the number of ITS clusters produced by this track
3045 if(fReadMC && fReadRPLabels) {
3046 nITSclsMC = NumberOfITSClustersMC(TMath::Abs(track->GetLabel()));
3047 if(nITSclsMC>=0) iITSflag += 10000*nITSclsMC;
3049 if(track->GetLabel()<0) iITSflag *= -1;
3054 //---------------------------------------------------------------------------
3055 Bool_t AliAnalysisTaskITSTrackingCheck::IsSelectedCentrality() const
3058 // check if events is in the required multiplicity range
3061 const AliMultiplicity *alimult = fESD->GetMultiplicity();
3063 Int_t nclsSPDouter=0;
3065 ntrklets = alimult->GetNumberOfTracklets();
3066 nclsSPDouter = alimult->GetNumberOfITSClusters(1);
3069 if(nclsSPDouter<fMinMult || nclsSPDouter>fMaxMult) return kFALSE;