]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliAnalysisTaskElecHadronCorrel.cxx
parameterizations for pPb and Pbp at 5.02 TeV
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskElecHadronCorrel.cxx
CommitLineData
57189f04 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16
17////////////////////////////////////////////////////////////////////////
18// //
19// Task for Heavy Flavour Electron-Hadron DeltaPhi Correlation //
20// Non-Photonic Electron identified with Invariant mass //
21// analysis methos in function SelectPhotonicElectron //
22// DeltaPhi calculated in function ElectronHadCorrel //
23// //
24// Author: Deepa Thomas (Utrecht University) //
25// //
26////////////////////////////////////////////////////////////////////////
27
28#include "TChain.h"
29#include "TTree.h"
30#include "TH2F.h"
31#include "TMath.h"
32#include "TCanvas.h"
33#include "THnSparse.h"
34#include "TLorentzVector.h"
35#include "TString.h"
36#include "TFile.h"
37
38#include "AliAnalysisTask.h"
39#include "AliAnalysisManager.h"
40
41#include "AliESDEvent.h"
42#include "AliESDHandler.h"
43#include "AliAODEvent.h"
44#include "AliAODHandler.h"
45
46#include "AliAnalysisTaskElecHadronCorrel.h"
47#include "TGeoGlobalMagField.h"
48#include "AliLog.h"
49#include "AliAnalysisTaskSE.h"
50#include "TRefArray.h"
51#include "TVector.h"
987053ce 52
57189f04 53#include "AliESDInputHandler.h"
987053ce 54#include "AliAODInputHandler.h"
57189f04 55#include "AliESDpid.h"
987053ce 56#include "AliAODPid.h"
57189f04 57#include "AliESDtrackCuts.h"
58#include "AliPhysicsSelection.h"
987053ce 59#include "AliCentralitySelectionTask.h"
57189f04 60#include "AliESDCaloCluster.h"
61#include "AliAODCaloCluster.h"
520a29a8 62#include "AliESDCaloTrigger.h"
57189f04 63#include "AliEMCALRecoUtils.h"
64#include "AliEMCALGeometry.h"
65#include "AliGeomManager.h"
66#include "stdio.h"
67#include "TGeoManager.h"
68#include "iostream"
69#include "fstream"
3c56855b 70
71//#include "AliEventPoolManager.h"
72
520a29a8 73#include "AliCentrality.h"
57189f04 74#include "AliMagF.h"
75
76#include "AliKFParticle.h"
77#include "AliKFVertex.h"
78
79#include "AliPID.h"
80#include "AliPIDResponse.h"
81#include "AliHFEcontainer.h"
82#include "AliHFEcuts.h"
83#include "AliHFEpid.h"
84#include "AliHFEpidBase.h"
85#include "AliHFEpidQAmanager.h"
86#include "AliHFEtools.h"
87#include "AliCFContainer.h"
88#include "AliCFManager.h"
987053ce 89#include "AliVEvent.h"
90#include "AliStack.h"
91#include "AliMCEvent.h"
92#include "TProfile.h"
93#include "AliESDVZERO.h"
94#include "AliAODVZERO.h"
95#include "TVector3.h"
96#include "TRandom2.h"
57189f04 97
98ClassImp(AliAnalysisTaskElecHadronCorrel)
3c56855b 99//ClassImp(AliehDPhiBasicParticle)
57189f04 100//________________________________________________________________________
520a29a8 101 AliAnalysisTaskElecHadronCorrel::AliAnalysisTaskElecHadronCorrel(const char *name)
57189f04 102 : AliAnalysisTaskSE(name)
987053ce 103 ,fVevent(0)
57189f04 104 ,fESD(0)
987053ce 105 ,fAOD(0)
57189f04 106 ,fGeom(0)
107 ,fOutputList(0)
520a29a8 108 ,fTrackCuts1(new AliESDtrackCuts)
109 ,fTrackCuts2(new AliESDtrackCuts)
57189f04 110 ,fCuts(0)
111 ,fIdentifiedAsOutInz(kFALSE)
112 ,fPassTheEventCut(kFALSE)
113 ,fRejectKinkMother(kFALSE)
114 ,fVz(0.0)
115 ,fCFM(0)
116 ,fPID(0)
117 ,fPIDqa(0)
57189f04 118 ,fInvmassCut(0.01)
3c56855b 119 ,fCentrality(0)
120 ,fCentralityMin(0)
121 ,fCentralityMax(0)
122 ,fkCentralityMethod(0)
4e01b68c 123// ,fPoolMgr(0x0)
57189f04 124 ,fNoEvents(0)
3c56855b 125// ,fTrkpt(0)
94b12681 126 ,fTrkEovPAft(0)
33369c14 127// ,fTrkEovPBefHad(0)
987053ce 128 // ,fdEdxBef(0)
129 ,fSemiIncElecDphi(0)
487ae960 130 ,fSemiIncElecDphi1(0)
131 ,fSemiIncElecDphi2(0)
132 ,fSemiIncElecDphi3(0)
133 ,fSemiIncElecDphi4(0)
57189f04 134 ,fPhotElecDphi(0)
487ae960 135 ,fPhotElecDphi1(0)
136 ,fPhotElecDphi2(0)
137 ,fPhotElecDphi3(0)
138 ,fPhotElecDphi4(0)
57189f04 139 ,fInclusiveElecDphi(0)
487ae960 140 ,fInclusiveElecDphi1(0)
141 ,fInclusiveElecDphi2(0)
142 ,fInclusiveElecDphi3(0)
143 ,fInclusiveElecDphi4(0)
33369c14 144 ,fInclusiveElecDphiEtaFS(0)
145 ,fInclusiveElecDphiEtaFS1(0)
146 ,fInclusiveElecDphiEtaFS2(0)
147 ,fInclusiveElecDphiEtaFS3(0)
148 ,fInclusiveElecDphiEtaFS4(0)
57189f04 149 ,fDphiULSMassLow(0)
487ae960 150 ,fDphiULSMassLow1(0)
151 ,fDphiULSMassLow2(0)
152 ,fDphiULSMassLow3(0)
153 ,fDphiULSMassLow4(0)
57189f04 154 ,fDphiLSMassLow(0)
487ae960 155 ,fDphiLSMassLow1(0)
156 ,fDphiLSMassLow2(0)
157 ,fDphiLSMassLow3(0)
158 ,fDphiLSMassLow4(0)
520a29a8 159 ,fDphiULSMassLowNoPartner(0)
487ae960 160 ,fDphiULSMassLowNoPartner1(0)
161 ,fDphiULSMassLowNoPartner2(0)
162 ,fDphiULSMassLowNoPartner3(0)
163 ,fDphiULSMassLowNoPartner4(0)
520a29a8 164 ,fDphiLSMassLowNoPartner(0)
487ae960 165 ,fDphiLSMassLowNoPartner1(0)
166 ,fDphiLSMassLowNoPartner2(0)
167 ,fDphiLSMassLowNoPartner3(0)
168 ,fDphiLSMassLowNoPartner4(0)
57189f04 169 ,fPhotoElecPt(0)
170 ,fSemiInclElecPt(0)
520a29a8 171 ,fInclusiveElecPt(0)
172 ,fULSElecPt(0)
173 ,fLSElecPt(0)
bf697dda 174 ,fSemiIncElecDphiEta1(0)
175 ,fSemiIncElecDphiEta11(0)
176 ,fSemiIncElecDphiEta12(0)
177 ,fSemiIncElecDphiEta13(0)
178 ,fSemiIncElecDphiEta14(0)
179 ,fPhotElecDphiEta1(0)
180 ,fPhotElecDphiEta11(0)
181 ,fPhotElecDphiEta12(0)
182 ,fPhotElecDphiEta13(0)
183 ,fPhotElecDphiEta14(0)
184 ,fInclusiveElecDphiEta1(0)
185 ,fInclusiveElecDphiEta11(0)
186 ,fInclusiveElecDphiEta12(0)
187 ,fInclusiveElecDphiEta13(0)
188 ,fInclusiveElecDphiEta14(0)
189 ,fDphiULSMassLowEta1(0)
190 ,fDphiULSMassLowEta11(0)
191 ,fDphiULSMassLowEta12(0)
192 ,fDphiULSMassLowEta13(0)
193 ,fDphiULSMassLowEta14(0)
194 ,fDphiLSMassLowEta1(0)
195 ,fDphiLSMassLowEta11(0)
196 ,fDphiLSMassLowEta12(0)
197 ,fDphiLSMassLowEta13(0)
198 ,fDphiLSMassLowEta14(0)
199 ,fDphiULSMassLowNoPartnerEta1(0)
200 ,fDphiULSMassLowNoPartnerEta11(0)
201 ,fDphiULSMassLowNoPartnerEta12(0)
202 ,fDphiULSMassLowNoPartnerEta13(0)
203 ,fDphiULSMassLowNoPartnerEta14(0)
204 ,fDphiLSMassLowNoPartnerEta1(0)
205 ,fDphiLSMassLowNoPartnerEta11(0)
206 ,fDphiLSMassLowNoPartnerEta12(0)
207 ,fDphiLSMassLowNoPartnerEta13(0)
208 ,fDphiLSMassLowNoPartnerEta14(0)
209 ,fSemiIncElecDphiEta2(0)
210 ,fSemiIncElecDphiEta21(0)
211 ,fSemiIncElecDphiEta22(0)
212 ,fSemiIncElecDphiEta23(0)
213 ,fSemiIncElecDphiEta24(0)
214 ,fPhotElecDphiEta2(0)
215 ,fPhotElecDphiEta21(0)
216 ,fPhotElecDphiEta22(0)
217 ,fPhotElecDphiEta23(0)
218 ,fPhotElecDphiEta24(0)
219 ,fInclusiveElecDphiEta2(0)
220 ,fInclusiveElecDphiEta21(0)
221 ,fInclusiveElecDphiEta22(0)
222 ,fInclusiveElecDphiEta23(0)
223 ,fInclusiveElecDphiEta24(0)
224 ,fDphiULSMassLowEta2(0)
225 ,fDphiULSMassLowEta21(0)
226 ,fDphiULSMassLowEta22(0)
227 ,fDphiULSMassLowEta23(0)
228 ,fDphiULSMassLowEta24(0)
229 ,fDphiLSMassLowEta2(0)
230 ,fDphiLSMassLowEta21(0)
231 ,fDphiLSMassLowEta22(0)
232 ,fDphiLSMassLowEta23(0)
233 ,fDphiLSMassLowEta24(0)
234 ,fDphiULSMassLowNoPartnerEta2(0)
235 ,fDphiULSMassLowNoPartnerEta21(0)
236 ,fDphiULSMassLowNoPartnerEta22(0)
237 ,fDphiULSMassLowNoPartnerEta23(0)
238 ,fDphiULSMassLowNoPartnerEta24(0)
239 ,fDphiLSMassLowNoPartnerEta2(0)
240 ,fDphiLSMassLowNoPartnerEta21(0)
241 ,fDphiLSMassLowNoPartnerEta22(0)
242 ,fDphiLSMassLowNoPartnerEta23(0)
243 ,fDphiLSMassLowNoPartnerEta24(0)
244 // ,fTrackPtBefTrkCuts(0)
245 // ,fTrackPtAftTrkCuts(0)
246 // ,fTPCnsigma(0)
247 // ,fNCellv1(0)
248 // ,fClsEv1(0)
249 // ,fNClusv1(0)
250 ,fInvmassLS1(0)
251 // ,fInvmassLS2(0)
252 // ,fInvmassLS3(0)
253 // ,fInvmassLS4(0)
254 // ,fInvmassLS5(0)
255 ,fInvmassULS1(0)
256 // ,fInvmassULS2(0)
257 // ,fInvmassULS3(0)
258 // ,fInvmassULS4(0)
259 // ,fInvmassULS5(0)
520a29a8 260 ,fcentrality(0)
261 ,fElecPhi(0)
3c56855b 262 ,fElecPhiTPChalf(0)
bf697dda 263 ,fElecPhiPt(0)
264 // ,fElecPhiTPC(0)
265 // ,fElecPhiTPCEovP(0)
520a29a8 266 ,fHadronPhi(0)
3c56855b 267 ,fHadronPhiTPChalf(0)
bf697dda 268 ,fHadronPhiPt(0)
269 /* ,fTrackHFEcuts(0)
270 ,fTrakPhiSPD1(0)
271 ,fTrakPhiSPD2(0)
272 ,fTrakPhiSPDOr(0)
273 ,fTrakPhiSPDAnd(0)
274 ,fTrackHFEcutsITS(0)
275 */
276 /* ,fNoMixedEvents(0)
277 ,fMixStat(0)
278 ,fMixStat1(0)
279 ,fMixedIncElecDphi(0)
280 ,fMixedIncElecDphi1(0)
281 ,fMixedIncElecDphi2(0)
282 ,fMixedPhotElecDphi(0)
283 ,fMixedPhotElecDphi1(0)
284 ,fMixedPhotElecDphi2(0)
285 ,fMixedSemiIncElecDphi(0)
286 ,fMixedSemiIncElecDphi1(0)
287 ,fMixedSemiIncElecDphi2(0)
288 ,fMixedDphiULSMassLow(0)
289 ,fMixedDphiULSMassLow1(0)
290 ,fMixedDphiULSMassLow2(0)
291 ,fMixedDphiLSMassLow(0)
292 ,fMixedDphiLSMassLow1(0)
293 ,fMixedDphiLSMassLow2(0)
294 */
3c56855b 295 ,fHadronPt(0)
296 ,fCentralityPass(0)
297 ,fCentralityNoPass(0)
0841d73f 298 ,fHadronDphi(0)
299 ,fHadronDphi1(0)
300 ,fHadronDphi2(0)
301 ,fHadronDphi3(0)
302 ,fHadronDphi4(0)
303 ,fPiPt(0)
33369c14 304 ,fHadronDphiNoSS(0)
305 ,fHadronDphiNoSS1(0)
306 ,fHadronDphiNoSS2(0)
307 ,fHadronDphiNoSS3(0)
308 ,fHadronDphiNoSS4(0)
309 ,fPiPtNoSS(0)
bf697dda 310 ,fEovPWoSS(0)
311 ,fEovPWSS(0)
312 ,fEovPHadWoSS(0)
313 ,fEovPHadWSS(0)
0c884279 314 ,fHadronDphiEta1(0)
315 ,fHadronDphiEta11(0)
316 ,fHadronDphiEta12(0)
317 ,fHadronDphiEta13(0)
318 ,fHadronDphiEta14(0)
319 ,fHadronDphiNoSSEta1(0)
320 ,fHadronDphiNoSSEta11(0)
321 ,fHadronDphiNoSSEta12(0)
322 ,fHadronDphiNoSSEta13(0)
323 ,fHadronDphiNoSSEta14(0)
324 ,fHadronDphiEta2(0)
325 ,fHadronDphiEta21(0)
326 ,fHadronDphiEta22(0)
327 ,fHadronDphiEta23(0)
328 ,fHadronDphiEta24(0)
329 ,fHadronDphiNoSSEta2(0)
330 ,fHadronDphiNoSSEta21(0)
331 ,fHadronDphiNoSSEta22(0)
332 ,fHadronDphiNoSSEta23(0)
333 ,fHadronDphiNoSSEta24(0)
bf697dda 334 //,fSparseElectron(0)
335 // ,fvalueElectron(0)
57189f04 336{
337 //Named constructor
520a29a8 338
57189f04 339 fPID = new AliHFEpid("hfePid");
bf697dda 340 //fvalueElectron = new Double_t[6];
57189f04 341
342 // Define input and output slots here
343 // Input slot #0 works with a TChain
344 DefineInput(0, TChain::Class());
345 // Output slot #0 id reserved by the base class for AOD
346 // Output slot #1 writes into a TH1 container
347 // DefineOutput(1, TH1I::Class());
348 DefineOutput(1, TList::Class());
349 // DefineOutput(3, TTree::Class());
350}
351
352//________________________________________________________________________
353AliAnalysisTaskElecHadronCorrel::AliAnalysisTaskElecHadronCorrel()
354 : AliAnalysisTaskSE("DefaultAnalysis_AliAnalysisElecHadCorrel")
987053ce 355 ,fVevent(0)
57189f04 356 ,fESD(0)
987053ce 357 ,fAOD(0)
57189f04 358 ,fGeom(0)
359 ,fOutputList(0)
520a29a8 360 ,fTrackCuts1(new AliESDtrackCuts)
361 ,fTrackCuts2(new AliESDtrackCuts)
57189f04 362 ,fCuts(0)
363 ,fIdentifiedAsOutInz(kFALSE)
364 ,fPassTheEventCut(kFALSE)
365 ,fRejectKinkMother(kFALSE)
4e01b68c 366 ,fVz(0.0)
367 ,fCFM(0)
368 ,fPID(0)
369 ,fPIDqa(0)
57189f04 370 ,fInvmassCut(0.01)
3c56855b 371 ,fCentrality(0)
372 ,fCentralityMin(0)
373 ,fCentralityMax(0)
bf697dda 374 ,fkCentralityMethod(0)
375 // ,fPoolMgr(0x0)
376 ,fNoEvents(0)
377 // ,fTrkpt(0)
378 ,fTrkEovPAft(0)
379 // ,fTrkEovPBefHad(0)
380 // ,fdEdxBef(0)
987053ce 381 ,fSemiIncElecDphi(0)
487ae960 382 ,fSemiIncElecDphi1(0)
383 ,fSemiIncElecDphi2(0)
384 ,fSemiIncElecDphi3(0)
385 ,fSemiIncElecDphi4(0)
57189f04 386 ,fPhotElecDphi(0)
487ae960 387 ,fPhotElecDphi1(0)
388 ,fPhotElecDphi2(0)
389 ,fPhotElecDphi3(0)
390 ,fPhotElecDphi4(0)
57189f04 391 ,fInclusiveElecDphi(0)
487ae960 392 ,fInclusiveElecDphi1(0)
393 ,fInclusiveElecDphi2(0)
394 ,fInclusiveElecDphi3(0)
395 ,fInclusiveElecDphi4(0)
33369c14 396 ,fInclusiveElecDphiEtaFS(0)
397 ,fInclusiveElecDphiEtaFS1(0)
398 ,fInclusiveElecDphiEtaFS2(0)
399 ,fInclusiveElecDphiEtaFS3(0)
400 ,fInclusiveElecDphiEtaFS4(0)
57189f04 401 ,fDphiULSMassLow(0)
487ae960 402 ,fDphiULSMassLow1(0)
403 ,fDphiULSMassLow2(0)
404 ,fDphiULSMassLow3(0)
405 ,fDphiULSMassLow4(0)
57189f04 406 ,fDphiLSMassLow(0)
487ae960 407 ,fDphiLSMassLow1(0)
408 ,fDphiLSMassLow2(0)
409 ,fDphiLSMassLow3(0)
410 ,fDphiLSMassLow4(0)
520a29a8 411 ,fDphiULSMassLowNoPartner(0)
487ae960 412 ,fDphiULSMassLowNoPartner1(0)
413 ,fDphiULSMassLowNoPartner2(0)
414 ,fDphiULSMassLowNoPartner3(0)
415 ,fDphiULSMassLowNoPartner4(0)
520a29a8 416 ,fDphiLSMassLowNoPartner(0)
487ae960 417 ,fDphiLSMassLowNoPartner1(0)
418 ,fDphiLSMassLowNoPartner2(0)
419 ,fDphiLSMassLowNoPartner3(0)
420 ,fDphiLSMassLowNoPartner4(0)
57189f04 421 ,fPhotoElecPt(0)
422 ,fSemiInclElecPt(0)
520a29a8 423 ,fInclusiveElecPt(0)
424 ,fULSElecPt(0)
425 ,fLSElecPt(0)
bf697dda 426 ,fSemiIncElecDphiEta1(0)
427 ,fSemiIncElecDphiEta11(0)
428 ,fSemiIncElecDphiEta12(0)
429 ,fSemiIncElecDphiEta13(0)
430 ,fSemiIncElecDphiEta14(0)
431 ,fPhotElecDphiEta1(0)
432 ,fPhotElecDphiEta11(0)
433 ,fPhotElecDphiEta12(0)
434 ,fPhotElecDphiEta13(0)
435 ,fPhotElecDphiEta14(0)
436 ,fInclusiveElecDphiEta1(0)
437 ,fInclusiveElecDphiEta11(0)
438 ,fInclusiveElecDphiEta12(0)
439 ,fInclusiveElecDphiEta13(0)
440 ,fInclusiveElecDphiEta14(0)
441 ,fDphiULSMassLowEta1(0)
442 ,fDphiULSMassLowEta11(0)
443 ,fDphiULSMassLowEta12(0)
444 ,fDphiULSMassLowEta13(0)
445 ,fDphiULSMassLowEta14(0)
446 ,fDphiLSMassLowEta1(0)
447 ,fDphiLSMassLowEta11(0)
448 ,fDphiLSMassLowEta12(0)
449 ,fDphiLSMassLowEta13(0)
450 ,fDphiLSMassLowEta14(0)
451 ,fDphiULSMassLowNoPartnerEta1(0)
452 ,fDphiULSMassLowNoPartnerEta11(0)
453 ,fDphiULSMassLowNoPartnerEta12(0)
454 ,fDphiULSMassLowNoPartnerEta13(0)
455 ,fDphiULSMassLowNoPartnerEta14(0)
456 ,fDphiLSMassLowNoPartnerEta1(0)
457 ,fDphiLSMassLowNoPartnerEta11(0)
458 ,fDphiLSMassLowNoPartnerEta12(0)
459 ,fDphiLSMassLowNoPartnerEta13(0)
460 ,fDphiLSMassLowNoPartnerEta14(0)
461 ,fSemiIncElecDphiEta2(0)
462 ,fSemiIncElecDphiEta21(0)
463 ,fSemiIncElecDphiEta22(0)
464 ,fSemiIncElecDphiEta23(0)
465 ,fSemiIncElecDphiEta24(0)
466 ,fPhotElecDphiEta2(0)
467 ,fPhotElecDphiEta21(0)
468 ,fPhotElecDphiEta22(0)
469 ,fPhotElecDphiEta23(0)
470 ,fPhotElecDphiEta24(0)
471 ,fInclusiveElecDphiEta2(0)
472 ,fInclusiveElecDphiEta21(0)
473 ,fInclusiveElecDphiEta22(0)
474 ,fInclusiveElecDphiEta23(0)
475 ,fInclusiveElecDphiEta24(0)
476 ,fDphiULSMassLowEta2(0)
477 ,fDphiULSMassLowEta21(0)
478 ,fDphiULSMassLowEta22(0)
479 ,fDphiULSMassLowEta23(0)
480 ,fDphiULSMassLowEta24(0)
481 ,fDphiLSMassLowEta2(0)
482 ,fDphiLSMassLowEta21(0)
483 ,fDphiLSMassLowEta22(0)
484 ,fDphiLSMassLowEta23(0)
485 ,fDphiLSMassLowEta24(0)
486 ,fDphiULSMassLowNoPartnerEta2(0)
487 ,fDphiULSMassLowNoPartnerEta21(0)
488 ,fDphiULSMassLowNoPartnerEta22(0)
489 ,fDphiULSMassLowNoPartnerEta23(0)
490 ,fDphiULSMassLowNoPartnerEta24(0)
491 ,fDphiLSMassLowNoPartnerEta2(0)
492 ,fDphiLSMassLowNoPartnerEta21(0)
493 ,fDphiLSMassLowNoPartnerEta22(0)
494 ,fDphiLSMassLowNoPartnerEta23(0)
495 ,fDphiLSMassLowNoPartnerEta24(0)
496 // ,fTrackPtBefTrkCuts(0)
497 // ,fTrackPtAftTrkCuts(0)
498 // ,fTPCnsigma(0)
499 // ,fNCellv1(0)
500 // ,fClsEv1(0)
501 // ,fNClusv1(0)
502 ,fInvmassLS1(0)
503 // ,fInvmassLS2(0)
504 // ,fInvmassLS3(0)
505 // ,fInvmassLS4(0)
506 // ,fInvmassLS5(0)
507 ,fInvmassULS1(0)
508 // ,fInvmassULS2(0)
509 // ,fInvmassULS3(0)
510 // ,fInvmassULS4(0)
511 // ,fInvmassULS5(0)
520a29a8 512 ,fcentrality(0)
513 ,fElecPhi(0)
3c56855b 514 ,fElecPhiTPChalf(0)
bf697dda 515 ,fElecPhiPt(0)
516 // ,fElecPhiTPC(0)
517 // ,fElecPhiTPCEovP(0)
520a29a8 518 ,fHadronPhi(0)
3c56855b 519 ,fHadronPhiTPChalf(0)
bf697dda 520 ,fHadronPhiPt(0)
521 /* ,fTrackHFEcuts(0)
522 ,fTrakPhiSPD1(0)
523 ,fTrakPhiSPD2(0)
524 ,fTrakPhiSPDOr(0)
525 ,fTrakPhiSPDAnd(0)
526 ,fTrackHFEcutsITS(0)
527 */
528 /* ,fNoMixedEvents(0)
529 ,fMixStat(0)
530 ,fMixStat1(0)
531 ,fMixedIncElecDphi(0)
532 ,fMixedIncElecDphi1(0)
533 ,fMixedIncElecDphi2(0)
534 ,fMixedPhotElecDphi(0)
535 ,fMixedPhotElecDphi1(0)
536 ,fMixedPhotElecDphi2(0)
537 ,fMixedSemiIncElecDphi(0)
538 ,fMixedSemiIncElecDphi1(0)
539 ,fMixedSemiIncElecDphi2(0)
540 ,fMixedDphiULSMassLow(0)
541 ,fMixedDphiULSMassLow1(0)
542 ,fMixedDphiULSMassLow2(0)
543 ,fMixedDphiLSMassLow(0)
544 ,fMixedDphiLSMassLow1(0)
545 ,fMixedDphiLSMassLow2(0)
546 */
3c56855b 547 ,fHadronPt(0)
548 ,fCentralityPass(0)
549 ,fCentralityNoPass(0)
0841d73f 550 ,fHadronDphi(0)
551 ,fHadronDphi1(0)
552 ,fHadronDphi2(0)
553 ,fHadronDphi3(0)
554 ,fHadronDphi4(0)
33369c14 555 ,fPiPt(0)
556 ,fHadronDphiNoSS(0)
557 ,fHadronDphiNoSS1(0)
558 ,fHadronDphiNoSS2(0)
559 ,fHadronDphiNoSS3(0)
560 ,fHadronDphiNoSS4(0)
561 ,fPiPtNoSS(0)
bf697dda 562 ,fEovPWoSS(0)
563 ,fEovPWSS(0)
564 ,fEovPHadWoSS(0)
0c884279 565 ,fEovPHadWSS(0)
566 ,fHadronDphiEta1(0)
567 ,fHadronDphiEta11(0)
568 ,fHadronDphiEta12(0)
569 ,fHadronDphiEta13(0)
570 ,fHadronDphiEta14(0)
571 ,fHadronDphiNoSSEta1(0)
572 ,fHadronDphiNoSSEta11(0)
573 ,fHadronDphiNoSSEta12(0)
574 ,fHadronDphiNoSSEta13(0)
575 ,fHadronDphiNoSSEta14(0)
576 ,fHadronDphiEta2(0)
577 ,fHadronDphiEta21(0)
578 ,fHadronDphiEta22(0)
579 ,fHadronDphiEta23(0)
580 ,fHadronDphiEta24(0)
581 ,fHadronDphiNoSSEta2(0)
582 ,fHadronDphiNoSSEta21(0)
583 ,fHadronDphiNoSSEta22(0)
584 ,fHadronDphiNoSSEta23(0)
585 ,fHadronDphiNoSSEta24(0)
bf697dda 586 //,fSparseElectron(0)
587 // ,fvalueElectron(0)
57189f04 588{
520a29a8 589 //Default constructor
590 fPID = new AliHFEpid("hfePid");
bf697dda 591 //fvalueElectron = new Double_t[6];
57189f04 592
520a29a8 593 // Constructor
4e01b68c 594 // Define input and output slots here
595 // Input slot #0 works with a TChain
596 DefineInput(0, TChain::Class());
597 // Output slot #0 id reserved by the base class for AOD
598 // Output slot #1 writes into a TH1 container
599 // DefineOutput(1, TH1I::Class());
600 DefineOutput(1, TList::Class());
601 //DefineOutput(3, TTree::Class());
57189f04 602}
603//_________________________________________
604
605AliAnalysisTaskElecHadronCorrel::~AliAnalysisTaskElecHadronCorrel()
606{
4e01b68c 607 //Destructor
608
609 delete fOutputList;
610 delete fGeom;
611 delete fPID;
612 delete fCFM;
613 delete fPIDqa;
614 delete fTrackCuts1;
615 delete fTrackCuts2;
bf697dda 616 // delete fSparseElectron;
617 // delete []fvalueElectron;
57189f04 618}
619//_________________________________________
620
621void AliAnalysisTaskElecHadronCorrel::UserExec(Option_t*)
622{
4e01b68c 623 //Main loop
624 //Called for each event
625
626 // create pointer to event
987053ce 627 fAOD = dynamic_cast<AliAODEvent*>(InputEvent());
4e01b68c 628 fESD = dynamic_cast<AliESDEvent*>(InputEvent());
bf697dda 629
987053ce 630 if(!(fESD || fAOD)){
631 printf("ERROR: fESD & fAOD not available\n");
632 return;
633 }
634 fVevent = dynamic_cast<AliVEvent*>(InputEvent());
635 if (!fVevent) {
636 printf("ERROR: fVEvent not available\n");
4e01b68c 637 return;
638 }
520a29a8 639
4e01b68c 640 if(!fCuts){
641 AliError("HFE cuts not available");
642 return;
643 }
644
645 if(!fPID->IsInitialized()){
646 // Initialize PID with the given run number
647 AliWarning("PID not initialised, get from Run no");
987053ce 648
649 if(IsAODanalysis())fPID->InitializePID(fAOD->GetRunNumber());
650 else fPID->InitializePID(fESD->GetRunNumber());
4e01b68c 651 }
652
987053ce 653 // trigger selection
4e01b68c 654 if(!(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & (AliVEvent::kCentral))) return;
520a29a8 655
987053ce 656 // centrality selection
0841d73f 657 SetCentralityParameters(0., 7., "V0M");
987053ce 658 Bool_t pass = kFALSE;
659 CheckCentrality(fVevent,pass);
e4b0faf2 660 if(!pass)return;
661
987053ce 662 Int_t fNOtrks = fVevent->GetNumberOfTracks();
663 const AliVVertex *pVtx = fVevent->GetPrimaryVertex();
520a29a8 664
4e01b68c 665 Double_t pVtxZ = -999;
666 pVtxZ = pVtx->GetZ();
520a29a8 667
4e01b68c 668 if(TMath::Abs(pVtxZ)>10) return;
669 fNoEvents->Fill(0);
670
671 if(fNOtrks<2) return;
672
673 AliPIDResponse *pidResponse = fInputHandler->GetPIDResponse();
674 if(!pidResponse){
675 AliDebug(1, "Using default PID Response");
520a29a8 676 pidResponse = AliHFEtools::GetDefaultPID(kFALSE, fInputEvent->IsA() == AliAODEvent::Class());
677 }
678
679 fPID->SetPIDResponse(pidResponse);
680
987053ce 681 fCFM->SetRecEventInfo(fVevent);
682
683 /*
4e01b68c 684 //Event mixing
685 AliEventPool* pool = fPoolMgr->GetEventPool(centvalue, pVtxZ); // Get the buffer associated with the current centrality and z-vtx
686 if (!pool)
987053ce 687 AliFatal(Form("No pool found for centrality = %f, zVtx = %f", centvalue, pVtxZ));
688*/
689
690 // Look for kink mother for AOD
691 Double_t *listofmotherkink =0;
692 Int_t numberofvertices = 0, numberofmotherkink = 0;
693 if(IsAODanalysis()){
694 numberofvertices = fAOD->GetNumberOfVertices();
695 listofmotherkink = new Double_t[numberofvertices];
696 for(Int_t ivertex=0; ivertex < numberofvertices; ivertex++) {
697 AliAODVertex *aodvertex = fAOD->GetVertex(ivertex);
698 if(!aodvertex) continue;
699 if(aodvertex->GetType()==AliAODVertex::kKink) {
700 AliAODTrack *mother = (AliAODTrack *) aodvertex->GetParent();
701 if(!mother) continue;
702 Int_t idmother = mother->GetID();
703 listofmotherkink[numberofmotherkink] = idmother;
704 numberofmotherkink++;
705 }
706 }
707 }
4e01b68c 708
520a29a8 709 // Track loop
987053ce 710 for (Int_t iTracks = 0; iTracks < fVevent->GetNumberOfTracks(); iTracks++) {
711 AliVParticle* Vtrack = fVevent->GetTrack(iTracks);
712 if (!Vtrack) {
520a29a8 713 printf("ERROR: Could not receive track %d\n", iTracks);
714 continue;
715 }
987053ce 716 AliVTrack *track = dynamic_cast<AliVTrack*>(Vtrack);
717 AliESDtrack *etrack = dynamic_cast<AliESDtrack*>(Vtrack);
718 AliAODTrack *atrack = dynamic_cast<AliAODTrack*>(Vtrack);
bf697dda 719
987053ce 720 if(IsAODanalysis())
721 if(!atrack->TestFilterMask(AliAODTrack::kTrkGlobalNoDCA)) continue;
4e01b68c 722
723 if(track->Pt()<1) continue;
520a29a8 724
33369c14 725 // fTrackPtBefTrkCuts->Fill(track->Pt());
4e01b68c 726
520a29a8 727 // RecKine: ITSTPC cuts
728 if(!ProcessCutStep(AliHFEcuts::kStepRecKineITSTPC, track)) continue;
729
987053ce 730 // Reject kink mother
520a29a8 731 if(fRejectKinkMother) { // Quick and dirty fix to reject both kink mothers and daughters
987053ce 732 if(IsAODanalysis()){
733 Bool_t kinkmotherpass = kTRUE;
734 for(Int_t kinkmother = 0; kinkmother < numberofmotherkink; kinkmother++) {
735 if(track->GetID() == listofmotherkink[kinkmother]) {
736 kinkmotherpass = kFALSE;
737 continue;
738 }
739 }
740 if(!kinkmotherpass) continue;
741 }
742 else{
743 if(etrack->GetKinkIndex(0) != 0) continue;
744 }
745 }
520a29a8 746 // RecPrim
987053ce 747 // if(!ProcessCutStep(AliHFEcuts::kStepRecPrim, track)) continue; //gives warning for AOD, so not using
520a29a8 748
4e01b68c 749 // HFE cuts: TPC PID cleanup
750 if(!ProcessCutStep(AliHFEcuts::kStepHFEcutsTPC, track)) continue;
751
987053ce 752 // fTrackHFEcuts->Fill(track->Phi());
4e01b68c 753
520a29a8 754 // HFEcuts: ITS layers cuts
755 if(!ProcessCutStep(AliHFEcuts::kStepHFEcutsITS, track)) continue;
756
987053ce 757 // fTrackHFEcutsITS->Fill(track->Phi());
33369c14 758 //fTrackPtAftTrkCuts->Fill(track->Pt());
4e01b68c 759
520a29a8 760 Double_t fClsE = -999, p = -999, fEovP=-999, pt = -999, dEdx=-999, fTPCnSigma=0;
4e01b68c 761 pt = track->Pt();
762 p = track->P();
763 dEdx = track->GetTPCsignal();
764 fTPCnSigma = fPID->GetPIDResponse() ? fPID->GetPIDResponse()->NumberOfSigmasTPC(track, AliPID::kElectron) : 1000;
765
766 //TPC electron phi
bf697dda 767 // if(fTPCnSigma >= -2 && fTPCnSigma <= 2){
768 // fElecPhiTPC->Fill(track->Phi());
769 // }
4e01b68c 770
771 //eta cut (-0.7,0.7)
772 if(track->Eta() < -0.7 || track->Eta() > 0.7) continue;
773
774 // Track extrapolation to EMCAL
520a29a8 775 Int_t fClsId = track->GetEMCALcluster();
776 if(fClsId <0) continue;
987053ce 777 AliVCluster *cluster = fVevent->GetCaloCluster(fClsId);
778 if(!cluster->IsEMCAL()) continue;
520a29a8 779 if(TMath::Abs(cluster->GetTrackDx())>0.05 || TMath::Abs(cluster->GetTrackDz())>0.05) continue;
987053ce 780 // fdEdxBef->Fill(p,dEdx);
33369c14 781 //fTPCnsigma->Fill(p,fTPCnSigma);
520a29a8 782
987053ce 783 // fTrkpt->Fill(pt);
520a29a8 784 fClsE = cluster->E();
520a29a8 785 fEovP = fClsE/p;
bf697dda 786
33369c14 787 //--------THnsparse---------
bf697dda 788 //fvalueElectron[0] = pt;
789 //fvalueElectron[1] = fTPCnSigma;
790 //fvalueElectron[2] = fEovP;
791 //fvalueElectron[3] = cluster->GetM20();
792 //fvalueElectron[4] = cluster->GetM02();
793 //fvalueElectron[5] = cluster->GetDispersion();
33369c14 794
bf697dda 795 //fSparseElectron->Fill(fvalueElectron);
33369c14 796
797 //----------------
bf697dda 798 //EovP distribution for Had
799 if((fTPCnSigma > -10) && (fTPCnSigma < -3.5)) fEovPHadWoSS->Fill(pt,fEovP);
800 if(((fTPCnSigma > -10) && (fTPCnSigma < -3.5)) && ((cluster->GetM20()>0.03) && (cluster->GetM20()<0.3)) && ((cluster->GetM02()>0.03) && (cluster->GetM02()<0.5)) && ((cluster->GetDispersion()<1))) fEovPHadWSS->Fill(pt,fEovP);
801
0c884279 802 //Dphi distribution hadrons with shower shape cuts
94b12681 803 if(((fTPCnSigma > -10) && (fTPCnSigma < -3.5)) && ((cluster->GetM20()>0.03) && (cluster->GetM20()<0.3)) && ((cluster->GetM02()>0.03) && (cluster->GetM02()<0.5)) && ((cluster->GetDispersion()<1))&&(fEovP >= 0.8 && fEovP <=1.2)){
0841d73f 804 ElectronHadCorrel(iTracks, track, fHadronDphi, fHadronDphi1,fHadronDphi2,fHadronDphi3,fHadronDphi4);
0c884279 805 ElectronHadCorrelEtaBins(iTracks, track, fHadronDphiEta1, fHadronDphiEta11,fHadronDphiEta12,fHadronDphiEta13,fHadronDphiEta14,fHadronDphiEta2, fHadronDphiEta21,fHadronDphiEta22,fHadronDphiEta23,fHadronDphiEta24);
0841d73f 806 fPiPt->Fill(pt);
807 }
33369c14 808
0c884279 809 //Dphi distribution hadrons without shower shape cuts
94b12681 810 if((fTPCnSigma > -10) && (fTPCnSigma < -3.5)&&(fEovP >= 0.8 && fEovP <=1.2)){
33369c14 811 ElectronHadCorrel(iTracks, track, fHadronDphiNoSS, fHadronDphiNoSS1,fHadronDphiNoSS2,fHadronDphiNoSS3,fHadronDphiNoSS4);
0c884279 812 ElectronHadCorrelEtaBins(iTracks, track, fHadronDphiNoSSEta1, fHadronDphiNoSSEta11,fHadronDphiNoSSEta12,fHadronDphiNoSSEta13,fHadronDphiNoSSEta14,fHadronDphiNoSSEta2, fHadronDphiNoSSEta21,fHadronDphiNoSSEta22,fHadronDphiNoSSEta23,fHadronDphiNoSSEta24);
33369c14 813 fPiPtNoSS->Fill(pt);
814 }
815
bf697dda 816 //Electron id with TPC
817 if(fTPCnSigma < -2 || fTPCnSigma > 2) continue;
818 fEovPWoSS->Fill(pt,fEovP);
819 // fElecPhiTPCEovP->Fill(track->Phi());
3db00c72 820
bf697dda 821 //Electron id with shower shape
822 if(cluster->GetM20()<0.03 || cluster->GetM20()>0.3 || cluster->GetM02()<0.03 || cluster->GetM02()> 0.5 || cluster->GetDispersion()>1) continue;
823 fEovPWSS->Fill(pt,fEovP);
824
825 //Electron id with E/p
826 if(fEovP < 0.8 || fEovP >1.2) continue;
827
828 fTrkEovPAft->Fill(pt,fEovP);
829 fElecPhi->Fill(track->Phi());
830 fElecPhiPt->Fill(track->Phi(),track->Pt());
831 if (track->Eta() >0 && track->Eta() <0.7) fElecPhiTPChalf->Fill(track->Phi());
832
833 HadronInfo(iTracks);
834
835 Bool_t fFlagPhotonicElec = kFALSE;
836 // select photonic electron
837 SelectPhotonicElectron(iTracks,track,fFlagPhotonicElec);
838
839 //Inclusive electron-hadron correlation
840 ElectronHadCorrel(iTracks, track, fInclusiveElecDphi, fInclusiveElecDphi1,fInclusiveElecDphi2,fInclusiveElecDphi3,fInclusiveElecDphi4);
841 fInclusiveElecPt->Fill(pt);
842 // MixedEvent(track,fMixedIncElecDphi, fMixedIncElecDphi1,fMixedIncElecDphi2);
843
844 //Dphi in Eta bins
845 ElectronHadCorrelEtaBins(iTracks, track, fInclusiveElecDphiEta1, fInclusiveElecDphiEta11,fInclusiveElecDphiEta12,fInclusiveElecDphiEta13,fInclusiveElecDphiEta14,fInclusiveElecDphiEta2, fInclusiveElecDphiEta21,fInclusiveElecDphiEta22,fInclusiveElecDphiEta23,fInclusiveElecDphiEta24);
846
847 //Inclusive electron-hadron correlation far eta side
848 ElectronHadCorrelEtaFarSide(iTracks, track, fInclusiveElecDphiEtaFS, fInclusiveElecDphiEtaFS1,fInclusiveElecDphiEtaFS2,fInclusiveElecDphiEtaFS3,fInclusiveElecDphiEtaFS4);
849 // MixedEvent(track,fMixedIncElecDphi, fMixedIncElecDphi1,fMixedIncElecDphi2);
850
851 // photonic electron
852 if(fFlagPhotonicElec){
853 //Electron hadron correlation
854 ElectronHadCorrel(iTracks, track, fPhotElecDphi,fPhotElecDphi1,fPhotElecDphi2,fPhotElecDphi3,fPhotElecDphi4);
855 fPhotoElecPt->Fill(pt);
856 // MixedEvent(track,fMixedPhotElecDphi, fMixedPhotElecDphi1,fMixedPhotElecDphi2);
857
858 //Dphi in Eta bins
859 ElectronHadCorrelEtaBins(iTracks, track, fPhotElecDphiEta1,fPhotElecDphiEta11,fPhotElecDphiEta12,fPhotElecDphiEta13,fPhotElecDphiEta14,fPhotElecDphiEta2,fPhotElecDphiEta21,fPhotElecDphiEta22,fPhotElecDphiEta23,fPhotElecDphiEta24);
860 }
861
862 // Semi inclusive electron
863 if(!fFlagPhotonicElec){
864 //Electron hadron correlation
865 ElectronHadCorrel(iTracks, track, fSemiIncElecDphi, fSemiIncElecDphi1,fSemiIncElecDphi2,fSemiIncElecDphi3,fSemiIncElecDphi4);
866 fSemiInclElecPt->Fill(pt);
867 // MixedEvent(track,fMixedSemiIncElecDphi,fMixedSemiIncElecDphi1,fMixedSemiIncElecDphi2);
868
869 //Dphi in Eta bins
870 ElectronHadCorrelEtaBins(iTracks, track, fSemiIncElecDphiEta1, fSemiIncElecDphiEta11,fSemiIncElecDphiEta12,fSemiIncElecDphiEta13,fSemiIncElecDphiEta14,fSemiIncElecDphiEta2, fSemiIncElecDphiEta21,fSemiIncElecDphiEta22,fSemiIncElecDphiEta23,fSemiIncElecDphiEta24);
520a29a8 871 }
872 }
bf697dda 873 /* //EMC clusters
874 Int_t clsNo = fVevent->GetNumberOfCaloClusters();
875 fNClusv1->Fill(clsNo);
876 for(Int_t iclus=0; iclus<clsNo ; iclus++){
877 AliVCluster* clus = fVevent->GetCaloCluster(iclus);
878 if(!clus->IsEMCAL()) continue;
879 fNCellv1->Fill(clus->GetNCells());
880 fClsEv1->Fill(clus->E());
881 }
882 */
883 /*
884 TObjArray* tracksClone = CloneAndReduceTrackList();
885 tracksClone->SetOwner();
886 pool->UpdatePool(tracksClone);
887 */
987053ce 888 delete listofmotherkink;
520a29a8 889 PostData(1, fOutputList);
57189f04 890}
891//_________________________________________
892void AliAnalysisTaskElecHadronCorrel::UserCreateOutputObjects()
893{
894 //Create histograms
987053ce 895
896 AliDebug(3, "Creating Output Objects");
897 // Automatic determination of the analysis mode
898 AliVEventHandler *inputHandler = dynamic_cast<AliVEventHandler *>(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
899 if(!TString(inputHandler->IsA()->GetName()).CompareTo("AliAODInputHandler")){
900 SetAODAnalysis();
901 } else {
902 SetESDAnalysis();
903 }
904 printf("Analysis Mode: %s Analysis\n", IsAODanalysis() ? "AOD" : "ESD");
520a29a8 905
57189f04 906 //--------Initialize PID
907 fPID->SetHasMCData(kFALSE);
908 if(!fPID->GetNumberOfPIDdetectors())
520a29a8 909 {
910 fPID->AddDetector("TPC", 0);
911 fPID->AddDetector("EMCAL", 1);
912 }
913
57189f04 914 fPID->SortDetectors();
915 fPIDqa = new AliHFEpidQAmanager();
916 fPIDqa->Initialize(fPID);
520a29a8 917
57189f04 918 //--------Initialize correction Framework and Cuts
919 fCFM = new AliCFManager;
920 const Int_t kNcutSteps = AliHFEcuts::kNcutStepsMCTrack + AliHFEcuts::kNcutStepsRecTrack + AliHFEcuts::kNcutStepsDETrack;
921 fCFM->SetNStepParticle(kNcutSteps);
922 for(Int_t istep = 0; istep < kNcutSteps; istep++)
923 fCFM->SetParticleCutsList(istep, NULL);
520a29a8 924
57189f04 925 if(!fCuts){
926 AliWarning("Cuts not available. Default cuts will be used");
927 fCuts = new AliHFEcuts;
928 fCuts->CreateStandardCuts();
929 }
987053ce 930
931 if(IsAODanalysis()) fCuts->SetAOD();
57189f04 932 fCuts->Initialize(fCFM);
987053ce 933 /*
4e01b68c 934 //Mixed event initialising
935 Int_t trackDepth = 2000;
936 Int_t poolsize = 1000;
937
938 Int_t nCentralityBins = 5;
939 Double_t CentralityBins[] = {0,2,4,6,8,10};
520a29a8 940
487ae960 941 Int_t nZvtxBins = 4;
942 Double_t vertexBins[] = {-10,-5,0,5,10};
4e01b68c 943
944 fPoolMgr = new AliEventPoolManager(poolsize, trackDepth, nCentralityBins, (Double_t*) CentralityBins, nZvtxBins, (Double_t*) vertexBins);
bf697dda 945 */
57189f04 946 //---------Output Tlist
947 fOutputList = new TList();
948 fOutputList->SetOwner();
949 fOutputList->Add(fPIDqa->MakeList("PIDQA"));
520a29a8 950
57189f04 951 fNoEvents = new TH1F("fNoEvents","",1,0,1) ;
952 fOutputList->Add(fNoEvents);
520a29a8 953
954 fcentrality = new TH1F("fcentrality","centrality", 100,0,100);
955 fOutputList->Add(fcentrality);
987053ce 956
bf697dda 957 // fTrkpt = new TH1F("fTrkpt","track pt",1000,0,50);
958 // fOutputList->Add(fTrkpt);
959
960 // fTrackPtBefTrkCuts = new TH1F("fTrackPtBefTrkCuts","track pt before track cuts",1000,0,50);
961 // fOutputList->Add(fTrackPtBefTrkCuts);
520a29a8 962
bf697dda 963 // fTrackPtAftTrkCuts = new TH1F("fTrackPtAftTrkCuts","track pt after track cuts",1000,0,50);
964 // fOutputList->Add(fTrackPtAftTrkCuts);
520a29a8 965
bf697dda 966 // fTPCnsigma = new TH2F("fTPCnsigma", "TPC - n sigma",1000,0,50,200,-10,10);
967 // fOutputList->Add(fTPCnsigma);
987053ce 968
94b12681 969 fTrkEovPAft = new TH2F("fTrkEovPAft","track E/p after HFE pid",1000,0,50,100,0,2);
970 fOutputList->Add(fTrkEovPAft);
520a29a8 971
bf697dda 972 // fTrkEovPBefHad = new TH2F("fTrkEovPBefHad","track E/p for TPCnsig < 3.5",1000,0,50,100,0,2);
973 // fOutputList->Add(fTrkEovPBefHad);
520a29a8 974
bf697dda 975 // fdEdxBef = new TH2F("fdEdxBef","track dEdx vs p before HFE pid",1000,0,50,150,0,150);
976 // fOutputList->Add(fdEdxBef);
520a29a8 977
520a29a8 978 fElecPhi = new TH1F("fElecPhi", "Electron phi",1000,0,6.28);
979 fOutputList->Add(fElecPhi);
980
3c56855b 981 fElecPhiPt = new TH2F("fElecPhiPt", "Electron phi vs pt; Electron phi; pt (GeV/c)",1000,0,6.28,1000,0,100);
982 fOutputList->Add(fElecPhiPt);
983
984 fElecPhiTPChalf = new TH1F("fElecPhiTPChalf", "Electron phi for 0<eta<0.7",1000,0,6.28);
985 fOutputList->Add(fElecPhiTPChalf);
986
bf697dda 987 /* fElecPhiTPC = new TH1F("fElecPhiTPC", "Electron phi after TPC cut",1000,0,6.28);
988 fOutputList->Add(fElecPhiTPC);
4e01b68c 989
bf697dda 990 fElecPhiTPCEovP = new TH1F("fElecPhiTPCEovP", "Electron phi after TPC and E/p cut",1000,0,6.28);
991 fOutputList->Add(fElecPhiTPCEovP);
992 */
520a29a8 993 fHadronPhi = new TH1F("fHadronPhi", "Hadron phi",1000,0,6.28);
994 fOutputList->Add(fHadronPhi);
995
3c56855b 996 fHadronPhiTPChalf = new TH1F("fHadronPhiTPChalf", "Hadron phi for 0<eta<0.9",1000,0,6.28);
997 fOutputList->Add(fHadronPhiTPChalf);
998
999 fHadronPhiPt = new TH2F("fHadronPhiPt", "Hadron phi vs pt; hadron phi; pt (GeV/c)",1000,0,6.28,1000,0,100);
1000 fOutputList->Add(fHadronPhiPt);
1001
bf697dda 1002 /*
1003 fTrackHFEcuts = new TH1F("fTrackHFEcuts","Track phi for HFE cuts",1000,0,6.28);
1004 fOutputList->Add(fTrackHFEcuts);
4e01b68c 1005
bf697dda 1006 fTrakPhiSPD1 = new TH1F("fTrakPhiSPD1","Track phi for hit in SPD layer 1",1000,0,6.28);
1007 fOutputList->Add(fTrakPhiSPD1);
4e01b68c 1008
bf697dda 1009 fTrakPhiSPD2 = new TH1F("fTrakPhiSPD2","Track phi for hit in SPD layer 2",1000,0,6.28);
1010 fOutputList->Add(fTrakPhiSPD2);
4e01b68c 1011
bf697dda 1012 fTrakPhiSPDOr = new TH1F("fTrakPhiSPDOr","Track phi for hit in any SPD layer",1000,0,6.28);
1013 fOutputList->Add(fTrakPhiSPDOr);
4e01b68c 1014
bf697dda 1015 fTrakPhiSPDAnd = new TH1F("fTrakPhiSPDAnd","Track phi for hit in both SPD layer",1000,0,6.28);
1016 fOutputList->Add(fTrakPhiSPDAnd);
4e01b68c 1017
bf697dda 1018 fTrackHFEcutsITS = new TH1F("fTrackHFEcutsITS","Track phi for HFE cuts + ITS HFE cuts",1000,0,6.28);
1019 fOutputList->Add(fTrackHFEcutsITS);
1020 */
0523ddd5 1021 fSemiIncElecDphi = new TH2F("fSemiIncElecDphi", "Semi Inclusive elec-had Dphi correlation",200,0,20,64,-1.57,4.71);
57189f04 1022 fOutputList->Add(fSemiIncElecDphi);
520a29a8 1023
0523ddd5 1024 fSemiIncElecDphi1 = new TH2F("fSemiIncElecDphi1", "Semi Inclusive elec-had Dphi correlation for 1<pt^{asso}<3",200,0,20,64,-1.57,4.71);
487ae960 1025 fOutputList->Add(fSemiIncElecDphi1);
1026
0523ddd5 1027 fSemiIncElecDphi2 = new TH2F("fSemiIncElecDphi2", "Semi Inclusive elec-had Dphi correlation for 3<pt^{asso}<5",200,0,20,64,-1.57,4.71);
487ae960 1028 fOutputList->Add(fSemiIncElecDphi2);
1029
0523ddd5 1030 fSemiIncElecDphi3 = new TH2F("fSemiIncElecDphi3", "Semi Inclusive elec-had Dphi correlation for 5<pt^{asso}<7",200,0,20,64,-1.57,4.71);
487ae960 1031 fOutputList->Add(fSemiIncElecDphi3);
1032
0523ddd5 1033 fSemiIncElecDphi4 = new TH2F("fSemiIncElecDphi4", "Semi Inclusive elec-had Dphi correlation for 7<pt^{asso}<9",200,0,20,64,-1.57,4.71);
487ae960 1034 fOutputList->Add(fSemiIncElecDphi4);
1035
0523ddd5 1036 fPhotElecDphi = new TH2F("fPhotElecDphi", "Photon elec-had Dphi correlation",200,0,20,64,-1.57,4.71);
57189f04 1037 fOutputList->Add(fPhotElecDphi);
520a29a8 1038
0523ddd5 1039 fPhotElecDphi1 = new TH2F("fPhotElecDphi1", "Photon elec-had Dphi correlation for 1<pt^{asso}<3",200,0,20,64,-1.57,4.71);
487ae960 1040 fOutputList->Add(fPhotElecDphi1);
1041
0523ddd5 1042 fPhotElecDphi2 = new TH2F("fPhotElecDphi2", "Photon elec-had Dphi correlation for 3<pt^{asso}<5",200,0,20,64,-1.57,4.71);
487ae960 1043 fOutputList->Add(fPhotElecDphi2);
1044
0523ddd5 1045 fPhotElecDphi3 = new TH2F("fPhotElecDphi3", "Photon elec-had Dphi correlation for 5<pt^{asso}<7",200,0,20,64,-1.57,4.71);
487ae960 1046 fOutputList->Add(fPhotElecDphi3);
1047
0523ddd5 1048 fPhotElecDphi4 = new TH2F("fPhotElecDphi4", "Photon elec-had Dphi correlation for 7<pt^{asso}<9",200,0,20,64,-1.57,4.71);
487ae960 1049 fOutputList->Add(fPhotElecDphi4);
1050
0523ddd5 1051 fInclusiveElecDphi = new TH2F("fInclusiveElecDphi", "Inclusive elec-had Dphi correlation",200,0,20,64,-1.57,4.71);
57189f04 1052 fOutputList->Add(fInclusiveElecDphi);
520a29a8 1053
0523ddd5 1054 fInclusiveElecDphi1 = new TH2F("fInclusiveElecDphi1", "Inclusive elec-had Dphi correlation for 1<pt^{asso}<3",200,0,20,64,-1.57,4.71);
487ae960 1055 fOutputList->Add(fInclusiveElecDphi1);
1056
0523ddd5 1057 fInclusiveElecDphi2 = new TH2F("fInclusiveElecDphi2", "Inclusive elec-had Dphi correlation for 3<pt^{asso}<5",200,0,20,64,-1.57,4.71);
487ae960 1058 fOutputList->Add(fInclusiveElecDphi2);
1059
0523ddd5 1060 fInclusiveElecDphi3 = new TH2F("fInclusiveElecDphi3", "Inclusive elec-had Dphi correlation for 5<pt^{asso}<7",200,0,20,64,-1.57,4.71);
487ae960 1061 fOutputList->Add(fInclusiveElecDphi3);
1062
0523ddd5 1063 fInclusiveElecDphi4 = new TH2F("fInclusiveElecDphi4", "Inclusive elec-had Dphi correlation for 7<pt^{asso}<9",200,0,20,64,-1.57,4.71);
487ae960 1064 fOutputList->Add(fInclusiveElecDphi4);
1065
33369c14 1066 fInclusiveElecDphiEtaFS = new TH2F("fInclusiveElecDphiEtaFS", "Inclusive elec-had Dphi correlation (hadron 1<eta<1.6)",200,0,20,64,-1.57,4.71);
1067 fOutputList->Add(fInclusiveElecDphiEtaFS);
1068
1069 fInclusiveElecDphiEtaFS1 = new TH2F("fInclusiveElecDphiEtaFS1", "Inclusive elec-had Dphi correlation for 1<pt^{asso}<3 (hadron 1<eta<1.6)",200,0,20,64,-1.57,4.71);
1070 fOutputList->Add(fInclusiveElecDphiEtaFS1);
1071
1072 fInclusiveElecDphiEtaFS2 = new TH2F("fInclusiveElecDphiEtaFS2", "Inclusive elec-had Dphi correlation for 3<pt^{asso}<5 (hadron 1<eta<1.6)",200,0,20,64,-1.57,4.71);
1073 fOutputList->Add(fInclusiveElecDphiEtaFS2);
1074
1075 fInclusiveElecDphiEtaFS3 = new TH2F("fInclusiveElecDphiEtaFS3", "Inclusive elec-had Dphi correlation for 5<pt^{asso}<7 (hadron 1<eta<1.6)",200,0,20,64,-1.57,4.71);
1076 fOutputList->Add(fInclusiveElecDphiEtaFS3);
1077
1078 fInclusiveElecDphiEtaFS4 = new TH2F("fInclusiveElecDphiEtaFS4", "Inclusive elec-had Dphi correlation for 7<pt^{asso}<9 (hadron 1<eta<1.6)",200,0,20,64,-1.57,4.71);
1079 fOutputList->Add(fInclusiveElecDphiEtaFS4);
1080
0523ddd5 1081 fDphiULSMassLow = new TH2F("fDphiULSMassLow", "e-h Dphi ULS, mass<cut",200,0,20,64,-1.57,4.71);
57189f04 1082 fOutputList->Add(fDphiULSMassLow);
520a29a8 1083
0523ddd5 1084 fDphiULSMassLow1 = new TH2F("fDphiULSMassLow1", "e-h Dphi ULS, mass<cut for 1<pt^{asso}<3",200,0,20,64,-1.57,4.71);
487ae960 1085 fOutputList->Add(fDphiULSMassLow1);
1086
0523ddd5 1087 fDphiULSMassLow2 = new TH2F("fDphiULSMassLow2", "e-h Dphi ULS, mass<cut for 3<pt^{asso}<5",200,0,20,64,-1.57,4.71);
487ae960 1088 fOutputList->Add(fDphiULSMassLow2);
1089
0523ddd5 1090 fDphiULSMassLow3 = new TH2F("fDphiULSMassLow3", "e-h Dphi ULS, mass<cut for 5<pt^{asso}<7",200,0,20,64,-1.57,4.71);
487ae960 1091 fOutputList->Add(fDphiULSMassLow3);
1092
0523ddd5 1093 fDphiULSMassLow4 = new TH2F("fDphiULSMassLow4", "e-h Dphi ULS, mass<cut for 7<pt^{asso}<9",200,0,20,64,-1.57,4.71);
487ae960 1094 fOutputList->Add(fDphiULSMassLow4);
1095
0523ddd5 1096 fDphiLSMassLow = new TH2F("fDphiLSMassLow", "e-h Dphi LS, mass<cut",200,0,20,64,-1.57,4.71);
57189f04 1097 fOutputList->Add(fDphiLSMassLow);
520a29a8 1098
0523ddd5 1099 fDphiLSMassLow1 = new TH2F("fDphiLSMassLow1", "e-h Dphi LS, mass<cut for 1<pt^{asso}<3",200,0,20,64,-1.57,4.71);
487ae960 1100 fOutputList->Add(fDphiLSMassLow1);
1101
0523ddd5 1102 fDphiLSMassLow2 = new TH2F("fDphiLSMassLow2", "e-h Dphi LS, mass<cut for 3<pt^{asso}<5",200,0,20,64,-1.57,4.71);
487ae960 1103 fOutputList->Add(fDphiLSMassLow2);
1104
0523ddd5 1105 fDphiLSMassLow3 = new TH2F("fDphiLSMassLow3", "e-h Dphi LS, mass<cut for 5<pt^{asso}<7",200,0,20,64,-1.57,4.71);
487ae960 1106 fOutputList->Add(fDphiLSMassLow3);
1107
0523ddd5 1108 fDphiLSMassLow4 = new TH2F("fDphiLSMassLow4", "e-h Dphi LS, mass<cut for 7<pt^{asso}<9",200,0,20,64,-1.57,4.71);
487ae960 1109 fOutputList->Add(fDphiLSMassLow4);
1110
0523ddd5 1111 fDphiULSMassLowNoPartner = new TH2F("fDphiULSMassLowNoPartner", "e-h Dphi ULS with no partner, mass<mass cut,",200,0,20,64,-1.57,4.71);
520a29a8 1112 fOutputList->Add(fDphiULSMassLowNoPartner);
1113
0523ddd5 1114 fDphiULSMassLowNoPartner1 = new TH2F("fDphiULSMassLowNoPartner1", "e-h Dphi ULS with no partner, mass<mass cut for 1<pt^{asso}<3,",200,0,20,64,-1.57,4.71);
487ae960 1115 fOutputList->Add(fDphiULSMassLowNoPartner1);
1116
0523ddd5 1117 fDphiULSMassLowNoPartner2 = new TH2F("fDphiULSMassLowNoPartner2", "e-h Dphi ULS with no partner, mass<mass cut for 3<pt^{asso}<5,",200,0,20,64,-1.57,4.71);
487ae960 1118 fOutputList->Add(fDphiULSMassLowNoPartner2);
1119
0523ddd5 1120 fDphiULSMassLowNoPartner3 = new TH2F("fDphiULSMassLowNoPartner3", "e-h Dphi ULS with no partner, mass<mass cut for 5<pt^{asso}<7,",200,0,20,64,-1.57,4.71);
487ae960 1121 fOutputList->Add(fDphiULSMassLowNoPartner3);
1122
0523ddd5 1123 fDphiULSMassLowNoPartner4 = new TH2F("fDphiULSMassLowNoPartner4", "e-h Dphi ULS with no partner, mass<mass cut for 7<pt^{asso}<9,",200,0,20,64,-1.57,4.71);
487ae960 1124 fOutputList->Add(fDphiULSMassLowNoPartner4);
1125
0523ddd5 1126 fDphiLSMassLowNoPartner = new TH2F("fDphiLSMassLowNoPartner", "e-h Dphi LS with no partner, mass<mass cut",200,0,20,64,-1.57,4.71);
520a29a8 1127 fOutputList->Add(fDphiLSMassLowNoPartner);
1128
0523ddd5 1129 fDphiLSMassLowNoPartner1 = new TH2F("fDphiLSMassLowNoPartner1", "e-h Dphi LS with no partner, mass<mass cut for 1<pt^{asso}<3,",200,0,20,64,-1.57,4.71);
487ae960 1130 fOutputList->Add(fDphiLSMassLowNoPartner1);
1131
0523ddd5 1132 fDphiLSMassLowNoPartner2 = new TH2F("fDphiLSMassLowNoPartner2", "e-h Dphi LS with no partner, mass<mass cut for 3<pt^{asso}<5,",200,0,20,64,-1.57,4.71);
487ae960 1133 fOutputList->Add(fDphiLSMassLowNoPartner2);
1134
0523ddd5 1135 fDphiLSMassLowNoPartner3 = new TH2F("fDphiLSMassLowNoPartner3", "e-h Dphi LS with no partner, mass<mass cut for 5<pt^{asso}<7,",200,0,20,64,-1.57,4.71);
487ae960 1136 fOutputList->Add(fDphiLSMassLowNoPartner3);
1137
0523ddd5 1138 fDphiLSMassLowNoPartner4 = new TH2F("fDphiLSMassLowNoPartner4", "e-h Dphi LS with no partner, mass<mass cut for 7<pt^{asso}<9,",200,0,20,64,-1.57,4.71);
487ae960 1139 fOutputList->Add(fDphiLSMassLowNoPartner4);
1140
57189f04 1141 fPhotoElecPt = new TH1F("fPhotoElecPt", "photonic electron pt",1000,0,100);
1142 fOutputList->Add(fPhotoElecPt);
520a29a8 1143
57189f04 1144 fSemiInclElecPt = new TH1F("fSemiInclElecPt", "Semi-inclusive electron pt",1000,0,100);
1145 fOutputList->Add(fSemiInclElecPt);
520a29a8 1146
1147 fInclusiveElecPt = new TH1F("fInclElecPt", "Inclusive electron pt",1000,0,100);
1148 fOutputList->Add(fInclusiveElecPt);
1149
1150 fULSElecPt = new TH1F("fULSElecPt", "ULS electron pt",1000,0,100);
1151 fOutputList->Add(fULSElecPt);
1152
1153 fLSElecPt = new TH1F("fLSElecPt", "LS electron pt",1000,0,100);
1154 fOutputList->Add(fLSElecPt);
987053ce 1155
bf697dda 1156 fSemiIncElecDphiEta1 = new TH2F("fSemiIncElecDphiEta1", "Semi Inclusive elec-had Dphi correlation for |Eta <1|",200,0,20,64,-1.57,4.71);
1157 fOutputList->Add(fSemiIncElecDphiEta1);
1158 fSemiIncElecDphiEta11 = new TH2F("fSemiIncElecDphiEta11", "Semi Inclusive elec-had Dphi correlation for 1<pt^{asso}<3i for |Eta <1|",200,0,20,64,-1.57,4.71);
1159 fOutputList->Add(fSemiIncElecDphiEta11);
1160 fSemiIncElecDphiEta12 = new TH2F("fSemiIncElecDphiEta12", "Semi Inclusive elec-had Dphi correlation for 3<pt^{asso}<5 for |Eta <1|",200,0,20,64,-1.57,4.71);
1161 fOutputList->Add(fSemiIncElecDphiEta12);
1162 fSemiIncElecDphiEta13 = new TH2F("fSemiIncElecDphiEta13", "Semi Inclusive elec-had Dphi correlation for 5<pt^{asso}<7 for |Eta <1|",200,0,20,64,-1.57,4.71);
1163 fOutputList->Add(fSemiIncElecDphiEta13);
1164 fSemiIncElecDphiEta14 = new TH2F("fSemiIncElecDphiEta14", "Semi Inclusive elec-had Dphi correlation for 7<pt^{asso}<9 for |Eta <1|",200,0,20,64,-1.57,4.71);
1165 fOutputList->Add(fSemiIncElecDphiEta14);
1166 fPhotElecDphiEta1 = new TH2F("fPhotElecDphiEta1", "Photon elec-had Dphi correlation for |Eta <1|",200,0,20,64,-1.57,4.71);
1167 fOutputList->Add(fPhotElecDphiEta1);
1168 fPhotElecDphiEta11 = new TH2F("fPhotElecDphiEta11", "Photon elec-had Dphi correlation for 1<pt^{asso}<3 for |Eta <1|",200,0,20,64,-1.57,4.71);
1169 fOutputList->Add(fPhotElecDphiEta11);
1170 fPhotElecDphiEta12 = new TH2F("fPhotElecDphiEta12", "Photon elec-had Dphi correlation for 3<pt^{asso}<5 for |Eta <1|",200,0,20,64,-1.57,4.71);
1171 fOutputList->Add(fPhotElecDphiEta12);
1172 fPhotElecDphiEta13 = new TH2F("fPhotElecDphiEta13", "Photon elec-had Dphi correlation for 5<pt^{asso}<7 for |Eta <1|",200,0,20,64,-1.57,4.71);
1173 fOutputList->Add(fPhotElecDphiEta13);
1174 fPhotElecDphiEta14 = new TH2F("fPhotElecDphiEta14", "Photon elec-had Dphi correlation for 7<pt^{asso}<9 for |Eta <1|",200,0,20,64,-1.57,4.71);
1175 fOutputList->Add(fPhotElecDphiEta14);
1176 fInclusiveElecDphiEta1 = new TH2F("fInclusiveElecDphiEta1", "Inclusive elec-had Dphi correlation for |Eta <1|",200,0,20,64,-1.57,4.71);
1177 fOutputList->Add(fInclusiveElecDphiEta1);
1178 fInclusiveElecDphiEta11 = new TH2F("fInclusiveElecDphiEta11", "Inclusive elec-had Dphi correlation for 1<pt^{asso}<3 for |Eta <1|",200,0,20,64,-1.57,4.71);
1179 fOutputList->Add(fInclusiveElecDphiEta11);
1180 fInclusiveElecDphiEta12 = new TH2F("fInclusiveElecDphiEta12", "Inclusive elec-had Dphi correlation for 3<pt^{asso}<5 for |Eta <1|",200,0,20,64,-1.57,4.71);
1181 fOutputList->Add(fInclusiveElecDphiEta12);
1182 fInclusiveElecDphiEta13 = new TH2F("fInclusiveElecDphiEta13", "Inclusive elec-had Dphi correlation for 5<pt^{asso}<7 for |Eta <1|",200,0,20,64,-1.57,4.71);
1183 fOutputList->Add(fInclusiveElecDphiEta13);
1184 fInclusiveElecDphiEta14 = new TH2F("fInclusiveElecDphiEta14", "Inclusive elec-had Dphi correlation for 7<pt^{asso}<9 for |Eta <1|",200,0,20,64,-1.57,4.71);
1185 fOutputList->Add(fInclusiveElecDphiEta14);
1186 fDphiULSMassLowEta1 = new TH2F("fDphiULSMassLowEta1", "e-h Dphi ULS, mass<cut for |Eta <1|",200,0,20,64,-1.57,4.71);
1187 fOutputList->Add(fDphiULSMassLowEta1);
1188 fDphiULSMassLowEta11 = new TH2F("fDphiULSMassLowEta11", "e-h Dphi ULS, mass<cut for 1<pt^{asso}<3 for |Eta <1|",200,0,20,64,-1.57,4.71);
1189 fOutputList->Add(fDphiULSMassLowEta11);
1190 fDphiULSMassLowEta12 = new TH2F("fDphiULSMassLowEta12", "e-h Dphi ULS, mass<cut for 3<pt^{asso}<5 for |Eta <1|",200,0,20,64,-1.57,4.71);
1191 fOutputList->Add(fDphiULSMassLowEta12);
1192 fDphiULSMassLowEta13 = new TH2F("fDphiULSMassLowEta13", "e-h Dphi ULS, mass<cut for 5<pt^{asso}<7 for |Eta <1|",200,0,20,64,-1.57,4.71);
1193 fOutputList->Add(fDphiULSMassLowEta13);
1194 fDphiULSMassLowEta14 = new TH2F("fDphiULSMassLowEta14", "e-h Dphi ULS, mass<cut for 7<pt^{asso}<9 for |Eta <1|",200,0,20,64,-1.57,4.71);
1195 fOutputList->Add(fDphiULSMassLowEta14);
1196 fDphiLSMassLowEta1 = new TH2F("fDphiLSMassLowEta1", "e-h Dphi LS, mass<cut for |Eta <1|",200,0,20,64,-1.57,4.71);
1197 fOutputList->Add(fDphiLSMassLowEta1);
1198 fDphiLSMassLowEta11 = new TH2F("fDphiLSMassLowEta11", "e-h Dphi LS, mass<cut for 1<pt^{asso}<3 for |Eta <1|",200,0,20,64,-1.57,4.71);
1199 fOutputList->Add(fDphiLSMassLowEta11);
1200 fDphiLSMassLowEta12 = new TH2F("fDphiLSMassLowEta12", "e-h Dphi LS, mass<cut for 3<pt^{asso}<5 for |Eta <1|",200,0,20,64,-1.57,4.71);
1201 fOutputList->Add(fDphiLSMassLowEta12);
1202 fDphiLSMassLowEta13 = new TH2F("fDphiLSMassLowEta13", "e-h Dphi LS, mass<cut for 5<pt^{asso}<7 for |Eta <1|",200,0,20,64,-1.57,4.71);
1203 fOutputList->Add(fDphiLSMassLowEta13);
1204 fDphiLSMassLowEta14 = new TH2F("fDphiLSMassLowEta14", "e-h Dphi LS, mass<cut for 7<pt^{asso}<9 for |Eta <1|",200,0,20,64,-1.57,4.71);
1205 fOutputList->Add(fDphiLSMassLowEta14);
1206 fDphiULSMassLowNoPartnerEta1 = new TH2F("fDphiULSMassLowNoPartnerEta1", "e-h Dphi ULS with no partner, mass<mass cut, for |Eta <1|",200,0,20,64,-1.57,4.71);
1207 fOutputList->Add(fDphiULSMassLowNoPartnerEta1);
1208 fDphiULSMassLowNoPartnerEta11 = new TH2F("fDphiULSMassLowNoPartnerEta11", "e-h Dphi ULS with no partner, mass<mass cut for 1<pt^{asso}<3, for |Eta <1|",200,0,20,64,-1.57,4.71);
1209 fOutputList->Add(fDphiULSMassLowNoPartnerEta11);
1210 fDphiULSMassLowNoPartnerEta12 = new TH2F("fDphiULSMassLowNoPartnerEta12", "e-h Dphi ULS with no partner, mass<mass cut for 3<pt^{asso}<5, for |Eta <1|",200,0,20,64,-1.57,4.71);
1211 fOutputList->Add(fDphiULSMassLowNoPartnerEta12);
1212 fDphiULSMassLowNoPartnerEta13 = new TH2F("fDphiULSMassLowNoPartnerEta13", "e-h Dphi ULS with no partner, mass<mass cut for 5<pt^{asso}<7, for |Eta <1|",200,0,20,64,-1.57,4.71);
1213 fOutputList->Add(fDphiULSMassLowNoPartnerEta13);
1214 fDphiULSMassLowNoPartnerEta14 = new TH2F("fDphiULSMassLowNoPartnerEta14", "e-h Dphi ULS with no partner, mass<mass cut for 7<pt^{asso}<9, for |Eta <1|",200,0,20,64,-1.57,4.71);
1215 fOutputList->Add(fDphiULSMassLowNoPartnerEta14);
1216 fDphiLSMassLowNoPartnerEta1 = new TH2F("fDphiLSMassLowNoPartnerEta1", "e-h Dphi LS with no partner, mass<mass cut, for |Eta <1|",200,0,20,64,-1.57,4.71);
1217 fOutputList->Add(fDphiLSMassLowNoPartnerEta1);
1218 fDphiLSMassLowNoPartnerEta11 = new TH2F("fDphiLSMassLowNoPartnerEta11", "e-h Dphi LS with no partner, mass<mass cut for 1<pt^{asso}<3, for |Eta <1|",200,0,20,64,-1.57,4.71);
1219 fOutputList->Add(fDphiLSMassLowNoPartnerEta11);
1220 fDphiLSMassLowNoPartnerEta12 = new TH2F("fDphiLSMassLowNoPartnerEta12", "e-h Dphi LS with no partner, mass<mass cut for 3<pt^{asso}<5, for |Eta <1|",200,0,20,64,-1.57,4.71);
1221 fOutputList->Add(fDphiLSMassLowNoPartnerEta12);
1222 fDphiLSMassLowNoPartnerEta13 = new TH2F("fDphiLSMassLowNoPartnerEta13", "e-h Dphi LS with no partner, mass<mass cut for 5<pt^{asso}<7, for |Eta <1|",200,0,20,64,-1.57,4.71);
1223 fOutputList->Add(fDphiLSMassLowNoPartnerEta13);
1224 fDphiLSMassLowNoPartnerEta14 = new TH2F("fDphiLSMassLowNoPartnerEta14", "e-h Dphi LS with no partner, mass<mass cut for 7<pt^{asso}<9, for |Eta <1|",200,0,20,64,-1.57,4.71);
1225 fOutputList->Add(fDphiLSMassLowNoPartnerEta14);
1226
1227 fSemiIncElecDphiEta2 = new TH2F("fSemiIncElecDphiEta2", "Semi Inclusive elec-had Dphi correlation for |Eta >1|",200,0,20,64,-1.57,4.71);
1228 fOutputList->Add(fSemiIncElecDphiEta2);
1229 fSemiIncElecDphiEta21 = new TH2F("fSemiIncElecDphiEta21", "Semi Inclusive elec-had Dphi correlation for 1<pt^{asso}<3i for |Eta >1|",200,0,20,64,-1.57,4.71);
1230 fOutputList->Add(fSemiIncElecDphiEta21);
1231 fSemiIncElecDphiEta22 = new TH2F("fSemiIncElecDphiEta22", "Semi Inclusive elec-had Dphi correlation for 3<pt^{asso}<5 for |Eta >1|",200,0,20,64,-1.57,4.71);
1232 fOutputList->Add(fSemiIncElecDphiEta22);
1233 fSemiIncElecDphiEta23 = new TH2F("fSemiIncElecDphiEta23", "Semi Inclusive elec-had Dphi correlation for 5<pt^{asso}<7 for |Eta >1|",200,0,20,64,-1.57,4.71);
1234 fOutputList->Add(fSemiIncElecDphiEta23);
1235 fSemiIncElecDphiEta24 = new TH2F("fSemiIncElecDphiEta24", "Semi Inclusive elec-had Dphi correlation for 7<pt^{asso}<9 for |Eta >1|",200,0,20,64,-1.57,4.71);
1236 fOutputList->Add(fSemiIncElecDphiEta24);
1237 fPhotElecDphiEta2 = new TH2F("fPhotElecDphiEta2", "Photon elec-had Dphi correlation for |Eta >1|",200,0,20,64,-1.57,4.71);
1238 fOutputList->Add(fPhotElecDphiEta2);
1239 fPhotElecDphiEta21 = new TH2F("fPhotElecDphiEta21", "Photon elec-had Dphi correlation for 1<pt^{asso}<3 for |Eta >1|",200,0,20,64,-1.57,4.71);
1240 fOutputList->Add(fPhotElecDphiEta21);
1241 fPhotElecDphiEta22 = new TH2F("fPhotElecDphiEta22", "Photon elec-had Dphi correlation for 3<pt^{asso}<5 for |Eta >1|",200,0,20,64,-1.57,4.71);
1242 fOutputList->Add(fPhotElecDphiEta22);
1243 fPhotElecDphiEta23 = new TH2F("fPhotElecDphiEta23", "Photon elec-had Dphi correlation for 5<pt^{asso}<7 for |Eta >1|",200,0,20,64,-1.57,4.71);
1244 fOutputList->Add(fPhotElecDphiEta23);
1245 fPhotElecDphiEta24 = new TH2F("fPhotElecDphiEta24", "Photon elec-had Dphi correlation for 7<pt^{asso}<9 for |Eta >1|",200,0,20,64,-1.57,4.71);
1246 fOutputList->Add(fPhotElecDphiEta24);
1247 fInclusiveElecDphiEta2 = new TH2F("fInclusiveElecDphiEta2", "Inclusive elec-had Dphi correlation for |Eta >1|",200,0,20,64,-1.57,4.71);
1248 fOutputList->Add(fInclusiveElecDphiEta2);
1249 fInclusiveElecDphiEta21 = new TH2F("fInclusiveElecDphiEta21", "Inclusive elec-had Dphi correlation for 1<pt^{asso}<3 for |Eta >1|",200,0,20,64,-1.57,4.71);
1250 fOutputList->Add(fInclusiveElecDphiEta21);
1251 fInclusiveElecDphiEta22 = new TH2F("fInclusiveElecDphiEta22", "Inclusive elec-had Dphi correlation for 3<pt^{asso}<5 for |Eta >1|",200,0,20,64,-1.57,4.71);
1252 fOutputList->Add(fInclusiveElecDphiEta22);
1253 fInclusiveElecDphiEta23 = new TH2F("fInclusiveElecDphiEta23", "Inclusive elec-had Dphi correlation for 5<pt^{asso}<7 for |Eta >1|",200,0,20,64,-1.57,4.71);
1254 fOutputList->Add(fInclusiveElecDphiEta23);
1255 fInclusiveElecDphiEta24 = new TH2F("fInclusiveElecDphiEta24", "Inclusive elec-had Dphi correlation for 7<pt^{asso}<9 for |Eta >1|",200,0,20,64,-1.57,4.71);
1256 fOutputList->Add(fInclusiveElecDphiEta24);
1257 fDphiULSMassLowEta2 = new TH2F("fDphiULSMassLowEta2", "e-h Dphi ULS, mass<cut for |Eta >1|",200,0,20,64,-1.57,4.71);
1258 fOutputList->Add(fDphiULSMassLowEta2);
1259 fDphiULSMassLowEta21 = new TH2F("fDphiULSMassLowEta21", "e-h Dphi ULS, mass<cut for 1<pt^{asso}<3 for |Eta >1|",200,0,20,64,-1.57,4.71);
1260 fOutputList->Add(fDphiULSMassLowEta21);
1261 fDphiULSMassLowEta22 = new TH2F("fDphiULSMassLowEta22", "e-h Dphi ULS, mass<cut for 3<pt^{asso}<5 for |Eta >1|",200,0,20,64,-1.57,4.71);
1262 fOutputList->Add(fDphiULSMassLowEta22);
1263 fDphiULSMassLowEta23 = new TH2F("fDphiULSMassLowEta23", "e-h Dphi ULS, mass<cut for 5<pt^{asso}<7 for |Eta >1|",200,0,20,64,-1.57,4.71);
1264 fOutputList->Add(fDphiULSMassLowEta23);
1265 fDphiULSMassLowEta24 = new TH2F("fDphiULSMassLowEta24", "e-h Dphi ULS, mass<cut for 7<pt^{asso}<9 for |Eta >1|",200,0,20,64,-1.57,4.71);
1266 fOutputList->Add(fDphiULSMassLowEta24);
1267 fDphiLSMassLowEta2 = new TH2F("fDphiLSMassLowEta2", "e-h Dphi LS, mass<cut for |Eta >1|",200,0,20,64,-1.57,4.71);
1268 fOutputList->Add(fDphiLSMassLowEta2);
1269 fDphiLSMassLowEta21 = new TH2F("fDphiLSMassLowEta21", "e-h Dphi LS, mass<cut for 1<pt^{asso}<3 for |Eta >1|",200,0,20,64,-1.57,4.71);
1270 fOutputList->Add(fDphiLSMassLowEta21);
1271 fDphiLSMassLowEta22 = new TH2F("fDphiLSMassLowEta22", "e-h Dphi LS, mass<cut for 3<pt^{asso}<5 for |Eta >1|",200,0,20,64,-1.57,4.71);
1272 fOutputList->Add(fDphiLSMassLowEta22);
1273 fDphiLSMassLowEta23 = new TH2F("fDphiLSMassLowEta23", "e-h Dphi LS, mass<cut for 5<pt^{asso}<7 for |Eta >1|",200,0,20,64,-1.57,4.71);
1274 fOutputList->Add(fDphiLSMassLowEta23);
1275 fDphiLSMassLowEta24 = new TH2F("fDphiLSMassLowEta24", "e-h Dphi LS, mass<cut for 7<pt^{asso}<9 for |Eta >1|",200,0,20,64,-1.57,4.71);
1276 fOutputList->Add(fDphiLSMassLowEta24);
1277 fDphiULSMassLowNoPartnerEta2 = new TH2F("fDphiULSMassLowNoPartnerEta2", "e-h Dphi ULS with no partner, mass<mass cut, for |Eta >1|",200,0,20,64,-1.57,4.71);
1278 fOutputList->Add(fDphiULSMassLowNoPartnerEta2);
1279 fDphiULSMassLowNoPartnerEta21 = new TH2F("fDphiULSMassLowNoPartnerEta21", "e-h Dphi ULS with no partner, mass<mass cut for 1<pt^{asso}<3, for |Eta >1|",200,0,20,64,-1.57,4.71);
1280 fOutputList->Add(fDphiULSMassLowNoPartnerEta21);
1281 fDphiULSMassLowNoPartnerEta22 = new TH2F("fDphiULSMassLowNoPartnerEta22", "e-h Dphi ULS with no partner, mass<mass cut for 3<pt^{asso}<5, for |Eta >1|",200,0,20,64,-1.57,4.71);
1282 fOutputList->Add(fDphiULSMassLowNoPartnerEta22);
1283 fDphiULSMassLowNoPartnerEta23 = new TH2F("fDphiULSMassLowNoPartnerEta23", "e-h Dphi ULS with no partner, mass<mass cut for 5<pt^{asso}<7, for |Eta >1|",200,0,20,64,-1.57,4.71);
1284 fOutputList->Add(fDphiULSMassLowNoPartnerEta23);
1285 fDphiULSMassLowNoPartnerEta24 = new TH2F("fDphiULSMassLowNoPartnerEta24", "e-h Dphi ULS with no partner, mass<mass cut for 7<pt^{asso}<9, for |Eta >1|",200,0,20,64,-1.57,4.71);
1286 fOutputList->Add(fDphiULSMassLowNoPartnerEta24);
1287 fDphiLSMassLowNoPartnerEta2 = new TH2F("fDphiLSMassLowNoPartnerEta2", "e-h Dphi LS with no partner, mass<mass cut, for |Eta >1|",200,0,20,64,-1.57,4.71);
1288 fOutputList->Add(fDphiLSMassLowNoPartnerEta2);
1289 fDphiLSMassLowNoPartnerEta21 = new TH2F("fDphiLSMassLowNoPartnerEta21", "e-h Dphi LS with no partner, mass<mass cut for 1<pt^{asso}<3, for |Eta >1|",200,0,20,64,-1.57,4.71);
1290 fOutputList->Add(fDphiLSMassLowNoPartnerEta21);
1291 fDphiLSMassLowNoPartnerEta22 = new TH2F("fDphiLSMassLowNoPartnerEta22", "e-h Dphi LS with no partner, mass<mass cut for 3<pt^{asso}<5, for |Eta >1|",200,0,20,64,-1.57,4.71);
1292 fOutputList->Add(fDphiLSMassLowNoPartnerEta22);
1293 fDphiLSMassLowNoPartnerEta23 = new TH2F("fDphiLSMassLowNoPartnerEta23", "e-h Dphi LS with no partner, mass<mass cut for 5<pt^{asso}<7, for |Eta >1|",200,0,20,64,-1.57,4.71);
1294 fOutputList->Add(fDphiLSMassLowNoPartnerEta23);
1295 fDphiLSMassLowNoPartnerEta24 = new TH2F("fDphiLSMassLowNoPartnerEta24", "e-h Dphi LS with no partner, mass<mass cut for 7<pt^{asso}<9, for |Eta >1|",200,0,20,64,-1.57,4.71);
1296 fOutputList->Add(fDphiLSMassLowNoPartnerEta24);
1297
1298 /* fNCellv1 = new TH1F("fNCellv1","Ncell in clus (v1); NCell; count",100,0,100) ;
1299 fOutputList->Add(fNCellv1);
1300
1301 fClsEv1 = new TH1F("fClsEv1", "Clus E(v1); Cls E; count",1000,0,100);
1302 fOutputList->Add(fClsEv1);
1303
1304 fNClusv1 = new TH1F("fNClusv1","Nclus in event (v1); NClus; count",500,0,500) ;
1305 fOutputList->Add(fNClusv1);
1306 */
33369c14 1307 fInvmassLS1 = new TH1F("fInvmassLS1", "Inv mass of LS (e,e) for pt^{e}>2; mass(GeV/c^2); counts;", 1000,0,1.0);
520a29a8 1308 fOutputList->Add(fInvmassLS1);
1309
33369c14 1310 fInvmassULS1 = new TH1F("fInvmassULS1", "Inv mass of ULS (e,e) for pt^{e}>2; mass(GeV/c^2); counts;", 1000,0,1.0);
520a29a8 1311 fOutputList->Add(fInvmassULS1);
bf697dda 1312 /*
1313 fInvmassLS2 = new TH1F("fInvmassLS2", "Inv mass of LS (e,e) for pt^{e}>1; mass(GeV/c^2); counts;", 1000,0,1.0);
1314 fOutputList->Add(fInvmassLS2);
487ae960 1315
bf697dda 1316 fInvmassULS2 = new TH1F("fInvmassULS2", "Inv mass of ULS (e,e) for pt^{e}>1; mass(GeV/c^2); counts;", 1000,0,1.0);
1317 fOutputList->Add(fInvmassULS2);
487ae960 1318
bf697dda 1319 fInvmassLS3 = new TH1F("fInvmassLS3", "Inv mass of LS (e,e) for pt^{e}>2; mass(GeV/c^2); counts;", 1000,0,1.0);
1320 fOutputList->Add(fInvmassLS3);
487ae960 1321
bf697dda 1322 fInvmassULS3 = new TH1F("fInvmassULS3", "Inv mass of ULS (e,e) for pt^{e}>2; mass(GeV/c^2); counts;", 1000,0,1.0);
1323 fOutputList->Add(fInvmassULS3);
487ae960 1324
bf697dda 1325 fInvmassLS4 = new TH1F("fInvmassLS4", "Inv mass of LS (e,e) for pt^{e}>3; mass(GeV/c^2); counts;", 1000,0,1.0);
1326 fOutputList->Add(fInvmassLS4);
487ae960 1327
bf697dda 1328 fInvmassULS4 = new TH1F("fInvmassULS4", "Inv mass of ULS (e,e) for pt^{e}>3; mass(GeV/c^2); counts;", 1000,0,1.0);
1329 fOutputList->Add(fInvmassULS4);
487ae960 1330
bf697dda 1331 fInvmassLS5 = new TH1F("fInvmassLS5", "Inv mass of LS (e,e) for pt^{e}>4; mass(GeV/c^2); counts;", 1000,0,1.0);
1332 fOutputList->Add(fInvmassLS5);
487ae960 1333
bf697dda 1334 fInvmassULS5 = new TH1F("fInvmassULS5", "Inv mass of ULS (e,e) for pt^{e}>4; mass(GeV/c^2); counts;", 1000,0,1.0);
1335 fOutputList->Add(fInvmassULS5);
1336 */
1337 /* fNoMixedEvents = new TH1F("fNoMixedEvents","",1,0,1) ;
1338 fOutputList->Add(fNoMixedEvents);
4e01b68c 1339
bf697dda 1340 fMixStat = new TH2F("fMixStat","no of events in pool vs Centrality;Nevent in pool;Centrality",200,0,200,5,0,10);
1341 fOutputList->Add(fMixStat);
4e01b68c 1342
bf697dda 1343 fMixStat1 = new TH2F("fMixStat1","no of events in pool vs zvtx;Nevents in pool;zvtx",200,0,200,4,-10,10);
1344 fOutputList->Add(fMixStat1);
4e01b68c 1345
bf697dda 1346 fMixedIncElecDphi = new TH2F("fMixedIncElecDphi", "Mixed event - Inclusive elec-had Dphi correlation",200,0,20,100,-1.57,4.71);
1347 fOutputList->Add(fMixedIncElecDphi);
4e01b68c 1348
bf697dda 1349 fMixedIncElecDphi1 = new TH2F("fMixedIncElecDphi1", "Mixed event - Inclusive elec-had Dphi correlation 1<pt<3",200,0,20,100,-1.57,4.71);
1350 fOutputList->Add(fMixedIncElecDphi1);
3c56855b 1351
bf697dda 1352 fMixedIncElecDphi2 = new TH2F("fMixedIncElecDphi2", "Mixed event - Inclusive elec-had Dphi correlation 3<pt<5",200,0,20,100,-1.57,4.71);
1353 fOutputList->Add(fMixedIncElecDphi2);
3c56855b 1354
bf697dda 1355 fMixedSemiIncElecDphi = new TH2F("fMixedSemiIncElecDphi", "Mixed event - Semi Inclusive elec-had Dphi correlation",200,0,20,100,-1.57,4.71);
1356 fOutputList->Add(fMixedSemiIncElecDphi);
4e01b68c 1357
bf697dda 1358 fMixedSemiIncElecDphi1 = new TH2F("fMixedSemiIncElecDphi1", "Mixed event - Semi Inclusive elec-had Dphi correlation 1<pt<3",200,0,20,100,-1.57,4.71);
1359 fOutputList->Add(fMixedSemiIncElecDphi1);
3c56855b 1360
bf697dda 1361 fMixedSemiIncElecDphi2 = new TH2F("fMixedSemiIncElecDphi2", "Mixed event - Semi Inclusive elec-had Dphi correlation 3<pt<5",200,0,20,100,-1.57,4.71);
1362 fOutputList->Add(fMixedSemiIncElecDphi2);
3c56855b 1363
bf697dda 1364 fMixedPhotElecDphi = new TH2F("fMixedPhotElecDphi", "Mixed event - Photo elec-had Dphi correlation",200,0,20,100,-1.57,4.71);
1365 fOutputList->Add(fMixedPhotElecDphi);
4e01b68c 1366
bf697dda 1367 fMixedPhotElecDphi1 = new TH2F("fMixedPhotElecDphi1", "Mixed event - Photo elec-had Dphi correlation 1<pt<3",200,0,20,100,-1.57,4.71);
1368 fOutputList->Add(fMixedPhotElecDphi1);
3c56855b 1369
bf697dda 1370 fMixedPhotElecDphi2 = new TH2F("fMixedPhotElecDphi2", "Mixed event - Photo elec-had Dphi correlation 3<pt<5",200,0,20,100,-1.57,4.71);
1371 fOutputList->Add(fMixedPhotElecDphi2);
3c56855b 1372
bf697dda 1373 fMixedDphiULSMassLow = new TH2F("fMixedDphiULSMassLow", "Mixed event - ULS mass < cut elec-had Dphi correlation",200,0,20,100,-1.57,4.71);
1374 fOutputList->Add(fMixedDphiULSMassLow);
4e01b68c 1375
bf697dda 1376 fMixedDphiULSMassLow1 = new TH2F("fMixedDphiULSMassLow1", "Mixed event - ULS mass < cut elec-had Dphi correlation 1<pt<3",200,0,20,100,-1.57,4.71);
1377 fOutputList->Add(fMixedDphiULSMassLow1);
3c56855b 1378
bf697dda 1379 fMixedDphiULSMassLow2 = new TH2F("fMixedDphiULSMassLow2", "Mixed event - ULS mass < cut elec-had Dphi correlation 3<pt<5",200,0,20,100,-1.57,4.71);
1380 fOutputList->Add(fMixedDphiULSMassLow2);
3c56855b 1381
bf697dda 1382 fMixedDphiLSMassLow = new TH2F("fMixedDphiLSMassLow", "Mixed event - LS mass < cut elec-had Dphi correlation",200,0,20,100,-1.57,4.71);
1383 fOutputList->Add(fMixedDphiLSMassLow);
3c56855b 1384
bf697dda 1385 fMixedDphiLSMassLow1 = new TH2F("fMixedDphiLSMassLow1", "Mixed event - LS mass < cut elec-had Dphi correlation 1<pt<3",200,0,20,100,-1.57,4.71);
1386 fOutputList->Add(fMixedDphiLSMassLow1);
3c56855b 1387
bf697dda 1388 fMixedDphiLSMassLow2 = new TH2F("fMixedDphiLSMassLow2", "Mixed event - LS mass < cut elec-had Dphi correlation 3<pt<5",200,0,20,100,-1.57,4.71);
1389 fOutputList->Add(fMixedDphiLSMassLow2);
1390 */
3c56855b 1391 fHadronPt = new TH1F("fHadronPt","hadron pt distribution",1000,0,100);
1392 fOutputList->Add(fHadronPt);
1393
1394 fCentralityPass = new TH1F("fCentralityPass", "Centrality Pass", 101, -1, 100);
1395 fOutputList->Add(fCentralityPass);
1396
1397 fCentralityNoPass = new TH1F("fCentralityNoPass", "Centrality No Pass", 101, -1, 100);
1398 fOutputList->Add(fCentralityNoPass);
1399
0841d73f 1400 fHadronDphi = new TH2F("fHadronDphi", "Hadron-had Dphi correlation",200,0,20,64,-1.57,4.71);
1401 fOutputList->Add(fHadronDphi);
1402
1403 fHadronDphi1 = new TH2F("fHadronDphi1", "Hadron-had Dphi correlation for 1<pt^{asso}<3",200,0,20,64,-1.57,4.71);
1404 fOutputList->Add(fHadronDphi1);
1405
1406 fHadronDphi2 = new TH2F("fHadronDphi2", "Hadron-had Dphi correlation for 3<pt^{asso}<5",200,0,20,64,-1.57,4.71);
1407 fOutputList->Add(fHadronDphi2);
1408
1409 fHadronDphi3 = new TH2F("fHadronDphi3", "Hadron-had Dphi correlation for 5<pt^{asso}<7",200,0,20,64,-1.57,4.71);
1410 fOutputList->Add(fHadronDphi3);
1411
1412 fHadronDphi4 = new TH2F("fHadronDphi4", "Hadron-had Dphi correlation for 7<pt^{asso}<9",200,0,20,64,-1.57,4.71);
1413 fOutputList->Add(fHadronDphi4);
1414
33369c14 1415 fPiPt = new TH1F("fPiPt","Pi (-10 <TPC nsig < -3.5) pt distribution",1000,0,100);
0841d73f 1416 fOutputList->Add(fPiPt);
1417
33369c14 1418 fHadronDphiNoSS = new TH2F("fHadronDphiNoSS", "Hadron-had Dphi correlation (NoSS cuts)",200,0,20,64,-1.57,4.71);
1419 fOutputList->Add(fHadronDphiNoSS);
1420
1421 fHadronDphiNoSS1 = new TH2F("fHadronDphiNoSS1", "Hadron-had Dphi correlation (NoSS cuts) for 1<pt^{asso}<3",200,0,20,64,-1.57,4.71);
1422 fOutputList->Add(fHadronDphiNoSS1);
1423
1424 fHadronDphiNoSS2 = new TH2F("fHadronDphiNoSS2", "Hadron-had Dphi correlation (NoSS cuts) for 3<pt^{asso}<5",200,0,20,64,-1.57,4.71);
1425 fOutputList->Add(fHadronDphiNoSS2);
1426
1427 fHadronDphiNoSS3 = new TH2F("fHadronDphiNoSS3", "Hadron-had Dphi correlation (NoSS cuts) for 5<pt^{asso}<7",200,0,20,64,-1.57,4.71);
1428 fOutputList->Add(fHadronDphiNoSS3);
1429
1430 fHadronDphiNoSS4 = new TH2F("fHadronDphiNoSS4", "Hadron-had Dphi correlation (NoSS cuts) for 7<pt^{asso}<9",200,0,20,64,-1.57,4.71);
1431 fOutputList->Add(fHadronDphiNoSS4);
1432
1433 fPiPtNoSS = new TH1F("fPiPtNoSS","Pi (-10 <TPC nsig < -3.5) (NoSS cuts) pt distribution",1000,0,100);
1434 fOutputList->Add(fPiPtNoSS);
1435
bf697dda 1436 fEovPWoSS = new TH2F("fEovPWoSS","E/p distribution without SS cuts",1000,0,50,100,0,2);
1437 fOutputList->Add(fEovPWoSS);
1438
1439 fEovPWSS = new TH2F("fEovPWSS","E/p distribution with SS cuts",1000,0,50,100,0,2);
1440 fOutputList->Add(fEovPWSS);
1441
1442 fEovPHadWoSS = new TH2F("fEovPHadWoSS","E/p distribution for hadrons without SS cuts",1000,0,50,100,0,2);
1443 fOutputList->Add(fEovPHadWoSS);
1444
1445 fEovPHadWSS = new TH2F("fEovPHadWSS","E/p distribution for hadrons with SS cuts",1000,0,50,100,0,2);
1446 fOutputList->Add(fEovPHadWSS);
1447
0c884279 1448 fHadronDphiEta1 = new TH2F("fHadronDphiEta1", "Hadron-had Dphi correlation for |Eta <1|",200,0,20,64,-1.57,4.71);
1449 fOutputList->Add(fHadronDphiEta1);
1450 fHadronDphiEta11 = new TH2F("fHadronDphiEta11", "Hadron-had Dphi correlation for 1<pt^{asso}<3i for |Eta <1|",200,0,20,64,-1.57,4.71);
1451 fOutputList->Add(fHadronDphiEta11);
1452 fHadronDphiEta12 = new TH2F("fHadronDphiEta12", "Hadron-had Dphi correlation for 3<pt^{asso}<5 for |Eta <1|",200,0,20,64,-1.57,4.71);
1453 fOutputList->Add(fHadronDphiEta12);
1454 fHadronDphiEta13 = new TH2F("fHadronDphiEta13", "Hadron-had Dphi correlation for 5<pt^{asso}<7 for |Eta <1|",200,0,20,64,-1.57,4.71);
1455 fOutputList->Add(fHadronDphiEta13);
1456 fHadronDphiEta14 = new TH2F("fHadronDphiEta14", "Hadron-had Dphi correlation for 7<pt^{asso}<9 for |Eta <1|",200,0,20,64,-1.57,4.71);
1457 fOutputList->Add(fHadronDphiEta14);
1458
1459 fHadronDphiNoSSEta1 = new TH2F("fHadronDphiNoSSEta1", "Hadron-had DphiNoSS correlation for |Eta <1|",200,0,20,64,-1.57,4.71);
1460 fOutputList->Add(fHadronDphiNoSSEta1);
1461 fHadronDphiNoSSEta11 = new TH2F("fHadronDphiNoSSEta11", "Hadron-had DphiNoSS correlation for 1<pt^{asso}<3i for |Eta <1|",200,0,20,64,-1.57,4.71);
1462 fOutputList->Add(fHadronDphiNoSSEta11);
1463 fHadronDphiNoSSEta12 = new TH2F("fHadronDphiNoSSEta12", "Hadron-had DphiNoSS correlation for 3<pt^{asso}<5 for |Eta <1|",200,0,20,64,-1.57,4.71);
1464 fOutputList->Add(fHadronDphiNoSSEta12);
1465 fHadronDphiNoSSEta13 = new TH2F("fHadronDphiNoSSEta13", "Hadron-had DphiNoSS correlation for 5<pt^{asso}<7 for |Eta <1|",200,0,20,64,-1.57,4.71);
1466 fOutputList->Add(fHadronDphiNoSSEta13);
1467 fHadronDphiNoSSEta14 = new TH2F("fHadronDphiNoSSEta14", "Hadron-had DphiNoSS correlation for 7<pt^{asso}<9 for |Eta <1|",200,0,20,64,-1.57,4.71);
1468 fOutputList->Add(fHadronDphiNoSSEta14);
1469
1470 fHadronDphiEta2 = new TH2F("fHadronDphiEta2", "Hadron-had Dphi correlation for |Eta >1|",200,0,20,64,-1.57,4.71);
1471 fOutputList->Add(fHadronDphiEta2);
1472 fHadronDphiEta21 = new TH2F("fHadronDphiEta21", "Hadron-had Dphi correlation for 1<pt^{asso}<3i for |Eta >1|",200,0,20,64,-1.57,4.71);
1473 fOutputList->Add(fHadronDphiEta21);
1474 fHadronDphiEta22 = new TH2F("fHadronDphiEta22", "Hadron-had Dphi correlation for 3<pt^{asso}<5 for |Eta >1|",200,0,20,64,-1.57,4.71);
1475 fOutputList->Add(fHadronDphiEta22);
1476 fHadronDphiEta23 = new TH2F("fHadronDphiEta23", "Hadron-had Dphi correlation for 5<pt^{asso}<7 for |Eta >1|",200,0,20,64,-1.57,4.71);
1477 fOutputList->Add(fHadronDphiEta23);
1478 fHadronDphiEta24 = new TH2F("fHadronDphiEta24", "Hadron-had Dphi correlation for 7<pt^{asso}<9 for |Eta >1|",200,0,20,64,-1.57,4.71);
1479 fOutputList->Add(fHadronDphiEta24);
1480
1481 fHadronDphiNoSSEta2 = new TH2F("fHadronDphiNoSSEta2", "Hadron-had DphiNoSS correlation for |Eta >1|",200,0,20,64,-1.57,4.71);
1482 fOutputList->Add(fHadronDphiNoSSEta2);
1483 fHadronDphiNoSSEta21 = new TH2F("fHadronDphiNoSSEta21", "Hadron-had DphiNoSS correlation for 1<pt^{asso}<3i for |Eta >1|",200,0,20,64,-1.57,4.71);
1484 fOutputList->Add(fHadronDphiNoSSEta21);
1485 fHadronDphiNoSSEta22 = new TH2F("fHadronDphiNoSSEta22", "Hadron-had DphiNoSS correlation for 3<pt^{asso}<5 for |Eta >1|",200,0,20,64,-1.57,4.71);
1486 fOutputList->Add(fHadronDphiNoSSEta22);
1487 fHadronDphiNoSSEta23 = new TH2F("fHadronDphiNoSSEta23", "Hadron-had DphiNoSS correlation for 5<pt^{asso}<7 for |Eta >1|",200,0,20,64,-1.57,4.71);
1488 fOutputList->Add(fHadronDphiNoSSEta23);
1489 fHadronDphiNoSSEta24 = new TH2F("fHadronDphiNoSSEta24", "Hadron-had DphiNoSS correlation for 7<pt^{asso}<9 for |Eta >1|",200,0,20,64,-1.57,4.71);
1490 fOutputList->Add(fHadronDphiNoSSEta24);
1491
1492
bf697dda 1493 // Int_t binsv1[6]={500,200,50,50,50,50}; //pt, TPCnsig, E/p, M20, M02, dispersion
1494 // Double_t xminv1[6]={0,-10,0,0,0,0};
1495 // Double_t xmaxv1[6]={25,10,2,2,2,2};
1496 // fSparseElectron = new THnSparseD ("Electron","Electron",6,binsv1,xminv1,xmaxv1);
1497 // fOutputList->Add(fSparseElectron);
33369c14 1498
57189f04 1499 PostData(1,fOutputList);
1500}
1501
1502//________________________________________________________________________
1503void AliAnalysisTaskElecHadronCorrel::Terminate(Option_t *)
1504{
1505 // Info("Terminate");
520a29a8 1506 AliAnalysisTaskSE::Terminate();
57189f04 1507}
1508
1509//________________________________________________________________________
1510Bool_t AliAnalysisTaskElecHadronCorrel::ProcessCutStep(Int_t cutStep, AliVParticle *track)
1511{
1512 // Check single track cuts for a given cut step
1513 const Int_t kMCOffset = AliHFEcuts::kNcutStepsMCTrack;
1514 if(!fCFM->CheckParticleCuts(cutStep + kMCOffset, track)) return kFALSE;
1515 return kTRUE;
1516}
987053ce 1517
57189f04 1518//_________________________________________
987053ce 1519void AliAnalysisTaskElecHadronCorrel::SelectPhotonicElectron(Int_t itrack, AliVTrack *track, Bool_t &fFlagPhotonicElec)
57189f04 1520{
1521 //Identify non-heavy flavour electrons using Invariant mass method
520a29a8 1522
57189f04 1523 fTrackCuts1->SetAcceptKinkDaughters(kFALSE);
1524 fTrackCuts1->SetRequireTPCRefit(kTRUE);
e4b0faf2 1525 fTrackCuts1->SetRequireITSRefit(kTRUE);
57189f04 1526 fTrackCuts1->SetEtaRange(-0.9,0.9);
1527 fTrackCuts1->SetRequireSigmaToVertex(kTRUE);
e4b0faf2 1528 fTrackCuts1->SetMaxChi2PerClusterTPC(4);
57189f04 1529 fTrackCuts1->SetMinNClustersTPC(80);
987053ce 1530 fTrackCuts1->SetMaxDCAToVertexZ(3.2);
1531 fTrackCuts1->SetMaxDCAToVertexXY(2.4);
1532 fTrackCuts1->SetDCAToVertex2D(kTRUE);
520a29a8 1533
57189f04 1534 Bool_t flagPhotonicElec = kFALSE;
520a29a8 1535
987053ce 1536 for(Int_t jTracks = 0; jTracks<fVevent->GetNumberOfTracks(); jTracks++){
1537 AliVParticle* VtrackAsso = fVevent->GetTrack(jTracks);
1538 if (!VtrackAsso) {
57189f04 1539 printf("ERROR: Could not receive track %d\n", jTracks);
1540 continue;
1541 }
987053ce 1542
1543 AliVTrack *trackAsso = dynamic_cast<AliVTrack*>(VtrackAsso);
1544
1545 //track cuts applied
1546 if(IsAODanalysis()) {
1547 AliAODTrack *atrackAsso = dynamic_cast<AliAODTrack*>(VtrackAsso);
1548 if(!atrackAsso->TestFilterMask(AliAODTrack::kTrkTPCOnly)) continue;
1549 if(atrackAsso->GetTPCNcls() < 80) continue;
1550 if((!(atrackAsso->GetStatus()&AliESDtrack::kITSrefit)|| (!(atrackAsso->GetStatus()&AliESDtrack::kTPCrefit)))) continue;
1551 }
1552 else{
1553 AliESDtrack *etrackAsso = dynamic_cast<AliESDtrack*>(VtrackAsso);
1554 if(!fTrackCuts1->AcceptTrack(etrackAsso)) continue;
1555 }
1556
e4b0faf2 1557 if(jTracks==itrack) continue;
520a29a8 1558
987053ce 1559 Double_t dEdxAsso = -999., ptAsso=-999., nsigma=-999.0;
520a29a8 1560 Double_t mass=-999., width = -999;
57189f04 1561 Bool_t fFlagLS=kFALSE, fFlagULS=kFALSE;
520a29a8 1562
57189f04 1563 dEdxAsso = trackAsso->GetTPCsignal();
487ae960 1564 nsigma = fPID->GetPIDResponse() ? fPID->GetPIDResponse()->NumberOfSigmasTPC(trackAsso, AliPID::kElectron) : 1000;
57189f04 1565 ptAsso = trackAsso->Pt();
1566 Int_t chargeAsso = trackAsso->Charge();
1567 Int_t charge = track->Charge();
520a29a8 1568
57189f04 1569 if(ptAsso <0.3) continue;
3c56855b 1570 if(trackAsso->Eta()<-0.9 || trackAsso->Eta()>0.9) continue;
487ae960 1571 if(nsigma < -3 || nsigma > 3) continue;
520a29a8 1572
57189f04 1573 Int_t fPDGe1 = 11; Int_t fPDGe2 = 11;
1574 if(charge>0) fPDGe1 = -11;
1575 if(chargeAsso>0) fPDGe2 = -11;
520a29a8 1576
57189f04 1577 if(charge == chargeAsso) fFlagLS = kTRUE;
1578 if(charge != chargeAsso) fFlagULS = kTRUE;
520a29a8 1579
1580 AliKFParticle ge1 = AliKFParticle(*track, fPDGe1);
1581 AliKFParticle ge2 = AliKFParticle(*trackAsso, fPDGe2);
57189f04 1582 AliKFParticle recg(ge1, ge2);
3c56855b 1583
57189f04 1584 if(recg.GetNDF()<1) continue;
1585 Double_t chi2recg = recg.GetChi2()/recg.GetNDF();
1586 if(TMath::Sqrt(TMath::Abs(chi2recg))>3.) continue;
520a29a8 1587
3c56855b 1588 Int_t MassCorrect;
1589 MassCorrect = recg.GetMass(mass,width);
520a29a8 1590
487ae960 1591 if(fFlagLS) {
33369c14 1592 if(track->Pt()>2)fInvmassLS1->Fill(mass);
1593 // if(track->Pt()> 1) fInvmassLS2->Fill(mass);
1594 // if(track->Pt()>2) fInvmassLS3->Fill(mass);
1595 // if(track->Pt()>3) fInvmassLS4->Fill(mass);
1596 // if(track->Pt()>4) fInvmassLS5->Fill(mass);
487ae960 1597 }
1598 if(fFlagULS) {
33369c14 1599 if(track->Pt()>2)fInvmassULS1->Fill(mass);
1600 //if(track->Pt() >1) fInvmassULS2->Fill(mass);
1601 //if(track->Pt() >2) fInvmassULS3->Fill(mass);
1602 //if(track->Pt() >3) fInvmassULS4->Fill(mass);
1603 //if(track->Pt() >4) fInvmassULS5->Fill(mass);
487ae960 1604 }
520a29a8 1605
520a29a8 1606 if(mass<fInvmassCut){
1607 if(fFlagULS)
1608 {
487ae960 1609 ElectronHadCorrel(itrack,track,fDphiULSMassLow, fDphiULSMassLow1,fDphiULSMassLow2,fDphiULSMassLow3,fDphiULSMassLow4);
bf697dda 1610 ElectronHadCorrelEtaBins(itrack,track,fDphiULSMassLowEta1, fDphiULSMassLowEta11,fDphiULSMassLowEta12,fDphiULSMassLowEta13,fDphiULSMassLowEta14,fDphiULSMassLowEta2, fDphiULSMassLowEta21,fDphiULSMassLowEta22,fDphiULSMassLowEta23,fDphiULSMassLowEta24);
520a29a8 1611 fULSElecPt->Fill(track->Pt());
987053ce 1612 // MixedEvent(track,fMixedDphiULSMassLow,fMixedDphiULSMassLow1,fMixedDphiULSMassLow2);
520a29a8 1613 }
1614 if(fFlagLS)
1615 {
487ae960 1616 ElectronHadCorrel(itrack,track,fDphiLSMassLow,fDphiLSMassLow1,fDphiLSMassLow2,fDphiLSMassLow3,fDphiLSMassLow4);
bf697dda 1617 ElectronHadCorrelEtaBins(itrack,track,fDphiLSMassLowEta1, fDphiLSMassLowEta11,fDphiLSMassLowEta12,fDphiLSMassLowEta13,fDphiLSMassLowEta14,fDphiLSMassLowEta2, fDphiLSMassLowEta21,fDphiLSMassLowEta22,fDphiLSMassLowEta23,fDphiLSMassLowEta24);
520a29a8 1618 fLSElecPt->Fill(track->Pt());
987053ce 1619 // MixedEvent(track,fMixedDphiLSMassLow,fMixedDphiLSMassLow1,fMixedDphiLSMassLow2);
520a29a8 1620 }
bf697dda 1621 if(fFlagLS){
1622 ElectronHadCorrelNoPartner(itrack,jTracks,track,fDphiLSMassLowNoPartner, fDphiLSMassLowNoPartner1,fDphiLSMassLowNoPartner2,fDphiLSMassLowNoPartner3,fDphiLSMassLowNoPartner4);
1623 ElectronHadCorrelEtaBinsNoPartner(itrack,jTracks,track,fDphiLSMassLowNoPartnerEta1, fDphiLSMassLowNoPartnerEta11,fDphiLSMassLowNoPartnerEta12,fDphiLSMassLowNoPartnerEta13,fDphiLSMassLowNoPartnerEta14,fDphiLSMassLowNoPartnerEta2, fDphiLSMassLowNoPartnerEta21,fDphiLSMassLowNoPartnerEta22,fDphiLSMassLowNoPartnerEta23,fDphiLSMassLowNoPartnerEta24);
1624 }
1625 if(fFlagULS) {
1626 ElectronHadCorrelNoPartner(itrack,jTracks,track,fDphiULSMassLowNoPartner, fDphiULSMassLowNoPartner1,fDphiULSMassLowNoPartner2,fDphiULSMassLowNoPartner3,fDphiULSMassLowNoPartner4);
1627 ElectronHadCorrelEtaBinsNoPartner(itrack,jTracks,track,fDphiULSMassLowNoPartnerEta1, fDphiULSMassLowNoPartnerEta11,fDphiULSMassLowNoPartnerEta12,fDphiULSMassLowNoPartnerEta13,fDphiULSMassLowNoPartnerEta14,fDphiULSMassLowNoPartnerEta2, fDphiULSMassLowNoPartnerEta21,fDphiULSMassLowNoPartnerEta22,fDphiULSMassLowNoPartnerEta23,fDphiULSMassLowNoPartnerEta24);
1628 }
57189f04 1629 }
520a29a8 1630
57189f04 1631 if(mass<fInvmassCut && fFlagULS && !flagPhotonicElec){
1632 flagPhotonicElec = kTRUE;
1633 }
520a29a8 1634 // }
1635
987053ce 1636}
1637fFlagPhotonicElec = flagPhotonicElec;
57189f04 1638}
1639//_________________________________________
987053ce 1640void AliAnalysisTaskElecHadronCorrel::ElectronHadCorrel(Int_t itrack, AliVTrack *track, TH2F *DphiPt, TH2F *DphiPt1,TH2F *DphiPt2,TH2F *DphiPt3,TH2F *DphiPt4)
57189f04 1641{
1642 //Construct Delta Phi between electrons and hadrons
520a29a8 1643
57189f04 1644 fTrackCuts2->SetAcceptKinkDaughters(kFALSE);
1645 fTrackCuts2->SetRequireTPCRefit(kTRUE);
1646 fTrackCuts2->SetRequireITSRefit(kTRUE);
1647 fTrackCuts2->SetEtaRange(-0.9,0.9);
1648 fTrackCuts2->SetRequireSigmaToVertex(kTRUE);
e4b0faf2 1649 fTrackCuts2->SetMaxChi2PerClusterTPC(4);
57189f04 1650 fTrackCuts2->SetMinNClustersTPC(80);
987053ce 1651 fTrackCuts2->SetMaxDCAToVertexZ(3.2);
1652 fTrackCuts2->SetMaxDCAToVertexXY(2.4);
1653 fTrackCuts2->SetDCAToVertex2D(kTRUE);
520a29a8 1654
987053ce 1655 for(Int_t ktracks = 0; ktracks<fVevent->GetNumberOfTracks(); ktracks++){
1656 AliVParticle* VtrackHad = fVevent->GetTrack(ktracks);
1657 if (!VtrackHad) {
57189f04 1658 printf("ERROR: Could not receive track %d\n", ktracks);
1659 continue;
1660 }
987053ce 1661
1662 AliVTrack *trackHad = dynamic_cast<AliVTrack*>(VtrackHad);
1663
1664 if(IsAODanalysis()) {
1665 AliAODTrack *atrackHad = dynamic_cast<AliAODTrack*>(VtrackHad);
1666 if(!atrackHad->TestFilterMask(AliAODTrack::kTrkTPCOnly)) continue;
1667 if((!(atrackHad->GetStatus()&AliESDtrack::kITSrefit)|| (!(atrackHad->GetStatus()&AliESDtrack::kTPCrefit)))) continue;
1668 if(atrackHad->GetTPCNcls() < 80) continue;
1669 }
1670 else{
1671 AliESDtrack *etrackHad = dynamic_cast<AliESDtrack*>(VtrackHad);
1672 if(!fTrackCuts2->AcceptTrack(etrackHad)) continue;
1673 }
1674
57189f04 1675 if(ktracks == itrack) continue; //do not select the same electron
520a29a8 1676
57189f04 1677 Double_t ptHad= -999, pHad=-999., dEdxHad = -999;
1678 Double_t ptEle = -999;
1679 Double_t phiEle = -999, phiHad = -999, Dphi = -999;
1680 Double_t pi = 3.14;
520a29a8 1681
57189f04 1682 dEdxHad = trackHad->GetTPCsignal();
1683 ptHad = trackHad->Pt();
1684 pHad = trackHad->P();
4e01b68c 1685 ptEle = track->Pt();
520a29a8 1686
987053ce 1687 // if(ptHad <2) continue;
4e01b68c 1688 if(ptHad > ptEle) continue;
3c56855b 1689 if(trackHad->Eta()<-0.9 || trackHad->Eta()>0.9) continue;
3c56855b 1690
57189f04 1691 phiEle = track->Phi();
1692 phiHad = trackHad->Phi();
1693 Dphi = phiEle - phiHad;
520a29a8 1694 if (Dphi > 3*pi/2)
57189f04 1695 Dphi = Dphi - 2*pi;
520a29a8 1696 if (Dphi < -pi/2)
57189f04 1697 Dphi = Dphi + 2*pi;
520a29a8 1698
487ae960 1699 if(ptHad>2) DphiPt->Fill(ptEle,Dphi);
1700 if(ptHad>2 && ptHad<4) DphiPt1->Fill(ptEle,Dphi);
1701 if(ptHad>4 && ptHad<6) DphiPt2->Fill(ptEle,Dphi);
1702 if(ptHad>6 && ptHad<8) DphiPt3->Fill(ptEle,Dphi);
1703 if(ptHad>8 && ptHad<10) DphiPt4->Fill(ptEle,Dphi);
4e01b68c 1704
57189f04 1705 }
1706}
1707//_________________________________________
987053ce 1708void AliAnalysisTaskElecHadronCorrel::ElectronHadCorrelNoPartner(Int_t itrack,Int_t jtrack, AliVTrack *track, TH2F *DphiPtNew, TH2F *DphiPtNew1,TH2F *DphiPtNew2,TH2F *DphiPtNew3,TH2F *DphiPtNew4)
57189f04 1709{
520a29a8 1710 //Construct Delta Phi between electrons and hadrons for electrons from invariant mass calculation excluding associated track
57189f04 1711
520a29a8 1712 fTrackCuts2->SetAcceptKinkDaughters(kFALSE);
1713 fTrackCuts2->SetRequireTPCRefit(kTRUE);
1714 fTrackCuts2->SetRequireITSRefit(kTRUE);
1715 fTrackCuts2->SetEtaRange(-0.9,0.9);
1716 fTrackCuts2->SetRequireSigmaToVertex(kTRUE);
e4b0faf2 1717 fTrackCuts2->SetMaxChi2PerClusterTPC(4);
520a29a8 1718 fTrackCuts2->SetMinNClustersTPC(80);
987053ce 1719 fTrackCuts2->SetMaxDCAToVertexZ(3.2);
1720 fTrackCuts2->SetMaxDCAToVertexXY(2.4);
1721 fTrackCuts2->SetDCAToVertex2D(kTRUE);
520a29a8 1722
987053ce 1723 for(Int_t ktracks = 0; ktracks<fVevent->GetNumberOfTracks(); ktracks++){
1724 AliVParticle* VtrackHad = fVevent->GetTrack(ktracks);
1725 if (!VtrackHad) {
520a29a8 1726 printf("ERROR: Could not receive track %d\n", ktracks);
1727 continue;
1728 }
987053ce 1729
1730 AliVTrack *trackHad = dynamic_cast<AliVTrack*>(VtrackHad);
520a29a8 1731
987053ce 1732 if(IsAODanalysis()) {
1733 AliAODTrack *atrackHad = dynamic_cast<AliAODTrack*>(VtrackHad);
1734 if(!atrackHad->TestFilterMask(AliAODTrack::kTrkTPCOnly)) continue;
1735 if((!(atrackHad->GetStatus()&AliESDtrack::kITSrefit)|| (!(atrackHad->GetStatus()&AliESDtrack::kTPCrefit)))) continue;
1736 if(atrackHad->GetTPCNcls() < 80) continue;
1737 }
1738 else{
1739 AliESDtrack *etrackHad = dynamic_cast<AliESDtrack*>(VtrackHad);
1740 if(!fTrackCuts2->AcceptTrack(etrackHad)) continue;
1741 }
1742
1743 if(ktracks == itrack || ktracks == jtrack) continue; //do not select the same electron and associated track from inv mass cal
520a29a8 1744
1745 Double_t ptHad= -999, pHad=-999., dEdxHad = -999;
1746 Double_t ptEle = -999;
1747 Double_t phiEle = -999, phiHad = -999, Dphi = -999;
1748 Double_t pi = 3.14;
1749
1750 dEdxHad = trackHad->GetTPCsignal();
1751 ptHad = trackHad->Pt();
1752 pHad = trackHad->P();
4e01b68c 1753 ptEle = track->Pt();
520a29a8 1754
3c56855b 1755// if(ptHad <2) continue;
4e01b68c 1756 if(ptHad > ptEle) continue;
3c56855b 1757 if(trackHad->Eta()<-0.9 || trackHad->Eta()>0.9) continue;
520a29a8 1758
1759 phiEle = track->Phi();
1760 phiHad = trackHad->Phi();
1761 Dphi = phiEle - phiHad;
1762 if (Dphi > 3*pi/2)
1763 Dphi = Dphi - 2*pi;
1764 if (Dphi < -pi/2)
1765 Dphi = Dphi + 2*pi;
57189f04 1766
487ae960 1767 if(ptHad>2) DphiPtNew->Fill(ptEle,Dphi);
1768 if(ptHad>2 && ptHad<4) DphiPtNew1->Fill(ptEle,Dphi);
1769 if(ptHad>4 && ptHad<6) DphiPtNew2->Fill(ptEle,Dphi);
1770 if(ptHad>6 && ptHad<8) DphiPtNew3->Fill(ptEle,Dphi);
1771 if(ptHad>8 && ptHad<10) DphiPtNew4->Fill(ptEle,Dphi);
520a29a8 1772 }
1773}
4e01b68c 1774//_________________________________________
33369c14 1775void AliAnalysisTaskElecHadronCorrel::ElectronHadCorrelEtaFarSide(Int_t itrack, AliVTrack *track, TH2F *DphiPt, TH2F *DphiPt1,TH2F *DphiPt2,TH2F *DphiPt3,TH2F *DphiPt4)
4e01b68c 1776{
33369c14 1777 //Construct Delta Phi between electrons and hadrons for 1<eta(had)<1.6
4e01b68c 1778
33369c14 1779 fTrackCuts2->SetAcceptKinkDaughters(kFALSE);
1780 fTrackCuts2->SetRequireTPCRefit(kTRUE);
1781 fTrackCuts2->SetRequireITSRefit(kTRUE);
1782 fTrackCuts2->SetEtaRange(-0.9,0.9);
1783 fTrackCuts2->SetRequireSigmaToVertex(kTRUE);
1784 fTrackCuts2->SetMaxChi2PerClusterTPC(4);
1785 fTrackCuts2->SetMinNClustersTPC(80);
1786 fTrackCuts2->SetMaxDCAToVertexZ(3.2);
1787 fTrackCuts2->SetMaxDCAToVertexXY(2.4);
1788 fTrackCuts2->SetDCAToVertex2D(kTRUE);
4e01b68c 1789
33369c14 1790 for(Int_t ktracks = 0; ktracks<fVevent->GetNumberOfTracks(); ktracks++){
1791 AliVParticle* VtrackHad = fVevent->GetTrack(ktracks);
1792 if (!VtrackHad) {
1793 printf("ERROR: Could not receive track %d\n", ktracks);
1794 continue;
1795 }
1796 AliVTrack *trackHad = dynamic_cast<AliVTrack*>(VtrackHad);
4e01b68c 1797
33369c14 1798 if(IsAODanalysis()) {
1799 AliAODTrack *atrackHad = dynamic_cast<AliAODTrack*>(VtrackHad);
1800 if(!atrackHad->TestFilterMask(AliAODTrack::kTrkTPCOnly)) continue;
1801 if((!(atrackHad->GetStatus()&AliESDtrack::kITSrefit)|| (!(atrackHad->GetStatus()&AliESDtrack::kTPCrefit)))) continue;
1802 if(atrackHad->GetTPCNcls() < 80) continue;
1803 }
1804 else{
1805 AliESDtrack *etrackHad = dynamic_cast<AliESDtrack*>(VtrackHad);
1806 if(!fTrackCuts2->AcceptTrack(etrackHad)) continue;
1807 }
4e01b68c 1808
33369c14 1809 if(ktracks == itrack) continue; //do not select the same electron
4e01b68c 1810
33369c14 1811 Double_t ptHad= -999, pHad=-999., dEdxHad = -999;
1812 Double_t ptEle = -999;
1813 Double_t phiEle = -999, phiHad = -999, Dphi = -999;
1814 Double_t pi = 3.14;
4e01b68c 1815
33369c14 1816 dEdxHad = trackHad->GetTPCsignal();
1817 ptHad = trackHad->Pt();
1818 pHad = trackHad->P();
1819 ptEle = track->Pt();
4e01b68c 1820
33369c14 1821 // if(ptHad <2) continue;
1822 if(ptHad > ptEle) continue;
1823 if(trackHad->Eta()<1 || trackHad->Eta()>1.6) continue;
1824
1825 phiEle = track->Phi();
1826 phiHad = trackHad->Phi();
1827 Dphi = phiEle - phiHad;
1828 if (Dphi > 3*pi/2)
1829 Dphi = Dphi - 2*pi;
1830 if (Dphi < -pi/2)
1831 Dphi = Dphi + 2*pi;
1832
1833 if(ptHad>2) DphiPt->Fill(ptEle,Dphi);
1834 if(ptHad>2 && ptHad<4) DphiPt1->Fill(ptEle,Dphi);
1835 if(ptHad>4 && ptHad<6) DphiPt2->Fill(ptEle,Dphi);
1836 if(ptHad>6 && ptHad<8) DphiPt3->Fill(ptEle,Dphi);
1837 if(ptHad>8 && ptHad<10) DphiPt4->Fill(ptEle,Dphi);
1838
1839 }
4e01b68c 1840}
bf697dda 1841//_________________________________________
1842void AliAnalysisTaskElecHadronCorrel::ElectronHadCorrelEtaBins(Int_t itrack, AliVTrack *track, TH2F *DphiPtEta1, TH2F *DphiPtEta11,TH2F *DphiPtEta12,TH2F *DphiPtEta13,TH2F *DphiPtEta14,TH2F *DphiPtEta2, TH2F *DphiPtEta21,TH2F *DphiPtEta22,TH2F *DphiPtEta23,TH2F *DphiPtEta24)
1843{
1844 //Construct Delta Phi between electrons and hadrons in different Eta bins
1845
1846 fTrackCuts2->SetAcceptKinkDaughters(kFALSE);
1847 fTrackCuts2->SetRequireTPCRefit(kTRUE);
1848 fTrackCuts2->SetRequireITSRefit(kTRUE);
1849 fTrackCuts2->SetEtaRange(-0.9,0.9);
1850 fTrackCuts2->SetRequireSigmaToVertex(kTRUE);
1851 fTrackCuts2->SetMaxChi2PerClusterTPC(4);
1852 fTrackCuts2->SetMinNClustersTPC(80);
1853 fTrackCuts2->SetMaxDCAToVertexZ(3.2);
1854 fTrackCuts2->SetMaxDCAToVertexXY(2.4);
1855 fTrackCuts2->SetDCAToVertex2D(kTRUE);
1856
1857 for(Int_t ktracks = 0; ktracks<fVevent->GetNumberOfTracks(); ktracks++){
1858 AliVParticle* VtrackHad = fVevent->GetTrack(ktracks);
1859 if (!VtrackHad) {
1860 printf("ERROR: Could not receive track %d\n", ktracks);
1861 continue;
1862 }
1863
1864 AliVTrack *trackHad = dynamic_cast<AliVTrack*>(VtrackHad);
1865
1866 if(IsAODanalysis()) {
1867 AliAODTrack *atrackHad = dynamic_cast<AliAODTrack*>(VtrackHad);
1868 if(!atrackHad->TestFilterMask(AliAODTrack::kTrkTPCOnly)) continue;
1869 if((!(atrackHad->GetStatus()&AliESDtrack::kITSrefit)|| (!(atrackHad->GetStatus()&AliESDtrack::kTPCrefit)))) continue;
1870 if(atrackHad->GetTPCNcls() < 80) continue;
1871 }
1872 else{
1873 AliESDtrack *etrackHad = dynamic_cast<AliESDtrack*>(VtrackHad);
1874 if(!fTrackCuts2->AcceptTrack(etrackHad)) continue;
1875 }
1876
1877 if(ktracks == itrack) continue; //do not select the same electron
1878
1879 Double_t ptHad= -999, pHad=-999., dEdxHad = -999;
1880 Double_t ptEle = -999;
1881 Double_t phiEle = -999, phiHad = -999, Dphi = -999;
1882 Double_t etaEle = -999, etaHad=-999, DEta=-999;
1883 Double_t pi = 3.14;
1884
1885 dEdxHad = trackHad->GetTPCsignal();
1886 ptHad = trackHad->Pt();
1887 pHad = trackHad->P();
1888 ptEle = track->Pt();
1889
1890 // if(ptHad <2) continue;
1891 if(ptHad > ptEle) continue;
1892 if(trackHad->Eta()<-0.9 || trackHad->Eta()>0.9) continue;
1893
1894 phiEle = track->Phi();
1895 phiHad = trackHad->Phi();
1896 Dphi = phiEle - phiHad;
1897
1898 if (Dphi > 3*pi/2)
1899 Dphi = Dphi - 2*pi;
1900 if (Dphi < -pi/2)
1901 Dphi = Dphi + 2*pi;
1902
1903 etaEle = track->Eta();
1904 etaHad = trackHad->Eta();
1905 DEta = etaEle - etaHad;
1906
1907 if(TMath::Abs(DEta)<0.8){
1908 if(ptHad>2) DphiPtEta1->Fill(ptEle,Dphi);
1909 if(ptHad>2 && ptHad<4) DphiPtEta11->Fill(ptEle,Dphi);
1910 if(ptHad>4 && ptHad<6) DphiPtEta12->Fill(ptEle,Dphi);
1911 if(ptHad>6 && ptHad<8) DphiPtEta13->Fill(ptEle,Dphi);
1912 if(ptHad>8 && ptHad<10) DphiPtEta14->Fill(ptEle,Dphi);
1913 }
1914
1915 if(TMath::Abs(DEta)>0.8){
1916 if(ptHad>2) DphiPtEta2->Fill(ptEle,Dphi);
1917 if(ptHad>2 && ptHad<4) DphiPtEta21->Fill(ptEle,Dphi);
1918 if(ptHad>4 && ptHad<6) DphiPtEta22->Fill(ptEle,Dphi);
1919 if(ptHad>6 && ptHad<8) DphiPtEta23->Fill(ptEle,Dphi);
1920 if(ptHad>8 && ptHad<10) DphiPtEta24->Fill(ptEle,Dphi);
1921 }
1922 }
1923}
1924//_________________________________________
1925void AliAnalysisTaskElecHadronCorrel::ElectronHadCorrelEtaBinsNoPartner(Int_t itrack,Int_t jtrack, AliVTrack *track, TH2F *DphiPtEta1, TH2F *DphiPtEta11,TH2F *DphiPtEta12,TH2F *DphiPtEta13,TH2F *DphiPtEta14,TH2F *DphiPtEta2, TH2F *DphiPtEta21,TH2F *DphiPtEta22,TH2F *DphiPtEta23,TH2F *DphiPtEta24)
1926{
1927 //Construct Delta Phi between electrons and hadrons in different Eta bins (exclude associated track)
1928
1929 fTrackCuts2->SetAcceptKinkDaughters(kFALSE);
1930 fTrackCuts2->SetRequireTPCRefit(kTRUE);
1931 fTrackCuts2->SetRequireITSRefit(kTRUE);
1932 fTrackCuts2->SetEtaRange(-0.9,0.9);
1933 fTrackCuts2->SetRequireSigmaToVertex(kTRUE);
1934 fTrackCuts2->SetMaxChi2PerClusterTPC(4);
1935 fTrackCuts2->SetMinNClustersTPC(80);
1936 fTrackCuts2->SetMaxDCAToVertexZ(3.2);
1937 fTrackCuts2->SetMaxDCAToVertexXY(2.4);
1938 fTrackCuts2->SetDCAToVertex2D(kTRUE);
1939
1940 for(Int_t ktracks = 0; ktracks<fVevent->GetNumberOfTracks(); ktracks++){
1941 AliVParticle* VtrackHad = fVevent->GetTrack(ktracks);
1942 if (!VtrackHad) {
1943 printf("ERROR: Could not receive track %d\n", ktracks);
1944 continue;
1945 }
1946
1947 AliVTrack *trackHad = dynamic_cast<AliVTrack*>(VtrackHad);
1948
1949 if(IsAODanalysis()) {
1950 AliAODTrack *atrackHad = dynamic_cast<AliAODTrack*>(VtrackHad);
1951 if(!atrackHad->TestFilterMask(AliAODTrack::kTrkTPCOnly)) continue;
1952 if((!(atrackHad->GetStatus()&AliESDtrack::kITSrefit)|| (!(atrackHad->GetStatus()&AliESDtrack::kTPCrefit)))) continue;
1953 if(atrackHad->GetTPCNcls() < 80) continue;
1954 }
1955 else{
1956 AliESDtrack *etrackHad = dynamic_cast<AliESDtrack*>(VtrackHad);
1957 if(!fTrackCuts2->AcceptTrack(etrackHad)) continue;
1958 }
1959
1960 if(ktracks == itrack || ktracks == jtrack) continue; //do not select the same electron and associated track from inv mass cal
1961
1962 Double_t ptHad= -999, pHad=-999., dEdxHad = -999;
1963 Double_t ptEle = -999;
1964 Double_t phiEle = -999, phiHad = -999, Dphi = -999;
1965 Double_t etaEle = -999, etaHad=-999, DEta=-999;
1966 Double_t pi = 3.14;
1967
1968 dEdxHad = trackHad->GetTPCsignal();
1969 ptHad = trackHad->Pt();
1970 pHad = trackHad->P();
1971 ptEle = track->Pt();
1972
1973 // if(ptHad <2) continue;
1974 if(ptHad > ptEle) continue;
1975 if(trackHad->Eta()<-0.9 || trackHad->Eta()>0.9) continue;
1976
1977 phiEle = track->Phi();
1978 phiHad = trackHad->Phi();
1979 Dphi = phiEle - phiHad;
1980
1981 if (Dphi > 3*pi/2)
1982 Dphi = Dphi - 2*pi;
1983 if (Dphi < -pi/2)
1984 Dphi = Dphi + 2*pi;
1985
1986 etaEle = track->Eta();
1987 etaHad = trackHad->Eta();
1988 DEta = etaEle - etaHad;
1989
1990 if(TMath::Abs(DEta)<0.8){
1991 if(ptHad>2) DphiPtEta1->Fill(ptEle,Dphi);
1992 if(ptHad>2 && ptHad<4) DphiPtEta11->Fill(ptEle,Dphi);
1993 if(ptHad>4 && ptHad<6) DphiPtEta12->Fill(ptEle,Dphi);
1994 if(ptHad>6 && ptHad<8) DphiPtEta13->Fill(ptEle,Dphi);
1995 if(ptHad>8 && ptHad<10) DphiPtEta14->Fill(ptEle,Dphi);
1996 }
1997
1998 if(TMath::Abs(DEta)>0.8){
1999 if(ptHad>2) DphiPtEta2->Fill(ptEle,Dphi);
2000 if(ptHad>2 && ptHad<4) DphiPtEta21->Fill(ptEle,Dphi);
2001 if(ptHad>4 && ptHad<6) DphiPtEta22->Fill(ptEle,Dphi);
2002 if(ptHad>6 && ptHad<8) DphiPtEta23->Fill(ptEle,Dphi);
2003 if(ptHad>8 && ptHad<10) DphiPtEta24->Fill(ptEle,Dphi);
2004 }
2005 }
2006}
2007//_________________________________________
2008
33369c14 2009/*
2010//_________________________________________
2011void AliAnalysisTaskElecHadronCorrel::MixedEvent(AliAODTrack *track, TH2F *DphiPt, TH2F *DphiPt1,TH2F *DphiPt2)
4e01b68c 2012{
4e01b68c 2013
33369c14 2014const AliAODVertex *pVtx = fAOD->GetPrimaryVertex();
2015Double_t zVtx;
2016zVtx = pVtx->GetZ();
4e01b68c 2017
4e01b68c 2018
33369c14 2019AliCentrality *fCentrality = (AliCentrality*)fAOD->GetCentrality();
2020Double_t centvalue = fCentrality->GetCentralityPercentile("V0M");
4e01b68c 2021
33369c14 2022AliEventPool* pool = fPoolMgr->GetEventPool(centvalue, zVtx); // Get the buffer associated with the current centrality and z-vtx
2023if (!pool)
2024AliFatal(Form("No pool found for centrality = %f, zVtx = %f", centvalue, zVtx));
3c56855b 2025
33369c14 2026// pool->PrintInfo();
2027if (pool->GetCurrentNEvents() >= 5) // start mixing when 5 events are in the buffer
2028{
2029Int_t nMix = pool->GetCurrentNEvents();
2030fNoMixedEvents->Fill(0);
2031fMixStat->Fill(pool->GetCurrentNEvents(),centvalue);
2032fMixStat1->Fill(pool->GetCurrentNEvents(),zVtx);
2033
2034// cout << "nMix = " << nMix << " tracks in pool = " << pool->NTracksInPool() << endl;
2035for (Int_t jMix=0; jMix<nMix; jMix++) // mix with each event in the buffer
2036{
2037TObjArray* bgTracks = pool->GetEvent(jMix);
2038for (Int_t i=0;i<bgTracks->GetEntriesFast(); i++)
2039{
2040AliVParticle* mixtrk = (AliVParticle*) bgTracks->At(i);
2041
2042Double_t mixtrkPhi = -999;
2043Double_t ptEle = -999;
2044Double_t phiEle = -999, Dphi = -999;
2045Double_t pi = 3.14;
2046Double_t ptmixtrk = -999;
2047
2048ptEle = track->Pt();
2049ptmixtrk = mixtrk->Pt();
2050if(ptmixtrk > ptEle) continue;
2051
2052mixtrkPhi = mixtrk->Phi();
2053phiEle = track->Phi();
2054Dphi = phiEle - mixtrkPhi;
2055
2056if (Dphi > 3*pi/2)
2057Dphi = Dphi - 2*pi;
2058if (Dphi < -pi/2)
2059Dphi = Dphi + 2*pi;
2060if(ptmixtrk>2) DphiPt->Fill(ptEle,Dphi);
2061if(ptmixtrk>2 && ptmixtrk<4) DphiPt1->Fill(ptEle,Dphi);
2062if(ptmixtrk>4 && ptmixtrk<6) DphiPt2->Fill(ptEle,Dphi);
2063}
2064}
2065
2066}
2067
2068}
2069//___________________________________________
2070TObjArray* AliAnalysisTaskElecHadronCorrel::CloneAndReduceTrackList()
2071{
2072// clones a track list by using AliehDPhiBasicParticle which uses much less memory (used for event mixing)
2073
2074fTrackCuts2->SetAcceptKinkDaughters(kFALSE);
2075fTrackCuts2->SetRequireTPCRefit(kTRUE);
2076fTrackCuts2->SetRequireITSRefit(kTRUE);
2077fTrackCuts2->SetEtaRange(-0.9,0.9);
2078fTrackCuts2->SetRequireSigmaToVertex(kTRUE);
2079fTrackCuts2->SetMaxChi2PerClusterTPC(3.5);
2080fTrackCuts2->SetMinNClustersTPC(80);
2081
2082TObjArray* tracksClone = new TObjArray;
2083tracksClone->SetOwner(kTRUE);
2084
2085for(Int_t ktracks = 0; ktracks<fAOD->GetNumberOfTracks(); ktracks++){
2086 AliAODTrack* track = fAOD->GetTrack(ktracks);
2087 if (!track) {
2088 printf("ERROR: Could not receive track %d\n", ktracks);
2089 continue;
4e01b68c 2090 }
33369c14 2091 if(!track->TestFilterMask(AliAODTrack::kTrkGlobalNoDCA)) continue;
2092
2093 // if(ktracks == iTrack) continue;
2094 Double_t eta=-999,ptHad= -999, pHad=-999., phi=-999.0;
2095 Int_t label=-9999, id=-999;
2096 eta = track->Eta();
2097 ptHad = track->Pt();
2098 pHad = track->P();
2099 phi= track->Phi();
2100 label= track->GetLabel();
2101 id=track->GetID();
2102
2103 if(track->Eta()<-0.9 || track->Eta()>0.9) continue;
2104 if(!ProcessCutStep(AliHFEcuts::kStepRecKineITSTPC, track)) continue;
2105 if(!ProcessCutStep(AliHFEcuts::kStepHFEcutsTPC, track)) continue;
2106 if(ptHad <2) continue;
2107 // if(!fTrackCuts2->AcceptTrack(track)) continue;
2108
2109 AliVParticle* particle = (AliVParticle*) fAOD->GetTrack(ktracks);
2110 tracksClone->Add(new AliehDPhiBasicParticle(particle->Eta(), particle->Phi(), particle->Pt(), particle->Charge()));
2111
2112}
4e01b68c 2113
33369c14 2114return tracksClone;
4e01b68c 2115}
2116*/
3c56855b 2117//___________________________________________
2118void AliAnalysisTaskElecHadronCorrel::HadronInfo(Int_t itrack)
2119{
2120 //Hadron information
987053ce 2121
3c56855b 2122 fTrackCuts2->SetAcceptKinkDaughters(kFALSE);
2123 fTrackCuts2->SetRequireTPCRefit(kTRUE);
2124 fTrackCuts2->SetRequireITSRefit(kTRUE);
2125 fTrackCuts2->SetEtaRange(-0.9,0.9);
2126 fTrackCuts2->SetRequireSigmaToVertex(kTRUE);
e4b0faf2 2127 fTrackCuts2->SetMaxChi2PerClusterTPC(4);
3c56855b 2128 fTrackCuts2->SetMinNClustersTPC(80);
987053ce 2129 fTrackCuts2->SetMaxDCAToVertexZ(3.2);
2130 fTrackCuts2->SetMaxDCAToVertexXY(2.4);
2131 fTrackCuts2->SetDCAToVertex2D(kTRUE);
3c56855b 2132
987053ce 2133 for(Int_t ktracks = 0; ktracks<fVevent->GetNumberOfTracks(); ktracks++){
2134 AliVParticle* VtrackHad = fVevent->GetTrack(ktracks);
2135 if (!VtrackHad) {
3c56855b 2136 printf("ERROR: Could not receive track %d\n", ktracks);
2137 continue;
2138 }
987053ce 2139
2140 AliVTrack *trackHad = dynamic_cast<AliVTrack*>(VtrackHad);
2141
2142 if(IsAODanalysis()) {
2143 AliAODTrack *atrackHad = dynamic_cast<AliAODTrack*>(VtrackHad);
2144 if(!atrackHad->TestFilterMask(AliAODTrack::kTrkTPCOnly)) continue;
2145 if((!(atrackHad->GetStatus()&AliESDtrack::kITSrefit)|| (!(atrackHad->GetStatus()&AliESDtrack::kTPCrefit)))) continue;
2146 if(atrackHad->GetTPCNcls() < 80) continue;
2147 }
2148 else{
2149 AliESDtrack *etrackHad = dynamic_cast<AliESDtrack*>(VtrackHad);
2150 if(!fTrackCuts2->AcceptTrack(etrackHad)) continue;
2151 }
2152
3c56855b 2153 if(ktracks == itrack) continue; //do not select the same electron
2154
2155 Double_t ptHad= -999;
3c56855b 2156 ptHad = trackHad->Pt();
3c56855b 2157
2158 if(trackHad->Eta()<-0.9 || trackHad->Eta()>0.9) continue;
987053ce 2159 // cout << "pt had = " << ptHad <<endl;
3c56855b 2160
3c56855b 2161 if(ptHad<2) continue;
2162
2163 fHadronPhi->Fill(trackHad->Phi());
2164 fHadronPhiPt->Fill(trackHad->Phi(),ptHad);
2165 if (trackHad->Eta() >0 && trackHad->Eta() <0.9) fHadronPhiTPChalf->Fill(trackHad->Phi());
2166
3c56855b 2167 fHadronPt->Fill(ptHad);
2168 }
2169}
2170//_________________________________________
987053ce 2171void AliAnalysisTaskElecHadronCorrel::CheckCentrality(AliVEvent* event, Bool_t &centralitypass)
3c56855b 2172{
2173 // Check if event is within the set centrality range. Falls back to V0 centrality determination if no method is set
2174 if (!fkCentralityMethod) AliFatal("No centrality method set! FATAL ERROR!");
2175 fCentrality = event->GetCentrality()->GetCentralityPercentile(fkCentralityMethod);
987053ce 2176 // cout << "Centrality evaluated-------------------------: " << fCentrality <<endl;
3c56855b 2177
2178 if ((fCentrality <= fCentralityMin) || (fCentrality > fCentralityMax))
2179 {
2180 fCentralityNoPass->Fill(fCentrality);
987053ce 2181 // cout << "--------------Fill no pass-------------------------"<<endl;
3c56855b 2182 centralitypass = kFALSE;
2183 }else
2184 {
2185 fCentralityPass->Fill(fCentrality);
987053ce 2186 // cout << "--------------Fill pass-------------------------"<<endl;
3c56855b 2187 centralitypass = kTRUE;
2188 }
2189
2190}
2191//_____________________________________________________________________________
2192void AliAnalysisTaskElecHadronCorrel::SetCentralityParameters(Double_t CentralityMin, Double_t CentralityMax, const char* CentralityMethod)
2193{
2194 // Set a centrality range ]min, max] and define the method to use for centrality selection
2195 fCentralityMin = CentralityMin;
2196 fCentralityMax = CentralityMax;
2197 fkCentralityMethod = CentralityMethod;
2198}