]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/JetTasks/AliPWG4HighPtQATPConly.cxx
Added weihting with number of trials and cross section, adapted track cuts
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliPWG4HighPtQATPConly.cxx
CommitLineData
fdceab34 1/**************************************************************************
2 * Copyright(c) 1998-1999, 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// This class compares the global reconstruction with the TPConly
18// reconstruction
19// Momentum resolution is stored as function of track cuts and pt.
20// Output: Histograms for different set of cuts
21//-----------------------------------------------------------------------
22// Author : Marta Verweij - UU
23//-----------------------------------------------------------------------
24
67ebd013 25#ifndef ALIPWG4HIGHPTQATPCONLY_CXX
26#define ALIPWG4HIGHPTQATPCONLY_CXX
df943115 27
fdceab34 28#include "AliPWG4HighPtQATPConly.h"
29
b5cc0c6d 30#include "TVector3.h"
31#include <iostream>
fdceab34 32#include "TH1.h"
33#include "TH2.h"
34#include "TH3.h"
35#include "TList.h"
36#include "TChain.h"
37#include "TH3F.h"
f4d11ac8 38#include <Bytes.h>
39#include <TTree.h>
b5cc0c6d 40
fdceab34 41#include "AliAnalysisManager.h"
42#include "AliESDInputHandler.h"
43#include "AliESDtrack.h"
f4d11ac8 44#include "AliESDfriend.h"
45#include "AliESDfriendTrack.h"
fdceab34 46#include "AliESDtrackCuts.h"
47#include "AliExternalTrackParam.h"
df943115 48#include "AliLog.h"
67ebd013 49//#include "AliAnalysisHelperJetTasks.h"
fdceab34 50
f4d11ac8 51#include "TH1I.h"
f4d11ac8 52
fdceab34 53using namespace std; //required for resolving the 'cout' symbol
54
55ClassImp(AliPWG4HighPtQATPConly)
56
57AliPWG4HighPtQATPConly::AliPWG4HighPtQATPConly(): AliAnalysisTask("AliPWG4HighPtQATPConly", ""),
58 fESD(0),
f4d11ac8 59 fESDfriend(0),
00c1235a 60 fCutType(1),
fdceab34 61 fTrackCuts(0),
62 fTrackCutsITS(0),
b1cd0099 63 fPtMax(100.),
b5cc0c6d 64 fNEventAll(0),
65 fNEventSel(0),
df943115 66 fPtAll(0),
67 fPtSel(0),
fdceab34 68 fPtAllminPtTPCvsPtAll(0),
9f54dd56 69 fPtAllminPtTPCvsPtAllEtaPos(0),
70 fPtAllminPtTPCvsPtAllEtaNeg(0),
fdceab34 71 fPtAllminPtTPCvsPtAllNPointTPC(0),
72 fPtAllminPtTPCvsPtAllDCAR(0),
73 fPtAllminPtTPCvsPtAllDCAZ(0),
74 fPtAllminPtTPCvsPtAllPhi(0),
75 fPtAllminPtTPCvsPtAllNPointITS(0),
76 fPtAllminPtTPCvsPtAllNSigmaToVertex(0),
77 fPtAllminPtTPCvsPtAllChi2C(0),
78 fPtAllminPtTPCvsPtAllRel1PtUncertainty(0),
f4d11ac8 79 fPtAllminPtTPCvsPtAllChi2PerNClusTPC(0),
80 fPtAllminPtTPCvsPtAllChi2PerNClusITS(0),
9c8dfcb5 81 fPtAllminPtTPCvsNPointTPCPhi(0),
82 fPtAllminPtTPCvsNPointITSPhi(0),
83 fPtAllminPtTPCvsRel1PtUncertaintyPhi(0),
f4d11ac8 84 fEtaPhiOutliers(0),
85 fPtSelITSouter(0),
86 fPtITSouterminPtTPCvsPtAll(0),
9f54dd56 87 fPtITSouterminPtTPCvsPtAllEtaPos(0),
88 fPtITSouterminPtTPCvsPtAllEtaNeg(0),
f4d11ac8 89 fPtITSouterminPtTPCvsPtAllNPointTPC(0),
90 fPtITSouterminPtTPCvsPtAllDCAR(0),
91 fPtITSouterminPtTPCvsPtAllDCAZ(0),
92 fPtITSouterminPtTPCvsPtAllPhi(0),
93 fPtITSouterminPtTPCvsPtAllNPointITS(0),
94 fPtITSouterminPtTPCvsPtAllNSigmaToVertex(0),
95 fPtITSouterminPtTPCvsPtAllChi2C(0),
96 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty(0),
97 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC(0),
98 fPtITSouterminPtTPCvsPtAllChi2PerNClusITS(0),
3adc85ec 99 fPtITSouterminPtTPCvsPtAllITSLayer0(0),
100 fPtITSouterminPtTPCvsPtAllITSLayer1(0),
101 fPtITSouterminPtTPCvsPtAllITSLayer2(0),
102 fPtITSouterminPtTPCvsPtAllITSLayer3(0),
103 fPtITSouterminPtTPCvsPtAllITSLayer4(0),
104 fPtITSouterminPtTPCvsPtAllITSLayer5(0),
105 fPtITSouterminPtTPCvsPtAllNoSPD(0),
106 fPtITSouterminPtTPCvsPtAllNoSDD(0),
107 fPtITSouterminPtTPCvsPtAllNoSSD(0),
108 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0(0),
109 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1(0),
110 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2(0),
111 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3(0),
112 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4(0),
113 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5(0),
114 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD(0),
115 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD(0),
116 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD(0),
fdceab34 117 fHistList(0),
118 fPtAllTPC(0),
119 fPtSelTPC(0),
120 fPtSelTPCITS(0),
121 fHistListTPC(0),
122 fPtSelITS(0),
123 fPtITSminPtTPCvsPtITS(0),
9f54dd56 124 fPtITSminPtTPCvsPtITSEtaPos(0),
125 fPtITSminPtTPCvsPtITSEtaNeg(0),
fdceab34 126 fPtITSminPtTPCvsPtITSNPointTPC(0),
127 fPtITSminPtTPCvsPtITSDCAR(0),
128 fPtITSminPtTPCvsPtITSDCAZ(0),
129 fPtITSminPtTPCvsPtITSPhi(0),
130 fPtITSminPtTPCvsPtITSNPointITS(0),
131 fPtITSminPtTPCvsPtITSNSigmaToVertex(0),
132 fPtITSminPtTPCvsPtITSChi2C(0),
133 fPtITSminPtTPCvsPtITSRel1PtUncertainty(0),
f4d11ac8 134 fPtITSminPtTPCvsPtITSChi2PerNClusTPC(0),
135 fPtITSminPtTPCvsPtITSChi2PerNClusITS(0),
9c8dfcb5 136 fPtITSminPtTPCvsNPointTPCPhi(0),
137 fPtITSminPtTPCvsNPointITSPhi(0),
138 fPtITSminPtTPCvsRel1PtUncertaintyPhi(0),
f4d11ac8 139 fPtRel1PtUncertaintyChi2PerClusTPC(0),
9b58297c 140 fHistListITS(0)
cc89bb69 141
fdceab34 142{
df943115 143
fdceab34 144}
145//________________________________________________________________________
146AliPWG4HighPtQATPConly::AliPWG4HighPtQATPConly(const char *name):
147 AliAnalysisTask(name, ""),
148 fESD(0),
f4d11ac8 149 fESDfriend(0),
00c1235a 150 fCutType(1),
fdceab34 151 fTrackCuts(),
152 fTrackCutsITS(),
b1cd0099 153 fPtMax(100.),
b5cc0c6d 154 fNEventAll(0),
155 fNEventSel(0),
df943115 156 fPtAll(0),
157 fPtSel(0),
fdceab34 158 fPtAllminPtTPCvsPtAll(0),
9f54dd56 159 fPtAllminPtTPCvsPtAllEtaPos(0),
160 fPtAllminPtTPCvsPtAllEtaNeg(0),
fdceab34 161 fPtAllminPtTPCvsPtAllNPointTPC(0),
162 fPtAllminPtTPCvsPtAllDCAR(0),
163 fPtAllminPtTPCvsPtAllDCAZ(0),
164 fPtAllminPtTPCvsPtAllPhi(0),
165 fPtAllminPtTPCvsPtAllNPointITS(0),
166 fPtAllminPtTPCvsPtAllNSigmaToVertex(0),
167 fPtAllminPtTPCvsPtAllChi2C(0),
168 fPtAllminPtTPCvsPtAllRel1PtUncertainty(0),
f4d11ac8 169 fPtAllminPtTPCvsPtAllChi2PerNClusTPC(0),
170 fPtAllminPtTPCvsPtAllChi2PerNClusITS(0),
b35040a5 171 fPtAllminPtTPCvsNPointTPCPhi(0),
172 fPtAllminPtTPCvsNPointITSPhi(0),
173 fPtAllminPtTPCvsRel1PtUncertaintyPhi(0),
f4d11ac8 174 fEtaPhiOutliers(0),
175 fPtSelITSouter(0),
176 fPtITSouterminPtTPCvsPtAll(0),
9f54dd56 177 fPtITSouterminPtTPCvsPtAllEtaPos(0),
178 fPtITSouterminPtTPCvsPtAllEtaNeg(0),
f4d11ac8 179 fPtITSouterminPtTPCvsPtAllNPointTPC(0),
180 fPtITSouterminPtTPCvsPtAllDCAR(0),
181 fPtITSouterminPtTPCvsPtAllDCAZ(0),
182 fPtITSouterminPtTPCvsPtAllPhi(0),
183 fPtITSouterminPtTPCvsPtAllNPointITS(0),
184 fPtITSouterminPtTPCvsPtAllNSigmaToVertex(0),
185 fPtITSouterminPtTPCvsPtAllChi2C(0),
186 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty(0),
187 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC(0),
188 fPtITSouterminPtTPCvsPtAllChi2PerNClusITS(0),
3adc85ec 189 fPtITSouterminPtTPCvsPtAllITSLayer0(0),
190 fPtITSouterminPtTPCvsPtAllITSLayer1(0),
191 fPtITSouterminPtTPCvsPtAllITSLayer2(0),
192 fPtITSouterminPtTPCvsPtAllITSLayer3(0),
193 fPtITSouterminPtTPCvsPtAllITSLayer4(0),
194 fPtITSouterminPtTPCvsPtAllITSLayer5(0),
195 fPtITSouterminPtTPCvsPtAllNoSPD(0),
196 fPtITSouterminPtTPCvsPtAllNoSDD(0),
197 fPtITSouterminPtTPCvsPtAllNoSSD(0),
198 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0(0),
199 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1(0),
200 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2(0),
201 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3(0),
202 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4(0),
203 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5(0),
204 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD(0),
205 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD(0),
206 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD(0),
fdceab34 207 fHistList(0),
208 fPtAllTPC(0),
209 fPtSelTPC(0),
210 fPtSelTPCITS(0),
211 fHistListTPC(0),
212 fPtSelITS(0),
213 fPtITSminPtTPCvsPtITS(0),
9f54dd56 214 fPtITSminPtTPCvsPtITSEtaPos(0),
215 fPtITSminPtTPCvsPtITSEtaNeg(0),
fdceab34 216 fPtITSminPtTPCvsPtITSNPointTPC(0),
217 fPtITSminPtTPCvsPtITSDCAR(0),
218 fPtITSminPtTPCvsPtITSDCAZ(0),
219 fPtITSminPtTPCvsPtITSPhi(0),
220 fPtITSminPtTPCvsPtITSNPointITS(0),
221 fPtITSminPtTPCvsPtITSNSigmaToVertex(0),
222 fPtITSminPtTPCvsPtITSChi2C(0),
223 fPtITSminPtTPCvsPtITSRel1PtUncertainty(0),
f4d11ac8 224 fPtITSminPtTPCvsPtITSChi2PerNClusTPC(0),
225 fPtITSminPtTPCvsPtITSChi2PerNClusITS(0),
b35040a5 226 fPtITSminPtTPCvsNPointTPCPhi(0),
227 fPtITSminPtTPCvsNPointITSPhi(0),
228 fPtITSminPtTPCvsRel1PtUncertaintyPhi(0),
f4d11ac8 229 fPtRel1PtUncertaintyChi2PerClusTPC(0),
9b58297c 230 fHistListITS(0)
fdceab34 231{
232 //
233 // Constructor. Initialization of Inputs and Outputs
234 //
235 Info("AliPWG4HighPtQATPConly","Calling Constructor");
236 // Input slot #0 works with a TChain ESD
237 DefineInput(0, TChain::Class());
cc89bb69 238 // Output slot #0, #1, #2 and #3 writes into a TList
fdceab34 239 DefineOutput(0, TList::Class());
fdceab34 240 DefineOutput(1, TList::Class());
fdceab34 241 DefineOutput(2, TList::Class());
cc89bb69 242 // Output slot #4 and #5 writes into a AliESDtrackCuts
e4cb1c80 243 DefineOutput(3, AliESDtrackCuts::Class());
cc89bb69 244 DefineOutput(4, AliESDtrackCuts::Class());
cc89bb69 245
246}
247
248//________________________________________________________________________
249void AliPWG4HighPtQATPConly::LocalInit()
250{
e5abcde9 251 //
252 // Only called once at beginning
253 //
9b58297c 254 PostData(3,fTrackCuts);
255 PostData(4,fTrackCutsITS);
df943115 256}
fdceab34 257
258//________________________________________________________________________
259void AliPWG4HighPtQATPConly::ConnectInputData(Option_t *)
260{
261 // Connect ESD here
262 // Called once
df943115 263 AliDebug(2,Form(">> AliPWG4HighPtSpectra::ConnectInputData \n"));
fdceab34 264 TTree* tree = dynamic_cast<TTree*> (GetInputData(0));
265 if (!tree) {
f4d11ac8 266 AliDebug(2,Form( "ERROR: Could not read chain from input slot 0 \n"));
267 return;
268 }
269
270 AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
271
272 if (!esdH) {
273 AliDebug(2,Form("ERROR: Could not get ESDInputHandler"));
274 return;
275 } else
276 fESD = esdH->GetEvent();
71e77a79 277
35ba8832 278 fESDfriend = esdH->GetESDfriend();
279
fdceab34 280}
281
fdceab34 282//________________________________________________________________________
283void AliPWG4HighPtQATPConly::CreateOutputObjects() {
284 //Create output objects
df943115 285 AliDebug(2,Form(">> AliPWG4HighPtQATPConly::CreateOutputObjects \n"));
286
287 Bool_t oldStatus = TH1::AddDirectoryStatus();
288 TH1::AddDirectory(kFALSE);
289
fdceab34 290 OpenFile(0);
291 fHistList = new TList();
b4691ee7 292 fHistList->SetOwner(kTRUE);
fdceab34 293 OpenFile(1);
294 fHistListTPC = new TList();
b4691ee7 295 fHistListTPC->SetOwner(kTRUE);
fdceab34 296 OpenFile(2);
297 fHistListITS = new TList();
b4691ee7 298 fHistListITS->SetOwner(kTRUE);
65e8ecdd 299
cc89bb69 300 Int_t fgkNPhiBins=18;
fdceab34 301 Float_t kMinPhi = 0.;
302 Float_t kMaxPhi = 2.*TMath::Pi();
cc89bb69 303 Double_t *binsPhi=new Double_t[fgkNPhiBins+1];
304 for(Int_t i=0; i<=fgkNPhiBins; i++) binsPhi[i]=(Double_t)kMinPhi + (kMaxPhi-kMinPhi)/fgkNPhiBins*(Double_t)i ;
fdceab34 305
f4d11ac8 306 Float_t fgkPtMin=0.;
b1cd0099 307 Float_t fgkPtMax=fPtMax;
308
309 Float_t ptBinEdges[2][2];
310 ptBinEdges[0][0] = 10.;
311 ptBinEdges[0][1] = 1.;
312 ptBinEdges[1][0] = 20.;
313 ptBinEdges[1][1] = 2.;
314 Float_t binWidth3 = 5.;
315 if(fPtMax>100.) {
316 ptBinEdges[0][0] = 100.;
317 ptBinEdges[0][1] = 5.;
318 ptBinEdges[1][0] = 300.;
319 ptBinEdges[1][1] = 10.;
320 binWidth3 = 20.;
321 }
cc89bb69 322
323 const Float_t ptmin1 = fgkPtMin;
b1cd0099 324 const Float_t ptmax1 = ptBinEdges[0][0];
cc89bb69 325 const Float_t ptmin2 = ptmax1 ;
b1cd0099 326 const Float_t ptmax2 = ptBinEdges[1][0];
cc89bb69 327 const Float_t ptmin3 = ptmax2 ;
328 const Float_t ptmax3 = fgkPtMax;
b1cd0099 329 const Int_t nbin11 = (int)((ptmax1-ptmin1)/ptBinEdges[0][1]);
330 const Int_t nbin12 = (int)((ptmax2-ptmin2)/ptBinEdges[1][1])+nbin11;
331 const Int_t nbin13 = (int)((ptmax3-ptmin3)/binWidth3)+nbin12;
cc89bb69 332 Int_t fgkNPtBins=nbin13;
333 //Create array with low edges of each bin
334 Double_t *binsPt=new Double_t[fgkNPtBins+1];
335 for(Int_t i=0; i<=fgkNPtBins; i++) {
336 if(i<=nbin11) binsPt[i]=(Double_t)ptmin1 + (ptmax1-ptmin1)/nbin11*(Double_t)i ;
337 if(i<=nbin12 && i>nbin11) binsPt[i]=(Double_t)ptmin2 + (ptmax2-ptmin2)/(nbin12-nbin11)*((Double_t)i-(Double_t)nbin11) ;
338 if(i<=nbin13 && i>nbin12) binsPt[i]=(Double_t)ptmin3 + (ptmax3-ptmin3)/(nbin13-nbin12)*((Double_t)i-(Double_t)nbin12) ;
339 }
340
f4d11ac8 341 Float_t fgkChi2PerClusMin = 0.;
b35040a5 342 Float_t fgkChi2PerClusMax = 4.;
cc89bb69 343 Int_t fgkNChi2PerClusBins = (int)(fgkChi2PerClusMax*10.);
344 Double_t *binsChi2PerClus=new Double_t[fgkNChi2PerClusBins+1];
345 for(Int_t i=0; i<=fgkNChi2PerClusBins; i++) binsChi2PerClus[i]=(Double_t)fgkChi2PerClusMin + (fgkChi2PerClusMax-fgkChi2PerClusMin)/fgkNChi2PerClusBins*(Double_t)i ;
346
347 Int_t fgkNResPtBins=80;
348 Float_t fgkResPtMin = -1.;
349 Float_t fgkResPtMax = 1.;
350 Double_t *binsResPt=new Double_t[fgkNResPtBins+1];
351 for(Int_t i=0; i<=fgkNResPtBins; i++) binsResPt[i]=(Double_t)fgkResPtMin + (fgkResPtMax-fgkResPtMin)/fgkNResPtBins*(Double_t)i ;
352
353 Int_t fgkNEtaBins=20;
354 Float_t fgkEtaMin = -1.;
355 Float_t fgkEtaMax = 1.;
356 Double_t *binsEta=new Double_t[fgkNEtaBins+1];
357 for(Int_t i=0; i<=fgkNEtaBins; i++) binsEta[i]=(Double_t)fgkEtaMin + (fgkEtaMax-fgkEtaMin)/fgkNEtaBins*(Double_t)i ;
358
359 Int_t fgkNNPointTPCBins=80;
360 Float_t fgkNPointTPCMin = 0.5;
361 Float_t fgkNPointTPCMax = 160.5;
362 Double_t *binsNPointTPC=new Double_t[fgkNNPointTPCBins+1];
363 for(Int_t i=0; i<=fgkNNPointTPCBins; i++) binsNPointTPC[i]=(Double_t)fgkNPointTPCMin + (fgkNPointTPCMax-fgkNPointTPCMin)/fgkNNPointTPCBins*(Double_t)i ;
364
cc89bb69 365 Int_t fgkNDCARBins=80;
366 Float_t fgkDCARMin = -0.2;
367 Float_t fgkDCARMax = 0.2;
368 Double_t *binsDCAR=new Double_t[fgkNDCARBins+1];
369 for(Int_t i=0; i<=fgkNDCARBins; i++) binsDCAR[i]=(Double_t)fgkDCARMin + (fgkDCARMax-fgkDCARMin)/fgkNDCARBins*(Double_t)i ;
370
371 Int_t fgkNDCAZBins=80;
372 Float_t fgkDCAZMin = -2.;
373 Float_t fgkDCAZMax = 2.;
374 Double_t *binsDCAZ=new Double_t[fgkNDCAZBins+1];
375 for(Int_t i=0; i<=fgkNDCAZBins; i++) binsDCAZ[i]=(Double_t)fgkDCAZMin + (fgkDCAZMax-fgkDCAZMin)/fgkNDCAZBins*(Double_t)i ;
376
377 Int_t fgkNNPointITSBins=9;
378 Float_t fgkNPointITSMin = -0.5;
379 Float_t fgkNPointITSMax = 8.5;
380 Double_t *binsNPointITS=new Double_t[fgkNNPointITSBins+1];
381 for(Int_t i=0; i<=fgkNNPointITSBins; i++) binsNPointITS[i]=(Double_t)fgkNPointITSMin + (fgkNPointITSMax-fgkNPointITSMin)/fgkNNPointITSBins*(Double_t)i ;
382
383 Int_t fgkNNSigmaToVertexBins=40;
384 Float_t fgkNSigmaToVertexMin = 0.;
385 Float_t fgkNSigmaToVertexMax = 8.;
386 Double_t *binsNSigmaToVertex=new Double_t[fgkNNSigmaToVertexBins+1];
387 for(Int_t i=0; i<=fgkNNSigmaToVertexBins; i++) binsNSigmaToVertex[i]=(Double_t)fgkNSigmaToVertexMin + (fgkNSigmaToVertexMax-fgkNSigmaToVertexMin)/fgkNNSigmaToVertexBins*(Double_t)i ;
388
389 Int_t fgkNChi2CBins=20;
390 Float_t fgkChi2CMin = 0.;
391 Float_t fgkChi2CMax = 10.;
392 Double_t *binsChi2C=new Double_t[fgkNChi2CBins+1];
393 for(Int_t i=0; i<=fgkNChi2CBins; i++) binsChi2C[i]=(Double_t)fgkChi2CMin + (fgkChi2CMax-fgkChi2CMin)/fgkNChi2CBins*(Double_t)i ;
394
395 Int_t fgkNRel1PtUncertaintyBins=30;
396 Float_t fgkRel1PtUncertaintyMin = 0.;
397 Float_t fgkRel1PtUncertaintyMax = 0.3;
398 Double_t *binsRel1PtUncertainty=new Double_t[fgkNRel1PtUncertaintyBins+1];
399 for(Int_t i=0; i<=fgkNRel1PtUncertaintyBins; i++) binsRel1PtUncertainty[i]=(Double_t)fgkRel1PtUncertaintyMin + (fgkRel1PtUncertaintyMax-fgkRel1PtUncertaintyMin)/fgkNRel1PtUncertaintyBins*(Double_t)i ;
fdceab34 400
b5cc0c6d 401 fNEventAll = new TH1F("fNEventAll","NEventAll",1,-0.5,0.5);
402 fHistList->Add(fNEventAll);
403 fNEventSel = new TH1F("fNEventSel","NEvent Selected for analysis",1,-0.5,0.5);
404 fHistList->Add(fNEventSel);
b1cd0099 405 fPtAll = new TH1F("fPtAll","PtAll",fgkNPtBins, binsPt);
fdceab34 406 fHistList->Add(fPtAll);
b1cd0099 407 fPtSel = new TH1F("fPtSel","PtSel",fgkNPtBins, binsPt);
fdceab34 408 fHistList->Add(fPtSel);
65e8ecdd 409
cc89bb69 410 fPtAllminPtTPCvsPtAll = new TH2F("fPtAllminPtTPCvsPtAll","PtAllminPtTPCvsPtAll",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
f4d11ac8 411 fPtAllminPtTPCvsPtAll->SetXTitle("p_{t}^{Global}");
412 fPtAllminPtTPCvsPtAll->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 413 fHistList->Add(fPtAllminPtTPCvsPtAll);
414
cc89bb69 415 fPtAllminPtTPCvsPtAllEtaPos = new TH3F("fPtAllminPtTPCvsPtAllEtaPos","PtAllminPtTPCvsPtAllEtaPos",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 416 fPtAllminPtTPCvsPtAllEtaPos->SetXTitle("p_{t}^{Global}");
417 fPtAllminPtTPCvsPtAllEtaPos->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
cc89bb69 418 fPtAllminPtTPCvsPtAllEtaPos->SetZTitle("#eta");
9f54dd56 419 fHistList->Add(fPtAllminPtTPCvsPtAllEtaPos);
420
cc89bb69 421 fPtAllminPtTPCvsPtAllEtaNeg = new TH3F("fPtAllminPtTPCvsPtAllEtaNeg","PtAllminPtTPCvsPtAllEtaNeg",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 422 fPtAllminPtTPCvsPtAllEtaNeg->SetXTitle("p_{t}^{Global}");
423 fPtAllminPtTPCvsPtAllEtaNeg->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
cc89bb69 424 fPtAllminPtTPCvsPtAllEtaNeg->SetZTitle("#eta");
9f54dd56 425 fHistList->Add(fPtAllminPtTPCvsPtAllEtaNeg);
426
cc89bb69 427 fPtAllminPtTPCvsPtAllNPointTPC = new TH3F("fPtAllminPtTPCvsPtAllNPointTPC","PtAllminPtTPCvsPtAllNPointTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointTPCBins,binsNPointTPC);
f4d11ac8 428 fPtAllminPtTPCvsPtAllNPointTPC->SetXTitle("p_{t}^{Global}");
429 fPtAllminPtTPCvsPtAllNPointTPC->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 430 fPtAllminPtTPCvsPtAllNPointTPC->SetZTitle("N_{point,TPC}");
431 fHistList->Add(fPtAllminPtTPCvsPtAllNPointTPC);
432
cc89bb69 433 fPtAllminPtTPCvsPtAllDCAR = new TH3F("fPtAllminPtTPCvsPtAllDCAR","PtAllminPtTPCvsPtAllDCAR",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCARBins,binsDCAR);
f4d11ac8 434 fPtAllminPtTPCvsPtAllDCAR->SetXTitle("p_{t}^{Global}");
435 fPtAllminPtTPCvsPtAllDCAR->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 436 fPtAllminPtTPCvsPtAllDCAR->SetZTitle("DCA_{R}");
437 fHistList->Add(fPtAllminPtTPCvsPtAllDCAR);
438
cc89bb69 439 fPtAllminPtTPCvsPtAllDCAZ = new TH3F("fPtAllminPtTPCvsPtAllDCAZ","PtAllminPtTPCvsPtAllDCAZ",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCAZBins,binsDCAZ);
f4d11ac8 440 fPtAllminPtTPCvsPtAllDCAZ->SetXTitle("p_{t}^{Global}");
441 fPtAllminPtTPCvsPtAllDCAZ->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 442 fPtAllminPtTPCvsPtAllDCAZ->SetZTitle("DCA_{Z}");
443 fHistList->Add(fPtAllminPtTPCvsPtAllDCAZ);
444
cc89bb69 445 fPtAllminPtTPCvsPtAllPhi = new TH3F("fPtAllminPtTPCvsPtAllPhi","PtAllminPtTPCvsPtAllPhi",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNPhiBins,binsPhi);
f4d11ac8 446 fPtAllminPtTPCvsPtAllPhi->SetXTitle("p_{t}^{Global}");
447 fPtAllminPtTPCvsPtAllPhi->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 448 fPtAllminPtTPCvsPtAllPhi->SetZTitle("#phi");
449 fHistList->Add(fPtAllminPtTPCvsPtAllPhi);
450
cc89bb69 451 fPtAllminPtTPCvsPtAllNPointITS = new TH3F("fPtAllminPtTPCvsPtAllNPointITS","PtAllminPtTPCvsPtAllNPointITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS);
f4d11ac8 452 fPtAllminPtTPCvsPtAllNPointITS->SetXTitle("p_{t}^{Global}");
453 fPtAllminPtTPCvsPtAllNPointITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
454 fPtAllminPtTPCvsPtAllNPointITS->SetZTitle("N_{point,ITS}");
fdceab34 455 fHistList->Add(fPtAllminPtTPCvsPtAllNPointITS);
456
cc89bb69 457 fPtAllminPtTPCvsPtAllNSigmaToVertex = new TH3F("fPtAllminPtTPCvsPtAllNSigmaToVertex","PtAllminPtTPCvsPtAllNSigmaToVertex",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNSigmaToVertexBins,binsNSigmaToVertex);
f4d11ac8 458 fPtAllminPtTPCvsPtAllNSigmaToVertex->SetXTitle("p_{t}^{Global}");
459 fPtAllminPtTPCvsPtAllNSigmaToVertex->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 460 fPtAllminPtTPCvsPtAllNSigmaToVertex->SetZTitle("N#sigma to vertex");
461 fHistList->Add(fPtAllminPtTPCvsPtAllNSigmaToVertex);
462
cc89bb69 463 fPtAllminPtTPCvsPtAllChi2C = new TH3F("fPtAllminPtTPCvsPtAllChi2C","PtAllminPtTPCvsPtAllChi2C",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2CBins,binsChi2C);
f4d11ac8 464 fPtAllminPtTPCvsPtAllChi2C->SetXTitle("p_{t}^{Global}");
465 fPtAllminPtTPCvsPtAllChi2C->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 466 fPtAllminPtTPCvsPtAllChi2C->SetZTitle("Constrained #chi^{2}");
467 fHistList->Add(fPtAllminPtTPCvsPtAllChi2C);
468
cc89bb69 469 fPtAllminPtTPCvsPtAllRel1PtUncertainty = new TH3F("fPtAllminPtTPCvsPtAllRel1PtUncertainty","PtAllminPtTPCvsPtAllRel1PtUncertainty",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty);
f4d11ac8 470 fPtAllminPtTPCvsPtAllRel1PtUncertainty->SetXTitle("p_{t}^{Global}");
471 fPtAllminPtTPCvsPtAllRel1PtUncertainty->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 472 fPtAllminPtTPCvsPtAllRel1PtUncertainty->SetZTitle("Rel1PtUncertainty");
473 fHistList->Add(fPtAllminPtTPCvsPtAllRel1PtUncertainty);
474
cc89bb69 475 fPtAllminPtTPCvsPtAllChi2PerNClusTPC = new TH3F("fPtAllminPtTPCvsPtAllChi2PerNClusTPC","PtAllminPtTPCvsPtAllChi2PerNClusTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
f4d11ac8 476 fPtAllminPtTPCvsPtAllChi2PerNClusTPC->SetXTitle("p_{t}^{Global}");
477 fPtAllminPtTPCvsPtAllChi2PerNClusTPC->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
65e8ecdd 478 fPtAllminPtTPCvsPtAllChi2PerNClusTPC->SetZTitle("#chi^{2}/(2*NClusTPC-5)");
f4d11ac8 479 fHistList->Add(fPtAllminPtTPCvsPtAllChi2PerNClusTPC);
480
cc89bb69 481 fPtAllminPtTPCvsPtAllChi2PerNClusITS = new TH3F("fPtAllminPtTPCvsPtAllChi2PerNClusITS","PtAllminPtTPCvsPtAllChi2PerNClusITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
f4d11ac8 482 fPtAllminPtTPCvsPtAllChi2PerNClusITS->SetXTitle("p_{t}^{Global}");
483 fPtAllminPtTPCvsPtAllChi2PerNClusITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
65e8ecdd 484 fPtAllminPtTPCvsPtAllChi2PerNClusITS->SetZTitle("#chi^{2}/(2*NClusITS-5)");
f4d11ac8 485 fHistList->Add(fPtAllminPtTPCvsPtAllChi2PerNClusITS);
486
cc89bb69 487 fPtAllminPtTPCvsNPointTPCPhi = new TH3F("fPtAllminPtTPCvsNPointTPCPhi","PtAllminPtTPCvsNPointTPCPhi",fgkNResPtBins,binsResPt,fgkNNPointTPCBins,binsNPointTPC,fgkNPhiBins,binsPhi);
9c8dfcb5 488 fPtAllminPtTPCvsNPointTPCPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
489 fPtAllminPtTPCvsNPointTPCPhi->SetYTitle("N_{point,TPC}");
490 fPtAllminPtTPCvsNPointTPCPhi->SetZTitle("#phi");
491 fHistList->Add(fPtAllminPtTPCvsNPointTPCPhi);
492
cc89bb69 493 fPtAllminPtTPCvsNPointITSPhi = new TH3F("fPtAllminPtTPCvsNPointITSPhi","PtAllminPtTPCvsNPointITSPhi",fgkNResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS,fgkNPhiBins,binsPhi);
9c8dfcb5 494 fPtAllminPtTPCvsNPointITSPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
495 fPtAllminPtTPCvsNPointITSPhi->SetYTitle("N_{point,ITS}");
496 fPtAllminPtTPCvsNPointITSPhi->SetZTitle("#phi");
497 fHistList->Add(fPtAllminPtTPCvsNPointITSPhi);
498
cc89bb69 499 fPtAllminPtTPCvsRel1PtUncertaintyPhi = new TH3F("fPtAllminPtTPCvsRel1PtUncertaintyPhi","PtAllminPtTPCvsRel1PtUncertaintyPhi",fgkNResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNPhiBins,binsPhi);
9c8dfcb5 500 fPtAllminPtTPCvsRel1PtUncertaintyPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
501 fPtAllminPtTPCvsRel1PtUncertaintyPhi->SetYTitle("Rel1PtUncertainty");
502 fPtAllminPtTPCvsRel1PtUncertaintyPhi->SetZTitle("#phi");
503 fHistList->Add(fPtAllminPtTPCvsRel1PtUncertaintyPhi);
504
cc89bb69 505 fEtaPhiOutliers = new TH2F("fEtaPhiOutliers","PtAllminPtTPCvsPtAll",20, -1.,1.,fgkNPhiBins,binsPhi);
f4d11ac8 506 fEtaPhiOutliers->SetXTitle("#eta");
507 fEtaPhiOutliers->SetYTitle("#phi");
508 fHistList->Add(fEtaPhiOutliers);
509
510 //Global vs ITSouter-TPCinner
cc89bb69 511 fPtSelITSouter = new TH1F("fPtSelITSouter","PtSelITSouter",fgkNPtBins,binsPt);
f4d11ac8 512 fHistList->Add(fPtSelITSouter);
513
cc89bb69 514 fPtITSouterminPtTPCvsPtAll = new TH2F("fPtITSouterminPtTPCvsPtAll","PtITSouterminPtTPCvsPtAll",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
f4d11ac8 515 fPtITSouterminPtTPCvsPtAll->SetXTitle("p_{t}^{Global}");
516 fPtITSouterminPtTPCvsPtAll->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
517 fHistList->Add(fPtITSouterminPtTPCvsPtAll);
518
cc89bb69 519 fPtITSouterminPtTPCvsPtAllEtaPos = new TH3F("fPtITSouterminPtTPCvsPtAllEtaPos","PtITSouterminPtTPCvsPtAllEtaPos",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 520 fPtITSouterminPtTPCvsPtAllEtaPos->SetXTitle("p_{t}^{Global}");
521 fPtITSouterminPtTPCvsPtAllEtaPos->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
522 fHistList->Add(fPtITSouterminPtTPCvsPtAllEtaPos);
523
cc89bb69 524 fPtITSouterminPtTPCvsPtAllEtaNeg = new TH3F("fPtITSouterminPtTPCvsPtAllEtaNeg","PtITSouterminPtTPCvsPtAllEtaNeg",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 525 fPtITSouterminPtTPCvsPtAllEtaNeg->SetXTitle("p_{t}^{Global}");
526 fPtITSouterminPtTPCvsPtAllEtaNeg->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
527 fHistList->Add(fPtITSouterminPtTPCvsPtAllEtaNeg);
528
cc89bb69 529 fPtITSouterminPtTPCvsPtAllNPointTPC = new TH3F("fPtITSouterminPtTPCvsPtAllNPointTPC","PtITSouterminPtTPCvsPtAllNPointTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointTPCBins,binsNPointTPC);
f4d11ac8 530 fPtITSouterminPtTPCvsPtAllNPointTPC->SetXTitle("p_{t}^{Global}");
531 fPtITSouterminPtTPCvsPtAllNPointTPC->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
532 fPtITSouterminPtTPCvsPtAllNPointTPC->SetZTitle("N_{point,TPC}");
533 fHistList->Add(fPtITSouterminPtTPCvsPtAllNPointTPC);
534
cc89bb69 535 fPtITSouterminPtTPCvsPtAllDCAR = new TH3F("fPtITSouterminPtTPCvsPtAllDCAR","PtITSouterminPtTPCvsPtAllDCAR",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCARBins,binsDCAR);
f4d11ac8 536 fPtITSouterminPtTPCvsPtAllDCAR->SetXTitle("p_{t}^{Global}");
537 fPtITSouterminPtTPCvsPtAllDCAR->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
538 fPtITSouterminPtTPCvsPtAllDCAR->SetZTitle("DCA_{R}");
539 fHistList->Add(fPtITSouterminPtTPCvsPtAllDCAR);
540
cc89bb69 541 fPtITSouterminPtTPCvsPtAllDCAZ = new TH3F("fPtITSouterminPtTPCvsPtAllDCAZ","PtITSouterminPtTPCvsPtAllDCAZ",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCAZBins,binsDCAZ);
f4d11ac8 542 fPtITSouterminPtTPCvsPtAllDCAZ->SetXTitle("p_{t}^{Global}");
543 fPtITSouterminPtTPCvsPtAllDCAZ->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
544 fPtITSouterminPtTPCvsPtAllDCAZ->SetZTitle("DCA_{Z}");
545 fHistList->Add(fPtITSouterminPtTPCvsPtAllDCAZ);
546
cc89bb69 547 fPtITSouterminPtTPCvsPtAllPhi = new TH3F("fPtITSouterminPtTPCvsPtAllPhi","PtITSouterminPtTPCvsPtAllPhi",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNPhiBins,binsPhi);
f4d11ac8 548 fPtITSouterminPtTPCvsPtAllPhi->SetXTitle("p_{t}^{Global}");
549 fPtITSouterminPtTPCvsPtAllPhi->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
550 fPtITSouterminPtTPCvsPtAllPhi->SetZTitle("#phi");
551 fHistList->Add(fPtITSouterminPtTPCvsPtAllPhi);
552
cc89bb69 553 fPtITSouterminPtTPCvsPtAllNPointITS = new TH3F("fPtITSouterminPtTPCvsPtAllNPointITS","PtITSouterminPtTPCvsPtAllNPointITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS);
f4d11ac8 554 fPtITSouterminPtTPCvsPtAllNPointITS->SetXTitle("p_{t}^{Global}");
555 fPtITSouterminPtTPCvsPtAllNPointITS->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
556 fPtITSouterminPtTPCvsPtAllNPointITS->SetZTitle("N_{point,ITS}");
557 fHistList->Add(fPtITSouterminPtTPCvsPtAllNPointITS);
558
cc89bb69 559 fPtITSouterminPtTPCvsPtAllNSigmaToVertex = new TH3F("fPtITSouterminPtTPCvsPtAllNSigmaToVertex","PtITSouterminPtTPCvsPtAllNSigmaToVertex",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNSigmaToVertexBins,binsNSigmaToVertex);
f4d11ac8 560 fPtITSouterminPtTPCvsPtAllNSigmaToVertex->SetXTitle("p_{t}^{Global}");
561 fPtITSouterminPtTPCvsPtAllNSigmaToVertex->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
562 fPtITSouterminPtTPCvsPtAllNSigmaToVertex->SetZTitle("N#sigma to vertex");
563 fHistList->Add(fPtITSouterminPtTPCvsPtAllNSigmaToVertex);
564
cc89bb69 565 fPtITSouterminPtTPCvsPtAllChi2C = new TH3F("fPtITSouterminPtTPCvsPtAllChi2C","PtITSouterminPtTPCvsPtAllChi2C",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2CBins,binsChi2C);
f4d11ac8 566 fPtITSouterminPtTPCvsPtAllChi2C->SetXTitle("p_{t}^{Global}");
567 fPtITSouterminPtTPCvsPtAllChi2C->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
568 fPtITSouterminPtTPCvsPtAllChi2C->SetZTitle("Constrained #chi^{2}");
569 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2C);
570
cc89bb69 571 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty = new TH3F("fPtITSouterminPtTPCvsPtAllRel1PtUncertainty","PtITSouterminPtTPCvsPtAllRel1PtUncertainty",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty);
f4d11ac8 572 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty->SetXTitle("p_{t}^{Global}");
573 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
574 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty->SetZTitle("Rel1PtUncertainty");
575 fHistList->Add(fPtITSouterminPtTPCvsPtAllRel1PtUncertainty);
576
cc89bb69 577 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC","PtITSouterminPtTPCvsPtAllChi2PerNClusTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
f4d11ac8 578 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC->SetXTitle("p_{t}^{Global}");
579 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
65e8ecdd 580 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC->SetZTitle("#chi^{2}/(2*NClusTPC-5)");
f4d11ac8 581 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC);
582
cc89bb69 583 fPtITSouterminPtTPCvsPtAllChi2PerNClusITS = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITS","PtITSouterminPtTPCvsPtAllChi2PerNClusITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
f4d11ac8 584 fPtITSouterminPtTPCvsPtAllChi2PerNClusITS->SetXTitle("p_{t}^{Global}");
585 fPtITSouterminPtTPCvsPtAllChi2PerNClusITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
65e8ecdd 586 fPtITSouterminPtTPCvsPtAllChi2PerNClusITS->SetZTitle("#chi^{2}/(2*NClusITS-5)");
f4d11ac8 587 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITS);
588
589 //As function of ITS layers
cc89bb69 590 fPtITSouterminPtTPCvsPtAllITSLayer0 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer0","PtITSouterminPtTPCvsPtAllITSLayer0",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 591 fPtITSouterminPtTPCvsPtAllITSLayer0->SetXTitle("p_{t}^{Global}");
592 fPtITSouterminPtTPCvsPtAllITSLayer0->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
593 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer0);
594
cc89bb69 595 fPtITSouterminPtTPCvsPtAllITSLayer1 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer1","PtITSouterminPtTPCvsPtAllITSLayer1",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 596 fPtITSouterminPtTPCvsPtAllITSLayer1->SetXTitle("p_{t}^{Global}");
597 fPtITSouterminPtTPCvsPtAllITSLayer1->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
598 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer1);
599
cc89bb69 600 fPtITSouterminPtTPCvsPtAllITSLayer2 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer2","PtITSouterminPtTPCvsPtAllITSLayer2",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 601 fPtITSouterminPtTPCvsPtAllITSLayer2->SetXTitle("p_{t}^{Global}");
602 fPtITSouterminPtTPCvsPtAllITSLayer2->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
603 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer2);
604
cc89bb69 605 fPtITSouterminPtTPCvsPtAllITSLayer3 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer3","PtITSouterminPtTPCvsPtAllITSLayer3",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 606 fPtITSouterminPtTPCvsPtAllITSLayer3->SetXTitle("p_{t}^{Global}");
607 fPtITSouterminPtTPCvsPtAllITSLayer3->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
608 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer3);
609
cc89bb69 610 fPtITSouterminPtTPCvsPtAllITSLayer4 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer4","PtITSouterminPtTPCvsPtAllITSLayer4",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 611 fPtITSouterminPtTPCvsPtAllITSLayer4->SetXTitle("p_{t}^{Global}");
612 fPtITSouterminPtTPCvsPtAllITSLayer4->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
613 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer4);
614
cc89bb69 615 fPtITSouterminPtTPCvsPtAllITSLayer5 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer5","PtITSouterminPtTPCvsPtAllITSLayer5",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 616 fPtITSouterminPtTPCvsPtAllITSLayer5->SetXTitle("p_{t}^{Global}");
617 fPtITSouterminPtTPCvsPtAllITSLayer5->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
618 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer5);
619
cc89bb69 620 fPtITSouterminPtTPCvsPtAllNoSPD = new TH2F("fPtITSouterminPtTPCvsPtAllNoSPD","PtITSouterminPtTPCvsPtAllNoSPD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 621 fPtITSouterminPtTPCvsPtAllNoSPD->SetXTitle("p_{t}^{Global}");
622 fPtITSouterminPtTPCvsPtAllNoSPD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
623 fHistList->Add(fPtITSouterminPtTPCvsPtAllNoSPD);
624
cc89bb69 625 fPtITSouterminPtTPCvsPtAllNoSDD = new TH2F("fPtITSouterminPtTPCvsPtAllNoSDD","PtITSouterminPtTPCvsPtAllNoSDD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 626 fPtITSouterminPtTPCvsPtAllNoSDD->SetXTitle("p_{t}^{Global}");
627 fPtITSouterminPtTPCvsPtAllNoSDD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
628 fHistList->Add(fPtITSouterminPtTPCvsPtAllNoSDD);
629
cc89bb69 630 fPtITSouterminPtTPCvsPtAllNoSSD = new TH2F("fPtITSouterminPtTPCvsPtAllNoSSD","PtITSouterminPtTPCvsPtAllNoSSD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 631 fPtITSouterminPtTPCvsPtAllNoSSD->SetXTitle("p_{t}^{Global}");
632 fPtITSouterminPtTPCvsPtAllNoSSD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
633 fHistList->Add(fPtITSouterminPtTPCvsPtAllNoSSD);
f4d11ac8 634
635 //
cc89bb69 636 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 637 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0->SetXTitle("p_{t}^{Global}");
638 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
639 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0->SetZTitle("#chi^{2}/NPointITS");
640 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0);
641
cc89bb69 642 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 643 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1->SetXTitle("p_{t}^{Global}");
644 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
645 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1->SetZTitle("#chi^{2}/NPointITS");
646 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1);
647
cc89bb69 648 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 649 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2->SetXTitle("p_{t}^{Global}");
650 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
651 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2->SetZTitle("#chi^{2}/NPointITS");
652 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2);
653
cc89bb69 654 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 655 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3->SetXTitle("p_{t}^{Global}");
656 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
657 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3->SetZTitle("#chi^{2}/NPointITS");
658 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3);
659
cc89bb69 660 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 661 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4->SetXTitle("p_{t}^{Global}");
662 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
663 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4->SetZTitle("#chi^{2}/NPointITS");
664 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4);
665
cc89bb69 666 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 667 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5->SetXTitle("p_{t}^{Global}");
668 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
669 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5->SetZTitle("#chi^{2}/NPointITS");
670 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5);
671
cc89bb69 672 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD","PtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 673 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD->SetXTitle("p_{t}^{Global}");
674 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
675 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD->SetZTitle("#chi^{2}/(2*NPointITS-5)");
676 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD);
677
cc89bb69 678 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD","PtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 679 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD->SetXTitle("p_{t}^{Global}");
680 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
681 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD->SetZTitle("#chi^{2}/(2*NPointITS-5)");
682 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD);
683
cc89bb69 684 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD","PtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 685 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD->SetXTitle("p_{t}^{Global}");
686 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
687 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD->SetZTitle("#chi^{2}/(2*NPointITS-5)");
688 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD);
f4d11ac8 689
690
fdceab34 691 //ITSrefit
add06ceb 692 fPtSelITS = new TH1F("fPtSelITSrefit","PtSel",fgkNPtBins, binsPt);
fdceab34 693 fHistListITS->Add(fPtSelITS);
694
cc89bb69 695 fPtITSminPtTPCvsPtITS = new TH2F("fPtITSminPtTPCvsPtITS","PtITSminPtTPCvsPtITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
65e8ecdd 696 fPtITSminPtTPCvsPtITS->SetXTitle("p_{t}^{Global}");
697 fPtITSminPtTPCvsPtITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 698 fHistListITS->Add(fPtITSminPtTPCvsPtITS);
9f54dd56 699
cc89bb69 700 fPtITSminPtTPCvsPtITSEtaPos = new TH3F("fPtITSminPtTPCvsPtITSEtaPos","PtITSminPtTPCvsPtITSEtaPos",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 701 fPtITSminPtTPCvsPtITSEtaPos->SetXTitle("p_{t}^{Global}");
702 fPtITSminPtTPCvsPtITSEtaPos->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
703 fHistListITS->Add(fPtITSminPtTPCvsPtITSEtaPos);
704
cc89bb69 705 fPtITSminPtTPCvsPtITSEtaNeg = new TH3F("fPtITSminPtTPCvsPtITSEtaNeg","PtITSminPtTPCvsPtITSEtaNeg",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 706 fPtITSminPtTPCvsPtITSEtaNeg->SetXTitle("p_{t}^{Global}");
707 fPtITSminPtTPCvsPtITSEtaNeg->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
708 fHistListITS->Add(fPtITSminPtTPCvsPtITSEtaNeg);
fdceab34 709
cc89bb69 710 fPtITSminPtTPCvsPtITSNPointTPC = new TH3F("fPtITSminPtTPCvsPtITSNPointTPC","PtITSminPtTPCvsPtITSNPointTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointTPCBins,binsNPointTPC);
65e8ecdd 711 fPtITSminPtTPCvsPtITSNPointTPC->SetXTitle("p_{t}^{Global}");
712 fPtITSminPtTPCvsPtITSNPointTPC->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 713 fPtITSminPtTPCvsPtITSNPointTPC->SetZTitle("N_{point,TPC}");
714 fHistListITS->Add(fPtITSminPtTPCvsPtITSNPointTPC);
65e8ecdd 715
cc89bb69 716 fPtITSminPtTPCvsPtITSDCAR = new TH3F("fPtITSminPtTPCvsPtITSDCAR","PtITSminPtTPCvsPtITSDCAR",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCARBins,binsDCAR);
65e8ecdd 717 fPtITSminPtTPCvsPtITSDCAR->SetXTitle("p_{t}^{Global}");
718 fPtITSminPtTPCvsPtITSDCAR->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 719 fPtITSminPtTPCvsPtITSDCAR->SetZTitle("DCA_{R}");
720 fHistListITS->Add(fPtITSminPtTPCvsPtITSDCAR);
721
cc89bb69 722 fPtITSminPtTPCvsPtITSDCAZ = new TH3F("fPtITSminPtTPCvsPtITSDCAZ","PtITSminPtTPCvsPtITSDCAZ",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCAZBins,binsDCAZ);
65e8ecdd 723 fPtITSminPtTPCvsPtITSDCAZ->SetXTitle("p_{t}^{Global}");
724 fPtITSminPtTPCvsPtITSDCAZ->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 725 fPtITSminPtTPCvsPtITSDCAZ->SetZTitle("DCA_{Z}");
726 fHistListITS->Add(fPtITSminPtTPCvsPtITSDCAZ);
727
cc89bb69 728 fPtITSminPtTPCvsPtITSPhi = new TH3F("fPtITSminPtTPCvsPtITSPhi","PtITSminPtTPCvsPtITSPhi",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNPhiBins,binsPhi);
65e8ecdd 729 fPtITSminPtTPCvsPtITSPhi->SetXTitle("p_{t}^{Global}");
730 fPtITSminPtTPCvsPtITSPhi->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 731 fPtITSminPtTPCvsPtITSPhi->SetZTitle("#phi");
732 fHistListITS->Add(fPtITSminPtTPCvsPtITSPhi);
733
cc89bb69 734 fPtITSminPtTPCvsPtITSNPointITS = new TH3F("fPtITSminPtTPCvsPtITSNPointITS","PtITSminPtTPCvsPtITSNPointITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS);
65e8ecdd 735 fPtITSminPtTPCvsPtITSNPointITS->SetXTitle("p_{t}^{Global}");
736 fPtITSminPtTPCvsPtITSNPointITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
f4d11ac8 737 fPtITSminPtTPCvsPtITSNPointITS->SetZTitle("N_{point,ITS}");
fdceab34 738 fHistListITS->Add(fPtITSminPtTPCvsPtITSNPointITS);
739
cc89bb69 740 fPtITSminPtTPCvsPtITSNSigmaToVertex = new TH3F("fPtITSminPtTPCvsPtITSNSigmaToVertex","PtITSminPtTPCvsPtITSNSigmaToVertex",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNSigmaToVertexBins,binsNSigmaToVertex);
65e8ecdd 741 fPtITSminPtTPCvsPtITSNSigmaToVertex->SetXTitle("p_{t}^{Global}");
742 fPtITSminPtTPCvsPtITSNSigmaToVertex->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 743 fPtITSminPtTPCvsPtITSNSigmaToVertex->SetZTitle("N#sigma to vertex");
744 fHistListITS->Add(fPtITSminPtTPCvsPtITSNSigmaToVertex);
745
cc89bb69 746 fPtITSminPtTPCvsPtITSChi2C = new TH3F("fPtITSminPtTPCvsPtITSChi2C","PtITSminPtTPCvsPtITSChi2C",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2CBins,binsChi2C);
65e8ecdd 747 fPtITSminPtTPCvsPtITSChi2C->SetXTitle("p_{t}^{Global}");
748 fPtITSminPtTPCvsPtITSChi2C->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 749 fPtITSminPtTPCvsPtITSChi2C->SetZTitle("Constrained #chi^{2}");
750 fHistListITS->Add(fPtITSminPtTPCvsPtITSChi2C);
751
cc89bb69 752 fPtITSminPtTPCvsPtITSRel1PtUncertainty = new TH3F("fPtITSminPtTPCvsPtITSRel1PtUncertainty","PtITSminPtTPCvsPtITSRel1PtUncertainty",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty);
65e8ecdd 753 fPtITSminPtTPCvsPtITSRel1PtUncertainty->SetXTitle("p_{t}^{Global}");
754 fPtITSminPtTPCvsPtITSRel1PtUncertainty->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 755 fPtITSminPtTPCvsPtITSRel1PtUncertainty->SetZTitle("Rel1PtUncertainty");
756 fHistListITS->Add(fPtITSminPtTPCvsPtITSRel1PtUncertainty);
757
cc89bb69 758 fPtITSminPtTPCvsPtITSChi2PerNClusTPC = new TH3F("fPtITSminPtTPCvsPtITSChi2PerNClusTPC","PtITSminPtTPCvsPtITSChi2PerNClusTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
65e8ecdd 759 fPtITSminPtTPCvsPtITSChi2PerNClusTPC->SetXTitle("p_{t}^{Global}");
760 fPtITSminPtTPCvsPtITSChi2PerNClusTPC->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
761 fPtITSminPtTPCvsPtITSChi2PerNClusTPC->SetZTitle("#chi^{2}/(2*NClusTPC-5)");
f4d11ac8 762 fHistListITS->Add(fPtITSminPtTPCvsPtITSChi2PerNClusTPC);
763
cc89bb69 764 fPtITSminPtTPCvsPtITSChi2PerNClusITS = new TH3F("fPtITSminPtTPCvsPtITSChi2PerNClusITS","PtITSminPtTPCvsPtITSChi2PerNClusITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
65e8ecdd 765 fPtITSminPtTPCvsPtITSChi2PerNClusITS->SetXTitle("p_{t}^{Global}");
766 fPtITSminPtTPCvsPtITSChi2PerNClusITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
767 fPtITSminPtTPCvsPtITSChi2PerNClusITS->SetZTitle("#chi^{2}/(2*NClusITS-5)");
f4d11ac8 768 fHistListITS->Add(fPtITSminPtTPCvsPtITSChi2PerNClusITS);
769
cc89bb69 770 fPtITSminPtTPCvsNPointTPCPhi = new TH3F("fPtITSminPtTPCvsNPointTPCPhi","PtITSminPtTPCvsNPointTPCPhi",fgkNResPtBins,binsResPt,fgkNNPointTPCBins,binsNPointTPC,fgkNPhiBins,binsPhi);
9c8dfcb5 771 fPtITSminPtTPCvsNPointTPCPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
772 fPtITSminPtTPCvsNPointTPCPhi->SetYTitle("N_{point,TPC}");
773 fPtITSminPtTPCvsNPointTPCPhi->SetZTitle("#phi");
774 fHistListITS->Add(fPtITSminPtTPCvsNPointTPCPhi);
775
cc89bb69 776 fPtITSminPtTPCvsNPointITSPhi = new TH3F("fPtITSminPtTPCvsNPointITSPhi","PtITSminPtTPCvsNPointITSPhi",fgkNResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS,fgkNPhiBins,binsPhi);
9c8dfcb5 777 fPtITSminPtTPCvsNPointITSPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
778 fPtITSminPtTPCvsNPointITSPhi->SetYTitle("N_{point,ITS}");
779 fPtITSminPtTPCvsNPointITSPhi->SetZTitle("#phi");
780 fHistListITS->Add(fPtITSminPtTPCvsNPointITSPhi);
781
cc89bb69 782 fPtITSminPtTPCvsRel1PtUncertaintyPhi = new TH3F("fPtITSminPtTPCvsRel1PtUncertaintyPhi","PtITSminPtTPCvsRel1PtUncertaintyPhi",fgkNResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNPhiBins,binsPhi);
9c8dfcb5 783 fPtITSminPtTPCvsRel1PtUncertaintyPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
784 fPtITSminPtTPCvsRel1PtUncertaintyPhi->SetYTitle("Rel1PtUncertainty");
785 fPtITSminPtTPCvsRel1PtUncertaintyPhi->SetZTitle("#phi");
786 fHistListITS->Add(fPtITSminPtTPCvsRel1PtUncertaintyPhi);
787
cc89bb69 788 fPtRel1PtUncertaintyChi2PerClusTPC = new TH3F("fPtRel1PtUncertaintyChi2PerClusTPC","PtITSminPtTPCvsPtITSRel1PtUncertainty",fgkNPtBins, binsPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNChi2PerClusBins,binsChi2PerClus);
f4d11ac8 789 fPtRel1PtUncertaintyChi2PerClusTPC->SetXTitle("p_{t}^{global}");
790 fPtRel1PtUncertaintyChi2PerClusTPC->SetYTitle("Rel1PtUncertainty");
65e8ecdd 791 fPtRel1PtUncertaintyChi2PerClusTPC->SetZTitle("#chi^{2}/(2*N_{clusters}^{TPC}-5)");
f4d11ac8 792 fHistListITS->Add(fPtRel1PtUncertaintyChi2PerClusTPC);
793
add06ceb 794 fPtAllTPC = new TH1F("fPtAllTPC","PtAll",fgkNPtBins,binsPt);
fdceab34 795 fHistListTPC->Add(fPtAllTPC);
add06ceb 796 fPtSelTPC = new TH1F("fPtSelTPC","PtSel",fgkNPtBins,binsPt);
fdceab34 797 fHistListTPC->Add(fPtSelTPC);
add06ceb 798 fPtSelTPCITS = new TH1F("fPtSelTPCITS","PtSel",fgkNPtBins,binsPt);
fdceab34 799 fHistListTPC->Add(fPtSelTPCITS);
df943115 800
801 TH1::AddDirectory(oldStatus);
802
e7b49043 803 if(binsPhi) delete [] binsPhi;
804 if(binsChi2PerClus) delete [] binsChi2PerClus;
805 if(binsPt) delete [] binsPt;
806 if(binsResPt) delete [] binsResPt;
807 if(binsNPointTPC) delete [] binsNPointTPC;
e7b49043 808 if(binsDCAR) delete [] binsDCAR;
809 if(binsDCAZ) delete [] binsDCAZ;
810 if(binsNPointITS) delete [] binsNPointITS;
811 if(binsNSigmaToVertex) delete [] binsNSigmaToVertex;
812 if(binsChi2C) delete [] binsChi2C;
813 if(binsEta) delete [] binsEta;
814 if(binsRel1PtUncertainty) delete [] binsRel1PtUncertainty;
815
816
fdceab34 817}
818//________________________________________________________________________
819void AliPWG4HighPtQATPConly::Exec(Option_t *) {
820 // Main loop
821 // Called for each event
df943115 822 AliDebug(2,Form(">> AliPWG4HighPtQATPConly::Exec \n"));
823
b5cc0c6d 824 // All events without selection
b5cc0c6d 825 fNEventAll->Fill(0.);
826
df943115 827 if (!fESD) {
828 AliDebug(2,Form("ERROR: fESD not available"));
67ebd013 829 // Post output data
830 PostData(0, fHistList);
831 PostData(1, fHistListTPC);
832 PostData(2, fHistListITS);
fdceab34 833 return;
834 }
835
bfd58011 836 UInt_t isSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
837 if(!(isSelected&AliVEvent::kMB)) { //Select collison candidates
b5cc0c6d 838 AliDebug(2,Form(" Trigger Selection: event REJECTED ... "));
cd9a6fa2 839 // Post output data
67ebd013 840 PostData(0, fHistList);
841 PostData(1, fHistListTPC);
842 PostData(2, fHistListITS);
b5cc0c6d 843 return;
67ebd013 844 }
fdceab34 845
b5cc0c6d 846 const AliESDVertex *vtx = fESD->GetPrimaryVertexTracks();
fdceab34 847 // Need vertex cut
75946d5d 848 TString vtxName(vtx->GetName());
849 if(vtx->GetNContributors() < 2 || (vtxName.Contains("TPCVertex")) ) {
add06ceb 850 // SPD vertex
851 vtx = fESD->GetPrimaryVertexSPD();
852 if(vtx->GetNContributors()<2) {
1f329128 853 vtx = 0x0;
add06ceb 854 // Post output data
855 PostData(0, fHistList);
856 PostData(1, fHistListTPC);
857 PostData(2, fHistListITS);
add06ceb 858 return;
859 }
67ebd013 860 }
75946d5d 861
df943115 862 AliDebug(2,Form("Vertex title %s, status %d, nCont %d\n",vtx->GetTitle(), vtx->GetStatus(), vtx->GetNContributors()));
9b58297c 863 double primVtx[3] = {0.,0.,0.};
b5cc0c6d 864 vtx->GetXYZ(primVtx);
865 // printf("primVtx: %g %g %g \n",primVtx[0],primVtx[1],primVtx[2]);
67ebd013 866 if(TMath::Sqrt(primVtx[0]*primVtx[0] + primVtx[1]*primVtx[1])>1. || TMath::Abs(primVtx[2]>10.)){
cd9a6fa2 867 // Post output data
868 PostData(0, fHistList);
869 PostData(1, fHistListTPC);
870 PostData(2, fHistListITS);
871 return;
872 }
873 if(!fESD->GetNumberOfTracks() || fESD->GetNumberOfTracks()<2){
874 // Post output data
875 PostData(0, fHistList);
876 PostData(1, fHistListTPC);
877 PostData(2, fHistListITS);
878 return;
879 }
fdceab34 880 Int_t nTracks = fESD->GetNumberOfTracks();
b5cc0c6d 881 AliDebug(2,Form("nTracks %d\n", nTracks));
882
cc89bb69 883 if(!fTrackCuts) {
884 // Post output data
885 PostData(0, fHistList);
886 PostData(1, fHistListTPC);
887 PostData(2, fHistListITS);
cc89bb69 888 return;
889 }
b5cc0c6d 890
891 // Selected events for analysis
892 fNEventSel->Fill(0.);
df943115 893
fdceab34 894 for (Int_t iTrack = 0; iTrack < nTracks; iTrack++) {
cc89bb69 895
fdceab34 896 AliESDtrack *track = fESD->GetTrack(iTrack);
897 AliExternalTrackParam *trackTPC = (AliExternalTrackParam *)track->GetTPCInnerParam();
67ebd013 898 if(!track || !trackTPC) continue;
cc89bb69 899
9b58297c 900 const AliESDfriendTrack* constfriendtrack = 0x0;
901 if(fESDfriend && fESDfriend->TestSkipBit()==kFALSE) constfriendtrack = track->GetFriendTrack();
f4d11ac8 902
fdceab34 903 Float_t pt = track->Pt();
904 Float_t ptTPC = trackTPC->Pt();
905 Float_t phi = track->Phi();
9b58297c 906 Float_t dca2D = 0.;
907 Float_t dcaZ = 0.;
908
fdceab34 909 track->GetImpactParameters(dca2D,dcaZ);
9b58297c 910
fdceab34 911 UChar_t itsMap = track->GetITSClusterMap();
912 Int_t nPointITS = 0;
913 for (Int_t i=0; i < 6; i++) {
914 if (itsMap & (1 << i))
915 nPointITS ++;
916 }
9b58297c 917 double mom[3] = {0.,0.,0.};
b5cc0c6d 918 track->GetPxPyPz(mom);
9b58297c 919 double momTPC[3] = {0.,0.,0.};
f4d11ac8 920 trackTPC->GetPxPyPz(momTPC);
fdceab34 921 Float_t nSigmaToVertex = fTrackCuts->GetSigmaToVertex(track);// Calculates the number of sigma to the vertex for a track.
922 Float_t chi2C = track->GetConstrainedChi2();
b5cc0c6d 923 Float_t relUncertainty1Pt = TMath::Sqrt(TMath::Abs(track->GetSigma1Pt2()))*pt;
f4d11ac8 924 Float_t chi2PerClusterTPC = -1.;
925 Float_t nClustersTPC = track->GetTPCNcls();
38ecb6a5 926 if(nClustersTPC>0.) chi2PerClusterTPC = track->GetTPCchi2()/(2.*nClustersTPC-5.);
927 Float_t chi2PerNPointITS = -1.;
928 if(nPointITS>3) chi2PerNPointITS = track->GetITSchi2()/(2.*(float)nPointITS-5.);
fdceab34 929
930 fPtAll->Fill(pt);
931 fPtAllTPC->Fill(ptTPC);
65e8ecdd 932
fdceab34 933 if (fTrackCuts->AcceptTrack(track)) {
fdceab34 934 fPtSel->Fill(pt);
fdceab34 935 fPtSelTPC->Fill(ptTPC);
f4d11ac8 936 if(ptTPC==0. || pt==0.) continue;
fdceab34 937 fPtAllminPtTPCvsPtAll->Fill(pt,(1./pt-1./ptTPC)/(1./pt) );
9f54dd56 938
939 if(track->GetSign()>0.) fPtAllminPtTPCvsPtAllEtaPos->Fill(pt,(1./pt-1./ptTPC)/(1./pt),track->Eta());
940 if(track->GetSign()<0.) fPtAllminPtTPCvsPtAllEtaNeg->Fill(pt,(1./pt-1./ptTPC)/(1./pt),track->Eta());
941
65e8ecdd 942 fPtAllminPtTPCvsPtAllNPointTPC->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nClustersTPC);
fdceab34 943 fPtAllminPtTPCvsPtAllDCAR->Fill(pt,(1./pt-1./ptTPC)/(1./pt),dca2D);
944 fPtAllminPtTPCvsPtAllDCAZ->Fill(pt,(1./pt-1./ptTPC)/(1./pt),dcaZ);
945 fPtAllminPtTPCvsPtAllPhi->Fill(pt,(1./pt-1./ptTPC)/(1./pt),phi);
946 fPtAllminPtTPCvsPtAllNPointITS->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nPointITS);
947 fPtAllminPtTPCvsPtAllNSigmaToVertex->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nSigmaToVertex);
948 fPtAllminPtTPCvsPtAllChi2C->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2C);
949 fPtAllminPtTPCvsPtAllRel1PtUncertainty->Fill(pt,(1./pt-1./ptTPC)/(1./pt),relUncertainty1Pt);
f4d11ac8 950 fPtAllminPtTPCvsPtAllChi2PerNClusTPC->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2PerClusterTPC);
38ecb6a5 951 if(nPointITS>3) fPtAllminPtTPCvsPtAllChi2PerNClusITS->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2PerNPointITS);
9c8dfcb5 952 fPtAllminPtTPCvsNPointTPCPhi->Fill((1./pt-1./ptTPC)/(1./pt),nClustersTPC,phi);
953 fPtAllminPtTPCvsNPointITSPhi->Fill((1./pt-1./ptTPC)/(1./pt),nPointITS,phi);
954 fPtAllminPtTPCvsRel1PtUncertaintyPhi->Fill((1./pt-1./ptTPC)/(1./pt),relUncertainty1Pt,phi);
955
f4d11ac8 956 if(TMath::Abs((1./pt-1./ptTPC)/(1./pt))>0.8) fEtaPhiOutliers->Fill(track->Eta(),phi);
cc89bb69 957
958 if (constfriendtrack) {
959 AliESDfriendTrack friendtrack(*constfriendtrack);
960 if (friendtrack.GetITSOut()) {
961 AliExternalTrackParam trackITSouter(*(friendtrack.GetITSOut()));
962 Float_t ptITSouter = trackITSouter.Pt();
963 if(ptITSouter==0.) continue;
964 fPtSelITSouter->Fill(ptITSouter);
965 fPtITSouterminPtTPCvsPtAll->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter) );
966
967 if(trackITSouter.GetSign()>0.) fPtITSouterminPtTPCvsPtAllEtaPos->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),trackITSouter.Eta());
968 if(trackITSouter.GetSign()<0.) fPtITSouterminPtTPCvsPtAllEtaNeg->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),trackITSouter.Eta());
969
970 fPtITSouterminPtTPCvsPtAllNPointTPC->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),nClustersTPC);
cc89bb69 971 fPtITSouterminPtTPCvsPtAllDCAR->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),dca2D);
972 fPtITSouterminPtTPCvsPtAllDCAZ->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),dcaZ);
973 fPtITSouterminPtTPCvsPtAllPhi->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),phi);
974 fPtITSouterminPtTPCvsPtAllNPointITS->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),nPointITS);
975 fPtITSouterminPtTPCvsPtAllNSigmaToVertex->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),nSigmaToVertex);
976 fPtITSouterminPtTPCvsPtAllChi2C->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2C);
977 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),relUncertainty1Pt);
978 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerClusterTPC);
979 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITS->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
980 if(track->HasPointOnITSLayer(0)) {
981 fPtITSouterminPtTPCvsPtAllITSLayer0->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
982 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
983 }
984 if(!track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1)) {
985 fPtITSouterminPtTPCvsPtAllITSLayer1->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
986 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
987 }
988 if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1) && track->HasPointOnITSLayer(2)) {
989 fPtITSouterminPtTPCvsPtAllITSLayer2->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
990 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
991 }
992 if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1) && !track->HasPointOnITSLayer(2) && track->HasPointOnITSLayer(3)) {
993 fPtITSouterminPtTPCvsPtAllITSLayer3->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
994 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
995 }
996 if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1) && !track->HasPointOnITSLayer(2) && !track->HasPointOnITSLayer(3) && track->HasPointOnITSLayer(4)) {
997 fPtITSouterminPtTPCvsPtAllITSLayer4->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
998 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
999 }
1000 if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1) && !track->HasPointOnITSLayer(2) && !track->HasPointOnITSLayer(3) && !track->HasPointOnITSLayer(4) && track->HasPointOnITSLayer(5)) {
1001 fPtITSouterminPtTPCvsPtAllITSLayer5->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
1002 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
1003 }
1004
1005 if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1)) {
1006 fPtITSouterminPtTPCvsPtAllNoSPD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
1007 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
1008 }
1009 if(!track->HasPointOnITSLayer(2) && !track->HasPointOnITSLayer(3)) {
1010 fPtITSouterminPtTPCvsPtAllNoSDD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
1011 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
1012 }
1013 if(!track->HasPointOnITSLayer(4) && !track->HasPointOnITSLayer(5)) {
1014 fPtITSouterminPtTPCvsPtAllNoSSD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
1015 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
1016 }
f4d11ac8 1017 }
1018 }
fdceab34 1019 }//fTrackCuts selection
1020
1021
1022 //ITSrefit selection
1023 if (fTrackCutsITS->AcceptTrack(track)) {
1024
1025 fPtSelITS->Fill(pt);
1026 fPtSelTPCITS->Fill(ptTPC);
1027 fPtITSminPtTPCvsPtITS->Fill(pt,(1./pt-1./ptTPC)/(1./pt) );
9f54dd56 1028 if(track->GetSign()>0.) fPtITSminPtTPCvsPtITSEtaPos->Fill(pt,(1./pt-1./ptTPC)/(1./pt),track->Eta());
1029 if(track->GetSign()<0.) fPtITSminPtTPCvsPtITSEtaNeg->Fill(pt,(1./pt-1./ptTPC)/(1./pt),track->Eta());
65e8ecdd 1030 fPtITSminPtTPCvsPtITSNPointTPC->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nClustersTPC);
fdceab34 1031 fPtITSminPtTPCvsPtITSDCAR->Fill(pt,(1./pt-1./ptTPC)/(1./pt),dca2D);
1032 fPtITSminPtTPCvsPtITSDCAZ->Fill(pt,(1./pt-1./ptTPC)/(1./pt),dcaZ);
10295ac3 1033 fPtITSminPtTPCvsPtITSPhi->Fill(pt,(1./pt-1./ptTPC)/(1./pt),phi);
1034 fPtITSminPtTPCvsPtITSNPointITS->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nPointITS);
fdceab34 1035 fPtITSminPtTPCvsPtITSNSigmaToVertex->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nSigmaToVertex);
1036 fPtITSminPtTPCvsPtITSChi2C->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2C);
1037 fPtITSminPtTPCvsPtITSRel1PtUncertainty->Fill(pt,(1./pt-1./ptTPC)/(1./pt),relUncertainty1Pt);
f4d11ac8 1038 fPtITSminPtTPCvsPtITSChi2PerNClusTPC->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2PerClusterTPC);
38ecb6a5 1039 if(nPointITS>3) fPtITSminPtTPCvsPtITSChi2PerNClusITS->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2PerNPointITS);
9c8dfcb5 1040 fPtITSminPtTPCvsNPointTPCPhi->Fill((1./pt-1./ptTPC)/(1./pt),nClustersTPC,phi);
1041 fPtITSminPtTPCvsNPointITSPhi->Fill((1./pt-1./ptTPC)/(1./pt),nPointITS,phi);
1042 fPtITSminPtTPCvsRel1PtUncertaintyPhi->Fill((1./pt-1./ptTPC)/(1./pt),relUncertainty1Pt,phi);
65e8ecdd 1043
1044 fPtRel1PtUncertaintyChi2PerClusTPC->Fill(pt,relUncertainty1Pt,chi2PerClusterTPC);
fdceab34 1045 }//fTrackCutsITS loop
1046
f4d11ac8 1047 }//ESD track loop
fdceab34 1048
1049 // Post output data
1050 PostData(0, fHistList);
1051 PostData(1, fHistListTPC);
1052 PostData(2, fHistListITS);
1053
1054}
65e8ecdd 1055
fdceab34 1056//________________________________________________________________________
1057void AliPWG4HighPtQATPConly::Terminate(Option_t *)
1058{
9b58297c 1059 //
1060 // Terminate
1061 //
fdceab34 1062
fdceab34 1063}
df943115 1064
1065#endif