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