]>
Commit | Line | Data |
---|---|---|
12ca6c45 | 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 | ||
8a7cb9cc | 16 | /* $Id: AliAnalysisTaskLukeAOD.cxx 46301 2011-01-06 14:25:27Z agheata $ */ |
12ca6c45 | 17 | |
8a7cb9cc | 18 | /* AliAnalysisTaskLukeAOD.cxx |
12ca6c45 | 19 | * |
20 | * Template task producing a P_t spectrum and pseudorapidity distribution. | |
21 | * | |
22 | * Instructions for adding histograms can be found below, starting with NEW HISTO | |
23 | * | |
24 | * Based on tutorial example from offline pages | |
25 | * Edited by Arvinder Palaha | |
bbfb6fac | 26 | * Edited by Luke Hanratty for AODS |
12ca6c45 | 27 | */ |
8a7cb9cc | 28 | #include "AliAnalysisTaskLukeAOD.h" |
12ca6c45 | 29 | |
30 | #include "Riostream.h" | |
31 | #include "TChain.h" | |
32 | #include "TTree.h" | |
33 | #include "TH1F.h" | |
34 | #include "TH2F.h" | |
35 | #include "TCanvas.h" | |
36 | #include "TList.h" | |
37 | #include "TPDGCode.h" | |
38 | ||
39 | #include "AliAnalysisTaskSE.h" | |
40 | #include "AliAnalysisManager.h" | |
41 | #include "AliStack.h" | |
42 | #include "AliESDtrackCuts.h" | |
43 | #include "AliESDEvent.h" | |
44 | #include "AliESDInputHandler.h" | |
45 | #include "AliAODEvent.h" | |
46 | #include "AliMCEvent.h" | |
47 | #include "AliMCVertex.h" | |
48 | ||
49 | #include "AliAODEvent.h" | |
50 | #include "AliAODv0.h" | |
51 | #include "AliAODcascade.h" | |
52 | ||
53 | #include "AliPID.h" | |
54 | #include "AliPIDResponse.h" | |
55 | #include "AliAODPid.h" | |
56 | #include "AliCentrality.h" | |
57 | ||
58 | #include "AliAODMCHeader.h" | |
59 | #include "AliAODMCParticle.h" | |
60 | ||
61 | #include "AliInputEventHandler.h" | |
62 | ||
63 | ||
64 | ||
8a7cb9cc | 65 | ClassImp(AliAnalysisTaskLukeAOD) |
12ca6c45 | 66 | |
67 | //________________________________________________________________________ | |
8a7cb9cc | 68 | AliAnalysisTaskLukeAOD::AliAnalysisTaskLukeAOD() // All data members should be initialised here |
60dfeffb | 69 | :AliAnalysisTaskSE(),fIsMonteCarlo(false), fcutCosPa(0.998),fcutcTauMin(-999), fcutNcTauMax(3.0), fcutBetheBloch(3.0), fcutMinNClustersTPC(70), fcutRatio(0.8), fcutEta(0.8), fcutRapidity(0.5), fcutArmenteros(0.2), |
12ca6c45 | 70 | fOutput(0), |
71 | fPIDResponse(0), | |
72 | ||
73 | fHistPt(0), | |
74 | fHistEta(0), | |
75 | fHistLog(0), | |
76 | fHistNV0(0), | |
77 | fHistZVertex(0), | |
78 | fHistMCZVertex(0), | |
79 | fHistCentrality(0), | |
80 | ||
81 | fHistBBK0Pos(0), | |
82 | fHistBBK0Neg(0), | |
83 | fHistBBLaPos(0), | |
84 | fHistBBLaNeg(0), | |
85 | fHistBBLbPos(0), | |
86 | fHistBBLbNeg(0), | |
87 | ||
88 | fHistBB3SigProton(0), | |
89 | fHistMK0Pt(0), | |
90 | fHistMLaPt(0), | |
91 | fHistMLbPt(0), | |
92 | fHistMcPMK0Pt(0), | |
93 | fHistMcPMLaPt(0), | |
94 | fHistMcPMLbPt(0), | |
95 | ||
96 | fHistMcFMLaPt(0), | |
97 | ||
98 | fHistMK0PtCent0005(0), | |
99 | fHistMLaPtCent0005(0), | |
100 | fHistMLbPtCent0005(0), | |
101 | fHistMcPMK0PtCent0005(0), | |
102 | fHistMcPMLaPtCent0005(0), | |
103 | fHistMcPMLbPtCent0005(0), | |
5a4be586 | 104 | fHistMcAsMK0PtCent0005(0), |
105 | fHistMcAsMLaPtCent0005(0), | |
106 | fHistMcAsMLbPtCent0005(0), | |
12ca6c45 | 107 | fHistZVertexCent0005(0), |
108 | fHistMCZVertexCent0005(0), | |
109 | ||
110 | fHistMK0PtCent0510(0), | |
111 | fHistMLaPtCent0510(0), | |
112 | fHistMLbPtCent0510(0), | |
113 | fHistMcPMK0PtCent0510(0), | |
114 | fHistMcPMLaPtCent0510(0), | |
115 | fHistMcPMLbPtCent0510(0), | |
5a4be586 | 116 | fHistMcAsMK0PtCent0510(0), |
117 | fHistMcAsMLaPtCent0510(0), | |
118 | fHistMcAsMLbPtCent0510(0), | |
12ca6c45 | 119 | fHistZVertexCent0510(0), |
120 | fHistMCZVertexCent0510(0), | |
121 | ||
122 | fHistMK0PtCent1020(0), | |
123 | fHistMLaPtCent1020(0), | |
124 | fHistMLbPtCent1020(0), | |
125 | fHistMcPMK0PtCent1020(0), | |
126 | fHistMcPMLaPtCent1020(0), | |
127 | fHistMcPMLbPtCent1020(0), | |
5a4be586 | 128 | fHistMcAsMK0PtCent1020(0), |
129 | fHistMcAsMLaPtCent1020(0), | |
130 | fHistMcAsMLbPtCent1020(0), | |
12ca6c45 | 131 | fHistZVertexCent1020(0), |
132 | fHistMCZVertexCent1020(0), | |
133 | ||
134 | fHistMK0PtCent2040(0), | |
135 | fHistMLaPtCent2040(0), | |
136 | fHistMLbPtCent2040(0), | |
137 | fHistMcPMK0PtCent2040(0), | |
138 | fHistMcPMLaPtCent2040(0), | |
139 | fHistMcPMLbPtCent2040(0), | |
5a4be586 | 140 | fHistMcAsMK0PtCent2040(0), |
141 | fHistMcAsMLaPtCent2040(0), | |
142 | fHistMcAsMLbPtCent2040(0), | |
12ca6c45 | 143 | fHistZVertexCent2040(0), |
144 | fHistMCZVertexCent2040(0), | |
145 | ||
146 | fHistMK0PtCent4060(0), | |
147 | fHistMLaPtCent4060(0), | |
148 | fHistMLbPtCent4060(0), | |
149 | fHistMcPMK0PtCent4060(0), | |
150 | fHistMcPMLaPtCent4060(0), | |
151 | fHistMcPMLbPtCent4060(0), | |
5a4be586 | 152 | fHistMcAsMK0PtCent4060(0), |
153 | fHistMcAsMLaPtCent4060(0), | |
154 | fHistMcAsMLbPtCent4060(0), | |
12ca6c45 | 155 | fHistZVertexCent4060(0), |
156 | fHistMCZVertexCent4060(0), | |
157 | ||
158 | fHistMK0PtCent6090(0), | |
159 | fHistMLaPtCent6090(0), | |
160 | fHistMLbPtCent6090(0), | |
161 | fHistMcPMK0PtCent6090(0), | |
162 | fHistMcPMLaPtCent6090(0), | |
163 | fHistMcPMLbPtCent6090(0), | |
5a4be586 | 164 | fHistMcAsMK0PtCent6090(0), |
165 | fHistMcAsMLaPtCent6090(0), | |
166 | fHistMcAsMLbPtCent6090(0), | |
12ca6c45 | 167 | fHistZVertexCent6090(0), |
168 | fHistMCZVertexCent6090(0), | |
169 | ||
170 | fHistMK0PtCent0090(0), | |
171 | fHistMLaPtCent0090(0), | |
172 | fHistMLbPtCent0090(0), | |
173 | fHistMcPMK0PtCent0090(0), | |
174 | fHistMcPMLaPtCent0090(0), | |
175 | fHistMcPMLbPtCent0090(0), | |
5a4be586 | 176 | fHistMcAsMK0PtCent0090(0), |
177 | fHistMcAsMLaPtCent0090(0), | |
178 | fHistMcAsMLbPtCent0090(0), | |
12ca6c45 | 179 | fHistZVertexCent0090(0), |
180 | fHistMCZVertexCent0090(0), | |
181 | ||
5a4be586 | 182 | fHistCosPaMLa(0), |
183 | fHistCosPaMLb(0), | |
184 | fHistCosPaMK0(0), | |
185 | fHistMcGenCosPaMLa(0), | |
186 | fHistMcGenCosPaMLb(0), | |
187 | fHistMcGenCosPaMK0(0), | |
188 | fHistMcAsReconCosPaMLa(0), | |
189 | fHistMcAsReconCosPaMLb(0), | |
190 | fHistMcAsReconCosPaMK0(0), | |
191 | fHistMcAsTruthCosPaMLa(0), | |
192 | fHistMcAsTruthCosPaMLb(0), | |
193 | fHistMcAsTruthCosPaMK0(0), | |
194 | ||
195 | fHistcTauMLa(0), | |
196 | fHistcTauMLb(0), | |
197 | fHistcTauMK0(0), | |
198 | fHistMcGencTauMLa(0), | |
199 | fHistMcGencTauMLb(0), | |
200 | fHistMcGencTauMK0(0), | |
201 | fHistMcAsReconcTauMLa(0), | |
202 | fHistMcAsReconcTauMLb(0), | |
203 | fHistMcAsReconcTauMK0(0), | |
204 | fHistMcAsTruthcTauMLa(0), | |
205 | fHistMcAsTruthcTauMLb(0), | |
206 | fHistMcAsTruthcTauMK0(0), | |
207 | ||
208 | fHistDcaMLa(0), | |
209 | fHistDcaMLb(0), | |
210 | fHistDcaMK0(0), | |
211 | fHistMcGenDcaMLa(0), | |
212 | fHistMcGenDcaMLb(0), | |
213 | fHistMcGenDcaMK0(0), | |
214 | fHistMcAsReconDcaMLa(0), | |
215 | fHistMcAsReconDcaMLb(0), | |
216 | fHistMcAsReconDcaMK0(0), | |
217 | fHistMcAsTruthDcaMLa(0), | |
218 | fHistMcAsTruthDcaMLb(0), | |
219 | fHistMcAsTruthDcaMK0(0), | |
220 | ||
221 | fHistNSigmaMLa(0), | |
222 | fHistNSigmaMLb(0), | |
223 | fHistNSigmaMK0(0), | |
224 | fHistMcGenNSigmaMLa(0), | |
225 | fHistMcGenNSigmaMLb(0), | |
226 | fHistMcGenNSigmaMK0(0), | |
227 | fHistMcAsReconNSigmaMLa(0), | |
228 | fHistMcAsReconNSigmaMLb(0), | |
229 | fHistMcAsReconNSigmaMK0(0), | |
230 | fHistMcAsTruthNSigmaMLa(0), | |
231 | fHistMcAsTruthNSigmaMLb(0), | |
232 | fHistMcAsTruthNSigmaMK0(0), | |
233 | ||
234 | fHistEtaMLa(0), | |
235 | fHistEtaMLb(0), | |
236 | fHistEtaMK0(0), | |
237 | fHistMcGenEtaMLa(0), | |
238 | fHistMcGenEtaMLb(0), | |
239 | fHistMcGenEtaMK0(0), | |
240 | fHistMcAsReconEtaMLa(0), | |
241 | fHistMcAsReconEtaMLb(0), | |
242 | fHistMcAsReconEtaMK0(0), | |
243 | fHistMcAsTruthEtaMLa(0), | |
244 | fHistMcAsTruthEtaMLb(0), | |
245 | fHistMcAsTruthEtaMK0(0), | |
246 | ||
247 | fHistRapMLa(0), | |
248 | fHistRapMLb(0), | |
249 | fHistRapMK0(0), | |
250 | fHistMcGenRapMLa(0), | |
251 | fHistMcGenRapMLb(0), | |
252 | fHistMcGenRapMK0(0), | |
253 | fHistMcAsReconRapMLa(0), | |
254 | fHistMcAsReconRapMLb(0), | |
255 | fHistMcAsReconRapMK0(0), | |
256 | fHistMcAsTruthRapMLa(0), | |
257 | fHistMcAsTruthRapMLb(0), | |
258 | fHistMcAsTruthRapMK0(0), | |
259 | ||
260 | fHistArmPodK0(0), | |
261 | fHistArmPodLa(0), | |
262 | fHistArmPodLb(0), | |
263 | fHistMcGenArmPodK0(0), | |
264 | fHistMcGenArmPodLa(0), | |
265 | fHistMcGenArmPodLb(0), | |
266 | fHistMcAsReconArmPodK0(0), | |
267 | fHistMcAsReconArmPodLa(0), | |
268 | fHistMcAsReconArmPodLb(0), | |
269 | fHistMcAsTruthArmPodK0(0), | |
270 | fHistMcAsTruthArmPodLa(0), | |
271 | fHistMcAsTruthArmPodLb(0) | |
12ca6c45 | 272 | |
273 | // The last in the above list should not have a comma after it | |
274 | { | |
275 | // Dummy constructor ALWAYS needed for I/O. | |
276 | } | |
277 | ||
278 | //________________________________________________________________________ | |
8a7cb9cc | 279 | AliAnalysisTaskLukeAOD::AliAnalysisTaskLukeAOD(const char *name) // All data members should be initialised here |
60dfeffb | 280 | :AliAnalysisTaskSE(name), fIsMonteCarlo(false), fcutCosPa(0.998),fcutcTauMin(-999), fcutNcTauMax(3.0), fcutBetheBloch(3.0), fcutMinNClustersTPC(70), fcutRatio(0.8), fcutEta(0.8), fcutRapidity(0.5), fcutArmenteros(0.2), |
12ca6c45 | 281 | fOutput(0), |
282 | fPIDResponse(0), | |
283 | ||
284 | fHistPt(0), | |
285 | fHistEta(0), | |
286 | fHistLog(0), | |
287 | fHistNV0(0), | |
288 | fHistZVertex(0), | |
289 | fHistMCZVertex(0), | |
290 | fHistCentrality(0), | |
291 | ||
292 | fHistBBK0Pos(0), | |
293 | fHistBBK0Neg(0), | |
294 | fHistBBLaPos(0), | |
295 | fHistBBLaNeg(0), | |
296 | fHistBBLbPos(0), | |
297 | fHistBBLbNeg(0), | |
298 | ||
299 | fHistBB3SigProton(0), | |
300 | fHistMK0Pt(0), | |
301 | fHistMLaPt(0), | |
302 | fHistMLbPt(0), | |
303 | fHistMcPMK0Pt(0), | |
304 | fHistMcPMLaPt(0), | |
305 | fHistMcPMLbPt(0), | |
306 | ||
307 | fHistMcFMLaPt(0), | |
308 | ||
309 | fHistMK0PtCent0005(0), | |
310 | fHistMLaPtCent0005(0), | |
311 | fHistMLbPtCent0005(0), | |
312 | fHistMcPMK0PtCent0005(0), | |
313 | fHistMcPMLaPtCent0005(0), | |
314 | fHistMcPMLbPtCent0005(0), | |
5a4be586 | 315 | fHistMcAsMK0PtCent0005(0), |
316 | fHistMcAsMLaPtCent0005(0), | |
317 | fHistMcAsMLbPtCent0005(0), | |
12ca6c45 | 318 | fHistZVertexCent0005(0), |
319 | fHistMCZVertexCent0005(0), | |
320 | ||
321 | fHistMK0PtCent0510(0), | |
322 | fHistMLaPtCent0510(0), | |
323 | fHistMLbPtCent0510(0), | |
324 | fHistMcPMK0PtCent0510(0), | |
325 | fHistMcPMLaPtCent0510(0), | |
326 | fHistMcPMLbPtCent0510(0), | |
5a4be586 | 327 | fHistMcAsMK0PtCent0510(0), |
328 | fHistMcAsMLaPtCent0510(0), | |
329 | fHistMcAsMLbPtCent0510(0), | |
12ca6c45 | 330 | fHistZVertexCent0510(0), |
331 | fHistMCZVertexCent0510(0), | |
332 | ||
333 | fHistMK0PtCent1020(0), | |
334 | fHistMLaPtCent1020(0), | |
335 | fHistMLbPtCent1020(0), | |
336 | fHistMcPMK0PtCent1020(0), | |
337 | fHistMcPMLaPtCent1020(0), | |
338 | fHistMcPMLbPtCent1020(0), | |
5a4be586 | 339 | fHistMcAsMK0PtCent1020(0), |
340 | fHistMcAsMLaPtCent1020(0), | |
341 | fHistMcAsMLbPtCent1020(0), | |
12ca6c45 | 342 | fHistZVertexCent1020(0), |
343 | fHistMCZVertexCent1020(0), | |
344 | ||
345 | fHistMK0PtCent2040(0), | |
346 | fHistMLaPtCent2040(0), | |
347 | fHistMLbPtCent2040(0), | |
348 | fHistMcPMK0PtCent2040(0), | |
349 | fHistMcPMLaPtCent2040(0), | |
350 | fHistMcPMLbPtCent2040(0), | |
5a4be586 | 351 | fHistMcAsMK0PtCent2040(0), |
352 | fHistMcAsMLaPtCent2040(0), | |
353 | fHistMcAsMLbPtCent2040(0), | |
12ca6c45 | 354 | fHistZVertexCent2040(0), |
355 | fHistMCZVertexCent2040(0), | |
356 | ||
357 | fHistMK0PtCent4060(0), | |
358 | fHistMLaPtCent4060(0), | |
359 | fHistMLbPtCent4060(0), | |
360 | fHistMcPMK0PtCent4060(0), | |
361 | fHistMcPMLaPtCent4060(0), | |
362 | fHistMcPMLbPtCent4060(0), | |
5a4be586 | 363 | fHistMcAsMK0PtCent4060(0), |
364 | fHistMcAsMLaPtCent4060(0), | |
365 | fHistMcAsMLbPtCent4060(0), | |
12ca6c45 | 366 | fHistZVertexCent4060(0), |
367 | fHistMCZVertexCent4060(0), | |
368 | ||
369 | fHistMK0PtCent6090(0), | |
370 | fHistMLaPtCent6090(0), | |
371 | fHistMLbPtCent6090(0), | |
372 | fHistMcPMK0PtCent6090(0), | |
373 | fHistMcPMLaPtCent6090(0), | |
374 | fHistMcPMLbPtCent6090(0), | |
5a4be586 | 375 | fHistMcAsMK0PtCent6090(0), |
376 | fHistMcAsMLaPtCent6090(0), | |
377 | fHistMcAsMLbPtCent6090(0), | |
12ca6c45 | 378 | fHistZVertexCent6090(0), |
379 | fHistMCZVertexCent6090(0), | |
380 | ||
381 | fHistMK0PtCent0090(0), | |
382 | fHistMLaPtCent0090(0), | |
383 | fHistMLbPtCent0090(0), | |
384 | fHistMcPMK0PtCent0090(0), | |
385 | fHistMcPMLaPtCent0090(0), | |
386 | fHistMcPMLbPtCent0090(0), | |
5a4be586 | 387 | fHistMcAsMK0PtCent0090(0), |
388 | fHistMcAsMLaPtCent0090(0), | |
389 | fHistMcAsMLbPtCent0090(0), | |
12ca6c45 | 390 | fHistZVertexCent0090(0), |
391 | fHistMCZVertexCent0090(0), | |
392 | ||
5a4be586 | 393 | fHistCosPaMLa(0), |
394 | fHistCosPaMLb(0), | |
395 | fHistCosPaMK0(0), | |
396 | fHistMcGenCosPaMLa(0), | |
397 | fHistMcGenCosPaMLb(0), | |
398 | fHistMcGenCosPaMK0(0), | |
399 | fHistMcAsReconCosPaMLa(0), | |
400 | fHistMcAsReconCosPaMLb(0), | |
401 | fHistMcAsReconCosPaMK0(0), | |
402 | fHistMcAsTruthCosPaMLa(0), | |
403 | fHistMcAsTruthCosPaMLb(0), | |
404 | fHistMcAsTruthCosPaMK0(0), | |
405 | ||
406 | fHistcTauMLa(0), | |
407 | fHistcTauMLb(0), | |
408 | fHistcTauMK0(0), | |
409 | fHistMcGencTauMLa(0), | |
410 | fHistMcGencTauMLb(0), | |
411 | fHistMcGencTauMK0(0), | |
412 | fHistMcAsReconcTauMLa(0), | |
413 | fHistMcAsReconcTauMLb(0), | |
414 | fHistMcAsReconcTauMK0(0), | |
415 | fHistMcAsTruthcTauMLa(0), | |
416 | fHistMcAsTruthcTauMLb(0), | |
417 | fHistMcAsTruthcTauMK0(0), | |
418 | ||
419 | fHistDcaMLa(0), | |
420 | fHistDcaMLb(0), | |
421 | fHistDcaMK0(0), | |
422 | fHistMcGenDcaMLa(0), | |
423 | fHistMcGenDcaMLb(0), | |
424 | fHistMcGenDcaMK0(0), | |
425 | fHistMcAsReconDcaMLa(0), | |
426 | fHistMcAsReconDcaMLb(0), | |
427 | fHistMcAsReconDcaMK0(0), | |
428 | fHistMcAsTruthDcaMLa(0), | |
429 | fHistMcAsTruthDcaMLb(0), | |
430 | fHistMcAsTruthDcaMK0(0), | |
431 | ||
432 | fHistNSigmaMLa(0), | |
433 | fHistNSigmaMLb(0), | |
434 | fHistNSigmaMK0(0), | |
435 | fHistMcGenNSigmaMLa(0), | |
436 | fHistMcGenNSigmaMLb(0), | |
437 | fHistMcGenNSigmaMK0(0), | |
438 | fHistMcAsReconNSigmaMLa(0), | |
439 | fHistMcAsReconNSigmaMLb(0), | |
440 | fHistMcAsReconNSigmaMK0(0), | |
441 | fHistMcAsTruthNSigmaMLa(0), | |
442 | fHistMcAsTruthNSigmaMLb(0), | |
443 | fHistMcAsTruthNSigmaMK0(0), | |
444 | ||
445 | fHistEtaMLa(0), | |
446 | fHistEtaMLb(0), | |
447 | fHistEtaMK0(0), | |
448 | fHistMcGenEtaMLa(0), | |
449 | fHistMcGenEtaMLb(0), | |
450 | fHistMcGenEtaMK0(0), | |
451 | fHistMcAsReconEtaMLa(0), | |
452 | fHistMcAsReconEtaMLb(0), | |
453 | fHistMcAsReconEtaMK0(0), | |
454 | fHistMcAsTruthEtaMLa(0), | |
455 | fHistMcAsTruthEtaMLb(0), | |
456 | fHistMcAsTruthEtaMK0(0), | |
457 | ||
458 | fHistRapMLa(0), | |
459 | fHistRapMLb(0), | |
460 | fHistRapMK0(0), | |
461 | fHistMcGenRapMLa(0), | |
462 | fHistMcGenRapMLb(0), | |
463 | fHistMcGenRapMK0(0), | |
464 | fHistMcAsReconRapMLa(0), | |
465 | fHistMcAsReconRapMLb(0), | |
466 | fHistMcAsReconRapMK0(0), | |
467 | fHistMcAsTruthRapMLa(0), | |
468 | fHistMcAsTruthRapMLb(0), | |
469 | fHistMcAsTruthRapMK0(0), | |
470 | ||
471 | fHistArmPodK0(0), | |
472 | fHistArmPodLa(0), | |
473 | fHistArmPodLb(0), | |
474 | fHistMcGenArmPodK0(0), | |
475 | fHistMcGenArmPodLa(0), | |
476 | fHistMcGenArmPodLb(0), | |
477 | fHistMcAsReconArmPodK0(0), | |
478 | fHistMcAsReconArmPodLa(0), | |
479 | fHistMcAsReconArmPodLb(0), | |
480 | fHistMcAsTruthArmPodK0(0), | |
481 | fHistMcAsTruthArmPodLa(0), | |
482 | fHistMcAsTruthArmPodLb(0) | |
12ca6c45 | 483 | |
484 | // The last in the above list should not have a comma after it | |
485 | { | |
486 | // Constructor | |
487 | // Define input and output slots here (never in the dummy constructor) | |
488 | // Input slot #0 works with a TChain - it is connected to the default input container | |
489 | // Output slot #1 writes into a TH1 container | |
490 | DefineOutput(1, TList::Class()); // for output list | |
491 | } | |
492 | ||
493 | //________________________________________________________________________ | |
8a7cb9cc | 494 | AliAnalysisTaskLukeAOD::~AliAnalysisTaskLukeAOD() |
12ca6c45 | 495 | { |
496 | // Destructor. Clean-up the output list, but not the histograms that are put inside | |
497 | // (the list is owner and will clean-up these histograms). Protect in PROOF case. | |
498 | if (fOutput && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) { | |
499 | delete fOutput; | |
500 | } | |
501 | } | |
502 | ||
503 | //________________________________________________________________________ | |
8a7cb9cc | 504 | void AliAnalysisTaskLukeAOD::UserCreateOutputObjects() |
12ca6c45 | 505 | { |
506 | // Create histograms | |
507 | // Called once (on the worker node) | |
508 | ||
509 | fOutput = new TList(); | |
510 | fOutput->SetOwner(); // IMPORTANT! | |
511 | ||
512 | AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager(); | |
513 | AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler()); | |
514 | fPIDResponse = inputHandler->GetPIDResponse(); | |
ab49d93a | 515 | //Bool_t maskIsSelected = inputHandler->IsEventSelected(); |
12ca6c45 | 516 | |
517 | // Create histograms | |
518 | Int_t ptbins = 15; | |
519 | Float_t ptlow = 0.1, ptup = 3.1; | |
520 | fHistPt = new TH1F("fHistPt", "P_{T} distribution for reconstructed", ptbins, ptlow, ptup); | |
521 | fHistPt->GetXaxis()->SetTitle("P_{T} (GeV/c)"); | |
522 | fHistPt->GetYaxis()->SetTitle("dN/dP_{T} (c/GeV)"); | |
523 | fHistPt->SetMarkerStyle(kFullCircle); | |
524 | ||
525 | Int_t etabins = 40; | |
526 | Float_t etalow = -2.0, etaup = 2.0; | |
527 | fHistEta = new TH1F("fHistEta","#eta distribution for reconstructed",etabins, etalow, etaup); | |
528 | fHistEta->GetXaxis()->SetTitle("#eta"); | |
529 | fHistEta->GetYaxis()->SetTitle("counts"); | |
530 | ||
531 | fHistLog = new TH1F("fHistLog","Log Variables",100, -0.5, 99.5); | |
532 | fHistNV0 = new TH1F("fHistNV0","Number of V0s per event",100, 0, 5000); | |
533 | fHistZVertex = new TH1F("fHistZVertex","Z coordinate of primary vertex",60, -15, 15); | |
534 | fHistMCZVertex = new TH1F("fHistMCZVertex","Z coordinate of primary vertex in MC truth",60, -15, 15); | |
535 | fHistCentrality = new TH1F("fHistCentrality", "Centrality of Events; Centrality Percentile (%); N",110,-5,105); | |
536 | ||
537 | fHistBBK0Pos = new TH2F("fHistBBK0Pos","PID of the positive daughter of K0 candidates; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200); | |
538 | fHistBBK0Neg = new TH2F("fHistBBK0Neg","PID of the negative daughter of K0 candidates; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200); | |
539 | fHistBBLaPos = new TH2F("fHistBBLaPos","PID of the positive daughter of La candidates; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200); | |
540 | fHistBBLaNeg = new TH2F("fHistBBLaNeg","PID of the negative daughter of La candidates; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200); | |
541 | fHistBBLbPos = new TH2F("fHistBBLbPos","PID of the positive daughter of Lb candidates; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200); | |
542 | fHistBBLbNeg = new TH2F("fHistBBLbNeg","PID of the negative daughter of Lb candidates; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200); | |
5a4be586 | 543 | |
12ca6c45 | 544 | fHistBB3SigProton = new TH2F("fHistBB3SigProton","-dE/dX against Momentum for Protons @3sigma from TPC; P (GeV); -dE/dx (keV/cm ?)",1000,0,10,1000,0,200); |
545 | fHistMK0Pt = new TH2F("fHistMK0Pt","K0 Mass versus Pt; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
546 | fHistMLaPt = new TH2F("fHistMLaPt","Lambda Mass versus Pt; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
547 | fHistMLbPt = new TH2F("fHistMLbPt","AntiLambda Mass versus Pt; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
548 | fHistMcPMK0Pt = new TH2F("fHistMcPMK0Pt","Monte Carlo primary K0 Mass versus Pt; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
549 | fHistMcPMLaPt = new TH2F("fHistMcPMLaPt","Monte Carlo primary (& sigma0) Lambda Mass versus Pt; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
550 | fHistMcPMLbPt = new TH2F("fHistMcPMLbPt","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
551 | ||
552 | fHistMcFMLaPt = new TH2F("fHistMcFMLaPt","Monte Carlo Reconstructed Lambda Mass versus Pt for feeddown lambda; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
553 | ||
554 | fHistMK0PtCent0005 = new TH2F("fHistMK0PtCent0005","K0 Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
555 | fHistMLaPtCent0005 = new TH2F("fHistMLaPtCent0005","Lambda Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
556 | fHistMLbPtCent0005 = new TH2F("fHistMLbPtCent0005","AntiLambda Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
557 | fHistMcPMK0PtCent0005 = new TH2F("fHistMcPMK0PtCent0005","Monte Carlo primary K0 Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
558 | fHistMcPMLaPtCent0005 = new TH2F("fHistMcPMLaPtCent0005","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
559 | fHistMcPMLbPtCent0005 = new TH2F("fHistMcPMLbPtCent0005","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
5a4be586 | 560 | fHistMcAsMK0PtCent0005 = new TH2F("fHistMcAsMK0PtCent0005","Monte Carlo associated K0 Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); |
561 | fHistMcAsMLaPtCent0005 = new TH2F("fHistMcAsMLaPtCent0005","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
562 | fHistMcAsMLbPtCent0005 = new TH2F("fHistMcAsMLbPtCent0005","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 0-5%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
12ca6c45 | 563 | fHistZVertexCent0005 = new TH1F("fHistZVertexCent0005","Z coordinate of primary vertex for Centrality 0-5%",60, -15, 15); |
564 | fHistMCZVertexCent0005 = new TH1F("fHistMCZVertexCent0005","Z coordinate of primary vertex in MC truth for Centrality 0-5%",60, -15, 15); | |
565 | ||
566 | fHistMK0PtCent0510 = new TH2F("fHistMK0PtCent0510","K0 Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
567 | fHistMLaPtCent0510 = new TH2F("fHistMLaPtCent0510","Lambda Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
568 | fHistMLbPtCent0510 = new TH2F("fHistMLbPtCent0510","AntiLambda Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
569 | fHistMcPMK0PtCent0510 = new TH2F("fHistMcPMK0PtCent0510","Monte Carlo primary K0 Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
570 | fHistMcPMLaPtCent0510 = new TH2F("fHistMcPMLaPtCent0510","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
571 | fHistMcPMLbPtCent0510 = new TH2F("fHistMcPMLbPtCent0510","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
5a4be586 | 572 | fHistMcAsMK0PtCent0510 = new TH2F("fHistMcAsMK0PtCent0510","Monte Carlo associated K0 Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); |
573 | fHistMcAsMLaPtCent0510 = new TH2F("fHistMcAsMLaPtCent0510","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
574 | fHistMcAsMLbPtCent0510 = new TH2F("fHistMcAsMLbPtCent0510","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 5-10%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
12ca6c45 | 575 | fHistZVertexCent0510 = new TH1F("fHistZVertexCent0510","Z coordinate of primary vertex for Centrality 5-10%",60, -15, 15); |
576 | fHistMCZVertexCent0510 = new TH1F("fHistMCZVertexCent0510","Z coordinate of primary vertex in MC truth for Centrality 5-10%",60, -15, 15); | |
577 | ||
578 | fHistMK0PtCent1020 = new TH2F("fHistMK0PtCent1020","K0 Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
579 | fHistMLaPtCent1020 = new TH2F("fHistMLaPtCent1020","Lambda Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
580 | fHistMLbPtCent1020 = new TH2F("fHistMLbPtCent1020","AntiLambda Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
581 | fHistMcPMK0PtCent1020 = new TH2F("fHistMcPMK0PtCent1020","Monte Carlo primary K0 Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
582 | fHistMcPMLaPtCent1020 = new TH2F("fHistMcPMLaPtCent1020","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
583 | fHistMcPMLbPtCent1020 = new TH2F("fHistMcPMLbPtCent1020","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
5a4be586 | 584 | fHistMcAsMK0PtCent1020 = new TH2F("fHistMcAsMK0PtCent1020","Monte Carlo associated K0 Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); |
585 | fHistMcAsMLaPtCent1020 = new TH2F("fHistMcAsMLaPtCent1020","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
586 | fHistMcAsMLbPtCent1020 = new TH2F("fHistMcAsMLbPtCent1020","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 10-20%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
12ca6c45 | 587 | fHistZVertexCent1020 = new TH1F("fHistZVertexCent1020","Z coordinate of primary vertex for Centrality 10-20%",60, -15, 15); |
588 | fHistMCZVertexCent1020 = new TH1F("fHistMCZVertexCent1020","Z coordinate of primary vertex in MC truth for Centrality 10-20%",60, -15, 15); | |
589 | ||
590 | fHistMK0PtCent2040 = new TH2F("fHistMK0PtCent2040","K0 Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
591 | fHistMLaPtCent2040 = new TH2F("fHistMLaPtCent2040","Lambda Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
592 | fHistMLbPtCent2040 = new TH2F("fHistMLbPtCent2040","AntiLambda Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
593 | fHistMcPMK0PtCent2040 = new TH2F("fHistMcPMK0PtCent2040","Monte Carlo primary K0 Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
594 | fHistMcPMLaPtCent2040 = new TH2F("fHistMcPMLaPtCent2040","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
595 | fHistMcPMLbPtCent2040 = new TH2F("fHistMcPMLbPtCent2040","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
5a4be586 | 596 | fHistMcAsMK0PtCent2040 = new TH2F("fHistMcAsMK0PtCent2040","Monte Carlo associated K0 Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); |
597 | fHistMcAsMLaPtCent2040 = new TH2F("fHistMcAsMLaPtCent2040","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
598 | fHistMcAsMLbPtCent2040 = new TH2F("fHistMcAsMLbPtCent2040","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 20-40%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
12ca6c45 | 599 | fHistZVertexCent2040 = new TH1F("fHistZVertexCent2040","Z coordinate of primary vertex for Centrality 20-40%",60, -15, 15); |
600 | fHistMCZVertexCent2040 = new TH1F("fHistMCZVertexCent2040","Z coordinate of primary vertex in MC truth for Centrality 20-40%",60, -15, 15); | |
601 | ||
602 | fHistMK0PtCent4060 = new TH2F("fHistMK0PtCent4060","K0 Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
603 | fHistMLaPtCent4060 = new TH2F("fHistMLaPtCent4060","Lambda Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
604 | fHistMLbPtCent4060 = new TH2F("fHistMLbPtCent4060","AntiLambda Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
605 | fHistMcPMK0PtCent4060 = new TH2F("fHistMcPMK0PtCent4060","Monte Carlo primary K0 Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
606 | fHistMcPMLaPtCent4060 = new TH2F("fHistMcPMLaPtCent4060","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
607 | fHistMcPMLbPtCent4060 = new TH2F("fHistMcPMLbPtCent4060","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
5a4be586 | 608 | fHistMcAsMK0PtCent4060 = new TH2F("fHistMcAsMK0PtCent4060","Monte Carlo associated K0 Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); |
609 | fHistMcAsMLaPtCent4060 = new TH2F("fHistMcAsMLaPtCent4060","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
610 | fHistMcAsMLbPtCent4060 = new TH2F("fHistMcAsMLbPtCent4060","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 40-60%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
12ca6c45 | 611 | fHistZVertexCent4060 = new TH1F("fHistZVertexCent4060","Z coordinate of primary vertex for Centrality 40-60%",60, -15, 15); |
612 | fHistMCZVertexCent4060 = new TH1F("fHistMCZVertexCent4060","Z coordinate of primary vertex in MC truth for Centrality 40-60%",60, -15, 15); | |
613 | ||
614 | fHistMK0PtCent6090 = new TH2F("fHistMK0PtCent6090","K0 Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
615 | fHistMLaPtCent6090 = new TH2F("fHistMLaPtCent6090","Lambda Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
616 | fHistMLbPtCent6090 = new TH2F("fHistMLbPtCent6090","AntiLambda Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
617 | fHistMcPMK0PtCent6090 = new TH2F("fHistMcPMK0PtCent6090","Monte Carlo primary K0 Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
618 | fHistMcPMLaPtCent6090 = new TH2F("fHistMcPMLaPtCent6090","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
619 | fHistMcPMLbPtCent6090 = new TH2F("fHistMcPMLbPtCent6090","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
5a4be586 | 620 | fHistMcAsMK0PtCent6090 = new TH2F("fHistMcAsMK0PtCent6090","Monte Carlo associated K0 Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); |
621 | fHistMcAsMLaPtCent6090 = new TH2F("fHistMcAsMLaPtCent6090","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
622 | fHistMcAsMLbPtCent6090 = new TH2F("fHistMcAsMLbPtCent6090","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 60-90%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
12ca6c45 | 623 | fHistZVertexCent6090 = new TH1F("fHistZVertexCent6090","Z coordinate of primary vertex for Centrality 60-90%",60, -15, 15); |
624 | fHistMCZVertexCent6090 = new TH1F("fHistMCZVertexCent6090","Z coordinate of primary vertex in MC truth for Centrality 60-90%",60, -15, 15); | |
625 | ||
626 | fHistMK0PtCent0090 = new TH2F("fHistMK0PtCent0090","K0 Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
627 | fHistMLaPtCent0090 = new TH2F("fHistMLaPtCent0090","Lambda Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
628 | fHistMLbPtCent0090 = new TH2F("fHistMLbPtCent0090","AntiLambda Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
629 | fHistMcPMK0PtCent0090 = new TH2F("fHistMcPMK0PtCent0090","Monte Carlo primary K0 Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); | |
630 | fHistMcPMLaPtCent0090 = new TH2F("fHistMcPMLaPtCent0090","Monte Carlo primary (& sigma0) Lambda Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
631 | fHistMcPMLbPtCent0090 = new TH2F("fHistMcPMLbPtCent0090","Monte Carlo primary (& sigma0) AntiLambda Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
5a4be586 | 632 | fHistMcAsMK0PtCent0090 = new TH2F("fHistMcAsMK0PtCent0090","Monte Carlo associated K0 Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); K0 Mass (GeV/c^2)",200,0,10,140,0.414,0.582); |
633 | fHistMcAsMLaPtCent0090 = new TH2F("fHistMcAsMLaPtCent0090","Monte Carlo associated (& sigma0) Lambda Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); M(p#pi^{-}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
634 | fHistMcAsMLbPtCent0090 = new TH2F("fHistMcAsMLbPtCent0090","Monte Carlo associated (& sigma0) AntiLambda Mass versus Pt for Centrality 0-90%; P_{perp} (GeV/c); M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,10,96,1.08,1.2); | |
12ca6c45 | 635 | fHistZVertexCent0090 = new TH1F("fHistZVertexCent0090","Z coordinate of primary vertex for Centrality 0-90%",60, -15, 15); |
636 | fHistMCZVertexCent0090 = new TH1F("fHistMCZVertexCent0090","Z coordinate of primary vertex in MC truth for Centrality 0-90%",60, -15, 15); | |
637 | ||
638 | ||
5a4be586 | 639 | fHistCosPaMLa = new TH2F("fHistCosPaMLa"," Reconstructed Mass vs CosPa for Lambda Candidates;CosPA; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2); |
640 | fHistCosPaMLb = new TH2F("fHistCosPaMLb"," Reconstructed Mass vs CosPa for AntiLambda Candidates;CosPA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2); | |
641 | fHistCosPaMK0 = new TH2F("fHistCosPaMK0"," Reconstructed Mass vs CosPa for K0Short Candidates;CosPA; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582); | |
642 | fHistMcGenCosPaMLa = new TH2F("fHistMcGenCosPaMLa"," Reconstructed Mass vs MC-Truth CosPa for all MC primary Lambda;CosPA; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2); | |
643 | fHistMcGenCosPaMLb = new TH2F("fHistMcGenCosPaMLb"," Reconstructed Mass vs MC-Truth CosPa for all MC primary AntiLambda;CosPA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2); | |
644 | fHistMcGenCosPaMK0 = new TH2F("fHistMcGenCosPaMK0"," Reconstructed Mass vs MC-Truth CosPa for all MC primary K0Short;CosPA; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582); | |
645 | fHistMcAsReconCosPaMLa = new TH2F("fHistMcAsReconCosPaMLa"," Reconstructed Mass vs CosPa for reconstructed MC primary Lambda;CosPA; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2); | |
646 | fHistMcAsReconCosPaMLb = new TH2F("fHistMcAsReconCosPaMLb"," Reconstructed Mass vs CosPa for reconstructed MC primary AntiLambda;CosPA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2); | |
647 | fHistMcAsReconCosPaMK0 = new TH2F("fHistMcAsReconCosPaMK0"," Reconstructed Mass vs CosPa for reconstructed MC primary K0Short;CosPA; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582); | |
648 | fHistMcAsTruthCosPaMLa = new TH2F("fHistMcAsTruthCosPaMLa"," Reconstructed Mass vs MC-Truth CosPa for reconstructed MC primary Lambda;CosPA; M(p#pi^{-}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2); | |
649 | fHistMcAsTruthCosPaMLb = new TH2F("fHistMcAsTruthCosPaMLb"," Reconstructed Mass vs MC-Truth CosPa for reconstructed MC primary AntiLambda;CosPA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0.99,1.001,96,1.08,1.2); | |
650 | fHistMcAsTruthCosPaMK0 = new TH2F("fHistMcAsTruthCosPaMK0"," Reconstructed Mass vs MC-Truth CosPa for reconstructed MC primary K0Short;CosPA; K0 Mass (GeV/c^2)",200,0.99,1.001,140,0.414,0.582); | |
651 | ||
652 | fHistcTauMLa = new TH2F("fHistcTauMLa"," Reconstructed Mass vs cTau for Lambda Candidates; cTau; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2); | |
653 | fHistcTauMLb = new TH2F("fHistcTauMLb"," Reconstructed Mass vs cTau for AntiLambda Candidates; cTau; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2); | |
654 | fHistcTauMK0 = new TH2F("fHistcTauMK0"," Reconstructed Mass vs cTau for K0Short Candidates; cTau; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582); | |
655 | fHistMcGencTauMLa = new TH2F("fHistMcGencTauMLa"," Reconstructed Mass vs MC-Truth cTau for all MC primary Lambda; cTau; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2); | |
656 | fHistMcGencTauMLb = new TH2F("fHistMcGencTauMLb"," Reconstructed Mass vs MC-Truth cTau for all MC primary AntiLambda; cTau; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2); | |
657 | fHistMcGencTauMK0 = new TH2F("fHistMcGencTauMK0"," Reconstructed Mass vs MC-Truth cTau for all MC primary K0Short; cTau; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582); | |
658 | fHistMcAsReconcTauMLa = new TH2F("fHistMcAsReconcTauMLa"," Reconstructed Mass vs cTau for reconstructed MC primary Lambda; cTau; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2); | |
659 | fHistMcAsReconcTauMLb = new TH2F("fHistMcAsReconcTauMLb"," Reconstructed Mass vs cTau for reconstructed MC primary AntiLambda; cTau; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2); | |
660 | fHistMcAsReconcTauMK0 = new TH2F("fHistMcAsReconcTauMK0"," Reconstructed Mass vs cTau for reconstructed MC primary K0Short; cTau; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582); | |
661 | fHistMcAsTruthcTauMLa = new TH2F("fHistMcAsTruthcTauMLa"," Reconstructed Mass vs MC-Truth cTau for reconstructed MC primary Lambda; cTau; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2); | |
662 | fHistMcAsTruthcTauMLb = new TH2F("fHistMcAsTruthcTauMLb"," Reconstructed Mass vs MC-Truth cTau for reconstructed MC primary AntiLambda; cTau; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2); | |
663 | fHistMcAsTruthcTauMK0 = new TH2F("fHistMcAsTruthcTauMK0"," Reconstructed Mass vs MC-Truth cTau for reconstructed MC primary K0Short; cTau; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582); | |
664 | ||
665 | fHistDcaMLa = new TH2F("fHistDcaMLa"," Reconstructed Mass vs Dca for Lambda Candidates; DCA; M(p#pi^{-}) (GeV/c^2)",200,0,1.5,96,1.08,1.2); | |
666 | fHistDcaMLb = new TH2F("fHistDcaMLb"," Reconstructed Mass vs Dca for AntiLambda Candidates; DCA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,1.5,96,1.08,1.2); | |
667 | fHistDcaMK0 = new TH2F("fHistDcaMK0"," Reconstructed Mass vs Dca for K0Short Candidates; DCA; K0 Mass (GeV/c^2)",200,0,1.5,140,0.414,0.582); | |
668 | fHistMcGenDcaMLa = new TH2F("fHistMcGenDcaMLa"," Reconstructed Mass vs MC-Truth Dca for all MC primary Lambda; DCA; M(p#pi^{-}) (GeV/c^2)",200,0,50,96,1.08,1.2); | |
669 | fHistMcGenDcaMLb = new TH2F("fHistMcGenDcaMLb"," Reconstructed Mass vs MC-Truth Dca for all MC primary AntiLambda; DCA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,50,96,1.08,1.2); | |
670 | fHistMcGenDcaMK0 = new TH2F("fHistMcGenDcaMK0"," Reconstructed Mass vs MC-Truth Dca for all MC primary K0Short; DCA; K0 Mass (GeV/c^2)",200,0,50,140,0.414,0.582); | |
671 | fHistMcAsReconDcaMLa = new TH2F("fHistMcAsReconDcaMLa"," Reconstructed Mass vs Dca for reconstructed MC primary Lambda; DCA; M(p#pi^{-}) (GeV/c^2)",200,0,1.5,96,1.08,1.2); | |
672 | fHistMcAsReconDcaMLb = new TH2F("fHistMcAsReconDcaMLb"," Reconstructed Mass vs Dca for reconstructed MC primary AntiLambda; DCA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,1.5,96,1.08,1.2); | |
673 | fHistMcAsReconDcaMK0 = new TH2F("fHistMcAsReconDcaMK0"," Reconstructed Mass vs Dca for reconstructed MC primary K0Short; DCA; K0 Mass (GeV/c^2)",200,0,1.5,140,0.414,0.582); | |
674 | fHistMcAsTruthDcaMLa = new TH2F("fHistMcAsTruthDcaMLa"," Reconstructed Mass vs MC-Truth Dca for reconstructed MC primary Lambda; DCA; M(p#pi^{-}) (GeV/c^2)",200,0,1.5,96,1.08,1.2); | |
675 | fHistMcAsTruthDcaMLb = new TH2F("fHistMcAsTruthDcaMLb"," Reconstructed Mass vs MC-Truth Dca for reconstructed MC primary AntiLambda; DCA; M(#bar{p}#pi^{+}) (GeV/c^2)",200,0,1.5,96,1.08,1.2); | |
676 | fHistMcAsTruthDcaMK0 = new TH2F("fHistMcAsTruthDcaMK0"," Reconstructed Mass vs MC-Truth Dca for reconstructed MC primary K0Short; DCA; K0 Mass (GeV/c^2)",200,0,1.5,140,0.414,0.582); | |
677 | ||
678 | fHistNSigmaMLa = new TH2F("fHistNSigmaMLa"," Reconstructed Mass vs NSigma for Lambda Candidates; NSigma; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2); | |
679 | fHistNSigmaMLb = new TH2F("fHistNSigmaMLb"," Reconstructed Mass vs NSigma for AntiLambda Candidates; NSigma; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2); | |
680 | fHistNSigmaMK0 = new TH2F("fHistNSigmaMK0"," Reconstructed Mass vs NSigma for K0Short Candidates; NSigma; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582); | |
681 | fHistMcGenNSigmaMLa = new TH2F("fHistMcGenNSigmaMLa"," Reconstructed Mass vs MC-Truth NSigma for all MC primary Lambda; NSigma; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2); | |
682 | fHistMcGenNSigmaMLb = new TH2F("fHistMcGenNSigmaMLb"," Reconstructed Mass vs MC-Truth NSigma for all MC primary AntiLambda; NSigma; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2); | |
683 | fHistMcGenNSigmaMK0 = new TH2F("fHistMcGenNSigmaMK0"," Reconstructed Mass vs MC-Truth NSigma for all MC primary K0Short; NSigma; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582); | |
684 | fHistMcAsReconNSigmaMLa = new TH2F("fHistMcAsReconNSigmaMLa"," Reconstructed Mass vs NSigma for reconstructed MC primary Lambda; NSigma; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2); | |
685 | fHistMcAsReconNSigmaMLb = new TH2F("fHistMcAsReconNSigmaMLb"," Reconstructed Mass vs NSigma for reconstructed MC primary AntiLambda; NSigma; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2); | |
686 | fHistMcAsReconNSigmaMK0 = new TH2F("fHistMcAsReconNSigmaMK0"," Reconstructed Mass vs NSigma for reconstructed MC primary K0Short; NSigma; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582); | |
687 | fHistMcAsTruthNSigmaMLa = new TH2F("fHistMcAsTruthNSigmaMLa"," Reconstructed Mass vs MC-Truth NSigma for reconstructed MC primary Lambda; NSigma; M(p#pi^{-}) (GeV/c^2)",50,-5,5,96,1.08,1.2); | |
688 | fHistMcAsTruthNSigmaMLb = new TH2F("fHistMcAsTruthNSigmaMLb"," Reconstructed Mass vs MC-Truth NSigma for reconstructed MC primary AntiLambda; NSigma; M(#bar{p}#pi^{+}) (GeV/c^2)",50,-5,5,96,1.08,1.2); | |
689 | fHistMcAsTruthNSigmaMK0 = new TH2F("fHistMcAsTruthNSigmaMK0"," Reconstructed Mass vs MC-Truth NSigma for reconstructed MC primary K0Short; NSigma; K0 Mass (GeV/c^2)",50,-5,5,140,0.414,0.582); | |
690 | ||
691 | fHistEtaMLa = new TH2F("fHistEtaMLa"," Reconstructed Mass vs Eta for Lambda Candidates; Eta; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2); | |
692 | fHistEtaMLb = new TH2F("fHistEtaMLb"," Reconstructed Mass vs Eta for AntiLambda Candidates; Eta; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2); | |
693 | fHistEtaMK0 = new TH2F("fHistEtaMK0"," Reconstructed Mass vs Eta for K0Short Candidates; Eta; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582); | |
694 | fHistMcGenEtaMLa = new TH2F("fHistMcGenEtaMLa"," Reconstructed Mass vs MC-Truth Eta for all MC primary Lambda; Eta; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2); | |
695 | fHistMcGenEtaMLb = new TH2F("fHistMcGenEtaMLb"," Reconstructed Mass vs MC-Truth Eta for all MC primary AntiLambda; Eta; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2); | |
696 | fHistMcGenEtaMK0 = new TH2F("fHistMcGenEtaMK0"," Reconstructed Mass vs MC-Truth Eta for all MC primary K0Short; Eta; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582); | |
697 | fHistMcAsReconEtaMLa = new TH2F("fHistMcAsReconEtaMLa"," Reconstructed Mass vs Eta for reconstructed MC primary Lambda; Eta; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2); | |
698 | fHistMcAsReconEtaMLb = new TH2F("fHistMcAsReconEtaMLb"," Reconstructed Mass vs Eta for reconstructed MC primary AntiLambda; Eta; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2); | |
699 | fHistMcAsReconEtaMK0 = new TH2F("fHistMcAsReconEtaMK0"," Reconstructed Mass vs Eta for reconstructed MC primary K0Short; Eta; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582); | |
700 | fHistMcAsTruthEtaMLa = new TH2F("fHistMcAsTruthEtaMLa"," Reconstructed Mass vs MC-Truth Eta for reconstructed MC primary Lambda; Eta; M(p#pi^{-}) (GeV/c^2)",200,-3,3,96,1.08,1.2); | |
701 | fHistMcAsTruthEtaMLb = new TH2F("fHistMcAsTruthEtaMLb"," Reconstructed Mass vs MC-Truth Eta for reconstructed MC primary AntiLambda; Eta; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-3,3,96,1.08,1.2); | |
702 | fHistMcAsTruthEtaMK0 = new TH2F("fHistMcAsTruthEtaMK0"," Reconstructed Mass vs MC-Truth Eta for reconstructed MC primary K0Short; Eta; K0 Mass (GeV/c^2)",200,-3,3,140,0.414,0.582); | |
703 | ||
704 | fHistRapMLa = new TH2F("fHistRapMLa"," Reconstructed Mass vs Rap for Lambda Candidates; Rapidity; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2); | |
705 | fHistRapMLb = new TH2F("fHistRapMLb"," Reconstructed Mass vs Rap for AntiLambda Candidates; Rapidity; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2); | |
706 | fHistRapMK0 = new TH2F("fHistRapMK0"," Reconstructed Mass vs Rap for K0Short Candidates; Rapidity; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582); | |
707 | fHistMcGenRapMLa = new TH2F("fHistMcGenRapMLa"," Reconstructed Mass vs MC-Truth Rap for all MC primary Lambda; Rapidity; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2); | |
708 | fHistMcGenRapMLb = new TH2F("fHistMcGenRapMLb"," Reconstructed Mass vs MC-Truth Rap for all MC primary AntiLambda; Rapidity; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2); | |
709 | fHistMcGenRapMK0 = new TH2F("fHistMcGenRapMK0"," Reconstructed Mass vs MC-Truth Rap for all MC primary K0Short; Rapidity; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582); | |
710 | fHistMcAsReconRapMLa = new TH2F("fHistMcAsReconRapMLa"," Reconstructed Mass vs Rap for reconstructed MC primary Lambda; Rapidity; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2); | |
711 | fHistMcAsReconRapMLb = new TH2F("fHistMcAsReconRapMLb"," Reconstructed Mass vs Rap for reconstructed MC primary AntiLambda; Rapidity; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2); | |
712 | fHistMcAsReconRapMK0 = new TH2F("fHistMcAsReconRapMK0"," Reconstructed Mass vs Rap for reconstructed MC primary K0Short; Rapidity; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582); | |
713 | fHistMcAsTruthRapMLa = new TH2F("fHistMcAsTruthRapMLa"," Reconstructed Mass vs MC-Truth Rap for reconstructed MC primary Lambda; Rapidity; M(p#pi^{-}) (GeV/c^2)",200,-1,1,96,1.08,1.2); | |
714 | fHistMcAsTruthRapMLb = new TH2F("fHistMcAsTruthRapMLb"," Reconstructed Mass vs MC-Truth Rap for reconstructed MC primary AntiLambda; Rapidity; M(#bar{p}#pi^{+}) (GeV/c^2)",200,-1,1,96,1.08,1.2); | |
715 | fHistMcAsTruthRapMK0 = new TH2F("fHistMcAsTruthRapMK0"," Reconstructed Mass vs MC-Truth Rap for reconstructed MC primary K0Short; Rapidity; K0 Mass (GeV/c^2)",200,-1,1,140,0.414,0.582); | |
716 | ||
717 | fHistArmPodK0 = new TH2F("fHistArmPodK0","Armenteros plot for K0 candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
718 | fHistArmPodLa = new TH2F("fHistArmPodLa","Armenteros plot for La candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
719 | fHistArmPodLb = new TH2F("fHistArmPodLb","Armenteros plot for Lb candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
720 | fHistMcGenArmPodK0 = new TH2F("fHistMcGenArmPodK0","Armenteros plot for MC Generated K0 candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
721 | fHistMcGenArmPodLa = new TH2F("fHistMcGenArmPodLa","Armenteros plot for MC Generated La candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
722 | fHistMcGenArmPodLb = new TH2F("fHistMcGenArmPodLb","Armenteros plot for MC Generated Lb candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
723 | fHistMcAsReconArmPodK0 = new TH2F("fHistMcAsReconArmPodK0","Armenteros plot for MC Associated K0 candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
724 | fHistMcAsReconArmPodLa = new TH2F("fHistMcAsReconArmPodLa","Armenteros plot for MC Associated La candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
725 | fHistMcAsReconArmPodLb = new TH2F("fHistMcAsReconArmPodLb","Armenteros plot for MC Associated Lb candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
726 | fHistMcAsTruthArmPodK0 = new TH2F("fHistMcAsTruthArmPodK0","True Armenteros plot for MC Associated K0 candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
727 | fHistMcAsTruthArmPodLa = new TH2F("fHistMcAsTruthArmPodLa","True Armenteros plot for MC Associated La candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
728 | fHistMcAsTruthArmPodLb = new TH2F("fHistMcAsTruthArmPodLb","True Armenteros plot for MC Associated Lb candidates; Alpha; PtArm",100,-1,1,50,0,0.5); | |
12ca6c45 | 729 | |
730 | ||
731 | ||
732 | // NEW HISTO should be defined here, with a sensible name, | |
733 | ||
734 | fOutput->Add(fHistPt); | |
735 | fOutput->Add(fHistEta); | |
736 | fOutput->Add(fHistLog); | |
737 | fOutput->Add(fHistNV0); | |
738 | fOutput->Add(fHistZVertex); | |
739 | fOutput->Add(fHistMCZVertex); | |
740 | fOutput->Add(fHistCentrality); | |
741 | ||
742 | fOutput->Add(fHistBBK0Pos); | |
743 | fOutput->Add(fHistBBK0Neg); | |
744 | fOutput->Add(fHistBBLaPos); | |
745 | fOutput->Add(fHistBBLaNeg); | |
746 | fOutput->Add(fHistBBLbPos); | |
747 | fOutput->Add(fHistBBLbNeg); | |
748 | ||
749 | fOutput->Add(fHistBB3SigProton); | |
750 | fOutput->Add(fHistMK0Pt); | |
751 | fOutput->Add(fHistMLaPt); | |
752 | fOutput->Add(fHistMLbPt); | |
753 | fOutput->Add(fHistMcPMK0Pt); | |
754 | fOutput->Add(fHistMcPMLaPt); | |
755 | fOutput->Add(fHistMcPMLbPt); | |
756 | ||
757 | fOutput->Add(fHistMcFMLaPt); | |
758 | ||
759 | fOutput->Add(fHistMK0PtCent0005); | |
760 | fOutput->Add(fHistMLaPtCent0005); | |
761 | fOutput->Add(fHistMLbPtCent0005); | |
762 | fOutput->Add(fHistMcPMK0PtCent0005); | |
763 | fOutput->Add(fHistMcPMLaPtCent0005); | |
764 | fOutput->Add(fHistMcPMLbPtCent0005); | |
5a4be586 | 765 | fOutput->Add(fHistMcAsMK0PtCent0005); |
766 | fOutput->Add(fHistMcAsMLaPtCent0005); | |
767 | fOutput->Add(fHistMcAsMLbPtCent0005); | |
12ca6c45 | 768 | fOutput->Add(fHistZVertexCent0005); |
769 | fOutput->Add(fHistMCZVertexCent0005); | |
770 | ||
771 | fOutput->Add(fHistMK0PtCent0510); | |
772 | fOutput->Add(fHistMLaPtCent0510); | |
773 | fOutput->Add(fHistMLbPtCent0510); | |
774 | fOutput->Add(fHistMcPMK0PtCent0510); | |
775 | fOutput->Add(fHistMcPMLaPtCent0510); | |
776 | fOutput->Add(fHistMcPMLbPtCent0510); | |
5a4be586 | 777 | fOutput->Add(fHistMcAsMK0PtCent0510); |
778 | fOutput->Add(fHistMcAsMLaPtCent0510); | |
779 | fOutput->Add(fHistMcAsMLbPtCent0510); | |
12ca6c45 | 780 | fOutput->Add(fHistZVertexCent0510); |
781 | fOutput->Add(fHistMCZVertexCent0510); | |
782 | ||
783 | fOutput->Add(fHistMK0PtCent1020); | |
784 | fOutput->Add(fHistMLaPtCent1020); | |
785 | fOutput->Add(fHistMLbPtCent1020); | |
786 | fOutput->Add(fHistMcPMK0PtCent1020); | |
787 | fOutput->Add(fHistMcPMLaPtCent1020); | |
788 | fOutput->Add(fHistMcPMLbPtCent1020); | |
5a4be586 | 789 | fOutput->Add(fHistMcAsMK0PtCent1020); |
790 | fOutput->Add(fHistMcAsMLaPtCent1020); | |
791 | fOutput->Add(fHistMcAsMLbPtCent1020); | |
12ca6c45 | 792 | fOutput->Add(fHistZVertexCent1020); |
793 | fOutput->Add(fHistMCZVertexCent1020); | |
794 | ||
795 | fOutput->Add(fHistMK0PtCent2040); | |
796 | fOutput->Add(fHistMLaPtCent2040); | |
797 | fOutput->Add(fHistMLbPtCent2040); | |
798 | fOutput->Add(fHistMcPMK0PtCent2040); | |
799 | fOutput->Add(fHistMcPMLaPtCent2040); | |
800 | fOutput->Add(fHistMcPMLbPtCent2040); | |
5a4be586 | 801 | fOutput->Add(fHistMcAsMK0PtCent2040); |
802 | fOutput->Add(fHistMcAsMLaPtCent2040); | |
803 | fOutput->Add(fHistMcAsMLbPtCent2040); | |
12ca6c45 | 804 | fOutput->Add(fHistZVertexCent2040); |
805 | fOutput->Add(fHistMCZVertexCent2040); | |
806 | ||
807 | fOutput->Add(fHistMK0PtCent4060); | |
808 | fOutput->Add(fHistMLaPtCent4060); | |
809 | fOutput->Add(fHistMLbPtCent4060); | |
810 | fOutput->Add(fHistMcPMK0PtCent4060); | |
811 | fOutput->Add(fHistMcPMLaPtCent4060); | |
812 | fOutput->Add(fHistMcPMLbPtCent4060); | |
5a4be586 | 813 | fOutput->Add(fHistMcAsMK0PtCent4060); |
814 | fOutput->Add(fHistMcAsMLaPtCent4060); | |
815 | fOutput->Add(fHistMcAsMLbPtCent4060); | |
12ca6c45 | 816 | fOutput->Add(fHistZVertexCent4060); |
817 | fOutput->Add(fHistMCZVertexCent4060); | |
818 | ||
819 | fOutput->Add(fHistMK0PtCent6090); | |
820 | fOutput->Add(fHistMLaPtCent6090); | |
821 | fOutput->Add(fHistMLbPtCent6090); | |
822 | fOutput->Add(fHistMcPMK0PtCent6090); | |
823 | fOutput->Add(fHistMcPMLaPtCent6090); | |
824 | fOutput->Add(fHistMcPMLbPtCent6090); | |
5a4be586 | 825 | fOutput->Add(fHistMcAsMK0PtCent6090); |
826 | fOutput->Add(fHistMcAsMLaPtCent6090); | |
827 | fOutput->Add(fHistMcAsMLbPtCent6090); | |
12ca6c45 | 828 | fOutput->Add(fHistZVertexCent6090); |
829 | fOutput->Add(fHistMCZVertexCent6090); | |
830 | ||
831 | fOutput->Add(fHistMK0PtCent0090); | |
832 | fOutput->Add(fHistMLaPtCent0090); | |
833 | fOutput->Add(fHistMLbPtCent0090); | |
834 | fOutput->Add(fHistMcPMK0PtCent0090); | |
835 | fOutput->Add(fHistMcPMLaPtCent0090); | |
836 | fOutput->Add(fHistMcPMLbPtCent0090); | |
5a4be586 | 837 | fOutput->Add(fHistMcAsMK0PtCent0090); |
838 | fOutput->Add(fHistMcAsMLaPtCent0090); | |
839 | fOutput->Add(fHistMcAsMLbPtCent0090); | |
12ca6c45 | 840 | fOutput->Add(fHistZVertexCent0090); |
841 | fOutput->Add(fHistMCZVertexCent0090); | |
842 | ||
5a4be586 | 843 | fOutput->Add(fHistCosPaMLa); |
844 | fOutput->Add(fHistCosPaMLb); | |
845 | fOutput->Add(fHistCosPaMK0); | |
846 | fOutput->Add(fHistMcGenCosPaMLa); | |
847 | fOutput->Add(fHistMcGenCosPaMLb); | |
848 | fOutput->Add(fHistMcGenCosPaMK0); | |
849 | fOutput->Add(fHistMcAsReconCosPaMLa); | |
850 | fOutput->Add(fHistMcAsReconCosPaMLb); | |
851 | fOutput->Add(fHistMcAsReconCosPaMK0); | |
852 | fOutput->Add(fHistMcAsTruthCosPaMLa); | |
853 | fOutput->Add(fHistMcAsTruthCosPaMLb); | |
854 | fOutput->Add(fHistMcAsTruthCosPaMK0); | |
855 | ||
856 | ||
857 | fOutput->Add(fHistcTauMLa); | |
858 | fOutput->Add(fHistcTauMLb); | |
859 | fOutput->Add(fHistcTauMK0); | |
860 | fOutput->Add(fHistMcGencTauMLa); | |
861 | fOutput->Add(fHistMcGencTauMLb); | |
862 | fOutput->Add(fHistMcGencTauMK0); | |
863 | fOutput->Add(fHistMcAsReconcTauMLa); | |
864 | fOutput->Add(fHistMcAsReconcTauMLb); | |
865 | fOutput->Add(fHistMcAsReconcTauMK0); | |
866 | fOutput->Add(fHistMcAsTruthcTauMLa); | |
867 | fOutput->Add(fHistMcAsTruthcTauMLb); | |
868 | fOutput->Add(fHistMcAsTruthcTauMK0); | |
869 | ||
870 | fOutput->Add(fHistDcaMLa); | |
871 | fOutput->Add(fHistDcaMLb); | |
872 | fOutput->Add(fHistDcaMK0); | |
873 | fOutput->Add(fHistMcGenDcaMLa); | |
874 | fOutput->Add(fHistMcGenDcaMLb); | |
875 | fOutput->Add(fHistMcGenDcaMK0); | |
876 | fOutput->Add(fHistMcAsReconDcaMLa); | |
877 | fOutput->Add(fHistMcAsReconDcaMLb); | |
878 | fOutput->Add(fHistMcAsReconDcaMK0); | |
879 | fOutput->Add(fHistMcAsTruthDcaMLa); | |
880 | fOutput->Add(fHistMcAsTruthDcaMLb); | |
881 | fOutput->Add(fHistMcAsTruthDcaMK0); | |
882 | ||
883 | fOutput->Add(fHistNSigmaMLa); | |
884 | fOutput->Add(fHistNSigmaMLb); | |
885 | fOutput->Add(fHistNSigmaMK0); | |
886 | fOutput->Add(fHistMcGenNSigmaMLa); | |
887 | fOutput->Add(fHistMcGenNSigmaMLb); | |
888 | fOutput->Add(fHistMcGenNSigmaMK0); | |
889 | fOutput->Add(fHistMcAsReconNSigmaMLa); | |
890 | fOutput->Add(fHistMcAsReconNSigmaMLb); | |
891 | fOutput->Add(fHistMcAsReconNSigmaMK0); | |
892 | fOutput->Add(fHistMcAsTruthNSigmaMLa); | |
893 | fOutput->Add(fHistMcAsTruthNSigmaMLb); | |
894 | fOutput->Add(fHistMcAsTruthNSigmaMK0); | |
895 | ||
896 | fOutput->Add(fHistEtaMLa); | |
897 | fOutput->Add(fHistEtaMLb); | |
898 | fOutput->Add(fHistEtaMK0); | |
899 | fOutput->Add(fHistMcGenEtaMLa); | |
900 | fOutput->Add(fHistMcGenEtaMLb); | |
901 | fOutput->Add(fHistMcGenEtaMK0); | |
902 | fOutput->Add(fHistMcAsReconEtaMLa); | |
903 | fOutput->Add(fHistMcAsReconEtaMLb); | |
904 | fOutput->Add(fHistMcAsReconEtaMK0); | |
905 | fOutput->Add(fHistMcAsTruthEtaMLa); | |
906 | fOutput->Add(fHistMcAsTruthEtaMLb); | |
907 | fOutput->Add(fHistMcAsTruthEtaMK0); | |
908 | ||
909 | fOutput->Add(fHistRapMLa); | |
910 | fOutput->Add(fHistRapMLb); | |
911 | fOutput->Add(fHistRapMK0); | |
912 | fOutput->Add(fHistMcGenRapMLa); | |
913 | fOutput->Add(fHistMcGenRapMLb); | |
914 | fOutput->Add(fHistMcGenRapMK0); | |
915 | fOutput->Add(fHistMcAsReconRapMLa); | |
916 | fOutput->Add(fHistMcAsReconRapMLb); | |
917 | fOutput->Add(fHistMcAsReconRapMK0); | |
918 | fOutput->Add(fHistMcAsTruthRapMLa); | |
919 | fOutput->Add(fHistMcAsTruthRapMLb); | |
920 | fOutput->Add(fHistMcAsTruthRapMK0); | |
921 | ||
922 | fOutput->Add(fHistArmPodK0); | |
923 | fOutput->Add(fHistArmPodLa); | |
924 | fOutput->Add(fHistArmPodLb); | |
925 | fOutput->Add(fHistMcGenArmPodK0); | |
926 | fOutput->Add(fHistMcGenArmPodLa); | |
927 | fOutput->Add(fHistMcGenArmPodLb); | |
928 | fOutput->Add(fHistMcAsReconArmPodK0); | |
929 | fOutput->Add(fHistMcAsReconArmPodLa); | |
930 | fOutput->Add(fHistMcAsReconArmPodLb); | |
931 | fOutput->Add(fHistMcAsTruthArmPodK0); | |
932 | fOutput->Add(fHistMcAsTruthArmPodLa); | |
933 | fOutput->Add(fHistMcAsTruthArmPodLb); | |
12ca6c45 | 934 | |
935 | // NEW HISTO added to fOutput here | |
936 | PostData(1, fOutput); // Post data for ALL output slots >0 here, to get at least an empty histogram | |
937 | } | |
938 | ||
5a4be586 | 939 | //________________________________________________________________________ |
376a27f9 | 940 | /* |
5a4be586 | 941 | static Bool_t checkPrimaryStatus(const AliAODMCParticle *mcPart, double pVx, double pVy, double pVz) |
942 | { | |
943 | double dx = pVx - mcPart->Xv(); | |
944 | double dy = pVy - mcPart->Yv(); | |
945 | double dz = pVz - mcPart->Zv(); | |
946 | ||
947 | double prodVertex = TMath::Sqrt(dx*dx+dy*dy+dz*dz); | |
948 | if(prodVertex <= 0.001) {return true;} | |
949 | ||
950 | return false; | |
951 | } | |
376a27f9 | 952 | */ |
5a4be586 | 953 | |
12ca6c45 | 954 | //________________________________________________________________________ |
bbfb6fac | 955 | |
60dfeffb | 956 | static Bool_t AcceptTrack(const AliAODTrack *t, double fcutMinNClustersTPC, double fcutRatio) |
12ca6c45 | 957 | { |
958 | if (!t->IsOn(AliAODTrack::kTPCrefit)) return kFALSE; | |
959 | //if (t->GetKinkIndex(0)>0) return kFALSE; | |
960 | ||
bbfb6fac | 961 | Float_t nCrossedRowsTPC = t->GetTPCClusterInfo(2,1); |
60dfeffb | 962 | if (nCrossedRowsTPC < fcutMinNClustersTPC && fcutMinNClustersTPC != -999) return kFALSE; |
bbfb6fac | 963 | Int_t findable=t->GetTPCNclsF(); |
12ca6c45 | 964 | if (findable <= 0) return kFALSE; |
60dfeffb | 965 | if (nCrossedRowsTPC/findable < fcutRatio && fcutRatio != -999) return kFALSE; |
12ca6c45 | 966 | |
967 | return kTRUE; | |
968 | } | |
969 | ||
970 | //________________________________________________________________________ | |
60dfeffb | 971 | static Bool_t AcceptV0_general(const AliAODv0 *v1, const AliAODEvent *aod, double fcutCosPa, double fcutNImpact, double fcutDCA, double fcutEta, double fcutMinNClustersTPC, double fcutRatio) |
12ca6c45 | 972 | { |
973 | ||
974 | if (v1->GetOnFlyStatus()) return kFALSE; | |
975 | ||
12ca6c45 | 976 | int nnum = 1, pnum = 0; |
977 | const AliAODTrack *ntracktest=(AliAODTrack *)v1->GetDaughter(nnum); | |
978 | if(ntracktest->Charge() > 0){nnum = 0; pnum = 1;} | |
979 | ||
980 | const AliAODTrack *ntrack1=(AliAODTrack *)v1->GetDaughter(nnum); | |
60dfeffb | 981 | if (!AcceptTrack(ntrack1, fcutMinNClustersTPC, fcutRatio)) return kFALSE; |
12ca6c45 | 982 | |
983 | const AliAODTrack *ptrack1=(AliAODTrack *)v1->GetDaughter(pnum); | |
60dfeffb | 984 | if (!AcceptTrack(ptrack1, fcutMinNClustersTPC, fcutRatio)) return kFALSE; |
12ca6c45 | 985 | |
12ca6c45 | 986 | Float_t impact=v1->DcaNegToPrimVertex(); |
987 | if (TMath::Abs(impact)<0.1) return kFALSE; | |
60dfeffb | 988 | if (TMath::Abs(impact)<fcutNImpact && fcutNImpact != -999) return kFALSE; |
12ca6c45 | 989 | impact=v1->DcaPosToPrimVertex(); |
990 | if (TMath::Abs(impact)<0.1) return kFALSE; | |
60dfeffb | 991 | if (TMath::Abs(impact)<fcutNImpact && fcutNImpact != -999) return kFALSE; |
12ca6c45 | 992 | |
12ca6c45 | 993 | Double_t dca=v1->DcaV0Daughters(); |
60dfeffb | 994 | if (TMath::Abs(dca)>fcutDCA && fcutDCA != -999) return kFALSE; |
12ca6c45 | 995 | |
12ca6c45 | 996 | Double_t cpa=v1->CosPointingAngle(aod->GetPrimaryVertex()); |
60dfeffb | 997 | if (cpa<fcutCosPa && fcutCosPa != -999) return kFALSE; |
12ca6c45 | 998 | |
12ca6c45 | 999 | Double_t etaN = v1->PseudoRapNeg(); |
1000 | Double_t etaP = v1->PseudoRapPos(); | |
60dfeffb | 1001 | if ((TMath::Abs(etaN)>fcutEta || TMath::Abs(etaP)>fcutEta) && fcutEta != -999) return kFALSE; |
12ca6c45 | 1002 | |
1003 | return kTRUE; | |
1004 | } | |
1005 | ||
1006 | //________________________________________________________________________ | |
5a4be586 | 1007 | static Bool_t AcceptV0_particle(const AliAODv0 *v1, int type, double fcutcTauMin, double fcutRapidity, Double_t decayL, double fcutNcTauMax) |
12ca6c45 | 1008 | { |
bbfb6fac | 1009 | |
12ca6c45 | 1010 | Double_t cTau = 0; |
1011 | if(type == 1) | |
1012 | {cTau = decayL*(v1->MassLambda())/(v1->P());} | |
1013 | if(type == 2) | |
1014 | {cTau = decayL*(v1->MassAntiLambda())/(v1->P());} | |
1015 | if(type == 0) | |
1016 | {cTau = decayL*(v1->MassK0Short())/(v1->P());} | |
1017 | ||
5a4be586 | 1018 | if (cTau < fcutcTauMin && fcutcTauMin != -999 ) return kFALSE; |
1019 | ||
1020 | if (cTau > (fcutNcTauMax*7.89) && fcutNcTauMax != -999 && (type ==1 || type ==2)) return kFALSE; | |
1021 | if (cTau > (fcutNcTauMax*2.68) && fcutNcTauMax != -999 && (type ==0)) return kFALSE; | |
1022 | ||
12ca6c45 | 1023 | |
12ca6c45 | 1024 | Double_t rap = 0; |
1025 | if(type == 1 || type == 2) | |
1026 | {rap = v1->RapLambda();} | |
1027 | if(type == 0) | |
1028 | {rap = v1->RapK0Short();} | |
60dfeffb | 1029 | if (TMath::Abs(rap)>fcutRapidity && fcutRapidity != -999) return kFALSE; |
12ca6c45 | 1030 | |
1031 | return kTRUE; | |
1032 | } | |
1033 | ||
1034 | //________________________________________________________________________ | |
376a27f9 | 1035 | static Bool_t AcceptV0_lowpt(const AliAODv0 *v1, AliPIDResponse *PIDResponse,int type, double fcutBetheBloch, bool fIsMonteCarlo) |
12ca6c45 | 1036 | { |
1037 | ||
12ca6c45 | 1038 | int nnum = 1, pnum = 0; |
1039 | const AliAODTrack *ntracktest=(AliAODTrack *)v1->GetDaughter(nnum); | |
1040 | if(ntracktest->Charge() > 0){nnum = 0; pnum = 1;} | |
1041 | ||
1042 | const AliAODTrack *ntrack1=(AliAODTrack *)v1->GetDaughter(nnum); | |
1043 | const AliAODTrack *ptrack1=(AliAODTrack *)v1->GetDaughter(pnum); | |
1044 | ||
1045 | Double_t nsig_p = 0; | |
1046 | Double_t nsig_n = 0; | |
1047 | ||
1048 | const AliAODPid *pid_p=ptrack1->GetDetPid(); | |
1049 | const AliAODPid *pid_n=ntrack1->GetDetPid(); | |
1050 | ||
1051 | if (pid_p) | |
1052 | { | |
1053 | if(type == 1) | |
484c6e75 | 1054 | { |
1055 | nsig_p=PIDResponse->NumberOfSigmasTPC(ptrack1,AliPID::kProton); | |
60dfeffb | 1056 | if (TMath::Abs(nsig_p) > fcutBetheBloch && fcutBetheBloch >0 && !fIsMonteCarlo && ptrack1->P() <= 1) return kFALSE; |
484c6e75 | 1057 | } |
12ca6c45 | 1058 | |
484c6e75 | 1059 | if(type == 2) |
1060 | { | |
1061 | nsig_p=PIDResponse->NumberOfSigmasTPC(ptrack1,AliPID::kProton); | |
60dfeffb | 1062 | if (TMath::Abs(nsig_p) <= fcutBetheBloch && fcutBetheBloch >0 && !fIsMonteCarlo && ptrack1->P() <= 1) return kFALSE; |
484c6e75 | 1063 | } |
5a4be586 | 1064 | |
12ca6c45 | 1065 | } |
1066 | ||
1067 | if (pid_n) | |
1068 | { | |
1069 | if(type == 2) | |
484c6e75 | 1070 | { |
1071 | nsig_n=PIDResponse->NumberOfSigmasTPC(ntrack1,AliPID::kProton); | |
60dfeffb | 1072 | if (TMath::Abs(nsig_n) > fcutBetheBloch && fcutBetheBloch >0 && !fIsMonteCarlo && ntrack1->P() <= 1) return kFALSE; |
484c6e75 | 1073 | } |
12ca6c45 | 1074 | |
484c6e75 | 1075 | if(type == 1) |
1076 | { | |
1077 | nsig_n=PIDResponse->NumberOfSigmasTPC(ntrack1,AliPID::kProton); | |
60dfeffb | 1078 | if (TMath::Abs(nsig_n) <= fcutBetheBloch && fcutBetheBloch >0 && !fIsMonteCarlo && ntrack1->P() <= 1) return kFALSE; |
484c6e75 | 1079 | } |
5a4be586 | 1080 | |
1081 | ||
12ca6c45 | 1082 | } |
1083 | ||
1084 | return kTRUE; | |
1085 | } | |
1086 | ||
1087 | ||
1088 | //________________________________________________________________________ | |
8a7cb9cc | 1089 | void AliAnalysisTaskLukeAOD::UserExec(Option_t *) |
12ca6c45 | 1090 | { |
1091 | // Main loop | |
1092 | // Called for each event | |
1093 | ||
1094 | fHistLog->Fill(1); | |
1095 | ||
60dfeffb | 1096 | // parameters used for most fcuts, to minimise editing |
1097 | //double fcutCosPa(0.998), fcutcTauMin(-999), fcutNcTauMax(3.0); | |
1098 | double fcutNImpact(-999), fcutDCA(-999); | |
1099 | //double fcutBetheBloch(3.0); // NOTE - BB fcut only applies to data, must be accounted for when constructing corrected yields | |
1100 | //double fcutMinNClustersTPC(70), fcutRatio(0.8); | |
1101 | //bool fIsMonteCarlo(false); | |
484c6e75 | 1102 | int isMCtype(0); //1 = Pure Hijing only, 0 = Anything, -1 = Injected only |
60dfeffb | 1103 | //double fcutEta(0.8), fcutRapidity(0.5), fcutArmenteros(0.2); |
12ca6c45 | 1104 | |
5a4be586 | 1105 | Double_t mcXv=0., mcYv=0., mcZv=0.; |
1106 | ||
12ca6c45 | 1107 | // Create pointer to reconstructed event |
1108 | AliAODEvent *aod=(AliAODEvent *)InputEvent(); | |
1109 | if (!aod) | |
1110 | { | |
1111 | Printf("ERROR: aod not available"); | |
1112 | fHistLog->Fill(98); | |
1113 | return; | |
1114 | } | |
1115 | ||
bbfb6fac | 1116 | |
12ca6c45 | 1117 | //Bool_t isSelected = (maskIsSelected && AliVEvent::kMB); |
1118 | /*if (!isSelected) | |
1119 | { | |
1120 | Printf("ERROR: failed physics selection"); | |
1121 | fHistLog->Fill(88); | |
1122 | return; | |
1123 | }*/ | |
1124 | ||
12ca6c45 | 1125 | AliCentrality* centrality = aod->GetCentrality(); |
1126 | Double_t centPercentile = centrality->GetCentralityPercentile("V0M"); | |
1127 | fHistCentrality->Fill(centPercentile); | |
1128 | ||
1129 | /********MC Loop************************************/ | |
1130 | ||
bbfb6fac | 1131 | int isInjected = -1; |
1132 | ||
60dfeffb | 1133 | if(fIsMonteCarlo) |
12ca6c45 | 1134 | { |
1135 | ||
1136 | // Create pointer to reconstructed event | |
1137 | TList *list = aod->GetList(); | |
1138 | TClonesArray *stack = 0x0; | |
1139 | stack = (TClonesArray*)list->FindObject(AliAODMCParticle::StdBranchName()); | |
1140 | if (!stack) { | |
1141 | Printf("ERROR: stack not available"); | |
1142 | fHistLog->Fill(84); | |
1143 | } | |
1144 | else{ | |
1145 | ||
1146 | AliAODMCHeader *mcHdr=(AliAODMCHeader*)list->FindObject(AliAODMCHeader::StdBranchName()); | |
1147 | ||
12ca6c45 | 1148 | mcXv=mcHdr->GetVtxX(); mcYv=mcHdr->GetVtxY(); mcZv=mcHdr->GetVtxZ(); |
1149 | if (TMath::Abs(mcZv) > 10.) | |
1150 | { | |
1151 | fHistLog->Fill(76); | |
1152 | } | |
1153 | else{ | |
12ca6c45 | 1154 | fHistMCZVertex->Fill(mcZv); |
1155 | ||
1156 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) | |
1157 | {fHistMCZVertexCent0005->Fill(mcZv);} | |
1158 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1159 | {fHistMCZVertexCent0510->Fill(mcZv);} | |
1160 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1161 | {fHistMCZVertexCent1020->Fill(mcZv);} | |
1162 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1163 | {fHistMCZVertexCent2040->Fill(mcZv);} | |
1164 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1165 | {fHistMCZVertexCent4060->Fill(mcZv);} | |
1166 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1167 | {fHistMCZVertexCent6090->Fill(mcZv);} | |
1168 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1169 | {fHistMCZVertexCent0090->Fill(mcZv);} | |
1170 | ||
1171 | ||
1172 | Int_t ntrk=stack->GetEntriesFast(), ntrk0=ntrk; | |
1173 | ||
1174 | for(int iMCtrack = 0; iMCtrack<ntrk0; iMCtrack++) | |
1175 | ||
1176 | { | |
bbfb6fac | 1177 | |
12ca6c45 | 1178 | //booleans to check if track is La, Lb, K0 and primary |
1179 | bool lambdaMC = false; | |
1180 | bool antilambdaMC = false; | |
1181 | bool kshortMC = false; | |
1182 | bool isprimaryMC = false; | |
1183 | ||
1184 | AliAODMCParticle *mcPart =(AliAODMCParticle*)stack->UncheckedAt(iMCtrack); | |
1185 | ||
bbfb6fac | 1186 | if ((mcPart->GetStatus() == 21) || (mcPart->GetPdgCode() == 443 && mcPart->GetMother() == -1)) |
1187 | { | |
1188 | isInjected = iMCtrack; | |
1189 | } | |
1190 | ||
1191 | if(isInjected >= 0 && isMCtype == 1) | |
1192 | {continue;} | |
1193 | if(isInjected < 0 && isMCtype == -1) | |
1194 | {continue;} | |
1195 | ||
12ca6c45 | 1196 | Int_t code=mcPart->GetPdgCode(); |
1197 | if (code != kK0Short && code != kLambda0 && code != kLambda0Bar ) | |
1198 | {continue;} | |
1199 | ||
1200 | if(code == kLambda0) | |
1201 | { | |
1202 | lambdaMC = true; | |
1203 | } | |
1204 | else if(code == kK0Short) | |
1205 | { | |
1206 | kshortMC = true; | |
1207 | } | |
1208 | else if(code == kLambda0Bar) | |
1209 | { | |
1210 | antilambdaMC = true; | |
1211 | } | |
1212 | ||
1213 | ||
1214 | Int_t motherLabel = mcPart->GetMother(); | |
1215 | AliAODMCParticle *mcMother = (AliAODMCParticle *)stack->UncheckedAt(motherLabel); | |
1216 | Int_t motherType = -1; | |
1217 | if(motherLabel >= 0) | |
1218 | {motherType = mcMother->GetPdgCode();} | |
1219 | ||
5a4be586 | 1220 | // this block of code is used to include primary Sigma0 decays as primary lambda/antilambda |
12ca6c45 | 1221 | bool sigma0MC = false; |
bbfb6fac | 1222 | if(motherType == 3212 || motherType == -3212)// || motherType == 3322 || motherType == -3322 || motherType == 3312 || motherType == -3312) |
12ca6c45 | 1223 | { |
5a4be586 | 1224 | if(mcMother->IsPhysicalPrimary() && (lambdaMC || antilambdaMC)) |
1225 | //if(checkPrimaryStatus(mcMother, mcXv, mcYv, mcZv)) | |
12ca6c45 | 1226 | {sigma0MC = true;} |
1227 | } | |
1228 | ||
12ca6c45 | 1229 | |
1230 | if(mcPart->IsPhysicalPrimary() || sigma0MC) | |
5a4be586 | 1231 | //if(checkPrimaryStatus(mcPart, mcXv, mcYv, mcZv) || sigma0MC) |
12ca6c45 | 1232 | { |
1233 | isprimaryMC = true; | |
1234 | if(lambdaMC) | |
1235 | { | |
60dfeffb | 1236 | if(TMath::Abs(mcPart->Y())<=fcutRapidity) |
12ca6c45 | 1237 | { |
1238 | fHistMcPMLaPt->Fill(mcPart->Pt(),mcPart->M()); | |
1239 | ||
1240 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) | |
1241 | {fHistMcPMLaPtCent0005->Fill(mcPart->Pt(),mcPart->M());} | |
1242 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1243 | {fHistMcPMLaPtCent0510->Fill(mcPart->Pt(),mcPart->M());} | |
1244 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1245 | {fHistMcPMLaPtCent1020->Fill(mcPart->Pt(),mcPart->M());} | |
1246 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1247 | {fHistMcPMLaPtCent2040->Fill(mcPart->Pt(),mcPart->M());} | |
1248 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1249 | {fHistMcPMLaPtCent4060->Fill(mcPart->Pt(),mcPart->M());} | |
1250 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1251 | {fHistMcPMLaPtCent6090->Fill(mcPart->Pt(),mcPart->M());} | |
5a4be586 | 1252 | |
12ca6c45 | 1253 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) |
1254 | {fHistMcPMLaPtCent0090->Fill(mcPart->Pt(),mcPart->M());} | |
12ca6c45 | 1255 | } |
1256 | } | |
1257 | if(antilambdaMC) | |
1258 | { | |
60dfeffb | 1259 | if(TMath::Abs(mcPart->Y())<=fcutRapidity) |
12ca6c45 | 1260 | { |
1261 | fHistMcPMLbPt->Fill(mcPart->Pt(),mcPart->M()); | |
1262 | ||
1263 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) | |
1264 | {fHistMcPMLbPtCent0005->Fill(mcPart->Pt(),mcPart->M());} | |
1265 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1266 | {fHistMcPMLbPtCent0510->Fill(mcPart->Pt(),mcPart->M());} | |
1267 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1268 | {fHistMcPMLbPtCent1020->Fill(mcPart->Pt(),mcPart->M());} | |
1269 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1270 | {fHistMcPMLbPtCent2040->Fill(mcPart->Pt(),mcPart->M());} | |
1271 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1272 | {fHistMcPMLbPtCent4060->Fill(mcPart->Pt(),mcPart->M());} | |
1273 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1274 | {fHistMcPMLbPtCent6090->Fill(mcPart->Pt(),mcPart->M());} | |
1275 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1276 | {fHistMcPMLbPtCent0090->Fill(mcPart->Pt(),mcPart->M());} | |
1277 | ||
12ca6c45 | 1278 | } |
1279 | } | |
1280 | if(kshortMC) | |
1281 | { | |
60dfeffb | 1282 | if(TMath::Abs(mcPart->Y())<=fcutRapidity) |
12ca6c45 | 1283 | { |
1284 | fHistMcPMK0Pt->Fill(mcPart->Pt(),mcPart->M()); | |
1285 | ||
1286 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) | |
1287 | {fHistMcPMK0PtCent0005->Fill(mcPart->Pt(),mcPart->M());} | |
1288 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1289 | {fHistMcPMK0PtCent0510->Fill(mcPart->Pt(),mcPart->M());} | |
1290 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1291 | {fHistMcPMK0PtCent1020->Fill(mcPart->Pt(),mcPart->M());} | |
1292 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1293 | {fHistMcPMK0PtCent2040->Fill(mcPart->Pt(),mcPart->M());} | |
1294 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1295 | {fHistMcPMK0PtCent4060->Fill(mcPart->Pt(),mcPart->M());} | |
1296 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1297 | {fHistMcPMK0PtCent6090->Fill(mcPart->Pt(),mcPart->M());} | |
1298 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1299 | {fHistMcPMK0PtCent0090->Fill(mcPart->Pt(),mcPart->M());} | |
1300 | ||
12ca6c45 | 1301 | } |
1302 | } | |
1303 | } | |
1304 | ||
1305 | ||
5a4be586 | 1306 | Int_t daughter0Label = mcPart->GetDaughter(0); |
1307 | AliAODMCParticle *mcDaughter0 = (AliAODMCParticle *)stack->UncheckedAt(daughter0Label); | |
1308 | Int_t daughter0Type = -1; | |
1309 | if(daughter0Label >= 0) | |
1310 | {daughter0Type = mcDaughter0->GetPdgCode();} | |
12ca6c45 | 1311 | |
5a4be586 | 1312 | Int_t daughter1Label = mcPart->GetDaughter(1); |
1313 | AliAODMCParticle *mcDaughter1 = (AliAODMCParticle *)stack->UncheckedAt(daughter1Label); | |
1314 | Int_t daughter1Type = -1; | |
1315 | if(daughter1Label >= 1) | |
1316 | {daughter1Type = mcDaughter1->GetPdgCode();} | |
1317 | ||
1318 | if( isprimaryMC && kshortMC && TMath::Abs(daughter0Type) == 211 && TMath::Abs(daughter1Type) == 211) | |
1319 | { | |
1320 | Double_t dz=mcDaughter0->Zv() - mcZv, dy= mcDaughter0->Yv() - mcYv, dx= mcDaughter0->Xv() - mcXv; | |
1321 | Double_t mcDecayLength = TMath::Sqrt(dx*dx + dy*dy + dz*dz); | |
1322 | Double_t mccTau = mcDecayLength*(mcPart->M())/(mcPart->P()); | |
1323 | Double_t mcCosPA = (dx*mcPart->Px()+dy*mcPart->Py()+dz*mcPart->Pz())/(mcDecayLength*mcPart->P()); | |
1324 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1325 | { | |
1326 | fHistMcGenCosPaMK0->Fill(mcCosPA,mcPart->M()); | |
1327 | fHistMcGencTauMK0->Fill(mccTau,mcPart->M()); | |
1328 | fHistMcGenDcaMK0->Fill(1,mcPart->M()); | |
1329 | fHistMcGenNSigmaMK0->Fill(1.0,mcPart->M()); | |
1330 | fHistMcGenEtaMK0->Fill(mcPart->Eta(),mcPart->M()); | |
1331 | fHistMcGenRapMK0->Fill(mcPart->Y(),mcPart->M()); | |
1332 | fHistMcGenArmPodK0->Fill(1.0,1.0); | |
1333 | } | |
1334 | ||
1335 | } | |
1336 | ||
1337 | ||
1338 | if( isprimaryMC && lambdaMC && ((daughter0Type == -211 && daughter1Type == 2212) || (daughter1Type == -211 && daughter0Type == 2212)) ) | |
1339 | { | |
1340 | Double_t dz=mcDaughter0->Zv() - mcZv, dy= mcDaughter0->Yv() - mcYv, dx= mcDaughter0->Xv() - mcXv; | |
1341 | Double_t mcDecayLength = TMath::Sqrt(dx*dx + dy*dy + dz*dz); | |
1342 | Double_t mccTau = mcDecayLength*(mcPart->M())/(mcPart->P()); | |
1343 | Double_t mcCosPA = (dx*mcPart->Px()+dy*mcPart->Py()+dz*mcPart->Pz())/(mcDecayLength*mcPart->P()); | |
1344 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1345 | { | |
1346 | fHistMcGenCosPaMLa->Fill(mcCosPA,mcPart->M()); | |
1347 | fHistMcGencTauMLa->Fill(mccTau,mcPart->M()); | |
1348 | fHistMcGenDcaMLa->Fill(1,mcPart->M()); | |
1349 | fHistMcGenNSigmaMLa->Fill(1.0,mcPart->M()); | |
1350 | fHistMcGenEtaMLa->Fill(mcPart->Eta(),mcPart->M()); | |
1351 | fHistMcGenRapMLa->Fill(mcPart->Y(),mcPart->M()); | |
1352 | fHistMcGenArmPodLa->Fill(1.0,1.0); | |
1353 | } | |
1354 | ||
1355 | } | |
1356 | ||
1357 | ||
1358 | if( isprimaryMC && antilambdaMC && ((daughter0Type == 211 && daughter1Type == -2212) || (daughter1Type == 211 && daughter0Type == -2212)) ) | |
1359 | { | |
1360 | Double_t dz=mcDaughter0->Zv() - mcZv, dy= mcDaughter0->Yv() - mcYv, dx= mcDaughter0->Xv() - mcXv; | |
1361 | Double_t mcDecayLength = TMath::Sqrt(dx*dx + dy*dy + dz*dz); | |
1362 | Double_t mccTau = mcDecayLength*(mcPart->M())/(mcPart->P()); | |
1363 | Double_t mcCosPA = (dx*mcPart->Px()+dy*mcPart->Py()+dz*mcPart->Pz())/(mcDecayLength*mcPart->P()); | |
1364 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1365 | { | |
1366 | fHistMcGenCosPaMLb->Fill(mcCosPA,mcPart->M()); | |
1367 | fHistMcGencTauMLb->Fill(mccTau,mcPart->M()); | |
1368 | fHistMcGenDcaMLb->Fill(1,mcPart->M()); | |
1369 | fHistMcGenNSigmaMLb->Fill(1.0,mcPart->M()); | |
1370 | fHistMcGenEtaMLb->Fill(mcPart->Eta(),mcPart->M()); | |
1371 | fHistMcGenRapMLb->Fill(mcPart->Y(),mcPart->M()); | |
1372 | fHistMcGenArmPodLb->Fill(1.0,1.0); | |
1373 | } | |
1374 | ||
1375 | } | |
12ca6c45 | 1376 | } |
1377 | ||
1378 | } | |
1379 | } | |
1380 | } | |
1381 | ||
1382 | /********End of MC************************************/ | |
1383 | ||
1384 | // Find vertex, check if its good | |
1385 | const AliAODVertex *vtx=aod->GetPrimaryVertex(); | |
1386 | ||
1387 | if (!vtx) | |
1388 | { | |
1389 | fHistLog->Fill(97); | |
1390 | return; | |
1391 | } | |
1392 | ||
1393 | ||
1394 | if (vtx->GetNContributors()<3) | |
1395 | { | |
1396 | fHistLog->Fill(vtx->GetNContributors()+20); | |
1397 | fHistLog->Fill(97); | |
1398 | return; | |
1399 | } | |
1400 | ||
12ca6c45 | 1401 | Double_t zv=vtx->GetZ(), xv=vtx->GetX(), yv=vtx->GetY(); |
1402 | ||
1403 | if (TMath::Abs(zv) > 10.) | |
1404 | { | |
1405 | fHistLog->Fill(96); | |
1406 | return; | |
1407 | } | |
1408 | ||
1409 | fHistZVertex->Fill(zv); | |
1410 | ||
12ca6c45 | 1411 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) |
1412 | {fHistZVertexCent0005->Fill(zv);} | |
1413 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1414 | {fHistZVertexCent0510->Fill(zv);} | |
1415 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1416 | {fHistZVertexCent1020->Fill(zv);} | |
1417 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1418 | {fHistZVertexCent2040->Fill(zv);} | |
1419 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1420 | {fHistZVertexCent4060->Fill(zv);} | |
1421 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1422 | {fHistZVertexCent6090->Fill(zv);} | |
1423 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1424 | {fHistZVertexCent0090->Fill(zv);} | |
1425 | ||
1426 | /********V0 loop for reconstructed event************************************/ | |
1427 | ||
1428 | Int_t nv0s = aod->GetNumberOfV0s(); | |
1429 | fHistNV0->Fill(nv0s); | |
1430 | ||
1431 | for(Int_t i = 0; i < nv0s; i++) | |
1432 | { | |
1433 | fHistLog->Fill(7); | |
1434 | AliAODv0 *v0=aod->GetV0(i); // pointer to reconstructed v0 | |
1435 | if(!v0) | |
1436 | { | |
1437 | //Printf("No V0 "); | |
1438 | fHistLog->Fill(94); | |
1439 | continue; | |
1440 | } | |
1441 | ||
5a4be586 | 1442 | /* V0s not consistent with K0, Lambda (La) or Antilambda (Lb) are rejected */ |
1443 | ||
12ca6c45 | 1444 | Bool_t lambdaCandidate = kTRUE; |
1445 | Bool_t antilambdaCandidate = kTRUE; | |
1446 | Bool_t k0Candidate = kTRUE; | |
1447 | ||
12ca6c45 | 1448 | if (v0->MassLambda() < 1.08 || v0->MassLambda() > 1.2) |
1449 | {lambdaCandidate = kFALSE;} | |
1450 | if (v0->MassAntiLambda() < 1.08 || v0->MassAntiLambda() > 1.2) | |
1451 | {antilambdaCandidate = kFALSE;} | |
1452 | if (v0->MassK0Short() < 0.414 || v0->MassK0Short() > 0.582) | |
1453 | {k0Candidate = kFALSE;} | |
1454 | ||
12ca6c45 | 1455 | if(lambdaCandidate == kFALSE && antilambdaCandidate == kFALSE && k0Candidate == kFALSE) |
1456 | {continue;} | |
1457 | ||
12ca6c45 | 1458 | Double_t cosPA=v0->CosPointingAngle(aod->GetPrimaryVertex()); |
1459 | Double_t xyz[3]; | |
1460 | v0->GetSecondaryVtx(xyz); | |
1461 | Double_t decayL = TMath::Sqrt((xyz[0]-xv)*(xyz[0]-xv)+(xyz[1]-yv)*(xyz[1]-yv)+(xyz[2]-zv)*(xyz[2]-zv)); | |
1462 | Double_t dca=v0->DcaV0Daughters(); | |
1463 | Double_t eta=v0->PseudoRapV0(); | |
1464 | ||
60dfeffb | 1465 | if(!AcceptV0_general(v0,aod,fcutCosPa,fcutNImpact,fcutDCA,fcutEta,fcutMinNClustersTPC, fcutRatio)) |
12ca6c45 | 1466 | { |
1467 | fHistLog->Fill(86); | |
1468 | continue; | |
1469 | } | |
1470 | ||
12ca6c45 | 1471 | int nnum = 1, pnum = 0; |
1472 | const AliAODTrack *ntracktest=(AliAODTrack *)v0->GetDaughter(nnum); | |
1473 | if(ntracktest->Charge() > 0){nnum = 0; pnum = 1;} | |
1474 | ||
1475 | const AliAODTrack *ntrack1=(AliAODTrack *)v0->GetDaughter(nnum); | |
1476 | const AliAODTrack *ptrack1=(AliAODTrack *)v0->GetDaughter(pnum); | |
5a4be586 | 1477 | |
12ca6c45 | 1478 | if(ntrack1->Charge()>0) |
5a4be586 | 1479 | {fHistLog->Fill(55);} |
12ca6c45 | 1480 | if(ntrack1->Charge()==0) |
5a4be586 | 1481 | { fHistLog->Fill(50);} |
12ca6c45 | 1482 | if(ntrack1->Charge()<0) |
5a4be586 | 1483 | { fHistLog->Fill(45);} |
1484 | ||
12ca6c45 | 1485 | const AliAODPid *pid_p1=ptrack1->GetDetPid(); |
1486 | const AliAODPid *pid_n1=ntrack1->GetDetPid(); | |
bbfb6fac | 1487 | |
5a4be586 | 1488 | if(!AcceptV0_particle(v0,1,fcutcTauMin, fcutRapidity, decayL, fcutNcTauMax)) |
12ca6c45 | 1489 | { lambdaCandidate = kFALSE; } |
5a4be586 | 1490 | if(!AcceptV0_particle(v0,2,fcutcTauMin, fcutRapidity, decayL, fcutNcTauMax)) |
12ca6c45 | 1491 | { antilambdaCandidate = kFALSE; } |
5a4be586 | 1492 | if(!AcceptV0_particle(v0,0,fcutcTauMin, fcutRapidity, decayL, fcutNcTauMax)) |
12ca6c45 | 1493 | { k0Candidate = kFALSE; } |
1494 | ||
12ca6c45 | 1495 | if(TMath::Sqrt(v0->Pt2V0())<2) |
1496 | { | |
376a27f9 | 1497 | if(!AcceptV0_lowpt(v0,fPIDResponse,1,fcutBetheBloch,fIsMonteCarlo)) |
12ca6c45 | 1498 | { lambdaCandidate = kFALSE; } |
376a27f9 | 1499 | if(!AcceptV0_lowpt(v0,fPIDResponse,2,fcutBetheBloch,fIsMonteCarlo)) |
12ca6c45 | 1500 | { antilambdaCandidate = kFALSE; } |
376a27f9 | 1501 | if(!AcceptV0_lowpt(v0,fPIDResponse,0,fcutBetheBloch,fIsMonteCarlo)) |
12ca6c45 | 1502 | { k0Candidate = kFALSE; } |
1503 | } | |
1504 | ||
12ca6c45 | 1505 | if(lambdaCandidate == kFALSE && antilambdaCandidate == kFALSE && k0Candidate == kFALSE) |
1506 | {continue;} | |
1507 | ||
bbfb6fac | 1508 | fHistLog->Fill(7); |
1509 | fHistPt->Fill(TMath::Sqrt(v0->Pt2V0())); | |
1510 | fHistEta->Fill(v0->PseudoRapV0()); | |
1511 | ||
5a4be586 | 1512 | double ArmenterosAlpha = v0->Alpha(); |
1513 | double ArmenterosPt = v0->QtProng(); | |
1514 | if( ArmenterosPt <= TMath::Abs(fcutArmenteros*ArmenterosAlpha) && fcutArmenteros !=-999 ) | |
1515 | {k0Candidate = false;} | |
1516 | ||
1517 | /* MC Associated selection is performed, but candidates failing are tagged not rejected, so MC and data can be compared */ | |
1518 | ||
12ca6c45 | 1519 | bool feeddown = false; |
5a4be586 | 1520 | bool mcPrimary2 = true; |
1521 | ||
1522 | double mcAsCosPa(0), mcAsMass(0), mcAscTau(0), mcAsEta(0), mcAsRap(0); | |
12ca6c45 | 1523 | |
5a4be586 | 1524 | fHistLog->Fill(31); |
1525 | ||
1526 | Bool_t mcAslambdaCandidate = lambdaCandidate; | |
1527 | Bool_t mcAsantilambdaCandidate = antilambdaCandidate; | |
1528 | Bool_t mcAsk0Candidate = k0Candidate; | |
60dfeffb | 1529 | if(fIsMonteCarlo) |
12ca6c45 | 1530 | { |
12ca6c45 | 1531 | bool passedTests = false; |
12ca6c45 | 1532 | TList *list = aod->GetList(); |
1533 | TClonesArray *stack = 0x0; | |
1534 | stack = (TClonesArray*)list->FindObject(AliAODMCParticle::StdBranchName()); | |
1535 | if (!stack) | |
1536 | { | |
1537 | Printf("ERROR: stack not available"); | |
1538 | fHistLog->Fill(84); | |
1539 | } | |
1540 | else | |
5a4be586 | 1541 | |
bbfb6fac | 1542 | { |
12ca6c45 | 1543 | Int_t negAssLabel = TMath::Abs(ntrack1->GetLabel()); |
5a4be586 | 1544 | Int_t posAssLabel = TMath::Abs(ptrack1->GetLabel()); |
1545 | fHistLog->Fill(35); | |
1546 | if(negAssLabel>=0 && negAssLabel < stack->GetEntriesFast() && posAssLabel>=0 && posAssLabel < stack->GetEntriesFast() ) | |
12ca6c45 | 1547 | { |
5a4be586 | 1548 | fHistLog->Fill(36); |
1549 | AliAODMCParticle *mcNegPart =(AliAODMCParticle*)stack->UncheckedAt(negAssLabel); | |
1550 | Int_t v0Label = mcNegPart->GetMother(); | |
1551 | AliAODMCParticle *mcPosPart =(AliAODMCParticle*)stack->UncheckedAt(posAssLabel); | |
1552 | Int_t v0PosLabel = mcPosPart->GetMother(); | |
1553 | if(v0Label >= 0 && v0Label < stack->GetEntriesFast() && v0Label == v0PosLabel) | |
bbfb6fac | 1554 | { |
5a4be586 | 1555 | fHistLog->Fill(37); |
1556 | AliAODMCParticle *mcv0 = (AliAODMCParticle *)stack->UncheckedAt(v0Label); | |
1557 | passedTests = true; | |
1558 | ||
1559 | if ((v0Label >= isInjected && isInjected >= 0 && isMCtype == 1) || (v0Label < isInjected && isInjected >= 0 && isMCtype == -1)) | |
12ca6c45 | 1560 | { |
5a4be586 | 1561 | mcAslambdaCandidate = false; |
1562 | mcAsk0Candidate = false; | |
1563 | mcAsantilambdaCandidate = false; | |
12ca6c45 | 1564 | } |
5a4be586 | 1565 | |
1566 | if(mcv0->GetPdgCode() != kLambda0) | |
1567 | {mcAslambdaCandidate = false;} | |
12ca6c45 | 1568 | if(mcv0->GetPdgCode() != kK0Short) |
5a4be586 | 1569 | {mcAsk0Candidate = false;} |
12ca6c45 | 1570 | if(mcv0->GetPdgCode() != kLambda0Bar) |
5a4be586 | 1571 | {mcAsantilambdaCandidate = false;} |
1572 | ||
1573 | Double_t mcAsdz=mcNegPart->Zv() - mcZv, mcAsdy= mcNegPart->Yv() - mcYv, mcAsdx= mcNegPart->Xv() - mcXv; | |
1574 | Double_t mcAsDecayLength = TMath::Sqrt(mcAsdx*mcAsdx + mcAsdy*mcAsdy + mcAsdz*mcAsdz); | |
1575 | mcAscTau = mcAsDecayLength*(mcv0->M())/(mcv0->P()); | |
1576 | mcAsCosPa = (mcAsdx*mcv0->Px()+mcAsdy*mcv0->Py()+mcAsdz*mcv0->Pz())/(mcAsDecayLength*mcv0->P()); | |
1577 | mcAsMass = mcv0->M(); | |
1578 | mcAsEta = mcv0->Eta(); | |
1579 | mcAsRap = mcv0->Y(); | |
1580 | ||
1581 | ||
1582 | Int_t motherLabel = mcv0->GetMother(); | |
1583 | Int_t motherType = -1; | |
1584 | bool sigma0MC2 = false; | |
1585 | ||
1586 | if(motherLabel >= 0 && v0Label < stack->GetEntriesFast() ) | |
12ca6c45 | 1587 | { |
5a4be586 | 1588 | AliAODMCParticle *mcMother = (AliAODMCParticle *)stack->UncheckedAt(motherLabel); |
1589 | motherType = mcMother->GetPdgCode(); | |
1590 | ||
1591 | // this block of code is used to include primary Sigma0 decays as primary lambda/antilambda | |
1592 | ||
1593 | if ((motherLabel >= isInjected && isInjected >= 0 && isMCtype == 1) || (motherLabel < isInjected && isInjected >= 0 && isMCtype == -1)) | |
1594 | { | |
1595 | mcAslambdaCandidate = false; | |
1596 | mcAsk0Candidate = false; | |
1597 | mcAsantilambdaCandidate = false; | |
1598 | } | |
1599 | if(motherType == 3212 || motherType == -3212) | |
1600 | { | |
1601 | if(mcMother->IsPhysicalPrimary() && (lambdaCandidate || antilambdaCandidate)) | |
1602 | //if(checkPrimaryStatus(mcMother, xv, yv, zv)) | |
1603 | {sigma0MC2 = true;} | |
1604 | } | |
1605 | if(motherType == 3322 || motherType == -3322 || motherType == 3312 || motherType == -3312 ) | |
1606 | { | |
1607 | if(mcMother->IsPhysicalPrimary() && (lambdaCandidate || antilambdaCandidate)) | |
1608 | //if(checkPrimaryStatus(mcMother, xv, yv, zv)) | |
1609 | {feeddown = true;} | |
1610 | } | |
1611 | } | |
1612 | ||
1613 | ||
1614 | if(!sigma0MC2 && !mcv0->IsPhysicalPrimary() && !feeddown) | |
1615 | //if(!sigma0MC2 && !checkPrimaryStatus(mcv0, mcXv, mcYv, mcZv) && !feeddown) | |
12ca6c45 | 1616 | { |
5a4be586 | 1617 | fHistLog->Fill(38); |
1618 | mcAslambdaCandidate = false; | |
1619 | mcAsk0Candidate = false; | |
1620 | mcAsantilambdaCandidate = false; | |
12ca6c45 | 1621 | } |
5a4be586 | 1622 | |
1623 | if(!(sigma0MC2 || mcv0->IsPhysicalPrimary())) | |
1624 | {mcPrimary2 = false;} | |
12ca6c45 | 1625 | } |
12ca6c45 | 1626 | } |
1627 | } | |
1628 | ||
12ca6c45 | 1629 | if(passedTests == false) |
1630 | { | |
5a4be586 | 1631 | fHistLog->Fill(39); |
1632 | mcAslambdaCandidate = false; | |
1633 | mcAsk0Candidate = false; | |
1634 | mcAsantilambdaCandidate = false; | |
12ca6c45 | 1635 | } |
5a4be586 | 1636 | |
12ca6c45 | 1637 | } |
1638 | ||
5a4be586 | 1639 | |
1640 | fHistLog->Fill(32); | |
12ca6c45 | 1641 | |
5a4be586 | 1642 | /* We now fill histograms, starting with all v0 candidates, and then MC particles only */ |
12ca6c45 | 1643 | |
1644 | if(lambdaCandidate) | |
1645 | { | |
1646 | ||
12ca6c45 | 1647 | fHistMLaPt->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda()); |
1648 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) | |
1649 | {fHistMLaPtCent0005->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1650 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1651 | {fHistMLaPtCent0510->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1652 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1653 | {fHistMLaPtCent1020->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1654 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1655 | {fHistMLaPtCent2040->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1656 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1657 | {fHistMLaPtCent4060->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1658 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1659 | {fHistMLaPtCent6090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
5a4be586 | 1660 | |
12ca6c45 | 1661 | |
1662 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1663 | { | |
5a4be586 | 1664 | |
12ca6c45 | 1665 | fHistMLaPtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda()); |
1666 | fHistBBLaPos->Fill(pid_p1->GetTPCmomentum(),pid_p1->GetTPCsignal()); | |
1667 | fHistBBLaNeg->Fill(pid_n1->GetTPCmomentum(),pid_n1->GetTPCsignal()); | |
5a4be586 | 1668 | |
1669 | ||
1670 | ||
1671 | fHistCosPaMLa->Fill(cosPA,v0->MassLambda()); | |
1672 | fHistcTauMLa->Fill(decayL*(TMath::Sqrt(v0->Pt2V0()))/(v0->P()),v0->MassLambda()); | |
1673 | fHistDcaMLa->Fill(dca,v0->MassLambda()); | |
1674 | fHistNSigmaMLa->Fill(1.0,v0->MassLambda()); | |
1675 | fHistEtaMLa->Fill(eta,v0->MassLambda()); | |
1676 | fHistRapMLa->Fill(v0->RapLambda(),v0->MassLambda()); | |
1677 | fHistArmPodLa->Fill(ArmenterosAlpha,ArmenterosPt); | |
1678 | ||
1679 | ||
1680 | ||
1681 | ||
1682 | ||
12ca6c45 | 1683 | } |
1684 | ||
1685 | } | |
1686 | if(antilambdaCandidate) | |
1687 | { | |
5a4be586 | 1688 | |
12ca6c45 | 1689 | fHistMLbPt->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda()); |
1690 | ||
1691 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) | |
1692 | {fHistMLbPtCent0005->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1693 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1694 | {fHistMLbPtCent0510->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1695 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1696 | {fHistMLbPtCent1020->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1697 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1698 | {fHistMLbPtCent2040->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1699 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1700 | {fHistMLbPtCent4060->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1701 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1702 | {fHistMLbPtCent6090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1703 | ||
1704 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1705 | { | |
1706 | fHistMLbPtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda()); | |
1707 | fHistBBLbPos->Fill(pid_p1->GetTPCmomentum(),pid_p1->GetTPCsignal()); | |
1708 | fHistBBLbNeg->Fill(pid_n1->GetTPCmomentum(),pid_n1->GetTPCsignal()); | |
5a4be586 | 1709 | |
1710 | ||
1711 | ||
1712 | fHistCosPaMLb->Fill(cosPA,v0->MassAntiLambda()); | |
1713 | fHistcTauMLb->Fill(decayL*(v0->MassAntiLambda())/(v0->P()),v0->MassAntiLambda()); | |
1714 | fHistDcaMLb->Fill(dca,v0->MassAntiLambda()); | |
1715 | fHistNSigmaMLb->Fill(1.0,v0->MassAntiLambda()); | |
1716 | fHistEtaMLb->Fill(eta,v0->MassAntiLambda()); | |
1717 | fHistRapMLb->Fill(v0->RapLambda(),v0->MassAntiLambda()); | |
1718 | fHistArmPodLb->Fill(ArmenterosAlpha,ArmenterosPt); | |
1719 | ||
1720 | ||
1721 | ||
12ca6c45 | 1722 | } |
1723 | } | |
5a4be586 | 1724 | if(k0Candidate){fHistLog->Fill(33);} |
12ca6c45 | 1725 | if(k0Candidate) |
1726 | { | |
5a4be586 | 1727 | fHistLog->Fill(34); |
12ca6c45 | 1728 | fHistMK0Pt->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short()); |
1729 | ||
1730 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) | |
1731 | {fHistMK0PtCent0005->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1732 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1733 | {fHistMK0PtCent0510->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1734 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1735 | {fHistMK0PtCent1020->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1736 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1737 | {fHistMK0PtCent2040->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1738 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1739 | {fHistMK0PtCent4060->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1740 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1741 | {fHistMK0PtCent6090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1742 | ||
1743 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1744 | { | |
1745 | fHistMK0PtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short()); | |
1746 | fHistBBK0Pos->Fill(pid_p1->GetTPCmomentum(),pid_p1->GetTPCsignal()); | |
1747 | fHistBBK0Neg->Fill(pid_n1->GetTPCmomentum(),pid_n1->GetTPCsignal()); | |
5a4be586 | 1748 | |
1749 | ||
1750 | ||
1751 | fHistCosPaMK0->Fill(cosPA,v0->MassK0Short()); | |
1752 | fHistcTauMK0->Fill(decayL*(v0->MassK0Short())/(v0->P()),v0->MassK0Short()); | |
1753 | fHistDcaMK0->Fill(dca,v0->MassK0Short()); | |
1754 | fHistNSigmaMK0->Fill(1.0,v0->MassK0Short()); | |
1755 | fHistEtaMK0->Fill(eta,v0->MassK0Short()); | |
1756 | fHistRapMK0->Fill(v0->RapK0Short(),v0->MassK0Short()); | |
1757 | fHistArmPodK0->Fill(ArmenterosAlpha,ArmenterosPt); | |
1758 | ||
1759 | ||
12ca6c45 | 1760 | } |
1761 | ||
5a4be586 | 1762 | } |
1763 | ||
1764 | /* below here, non MC-As candidates are rejected, and MC-As histograms are filled. */ | |
1765 | ||
1766 | if(!mcAslambdaCandidate && !mcAsantilambdaCandidate && !mcAsk0Candidate) | |
1767 | {continue;} | |
1768 | ||
1769 | if(fIsMonteCarlo) | |
1770 | { | |
1771 | if(mcAslambdaCandidate) | |
12ca6c45 | 1772 | { |
5a4be586 | 1773 | |
1774 | if(!feeddown && mcPrimary2) | |
1775 | { | |
1776 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) | |
1777 | {fHistMcAsMLaPtCent0005->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1778 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1779 | {fHistMcAsMLaPtCent0510->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1780 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1781 | {fHistMcAsMLaPtCent1020->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1782 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1783 | {fHistMcAsMLaPtCent2040->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1784 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1785 | {fHistMcAsMLaPtCent4060->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1786 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1787 | {fHistMcAsMLaPtCent6090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1788 | } | |
1789 | ||
1790 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1791 | { | |
1792 | if(feeddown) | |
1793 | {fHistMcFMLaPt->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda());} | |
1794 | if(!feeddown && mcPrimary2) | |
1795 | { | |
1796 | fHistMcAsMLaPtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassLambda()); | |
1797 | ||
1798 | fHistMcAsReconCosPaMLa->Fill(cosPA,v0->MassLambda()); | |
1799 | fHistMcAsReconcTauMLa->Fill(decayL*(TMath::Sqrt(v0->Pt2V0()))/(v0->P()),v0->MassLambda()); | |
1800 | fHistMcAsReconDcaMLa->Fill(dca,v0->MassLambda()); | |
1801 | fHistMcAsReconNSigmaMLa->Fill(1.0,v0->MassLambda()); | |
1802 | fHistMcAsReconEtaMLa->Fill(eta,v0->MassLambda()); | |
1803 | fHistMcAsReconRapMLa->Fill(v0->RapLambda(),v0->MassLambda()); | |
1804 | fHistMcAsReconArmPodLa->Fill(ArmenterosAlpha,ArmenterosPt); | |
1805 | ||
1806 | ||
1807 | ||
1808 | fHistMcAsTruthCosPaMLa->Fill(mcAsCosPa,mcAsMass); | |
1809 | fHistMcAsTruthcTauMLa->Fill(mcAscTau,mcAsMass); | |
1810 | fHistMcAsTruthDcaMLa->Fill(1.0,mcAsMass); | |
1811 | fHistMcAsTruthNSigmaMLa->Fill(1.0,mcAsMass); | |
1812 | fHistMcAsTruthEtaMLa->Fill(mcAsEta,mcAsMass); | |
1813 | fHistMcAsTruthRapMLa->Fill(mcAsRap,mcAsMass); | |
1814 | fHistMcAsTruthArmPodLa->Fill(1.0,1.0); | |
1815 | ||
1816 | } | |
1817 | ||
1818 | } | |
1819 | ||
12ca6c45 | 1820 | } |
5a4be586 | 1821 | if(mcAsantilambdaCandidate) |
1822 | { | |
1823 | if(!feeddown && mcPrimary2) | |
1824 | { | |
1825 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) | |
1826 | {fHistMcAsMLbPtCent0005->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1827 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1828 | {fHistMcAsMLbPtCent0510->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1829 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1830 | {fHistMcAsMLbPtCent1020->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1831 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1832 | {fHistMcAsMLbPtCent2040->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1833 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1834 | {fHistMcAsMLbPtCent4060->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1835 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1836 | {fHistMcAsMLbPtCent6090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda());} | |
1837 | ||
1838 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1839 | { | |
1840 | fHistMcAsMLbPtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassAntiLambda()); | |
1841 | ||
1842 | fHistMcAsReconCosPaMLb->Fill(cosPA,v0->MassAntiLambda()); | |
1843 | fHistMcAsReconcTauMLb->Fill(decayL*(v0->MassAntiLambda())/(v0->P()),v0->MassAntiLambda()); | |
1844 | fHistMcAsReconDcaMLb->Fill(dca,v0->MassAntiLambda()); | |
1845 | fHistMcAsReconNSigmaMLb->Fill(1.0,v0->MassAntiLambda()); | |
1846 | fHistMcAsReconEtaMLb->Fill(eta,v0->MassAntiLambda()); | |
1847 | fHistMcAsReconRapMLb->Fill(v0->RapLambda(),v0->MassAntiLambda()); | |
1848 | fHistMcAsReconArmPodLb->Fill(ArmenterosAlpha,ArmenterosPt); | |
1849 | ||
1850 | ||
1851 | fHistMcAsTruthCosPaMLb->Fill(mcAsCosPa,mcAsMass); | |
1852 | fHistMcAsTruthcTauMLb->Fill(mcAscTau,mcAsMass); | |
1853 | fHistMcAsTruthDcaMLb->Fill(1.0,mcAsMass); | |
1854 | fHistMcAsTruthNSigmaMLb->Fill(1.0,mcAsMass); | |
1855 | fHistMcAsTruthEtaMLb->Fill(mcAsEta,mcAsMass); | |
1856 | fHistMcAsTruthRapMLb->Fill(mcAsRap,mcAsMass); | |
1857 | fHistMcAsTruthArmPodLb->Fill(1.0,1.0); | |
1858 | ||
1859 | } | |
1860 | } | |
1861 | } | |
1862 | if(mcAsk0Candidate && mcPrimary2) | |
1863 | { | |
1864 | if(centPercentile >= 0.0001 && centPercentile <= 5.0) | |
1865 | {fHistMcAsMK0PtCent0005->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1866 | if(centPercentile > 5.0 && centPercentile <= 10.0) | |
1867 | {fHistMcAsMK0PtCent0510->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1868 | if(centPercentile > 10.0 && centPercentile <= 20.0) | |
1869 | {fHistMcAsMK0PtCent1020->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1870 | if(centPercentile > 20.0 && centPercentile <= 40.0) | |
1871 | {fHistMcAsMK0PtCent2040->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1872 | if(centPercentile > 40.0 && centPercentile <= 60.0) | |
1873 | {fHistMcAsMK0PtCent4060->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1874 | if(centPercentile > 60.0 && centPercentile <= 90.0) | |
1875 | {fHistMcAsMK0PtCent6090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short());} | |
1876 | if(centPercentile >= 0.0001 && centPercentile <= 90.0) | |
1877 | { | |
1878 | fHistMcAsMK0PtCent0090->Fill(TMath::Sqrt(v0->Pt2V0()),v0->MassK0Short()); | |
1879 | ||
1880 | fHistMcAsReconCosPaMK0->Fill(cosPA,v0->MassK0Short()); | |
1881 | fHistMcAsReconcTauMK0->Fill(decayL*(v0->MassK0Short())/(v0->P()),v0->MassK0Short()); | |
1882 | fHistMcAsReconDcaMK0->Fill(dca,v0->MassK0Short()); | |
1883 | fHistMcAsReconNSigmaMK0->Fill(1.0,v0->MassK0Short()); | |
1884 | fHistMcAsReconEtaMK0->Fill(eta,v0->MassK0Short()); | |
1885 | fHistMcAsReconRapMK0->Fill(v0->RapK0Short(),v0->MassK0Short()); | |
1886 | fHistMcAsReconArmPodK0->Fill(ArmenterosAlpha,ArmenterosPt); | |
1887 | ||
1888 | ||
1889 | fHistMcAsTruthCosPaMK0->Fill(mcAsCosPa,mcAsMass); | |
1890 | fHistMcAsTruthcTauMK0->Fill(mcAscTau,mcAsMass); | |
1891 | fHistMcAsTruthDcaMK0->Fill(1.0,mcAsMass); | |
1892 | fHistMcAsTruthNSigmaMK0->Fill(1.0,mcAsMass); | |
1893 | fHistMcAsTruthEtaMK0->Fill(mcAsEta,mcAsMass); | |
1894 | fHistMcAsTruthRapMK0->Fill(mcAsRap,mcAsMass); | |
1895 | fHistMcAsTruthArmPodK0->Fill(1.0,1.0); | |
1896 | ||
1897 | } | |
1898 | ||
12ca6c45 | 1899 | } |
1900 | } | |
5a4be586 | 1901 | |
1902 | } | |
12ca6c45 | 1903 | |
bbfb6fac | 1904 | /********End of V0 loop for reconstructed event*****************************/ |
12ca6c45 | 1905 | |
1906 | ||
1907 | ||
1908 | ||
1909 | fHistLog->Fill(9); | |
5a4be586 | 1910 | // NEW HISTO should be filled before this point, as PostData puts the |
1911 | // information for this iteration of the UserExec in the container | |
1912 | PostData(1, fOutput); | |
12ca6c45 | 1913 | } |
1914 | ||
1915 | ||
1916 | //________________________________________________________________________ | |
8a7cb9cc | 1917 | void AliAnalysisTaskLukeAOD::Terminate(Option_t *) |
12ca6c45 | 1918 | { |
5a4be586 | 1919 | // Draw result to screen, or perform fitting, normalizations |
1920 | // Called once at the end of the query | |
12ca6c45 | 1921 | |
5a4be586 | 1922 | fOutput = dynamic_cast<TList*> (GetOutputData(1)); |
1923 | if(!fOutput) { Printf("ERROR: could not retrieve TList fOutput"); return; } | |
12ca6c45 | 1924 | |
5a4be586 | 1925 | fHistPt = dynamic_cast<TH1F*> (fOutput->FindObject("fHistPt")); |
1926 | if (!fHistPt) { Printf("ERROR: could not retrieve fHistPt"); return;} | |
1927 | fHistEta = dynamic_cast<TH1F*> (fOutput->FindObject("fHistEta")); | |
1928 | if (!fHistEta) { Printf("ERROR: could not retrieve fHistEta"); return;} | |
12ca6c45 | 1929 | |
5a4be586 | 1930 | // Get the physics selection histograms with the selection statistics |
1931 | //AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
1932 | //AliESDInputHandler *inputH = dynamic_cast<AliESDInputHandler*>(mgr->GetInputEventHandler()); | |
1933 | //TH2F *histStat = (TH2F*)inputH->GetStatistics(); | |
12ca6c45 | 1934 | |
1935 | ||
5a4be586 | 1936 | // NEW HISTO should be retrieved from the TList container in the above way, |
1937 | // so it is available to draw on a canvas such as below | |
12ca6c45 | 1938 | |
5a4be586 | 1939 | TCanvas *c = new TCanvas("AliAnalysisTaskLukeAOD","P_{T} & #eta",10,10,1020,510); |
1940 | c->Divide(2,1); | |
1941 | c->cd(1)->SetLogy(); | |
1942 | fHistPt->DrawCopy("E"); | |
1943 | c->cd(2); | |
1944 | fHistEta->DrawCopy("E"); | |
12ca6c45 | 1945 | } |