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