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