37 #include <TParticle.h>
38 #include <TParticlePDG.h>
42 #include <THnSparse.h>
43 #include <TLorentzVector.h>
46 #include <TDatabasePDG.h>
47 #include <AliAnalysisDataSlot.h>
48 #include <AliAnalysisDataContainer.h>
50 #include "AliMCEvent.h"
51 #include "AliAnalysisManager.h"
52 #include "AliAODMCHeader.h"
53 #include "AliAODHandler.h"
55 #include "AliExternalTrackParam.h"
56 #include "AliAODVertex.h"
57 #include "AliESDVertex.h"
58 #include "AliAODRecoDecay.h"
61 #include "AliESDtrack.h"
62 #include "AliAODTrack.h"
64 #include "AliAODcascade.h"
65 #include "AliAODMCParticle.h"
66 #include "AliAnalysisTaskSE.h"
68 #include "AliPIDResponse.h"
69 #include "AliPIDCombined.h"
70 #include "AliTOFPIDResponse.h"
72 #include "AliInputEventHandler.h"
73 #include "AliESDtrackCuts.h"
74 #include "AliNeutralTrackParam.h"
75 #include "AliKFParticle.h"
76 #include "AliKFVertex.h"
77 #include "AliExternalTrackParam.h"
78 #include "AliESDtrack.h"
79 #include "AliCentrality.h"
80 #include "AliVertexerTracks.h"
81 #include "AliEventPoolManager.h"
102 fIsEventSelected(kFALSE),
103 fWriteVariableTree(kFALSE),
104 fWriteEachVariableTree(kFALSE),
105 fWriteMCVariableTree(kFALSE),
107 fEleVariablesTree(0),
110 fMCEleVariablesTree(0),
111 fMCV0VariablesTree(0),
112 fMCGenPairVariablesTree(0),
113 fReconstructPrimVert(kFALSE),
119 fCandidateVariables(),
120 fCandidateEleVariables(),
121 fCandidateV0Variables(),
122 fCandidateMCVariables(),
123 fCandidateMCEleVariables(),
124 fCandidateMCV0Variables(),
125 fCandidateMCGenPairVariables(),
133 fUseCentralityV0M(kFALSE),
136 fMCDoPairAnalysis(kFALSE),
137 fHistoEleLambdaMass(0),
138 fHistoEleLambdaMassRS(0),
139 fHistoEleLambdaMassRS1(0),
140 fHistoEleLambdaMassRS2(0),
141 fHistoEleLambdaMassWS(0),
142 fHistoEleLambdaMassWS1(0),
143 fHistoEleLambdaMassWS2(0),
144 fHistoEleLambdaMassRSMix(0),
145 fHistoEleLambdaMassRSMix1(0),
146 fHistoEleLambdaMassRSMix2(0),
147 fHistoEleLambdaMassWSMix(0),
148 fHistoEleLambdaMassWSMix1(0),
149 fHistoEleLambdaMassWSMix2(0),
150 fHistoEleLambdaMassRSSide(0),
151 fHistoEleLambdaMassRSSide1(0),
152 fHistoEleLambdaMassRSSide2(0),
153 fHistoEleLambdaMassWSSide(0),
154 fHistoEleLambdaMassWSSide1(0),
155 fHistoEleLambdaMassWSSide2(0),
156 fHistoEleLambdaMassRSAway(0),
157 fHistoEleLambdaMassRS1Away(0),
158 fHistoEleLambdaMassRS2Away(0),
159 fHistoEleLambdaMassWSAway(0),
160 fHistoEleLambdaMassWS1Away(0),
161 fHistoEleLambdaMassWS2Away(0),
162 fHistoEleLambdaMassRSMixAway(0),
163 fHistoEleLambdaMassRSMix1Away(0),
164 fHistoEleLambdaMassRSMix2Away(0),
165 fHistoEleLambdaMassWSMixAway(0),
166 fHistoEleLambdaMassWSMix1Away(0),
167 fHistoEleLambdaMassWSMix2Away(0),
168 fHistoEleLambdaMassRSSideAway(0),
169 fHistoEleLambdaMassRSSide1Away(0),
170 fHistoEleLambdaMassRSSide2Away(0),
171 fHistoEleLambdaMassWSSideAway(0),
172 fHistoEleLambdaMassWSSide1Away(0),
173 fHistoEleLambdaMassWSSide2Away(0),
174 fHistoEleLambdaMassvsElePtRS(0),
175 fHistoEleLambdaMassvsElePtWS(0),
176 fHistoEleLambdaMassvsElePtRSMix(0),
177 fHistoEleLambdaMassvsElePtWSMix(0),
178 fHistoEleLambdaMassvsElePtRSSide(0),
179 fHistoEleLambdaMassvsElePtWSSide(0),
180 fHistoEleLambdaMassvsElePtRS1(0),
181 fHistoEleLambdaMassvsElePtWS1(0),
182 fHistoEleLambdaMassvsElePtRSMix1(0),
183 fHistoEleLambdaMassvsElePtWSMix1(0),
184 fHistoEleLambdaMassvsElePtRSSide1(0),
185 fHistoEleLambdaMassvsElePtWSSide1(0),
186 fHistoEleLambdaMassvsElePtRS2(0),
187 fHistoEleLambdaMassvsElePtWS2(0),
188 fHistoEleLambdaMassvsElePtRSMix2(0),
189 fHistoEleLambdaMassvsElePtWSMix2(0),
190 fHistoEleLambdaMassvsElePtRSSide2(0),
191 fHistoEleLambdaMassvsElePtWSSide2(0),
196 fHistoEleLambdaMassMCS(0),
197 fHistoEleLambdaMassLambdabMCS(0),
198 fHistoEleLambdaMassXibMCS(0),
199 fHistoEleLambdaMassMCGen(0),
200 fHistoEleLambdaMassvsElePtMCS(0),
201 fHistoEleLambdaMassvsElePtMCGen(0),
202 fHistoEleLambdaMassvsElePtMCS1(0),
203 fHistoEleLambdaMassvsElePtMCGen1(0),
204 fHistoEleLambdaMassvsElePtMCS2(0),
205 fHistoEleLambdaMassvsElePtMCGen2(0),
208 fHistoElePtvsEtaRS(0),
209 fHistoElePtvsEtaWS(0),
210 fHistoElePtvsEtaRSMix(0),
211 fHistoElePtvsEtaWSMix(0),
212 fHistoElePtvsEtaMCS(0),
213 fHistoElePtvsEtaMCGen(0),
214 fHistoElePtvsLambdaPtRS(0),
215 fHistoElePtvsLambdaPtWS(0),
216 fHistoElePtvsLambdaPtRSMix(0),
217 fHistoElePtvsLambdaPtWSMix(0),
218 fHistoElePtvsLambdaPtMCS(0),
219 fHistoElePtvsLambdaPtvsLcPtMCS(0),
220 fHistoElePtvsLambdaPtMCGen(0),
221 fHistoElePtvsLambdaPtvsLcPtMCGen(0),
222 fHistoElePtvsLambdaPtMCLcGen(0),
223 fHistoElePtvsd0RS(0),
224 fHistoElePtvsd0WS(0),
225 fHistoElePtvsd0RSMix(0),
226 fHistoElePtvsd0WSMix(0),
227 fHistoElePtvsd0MCS(0),
228 fHistoElePtvsd0PromptMCS(0),
229 fHistoElePtvsd0BFeeddownMCS(0),
230 fHistoEleLambdaMassFeeddownXic0MCS(0),
231 fHistoEleLambdaMassFeeddownXic0MCGen(0),
232 fHistoEleLambdaMassvsElePtFeeddownXic0MCS(0),
233 fHistoEleLambdaMassvsElePtFeeddownXic0MCGen(0),
234 fHistoEleLambdaMassvsElePtFeeddownXic0MCS1(0),
235 fHistoEleLambdaMassvsElePtFeeddownXic0MCGen1(0),
236 fHistoEleLambdaMassvsElePtFeeddownXic0MCS2(0),
237 fHistoEleLambdaMassvsElePtFeeddownXic0MCGen2(0),
238 fHistoElePtFeeddownXic0MCS(0),
239 fHistoElePtFeeddownXic0MCGen(0),
240 fHistoElePtvsEtaFeeddownXic0MCS(0),
241 fHistoElePtvsEtaFeeddownXic0MCGen(0),
242 fHistoElePtvsLambdaPtFeeddownXic0MCS(0),
243 fHistoElePtvsLambdaPtFeeddownXic0MCGen(0),
244 fHistoEleLambdaMassFeeddownXicPlusMCS(0),
245 fHistoEleLambdaMassFeeddownXicPlusMCGen(0),
246 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCS(0),
247 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCGen(0),
248 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCS1(0),
249 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCGen1(0),
250 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCS2(0),
251 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCGen2(0),
252 fHistoElePtFeeddownXicPlusMCS(0),
253 fHistoElePtFeeddownXicPlusMCGen(0),
254 fHistoElePtvsEtaFeeddownXicPlusMCS(0),
255 fHistoElePtvsEtaFeeddownXicPlusMCGen(0),
256 fHistoElePtvsLambdaPtFeeddownXicPlusMCS(0),
257 fHistoElePtvsLambdaPtFeeddownXicPlusMCGen(0),
260 fHistoBachPtMCGen(0),
262 fHistoLambdaMassvsPt(0),
263 fHistoLambdaMassvsPtMCS(0),
264 fHistoLambdaMassvsPtMCGen(0),
265 fHistoLambdaPtvsDl(0),
266 fHistoLambdaPtvsDlSide(0),
267 fHistoLambdaPtvsDlMCS(0),
268 fHistoLambdaPtvsDlFeeddownXi0MCS(0),
269 fHistoLambdaPtvsDlFeeddownXiMinusMCS(0),
270 fHistoLambdaPtvsDlFeeddownOmegaMCS(0),
271 fHistoK0sMassvsPt(0),
272 fHistoElectronTPCPID(0),
273 fHistoElectronTOFPID(0),
274 fHistoElectronTPCSelPID(0),
275 fHistoElectronTOFSelPID(0),
276 fHistoElectronTPCPIDSelTOF(0),
277 fHistoElectronTPCPIDSelTOFSmallEta(0),
278 fHistoElectronTPCPIDSelTOFLargeEta(0),
279 fHistoMassConversionsMin(0),
280 fHistoMassConversionsSameSignMin(0),
281 fHistoElectronQovPtvsPhi(0),
282 fHistoLambdaQovPtvsPhi(0),
289 fHistoFeedDownXic0MCGen(0),
290 fHistoFeedDownXic0MCGen1(0),
291 fHistoFeedDownXic0MCGen2(0),
292 fHistoFeedDownXic0MCS(0),
293 fHistoFeedDownXic0MCS1(0),
294 fHistoFeedDownXic0MCS2(0),
295 fHistoFeedDownXicPlusMCGen(0),
296 fHistoFeedDownXicPlusMCGen1(0),
297 fHistoFeedDownXicPlusMCGen2(0),
298 fHistoFeedDownXicPlusMCS(0),
299 fHistoFeedDownXicPlusMCS1(0),
300 fHistoFeedDownXicPlusMCS2(0),
301 fHistoFeedDownSigmaMCGen(0),
302 fHistoFeedDownSigmaMCGen1(0),
303 fHistoFeedDownSigmaMCGen2(0),
304 fHistoFeedDownSigmaMCS(0),
305 fHistoFeedDownSigmaMCS1(0),
306 fHistoFeedDownSigmaMCS2(0),
307 fHistoLcElectronMCGen(0),
308 fHistoLcElectronMCGen1(0),
309 fHistoLcElectronMCGen2(0),
310 fHistoLcElectronMCS(0),
311 fHistoLcElectronMCS1(0),
312 fHistoLcElectronMCS2(0),
313 fHistoElectronFeedDownXic0MCGen(0),
314 fHistoElectronFeedDownXic0MCGen1(0),
315 fHistoElectronFeedDownXic0MCGen2(0),
316 fHistoElectronFeedDownXic0MCS(0),
317 fHistoElectronFeedDownXic0MCS1(0),
318 fHistoElectronFeedDownXic0MCS2(0),
319 fHistoElectronFeedDownXicPlusMCGen(0),
320 fHistoElectronFeedDownXicPlusMCGen1(0),
321 fHistoElectronFeedDownXicPlusMCGen2(0),
322 fHistoElectronFeedDownXicPlusMCS(0),
323 fHistoElectronFeedDownXicPlusMCS1(0),
324 fHistoElectronFeedDownXicPlusMCS2(0),
325 fHistoElectronMCGen(0),
326 fHistoLambdaMCGen(0),
327 fHistoElePtvsV0dlRS(0),
328 fHistoElePtvsV0dlRS1(0),
329 fHistoElePtvsV0dlRS2(0),
330 fHistoElePtvsV0dlRSSide(0),
331 fHistoElePtvsV0dlRSSide1(0),
332 fHistoElePtvsV0dlRSSide2(0),
333 fHistoElePtvsV0dlRSMix(0),
334 fHistoElePtvsV0dlRSMix1(0),
335 fHistoElePtvsV0dlRSMix2(0),
336 fHistoElePtvsV0dlWS(0),
337 fHistoElePtvsV0dlWS1(0),
338 fHistoElePtvsV0dlWS2(0),
339 fHistoElePtvsV0dlWSSide(0),
340 fHistoElePtvsV0dlWSSide1(0),
341 fHistoElePtvsV0dlWSSide2(0),
342 fHistoElePtvsV0dlWSMix(0),
343 fHistoElePtvsV0dlWSMix1(0),
344 fHistoElePtvsV0dlWSMix2(0),
345 fHistoElePtvsV0dlMCS(0),
346 fHistoElePtvsV0dlMCS1(0),
347 fHistoElePtvsV0dlMCS2(0),
348 fHistoElePtvsV0dlFeedDownXic0MCS(0),
349 fHistoElePtvsV0dlFeedDownXic0MCS1(0),
350 fHistoElePtvsV0dlFeedDownXic0MCS2(0),
351 fHistoElePtvsV0dlFeedDownXicPlusMCS(0),
352 fHistoElePtvsV0dlFeedDownXicPlusMCS1(0),
353 fHistoElePtvsV0dlFeedDownXicPlusMCS2(0),
354 fHistoElePtvsV0dcaRS(0),
355 fHistoElePtvsV0dcaRS1(0),
356 fHistoElePtvsV0dcaRS2(0),
357 fHistoElePtvsV0dcaRSSide(0),
358 fHistoElePtvsV0dcaRSSide1(0),
359 fHistoElePtvsV0dcaRSSide2(0),
360 fHistoElePtvsV0dcaRSMix(0),
361 fHistoElePtvsV0dcaRSMix1(0),
362 fHistoElePtvsV0dcaRSMix2(0),
363 fHistoElePtvsV0dcaWS(0),
364 fHistoElePtvsV0dcaWS1(0),
365 fHistoElePtvsV0dcaWS2(0),
366 fHistoElePtvsV0dcaWSSide(0),
367 fHistoElePtvsV0dcaWSSide1(0),
368 fHistoElePtvsV0dcaWSSide2(0),
369 fHistoElePtvsV0dcaWSMix(0),
370 fHistoElePtvsV0dcaWSMix1(0),
371 fHistoElePtvsV0dcaWSMix2(0),
372 fHistoElePtvsV0dcaMCS(0),
373 fHistoElePtvsV0dcaMCS1(0),
374 fHistoElePtvsV0dcaMCS2(0),
375 fHistoElePtvsV0dcaFeedDownXic0MCS(0),
376 fHistoElePtvsV0dcaFeedDownXic0MCS1(0),
377 fHistoElePtvsV0dcaFeedDownXic0MCS2(0),
378 fHistoElePtvsV0dcaFeedDownXicPlusMCS(0),
379 fHistoElePtvsV0dcaFeedDownXicPlusMCS1(0),
380 fHistoElePtvsV0dcaFeedDownXicPlusMCS2(0),
381 fHistoEleLambdaPtvsV0dlRS(0),
382 fHistoEleLambdaPtvsV0dlRS1(0),
383 fHistoEleLambdaPtvsV0dlRS2(0),
384 fHistoEleLambdaPtvsV0dlRSSide(0),
385 fHistoEleLambdaPtvsV0dlRSSide1(0),
386 fHistoEleLambdaPtvsV0dlRSSide2(0),
387 fHistoEleLambdaPtvsV0dlRSMix(0),
388 fHistoEleLambdaPtvsV0dlRSMix1(0),
389 fHistoEleLambdaPtvsV0dlRSMix2(0),
390 fHistoEleLambdaPtvsV0dlWS(0),
391 fHistoEleLambdaPtvsV0dlWS1(0),
392 fHistoEleLambdaPtvsV0dlWS2(0),
393 fHistoEleLambdaPtvsV0dlWSSide(0),
394 fHistoEleLambdaPtvsV0dlWSSide1(0),
395 fHistoEleLambdaPtvsV0dlWSSide2(0),
396 fHistoEleLambdaPtvsV0dlWSMix(0),
397 fHistoEleLambdaPtvsV0dlWSMix1(0),
398 fHistoEleLambdaPtvsV0dlWSMix2(0),
399 fHistoEleLambdaPtvsV0dlMCS(0),
400 fHistoEleLambdaPtvsV0dlMCS1(0),
401 fHistoEleLambdaPtvsV0dlMCS2(0),
402 fHistoEleLambdaPtvsV0dlPromptMCS(0),
403 fHistoEleLambdaPtvsV0dlPromptMCS1(0),
404 fHistoEleLambdaPtvsV0dlPromptMCS2(0),
405 fHistoEleLambdaPtvsV0dlBFeeddownMCS(0),
406 fHistoEleLambdaPtvsV0dlBFeeddownMCS1(0),
407 fHistoEleLambdaPtvsV0dlBFeeddownMCS2(0),
408 fHistoEleLambdaPtvsV0dlFeedDownXic0MCS(0),
409 fHistoEleLambdaPtvsV0dlFeedDownXic0MCS1(0),
410 fHistoEleLambdaPtvsV0dlFeedDownXic0MCS2(0),
411 fHistoEleLambdaPtvsV0dlFeedDownXic0PromptMCS(0),
412 fHistoEleLambdaPtvsV0dlFeedDownXic0PromptMCS1(0),
413 fHistoEleLambdaPtvsV0dlFeedDownXic0PromptMCS2(0),
414 fHistoEleLambdaPtvsV0dlFeedDownXic0BFeeddownMCS(0),
415 fHistoEleLambdaPtvsV0dlFeedDownXic0BFeeddownMCS1(0),
416 fHistoEleLambdaPtvsV0dlFeedDownXic0BFeeddownMCS2(0),
417 fHistoEleLambdaPtvsV0dlFeedDownXicPlusMCS(0),
418 fHistoEleLambdaPtvsV0dlFeedDownXicPlusMCS1(0),
419 fHistoEleLambdaPtvsV0dlFeedDownXicPlusMCS2(0),
420 fHistoEleLambdaPtvsV0dlFeedDownXicPlusPromptMCS(0),
421 fHistoEleLambdaPtvsV0dlFeedDownXicPlusPromptMCS1(0),
422 fHistoEleLambdaPtvsV0dlFeedDownXicPlusPromptMCS2(0),
423 fHistoEleLambdaPtvsV0dlFeedDownXicPlusBFeeddownMCS(0),
424 fHistoEleLambdaPtvsV0dlFeedDownXicPlusBFeeddownMCS1(0),
425 fHistoEleLambdaPtvsV0dlFeedDownXicPlusBFeeddownMCS2(0),
426 fHistoEleLambdaPtvsV0dlFeedDownSigmaMCS(0),
427 fHistoEleLambdaPtvsV0dlFeedDownSigmaMCS1(0),
428 fHistoEleLambdaPtvsV0dlFeedDownSigmaMCS2(0),
429 fHistoEleLambdaPtvsV0dlFeedDownSigmaPromptMCS(0),
430 fHistoEleLambdaPtvsV0dlFeedDownSigmaPromptMCS1(0),
431 fHistoEleLambdaPtvsV0dlFeedDownSigmaPromptMCS2(0),
432 fHistoEleLambdaPtvsV0dlFeedDownSigmaBFeeddownMCS(0),
433 fHistoEleLambdaPtvsV0dlFeedDownSigmaBFeeddownMCS1(0),
434 fHistoEleLambdaPtvsV0dlFeedDownSigmaBFeeddownMCS2(0),
435 fHistoEleLambdaPtvsV0dlLambdabMCS(0),
436 fHistoEleLambdaPtvsV0dlLambdabMCS1(0),
437 fHistoEleLambdaPtvsV0dlLambdabMCS2(0),
438 fHistoEleLambdaPtvsV0dlXibMCS(0),
439 fHistoEleLambdaPtvsV0dlXibMCS1(0),
440 fHistoEleLambdaPtvsV0dlXibMCS2(0),
441 fHistoEleLambdaPtvsV0dlRSAway(0),
442 fHistoEleLambdaPtvsV0dlRS1Away(0),
443 fHistoEleLambdaPtvsV0dlRS2Away(0),
444 fHistoEleLambdaPtvsV0dlRSSideAway(0),
445 fHistoEleLambdaPtvsV0dlRSSide1Away(0),
446 fHistoEleLambdaPtvsV0dlRSSide2Away(0),
447 fHistoEleLambdaPtvsV0dlRSMixAway(0),
448 fHistoEleLambdaPtvsV0dlRSMix1Away(0),
449 fHistoEleLambdaPtvsV0dlRSMix2Away(0),
450 fHistoEleLambdaPtvsV0dlWSAway(0),
451 fHistoEleLambdaPtvsV0dlWS1Away(0),
452 fHistoEleLambdaPtvsV0dlWS2Away(0),
453 fHistoEleLambdaPtvsV0dlWSSideAway(0),
454 fHistoEleLambdaPtvsV0dlWSSide1Away(0),
455 fHistoEleLambdaPtvsV0dlWSSide2Away(0),
456 fHistoEleLambdaPtvsV0dlWSMixAway(0),
457 fHistoEleLambdaPtvsV0dlWSMix1Away(0),
458 fHistoEleLambdaPtvsV0dlWSMix2Away(0),
459 fHistoResponseElePt(0),
460 fHistoResponseElePt1(0),
461 fHistoResponseElePt2(0),
462 fHistoResponseEleLambdaPt(0),
463 fHistoResponseEleLambdaPt1(0),
464 fHistoResponseEleLambdaPt2(0),
465 fHistoResponseEleLambdaPtFeeddownXic0(0),
466 fHistoResponseEleLambdaPtFeeddownXic01(0),
467 fHistoResponseEleLambdaPtFeeddownXic02(0),
468 fHistoResponseEleLambdaPtFeeddownXicPlus(0),
469 fHistoResponseEleLambdaPtFeeddownXicPlus1(0),
470 fHistoResponseEleLambdaPtFeeddownXicPlus2(0),
471 fHistoResponseEleLambdaPtFeeddownSigma(0),
472 fHistoResponseEleLambdaPtFeeddownSigma1(0),
473 fHistoResponseEleLambdaPtFeeddownSigma2(0),
474 fHistoLcPtvseleLambdaPtvsElePtvsLambdaPt(0),
475 fHistoEleLambdaPtvsRapidityRS(0),
476 fHistoEleLambdaPtvsRapidityWS(0),
477 fHistoEleLambdaPtvsRapidityMCS(0),
479 fHistonEvtvsRunNumber(0),
480 fHistonElevsRunNumber(0),
481 fHistonLambdavsRunNumber(0),
482 fHistoMCEventType(0),
483 fHistoMCDeltaPhiccbar(0),
484 fGTI(0),fGTIndex(0), fTrackBuffSize(19000),
485 fHistodPhiSdEtaSElectronProtonR125RS(0),
486 fHistodPhiSdEtaSElectronProtonR125WS(0),
487 fHistodPhiSdEtaSElectronProtonR125RSMix(0),
488 fHistodPhiSdEtaSElectronProtonR125WSMix(0),
489 fHistodPhiSdEtaSElectronPionR125RS(0),
490 fHistodPhiSdEtaSElectronPionR125WS(0),
491 fHistodPhiSdEtaSElectronPionR125RSMix(0),
492 fHistodPhiSdEtaSElectronPionR125WSMix(0),
494 fMixWithoutConversionFlag(kTRUE),
495 fNumberOfEventsForMixing (5),
501 fElectronTracks(0x0),
508 fElectronCutVarsArray(0x0),
509 fV0CutVarsArray1(0x0),
510 fV0CutVarsArray2(0x0)
515 for(Int_t i=0;i<17;i++){
520 for(Int_t i=0;i<8;i++){
528 Bool_t writeVariableTree) :
529 AliAnalysisTaskSE(name),
538 fIsEventSelected(kFALSE),
539 fWriteVariableTree(writeVariableTree),
540 fWriteEachVariableTree(kFALSE),
541 fWriteMCVariableTree(kFALSE),
543 fEleVariablesTree(0),
546 fMCEleVariablesTree(0),
547 fMCV0VariablesTree(0),
548 fMCGenPairVariablesTree(0),
549 fReconstructPrimVert(kFALSE),
555 fCandidateVariables(),
556 fCandidateEleVariables(),
557 fCandidateV0Variables(),
558 fCandidateMCVariables(),
559 fCandidateMCEleVariables(),
560 fCandidateMCV0Variables(),
561 fCandidateMCGenPairVariables(),
569 fUseCentralityV0M(kFALSE),
572 fMCDoPairAnalysis(kFALSE),
573 fHistoEleLambdaMass(0),
574 fHistoEleLambdaMassRS(0),
575 fHistoEleLambdaMassRS1(0),
576 fHistoEleLambdaMassRS2(0),
577 fHistoEleLambdaMassWS(0),
578 fHistoEleLambdaMassWS1(0),
579 fHistoEleLambdaMassWS2(0),
580 fHistoEleLambdaMassRSMix(0),
581 fHistoEleLambdaMassRSMix1(0),
582 fHistoEleLambdaMassRSMix2(0),
583 fHistoEleLambdaMassWSMix(0),
584 fHistoEleLambdaMassWSMix1(0),
585 fHistoEleLambdaMassWSMix2(0),
586 fHistoEleLambdaMassRSSide(0),
587 fHistoEleLambdaMassRSSide1(0),
588 fHistoEleLambdaMassRSSide2(0),
589 fHistoEleLambdaMassWSSide(0),
590 fHistoEleLambdaMassWSSide1(0),
591 fHistoEleLambdaMassWSSide2(0),
592 fHistoEleLambdaMassRSAway(0),
593 fHistoEleLambdaMassRS1Away(0),
594 fHistoEleLambdaMassRS2Away(0),
595 fHistoEleLambdaMassWSAway(0),
596 fHistoEleLambdaMassWS1Away(0),
597 fHistoEleLambdaMassWS2Away(0),
598 fHistoEleLambdaMassRSMixAway(0),
599 fHistoEleLambdaMassRSMix1Away(0),
600 fHistoEleLambdaMassRSMix2Away(0),
601 fHistoEleLambdaMassWSMixAway(0),
602 fHistoEleLambdaMassWSMix1Away(0),
603 fHistoEleLambdaMassWSMix2Away(0),
604 fHistoEleLambdaMassRSSideAway(0),
605 fHistoEleLambdaMassRSSide1Away(0),
606 fHistoEleLambdaMassRSSide2Away(0),
607 fHistoEleLambdaMassWSSideAway(0),
608 fHistoEleLambdaMassWSSide1Away(0),
609 fHistoEleLambdaMassWSSide2Away(0),
610 fHistoEleLambdaMassvsElePtRS(0),
611 fHistoEleLambdaMassvsElePtWS(0),
612 fHistoEleLambdaMassvsElePtRSMix(0),
613 fHistoEleLambdaMassvsElePtWSMix(0),
614 fHistoEleLambdaMassvsElePtRSSide(0),
615 fHistoEleLambdaMassvsElePtWSSide(0),
616 fHistoEleLambdaMassvsElePtRS1(0),
617 fHistoEleLambdaMassvsElePtWS1(0),
618 fHistoEleLambdaMassvsElePtRSMix1(0),
619 fHistoEleLambdaMassvsElePtWSMix1(0),
620 fHistoEleLambdaMassvsElePtRSSide1(0),
621 fHistoEleLambdaMassvsElePtWSSide1(0),
622 fHistoEleLambdaMassvsElePtRS2(0),
623 fHistoEleLambdaMassvsElePtWS2(0),
624 fHistoEleLambdaMassvsElePtRSMix2(0),
625 fHistoEleLambdaMassvsElePtWSMix2(0),
626 fHistoEleLambdaMassvsElePtRSSide2(0),
627 fHistoEleLambdaMassvsElePtWSSide2(0),
632 fHistoEleLambdaMassMCS(0),
633 fHistoEleLambdaMassLambdabMCS(0),
634 fHistoEleLambdaMassXibMCS(0),
635 fHistoEleLambdaMassMCGen(0),
636 fHistoEleLambdaMassvsElePtMCS(0),
637 fHistoEleLambdaMassvsElePtMCGen(0),
638 fHistoEleLambdaMassvsElePtMCS1(0),
639 fHistoEleLambdaMassvsElePtMCGen1(0),
640 fHistoEleLambdaMassvsElePtMCS2(0),
641 fHistoEleLambdaMassvsElePtMCGen2(0),
644 fHistoElePtvsEtaRS(0),
645 fHistoElePtvsEtaWS(0),
646 fHistoElePtvsEtaRSMix(0),
647 fHistoElePtvsEtaWSMix(0),
648 fHistoElePtvsEtaMCS(0),
649 fHistoElePtvsEtaMCGen(0),
650 fHistoElePtvsLambdaPtRS(0),
651 fHistoElePtvsLambdaPtWS(0),
652 fHistoElePtvsLambdaPtRSMix(0),
653 fHistoElePtvsLambdaPtWSMix(0),
654 fHistoElePtvsLambdaPtMCS(0),
655 fHistoElePtvsLambdaPtvsLcPtMCS(0),
656 fHistoElePtvsLambdaPtMCGen(0),
657 fHistoElePtvsLambdaPtvsLcPtMCGen(0),
658 fHistoElePtvsLambdaPtMCLcGen(0),
659 fHistoElePtvsd0RS(0),
660 fHistoElePtvsd0WS(0),
661 fHistoElePtvsd0RSMix(0),
662 fHistoElePtvsd0WSMix(0),
663 fHistoElePtvsd0MCS(0),
664 fHistoElePtvsd0PromptMCS(0),
665 fHistoElePtvsd0BFeeddownMCS(0),
666 fHistoEleLambdaMassFeeddownXic0MCS(0),
667 fHistoEleLambdaMassFeeddownXic0MCGen(0),
668 fHistoEleLambdaMassvsElePtFeeddownXic0MCS(0),
669 fHistoEleLambdaMassvsElePtFeeddownXic0MCGen(0),
670 fHistoEleLambdaMassvsElePtFeeddownXic0MCS1(0),
671 fHistoEleLambdaMassvsElePtFeeddownXic0MCGen1(0),
672 fHistoEleLambdaMassvsElePtFeeddownXic0MCS2(0),
673 fHistoEleLambdaMassvsElePtFeeddownXic0MCGen2(0),
674 fHistoElePtFeeddownXic0MCS(0),
675 fHistoElePtFeeddownXic0MCGen(0),
676 fHistoElePtvsEtaFeeddownXic0MCS(0),
677 fHistoElePtvsEtaFeeddownXic0MCGen(0),
678 fHistoElePtvsLambdaPtFeeddownXic0MCS(0),
679 fHistoElePtvsLambdaPtFeeddownXic0MCGen(0),
680 fHistoEleLambdaMassFeeddownXicPlusMCS(0),
681 fHistoEleLambdaMassFeeddownXicPlusMCGen(0),
682 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCS(0),
683 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCGen(0),
684 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCS1(0),
685 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCGen1(0),
686 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCS2(0),
687 fHistoEleLambdaMassvsElePtFeeddownXicPlusMCGen2(0),
688 fHistoElePtFeeddownXicPlusMCS(0),
689 fHistoElePtFeeddownXicPlusMCGen(0),
690 fHistoElePtvsEtaFeeddownXicPlusMCS(0),
691 fHistoElePtvsEtaFeeddownXicPlusMCGen(0),
692 fHistoElePtvsLambdaPtFeeddownXicPlusMCS(0),
693 fHistoElePtvsLambdaPtFeeddownXicPlusMCGen(0),
696 fHistoBachPtMCGen(0),
698 fHistoLambdaMassvsPt(0),
699 fHistoLambdaMassvsPtMCS(0),
700 fHistoLambdaMassvsPtMCGen(0),
701 fHistoLambdaPtvsDl(0),
702 fHistoLambdaPtvsDlSide(0),
703 fHistoLambdaPtvsDlMCS(0),
704 fHistoLambdaPtvsDlFeeddownXi0MCS(0),
705 fHistoLambdaPtvsDlFeeddownXiMinusMCS(0),
706 fHistoLambdaPtvsDlFeeddownOmegaMCS(0),
707 fHistoK0sMassvsPt(0),
708 fHistoElectronTPCPID(0),
709 fHistoElectronTOFPID(0),
710 fHistoElectronTPCSelPID(0),
711 fHistoElectronTOFSelPID(0),
712 fHistoElectronTPCPIDSelTOF(0),
713 fHistoElectronTPCPIDSelTOFSmallEta(0),
714 fHistoElectronTPCPIDSelTOFLargeEta(0),
715 fHistoMassConversionsMin(0),
716 fHistoMassConversionsSameSignMin(0),
717 fHistoElectronQovPtvsPhi(0),
718 fHistoLambdaQovPtvsPhi(0),
725 fHistoFeedDownXic0MCGen(0),
726 fHistoFeedDownXic0MCGen1(0),
727 fHistoFeedDownXic0MCGen2(0),
728 fHistoFeedDownXic0MCS(0),
729 fHistoFeedDownXic0MCS1(0),
730 fHistoFeedDownXic0MCS2(0),
731 fHistoFeedDownXicPlusMCGen(0),
732 fHistoFeedDownXicPlusMCGen1(0),
733 fHistoFeedDownXicPlusMCGen2(0),
734 fHistoFeedDownXicPlusMCS(0),
735 fHistoFeedDownXicPlusMCS1(0),
736 fHistoFeedDownXicPlusMCS2(0),
737 fHistoFeedDownSigmaMCGen(0),
738 fHistoFeedDownSigmaMCGen1(0),
739 fHistoFeedDownSigmaMCGen2(0),
740 fHistoFeedDownSigmaMCS(0),
741 fHistoFeedDownSigmaMCS1(0),
742 fHistoFeedDownSigmaMCS2(0),
743 fHistoLcElectronMCGen(0),
744 fHistoLcElectronMCGen1(0),
745 fHistoLcElectronMCGen2(0),
746 fHistoLcElectronMCS(0),
747 fHistoLcElectronMCS1(0),
748 fHistoLcElectronMCS2(0),
749 fHistoElectronFeedDownXic0MCGen(0),
750 fHistoElectronFeedDownXic0MCGen1(0),
751 fHistoElectronFeedDownXic0MCGen2(0),
752 fHistoElectronFeedDownXic0MCS(0),
753 fHistoElectronFeedDownXic0MCS1(0),
754 fHistoElectronFeedDownXic0MCS2(0),
755 fHistoElectronFeedDownXicPlusMCGen(0),
756 fHistoElectronFeedDownXicPlusMCGen1(0),
757 fHistoElectronFeedDownXicPlusMCGen2(0),
758 fHistoElectronFeedDownXicPlusMCS(0),
759 fHistoElectronFeedDownXicPlusMCS1(0),
760 fHistoElectronFeedDownXicPlusMCS2(0),
761 fHistoElectronMCGen(0),
762 fHistoLambdaMCGen(0),
763 fHistoElePtvsV0dlRS(0),
764 fHistoElePtvsV0dlRS1(0),
765 fHistoElePtvsV0dlRS2(0),
766 fHistoElePtvsV0dlRSSide(0),
767 fHistoElePtvsV0dlRSSide1(0),
768 fHistoElePtvsV0dlRSSide2(0),
769 fHistoElePtvsV0dlRSMix(0),
770 fHistoElePtvsV0dlRSMix1(0),
771 fHistoElePtvsV0dlRSMix2(0),
772 fHistoElePtvsV0dlWS(0),
773 fHistoElePtvsV0dlWS1(0),
774 fHistoElePtvsV0dlWS2(0),
775 fHistoElePtvsV0dlWSSide(0),
776 fHistoElePtvsV0dlWSSide1(0),
777 fHistoElePtvsV0dlWSSide2(0),
778 fHistoElePtvsV0dlWSMix(0),
779 fHistoElePtvsV0dlWSMix1(0),
780 fHistoElePtvsV0dlWSMix2(0),
781 fHistoElePtvsV0dlMCS(0),
782 fHistoElePtvsV0dlMCS1(0),
783 fHistoElePtvsV0dlMCS2(0),
784 fHistoElePtvsV0dlFeedDownXic0MCS(0),
785 fHistoElePtvsV0dlFeedDownXic0MCS1(0),
786 fHistoElePtvsV0dlFeedDownXic0MCS2(0),
787 fHistoElePtvsV0dlFeedDownXicPlusMCS(0),
788 fHistoElePtvsV0dlFeedDownXicPlusMCS1(0),
789 fHistoElePtvsV0dlFeedDownXicPlusMCS2(0),
790 fHistoElePtvsV0dcaRS(0),
791 fHistoElePtvsV0dcaRS1(0),
792 fHistoElePtvsV0dcaRS2(0),
793 fHistoElePtvsV0dcaRSSide(0),
794 fHistoElePtvsV0dcaRSSide1(0),
795 fHistoElePtvsV0dcaRSSide2(0),
796 fHistoElePtvsV0dcaRSMix(0),
797 fHistoElePtvsV0dcaRSMix1(0),
798 fHistoElePtvsV0dcaRSMix2(0),
799 fHistoElePtvsV0dcaWS(0),
800 fHistoElePtvsV0dcaWS1(0),
801 fHistoElePtvsV0dcaWS2(0),
802 fHistoElePtvsV0dcaWSSide(0),
803 fHistoElePtvsV0dcaWSSide1(0),
804 fHistoElePtvsV0dcaWSSide2(0),
805 fHistoElePtvsV0dcaWSMix(0),
806 fHistoElePtvsV0dcaWSMix1(0),
807 fHistoElePtvsV0dcaWSMix2(0),
808 fHistoElePtvsV0dcaMCS(0),
809 fHistoElePtvsV0dcaMCS1(0),
810 fHistoElePtvsV0dcaMCS2(0),
811 fHistoElePtvsV0dcaFeedDownXic0MCS(0),
812 fHistoElePtvsV0dcaFeedDownXic0MCS1(0),
813 fHistoElePtvsV0dcaFeedDownXic0MCS2(0),
814 fHistoElePtvsV0dcaFeedDownXicPlusMCS(0),
815 fHistoElePtvsV0dcaFeedDownXicPlusMCS1(0),
816 fHistoElePtvsV0dcaFeedDownXicPlusMCS2(0),
817 fHistoEleLambdaPtvsV0dlRS(0),
818 fHistoEleLambdaPtvsV0dlRS1(0),
819 fHistoEleLambdaPtvsV0dlRS2(0),
820 fHistoEleLambdaPtvsV0dlRSSide(0),
821 fHistoEleLambdaPtvsV0dlRSSide1(0),
822 fHistoEleLambdaPtvsV0dlRSSide2(0),
823 fHistoEleLambdaPtvsV0dlRSMix(0),
824 fHistoEleLambdaPtvsV0dlRSMix1(0),
825 fHistoEleLambdaPtvsV0dlRSMix2(0),
826 fHistoEleLambdaPtvsV0dlWS(0),
827 fHistoEleLambdaPtvsV0dlWS1(0),
828 fHistoEleLambdaPtvsV0dlWS2(0),
829 fHistoEleLambdaPtvsV0dlWSSide(0),
830 fHistoEleLambdaPtvsV0dlWSSide1(0),
831 fHistoEleLambdaPtvsV0dlWSSide2(0),
832 fHistoEleLambdaPtvsV0dlWSMix(0),
833 fHistoEleLambdaPtvsV0dlWSMix1(0),
834 fHistoEleLambdaPtvsV0dlWSMix2(0),
835 fHistoEleLambdaPtvsV0dlMCS(0),
836 fHistoEleLambdaPtvsV0dlMCS1(0),
837 fHistoEleLambdaPtvsV0dlMCS2(0),
838 fHistoEleLambdaPtvsV0dlPromptMCS(0),
839 fHistoEleLambdaPtvsV0dlPromptMCS1(0),
840 fHistoEleLambdaPtvsV0dlPromptMCS2(0),
841 fHistoEleLambdaPtvsV0dlBFeeddownMCS(0),
842 fHistoEleLambdaPtvsV0dlBFeeddownMCS1(0),
843 fHistoEleLambdaPtvsV0dlBFeeddownMCS2(0),
844 fHistoEleLambdaPtvsV0dlFeedDownXic0MCS(0),
845 fHistoEleLambdaPtvsV0dlFeedDownXic0MCS1(0),
846 fHistoEleLambdaPtvsV0dlFeedDownXic0MCS2(0),
847 fHistoEleLambdaPtvsV0dlFeedDownXic0PromptMCS(0),
848 fHistoEleLambdaPtvsV0dlFeedDownXic0PromptMCS1(0),
849 fHistoEleLambdaPtvsV0dlFeedDownXic0PromptMCS2(0),
850 fHistoEleLambdaPtvsV0dlFeedDownXic0BFeeddownMCS(0),
851 fHistoEleLambdaPtvsV0dlFeedDownXic0BFeeddownMCS1(0),
852 fHistoEleLambdaPtvsV0dlFeedDownXic0BFeeddownMCS2(0),
853 fHistoEleLambdaPtvsV0dlFeedDownXicPlusMCS(0),
854 fHistoEleLambdaPtvsV0dlFeedDownXicPlusMCS1(0),
855 fHistoEleLambdaPtvsV0dlFeedDownXicPlusMCS2(0),
856 fHistoEleLambdaPtvsV0dlFeedDownXicPlusPromptMCS(0),
857 fHistoEleLambdaPtvsV0dlFeedDownXicPlusPromptMCS1(0),
858 fHistoEleLambdaPtvsV0dlFeedDownXicPlusPromptMCS2(0),
859 fHistoEleLambdaPtvsV0dlFeedDownXicPlusBFeeddownMCS(0),
860 fHistoEleLambdaPtvsV0dlFeedDownXicPlusBFeeddownMCS1(0),
861 fHistoEleLambdaPtvsV0dlFeedDownXicPlusBFeeddownMCS2(0),
862 fHistoEleLambdaPtvsV0dlFeedDownSigmaMCS(0),
863 fHistoEleLambdaPtvsV0dlFeedDownSigmaMCS1(0),
864 fHistoEleLambdaPtvsV0dlFeedDownSigmaMCS2(0),
865 fHistoEleLambdaPtvsV0dlFeedDownSigmaPromptMCS(0),
866 fHistoEleLambdaPtvsV0dlFeedDownSigmaPromptMCS1(0),
867 fHistoEleLambdaPtvsV0dlFeedDownSigmaPromptMCS2(0),
868 fHistoEleLambdaPtvsV0dlFeedDownSigmaBFeeddownMCS(0),
869 fHistoEleLambdaPtvsV0dlFeedDownSigmaBFeeddownMCS1(0),
870 fHistoEleLambdaPtvsV0dlFeedDownSigmaBFeeddownMCS2(0),
871 fHistoEleLambdaPtvsV0dlLambdabMCS(0),
872 fHistoEleLambdaPtvsV0dlLambdabMCS1(0),
873 fHistoEleLambdaPtvsV0dlLambdabMCS2(0),
874 fHistoEleLambdaPtvsV0dlXibMCS(0),
875 fHistoEleLambdaPtvsV0dlXibMCS1(0),
876 fHistoEleLambdaPtvsV0dlXibMCS2(0),
877 fHistoEleLambdaPtvsV0dlRSAway(0),
878 fHistoEleLambdaPtvsV0dlRS1Away(0),
879 fHistoEleLambdaPtvsV0dlRS2Away(0),
880 fHistoEleLambdaPtvsV0dlRSSideAway(0),
881 fHistoEleLambdaPtvsV0dlRSSide1Away(0),
882 fHistoEleLambdaPtvsV0dlRSSide2Away(0),
883 fHistoEleLambdaPtvsV0dlRSMixAway(0),
884 fHistoEleLambdaPtvsV0dlRSMix1Away(0),
885 fHistoEleLambdaPtvsV0dlRSMix2Away(0),
886 fHistoEleLambdaPtvsV0dlWSAway(0),
887 fHistoEleLambdaPtvsV0dlWS1Away(0),
888 fHistoEleLambdaPtvsV0dlWS2Away(0),
889 fHistoEleLambdaPtvsV0dlWSSideAway(0),
890 fHistoEleLambdaPtvsV0dlWSSide1Away(0),
891 fHistoEleLambdaPtvsV0dlWSSide2Away(0),
892 fHistoEleLambdaPtvsV0dlWSMixAway(0),
893 fHistoEleLambdaPtvsV0dlWSMix1Away(0),
894 fHistoEleLambdaPtvsV0dlWSMix2Away(0),
895 fHistoResponseElePt(0),
896 fHistoResponseElePt1(0),
897 fHistoResponseElePt2(0),
898 fHistoResponseEleLambdaPt(0),
899 fHistoResponseEleLambdaPt1(0),
900 fHistoResponseEleLambdaPt2(0),
901 fHistoResponseEleLambdaPtFeeddownXic0(0),
902 fHistoResponseEleLambdaPtFeeddownXic01(0),
903 fHistoResponseEleLambdaPtFeeddownXic02(0),
904 fHistoResponseEleLambdaPtFeeddownXicPlus(0),
905 fHistoResponseEleLambdaPtFeeddownXicPlus1(0),
906 fHistoResponseEleLambdaPtFeeddownXicPlus2(0),
907 fHistoResponseEleLambdaPtFeeddownSigma(0),
908 fHistoResponseEleLambdaPtFeeddownSigma1(0),
909 fHistoResponseEleLambdaPtFeeddownSigma2(0),
910 fHistoLcPtvseleLambdaPtvsElePtvsLambdaPt(0),
911 fHistoEleLambdaPtvsRapidityRS(0),
912 fHistoEleLambdaPtvsRapidityWS(0),
913 fHistoEleLambdaPtvsRapidityMCS(0),
915 fHistonEvtvsRunNumber(0),
916 fHistonElevsRunNumber(0),
917 fHistonLambdavsRunNumber(0),
918 fHistoMCEventType(0),
919 fHistoMCDeltaPhiccbar(0),
920 fGTI(0),fGTIndex(0), fTrackBuffSize(19000),
921 fHistodPhiSdEtaSElectronProtonR125RS(0),
922 fHistodPhiSdEtaSElectronProtonR125WS(0),
923 fHistodPhiSdEtaSElectronProtonR125RSMix(0),
924 fHistodPhiSdEtaSElectronProtonR125WSMix(0),
925 fHistodPhiSdEtaSElectronPionR125RS(0),
926 fHistodPhiSdEtaSElectronPionR125WS(0),
927 fHistodPhiSdEtaSElectronPionR125RSMix(0),
928 fHistodPhiSdEtaSElectronPionR125WSMix(0),
930 fMixWithoutConversionFlag(kTRUE),
931 fNumberOfEventsForMixing (5),
937 fElectronTracks(0x0),
944 fElectronCutVarsArray(0x0),
945 fV0CutVarsArray1(0x0),
946 fV0CutVarsArray2(0x0)
951 Info(
"AliAnalysisTaskSELc2eleLambdafromAODtracks",
"Calling Constructor");
953 for(Int_t i=0;i<17;i++){
958 for(Int_t i=0;i<8;i++){
962 DefineOutput(1,TList::Class());
963 DefineOutput(2,TList::Class());
964 DefineOutput(3,TList::Class());
965 DefineOutput(4,TTree::Class());
966 DefineOutput(5,TTree::Class());
967 DefineOutput(6,TTree::Class());
968 DefineOutput(7,TTree::Class());
969 DefineOutput(8,AliNormalizationCounter::Class());
970 DefineOutput(9,TTree::Class());
971 DefineOutput(10,TTree::Class());
972 DefineOutput(11,TTree::Class());
980 Info(
"~AliAnalysisTaskSELc2eleLambdafromAODtracks",
"Calling Destructor");
1071 if (fDebug > 1) AliInfo(
"Init");
1090 AliError(
"NO EVENT FOUND!");
1093 AliAODEvent* aodEvent =
dynamic_cast<AliAODEvent*
>(fInputEvent);
1101 fBzkG = (Double_t)aodEvent->GetMagneticField();
1102 AliKFParticle::SetField(
fBzkG);
1103 if (TMath::Abs(
fBzkG)<0.001) {
1114 TClonesArray *mcArray = 0;
1115 AliAODMCHeader *mcHeader=0;
1118 mcArray =
dynamic_cast<TClonesArray*
>(aodEvent->FindListObject(AliAODMCParticle::StdBranchName()));
1120 AliError(
"Could not find Monte-Carlo in AOD");
1126 mcHeader = (AliAODMCHeader*)aodEvent->GetList()->FindObject(AliAODMCHeader::StdBranchName());
1128 AliError(
"AliAnalysisTaskSELc2eleLambdafromAODtracks::UserExec: MC header branch not found!\n");
1133 Double_t zMCVertex = mcHeader->GetVtxZ();
1135 AliDebug(2,Form(
"Event rejected: abs(zVtxMC)=%f > fAnalCuts->GetMaxVtxZ()=%f",zMCVertex,
fAnalCuts->
GetMaxVtxZ()));
1149 fVtx1 = (AliAODVertex*)aodEvent->GetPrimaryVertex();
1152 Double_t pos[3],cov[6];
1154 fVtx1->GetCovarianceMatrix(cov);
1155 fV1 =
new AliESDVertex(pos,cov,100.,100,
fVtx1->GetName());
1159 if(!fIsTriggerNotOK)
fCEvents->Fill(3);
1166 fIsMB=(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected()&AliVEvent::kMB)==(AliVEvent::kMB);
1167 fIsSemi=(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected()&AliVEvent::kSemiCentral)==(AliVEvent::kSemiCentral);
1168 fIsCent=(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected()&AliVEvent::kCentral)==(AliVEvent::kCentral);
1169 fIsINT7=(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected()&AliVEvent::kINT7)==(AliVEvent::kINT7);
1170 fIsEMC7=(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected()&AliVEvent::kEMC7)==(AliVEvent::kEMC7);
1184 AliCentrality *cent = aodEvent->GetCentrality();
1185 fCentrality = cent->GetCentralityPercentile(
"V0M");
1189 if(fCentrality<0.||fCentrality>100.-0.0000001) {
1196 Int_t runnumber_offset = 0;
1197 Int_t runnumber = aodEvent->GetRunNumber();
1198 if(runnumber<=131000&&runnumber>=114000){
1199 runnumber_offset = 114000;
1200 }
else if(runnumber<=196000&&runnumber>=195000){
1201 runnumber_offset = 195000;
1202 }
else if(runnumber<=170593&&runnumber>=167902){
1203 runnumber_offset = 167902;
1247 AliAnalysisTaskSE::Terminate();
1249 fOutput =
dynamic_cast<TList*
> (GetOutputData(1));
1251 AliError(
"fOutput not available");
1255 fOutputAll =
dynamic_cast<TList*
> (GetOutputData(3));
1257 AliError(
"fOutputAll not available");
1309 TString normName=
"NormalizationCounter";
1310 AliAnalysisDataContainer *cont = GetOutputSlot(8)->GetContainer();
1311 if(cont)normName=(TString)cont->GetName();
1333 fEventBuffer[i]=
new TTree(Form(
"EventBuffer_%d",i),
"Temporary buffer for event mixing");
1357 AliAODEvent *aodEvent, TClonesArray *mcArray
1364 if(fElectronTracks) fElectronTracks->Delete();
1365 if(fV0Tracks1) fV0Tracks1->Delete();
1366 if(fV0Tracks2) fV0Tracks2->Delete();
1367 if(fElectronCutVarsArray) fElectronCutVarsArray->Delete();
1368 if(fV0CutVarsArray1) fV0CutVarsArray1->Delete();
1369 if(fV0CutVarsArray2) fV0CutVarsArray2->Delete();
1370 fV0dlArray1.clear();
1371 fV0dlArray2.clear();
1372 fV0dcaArray1.clear();
1373 fV0dcaArray2.clear();
1376 ResetGlobalTrackReference();
1378 for (Int_t iTrack=0;iTrack<aodEvent->GetNumberOfTracks();iTrack++){
1380 AliAODTrack *track =
dynamic_cast<AliAODTrack *
>(aodEvent->GetTrack(iTrack));
1381 if (!track)
continue;
1384 StoreGlobalTrackReference(track,iTrack);
1391 Int_t nV0s= aodEvent->GetNumberOfV0s();
1392 Int_t nTracks= aodEvent->GetNumberOfTracks();
1394 Bool_t seleTrkFlags[nTracks];
1396 SelectTrack(aodEvent,nTracks,nSeleTrks,seleTrkFlags,mcArray);
1398 Bool_t seleV0Flags[nV0s];
1400 SelectV0(aodEvent,nV0s,nSeleV0,seleV0Flags,mcArray);
1402 Int_t runnumber_offset = 0;
1403 Int_t runnumber = aodEvent->GetRunNumber();
1404 if(runnumber<=131000&&runnumber>=114000){
1405 runnumber_offset = 114000;
1406 }
else if(runnumber<=196000&&runnumber>=195000){
1407 runnumber_offset = 195000;
1408 }
else if(runnumber<=170593&&runnumber>=167902){
1409 runnumber_offset = 167902;
1411 fHistonElevsRunNumber->Fill(runnumber-runnumber_offset,nSeleTrks);
1412 fHistonLambdavsRunNumber->Fill(runnumber-runnumber_offset,nSeleV0);
1417 for (Int_t iv0 = 0; iv0<nV0s; iv0++) {
1418 if(!seleV0Flags[iv0])
continue;
1419 AliAODv0 *v0 = aodEvent->GetV0(iv0);
1422 AliAODTrack *cptrack = (AliAODTrack*)(v0->GetDaughter(0));
1423 AliAODTrack *cntrack = (AliAODTrack*)(v0->GetDaughter(1));
1428 for (Int_t itrk = 0; itrk<nTracks; itrk++) {
1429 if(!seleTrkFlags[itrk])
continue;
1430 AliAODTrack *trk = (AliAODTrack*)aodEvent->GetTrack(itrk);
1438 AliAODTrack *trkpid = 0;
1439 if(fAnalCuts->GetProdAODFilterBit()==7){
1440 trkpid = fGTI[-trk->GetID()-1];
1445 Int_t cpid = cptrack->GetID();
1446 Int_t cnid = cntrack->GetID();
1447 Int_t lpid = trkpid->GetID();
1448 if((cpid==lpid)||(cnid==lpid))
continue;
1450 AliAODVertex *secVert = ReconstructSecondaryVertex(v0,trk,aodEvent);
1451 if(!secVert)
continue;
1458 FillROOTObjects(elobj,v0,trk,trkpid,mcArray);
1460 elobj->GetSecondaryVtx()->RemoveDaughters();
1462 delete elobj;elobj=NULL;
1468 fEventInfo->SetString(Form(
"Ev%d_esd%d_E%d_V%d",AliAnalysisManager::GetAnalysisManager()->GetNcalls(),((AliAODHeader*)aodEvent->GetHeader())->GetEventNumberESDFile(),fElectronTracks->GetEntries(),fV0Tracks1->GetEntries()+fV0Tracks2->GetEntries()));
1469 Int_t ind=GetPoolIndex(fVtxZ,fCentrality);
1470 if(ind>=0 && ind<fNOfPools){
1471 if(fEventBuffer[ind]->GetEntries() >= fNumberOfEventsForMixing){
1472 DoEventMixingWithPools(ind);
1473 if(fEventBuffer[ind]->GetEntries() >= 20*fNumberOfEventsForMixing){
1477 fEventBuffer[ind]->Fill();
1488 const char* nameoutput = GetOutputSlot(4)->GetContainer()->GetName();
1489 fVariablesTree =
new TTree(nameoutput,
"Candidates variables tree");
1492 TString * fCandidateVariableNames =
new TString[nVar];
1494 fCandidateVariableNames[ 0]=
"Centrality";
1495 fCandidateVariableNames[ 1]=
"InvMassEleLambda";
1496 fCandidateVariableNames[ 2]=
"EleLambdaPt";
1497 fCandidateVariableNames[ 3]=
"EleLambdaPx";
1498 fCandidateVariableNames[ 4]=
"EleLambdaPy";
1499 fCandidateVariableNames[ 5]=
"EleLambdaPz";
1500 fCandidateVariableNames[ 6]=
"ElePx";
1501 fCandidateVariableNames[ 7]=
"ElePy";
1502 fCandidateVariableNames[ 8]=
"ElePz";
1503 fCandidateVariableNames[ 9]=
"V0Px";
1504 fCandidateVariableNames[10]=
"V0Py";
1505 fCandidateVariableNames[11]=
"V0Pz";
1506 fCandidateVariableNames[12]=
"AntiLambdaFlag";
1507 fCandidateVariableNames[13]=
"MassLambda";
1508 fCandidateVariableNames[14]=
"MassAntiLambda";
1509 fCandidateVariableNames[15]=
"Eled0";
1510 fCandidateVariableNames[16]=
"V0d0";
1511 fCandidateVariableNames[17]=
"nSigmaTPCele";
1512 fCandidateVariableNames[18]=
"nSigmaTOFele";
1513 fCandidateVariableNames[19]=
"nSigmaTPCv0pr";
1514 fCandidateVariableNames[20]=
"nSigmaTOFv0pr";
1515 fCandidateVariableNames[21]=
"EleCharge";
1516 fCandidateVariableNames[22]=
"ProtonPx";
1517 fCandidateVariableNames[23]=
"ProtonPy";
1518 fCandidateVariableNames[24]=
"ProtonPz";
1519 fCandidateVariableNames[25]=
"PiPx";
1520 fCandidateVariableNames[26]=
"PiPy";
1521 fCandidateVariableNames[27]=
"PiPz";
1522 fCandidateVariableNames[28]=
"mcpdglc";
1523 fCandidateVariableNames[29]=
"mclablc";
1524 fCandidateVariableNames[30]=
"mcpdgmomele";
1525 fCandidateVariableNames[31]=
"mcpdgmomv0";
1526 fCandidateVariableNames[32]=
"Mixing";
1527 fCandidateVariableNames[33]=
"mcpdgele";
1528 fCandidateVariableNames[34]=
"nSigmaTPCpr_etrk";
1529 fCandidateVariableNames[35]=
"nSigmaTOFpr_etrk";
1530 fCandidateVariableNames[36]=
"nSigmaTPCka_etrk";
1531 fCandidateVariableNames[37]=
"nSigmaTOFka_etrk";
1532 fCandidateVariableNames[38]=
"MassK0Short";
1533 fCandidateVariableNames[39]=
"mcpdggrmomele";
1534 fCandidateVariableNames[40]=
"mcpdggrmomv0";
1535 fCandidateVariableNames[41]=
"mcngenele";
1536 fCandidateVariableNames[42]=
"mcngenv0";
1537 fCandidateVariableNames[43]=
"mclcpx";
1538 fCandidateVariableNames[44]=
"mclcpy";
1539 fCandidateVariableNames[45]=
"mclcpz";
1540 fCandidateVariableNames[46]=
"mcelepx";
1541 fCandidateVariableNames[47]=
"mcelepy";
1542 fCandidateVariableNames[48]=
"mcelepz";
1543 fCandidateVariableNames[49]=
"mcv0px";
1544 fCandidateVariableNames[50]=
"mcv0py";
1545 fCandidateVariableNames[51]=
"mcv0pz";
1546 fCandidateVariableNames[52]=
"nSigmaTPCpi_etrk";
1547 fCandidateVariableNames[53]=
"nSigmaTOFpi_etrk";
1548 fCandidateVariableNames[54]=
"PrimVertx";
1549 fCandidateVariableNames[55]=
"PrimVerty";
1550 fCandidateVariableNames[56]=
"PrimVertz";
1551 fCandidateVariableNames[57]=
"V0Vertx";
1552 fCandidateVariableNames[58]=
"V0Verty";
1553 fCandidateVariableNames[59]=
"V0Vertz";
1555 fCandidateVariableNames[60]=
"DcaV0PrToPrimVertex";
1556 fCandidateVariableNames[61]=
"DcaV0PiToPrimVertex";
1557 fCandidateVariableNames[62]=
"DcaV0daughters";
1558 fCandidateVariableNames[63]=
"V0CosPointingAngle";
1559 fCandidateVariableNames[64]=
"V0ProperDecayLength";
1560 fCandidateVariableNames[65]=
"MassK0Short2";
1562 fCandidateVariableNames[66]=
"nSigmaTPCv0pi";
1563 fCandidateVariableNames[67]=
"nSigmaTOFv0pi";
1565 fCandidateVariableNames[68]=
"EleITSMatch";
1566 fCandidateVariableNames[69]=
"V0PosITSMatch";
1567 fCandidateVariableNames[70]=
"V0NegITSMatch";
1568 fCandidateVariableNames[71]=
"IsV0PeakRegion";
1569 fCandidateVariableNames[72]=
"mcpdgv0";
1571 fCandidateVariableNames[73]=
"EvNumber";
1572 fCandidateVariableNames[74]=
"RunNumber";
1574 for (Int_t ivar=0; ivar<nVar; ivar++) {
1591 for(Int_t i=0;i<75;i++){
1595 Bool_t anti_lambda_flag = kFALSE;
1598 AliAODTrack *cptrack = (AliAODTrack*)(v0->GetDaughter(0));
1599 AliAODTrack *cntrack = (AliAODTrack*)(v0->GetDaughter(1));
1600 if(cptrack->Charge()<0 && cntrack->Charge()>0){
1601 cptrack = (AliAODTrack*)(v0->GetDaughter(1));
1602 cntrack = (AliAODTrack*)(v0->GetDaughter(0));
1605 Double_t v0px = elobj->PxProng(1);
1606 Double_t v0py = elobj->PyProng(1);
1607 Double_t v0pz = elobj->PzProng(1);
1608 Double_t momv0 = sqrt(v0px*v0px+v0py*v0py+v0pz*v0pz);
1609 Double_t Ev0 = sqrt(momv0*momv0+1.115683*1.115683);
1610 Double_t epx = elobj->PxProng(0);
1611 Double_t epy = elobj->PyProng(0);
1612 Double_t epz = elobj->PzProng(0);
1613 Double_t mome = sqrt(epx*epx+epy*epy+epz*epz);
1614 Double_t Ee = sqrt(mome*mome+0.000510998928*0.000510998928);
1615 Double_t cosoa = (v0px*epx+v0py*epy+v0pz*epz)/sqrt(v0px*v0px+v0py*v0py+v0pz*v0pz)/sqrt(epx*epx+epy*epy+epz*epz);
1616 Double_t Esum = Ee + Ev0;
1618 Double_t uxe = epx/mome;
1619 Double_t uye = epy/mome;
1620 Double_t uze = epz/mome;
1621 Double_t lf = -2.*(v0px*uxe+v0py*uye+v0pz*uze);
1622 Double_t pxv_flip = v0px + lf * uxe;
1623 Double_t pyv_flip = v0py + lf * uye;
1624 Double_t pzv_flip = v0pz + lf * uze;
1625 Double_t pxsum_flip = epx + pxv_flip;
1626 Double_t pysum_flip = epy + pyv_flip;
1627 Double_t pzsum_flip = epz + pzv_flip;
1628 Double_t melam_flip = sqrt(Esum*Esum-pxsum_flip*pxsum_flip-pysum_flip*pysum_flip-pzsum_flip*pzsum_flip);
1629 Double_t ptelam_flip = sqrt(pxsum_flip*pxsum_flip+pysum_flip*pysum_flip);
1632 UInt_t pdgdg[2]={11,3122};
1650 Double_t nSigmaTPCele=-9999.;
1651 Double_t nSigmaTOFele=-9999.;
1652 Double_t nSigmaTPCv0pr=-9999.;
1653 Double_t nSigmaTOFv0pr=-9999.;
1654 Double_t nSigmaTPCv0pi=-9999.;
1655 Double_t nSigmaTOFv0pi=-9999.;
1666 if(anti_lambda_flag){
1684 if(anti_lambda_flag){
1700 AliAODMCParticle *mclc = 0;
1701 AliAODMCParticle *mcele = 0;
1702 AliAODMCParticle *mcv0 = 0;
1704 Int_t mcpdgele_array[100];
1705 Int_t mcpdgv0_array[100];
1706 Int_t mclabelele_array[100];
1707 Int_t mclabelv0_array[100];
1708 Int_t mcngen_ele=-9999;
1709 Int_t mcngen_v0=-9999;
1713 mclablc =
MatchToMC(elobj,mcArray,mcpdgele_array, mcpdgv0_array,mclabelele_array,mclabelv0_array,mcngen_ele,mcngen_v0);
1716 mclc = (AliAODMCParticle*) mcArray->At(mclablc);
1717 if(mclabelele_array[0]>=0)
1718 mcele = (AliAODMCParticle*) mcArray->At(mclabelele_array[0]);
1719 if(mclabelv0_array[0]>=0)
1720 mcv0 = (AliAODMCParticle*) mcArray->At(mclabelv0_array[0]);
1773 Double_t lDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
1774 Double_t lDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
1775 if(!anti_lambda_flag){
1783 Double_t posVtx[3] = {0.,0.,0.};
1784 fVtx1->GetXYZ(posVtx);
1786 Double_t ptotlam = TMath::Sqrt(pow(v0->Px(),2)+pow(v0->Py(),2)+pow(v0->Pz(),2));
1802 Double_t dphis_ele_pr, detas_ele_pr,dphis_ele_pi, detas_ele_pi;
1803 dphis_ele_pr = 9999.;detas_ele_pr = 9999.;dphis_ele_pi = 9999.;detas_ele_pi = 9999.;
1807 cont[0] = elobj->InvMass(2,pdgdg);
1808 cont[1] = elobj->Pt();
1812 Double_t cont_flip[3];
1813 cont_flip[0] = melam_flip;
1814 cont_flip[1] = ptelam_flip;
1818 cont2[0] = elobj->InvMass(2,pdgdg);
1819 cont2[1] = trk->Pt();
1821 Double_t cont_eleptvseta[3];
1822 cont_eleptvseta[0] = trk->Pt();
1823 cont_eleptvseta[1] = trk->Eta();
1826 Double_t cont_eleptvslambdapt[3];
1827 cont_eleptvslambdapt[0] = trk->Pt();
1828 cont_eleptvslambdapt[1] = v0->Pt();
1831 Double_t cont_eleptvsd0[3];
1832 cont_eleptvsd0[0] = trk->Pt();
1833 cont_eleptvsd0[1] = elobj->Getd0Prong(0)*trk->Charge();
1836 Double_t cont_eleptvsv0dl[3];
1837 cont_eleptvsv0dl[0] = trk->Pt();
1838 cont_eleptvsv0dl[1] = v0->DecayLengthV0(posVtx)*1.115683/ptotlam;
1841 Double_t cont_elelamptvsv0dl[4];
1842 cont_elelamptvsv0dl[0] = elobj->Pt();
1843 cont_elelamptvsv0dl[1] = v0->
DecayLengthV0(posVtx)*1.115683/ptotlam;
1844 cont_elelamptvsv0dl[2] = elobj->Getd0Prong(0)*trk->Charge();
1847 Double_t cont_elelamptvsv0dl_flip[4];
1848 cont_elelamptvsv0dl_flip[0] = ptelam_flip;
1849 cont_elelamptvsv0dl_flip[1] = v0->DecayLengthV0(posVtx)*1.115683/ptotlam;
1850 cont_elelamptvsv0dl_flip[2] = 0.0;
1854 Double_t cont_eleptvsv0dca[3];
1855 cont_eleptvsv0dca[0] = trk->Pt();
1856 cont_eleptvsv0dca[1] = v0->DcaV0ToPrimVertex();
1859 Double_t elobj_mass = elobj->InvMass(2,pdgdg);
1860 Double_t elobj_px = elobj->Px();
1861 Double_t elobj_py = elobj->Py();
1862 Double_t elobj_pz = elobj->Pz();
1863 Double_t elobj_E = sqrt(elobj_mass*elobj_mass+elobj_px*elobj_px+elobj_py*elobj_py+elobj_pz*elobj_pz);
1864 Double_t elobj_rap = 0.5*log((elobj_E+elobj_pz)/(elobj_E-elobj_pz));
1868 if((trk->Charge()>0 && !anti_lambda_flag) || (trk->Charge()<0 && anti_lambda_flag)){
1895 for(Int_t ih=0;ih<17;ih++){
1896 Double_t cont_eleptvscutvars[3];
1897 cont_eleptvscutvars[0] = elobj->Pt();
1901 cont_eleptvscutvars[1] = trk->GetTPCNcls();
1903 cont_eleptvscutvars[1] = trk->GetTPCsignalN();
1905 cont_eleptvscutvars[1] = nSigmaTPCele;
1907 cont_eleptvscutvars[1] = nSigmaTOFele;
1909 cont_eleptvscutvars[1] = trk->Eta();
1911 cont_eleptvscutvars[1] = trk->GetITSNcls();
1913 if(!anti_lambda_flag)
1914 cont_eleptvscutvars[1] = v0->MassLambda();
1916 cont_eleptvscutvars[1] = v0->MassAntiLambda();
1919 lPosV0[0] = v0->DecayVertexV0X();
1920 lPosV0[1] = v0->DecayVertexV0Y();
1921 lPosV0[2] = v0->DecayVertexV0Z();
1922 cont_eleptvscutvars[1] = TMath::Sqrt(lPosV0[0]*lPosV0[0]+lPosV0[1]*lPosV0[1]);
1924 cont_eleptvscutvars[1] = v0->DcaV0Daughters();
1926 if(!anti_lambda_flag)
1927 cont_eleptvscutvars[1] = v0->DcaPosToPrimVertex();
1929 cont_eleptvscutvars[1] = v0->DcaNegToPrimVertex();
1931 if(!anti_lambda_flag)
1932 cont_eleptvscutvars[1] = v0->DcaNegToPrimVertex();
1934 cont_eleptvscutvars[1] = v0->DcaPosToPrimVertex();
1936 cont_eleptvscutvars[1] = v0->CosPointingAngle(posVtx);
1938 cont_eleptvscutvars[1] = v0->MassK0Short();
1940 cont_eleptvscutvars[1] = nSigmaTPCv0pr;
1942 cont_eleptvscutvars[1] = nSigmaTPCv0pi;
1944 cont_eleptvscutvars[1] = v0->Eta();
1946 Double_t v0px = elobj->PxProng(1);
1947 Double_t v0py = elobj->PyProng(1);
1948 Double_t v0pz = elobj->PzProng(1);
1949 Double_t epx = elobj->PxProng(0);
1950 Double_t epy = elobj->PyProng(0);
1951 Double_t epz = elobj->PzProng(0);
1952 cont_eleptvscutvars[1] = acos((v0px*epx+v0py*epy+v0pz*epz)/sqrt(v0px*v0px+v0py*v0py+v0pz*v0pz)/sqrt(epx*epx+epy*epy+epz*epz));
1954 cont_eleptvscutvars[1] = -9999.;
1962 Int_t pdgcode = mclc->GetPdgCode();
1963 Double_t cont_mclc[3];
1964 cont_mclc[0] = mclc->Pt();
1965 cont_mclc[1] = mclc->Y();
1967 Double_t cont_mcele[3];
1968 cont_mcele[0] = mcele->Pt();
1969 cont_mcele[1] = mcele->Eta();
1972 Int_t labmotherlc = mclc->GetMother();
1973 Bool_t isbottomfd = kFALSE;
1975 AliAODMCParticle *motherlc = (AliAODMCParticle*)mcArray->At(labmotherlc);
1976 Int_t pdgmotherlc = motherlc->GetPdgCode();
1977 if(TMath::Abs(pdgmotherlc)==511||TMath::Abs(pdgmotherlc)==521||TMath::Abs(pdgmotherlc)==5122||TMath::Abs(pdgmotherlc)==5132||TMath::Abs(pdgmotherlc)==5232||TMath::Abs(pdgmotherlc)==5332){
1981 cont2[1] = mcele->Pt();
1983 if(abs(pdgcode)==4122 && abs(mcpdgele_array[1])==4122 && abs(mcpdgv0_array[1])==4122){
2032 Double_t cont_eleptvslambdaptvslcpt[4];
2033 cont_eleptvslambdaptvslcpt[0] = cont_eleptvslambdapt[0];
2034 cont_eleptvslambdaptvslcpt[1] = cont_eleptvslambdapt[1];
2035 cont_eleptvslambdaptvslcpt[2] = mclc->Pt();
2036 cont_eleptvslambdaptvslcpt[3] = cont_eleptvslambdapt[2];
2039 Double_t cont_allpt[4];
2040 cont_allpt[0] = mclc->Pt();
2041 cont_allpt[1] = elobj->Pt();
2042 cont_allpt[2] = trk->Pt();
2043 cont_allpt[3] = v0->Pt();
2052 for(Int_t ih=0;ih<17;ih++){
2053 Double_t cont_eleptvscutvars[3];
2054 cont_eleptvscutvars[0] = elobj->Pt();
2058 cont_eleptvscutvars[1] = trk->GetTPCNcls();
2060 cont_eleptvscutvars[1] = trk->GetTPCsignalN();
2062 cont_eleptvscutvars[1] = nSigmaTPCele;
2064 cont_eleptvscutvars[1] = nSigmaTOFele;
2066 cont_eleptvscutvars[1] = trk->Eta();
2068 cont_eleptvscutvars[1] = trk->GetITSNcls();
2070 if(!anti_lambda_flag)
2071 cont_eleptvscutvars[1] = v0->MassLambda();
2073 cont_eleptvscutvars[1] = v0->MassAntiLambda();
2076 lPosV0[0] = v0->DecayVertexV0X();
2077 lPosV0[1] = v0->DecayVertexV0Y();
2078 lPosV0[2] = v0->DecayVertexV0Z();
2079 cont_eleptvscutvars[1] = TMath::Sqrt(lPosV0[0]*lPosV0[0]+lPosV0[1]*lPosV0[1]);
2081 cont_eleptvscutvars[1] = v0->DcaV0Daughters();
2083 if(!anti_lambda_flag)
2084 cont_eleptvscutvars[1] = v0->DcaPosToPrimVertex();
2086 cont_eleptvscutvars[1] = v0->DcaNegToPrimVertex();
2088 if(!anti_lambda_flag)
2089 cont_eleptvscutvars[1] = v0->DcaNegToPrimVertex();
2091 cont_eleptvscutvars[1] = v0->DcaPosToPrimVertex();
2093 cont_eleptvscutvars[1] = v0->CosPointingAngle(posVtx);
2095 cont_eleptvscutvars[1] = v0->MassK0Short();
2097 cont_eleptvscutvars[1] = nSigmaTPCv0pr;
2099 cont_eleptvscutvars[1] = nSigmaTPCv0pi;
2101 cont_eleptvscutvars[1] = v0->Eta();
2103 Double_t v0px = elobj->PxProng(1);
2104 Double_t v0py = elobj->PyProng(1);
2105 Double_t v0pz = elobj->PzProng(1);
2106 Double_t epx = elobj->PxProng(0);
2107 Double_t epy = elobj->PyProng(0);
2108 Double_t epz = elobj->PzProng(0);
2109 cont_eleptvscutvars[1] = acos((v0px*epx+v0py*epy+v0pz*epz)/sqrt(v0px*v0px+v0py*v0py+v0pz*v0pz)/sqrt(epx*epx+epy*epy+epz*epz));
2111 cont_eleptvscutvars[1] = -9999.;
2118 if(abs(pdgcode)==4132 && abs(mcpdgele_array[1])==4132 && abs(mcpdgv0_array[1])==3312){
2163 if(abs(pdgcode)==4232 && abs(mcpdgele_array[1])==4232 && abs(mcpdgv0_array[1])==3322){
2208 if(abs(pdgcode)==4122 && abs(mcpdgele_array[1])==4122 && ( abs(mcpdgv0_array[1])==3212 || abs(mcpdgv0_array[1])==3214 || abs(mcpdgv0_array[1])==3224) ){
2236 }
else if((trk->Charge()<0 && !anti_lambda_flag) || (trk->Charge()>0 && anti_lambda_flag)){
2263 for(Int_t ih=0;ih<17;ih++){
2264 Double_t cont_eleptvscutvars[3];
2265 cont_eleptvscutvars[0] = elobj->Pt();
2269 cont_eleptvscutvars[1] = trk->GetTPCNcls();
2271 cont_eleptvscutvars[1] = trk->GetTPCsignalN();
2273 cont_eleptvscutvars[1] = nSigmaTPCele;
2275 cont_eleptvscutvars[1] = nSigmaTOFele;
2277 cont_eleptvscutvars[1] = trk->Eta();
2279 cont_eleptvscutvars[1] = trk->GetITSNcls();
2281 if(!anti_lambda_flag)
2282 cont_eleptvscutvars[1] = v0->MassLambda();
2284 cont_eleptvscutvars[1] = v0->MassAntiLambda();
2287 lPosV0[0] = v0->DecayVertexV0X();
2288 lPosV0[1] = v0->DecayVertexV0Y();
2289 lPosV0[2] = v0->DecayVertexV0Z();
2290 cont_eleptvscutvars[1] = TMath::Sqrt(lPosV0[0]*lPosV0[0]+lPosV0[1]*lPosV0[1]);
2292 cont_eleptvscutvars[1] = v0->DcaV0Daughters();
2294 if(!anti_lambda_flag)
2295 cont_eleptvscutvars[1] = v0->DcaPosToPrimVertex();
2297 cont_eleptvscutvars[1] = v0->DcaNegToPrimVertex();
2299 if(!anti_lambda_flag)
2300 cont_eleptvscutvars[1] = v0->DcaNegToPrimVertex();
2302 cont_eleptvscutvars[1] = v0->DcaPosToPrimVertex();
2304 cont_eleptvscutvars[1] = v0->CosPointingAngle(posVtx);
2306 cont_eleptvscutvars[1] = v0->MassK0Short();
2308 cont_eleptvscutvars[1] = nSigmaTPCv0pr;
2310 cont_eleptvscutvars[1] = nSigmaTPCv0pi;
2312 cont_eleptvscutvars[1] = v0->Eta();
2314 Double_t v0px = elobj->PxProng(1);
2315 Double_t v0py = elobj->PyProng(1);
2316 Double_t v0pz = elobj->PzProng(1);
2317 Double_t epx = elobj->PxProng(0);
2318 Double_t epy = elobj->PyProng(0);
2319 Double_t epz = elobj->PzProng(0);
2320 cont_eleptvscutvars[1] = acos((v0px*epx+v0py*epy+v0pz*epz)/sqrt(v0px*v0px+v0py*v0py+v0pz*v0pz)/sqrt(epx*epx+epy*epy+epz*epz));
2322 cont_eleptvscutvars[1] = -9999.;
2330 Int_t pdgcode = mclc->GetPdgCode();
2331 if(abs(pdgcode)==5122 && abs(mcpdgele_array[1])==5122 && abs(mcpdgv0_array[1])==4122 && abs(mcpdgv0_array[2])==5122){
2338 if(abs(pdgcode)==5132 && abs(mcpdgele_array[1])==5132 && abs(mcpdgv0_array[1])==4132 && abs(mcpdgv0_array[2])==5132){
2344 if(abs(pdgcode)==5132 && abs(mcpdgele_array[1])==5132 && abs(mcpdgv0_array[1])==4232 && abs(mcpdgv0_array[2])==5132){
2350 if(abs(pdgcode)==5232 && abs(mcpdgele_array[1])==5232 && abs(mcpdgv0_array[1])==4132 && abs(mcpdgv0_array[2])==5232){
2356 if(abs(pdgcode)==5232 && abs(mcpdgele_array[1])==5232 && abs(mcpdgv0_array[1])==4232 && abs(mcpdgv0_array[2])==5232){
2370 if( melam_flip < 10. && cosoa < 0. && fAnalCuts->IsPeakRegion(v0))
2372 if((trk->Charge()>0 && !anti_lambda_flag) || (trk->Charge()<0 && anti_lambda_flag)){
2376 if(cont_flip[0]<2.3){
2385 if(cont_flip[0]<2.3){
2395 if((trk->Charge()>0 && !anti_lambda_flag) || (trk->Charge()<0 && anti_lambda_flag)){
2416 }
else if((trk->Charge()<0 && !anti_lambda_flag) || (trk->Charge()>0 && anti_lambda_flag)){
2440 if( melam_flip < 10. && cosoa < 0. && fAnalCuts->IsSideBand(v0))
2442 if((trk->Charge()>0 && !anti_lambda_flag) || (trk->Charge()<0 && anti_lambda_flag)){
2446 if(cont_flip[0]<2.3){
2455 if(cont_flip[0]<2.3){
2475 for(Int_t i=0;i<75;i++){
2480 Double_t pxe = trke->Px();
2481 Double_t pye = trke->Py();
2482 Double_t pze = trke->Pz();
2483 Double_t mome = sqrt(pxe*pxe+pye*pye+pze*pze);
2484 Double_t Ee = sqrt(mome*mome+0.000510998928*0.000510998928);
2486 Double_t pxv = v0->Px();
2487 Double_t pyv = v0->Py();
2488 Double_t pzv = v0->Pz();
2489 Double_t momv = sqrt(pxv*pxv+pyv*pyv+pzv*pzv);
2490 Double_t Ev = sqrt(momv*momv+1.115683*1.115683);
2492 Double_t cosoa = (pxe*pxv+pye*pyv+pze*pzv)/mome/momv;
2494 Double_t pxsum = pxe + pxv;
2495 Double_t pysum = pye + pyv;
2496 Double_t pzsum = pze + pzv;
2497 Double_t Esum = Ee + Ev;
2498 Double_t mel = sqrt(Esum*Esum-pxsum*pxsum-pysum*pysum-pzsum*pzsum);
2500 Double_t uxe = pxe/mome;
2501 Double_t uye = pye/mome;
2502 Double_t uze = pze/mome;
2503 Double_t lf = -2.*(pxv*uxe+pyv*uye+pzv*uze);
2504 Double_t pxv_flip = pxv + lf * uxe;
2505 Double_t pyv_flip = pyv + lf * uye;
2506 Double_t pzv_flip = pzv + lf * uze;
2507 Double_t pxsum_flip = pxe + pxv_flip;
2508 Double_t pysum_flip = pye + pyv_flip;
2509 Double_t pzsum_flip = pze + pzv_flip;
2510 Double_t mel_flip = sqrt(Esum*Esum-pxsum_flip*pxsum_flip-pysum_flip*pysum_flip-pzsum_flip*pzsum_flip);
2511 Double_t ptel_flip = sqrt(pxsum_flip*pxsum_flip+pysum_flip*pysum_flip);
2514 UInt_t pdgdg[2]={11,3122};
2554 cont[1] = sqrt(pxsum*pxsum+pysum*pysum);
2558 Double_t cont_flip[3];
2559 cont_flip[0] = mel_flip;
2560 cont_flip[1] = ptel_flip;
2565 cont2[1] = sqrt(pxe*pxe+pye*pye);
2567 Double_t cont_eleptvseta[3];
2568 cont_eleptvseta[0] = trke->Pt();
2569 cont_eleptvseta[1] = trke->Eta();
2572 Double_t cont_eleptvslambdapt[3];
2573 cont_eleptvslambdapt[0] = trke->Pt();
2574 cont_eleptvslambdapt[1] = v0->Pt();
2577 Double_t cont_eleptvsd0[3];
2578 cont_eleptvsd0[0] = trke->Pt();
2579 cont_eleptvsd0[1] = 0.;
2582 Double_t cont_eleptvsv0dl[3];
2583 cont_eleptvsv0dl[0] = trke->Pt();
2584 cont_eleptvsv0dl[1] = v0info[0];
2587 Double_t cont_eleptvsv0dca[3];
2588 cont_eleptvsv0dca[0] = trke->Pt();
2589 cont_eleptvsv0dca[1] = v0info[1];
2592 Double_t cont_elelamptvsv0dl[4];
2593 cont_elelamptvsv0dl[0] = sqrt(pxsum*pxsum+pysum*pysum);
2594 cont_elelamptvsv0dl[1] = v0info[0];
2595 cont_elelamptvsv0dl[2] = 0.0;
2598 Double_t cont_elelamptvsv0dl_flip[4];
2599 cont_elelamptvsv0dl_flip[0] = ptel_flip;
2600 cont_elelamptvsv0dl_flip[1] = v0info[0];
2601 cont_elelamptvsv0dl_flip[2] = 0.0;
2604 Double_t xyzR125_ele[3], xyzR125_pr[3], xyzR125_pi[3];
2605 xyzR125_ele[0] = (*elevars)[0];
2606 xyzR125_ele[1] = (*elevars)[1];
2607 xyzR125_ele[2] = (*elevars)[2];
2608 xyzR125_pr[0] = (*v0vars)[0];
2609 xyzR125_pr[1] = (*v0vars)[1];
2610 xyzR125_pr[2] = (*v0vars)[2];
2611 xyzR125_pi[0] = (*v0vars)[3];
2612 xyzR125_pi[1] = (*v0vars)[4];
2613 xyzR125_pi[2] = (*v0vars)[5];
2615 Double_t rdhfcutvars[9];
2616 rdhfcutvars[0] = xyzR125_ele[0];
2617 rdhfcutvars[1] = xyzR125_ele[1];
2618 rdhfcutvars[2] = xyzR125_ele[2];
2619 rdhfcutvars[3] = xyzR125_pr[0];
2620 rdhfcutvars[4] = xyzR125_pr[1];
2621 rdhfcutvars[5] = xyzR125_pr[2];
2622 rdhfcutvars[6] = xyzR125_pi[0];
2623 rdhfcutvars[7] = xyzR125_pi[1];
2624 rdhfcutvars[8] = xyzR125_pi[2];
2635 if(((
int)trke->T())*chargepr>0){
2695 if(mel_flip < 10. && cosoa<0. && fAnalCuts->IsPeakRegion(v0))
2697 if(((
int)trke->T())*chargepr>0){
2701 if(cont_flip[0]<2.3){
2710 if(cont_flip[0]<2.3){
2727 const char* nameoutput = GetOutputSlot(5)->GetContainer()->GetName();
2731 TString * fCandidateVariableNames =
new TString[nVar];
2733 fCandidateVariableNames[ 0]=
"ElePx";
2734 fCandidateVariableNames[ 1]=
"ElePy";
2735 fCandidateVariableNames[ 2]=
"ElePz";
2736 fCandidateVariableNames[ 3]=
"TPCChi2overNDF";
2737 fCandidateVariableNames[ 4]=
"ITSNcls";
2738 fCandidateVariableNames[ 5]=
"TPCNcls";
2739 fCandidateVariableNames[ 6]=
"TPCNclsPID";
2740 fCandidateVariableNames[ 7]=
"TPCNclsRatio";
2741 fCandidateVariableNames[ 8]=
"d0R";
2742 fCandidateVariableNames[ 9]=
"d0Z";
2743 fCandidateVariableNames[10]=
"ITSClusterMap";
2744 fCandidateVariableNames[11]=
"nSigmaTPCele";
2745 fCandidateVariableNames[12]=
"nSigmaTOFele";
2746 fCandidateVariableNames[13]=
"nSigmaTPCpi";
2747 fCandidateVariableNames[14]=
"nSigmaTPCka";
2748 fCandidateVariableNames[15]=
"nSigmaTPCpr";
2749 fCandidateVariableNames[16]=
"EvNumber";
2750 fCandidateVariableNames[17]=
"EleCharge";
2751 fCandidateVariableNames[18]=
"ElePdgCode";
2752 fCandidateVariableNames[19]=
"EleMotherPdgCode";
2753 fCandidateVariableNames[20]=
"mcelepx";
2754 fCandidateVariableNames[21]=
"mcelepy";
2755 fCandidateVariableNames[22]=
"mcelepz";
2756 fCandidateVariableNames[23]=
"Centrality";
2757 fCandidateVariableNames[24]=
"PrimVertZ";
2758 fCandidateVariableNames[25]=
"RunNumber";
2760 for (Int_t ivar=0; ivar<nVar; ivar++) {
2779 fElectronTracks->AddLast(
new TLorentzVector(trk->Px(),trk->Py(),trk->Pz(),trk->Charge()));
2782 pv[0] =
fVtx1->GetX();
2783 pv[1] =
fVtx1->GetY();
2784 pv[2] =
fVtx1->GetZ();
2785 Double_t xyzR125[3]={9999.,9999.,9999.};
2787 TVector *varvec =
new TVector(3);
2788 (*varvec)[0] = xyzR125[0];
2789 (*varvec)[1] = xyzR125[1];
2790 (*varvec)[2] = xyzR125[2];
2794 Int_t pdgEle = -9999;
2795 Int_t pdgEleMother = -9999;
2796 Float_t mcelepx = -9999;
2797 Float_t mcelepy = -9999;
2798 Float_t mcelepz = -9999;
2801 Int_t labEle = trk->GetLabel();
2802 if(labEle<0)
return;
2803 AliAODMCParticle *mcetrk = (AliAODMCParticle*)mcArray->At(labEle);
2805 pdgEle = mcetrk->GetPdgCode();
2806 if(abs(pdgEle)!=11)
return;
2808 Bool_t hfe_flag = kFALSE;
2809 Bool_t gamma_flag = kFALSE;
2810 Int_t labemother = mcetrk->GetMother();
2812 AliAODMCParticle *motherele = (AliAODMCParticle*)mcArray->At(labemother);
2813 pdgEleMother = motherele->GetPdgCode();
2814 if(abs(pdgEleMother)>4000&&abs(pdgEleMother)<4400){
2817 if(abs(pdgEleMother)==22){
2825 if(!hfe_flag)
return;
2826 mcelepx = mcetrk->Px();
2827 mcelepy = mcetrk->Py();
2828 mcelepz = mcetrk->Pz();
2833 for(Int_t i=0;i<26;i++){
2844 if(trk->GetTPCNclsF()>0)
2847 Double_t d0z0[2],covd0z0[3];
2848 trk->PropagateToDCA(
fVtx1,
fBzkG,kVeryBig,d0z0,covd0z0);
2852 Int_t itsmap = trk->GetITSClusterMap();
2855 Bool_t spdfirst = (itsmap & bit1) == bit1;
2856 Bool_t spdsecond = (itsmap & bit2) == bit2;
2894 const char* nameoutput = GetOutputSlot(6)->GetContainer()->GetName();
2898 TString * fCandidateVariableNames =
new TString[nVar];
2900 fCandidateVariableNames[ 0]=
"V0Px";
2901 fCandidateVariableNames[ 1]=
"V0Py";
2902 fCandidateVariableNames[ 2]=
"V0Pz";
2903 fCandidateVariableNames[ 3]=
"MassLambda";
2904 fCandidateVariableNames[ 4]=
"MassAntiLambda";
2905 fCandidateVariableNames[ 5]=
"ProtonPx";
2906 fCandidateVariableNames[ 6]=
"ProtonPy";
2907 fCandidateVariableNames[ 7]=
"ProtonPz";
2908 fCandidateVariableNames[ 8]=
"PionPx";
2909 fCandidateVariableNames[ 9]=
"PionPy";
2910 fCandidateVariableNames[10]=
"PionPz";
2911 fCandidateVariableNames[11]=
"RfidV0";
2912 fCandidateVariableNames[12]=
"DcaV0PrToPrimVertex";
2913 fCandidateVariableNames[13]=
"DcaV0PiToPrimVertex";
2914 fCandidateVariableNames[14]=
"DcaV0daughters";
2915 fCandidateVariableNames[15]=
"V0CosPointingAngle";
2916 fCandidateVariableNames[16]=
"V0ProperDecayLength";
2917 fCandidateVariableNames[17]=
"MassK0Short";
2918 fCandidateVariableNames[18]=
"nSigmaTPCpr";
2919 fCandidateVariableNames[19]=
"nSigmaTPCpi";
2920 fCandidateVariableNames[20]=
"TPCNCrossV0Pr";
2921 fCandidateVariableNames[21]=
"TPCNCrossV0Pi";
2922 fCandidateVariableNames[22]=
"TPCNCrossRatioV0Pr";
2923 fCandidateVariableNames[23]=
"TPCNCrossRatioV0Pi";
2924 fCandidateVariableNames[24]=
"V0PdgCode";
2925 fCandidateVariableNames[25]=
"V0MotherPdgCode";
2926 fCandidateVariableNames[26]=
"mcv0px";
2927 fCandidateVariableNames[27]=
"mcv0py";
2928 fCandidateVariableNames[28]=
"mcv0pz";
2929 fCandidateVariableNames[29]=
"EvNumber";
2930 fCandidateVariableNames[30]=
"Centrality";
2931 fCandidateVariableNames[31]=
"PrimVertZ";
2932 fCandidateVariableNames[32]=
"RunNumber";
2934 for (Int_t ivar=0; ivar<nVar; ivar++) {
2948 AliAODTrack *cptrack = (AliAODTrack*)(v0->GetDaughter(0));
2949 AliAODTrack *cntrack = (AliAODTrack*)(v0->GetDaughter(1));
2950 if(!cptrack)
return;
2951 if(!cntrack)
return;
2952 if(cptrack->Charge()<0 && cntrack->Charge()>0){
2953 cptrack = (AliAODTrack*)(v0->GetDaughter(1));
2954 cntrack = (AliAODTrack*)(v0->GetDaughter(0));
2957 Double_t mlamPDG = TDatabasePDG::Instance()->GetParticle(3122)->Mass();
2958 Double_t posVtx[3] = {0.,0.,0.};
2959 fVtx1->GetXYZ(posVtx);
2960 Double_t ptotlam = TMath::Sqrt(pow(v0->Px(),2)+pow(v0->Py(),2)+pow(v0->Pz(),2));
2961 Double_t v0propdl = v0->DecayLengthV0(posVtx)*mlamPDG/ptotlam;
2978 Double_t momv0x = v0->MomV0X();
2979 Double_t momv0y = v0->MomV0Y();
2980 Double_t phi_alice = atan2(momv0y,momv0x);
2981 if(phi_alice<0.) phi_alice += 2 * M_PI;
2984 Int_t v0pdgcode = -9999;
2985 Int_t v0motherpdgcode = -9999;
2986 Float_t mcv0px = -9999;
2987 Float_t mcv0py = -9999;
2988 Float_t mcv0pz = -9999;
2991 Int_t pdgdgv0[2]={2212,211};
2992 Int_t labV0 = v0->MatchToMC(3122,mcArray,2,pdgdgv0);
3002 AliAODMCParticle *mcv0trk = (AliAODMCParticle*)mcArray->At(labV0);
3003 if(!mcv0trk)
return;
3005 Bool_t hfv0_flag = kFALSE;
3006 v0pdgcode = mcv0trk->GetPdgCode();
3007 Int_t labv0mother = mcv0trk->GetMother();
3009 AliAODMCParticle *motherv0 = (AliAODMCParticle*)mcArray->At(labv0mother);
3011 v0motherpdgcode = motherv0->GetPdgCode();
3012 if(abs(v0motherpdgcode)>4000&&abs(v0motherpdgcode)<4400){
3015 if(abs(v0motherpdgcode)==3322){
3017 }
else if(abs(v0motherpdgcode)==3312){
3019 }
else if(abs(v0motherpdgcode)==3334){
3026 if(!hfv0_flag)
return;
3027 mcv0px = mcv0trk->Px();
3028 mcv0py = mcv0trk->Py();
3029 mcv0pz = mcv0trk->Pz();
3034 Double_t posVtx[3] = {0.,0.,0.};
3035 fVtx1->GetXYZ(posVtx);
3036 TLorentzVector *lv =
new TLorentzVector();
3037 Double_t ptotlam = TMath::Sqrt(pow(v0->Px(),2)+pow(v0->Py(),2)+pow(v0->Pz(),2));
3038 Double_t xyzR125pr[3] = {9999.,9999.,9999.};
3039 Double_t xyzR125pi[3] = {9999.,9999.,9999.};
3041 lv->SetXYZM(v0->Px(),v0->Py(),v0->Pz(),v0->MassLambda());
3043 fV0dlArray1.push_back(v0->DecayLengthV0(posVtx)*mlamPDG/ptotlam);
3047 TVector *varvec =
new TVector(6);
3048 (*varvec)[0] = xyzR125pr[0];
3049 (*varvec)[1] = xyzR125pr[1];
3050 (*varvec)[2] = xyzR125pr[2];
3051 (*varvec)[3] = xyzR125pi[0];
3052 (*varvec)[4] = xyzR125pi[1];
3053 (*varvec)[5] = xyzR125pi[2];
3056 lv->SetXYZM(v0->Px(),v0->Py(),v0->Pz(),v0->MassAntiLambda());
3058 fV0dlArray2.push_back(v0->DecayLengthV0(posVtx)*mlamPDG/ptotlam);
3062 TVector *varvec =
new TVector(6);
3063 (*varvec)[0] = xyzR125pr[0];
3064 (*varvec)[1] = xyzR125pr[1];
3065 (*varvec)[2] = xyzR125pr[2];
3066 (*varvec)[3] = xyzR125pi[0];
3067 (*varvec)[4] = xyzR125pi[1];
3068 (*varvec)[5] = xyzR125pi[2];
3075 for(Int_t i=0;i<32;i++){
3086 Bool_t isparticle = kTRUE;
3106 lPosV0[0] = v0->DecayVertexV0X();
3107 lPosV0[1] = v0->DecayVertexV0Y();
3108 lPosV0[2] = v0->DecayVertexV0Z();
3109 Double_t decayvertV0 = TMath::Sqrt(lPosV0[0]*lPosV0[0]+lPosV0[1]*lPosV0[1]);
3112 Double_t lDcaPosToPrimVertex = v0->DcaPosToPrimVertex();
3113 Double_t lDcaNegToPrimVertex = v0->DcaNegToPrimVertex();
3143 if(cptrack->GetTPCNclsF()>0)
3144 fCandidateV0Variables[22] = (Float_t) cptrack->GetTPCClusterInfo(2,1)/(Float_t)cptrack->GetTPCNclsF();
3145 if(cntrack->GetTPCNclsF()>0)
3146 fCandidateV0Variables[23] =(Float_t) cntrack->GetTPCClusterInfo(2,1)/(Float_t)cntrack->GetTPCNclsF();
3150 if(cntrack->GetTPCNclsF()>0)
3151 fCandidateV0Variables[22] = (Float_t) cntrack->GetTPCClusterInfo(2,1)/(Float_t)cntrack->GetTPCNclsF();
3152 if(cptrack->GetTPCNclsF()>0)
3153 fCandidateV0Variables[23] = (Float_t) cptrack->GetTPCClusterInfo(2,1)/(Float_t)cptrack->GetTPCNclsF();
3175 const char* nameoutput = GetOutputSlot(7)->GetContainer()->GetName();
3179 TString * fCandidateVariableNames =
new TString[nVar];
3181 fCandidateVariableNames[ 0]=
"Centrality";
3182 fCandidateVariableNames[ 1]=
"DecayType";
3183 fCandidateVariableNames[ 2]=
"LcPx";
3184 fCandidateVariableNames[ 3]=
"LcPy";
3185 fCandidateVariableNames[ 4]=
"LcPz";
3186 fCandidateVariableNames[ 5]=
"ElePx";
3187 fCandidateVariableNames[ 6]=
"ElePy";
3188 fCandidateVariableNames[ 7]=
"ElePz";
3189 fCandidateVariableNames[ 8]=
"V0Px";
3190 fCandidateVariableNames[ 9]=
"V0Py";
3191 fCandidateVariableNames[10]=
"V0Pz";
3193 for (Int_t ivar=0; ivar<nVar; ivar++) {
3205 if(!mcepart)
return;
3206 if(!mcv0part)
return;
3208 for(Int_t i=0;i<11;i++){
3224 Double_t epx = mcepart->Px();
3225 Double_t epy = mcepart->Py();
3226 Double_t epz = mcepart->Pz();
3227 Double_t eE = sqrt(epx*epx+epy*epy+epz*epz+0.000511*0.000511);
3228 Double_t v0px = mcv0part->Px();
3229 Double_t v0py = mcv0part->Py();
3230 Double_t v0pz = mcv0part->Pz();
3231 Double_t v0E = sqrt(v0px*v0px+v0py*v0py+v0pz*v0pz+1.1157*1.1157);
3233 Double_t InvMassEleLambda = sqrt(pow(eE+v0E,2)-pow(epx+v0px,2)-pow(epy+v0py,2)-pow(epz+v0pz,2));
3236 cont[0] = InvMassEleLambda;
3237 cont[1] = mcpart->Pt();
3240 cont2[0] = InvMassEleLambda;
3241 cont2[1] = mcepart->Pt();
3243 Double_t cont_eleptvseta[3];
3244 cont_eleptvseta[0] = mcepart->Pt();
3245 cont_eleptvseta[1] = mcepart->Eta();
3247 Double_t cont_eleptvslambdapt[3];
3248 cont_eleptvslambdapt[0] = mcepart->Pt();
3249 cont_eleptvslambdapt[1] = mcv0part->Pt();
3251 Double_t cont_eleptvslambdaptvslcpt[4];
3252 cont_eleptvslambdaptvslcpt[0] = mcepart->Pt();
3253 cont_eleptvslambdaptvslcpt[1] = mcv0part->Pt();
3254 cont_eleptvslambdaptvslcpt[2] = mcpart->Pt();
3257 contmc[0] = mcpart->Pt();
3258 contmc[1] = mcpart->Y();
3260 Double_t contmcele[3];
3261 contmcele[0] = mcepart->Pt();
3262 contmcele[1] = mcepart->Eta();
3267 esdcuts->GetEtaRange(etamin,etamax);
3277 if(fabs(mcepart->Eta())<etamax){
3281 if(InvMassEleLambda<2.3){
3287 if(fabs(mcpart->Y())<0.7){
3288 if(InvMassEleLambda<2.3){
3293 }
else if(decaytype==1){
3301 if(fabs(mcepart->Eta())<etamax){
3305 if(InvMassEleLambda<2.3){
3311 }
else if(decaytype==2){
3319 if(fabs(mcepart->Eta())<etamax){
3323 if(InvMassEleLambda<2.3){
3329 }
else if(decaytype==3){
3345 const char* nameoutput = GetOutputSlot(9)->GetContainer()->GetName();
3349 TString * fCandidateVariableNames =
new TString[nVar];
3351 fCandidateVariableNames[ 0]=
"Centrality";
3352 fCandidateVariableNames[ 1]=
"ElePx";
3353 fCandidateVariableNames[ 2]=
"ElePy";
3354 fCandidateVariableNames[ 3]=
"ElePz";
3355 fCandidateVariableNames[ 4]=
"ElePdgCode";
3356 fCandidateVariableNames[ 5]=
"EleMotherPdgCode";
3357 fCandidateVariableNames[ 6]=
"RunNumber";
3358 fCandidateVariableNames[ 7]=
"EvNumber";
3360 for (Int_t ivar=0; ivar<nVar; ivar++) {
3371 if(!mcepart)
return;
3373 Bool_t hfe_flag = kFALSE;
3374 Int_t labemother = mcepart->GetMother();
3375 Int_t pdgmotherele = -9999;
3377 AliAODMCParticle *motherele = (AliAODMCParticle*)mcArray->At(labemother);
3378 pdgmotherele = motherele->GetPdgCode();
3379 if(abs(pdgmotherele)>4000&&abs(pdgmotherele)<4400){
3383 if(!hfe_flag)
return;
3386 contmc[0] = mcepart->Pt();
3387 contmc[1] = mcepart->Eta();
3391 for(Int_t i=0;i<8;i++){
3415 const char* nameoutput = GetOutputSlot(10)->GetContainer()->GetName();
3419 TString * fCandidateVariableNames =
new TString[nVar];
3421 fCandidateVariableNames[ 0]=
"Centrality";
3422 fCandidateVariableNames[ 1]=
"V0Px";
3423 fCandidateVariableNames[ 2]=
"V0Py";
3424 fCandidateVariableNames[ 3]=
"V0Pz";
3425 fCandidateVariableNames[ 4]=
"V0PdgCode";
3426 fCandidateVariableNames[ 5]=
"V0MotherPdgCode";
3427 fCandidateVariableNames[ 6]=
"RunNumber";
3428 fCandidateVariableNames[ 7]=
"EvNumber";
3430 for (Int_t ivar=0; ivar<nVar; ivar++) {
3441 if(!mcv0part)
return;
3443 for(Int_t i=0;i<8;i++){
3447 Bool_t hfv0_flag = kFALSE;
3448 Int_t labv0mother = mcv0part->GetMother();
3449 Int_t pdgmotherv0 = -9999;
3451 AliAODMCParticle *motherv0 = (AliAODMCParticle*)mcArray->At(labv0mother);
3453 pdgmotherv0 = motherv0->GetPdgCode();
3454 if(abs(pdgmotherv0)>4000&&abs(pdgmotherv0)<4400){
3459 if(!hfv0_flag)
return;
3462 contmc[0] = mcv0part->Pt();
3463 contmc[1] = mcv0part->Eta();
3487 fCEvents =
new TH1F(
"fCEvents",
"conter",18,-0.5,17.5);
3489 fCEvents->GetXaxis()->SetBinLabel(1,
"X1");
3490 fCEvents->GetXaxis()->SetBinLabel(2,
"Analyzed events");
3491 fCEvents->GetXaxis()->SetBinLabel(3,
"AliAODVertex exists");
3492 fCEvents->GetXaxis()->SetBinLabel(4,
"TriggerOK");
3493 fCEvents->GetXaxis()->SetBinLabel(5,
"IsEventSelected");
3494 fCEvents->GetXaxis()->SetBinLabel(6,
"CascadesHF exists");
3495 fCEvents->GetXaxis()->SetBinLabel(7,
"MCarray exists");
3496 fCEvents->GetXaxis()->SetBinLabel(8,
"MCheader exists");
3497 fCEvents->GetXaxis()->SetBinLabel(9,
"triggerClass!=CINT1");
3498 fCEvents->GetXaxis()->SetBinLabel(10,
"triggerMask!=kAnyINT");
3499 fCEvents->GetXaxis()->SetBinLabel(11,
"triggerMask!=kAny");
3500 fCEvents->GetXaxis()->SetBinLabel(12,
"vtxTitle.Contains(Z)");
3501 fCEvents->GetXaxis()->SetBinLabel(13,
"vtxTitle.Contains(3D)");
3502 fCEvents->GetXaxis()->SetBinLabel(14,
"vtxTitle.Doesn'tContain(Z-3D)");
3504 fCEvents->GetXaxis()->SetBinLabel(16,
"!IsEventSelected");
3505 fCEvents->GetXaxis()->SetBinLabel(17,
"triggerMask!=kAnyINT || triggerClass!=CINT1");
3508 fCEvents->GetYaxis()->SetTitle(
"counts");
3510 fHTrigger =
new TH1F(
"fHTrigger",
"counter",18,-0.5,17.5);
3512 fHTrigger->GetXaxis()->SetBinLabel(1,
"X1");
3513 fHTrigger->GetXaxis()->SetBinLabel(2,
"kMB");
3514 fHTrigger->GetXaxis()->SetBinLabel(3,
"kSemiCentral");
3515 fHTrigger->GetXaxis()->SetBinLabel(4,
"kCentral");
3516 fHTrigger->GetXaxis()->SetBinLabel(5,
"kINT7");
3517 fHTrigger->GetXaxis()->SetBinLabel(6,
"kEMC7");
3519 fHTrigger->GetXaxis()->SetBinLabel(8,
"kMB|kSemiCentral|kCentral");
3520 fHTrigger->GetXaxis()->SetBinLabel(9,
"kINT7|kEMC7");
3521 fHTrigger->GetXaxis()->SetBinLabel(11,
"kMB&kSemiCentral");
3522 fHTrigger->GetXaxis()->SetBinLabel(12,
"kMB&kCentral");
3523 fHTrigger->GetXaxis()->SetBinLabel(13,
"kINT7&kEMC7");
3525 fHCentrality =
new TH1F(
"fHCentrality",
"conter",100,0.,100.);
3544 Int_t bins_base[3]= {23,100 ,10};
3545 Double_t xmin_base[3]={1.1,0 ,0.00};
3546 Double_t xmax_base[3]={5.7,20. ,100};
3547 fHistoEleLambdaMass =
new THnSparseF(
"fHistoEleLambdaMass",
"",3,bins_base,xmin_base,xmax_base);
3623 Int_t bins_base_elept[3]= {10,100 ,10};
3624 Double_t xmin_base_elept[3]={1.1,0 ,0.00};
3625 Double_t xmax_base_elept[3]={3.1,10. ,100};
3684 fHistoElePtRS =
new TH2F(
"fHistoElePtRS",
"",100,0,10,10,0,100);
3686 fHistoElePtWS =
new TH2F(
"fHistoElePtWS",
"",100,0.,10.,10,0,100);
3692 fHistoElePtMCS =
new TH2F(
"fHistoElePtMCS",
"",100,0,10,10,0,100);
3697 Int_t bins_eleptvseta[3]= {10,10 ,10};
3698 Double_t xmin_eleptvseta[3]={0.,-1. ,0.0};
3699 Double_t xmax_eleptvseta[3]={5.,1. ,100};
3701 fHistoElePtvsEtaRS =
new THnSparseF(
"fHistoElePtvsEtaRS",
"",3,bins_eleptvseta,xmin_eleptvseta,xmax_eleptvseta);
3703 fHistoElePtvsEtaWS =
new THnSparseF(
"fHistoElePtvsEtaWS",
"",3,bins_eleptvseta,xmin_eleptvseta,xmax_eleptvseta);
3705 fHistoElePtvsEtaRSMix =
new THnSparseF(
"fHistoElePtvsEtaRSMix",
"",3,bins_eleptvseta,xmin_eleptvseta,xmax_eleptvseta);
3707 fHistoElePtvsEtaWSMix =
new THnSparseF(
"fHistoElePtvsEtaWSMix",
"",3,bins_eleptvseta,xmin_eleptvseta,xmax_eleptvseta);
3709 fHistoElePtvsEtaMCS =
new THnSparseF(
"fHistoElePtvsEtaMCS",
"",3,bins_eleptvseta,xmin_eleptvseta,xmax_eleptvseta);
3711 fHistoElePtvsEtaMCGen =
new THnSparseF(
"fHistoElePtvsEtaMCGen",
"",3,bins_eleptvseta,xmin_eleptvseta,xmax_eleptvseta);
3714 Int_t bins_eleptvslambdapt[3]= {10,10 ,10};
3715 Double_t xmin_eleptvslambdapt[3]={0.,0. ,0.0};
3716 Double_t xmax_eleptvslambdapt[3]={5.,5. ,100};
3718 fHistoElePtvsLambdaPtRS =
new THnSparseF(
"fHistoElePtvsLambdaPtRS",
"",3,bins_eleptvslambdapt,xmin_eleptvslambdapt,xmax_eleptvslambdapt);
3720 fHistoElePtvsLambdaPtWS =
new THnSparseF(
"fHistoElePtvsLambdaPtWS",
"",3,bins_eleptvslambdapt,xmin_eleptvslambdapt,xmax_eleptvslambdapt);
3722 fHistoElePtvsLambdaPtRSMix =
new THnSparseF(
"fHistoElePtvsLambdaPtRSMix",
"",3,bins_eleptvslambdapt,xmin_eleptvslambdapt,xmax_eleptvslambdapt);
3724 fHistoElePtvsLambdaPtWSMix =
new THnSparseF(
"fHistoElePtvsLambdaPtWSMix",
"",3,bins_eleptvslambdapt,xmin_eleptvslambdapt,xmax_eleptvslambdapt);
3726 fHistoElePtvsLambdaPtMCS =
new THnSparseF(
"fHistoElePtvsLambdaPtMCS",
"",3,bins_eleptvslambdapt,xmin_eleptvslambdapt,xmax_eleptvslambdapt);
3728 fHistoElePtvsLambdaPtMCGen =
new THnSparseF(
"fHistoElePtvsLambdaPtMCGen",
"",3,bins_eleptvslambdapt,xmin_eleptvslambdapt,xmax_eleptvslambdapt);
3730 fHistoElePtvsLambdaPtMCLcGen =
new THnSparseF(
"fHistoElePtvsLambdaPtMCLcGen",
"",3,bins_eleptvslambdapt,xmin_eleptvslambdapt,xmax_eleptvslambdapt);
3733 Int_t bins_eleptvslambdaptvslcpt[4]= {10,10,10,10};
3734 Double_t xmin_eleptvslambdaptvslcpt[4]={0.,0.,0.,0.0};
3735 Double_t xmax_eleptvslambdaptvslcpt[4]={5.,5.,10.,100};
3736 fHistoElePtvsLambdaPtvsLcPtMCS =
new THnSparseF(
"fHistoElePtvsLambdaPtvsLcPtMCS",
"",4,bins_eleptvslambdaptvslcpt,xmin_eleptvslambdaptvslcpt,xmax_eleptvslambdaptvslcpt);
3738 fHistoElePtvsLambdaPtvsLcPtMCGen =
new THnSparseF(
"fHistoElePtvsLambdaPtvsLcPtMCGen",
"",4,bins_eleptvslambdaptvslcpt,xmin_eleptvslambdaptvslcpt,xmax_eleptvslambdaptvslcpt);
3741 Int_t bins_allpt[4]= {10,10,20,20};
3742 Double_t xmin_allpt[4]={0.,0.,0.,0.0};
3743 Double_t xmax_allpt[4]={20.,20.,10.,10};
3754 Int_t bins_eleptvsd0[3]= {10 ,10 ,10};
3755 Double_t xmin_eleptvsd0[3]={0.,-0.2 ,0.0};
3756 Double_t xmax_eleptvsd0[3]={5.,0.2 ,100};
3758 fHistoElePtvsd0RS =
new THnSparseF(
"fHistoElePtvsd0RS",
"",3,bins_eleptvsd0,xmin_eleptvsd0,xmax_eleptvsd0);
3760 fHistoElePtvsd0WS =
new THnSparseF(
"fHistoElePtvsd0WS",
"",3,bins_eleptvsd0,xmin_eleptvsd0,xmax_eleptvsd0);
3762 fHistoElePtvsd0RSMix =
new THnSparseF(
"fHistoElePtvsd0RSMix",
"",3,bins_eleptvsd0,xmin_eleptvsd0,xmax_eleptvsd0);
3764 fHistoElePtvsd0WSMix =
new THnSparseF(
"fHistoElePtvsd0WSMix",
"",3,bins_eleptvsd0,xmin_eleptvsd0,xmax_eleptvsd0);
3766 fHistoElePtvsd0MCS =
new THnSparseF(
"fHistoElePtvsd0MCS",
"",3,bins_eleptvsd0,xmin_eleptvsd0,xmax_eleptvsd0);
3768 fHistoElePtvsd0PromptMCS =
new THnSparseF(
"fHistoElePtvsd0PromptMCS",
"",3,bins_eleptvsd0,xmin_eleptvsd0,xmax_eleptvsd0);
3837 fHistoBachPt =
new TH1F(
"fHistoBachPt",
"Bachelor p_{T}",100,0.0,5.0);
3839 fHistoBachPtMCS =
new TH1F(
"fHistoBachPtMCS",
"Bachelor p_{T}",100,0.0,5.0);
3843 fHistod0Bach =
new TH1F(
"fHistod0Bach",
"Bachelor d_{0}",100,-0.5,0.5);
3845 fHistoLambdaMassvsPt=
new TH2F(
"fHistoLambdaMassvsPt",
"Lambda mass",100,1.116-0.05,1.116+0.05,20,0.,10.);
3847 fHistoLambdaMassvsPtMCS=
new TH2F(
"fHistoLambdaMassvsPtMCS",
"Lambda mass",100,1.116-0.05,1.116+0.05,20,0.,10.);
3851 fHistoK0sMassvsPt=
new TH2F(
"fHistoK0sMassvsPt",
"K0s mass",100,0.497-0.05,0.497+0.05,20,0.,10.);
3853 fHistoLambdaPtvsDl=
new TH2F(
"fHistoLambdaPtvsDl",
"Lambda pt vs dl",20,0.,10.,20,0.,40.);
3885 for(Int_t i=0;i<8;i++){
3894 Int_t bins_lcmcgen[3]= {100 ,20 ,10};
3895 Double_t xmin_lcmcgen[3]={0.,-1.0 ,0.0};
3896 Double_t xmax_lcmcgen[3]={20.,1.0 ,100};
3897 fHistoLcMCGen =
new THnSparseF(
"fHistoLcMCGen",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3899 fHistoLcMCGen1 =
new THnSparseF(
"fHistoLcMCGen1",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3901 fHistoLcMCGen2 =
new THnSparseF(
"fHistoLcMCGen2",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3903 fHistoFeedDownXic0MCGen =
new THnSparseF(
"fHistoFeedDownXic0MCGen",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3922 fHistoLcMCS =
new THnSparseF(
"fHistoLcMCS",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3924 fHistoLcMCS1 =
new THnSparseF(
"fHistoLcMCS1",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3926 fHistoLcMCS2 =
new THnSparseF(
"fHistoLcMCS2",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3928 fHistoFeedDownXic0MCS =
new THnSparseF(
"fHistoFeedDownXic0MCS",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3930 fHistoFeedDownXic0MCS1 =
new THnSparseF(
"fHistoFeedDownXic0MCS1",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3932 fHistoFeedDownXic0MCS2 =
new THnSparseF(
"fHistoFeedDownXic0MCS2",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3940 fHistoFeedDownSigmaMCS =
new THnSparseF(
"fHistoFeedDownSigmaMCS",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3942 fHistoFeedDownSigmaMCS1 =
new THnSparseF(
"fHistoFeedDownSigmaMCS1",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3944 fHistoFeedDownSigmaMCS2 =
new THnSparseF(
"fHistoFeedDownSigmaMCS2",
"",3,bins_lcmcgen,xmin_lcmcgen,xmax_lcmcgen);
3947 Int_t bins_elemcgen[3]= {100 ,20 ,10};
3948 Double_t xmin_elemcgen[3]={0.,-1.0 ,0.0};
3949 Double_t xmax_elemcgen[3]={10.,1.0 ,100};
3950 fHistoElectronMCGen =
new THnSparseF(
"fHistoElectronMCGen",
"",3,bins_elemcgen,xmin_elemcgen,xmax_elemcgen);
3952 fHistoLcElectronMCGen =
new THnSparseF(
"fHistoLcElectronMCGen",
"",3,bins_elemcgen,xmin_elemcgen,xmax_elemcgen);
3954 fHistoLcElectronMCGen1 =
new THnSparseF(
"fHistoLcElectronMCGen1",
"",3,bins_elemcgen,xmin_elemcgen,xmax_elemcgen);
3956 fHistoLcElectronMCGen2 =
new THnSparseF(
"fHistoLcElectronMCGen2",
"",3,bins_elemcgen,xmin_elemcgen,xmax_elemcgen);
3970 fHistoLcElectronMCS =
new THnSparseF(
"fHistoLcElectronMCS",
"",3,bins_elemcgen,xmin_elemcgen,xmax_elemcgen);
3972 fHistoLcElectronMCS1 =
new THnSparseF(
"fHistoLcElectronMCS1",
"",3,bins_elemcgen,xmin_elemcgen,xmax_elemcgen);
3974 fHistoLcElectronMCS2 =
new THnSparseF(
"fHistoLcElectronMCS2",
"",3,bins_elemcgen,xmin_elemcgen,xmax_elemcgen);
3989 Int_t bins_lambdamcgen[3]= {50 ,20 ,10};
3990 Double_t xmin_lambdamcgen[3]={0.,-1.0 ,0.0};
3991 Double_t xmax_lambdamcgen[3]={10.,1.0 ,100};
3992 fHistoLambdaMCGen =
new THnSparseF(
"fHistoLambdaMCGen",
"",3,bins_lambdamcgen,xmin_lambdamcgen,xmax_lambdamcgen);
3995 Int_t bins_eleptvsv0dl[3]= {100 ,20 ,10};
3996 Double_t xmin_eleptvsv0dl[3]={0.,0. ,0.0};
3997 Double_t xmax_eleptvsv0dl[3]={10.,40. ,100};
3998 fHistoElePtvsV0dlRS =
new THnSparseF(
"fHistoElePtvsV0dlRS",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4000 fHistoElePtvsV0dlRS1 =
new THnSparseF(
"fHistoElePtvsV0dlRS1",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4002 fHistoElePtvsV0dlRS2 =
new THnSparseF(
"fHistoElePtvsV0dlRS2",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4004 fHistoElePtvsV0dlRSSide =
new THnSparseF(
"fHistoElePtvsV0dlRSSide",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4006 fHistoElePtvsV0dlRSSide1 =
new THnSparseF(
"fHistoElePtvsV0dlRSSide1",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4008 fHistoElePtvsV0dlRSSide2 =
new THnSparseF(
"fHistoElePtvsV0dlRSSide2",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4010 fHistoElePtvsV0dlRSMix =
new THnSparseF(
"fHistoElePtvsV0dlRSMix",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4012 fHistoElePtvsV0dlRSMix1 =
new THnSparseF(
"fHistoElePtvsV0dlRSMix1",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4014 fHistoElePtvsV0dlRSMix2 =
new THnSparseF(
"fHistoElePtvsV0dlRSMix2",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4016 fHistoElePtvsV0dlWS =
new THnSparseF(
"fHistoElePtvsV0dlWS",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4018 fHistoElePtvsV0dlWS1 =
new THnSparseF(
"fHistoElePtvsV0dlWS1",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4020 fHistoElePtvsV0dlWS2 =
new THnSparseF(
"fHistoElePtvsV0dlWS2",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4022 fHistoElePtvsV0dlWSSide =
new THnSparseF(
"fHistoElePtvsV0dlWSSide",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4024 fHistoElePtvsV0dlWSSide1 =
new THnSparseF(
"fHistoElePtvsV0dlWSSide1",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4026 fHistoElePtvsV0dlWSSide2 =
new THnSparseF(
"fHistoElePtvsV0dlWSSide2",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4028 fHistoElePtvsV0dlWSMix =
new THnSparseF(
"fHistoElePtvsV0dlWSMix",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4030 fHistoElePtvsV0dlWSMix1 =
new THnSparseF(
"fHistoElePtvsV0dlWSMix1",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4032 fHistoElePtvsV0dlWSMix2 =
new THnSparseF(
"fHistoElePtvsV0dlWSMix2",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4034 fHistoElePtvsV0dlMCS =
new THnSparseF(
"fHistoElePtvsV0dlMCS",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4036 fHistoElePtvsV0dlMCS1 =
new THnSparseF(
"fHistoElePtvsV0dlMCS1",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4038 fHistoElePtvsV0dlMCS2 =
new THnSparseF(
"fHistoElePtvsV0dlMCS2",
"",3,bins_eleptvsv0dl,xmin_eleptvsv0dl,xmax_eleptvsv0dl);
4053 Int_t bins_eleptvsv0dca[3]= {100 ,20 ,10};
4054 Double_t xmin_eleptvsv0dca[3]={0.,0. ,0.0};
4055 Double_t xmax_eleptvsv0dca[3]={10.,1. ,100};
4056 fHistoElePtvsV0dcaRS =
new THnSparseF(
"fHistoElePtvsV0dcaRS",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4058 fHistoElePtvsV0dcaRS1 =
new THnSparseF(
"fHistoElePtvsV0dcaRS1",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4060 fHistoElePtvsV0dcaRS2 =
new THnSparseF(
"fHistoElePtvsV0dcaRS2",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4062 fHistoElePtvsV0dcaRSSide =
new THnSparseF(
"fHistoElePtvsV0dcaRSSide",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4064 fHistoElePtvsV0dcaRSSide1 =
new THnSparseF(
"fHistoElePtvsV0dcaRSSide1",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4066 fHistoElePtvsV0dcaRSSide2 =
new THnSparseF(
"fHistoElePtvsV0dcaRSSide2",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4068 fHistoElePtvsV0dcaRSMix =
new THnSparseF(
"fHistoElePtvsV0dcaRSMix",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4070 fHistoElePtvsV0dcaRSMix1 =
new THnSparseF(
"fHistoElePtvsV0dcaRSMix1",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4072 fHistoElePtvsV0dcaRSMix2 =
new THnSparseF(
"fHistoElePtvsV0dcaRSMix2",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4074 fHistoElePtvsV0dcaWS =
new THnSparseF(
"fHistoElePtvsV0dcaWS",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4076 fHistoElePtvsV0dcaWS1 =
new THnSparseF(
"fHistoElePtvsV0dcaWS1",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4078 fHistoElePtvsV0dcaWS2 =
new THnSparseF(
"fHistoElePtvsV0dcaWS2",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4080 fHistoElePtvsV0dcaWSSide =
new THnSparseF(
"fHistoElePtvsV0dcaWSSide",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4082 fHistoElePtvsV0dcaWSSide1 =
new THnSparseF(
"fHistoElePtvsV0dcaWSSide1",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4084 fHistoElePtvsV0dcaWSSide2 =
new THnSparseF(
"fHistoElePtvsV0dcaWSSide2",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4086 fHistoElePtvsV0dcaWSMix =
new THnSparseF(
"fHistoElePtvsV0dcaWSMix",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4088 fHistoElePtvsV0dcaWSMix1 =
new THnSparseF(
"fHistoElePtvsV0dcaWSMix1",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4090 fHistoElePtvsV0dcaWSMix2 =
new THnSparseF(
"fHistoElePtvsV0dcaWSMix2",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4092 fHistoElePtvsV0dcaMCS =
new THnSparseF(
"fHistoElePtvsV0dcaMCS",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4094 fHistoElePtvsV0dcaMCS1 =
new THnSparseF(
"fHistoElePtvsV0dcaMCS1",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4096 fHistoElePtvsV0dcaMCS2 =
new THnSparseF(
"fHistoElePtvsV0dcaMCS2",
"",3,bins_eleptvsv0dca,xmin_eleptvsv0dca,xmax_eleptvsv0dca);
4111 Int_t bins_elelamptvsv0dl[4]= {100 ,20 ,100, 10};
4112 Double_t xmin_elelamptvsv0dl[4]={0.,0. ,-0.5, 0.0};
4113 Double_t xmax_elelamptvsv0dl[4]={20.,40.,0.5 ,100};
4114 fHistoEleLambdaPtvsV0dlRS =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRS",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4116 fHistoEleLambdaPtvsV0dlRS1 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRS1",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4118 fHistoEleLambdaPtvsV0dlRS2 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRS2",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4120 fHistoEleLambdaPtvsV0dlRSSide =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRSSide",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4122 fHistoEleLambdaPtvsV0dlRSSide1 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRSSide1",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4124 fHistoEleLambdaPtvsV0dlRSSide2 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRSSide2",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4126 fHistoEleLambdaPtvsV0dlRSMix =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRSMix",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4128 fHistoEleLambdaPtvsV0dlRSMix1 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRSMix1",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4130 fHistoEleLambdaPtvsV0dlRSMix2 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRSMix2",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4132 fHistoEleLambdaPtvsV0dlWS =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWS",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4134 fHistoEleLambdaPtvsV0dlWS1 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWS1",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4136 fHistoEleLambdaPtvsV0dlWS2 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWS2",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4138 fHistoEleLambdaPtvsV0dlWSSide =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWSSide",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4140 fHistoEleLambdaPtvsV0dlWSSide1 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWSSide1",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4142 fHistoEleLambdaPtvsV0dlWSSide2 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWSSide2",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4144 fHistoEleLambdaPtvsV0dlWSMix =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWSMix",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4146 fHistoEleLambdaPtvsV0dlWSMix1 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWSMix1",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4148 fHistoEleLambdaPtvsV0dlWSMix2 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWSMix2",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4150 fHistoEleLambdaPtvsV0dlMCS =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlMCS",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4152 fHistoEleLambdaPtvsV0dlMCS1 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlMCS1",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4154 fHistoEleLambdaPtvsV0dlMCS2 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlMCS2",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4230 fHistoEleLambdaPtvsV0dlXibMCS =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlXibMCS",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4232 fHistoEleLambdaPtvsV0dlXibMCS1 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlXibMCS1",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4234 fHistoEleLambdaPtvsV0dlXibMCS2 =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlXibMCS2",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4237 fHistoEleLambdaPtvsV0dlRSAway =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRSAway",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4239 fHistoEleLambdaPtvsV0dlRS1Away =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRS1Away",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4241 fHistoEleLambdaPtvsV0dlRS2Away =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlRS2Away",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4255 fHistoEleLambdaPtvsV0dlWSAway =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWSAway",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4257 fHistoEleLambdaPtvsV0dlWS1Away =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWS1Away",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4259 fHistoEleLambdaPtvsV0dlWS2Away =
new THnSparseF(
"fHistoEleLambdaPtvsV0dlWS2Away",
"",4,bins_elelamptvsv0dl,xmin_elelamptvsv0dl,xmax_elelamptvsv0dl);
4333 for(Int_t ih=0;ih<17;ih++){
4334 Int_t bins_eleptvscutvars[3];
4335 Double_t xmin_eleptvscutvars[3];
4336 Double_t xmax_eleptvscutvars[3];
4338 bins_eleptvscutvars[0] = 20;
4339 xmin_eleptvscutvars[0] = 0.;
4340 xmax_eleptvscutvars[0] = 20.;
4341 bins_eleptvscutvars[2] = 10;
4342 xmin_eleptvscutvars[2] = 0.;
4343 xmax_eleptvscutvars[2] = 100.;
4347 bins_eleptvscutvars[1] = 40;
4348 xmin_eleptvscutvars[1] = 0.;
4349 xmax_eleptvscutvars[1] = 160.;
4350 }
else if(ih==2 || ih==3){
4352 bins_eleptvscutvars[1] = 20;
4353 xmin_eleptvscutvars[1] = -5.;
4354 xmax_eleptvscutvars[1] = 5.;
4357 bins_eleptvscutvars[1] = 30;
4358 xmin_eleptvscutvars[1] = -1.5;
4359 xmax_eleptvscutvars[1] = 1.5;
4362 bins_eleptvscutvars[1] = 7;
4363 xmin_eleptvscutvars[1] = -0.5;
4364 xmax_eleptvscutvars[1] = 6.5;
4367 bins_eleptvscutvars[1] = 50;
4368 xmin_eleptvscutvars[1] = 1.1156-0.03;
4369 xmax_eleptvscutvars[1] = 1.1156+0.03;
4372 bins_eleptvscutvars[1] = 20;
4373 xmin_eleptvscutvars[1] = 0.;
4374 xmax_eleptvscutvars[1] = 5.;
4377 bins_eleptvscutvars[1] = 20;
4378 xmin_eleptvscutvars[1] = 0.;
4379 xmax_eleptvscutvars[1] = 2.;
4380 }
else if(ih==9 || ih==10 ){
4382 bins_eleptvscutvars[1] = 20;
4383 xmin_eleptvscutvars[1] = 0.;
4384 xmax_eleptvscutvars[1] = 0.5;
4387 bins_eleptvscutvars[1] = 20;
4388 xmin_eleptvscutvars[1] = 0.95;
4389 xmax_eleptvscutvars[1] = 1.0;
4392 bins_eleptvscutvars[1] = 50;
4393 xmin_eleptvscutvars[1] = 0.497-0.03;
4394 xmax_eleptvscutvars[1] = 0.497+0.03;
4395 }
else if(ih==13 || ih==14){
4397 bins_eleptvscutvars[1] = 20;
4398 xmin_eleptvscutvars[1] = -5;
4399 xmax_eleptvscutvars[1] = 5;
4402 bins_eleptvscutvars[1] = 30;
4403 xmin_eleptvscutvars[1] = -1.5;
4404 xmax_eleptvscutvars[1] = 1.5;
4407 bins_eleptvscutvars[1] = 20;
4408 xmin_eleptvscutvars[1] = 0.;
4409 xmax_eleptvscutvars[1] = 3.141592/2;
4412 fHistoElePtvsCutVarsRS[ih] =
new THnSparseF(Form(
"fHistoElePtvsCutVarsRS[%d]",ih),
"",3,bins_eleptvscutvars,xmin_eleptvscutvars,xmax_eleptvscutvars);
4414 fHistoElePtvsCutVarsWS[ih] =
new THnSparseF(Form(
"fHistoElePtvsCutVarsWS[%d]",ih),
"",3,bins_eleptvscutvars,xmin_eleptvscutvars,xmax_eleptvscutvars);
4416 fHistoElePtvsCutVarsMCS[ih] =
new THnSparseF(Form(
"fHistoElePtvsCutVarsMCS[%d]",ih),
"",3,bins_eleptvscutvars,xmin_eleptvscutvars,xmax_eleptvscutvars);
4431 if(!part)
return 0x0;
4432 if(!aod)
return 0x0;
4437 AliAODVertex *primVertexAOD;
4438 Bool_t unsetvtx = kFALSE;
4442 primVertexAOD =
fVtx1;
4447 primVertexAOD =
fVtx1;
4449 if(!primVertexAOD)
return 0x0;
4450 Double_t posprim[3]; primVertexAOD->GetXYZ(posprim);
4455 AliESDtrack *esdtrack =
new AliESDtrack((AliVTrack*)partpid);
4457 AliNeutralTrackParam *trackV0=NULL;
4458 const AliVTrack *trackVV0 =
dynamic_cast<const AliVTrack*
>(v0);
4459 if(trackVV0) trackV0 =
new AliNeutralTrackParam(trackVV0);
4461 Double_t xdummy, ydummy;
4462 Double_t dca = esdtrack->GetDCA(trackV0,
fBzkG,xdummy,ydummy);
4469 Double_t d0z0bach[2],covd0z0bach[3];
4470 if(sqrt(pow(secVert->GetX(),2)+pow(secVert->GetY(),2))<1.){
4471 part->PropagateToDCA(secVert,
fBzkG,kVeryBig,d0z0bach,covd0z0bach);
4472 trackV0->PropagateToDCA(secVert,
fBzkG,kVeryBig);
4474 part->PropagateToDCA(primVertexAOD,
fBzkG,kVeryBig,d0z0bach,covd0z0bach);
4475 trackV0->PropagateToDCA(primVertexAOD,
fBzkG,kVeryBig);
4477 Double_t momv0_new[3]={-9999,-9999,-9999.};
4478 trackV0->GetPxPyPz(momv0_new);
4480 Double_t px[2],py[2],pz[2];
4481 px[0] = part->Px(); py[0] = part->Py(); pz[0] = part->Pz();
4482 px[1] = momv0_new[0]; py[1] = momv0_new[1]; pz[1] = momv0_new[2];
4487 Double_t d0[3],d0err[3];
4489 part->PropagateToDCA(primVertexAOD,
fBzkG,kVeryBig,d0z0bach,covd0z0bach);
4491 d0err[0] = TMath::Sqrt(covd0z0bach[0]);
4493 Double_t d0z0v0[2],covd0z0v0[3];
4494 trackV0->PropagateToDCA(primVertexAOD,
fBzkG,kVeryBig,d0z0v0,covd0z0v0);
4496 d0err[1] = TMath::Sqrt(covd0z0v0[0]);
4501 Short_t
charge = part->Charge();
4505 if(unsetvtx)
delete primVertexAOD; primVertexAOD=NULL;
4506 if(esdtrack)
delete esdtrack;
4507 if(trackV0)
delete trackV0;
4511 UShort_t
id[2]={(UShort_t)part->GetID(),(UShort_t)trackV0->GetID()};
4514 theCascade->GetSecondaryVtx()->AddDaughter(part);
4515 theCascade->GetSecondaryVtx()->AddDaughter(v0);
4517 if(unsetvtx)
delete primVertexAOD; primVertexAOD=NULL;
4518 if(esdtrack)
delete esdtrack;
4519 if(trackV0)
delete trackV0;
4532 TObjArray *TrackArray =
new TObjArray(3);
4534 AliESDtrack *cptrk1 =
new AliESDtrack((AliVTrack*)trk);
4535 TrackArray->AddAt(cptrk1,0);
4537 AliESDtrack *cascptrack =
new AliESDtrack((AliVTrack*)v0->GetDaughter(0));
4538 TrackArray->AddAt(cascptrack,1);
4539 AliESDtrack *cascntrack =
new AliESDtrack((AliVTrack*)v0->GetDaughter(1));
4540 TrackArray->AddAt(cascntrack,2);
4544 for(Int_t i=0;i<3;i++)
4546 AliESDtrack *tesd = (AliESDtrack*)TrackArray->UncheckedAt(i);
4549 TrackArray->Clear();
4564 Bool_t fRecoPrimVtxSkippingTrks = kTRUE;
4565 Bool_t fRmTrksFromPrimVtx = kFALSE;
4567 AliESDVertex *vertexESD = 0;
4568 AliAODVertex *vertexAOD = 0;
4573 if(!fRecoPrimVtxSkippingTrks && !fRmTrksFromPrimVtx) {
4576 vertexESD =
new AliESDVertex(*
fV1);
4581 Int_t nTrks = trkArray->GetEntriesFast();
4582 AliVertexerTracks *vertexer =
new AliVertexerTracks(event->GetMagneticField());
4584 if(fRecoPrimVtxSkippingTrks) {
4587 if(strstr(
fV1->GetTitle(),
"VertexerTracksWithConstraint")) {
4588 Float_t diamondcovxy[3];
4589 event->GetDiamondCovXY(diamondcovxy);
4590 Double_t pos[3]={
event->GetDiamondX(),
event->GetDiamondY(),0.};
4591 Double_t cov[6]={diamondcovxy[0],diamondcovxy[1],diamondcovxy[2],0.,0.,10.*10.};
4592 AliESDVertex *diamond =
new AliESDVertex(pos,cov,1.,1);
4593 vertexer->SetVtxStart(diamond);
4594 delete diamond; diamond=NULL;
4595 if(strstr(
fV1->GetTitle(),
"VertexerTracksWithConstraintOnlyFitter"))
4596 vertexer->SetOnlyFitter();
4598 Int_t skipped[1000];
4599 Int_t nTrksToSkip=0,id;
4600 AliExternalTrackParam *t = 0;
4601 for(Int_t i=0; i<nTrks; i++) {
4602 t = (AliExternalTrackParam*)trkArray->UncheckedAt(i);
4603 id = (Int_t)t->GetID();
4605 skipped[nTrksToSkip++] = id;
4609 Double_t covtest[21];
4610 for(Int_t j=0; j<
event->GetNumberOfTracks(); j++) {
4611 AliVTrack *vtrack = (AliVTrack*)event->GetTrack(j);
4612 if(!vtrack->GetCovarianceXYZPxPyPz(covtest)) {
4613 id = (Int_t)vtrack->GetID();
4615 skipped[nTrksToSkip++] = id;
4618 for(Int_t ijk=nTrksToSkip; ijk<1000; ijk++) skipped[ijk]=-1;
4620 vertexer->SetSkipTracks(nTrksToSkip,skipped);
4621 vertexESD = (AliESDVertex*)vertexer->FindPrimaryVertex(event);
4623 }
else if(fRmTrksFromPrimVtx && nTrks>0) {
4626 TObjArray rmArray(nTrks);
4627 UShort_t *rmId =
new UShort_t[nTrks];
4628 AliESDtrack *esdTrack = 0;
4630 for(Int_t i=0; i<nTrks; i++) {
4631 t = (AliESDtrack*)trkArray->UncheckedAt(i);
4632 esdTrack =
new AliESDtrack(*t);
4633 rmArray.AddLast(esdTrack);
4634 if(esdTrack->GetID()>=0) {
4635 rmId[i]=(UShort_t)esdTrack->GetID();
4640 Float_t diamondxy[2]={
static_cast<Float_t
>(
event->GetDiamondX()),static_cast<Float_t>(event->GetDiamondY())};
4641 vertexESD = vertexer->RemoveTracksFromVertex(
fV1,&rmArray,rmId,diamondxy);
4642 delete [] rmId; rmId=NULL;
4647 delete vertexer; vertexer=NULL;
4648 if(!vertexESD)
return vertexAOD;
4649 if(vertexESD->GetNContributors()<=0) {
4651 delete vertexESD; vertexESD=NULL;
4659 Double_t pos[3],cov[6],chi2perNDF;
4660 vertexESD->GetXYZ(pos);
4661 vertexESD->GetCovMatrix(cov);
4662 chi2perNDF = vertexESD->GetChi2toNDF();
4663 delete vertexESD; vertexESD=NULL;
4665 vertexAOD =
new AliAODVertex(pos,cov,chi2perNDF);
4678 AliAODVertex *primVertexAOD;
4679 Bool_t unsetvtx = kFALSE;
4683 primVertexAOD =
fVtx1;
4688 primVertexAOD =
fVtx1;
4690 if(!primVertexAOD)
return 0x0;
4692 AliESDVertex * vertexESD =
new AliESDVertex(*
fV1);
4694 Double_t pos[3],cov[6],chi2perNDF;
4695 vertexESD->GetXYZ(pos);
4696 vertexESD->GetCovMatrix(cov);
4697 chi2perNDF = vertexESD->GetChi2toNDF();
4698 delete vertexESD; vertexESD=NULL;
4700 AliAODVertex *secVert =
new AliAODVertex(pos,cov,chi2perNDF);
4710 for(Int_t i=0;i<100;i++){
4711 pdgarray_ele[i] = -9999;
4712 labelarray_ele[i] = -9999;
4713 pdgarray_v0[i] = -9999;
4714 labelarray_v0[i] = -9999;
4719 AliVTrack *trk =
dynamic_cast<AliVTrack*
>(elobj->
GetBachelor());
4721 Int_t labEle = trk->GetLabel();
4722 if(labEle<0)
return -1;
4723 AliAODMCParticle *mcetrk = (AliAODMCParticle*)mcArray->At(labEle);
4724 if(!mcetrk)
return -1;
4725 labelarray_ele[0] = labEle;
4726 pdgarray_ele[0] = mcetrk->GetPdgCode();
4729 AliAODMCParticle *mcprimele=0;
4731 while(mcprimele->GetMother()>=0) {
4732 Int_t labprim_ele=mcprimele->GetMother();
4733 AliAODMCParticle *tmcprimele = (AliAODMCParticle*)mcArray->At(labprim_ele);
4738 mcprimele = tmcprimele;
4739 pdgarray_ele[ngen_ele] = mcprimele->GetPdgCode();
4740 labelarray_ele[ngen_ele] = labprim_ele;
4742 if(ngen_ele==100)
break;
4745 AliAODv0 *theV0 =
dynamic_cast<AliAODv0*
>(elobj->
Getv0());
4746 if(!theV0)
return -1;
4747 Int_t pdgdgv0[2]={2212,211};
4748 Int_t labV0 = theV0->MatchToMC(3122,mcArray,2,pdgdgv0);
4749 if(labV0<0)
return -1;
4750 AliAODMCParticle *mcv0 = (AliAODMCParticle*)mcArray->At(labV0);
4751 if(!mcv0)
return -1;
4752 labelarray_v0[0] = labV0;
4753 pdgarray_v0[0] = mcv0->GetPdgCode();
4756 AliAODMCParticle *mcprimv0=0;
4758 while(mcprimv0->GetMother()>=0) {
4759 Int_t labprim_v0=mcprimv0->GetMother();
4760 AliAODMCParticle *tmcprimv0 = (AliAODMCParticle*)mcArray->At(labprim_v0);
4765 mcprimv0 = tmcprimv0;
4766 pdgarray_v0[ngen_v0] = mcprimv0->GetPdgCode();
4767 labelarray_v0[ngen_v0] = labprim_v0;
4769 if(ngen_v0==100)
break;
4772 Bool_t same_flag = kFALSE;
4773 Int_t matchedlabel=-9999;
4774 for(Int_t iemc=0;iemc<ngen_ele;iemc++){
4775 for(Int_t ivmc=0;ivmc<ngen_v0;ivmc++){
4776 if(labelarray_ele[iemc]==labelarray_v0[ivmc]){
4778 matchedlabel = labelarray_ele[iemc];
4782 if(same_flag)
break;
4785 return matchedlabel;
4795 if(trkEntries==0)
return;
4798 for(Int_t i=0; i<trkEntries; i++) {
4799 seleFlags[i] = kFALSE;
4802 track = (AliVTrack*)event->GetTrack(i);
4805 Double_t covtest[21];
4806 if(!track->GetCovarianceXYZPxPyPz(covtest))
continue;
4810 AliAODTrack *aodt = (AliAODTrack*)track;
4815 if(!aodt->TestFilterBit(BIT(filterbit)))
continue;
4817 if(!aodt->TestFilterMask(BIT(filterbit)))
continue;
4821 AliAODTrack *aodtpid = 0;
4823 aodtpid =
fGTI[-aodt->GetID()-1];
4828 Double_t nsigma_tpcele = -9999;
4829 Double_t nsigma_tofele = -9999;
4838 if(fabs(nsigma_tofele)<3.){
4840 Double_t eleeta = aodt->Eta();
4841 if(fabs(eleeta)<0.6)
4843 if(fabs(eleeta)>0.6 && fabs(eleeta)<0.8)
4845 if(eleeta>-0.8 && eleeta<-0.6){
4847 }
else if(eleeta>-0.6&&eleeta<-0.4){
4849 }
else if(eleeta>-0.4&&eleeta<-0.2){
4851 }
else if(eleeta>-0.2&&eleeta<0.0){
4853 }
else if(eleeta>0.0&&eleeta<0.2){
4855 }
else if(eleeta>0.2&&eleeta<0.4){
4857 }
else if(eleeta>0.4&&eleeta<0.6){
4859 }
else if(eleeta>0.6&&eleeta<0.8){
4871 Double_t minmass = 9999.;
4874 if(isconv) seleFlags[i] = kFALSE;
4882 Double_t minmasslike = 9999.;
4897 for(Int_t iv0=0;iv0<nV0s;iv0++)
4899 seleV0Flags[iv0] = kFALSE;
4900 AliAODv0 *v0 = ((AliAODEvent*)event)->GetV0(iv0);
4904 seleV0Flags[iv0] = kTRUE;
4918 if(theBinZ<0 || theBinZ>=
fNzVtxBins)
return -1;
4920 if(theBinM<0 || theBinM>=
fNCentBins)
return -1;
4928 if(poolIndex<0 || poolIndex>=
fNOfPools)
return;
4930 fEventBuffer[poolIndex]=
new TTree(Form(
"EventBuffer_%d",poolIndex),
"Temporary buffer for event mixing");
4959 TObjArray* v1array=0x0;
4960 TObjArray* v2array=0x0;
4961 TObjArray* v1varsarray=0x0;
4962 TObjArray* v2varsarray=0x0;
4963 std::vector<Double_t>* vdl1array=0x0;
4964 std::vector<Double_t>* vdl2array=0x0;
4965 std::vector<Double_t>* vdca1array=0x0;
4966 std::vector<Double_t>* vdca2array=0x0;
4967 Float_t zVertex,cent;
4968 TObjString* eventInfo=0x0;
4969 fEventBuffer[poolIndex]->SetBranchAddress(
"eventInfo",&eventInfo);
4970 fEventBuffer[poolIndex]->SetBranchAddress(
"zVertex", &zVertex);
4971 fEventBuffer[poolIndex]->SetBranchAddress(
"centrality", ¢);
4972 fEventBuffer[poolIndex]->SetBranchAddress(
"v1array", &v1array);
4973 fEventBuffer[poolIndex]->SetBranchAddress(
"v2array", &v2array);
4974 fEventBuffer[poolIndex]->SetBranchAddress(
"vdl1array", &vdl1array);
4975 fEventBuffer[poolIndex]->SetBranchAddress(
"vdl2array", &vdl2array);
4976 fEventBuffer[poolIndex]->SetBranchAddress(
"vdca1array", &vdca1array);
4977 fEventBuffer[poolIndex]->SetBranchAddress(
"vdca2array", &vdca2array);
4978 fEventBuffer[poolIndex]->SetBranchAddress(
"v1varsarray", &v1varsarray);