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