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