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