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