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