]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/JetTasks/AliPWG4HighPtQATPConly.cxx
Added V0 and SPDF0 information to the selectioninfo in the helper, removed streaming...
[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();
292 OpenFile(1);
293 fHistListTPC = new TList();
294 OpenFile(2);
295 fHistListITS = new TList();
65e8ecdd 296
cc89bb69 297 Int_t fgkNPhiBins=18;
fdceab34 298 Float_t kMinPhi = 0.;
299 Float_t kMaxPhi = 2.*TMath::Pi();
cc89bb69 300 Double_t *binsPhi=new Double_t[fgkNPhiBins+1];
301 for(Int_t i=0; i<=fgkNPhiBins; i++) binsPhi[i]=(Double_t)kMinPhi + (kMaxPhi-kMinPhi)/fgkNPhiBins*(Double_t)i ;
fdceab34 302
f4d11ac8 303 Float_t fgkPtMin=0.;
b1cd0099 304 Float_t fgkPtMax=fPtMax;
305
306 Float_t ptBinEdges[2][2];
307 ptBinEdges[0][0] = 10.;
308 ptBinEdges[0][1] = 1.;
309 ptBinEdges[1][0] = 20.;
310 ptBinEdges[1][1] = 2.;
311 Float_t binWidth3 = 5.;
312 if(fPtMax>100.) {
313 ptBinEdges[0][0] = 100.;
314 ptBinEdges[0][1] = 5.;
315 ptBinEdges[1][0] = 300.;
316 ptBinEdges[1][1] = 10.;
317 binWidth3 = 20.;
318 }
cc89bb69 319
320 const Float_t ptmin1 = fgkPtMin;
b1cd0099 321 const Float_t ptmax1 = ptBinEdges[0][0];
cc89bb69 322 const Float_t ptmin2 = ptmax1 ;
b1cd0099 323 const Float_t ptmax2 = ptBinEdges[1][0];
cc89bb69 324 const Float_t ptmin3 = ptmax2 ;
325 const Float_t ptmax3 = fgkPtMax;
b1cd0099 326 const Int_t nbin11 = (int)((ptmax1-ptmin1)/ptBinEdges[0][1]);
327 const Int_t nbin12 = (int)((ptmax2-ptmin2)/ptBinEdges[1][1])+nbin11;
328 const Int_t nbin13 = (int)((ptmax3-ptmin3)/binWidth3)+nbin12;
cc89bb69 329 Int_t fgkNPtBins=nbin13;
330 //Create array with low edges of each bin
331 Double_t *binsPt=new Double_t[fgkNPtBins+1];
332 for(Int_t i=0; i<=fgkNPtBins; i++) {
333 if(i<=nbin11) binsPt[i]=(Double_t)ptmin1 + (ptmax1-ptmin1)/nbin11*(Double_t)i ;
334 if(i<=nbin12 && i>nbin11) binsPt[i]=(Double_t)ptmin2 + (ptmax2-ptmin2)/(nbin12-nbin11)*((Double_t)i-(Double_t)nbin11) ;
335 if(i<=nbin13 && i>nbin12) binsPt[i]=(Double_t)ptmin3 + (ptmax3-ptmin3)/(nbin13-nbin12)*((Double_t)i-(Double_t)nbin12) ;
336 }
337
f4d11ac8 338 Float_t fgkChi2PerClusMin = 0.;
b35040a5 339 Float_t fgkChi2PerClusMax = 4.;
cc89bb69 340 Int_t fgkNChi2PerClusBins = (int)(fgkChi2PerClusMax*10.);
341 Double_t *binsChi2PerClus=new Double_t[fgkNChi2PerClusBins+1];
342 for(Int_t i=0; i<=fgkNChi2PerClusBins; i++) binsChi2PerClus[i]=(Double_t)fgkChi2PerClusMin + (fgkChi2PerClusMax-fgkChi2PerClusMin)/fgkNChi2PerClusBins*(Double_t)i ;
343
344 Int_t fgkNResPtBins=80;
345 Float_t fgkResPtMin = -1.;
346 Float_t fgkResPtMax = 1.;
347 Double_t *binsResPt=new Double_t[fgkNResPtBins+1];
348 for(Int_t i=0; i<=fgkNResPtBins; i++) binsResPt[i]=(Double_t)fgkResPtMin + (fgkResPtMax-fgkResPtMin)/fgkNResPtBins*(Double_t)i ;
349
350 Int_t fgkNEtaBins=20;
351 Float_t fgkEtaMin = -1.;
352 Float_t fgkEtaMax = 1.;
353 Double_t *binsEta=new Double_t[fgkNEtaBins+1];
354 for(Int_t i=0; i<=fgkNEtaBins; i++) binsEta[i]=(Double_t)fgkEtaMin + (fgkEtaMax-fgkEtaMin)/fgkNEtaBins*(Double_t)i ;
355
356 Int_t fgkNNPointTPCBins=80;
357 Float_t fgkNPointTPCMin = 0.5;
358 Float_t fgkNPointTPCMax = 160.5;
359 Double_t *binsNPointTPC=new Double_t[fgkNNPointTPCBins+1];
360 for(Int_t i=0; i<=fgkNNPointTPCBins; i++) binsNPointTPC[i]=(Double_t)fgkNPointTPCMin + (fgkNPointTPCMax-fgkNPointTPCMin)/fgkNNPointTPCBins*(Double_t)i ;
361
cc89bb69 362 Int_t fgkNDCARBins=80;
363 Float_t fgkDCARMin = -0.2;
364 Float_t fgkDCARMax = 0.2;
365 Double_t *binsDCAR=new Double_t[fgkNDCARBins+1];
366 for(Int_t i=0; i<=fgkNDCARBins; i++) binsDCAR[i]=(Double_t)fgkDCARMin + (fgkDCARMax-fgkDCARMin)/fgkNDCARBins*(Double_t)i ;
367
368 Int_t fgkNDCAZBins=80;
369 Float_t fgkDCAZMin = -2.;
370 Float_t fgkDCAZMax = 2.;
371 Double_t *binsDCAZ=new Double_t[fgkNDCAZBins+1];
372 for(Int_t i=0; i<=fgkNDCAZBins; i++) binsDCAZ[i]=(Double_t)fgkDCAZMin + (fgkDCAZMax-fgkDCAZMin)/fgkNDCAZBins*(Double_t)i ;
373
374 Int_t fgkNNPointITSBins=9;
375 Float_t fgkNPointITSMin = -0.5;
376 Float_t fgkNPointITSMax = 8.5;
377 Double_t *binsNPointITS=new Double_t[fgkNNPointITSBins+1];
378 for(Int_t i=0; i<=fgkNNPointITSBins; i++) binsNPointITS[i]=(Double_t)fgkNPointITSMin + (fgkNPointITSMax-fgkNPointITSMin)/fgkNNPointITSBins*(Double_t)i ;
379
380 Int_t fgkNNSigmaToVertexBins=40;
381 Float_t fgkNSigmaToVertexMin = 0.;
382 Float_t fgkNSigmaToVertexMax = 8.;
383 Double_t *binsNSigmaToVertex=new Double_t[fgkNNSigmaToVertexBins+1];
384 for(Int_t i=0; i<=fgkNNSigmaToVertexBins; i++) binsNSigmaToVertex[i]=(Double_t)fgkNSigmaToVertexMin + (fgkNSigmaToVertexMax-fgkNSigmaToVertexMin)/fgkNNSigmaToVertexBins*(Double_t)i ;
385
386 Int_t fgkNChi2CBins=20;
387 Float_t fgkChi2CMin = 0.;
388 Float_t fgkChi2CMax = 10.;
389 Double_t *binsChi2C=new Double_t[fgkNChi2CBins+1];
390 for(Int_t i=0; i<=fgkNChi2CBins; i++) binsChi2C[i]=(Double_t)fgkChi2CMin + (fgkChi2CMax-fgkChi2CMin)/fgkNChi2CBins*(Double_t)i ;
391
392 Int_t fgkNRel1PtUncertaintyBins=30;
393 Float_t fgkRel1PtUncertaintyMin = 0.;
394 Float_t fgkRel1PtUncertaintyMax = 0.3;
395 Double_t *binsRel1PtUncertainty=new Double_t[fgkNRel1PtUncertaintyBins+1];
396 for(Int_t i=0; i<=fgkNRel1PtUncertaintyBins; i++) binsRel1PtUncertainty[i]=(Double_t)fgkRel1PtUncertaintyMin + (fgkRel1PtUncertaintyMax-fgkRel1PtUncertaintyMin)/fgkNRel1PtUncertaintyBins*(Double_t)i ;
fdceab34 397
b5cc0c6d 398 fNEventAll = new TH1F("fNEventAll","NEventAll",1,-0.5,0.5);
399 fHistList->Add(fNEventAll);
400 fNEventSel = new TH1F("fNEventSel","NEvent Selected for analysis",1,-0.5,0.5);
401 fHistList->Add(fNEventSel);
b1cd0099 402 fPtAll = new TH1F("fPtAll","PtAll",fgkNPtBins, binsPt);
fdceab34 403 fHistList->Add(fPtAll);
b1cd0099 404 fPtSel = new TH1F("fPtSel","PtSel",fgkNPtBins, binsPt);
fdceab34 405 fHistList->Add(fPtSel);
65e8ecdd 406
cc89bb69 407 fPtAllminPtTPCvsPtAll = new TH2F("fPtAllminPtTPCvsPtAll","PtAllminPtTPCvsPtAll",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
f4d11ac8 408 fPtAllminPtTPCvsPtAll->SetXTitle("p_{t}^{Global}");
409 fPtAllminPtTPCvsPtAll->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 410 fHistList->Add(fPtAllminPtTPCvsPtAll);
411
cc89bb69 412 fPtAllminPtTPCvsPtAllEtaPos = new TH3F("fPtAllminPtTPCvsPtAllEtaPos","PtAllminPtTPCvsPtAllEtaPos",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 413 fPtAllminPtTPCvsPtAllEtaPos->SetXTitle("p_{t}^{Global}");
414 fPtAllminPtTPCvsPtAllEtaPos->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
cc89bb69 415 fPtAllminPtTPCvsPtAllEtaPos->SetZTitle("#eta");
9f54dd56 416 fHistList->Add(fPtAllminPtTPCvsPtAllEtaPos);
417
cc89bb69 418 fPtAllminPtTPCvsPtAllEtaNeg = new TH3F("fPtAllminPtTPCvsPtAllEtaNeg","PtAllminPtTPCvsPtAllEtaNeg",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 419 fPtAllminPtTPCvsPtAllEtaNeg->SetXTitle("p_{t}^{Global}");
420 fPtAllminPtTPCvsPtAllEtaNeg->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
cc89bb69 421 fPtAllminPtTPCvsPtAllEtaNeg->SetZTitle("#eta");
9f54dd56 422 fHistList->Add(fPtAllminPtTPCvsPtAllEtaNeg);
423
cc89bb69 424 fPtAllminPtTPCvsPtAllNPointTPC = new TH3F("fPtAllminPtTPCvsPtAllNPointTPC","PtAllminPtTPCvsPtAllNPointTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointTPCBins,binsNPointTPC);
f4d11ac8 425 fPtAllminPtTPCvsPtAllNPointTPC->SetXTitle("p_{t}^{Global}");
426 fPtAllminPtTPCvsPtAllNPointTPC->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 427 fPtAllminPtTPCvsPtAllNPointTPC->SetZTitle("N_{point,TPC}");
428 fHistList->Add(fPtAllminPtTPCvsPtAllNPointTPC);
429
cc89bb69 430 fPtAllminPtTPCvsPtAllDCAR = new TH3F("fPtAllminPtTPCvsPtAllDCAR","PtAllminPtTPCvsPtAllDCAR",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCARBins,binsDCAR);
f4d11ac8 431 fPtAllminPtTPCvsPtAllDCAR->SetXTitle("p_{t}^{Global}");
432 fPtAllminPtTPCvsPtAllDCAR->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 433 fPtAllminPtTPCvsPtAllDCAR->SetZTitle("DCA_{R}");
434 fHistList->Add(fPtAllminPtTPCvsPtAllDCAR);
435
cc89bb69 436 fPtAllminPtTPCvsPtAllDCAZ = new TH3F("fPtAllminPtTPCvsPtAllDCAZ","PtAllminPtTPCvsPtAllDCAZ",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCAZBins,binsDCAZ);
f4d11ac8 437 fPtAllminPtTPCvsPtAllDCAZ->SetXTitle("p_{t}^{Global}");
438 fPtAllminPtTPCvsPtAllDCAZ->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 439 fPtAllminPtTPCvsPtAllDCAZ->SetZTitle("DCA_{Z}");
440 fHistList->Add(fPtAllminPtTPCvsPtAllDCAZ);
441
cc89bb69 442 fPtAllminPtTPCvsPtAllPhi = new TH3F("fPtAllminPtTPCvsPtAllPhi","PtAllminPtTPCvsPtAllPhi",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNPhiBins,binsPhi);
f4d11ac8 443 fPtAllminPtTPCvsPtAllPhi->SetXTitle("p_{t}^{Global}");
444 fPtAllminPtTPCvsPtAllPhi->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 445 fPtAllminPtTPCvsPtAllPhi->SetZTitle("#phi");
446 fHistList->Add(fPtAllminPtTPCvsPtAllPhi);
447
cc89bb69 448 fPtAllminPtTPCvsPtAllNPointITS = new TH3F("fPtAllminPtTPCvsPtAllNPointITS","PtAllminPtTPCvsPtAllNPointITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS);
f4d11ac8 449 fPtAllminPtTPCvsPtAllNPointITS->SetXTitle("p_{t}^{Global}");
450 fPtAllminPtTPCvsPtAllNPointITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
451 fPtAllminPtTPCvsPtAllNPointITS->SetZTitle("N_{point,ITS}");
fdceab34 452 fHistList->Add(fPtAllminPtTPCvsPtAllNPointITS);
453
cc89bb69 454 fPtAllminPtTPCvsPtAllNSigmaToVertex = new TH3F("fPtAllminPtTPCvsPtAllNSigmaToVertex","PtAllminPtTPCvsPtAllNSigmaToVertex",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNSigmaToVertexBins,binsNSigmaToVertex);
f4d11ac8 455 fPtAllminPtTPCvsPtAllNSigmaToVertex->SetXTitle("p_{t}^{Global}");
456 fPtAllminPtTPCvsPtAllNSigmaToVertex->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 457 fPtAllminPtTPCvsPtAllNSigmaToVertex->SetZTitle("N#sigma to vertex");
458 fHistList->Add(fPtAllminPtTPCvsPtAllNSigmaToVertex);
459
cc89bb69 460 fPtAllminPtTPCvsPtAllChi2C = new TH3F("fPtAllminPtTPCvsPtAllChi2C","PtAllminPtTPCvsPtAllChi2C",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2CBins,binsChi2C);
f4d11ac8 461 fPtAllminPtTPCvsPtAllChi2C->SetXTitle("p_{t}^{Global}");
462 fPtAllminPtTPCvsPtAllChi2C->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 463 fPtAllminPtTPCvsPtAllChi2C->SetZTitle("Constrained #chi^{2}");
464 fHistList->Add(fPtAllminPtTPCvsPtAllChi2C);
465
cc89bb69 466 fPtAllminPtTPCvsPtAllRel1PtUncertainty = new TH3F("fPtAllminPtTPCvsPtAllRel1PtUncertainty","PtAllminPtTPCvsPtAllRel1PtUncertainty",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty);
f4d11ac8 467 fPtAllminPtTPCvsPtAllRel1PtUncertainty->SetXTitle("p_{t}^{Global}");
468 fPtAllminPtTPCvsPtAllRel1PtUncertainty->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 469 fPtAllminPtTPCvsPtAllRel1PtUncertainty->SetZTitle("Rel1PtUncertainty");
470 fHistList->Add(fPtAllminPtTPCvsPtAllRel1PtUncertainty);
471
cc89bb69 472 fPtAllminPtTPCvsPtAllChi2PerNClusTPC = new TH3F("fPtAllminPtTPCvsPtAllChi2PerNClusTPC","PtAllminPtTPCvsPtAllChi2PerNClusTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
f4d11ac8 473 fPtAllminPtTPCvsPtAllChi2PerNClusTPC->SetXTitle("p_{t}^{Global}");
474 fPtAllminPtTPCvsPtAllChi2PerNClusTPC->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
65e8ecdd 475 fPtAllminPtTPCvsPtAllChi2PerNClusTPC->SetZTitle("#chi^{2}/(2*NClusTPC-5)");
f4d11ac8 476 fHistList->Add(fPtAllminPtTPCvsPtAllChi2PerNClusTPC);
477
cc89bb69 478 fPtAllminPtTPCvsPtAllChi2PerNClusITS = new TH3F("fPtAllminPtTPCvsPtAllChi2PerNClusITS","PtAllminPtTPCvsPtAllChi2PerNClusITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
f4d11ac8 479 fPtAllminPtTPCvsPtAllChi2PerNClusITS->SetXTitle("p_{t}^{Global}");
480 fPtAllminPtTPCvsPtAllChi2PerNClusITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
65e8ecdd 481 fPtAllminPtTPCvsPtAllChi2PerNClusITS->SetZTitle("#chi^{2}/(2*NClusITS-5)");
f4d11ac8 482 fHistList->Add(fPtAllminPtTPCvsPtAllChi2PerNClusITS);
483
cc89bb69 484 fPtAllminPtTPCvsNPointTPCPhi = new TH3F("fPtAllminPtTPCvsNPointTPCPhi","PtAllminPtTPCvsNPointTPCPhi",fgkNResPtBins,binsResPt,fgkNNPointTPCBins,binsNPointTPC,fgkNPhiBins,binsPhi);
9c8dfcb5 485 fPtAllminPtTPCvsNPointTPCPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
486 fPtAllminPtTPCvsNPointTPCPhi->SetYTitle("N_{point,TPC}");
487 fPtAllminPtTPCvsNPointTPCPhi->SetZTitle("#phi");
488 fHistList->Add(fPtAllminPtTPCvsNPointTPCPhi);
489
cc89bb69 490 fPtAllminPtTPCvsNPointITSPhi = new TH3F("fPtAllminPtTPCvsNPointITSPhi","PtAllminPtTPCvsNPointITSPhi",fgkNResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS,fgkNPhiBins,binsPhi);
9c8dfcb5 491 fPtAllminPtTPCvsNPointITSPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
492 fPtAllminPtTPCvsNPointITSPhi->SetYTitle("N_{point,ITS}");
493 fPtAllminPtTPCvsNPointITSPhi->SetZTitle("#phi");
494 fHistList->Add(fPtAllminPtTPCvsNPointITSPhi);
495
cc89bb69 496 fPtAllminPtTPCvsRel1PtUncertaintyPhi = new TH3F("fPtAllminPtTPCvsRel1PtUncertaintyPhi","PtAllminPtTPCvsRel1PtUncertaintyPhi",fgkNResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNPhiBins,binsPhi);
9c8dfcb5 497 fPtAllminPtTPCvsRel1PtUncertaintyPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
498 fPtAllminPtTPCvsRel1PtUncertaintyPhi->SetYTitle("Rel1PtUncertainty");
499 fPtAllminPtTPCvsRel1PtUncertaintyPhi->SetZTitle("#phi");
500 fHistList->Add(fPtAllminPtTPCvsRel1PtUncertaintyPhi);
501
cc89bb69 502 fEtaPhiOutliers = new TH2F("fEtaPhiOutliers","PtAllminPtTPCvsPtAll",20, -1.,1.,fgkNPhiBins,binsPhi);
f4d11ac8 503 fEtaPhiOutliers->SetXTitle("#eta");
504 fEtaPhiOutliers->SetYTitle("#phi");
505 fHistList->Add(fEtaPhiOutliers);
506
507 //Global vs ITSouter-TPCinner
cc89bb69 508 fPtSelITSouter = new TH1F("fPtSelITSouter","PtSelITSouter",fgkNPtBins,binsPt);
f4d11ac8 509 fHistList->Add(fPtSelITSouter);
510
cc89bb69 511 fPtITSouterminPtTPCvsPtAll = new TH2F("fPtITSouterminPtTPCvsPtAll","PtITSouterminPtTPCvsPtAll",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
f4d11ac8 512 fPtITSouterminPtTPCvsPtAll->SetXTitle("p_{t}^{Global}");
513 fPtITSouterminPtTPCvsPtAll->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
514 fHistList->Add(fPtITSouterminPtTPCvsPtAll);
515
cc89bb69 516 fPtITSouterminPtTPCvsPtAllEtaPos = new TH3F("fPtITSouterminPtTPCvsPtAllEtaPos","PtITSouterminPtTPCvsPtAllEtaPos",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 517 fPtITSouterminPtTPCvsPtAllEtaPos->SetXTitle("p_{t}^{Global}");
518 fPtITSouterminPtTPCvsPtAllEtaPos->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
519 fHistList->Add(fPtITSouterminPtTPCvsPtAllEtaPos);
520
cc89bb69 521 fPtITSouterminPtTPCvsPtAllEtaNeg = new TH3F("fPtITSouterminPtTPCvsPtAllEtaNeg","PtITSouterminPtTPCvsPtAllEtaNeg",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 522 fPtITSouterminPtTPCvsPtAllEtaNeg->SetXTitle("p_{t}^{Global}");
523 fPtITSouterminPtTPCvsPtAllEtaNeg->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
524 fHistList->Add(fPtITSouterminPtTPCvsPtAllEtaNeg);
525
cc89bb69 526 fPtITSouterminPtTPCvsPtAllNPointTPC = new TH3F("fPtITSouterminPtTPCvsPtAllNPointTPC","PtITSouterminPtTPCvsPtAllNPointTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointTPCBins,binsNPointTPC);
f4d11ac8 527 fPtITSouterminPtTPCvsPtAllNPointTPC->SetXTitle("p_{t}^{Global}");
528 fPtITSouterminPtTPCvsPtAllNPointTPC->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
529 fPtITSouterminPtTPCvsPtAllNPointTPC->SetZTitle("N_{point,TPC}");
530 fHistList->Add(fPtITSouterminPtTPCvsPtAllNPointTPC);
531
cc89bb69 532 fPtITSouterminPtTPCvsPtAllDCAR = new TH3F("fPtITSouterminPtTPCvsPtAllDCAR","PtITSouterminPtTPCvsPtAllDCAR",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCARBins,binsDCAR);
f4d11ac8 533 fPtITSouterminPtTPCvsPtAllDCAR->SetXTitle("p_{t}^{Global}");
534 fPtITSouterminPtTPCvsPtAllDCAR->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
535 fPtITSouterminPtTPCvsPtAllDCAR->SetZTitle("DCA_{R}");
536 fHistList->Add(fPtITSouterminPtTPCvsPtAllDCAR);
537
cc89bb69 538 fPtITSouterminPtTPCvsPtAllDCAZ = new TH3F("fPtITSouterminPtTPCvsPtAllDCAZ","PtITSouterminPtTPCvsPtAllDCAZ",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCAZBins,binsDCAZ);
f4d11ac8 539 fPtITSouterminPtTPCvsPtAllDCAZ->SetXTitle("p_{t}^{Global}");
540 fPtITSouterminPtTPCvsPtAllDCAZ->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
541 fPtITSouterminPtTPCvsPtAllDCAZ->SetZTitle("DCA_{Z}");
542 fHistList->Add(fPtITSouterminPtTPCvsPtAllDCAZ);
543
cc89bb69 544 fPtITSouterminPtTPCvsPtAllPhi = new TH3F("fPtITSouterminPtTPCvsPtAllPhi","PtITSouterminPtTPCvsPtAllPhi",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNPhiBins,binsPhi);
f4d11ac8 545 fPtITSouterminPtTPCvsPtAllPhi->SetXTitle("p_{t}^{Global}");
546 fPtITSouterminPtTPCvsPtAllPhi->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
547 fPtITSouterminPtTPCvsPtAllPhi->SetZTitle("#phi");
548 fHistList->Add(fPtITSouterminPtTPCvsPtAllPhi);
549
cc89bb69 550 fPtITSouterminPtTPCvsPtAllNPointITS = new TH3F("fPtITSouterminPtTPCvsPtAllNPointITS","PtITSouterminPtTPCvsPtAllNPointITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS);
f4d11ac8 551 fPtITSouterminPtTPCvsPtAllNPointITS->SetXTitle("p_{t}^{Global}");
552 fPtITSouterminPtTPCvsPtAllNPointITS->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
553 fPtITSouterminPtTPCvsPtAllNPointITS->SetZTitle("N_{point,ITS}");
554 fHistList->Add(fPtITSouterminPtTPCvsPtAllNPointITS);
555
cc89bb69 556 fPtITSouterminPtTPCvsPtAllNSigmaToVertex = new TH3F("fPtITSouterminPtTPCvsPtAllNSigmaToVertex","PtITSouterminPtTPCvsPtAllNSigmaToVertex",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNSigmaToVertexBins,binsNSigmaToVertex);
f4d11ac8 557 fPtITSouterminPtTPCvsPtAllNSigmaToVertex->SetXTitle("p_{t}^{Global}");
558 fPtITSouterminPtTPCvsPtAllNSigmaToVertex->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
559 fPtITSouterminPtTPCvsPtAllNSigmaToVertex->SetZTitle("N#sigma to vertex");
560 fHistList->Add(fPtITSouterminPtTPCvsPtAllNSigmaToVertex);
561
cc89bb69 562 fPtITSouterminPtTPCvsPtAllChi2C = new TH3F("fPtITSouterminPtTPCvsPtAllChi2C","PtITSouterminPtTPCvsPtAllChi2C",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2CBins,binsChi2C);
f4d11ac8 563 fPtITSouterminPtTPCvsPtAllChi2C->SetXTitle("p_{t}^{Global}");
564 fPtITSouterminPtTPCvsPtAllChi2C->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
565 fPtITSouterminPtTPCvsPtAllChi2C->SetZTitle("Constrained #chi^{2}");
566 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2C);
567
cc89bb69 568 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty = new TH3F("fPtITSouterminPtTPCvsPtAllRel1PtUncertainty","PtITSouterminPtTPCvsPtAllRel1PtUncertainty",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty);
f4d11ac8 569 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty->SetXTitle("p_{t}^{Global}");
570 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
571 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty->SetZTitle("Rel1PtUncertainty");
572 fHistList->Add(fPtITSouterminPtTPCvsPtAllRel1PtUncertainty);
573
cc89bb69 574 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC","PtITSouterminPtTPCvsPtAllChi2PerNClusTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
f4d11ac8 575 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC->SetXTitle("p_{t}^{Global}");
576 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
65e8ecdd 577 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC->SetZTitle("#chi^{2}/(2*NClusTPC-5)");
f4d11ac8 578 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC);
579
cc89bb69 580 fPtITSouterminPtTPCvsPtAllChi2PerNClusITS = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITS","PtITSouterminPtTPCvsPtAllChi2PerNClusITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
f4d11ac8 581 fPtITSouterminPtTPCvsPtAllChi2PerNClusITS->SetXTitle("p_{t}^{Global}");
582 fPtITSouterminPtTPCvsPtAllChi2PerNClusITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
65e8ecdd 583 fPtITSouterminPtTPCvsPtAllChi2PerNClusITS->SetZTitle("#chi^{2}/(2*NClusITS-5)");
f4d11ac8 584 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITS);
585
586 //As function of ITS layers
cc89bb69 587 fPtITSouterminPtTPCvsPtAllITSLayer0 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer0","PtITSouterminPtTPCvsPtAllITSLayer0",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 588 fPtITSouterminPtTPCvsPtAllITSLayer0->SetXTitle("p_{t}^{Global}");
589 fPtITSouterminPtTPCvsPtAllITSLayer0->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
590 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer0);
591
cc89bb69 592 fPtITSouterminPtTPCvsPtAllITSLayer1 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer1","PtITSouterminPtTPCvsPtAllITSLayer1",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 593 fPtITSouterminPtTPCvsPtAllITSLayer1->SetXTitle("p_{t}^{Global}");
594 fPtITSouterminPtTPCvsPtAllITSLayer1->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
595 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer1);
596
cc89bb69 597 fPtITSouterminPtTPCvsPtAllITSLayer2 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer2","PtITSouterminPtTPCvsPtAllITSLayer2",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 598 fPtITSouterminPtTPCvsPtAllITSLayer2->SetXTitle("p_{t}^{Global}");
599 fPtITSouterminPtTPCvsPtAllITSLayer2->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
600 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer2);
601
cc89bb69 602 fPtITSouterminPtTPCvsPtAllITSLayer3 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer3","PtITSouterminPtTPCvsPtAllITSLayer3",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 603 fPtITSouterminPtTPCvsPtAllITSLayer3->SetXTitle("p_{t}^{Global}");
604 fPtITSouterminPtTPCvsPtAllITSLayer3->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
605 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer3);
606
cc89bb69 607 fPtITSouterminPtTPCvsPtAllITSLayer4 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer4","PtITSouterminPtTPCvsPtAllITSLayer4",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 608 fPtITSouterminPtTPCvsPtAllITSLayer4->SetXTitle("p_{t}^{Global}");
609 fPtITSouterminPtTPCvsPtAllITSLayer4->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
610 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer4);
611
cc89bb69 612 fPtITSouterminPtTPCvsPtAllITSLayer5 = new TH2F("fPtITSouterminPtTPCvsPtAllITSLayer5","PtITSouterminPtTPCvsPtAllITSLayer5",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 613 fPtITSouterminPtTPCvsPtAllITSLayer5->SetXTitle("p_{t}^{Global}");
614 fPtITSouterminPtTPCvsPtAllITSLayer5->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
615 fHistList->Add(fPtITSouterminPtTPCvsPtAllITSLayer5);
616
cc89bb69 617 fPtITSouterminPtTPCvsPtAllNoSPD = new TH2F("fPtITSouterminPtTPCvsPtAllNoSPD","PtITSouterminPtTPCvsPtAllNoSPD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 618 fPtITSouterminPtTPCvsPtAllNoSPD->SetXTitle("p_{t}^{Global}");
619 fPtITSouterminPtTPCvsPtAllNoSPD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
620 fHistList->Add(fPtITSouterminPtTPCvsPtAllNoSPD);
621
cc89bb69 622 fPtITSouterminPtTPCvsPtAllNoSDD = new TH2F("fPtITSouterminPtTPCvsPtAllNoSDD","PtITSouterminPtTPCvsPtAllNoSDD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 623 fPtITSouterminPtTPCvsPtAllNoSDD->SetXTitle("p_{t}^{Global}");
624 fPtITSouterminPtTPCvsPtAllNoSDD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
625 fHistList->Add(fPtITSouterminPtTPCvsPtAllNoSDD);
626
cc89bb69 627 fPtITSouterminPtTPCvsPtAllNoSSD = new TH2F("fPtITSouterminPtTPCvsPtAllNoSSD","PtITSouterminPtTPCvsPtAllNoSSD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
3adc85ec 628 fPtITSouterminPtTPCvsPtAllNoSSD->SetXTitle("p_{t}^{Global}");
629 fPtITSouterminPtTPCvsPtAllNoSSD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
630 fHistList->Add(fPtITSouterminPtTPCvsPtAllNoSSD);
f4d11ac8 631
632 //
cc89bb69 633 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 634 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0->SetXTitle("p_{t}^{Global}");
635 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
636 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0->SetZTitle("#chi^{2}/NPointITS");
637 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0);
638
cc89bb69 639 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 640 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1->SetXTitle("p_{t}^{Global}");
641 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
642 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1->SetZTitle("#chi^{2}/NPointITS");
643 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1);
644
cc89bb69 645 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 646 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2->SetXTitle("p_{t}^{Global}");
647 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
648 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2->SetZTitle("#chi^{2}/NPointITS");
649 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2);
650
cc89bb69 651 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 652 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3->SetXTitle("p_{t}^{Global}");
653 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
654 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3->SetZTitle("#chi^{2}/NPointITS");
655 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3);
656
cc89bb69 657 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 658 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4->SetXTitle("p_{t}^{Global}");
659 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
660 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4->SetZTitle("#chi^{2}/NPointITS");
661 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4);
662
cc89bb69 663 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5 = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5","PtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 664 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5->SetXTitle("p_{t}^{Global}");
665 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
666 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5->SetZTitle("#chi^{2}/NPointITS");
667 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5);
668
cc89bb69 669 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD","PtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 670 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD->SetXTitle("p_{t}^{Global}");
671 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
672 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD->SetZTitle("#chi^{2}/(2*NPointITS-5)");
673 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD);
674
cc89bb69 675 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD","PtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 676 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD->SetXTitle("p_{t}^{Global}");
677 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
678 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD->SetZTitle("#chi^{2}/(2*NPointITS-5)");
679 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD);
680
cc89bb69 681 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD = new TH3F("fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD","PtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
3adc85ec 682 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD->SetXTitle("p_{t}^{Global}");
683 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD->SetYTitle("(1/p_{t}^{ITSouter}-1/p_{t}^{TPCinner})/(1/p_{t}^{ITSouter})");
684 fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD->SetZTitle("#chi^{2}/(2*NPointITS-5)");
685 fHistList->Add(fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD);
f4d11ac8 686
687
fdceab34 688 //ITSrefit
add06ceb 689 fPtSelITS = new TH1F("fPtSelITSrefit","PtSel",fgkNPtBins, binsPt);
fdceab34 690 fHistListITS->Add(fPtSelITS);
691
cc89bb69 692 fPtITSminPtTPCvsPtITS = new TH2F("fPtITSminPtTPCvsPtITS","PtITSminPtTPCvsPtITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt);
65e8ecdd 693 fPtITSminPtTPCvsPtITS->SetXTitle("p_{t}^{Global}");
694 fPtITSminPtTPCvsPtITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 695 fHistListITS->Add(fPtITSminPtTPCvsPtITS);
9f54dd56 696
cc89bb69 697 fPtITSminPtTPCvsPtITSEtaPos = new TH3F("fPtITSminPtTPCvsPtITSEtaPos","PtITSminPtTPCvsPtITSEtaPos",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 698 fPtITSminPtTPCvsPtITSEtaPos->SetXTitle("p_{t}^{Global}");
699 fPtITSminPtTPCvsPtITSEtaPos->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
700 fHistListITS->Add(fPtITSminPtTPCvsPtITSEtaPos);
701
cc89bb69 702 fPtITSminPtTPCvsPtITSEtaNeg = new TH3F("fPtITSminPtTPCvsPtITSEtaNeg","PtITSminPtTPCvsPtITSEtaNeg",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNEtaBins,binsEta);
9f54dd56 703 fPtITSminPtTPCvsPtITSEtaNeg->SetXTitle("p_{t}^{Global}");
704 fPtITSminPtTPCvsPtITSEtaNeg->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
705 fHistListITS->Add(fPtITSminPtTPCvsPtITSEtaNeg);
fdceab34 706
cc89bb69 707 fPtITSminPtTPCvsPtITSNPointTPC = new TH3F("fPtITSminPtTPCvsPtITSNPointTPC","PtITSminPtTPCvsPtITSNPointTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointTPCBins,binsNPointTPC);
65e8ecdd 708 fPtITSminPtTPCvsPtITSNPointTPC->SetXTitle("p_{t}^{Global}");
709 fPtITSminPtTPCvsPtITSNPointTPC->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 710 fPtITSminPtTPCvsPtITSNPointTPC->SetZTitle("N_{point,TPC}");
711 fHistListITS->Add(fPtITSminPtTPCvsPtITSNPointTPC);
65e8ecdd 712
cc89bb69 713 fPtITSminPtTPCvsPtITSDCAR = new TH3F("fPtITSminPtTPCvsPtITSDCAR","PtITSminPtTPCvsPtITSDCAR",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCARBins,binsDCAR);
65e8ecdd 714 fPtITSminPtTPCvsPtITSDCAR->SetXTitle("p_{t}^{Global}");
715 fPtITSminPtTPCvsPtITSDCAR->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 716 fPtITSminPtTPCvsPtITSDCAR->SetZTitle("DCA_{R}");
717 fHistListITS->Add(fPtITSminPtTPCvsPtITSDCAR);
718
cc89bb69 719 fPtITSminPtTPCvsPtITSDCAZ = new TH3F("fPtITSminPtTPCvsPtITSDCAZ","PtITSminPtTPCvsPtITSDCAZ",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNDCAZBins,binsDCAZ);
65e8ecdd 720 fPtITSminPtTPCvsPtITSDCAZ->SetXTitle("p_{t}^{Global}");
721 fPtITSminPtTPCvsPtITSDCAZ->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 722 fPtITSminPtTPCvsPtITSDCAZ->SetZTitle("DCA_{Z}");
723 fHistListITS->Add(fPtITSminPtTPCvsPtITSDCAZ);
724
cc89bb69 725 fPtITSminPtTPCvsPtITSPhi = new TH3F("fPtITSminPtTPCvsPtITSPhi","PtITSminPtTPCvsPtITSPhi",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNPhiBins,binsPhi);
65e8ecdd 726 fPtITSminPtTPCvsPtITSPhi->SetXTitle("p_{t}^{Global}");
727 fPtITSminPtTPCvsPtITSPhi->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 728 fPtITSminPtTPCvsPtITSPhi->SetZTitle("#phi");
729 fHistListITS->Add(fPtITSminPtTPCvsPtITSPhi);
730
cc89bb69 731 fPtITSminPtTPCvsPtITSNPointITS = new TH3F("fPtITSminPtTPCvsPtITSNPointITS","PtITSminPtTPCvsPtITSNPointITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS);
65e8ecdd 732 fPtITSminPtTPCvsPtITSNPointITS->SetXTitle("p_{t}^{Global}");
733 fPtITSminPtTPCvsPtITSNPointITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
f4d11ac8 734 fPtITSminPtTPCvsPtITSNPointITS->SetZTitle("N_{point,ITS}");
fdceab34 735 fHistListITS->Add(fPtITSminPtTPCvsPtITSNPointITS);
736
cc89bb69 737 fPtITSminPtTPCvsPtITSNSigmaToVertex = new TH3F("fPtITSminPtTPCvsPtITSNSigmaToVertex","PtITSminPtTPCvsPtITSNSigmaToVertex",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNNSigmaToVertexBins,binsNSigmaToVertex);
65e8ecdd 738 fPtITSminPtTPCvsPtITSNSigmaToVertex->SetXTitle("p_{t}^{Global}");
739 fPtITSminPtTPCvsPtITSNSigmaToVertex->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 740 fPtITSminPtTPCvsPtITSNSigmaToVertex->SetZTitle("N#sigma to vertex");
741 fHistListITS->Add(fPtITSminPtTPCvsPtITSNSigmaToVertex);
742
cc89bb69 743 fPtITSminPtTPCvsPtITSChi2C = new TH3F("fPtITSminPtTPCvsPtITSChi2C","PtITSminPtTPCvsPtITSChi2C",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2CBins,binsChi2C);
65e8ecdd 744 fPtITSminPtTPCvsPtITSChi2C->SetXTitle("p_{t}^{Global}");
745 fPtITSminPtTPCvsPtITSChi2C->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 746 fPtITSminPtTPCvsPtITSChi2C->SetZTitle("Constrained #chi^{2}");
747 fHistListITS->Add(fPtITSminPtTPCvsPtITSChi2C);
748
cc89bb69 749 fPtITSminPtTPCvsPtITSRel1PtUncertainty = new TH3F("fPtITSminPtTPCvsPtITSRel1PtUncertainty","PtITSminPtTPCvsPtITSRel1PtUncertainty",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty);
65e8ecdd 750 fPtITSminPtTPCvsPtITSRel1PtUncertainty->SetXTitle("p_{t}^{Global}");
751 fPtITSminPtTPCvsPtITSRel1PtUncertainty->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
fdceab34 752 fPtITSminPtTPCvsPtITSRel1PtUncertainty->SetZTitle("Rel1PtUncertainty");
753 fHistListITS->Add(fPtITSminPtTPCvsPtITSRel1PtUncertainty);
754
cc89bb69 755 fPtITSminPtTPCvsPtITSChi2PerNClusTPC = new TH3F("fPtITSminPtTPCvsPtITSChi2PerNClusTPC","PtITSminPtTPCvsPtITSChi2PerNClusTPC",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
65e8ecdd 756 fPtITSminPtTPCvsPtITSChi2PerNClusTPC->SetXTitle("p_{t}^{Global}");
757 fPtITSminPtTPCvsPtITSChi2PerNClusTPC->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
758 fPtITSminPtTPCvsPtITSChi2PerNClusTPC->SetZTitle("#chi^{2}/(2*NClusTPC-5)");
f4d11ac8 759 fHistListITS->Add(fPtITSminPtTPCvsPtITSChi2PerNClusTPC);
760
cc89bb69 761 fPtITSminPtTPCvsPtITSChi2PerNClusITS = new TH3F("fPtITSminPtTPCvsPtITSChi2PerNClusITS","PtITSminPtTPCvsPtITSChi2PerNClusITS",fgkNPtBins, binsPt,fgkNResPtBins,binsResPt,fgkNChi2PerClusBins,binsChi2PerClus);
65e8ecdd 762 fPtITSminPtTPCvsPtITSChi2PerNClusITS->SetXTitle("p_{t}^{Global}");
763 fPtITSminPtTPCvsPtITSChi2PerNClusITS->SetYTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
764 fPtITSminPtTPCvsPtITSChi2PerNClusITS->SetZTitle("#chi^{2}/(2*NClusITS-5)");
f4d11ac8 765 fHistListITS->Add(fPtITSminPtTPCvsPtITSChi2PerNClusITS);
766
cc89bb69 767 fPtITSminPtTPCvsNPointTPCPhi = new TH3F("fPtITSminPtTPCvsNPointTPCPhi","PtITSminPtTPCvsNPointTPCPhi",fgkNResPtBins,binsResPt,fgkNNPointTPCBins,binsNPointTPC,fgkNPhiBins,binsPhi);
9c8dfcb5 768 fPtITSminPtTPCvsNPointTPCPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
769 fPtITSminPtTPCvsNPointTPCPhi->SetYTitle("N_{point,TPC}");
770 fPtITSminPtTPCvsNPointTPCPhi->SetZTitle("#phi");
771 fHistListITS->Add(fPtITSminPtTPCvsNPointTPCPhi);
772
cc89bb69 773 fPtITSminPtTPCvsNPointITSPhi = new TH3F("fPtITSminPtTPCvsNPointITSPhi","PtITSminPtTPCvsNPointITSPhi",fgkNResPtBins,binsResPt,fgkNNPointITSBins,binsNPointITS,fgkNPhiBins,binsPhi);
9c8dfcb5 774 fPtITSminPtTPCvsNPointITSPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
775 fPtITSminPtTPCvsNPointITSPhi->SetYTitle("N_{point,ITS}");
776 fPtITSminPtTPCvsNPointITSPhi->SetZTitle("#phi");
777 fHistListITS->Add(fPtITSminPtTPCvsNPointITSPhi);
778
cc89bb69 779 fPtITSminPtTPCvsRel1PtUncertaintyPhi = new TH3F("fPtITSminPtTPCvsRel1PtUncertaintyPhi","PtITSminPtTPCvsRel1PtUncertaintyPhi",fgkNResPtBins,binsResPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNPhiBins,binsPhi);
9c8dfcb5 780 fPtITSminPtTPCvsRel1PtUncertaintyPhi->SetXTitle("(1/p_{t}^{Global}-1/p_{t}^{TPC})/(1/p_{t}^{Global})");
781 fPtITSminPtTPCvsRel1PtUncertaintyPhi->SetYTitle("Rel1PtUncertainty");
782 fPtITSminPtTPCvsRel1PtUncertaintyPhi->SetZTitle("#phi");
783 fHistListITS->Add(fPtITSminPtTPCvsRel1PtUncertaintyPhi);
784
cc89bb69 785 fPtRel1PtUncertaintyChi2PerClusTPC = new TH3F("fPtRel1PtUncertaintyChi2PerClusTPC","PtITSminPtTPCvsPtITSRel1PtUncertainty",fgkNPtBins, binsPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNChi2PerClusBins,binsChi2PerClus);
f4d11ac8 786 fPtRel1PtUncertaintyChi2PerClusTPC->SetXTitle("p_{t}^{global}");
787 fPtRel1PtUncertaintyChi2PerClusTPC->SetYTitle("Rel1PtUncertainty");
65e8ecdd 788 fPtRel1PtUncertaintyChi2PerClusTPC->SetZTitle("#chi^{2}/(2*N_{clusters}^{TPC}-5)");
f4d11ac8 789 fHistListITS->Add(fPtRel1PtUncertaintyChi2PerClusTPC);
790
add06ceb 791 fPtAllTPC = new TH1F("fPtAllTPC","PtAll",fgkNPtBins,binsPt);
fdceab34 792 fHistListTPC->Add(fPtAllTPC);
add06ceb 793 fPtSelTPC = new TH1F("fPtSelTPC","PtSel",fgkNPtBins,binsPt);
fdceab34 794 fHistListTPC->Add(fPtSelTPC);
add06ceb 795 fPtSelTPCITS = new TH1F("fPtSelTPCITS","PtSel",fgkNPtBins,binsPt);
fdceab34 796 fHistListTPC->Add(fPtSelTPCITS);
df943115 797
798 TH1::AddDirectory(oldStatus);
799
e7b49043 800 if(binsPhi) delete [] binsPhi;
801 if(binsChi2PerClus) delete [] binsChi2PerClus;
802 if(binsPt) delete [] binsPt;
803 if(binsResPt) delete [] binsResPt;
804 if(binsNPointTPC) delete [] binsNPointTPC;
e7b49043 805 if(binsDCAR) delete [] binsDCAR;
806 if(binsDCAZ) delete [] binsDCAZ;
807 if(binsNPointITS) delete [] binsNPointITS;
808 if(binsNSigmaToVertex) delete [] binsNSigmaToVertex;
809 if(binsChi2C) delete [] binsChi2C;
810 if(binsEta) delete [] binsEta;
811 if(binsRel1PtUncertainty) delete [] binsRel1PtUncertainty;
812
813
fdceab34 814}
815//________________________________________________________________________
816void AliPWG4HighPtQATPConly::Exec(Option_t *) {
817 // Main loop
818 // Called for each event
df943115 819 AliDebug(2,Form(">> AliPWG4HighPtQATPConly::Exec \n"));
820
b5cc0c6d 821 // All events without selection
b5cc0c6d 822 fNEventAll->Fill(0.);
823
df943115 824 if (!fESD) {
825 AliDebug(2,Form("ERROR: fESD not available"));
67ebd013 826 // Post output data
827 PostData(0, fHistList);
828 PostData(1, fHistListTPC);
829 PostData(2, fHistListITS);
fdceab34 830 return;
831 }
832
bfd58011 833 UInt_t isSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
834 if(!(isSelected&AliVEvent::kMB)) { //Select collison candidates
b5cc0c6d 835 AliDebug(2,Form(" Trigger Selection: event REJECTED ... "));
cd9a6fa2 836 // Post output data
67ebd013 837 PostData(0, fHistList);
838 PostData(1, fHistListTPC);
839 PostData(2, fHistListITS);
b5cc0c6d 840 return;
67ebd013 841 }
fdceab34 842
b5cc0c6d 843 const AliESDVertex *vtx = fESD->GetPrimaryVertexTracks();
fdceab34 844 // Need vertex cut
75946d5d 845 TString vtxName(vtx->GetName());
846 if(vtx->GetNContributors() < 2 || (vtxName.Contains("TPCVertex")) ) {
add06ceb 847 // SPD vertex
848 vtx = fESD->GetPrimaryVertexSPD();
849 if(vtx->GetNContributors()<2) {
1f329128 850 vtx = 0x0;
add06ceb 851 // Post output data
852 PostData(0, fHistList);
853 PostData(1, fHistListTPC);
854 PostData(2, fHistListITS);
add06ceb 855 return;
856 }
67ebd013 857 }
75946d5d 858
df943115 859 AliDebug(2,Form("Vertex title %s, status %d, nCont %d\n",vtx->GetTitle(), vtx->GetStatus(), vtx->GetNContributors()));
9b58297c 860 double primVtx[3] = {0.,0.,0.};
b5cc0c6d 861 vtx->GetXYZ(primVtx);
862 // printf("primVtx: %g %g %g \n",primVtx[0],primVtx[1],primVtx[2]);
67ebd013 863 if(TMath::Sqrt(primVtx[0]*primVtx[0] + primVtx[1]*primVtx[1])>1. || TMath::Abs(primVtx[2]>10.)){
cd9a6fa2 864 // Post output data
865 PostData(0, fHistList);
866 PostData(1, fHistListTPC);
867 PostData(2, fHistListITS);
868 return;
869 }
870 if(!fESD->GetNumberOfTracks() || fESD->GetNumberOfTracks()<2){
871 // Post output data
872 PostData(0, fHistList);
873 PostData(1, fHistListTPC);
874 PostData(2, fHistListITS);
875 return;
876 }
fdceab34 877 Int_t nTracks = fESD->GetNumberOfTracks();
b5cc0c6d 878 AliDebug(2,Form("nTracks %d\n", nTracks));
879
cc89bb69 880 if(!fTrackCuts) {
881 // Post output data
882 PostData(0, fHistList);
883 PostData(1, fHistListTPC);
884 PostData(2, fHistListITS);
cc89bb69 885 return;
886 }
b5cc0c6d 887
888 // Selected events for analysis
889 fNEventSel->Fill(0.);
df943115 890
fdceab34 891 for (Int_t iTrack = 0; iTrack < nTracks; iTrack++) {
cc89bb69 892
fdceab34 893 AliESDtrack *track = fESD->GetTrack(iTrack);
894 AliExternalTrackParam *trackTPC = (AliExternalTrackParam *)track->GetTPCInnerParam();
67ebd013 895 if(!track || !trackTPC) continue;
cc89bb69 896
9b58297c 897 const AliESDfriendTrack* constfriendtrack = 0x0;
898 if(fESDfriend && fESDfriend->TestSkipBit()==kFALSE) constfriendtrack = track->GetFriendTrack();
f4d11ac8 899
fdceab34 900 Float_t pt = track->Pt();
901 Float_t ptTPC = trackTPC->Pt();
902 Float_t phi = track->Phi();
9b58297c 903 Float_t dca2D = 0.;
904 Float_t dcaZ = 0.;
905
fdceab34 906 track->GetImpactParameters(dca2D,dcaZ);
9b58297c 907
fdceab34 908 UChar_t itsMap = track->GetITSClusterMap();
909 Int_t nPointITS = 0;
910 for (Int_t i=0; i < 6; i++) {
911 if (itsMap & (1 << i))
912 nPointITS ++;
913 }
9b58297c 914 double mom[3] = {0.,0.,0.};
b5cc0c6d 915 track->GetPxPyPz(mom);
9b58297c 916 double momTPC[3] = {0.,0.,0.};
f4d11ac8 917 trackTPC->GetPxPyPz(momTPC);
fdceab34 918 Float_t nSigmaToVertex = fTrackCuts->GetSigmaToVertex(track);// Calculates the number of sigma to the vertex for a track.
919 Float_t chi2C = track->GetConstrainedChi2();
b5cc0c6d 920 Float_t relUncertainty1Pt = TMath::Sqrt(TMath::Abs(track->GetSigma1Pt2()))*pt;
f4d11ac8 921 Float_t chi2PerClusterTPC = -1.;
922 Float_t nClustersTPC = track->GetTPCNcls();
38ecb6a5 923 if(nClustersTPC>0.) chi2PerClusterTPC = track->GetTPCchi2()/(2.*nClustersTPC-5.);
924 Float_t chi2PerNPointITS = -1.;
925 if(nPointITS>3) chi2PerNPointITS = track->GetITSchi2()/(2.*(float)nPointITS-5.);
fdceab34 926
927 fPtAll->Fill(pt);
928 fPtAllTPC->Fill(ptTPC);
65e8ecdd 929
fdceab34 930 if (fTrackCuts->AcceptTrack(track)) {
fdceab34 931 fPtSel->Fill(pt);
fdceab34 932 fPtSelTPC->Fill(ptTPC);
f4d11ac8 933 if(ptTPC==0. || pt==0.) continue;
fdceab34 934 fPtAllminPtTPCvsPtAll->Fill(pt,(1./pt-1./ptTPC)/(1./pt) );
9f54dd56 935
936 if(track->GetSign()>0.) fPtAllminPtTPCvsPtAllEtaPos->Fill(pt,(1./pt-1./ptTPC)/(1./pt),track->Eta());
937 if(track->GetSign()<0.) fPtAllminPtTPCvsPtAllEtaNeg->Fill(pt,(1./pt-1./ptTPC)/(1./pt),track->Eta());
938
65e8ecdd 939 fPtAllminPtTPCvsPtAllNPointTPC->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nClustersTPC);
fdceab34 940 fPtAllminPtTPCvsPtAllDCAR->Fill(pt,(1./pt-1./ptTPC)/(1./pt),dca2D);
941 fPtAllminPtTPCvsPtAllDCAZ->Fill(pt,(1./pt-1./ptTPC)/(1./pt),dcaZ);
942 fPtAllminPtTPCvsPtAllPhi->Fill(pt,(1./pt-1./ptTPC)/(1./pt),phi);
943 fPtAllminPtTPCvsPtAllNPointITS->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nPointITS);
944 fPtAllminPtTPCvsPtAllNSigmaToVertex->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nSigmaToVertex);
945 fPtAllminPtTPCvsPtAllChi2C->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2C);
946 fPtAllminPtTPCvsPtAllRel1PtUncertainty->Fill(pt,(1./pt-1./ptTPC)/(1./pt),relUncertainty1Pt);
f4d11ac8 947 fPtAllminPtTPCvsPtAllChi2PerNClusTPC->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2PerClusterTPC);
38ecb6a5 948 if(nPointITS>3) fPtAllminPtTPCvsPtAllChi2PerNClusITS->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2PerNPointITS);
9c8dfcb5 949 fPtAllminPtTPCvsNPointTPCPhi->Fill((1./pt-1./ptTPC)/(1./pt),nClustersTPC,phi);
950 fPtAllminPtTPCvsNPointITSPhi->Fill((1./pt-1./ptTPC)/(1./pt),nPointITS,phi);
951 fPtAllminPtTPCvsRel1PtUncertaintyPhi->Fill((1./pt-1./ptTPC)/(1./pt),relUncertainty1Pt,phi);
952
f4d11ac8 953 if(TMath::Abs((1./pt-1./ptTPC)/(1./pt))>0.8) fEtaPhiOutliers->Fill(track->Eta(),phi);
cc89bb69 954
955 if (constfriendtrack) {
956 AliESDfriendTrack friendtrack(*constfriendtrack);
957 if (friendtrack.GetITSOut()) {
958 AliExternalTrackParam trackITSouter(*(friendtrack.GetITSOut()));
959 Float_t ptITSouter = trackITSouter.Pt();
960 if(ptITSouter==0.) continue;
961 fPtSelITSouter->Fill(ptITSouter);
962 fPtITSouterminPtTPCvsPtAll->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter) );
963
964 if(trackITSouter.GetSign()>0.) fPtITSouterminPtTPCvsPtAllEtaPos->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),trackITSouter.Eta());
965 if(trackITSouter.GetSign()<0.) fPtITSouterminPtTPCvsPtAllEtaNeg->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),trackITSouter.Eta());
966
967 fPtITSouterminPtTPCvsPtAllNPointTPC->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),nClustersTPC);
cc89bb69 968 fPtITSouterminPtTPCvsPtAllDCAR->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),dca2D);
969 fPtITSouterminPtTPCvsPtAllDCAZ->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),dcaZ);
970 fPtITSouterminPtTPCvsPtAllPhi->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),phi);
971 fPtITSouterminPtTPCvsPtAllNPointITS->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),nPointITS);
972 fPtITSouterminPtTPCvsPtAllNSigmaToVertex->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),nSigmaToVertex);
973 fPtITSouterminPtTPCvsPtAllChi2C->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2C);
974 fPtITSouterminPtTPCvsPtAllRel1PtUncertainty->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),relUncertainty1Pt);
975 fPtITSouterminPtTPCvsPtAllChi2PerNClusTPC->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerClusterTPC);
976 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITS->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
977 if(track->HasPointOnITSLayer(0)) {
978 fPtITSouterminPtTPCvsPtAllITSLayer0->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
979 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer0->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
980 }
981 if(!track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1)) {
982 fPtITSouterminPtTPCvsPtAllITSLayer1->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
983 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer1->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
984 }
985 if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1) && track->HasPointOnITSLayer(2)) {
986 fPtITSouterminPtTPCvsPtAllITSLayer2->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
987 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer2->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
988 }
989 if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1) && !track->HasPointOnITSLayer(2) && track->HasPointOnITSLayer(3)) {
990 fPtITSouterminPtTPCvsPtAllITSLayer3->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
991 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer3->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
992 }
993 if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1) && !track->HasPointOnITSLayer(2) && !track->HasPointOnITSLayer(3) && track->HasPointOnITSLayer(4)) {
994 fPtITSouterminPtTPCvsPtAllITSLayer4->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
995 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer4->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
996 }
997 if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1) && !track->HasPointOnITSLayer(2) && !track->HasPointOnITSLayer(3) && !track->HasPointOnITSLayer(4) && track->HasPointOnITSLayer(5)) {
998 fPtITSouterminPtTPCvsPtAllITSLayer5->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
999 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSLayer5->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
1000 }
1001
1002 if(!track->HasPointOnITSLayer(0) && !track->HasPointOnITSLayer(1)) {
1003 fPtITSouterminPtTPCvsPtAllNoSPD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
1004 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSPD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
1005 }
1006 if(!track->HasPointOnITSLayer(2) && !track->HasPointOnITSLayer(3)) {
1007 fPtITSouterminPtTPCvsPtAllNoSDD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
1008 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSDD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
1009 }
1010 if(!track->HasPointOnITSLayer(4) && !track->HasPointOnITSLayer(5)) {
1011 fPtITSouterminPtTPCvsPtAllNoSSD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter));
1012 if(nPointITS>3) fPtITSouterminPtTPCvsPtAllChi2PerNClusITSNoSSD->Fill(pt,(1./ptITSouter-1./ptTPC)/(1./ptITSouter),chi2PerNPointITS);
1013 }
f4d11ac8 1014 }
1015 }
fdceab34 1016 }//fTrackCuts selection
1017
1018
1019 //ITSrefit selection
1020 if (fTrackCutsITS->AcceptTrack(track)) {
1021
1022 fPtSelITS->Fill(pt);
1023 fPtSelTPCITS->Fill(ptTPC);
1024 fPtITSminPtTPCvsPtITS->Fill(pt,(1./pt-1./ptTPC)/(1./pt) );
9f54dd56 1025 if(track->GetSign()>0.) fPtITSminPtTPCvsPtITSEtaPos->Fill(pt,(1./pt-1./ptTPC)/(1./pt),track->Eta());
1026 if(track->GetSign()<0.) fPtITSminPtTPCvsPtITSEtaNeg->Fill(pt,(1./pt-1./ptTPC)/(1./pt),track->Eta());
65e8ecdd 1027 fPtITSminPtTPCvsPtITSNPointTPC->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nClustersTPC);
fdceab34 1028 fPtITSminPtTPCvsPtITSDCAR->Fill(pt,(1./pt-1./ptTPC)/(1./pt),dca2D);
1029 fPtITSminPtTPCvsPtITSDCAZ->Fill(pt,(1./pt-1./ptTPC)/(1./pt),dcaZ);
10295ac3 1030 fPtITSminPtTPCvsPtITSPhi->Fill(pt,(1./pt-1./ptTPC)/(1./pt),phi);
1031 fPtITSminPtTPCvsPtITSNPointITS->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nPointITS);
fdceab34 1032 fPtITSminPtTPCvsPtITSNSigmaToVertex->Fill(pt,(1./pt-1./ptTPC)/(1./pt),nSigmaToVertex);
1033 fPtITSminPtTPCvsPtITSChi2C->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2C);
1034 fPtITSminPtTPCvsPtITSRel1PtUncertainty->Fill(pt,(1./pt-1./ptTPC)/(1./pt),relUncertainty1Pt);
f4d11ac8 1035 fPtITSminPtTPCvsPtITSChi2PerNClusTPC->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2PerClusterTPC);
38ecb6a5 1036 if(nPointITS>3) fPtITSminPtTPCvsPtITSChi2PerNClusITS->Fill(pt,(1./pt-1./ptTPC)/(1./pt),chi2PerNPointITS);
9c8dfcb5 1037 fPtITSminPtTPCvsNPointTPCPhi->Fill((1./pt-1./ptTPC)/(1./pt),nClustersTPC,phi);
1038 fPtITSminPtTPCvsNPointITSPhi->Fill((1./pt-1./ptTPC)/(1./pt),nPointITS,phi);
1039 fPtITSminPtTPCvsRel1PtUncertaintyPhi->Fill((1./pt-1./ptTPC)/(1./pt),relUncertainty1Pt,phi);
65e8ecdd 1040
1041 fPtRel1PtUncertaintyChi2PerClusTPC->Fill(pt,relUncertainty1Pt,chi2PerClusterTPC);
fdceab34 1042 }//fTrackCutsITS loop
1043
f4d11ac8 1044 }//ESD track loop
fdceab34 1045
1046 // Post output data
1047 PostData(0, fHistList);
1048 PostData(1, fHistListTPC);
1049 PostData(2, fHistListITS);
1050
1051}
65e8ecdd 1052
fdceab34 1053//________________________________________________________________________
1054void AliPWG4HighPtQATPConly::Terminate(Option_t *)
1055{
9b58297c 1056 //
1057 // Terminate
1058 //
fdceab34 1059
fdceab34 1060}
df943115 1061
1062#endif