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