]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskDijetHadron.cxx
bug-fix: rotation of sub-leading jet in di-jet
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskDijetHadron.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-2007, 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 // Analysis task for Dijet-hadron correlations
17 //
18 // Author: T.Kobayashi
19 // I refer to macro written by S.Aiola.
20 #include <TH1F.h>
21 #include <TH2F.h>
22 #include <TH3F.h>
23 #include <TCanvas.h>
24 #include <TChain.h>
25 #include <TFormula.h>
26 #include <TH1.h>
27 #include <TH2.h>
28 #include <TH3.h>
29 #include <TProfile2D.h>
30 #include <THnSparse.h>
31 #include <TROOT.h>
32 #include <TTree.h>
33 #include <TArrayI.h>
34 #include <TClonesArray.h>
35 #include <TRandom3.h>
36 #include <TFile.h>
37 #include <TF1.h>
38 #include <TLorentzVector.h>
39 #include <TParameter.h>
40 #include <TList.h>
41
42 #include "AliAODEvent.h"
43 #include "AliAODInputHandler.h"
44 #include "AliAnalysisManager.h"
45 #include "AliAnalysisTask.h"
46 #include "AliCentrality.h"
47 #include "AliESDEvent.h"
48 #include "AliESDInputHandler.h"
49 #include "AliVParticle.h"
50 #include "AliVCluster.h"
51 #include "AliVTrack.h"
52 #include "AliEmcalJet.h"
53 #include "AliInputEventHandler.h"
54 #include "AliMCEvent.h"
55 #include "AliStack.h"
56 #include "AliGenEventHeader.h"
57 #include "AliGenPythiaEventHeader.h"
58 #include "AliLog.h"
59 #include "AliRhoParameter.h"
60 #include "AliNamedArrayI.h"
61 #include "AliNamedString.h"
62 #include "AliJetContainer.h"
63 #include "AliParticleContainer.h"
64 #include "AliClusterContainer.h"
65
66 #include "AliEmcalJet.h"
67
68 #include <iostream>
69 using std::cout;
70 using std::cerr;
71 using std::endl;
72
73 const Double_t pi = TMath::Pi();
74 //const Double_t areaCut[4] = {0.1, 0.23, 0.4, 0.63};
75
76 #include "AliAnalysisTaskDijetHadron.h"
77
78 ClassImp(AliAnalysisTaskDijetHadron)
79
80 //________________________________________________________________________
81   AliAnalysisTaskDijetHadron::AliAnalysisTaskDijetHadron() : 
82     AliAnalysisTaskEmcalJet("AliAnalysisTaskDijetHadron", kTRUE),
83     fMCJetPtThreshold(1),
84     fMinRC2LJ(-1),
85     fRCperEvent(-1),
86     //fPtHardBinName(0x0),
87     //fPtHardBin(-1),
88     //fhPtHardBins(0x0),
89     fConeRadius(0.2),
90     fConeMinEta(-0.9),
91     fConeMaxEta(0.9),
92     fConeMinPhi(0),
93     fConeMaxPhi(TMath::Pi()*2),
94     fJetsCont(0),
95     fTracksCont(0),
96     fCaloClustersCont(0),
97     fMCJetsCont(0),
98     fMCTracksCont(0),
99     fMCCaloClustersCont(0),
100     fEmbJetsCont(0),
101     fEmbTracksCont(0),
102     fEmbCaloClustersCont(0),
103     //fRandTracksCont(0),
104     //fRandCaloClustersCont(0),
105     fHistRCPhiEta(0), 
106     fHistRCPt(0),
107     fHistRCPtExLJ(0),
108     fHistRCPtExPartialLJ(0), 
109     //fHistRCPtRand(0),
110     fHistRhoVSRCPt(0),
111     fHistDeltaPtRCvsEP(0),
112     fHistDeltaPtRCExLJ(0),
113     fHistDeltaPtRCExPartialLJ(0),
114     //fHistDeltaPtRCRand(0),
115     fHistEmbJetsPtArea(0),
116     fHistEmbJetsCorrPtArea(0),
117     fHistEmbPartPtvsJetPt(0),
118     fHistEmbPartPtvsJetCorrPt(0),
119     fHistJetPtvsJetCorrPt(0),
120     fHistDistLeadPart2JetAxis(0),
121     fHistEmbBkgArea(0),
122     fHistRhoVSEmbBkg(0),
123     fHistDeltaPtEmbArea(0),
124     fHistDeltaPtEmbvsEP(0),
125     fHistRCPtExLJVSDPhiLJ(0),
126     fHistRCPtExPartialLJVSDPhiLJ(0),
127     fHistEmbJetsPhiEta(0),
128     fHistLeadPartPhiEta(0),
129     fCent_V0(0),
130     fVertex_z_cut(0),
131     fJetBG_rho(0),
132     fJetBG_rho_Cent(0),
133     fTrackPt_PbPb(0),
134     fTrackPhi_PbPb(0),
135     fTrackEta_PbPb(0),
136     fTrack_Phi_Eta_PbPb(0),
137     fTrackPt_MC(0),
138     fTrackPhi_MC(0),
139     fTrackEta_MC(0),
140     fTrack_Phi_Eta_MC(0),
141     fTrackPt_EMB(0),
142     fTrackPhi_EMB(0),
143     fTrackEta_EMB(0),
144     fTrack_Phi_Eta_EMB(0),
145     fJetPt_PbPb(),
146     fJetPhi_PbPb(),
147     fJetEta_PbPb(),
148     fJet_Phi_Eta_PbPb(),
149     fJetPt_BG_PbPb(),
150     fJet1Pt_PbPb(),
151     fJet2Pt_PbPb(),
152     fJet1Pt_BG_PbPb(),
153     fJet2Pt_BG_PbPb(),
154     fJetDeltaPhi_PbPb(),
155     fJetDeltaEta_PbPb(),
156     fJetDeltaEP_PbPb(),
157     fJet1SelectPt_BG_PbPb(),
158     fJet2SelectPt_BG_PbPb(),
159     fAj_PbPb(),
160     fJetPt_MC(),
161     fJetPhi_MC(),
162     fJetEta_MC(),
163     fJet_Phi_Eta_MC(),
164     fJet1Pt_MC(),
165     fJet2Pt_MC(),
166     fJetDeltaPhi_MC(),
167     fJetDeltaEta_MC(),
168     fJetDeltaEP_MC(),
169     fAj_MC(),
170     fJetPt_EMB(),
171     fJetPhi_EMB(),
172     fJetEta_EMB(),
173     fJet_Phi_Eta_EMB(),
174     fJetPt_BG_EMB(),
175     fJetDeltaPt(),
176     fJet1Pt_EMB(),
177     fJet2Pt_EMB(),
178     fJet1Pt_BG_EMB(),
179     fJet2Pt_BG_EMB(),
180     fJet1DeltaPt(),
181     fJet2DeltaPt(),
182     fJetDeltaPhi_EMB(),
183     fJetDeltaEta_EMB(),
184     fJetDeltaEP_EMB(),
185     fJet1SelectPt_BG_EMB(),
186     fJet2SelectPt_BG_EMB(),
187     fJet1SelectDeltaPt(),
188     fJet2SelectDeltaPt(),
189     fAj_EMB(),
190     fHJetDeltaPhi_Aj0_PbPb(),
191     fHJetDeltaPhi_Aj1_PbPb(),
192     fHJetDeltaPhi_Aj2_PbPb(),
193     fHJetDeltaPhi_Aj3_PbPb(),
194     fHJetDeltaPhi_Aj4_PbPb(),
195     fHJetPt_Aj0_PbPb(),
196     fHJetPt_Aj1_PbPb(),
197     fHJetPt_Aj2_PbPb(),
198     fHJetPt_Aj3_PbPb(),
199     fHJetPt_Aj4_PbPb(),
200     fHJetDeltaPhi_Aj0_MC(),
201     fHJetDeltaPhi_Aj1_MC(),
202     fHJetDeltaPhi_Aj2_MC(),
203     fHJetDeltaPhi_Aj3_MC(),
204     fHJetDeltaPhi_Aj4_MC(),
205     fHJetPt_Aj0_MC(),
206     fHJetPt_Aj1_MC(),
207     fHJetPt_Aj2_MC(),
208     fHJetPt_Aj3_MC(),
209     fHJetPt_Aj4_MC(),
210     fHJetDeltaPhi_Aj0_EMB(),
211     fHJetDeltaPhi_Aj1_EMB(),
212     fHJetDeltaPhi_Aj2_EMB(),
213     fHJetDeltaPhi_Aj3_EMB(),
214     fHJetDeltaPhi_Aj4_EMB(),
215     fHJetPt_Aj0_EMB(),
216     fHJetPt_Aj1_EMB(),
217     fHJetPt_Aj2_EMB(),
218     fHJetPt_Aj3_EMB(),
219     fHJetPt_Aj4_EMB(),
220     fHJetDeltaPhiasEP_Aj0_PbPb(),
221     fHJetDeltaPhiasEP_Aj1_PbPb(),
222     fHJetDeltaPhiasEP_Aj2_PbPb(),
223     fHJetDeltaPhiasEP_Aj3_PbPb(),
224     fHJetDeltaPhiasEP_Aj4_PbPb(),
225     fHJetPtasEP_Aj0_PbPb(),
226     fHJetPtasEP_Aj1_PbPb(),
227     fHJetPtasEP_Aj2_PbPb(),
228     fHJetPtasEP_Aj3_PbPb(),
229     fHJetPtasEP_Aj4_PbPb(),
230     fHJetDeltaPhiasEP_Aj0_MC(),
231     fHJetDeltaPhiasEP_Aj1_MC(),
232     fHJetDeltaPhiasEP_Aj2_MC(),
233     fHJetDeltaPhiasEP_Aj3_MC(),
234     fHJetDeltaPhiasEP_Aj4_MC(),
235     fHJetPtasEP_Aj0_MC(),
236     fHJetPtasEP_Aj1_MC(),
237     fHJetPtasEP_Aj2_MC(),
238     fHJetPtasEP_Aj3_MC(),
239     fHJetPtasEP_Aj4_MC(),
240     fHJetDeltaPhiasEP_Aj0_EMB(),
241     fHJetDeltaPhiasEP_Aj1_EMB(),
242     fHJetDeltaPhiasEP_Aj2_EMB(),
243     fHJetDeltaPhiasEP_Aj3_EMB(),
244     fHJetDeltaPhiasEP_Aj4_EMB(),
245     fHJetPtasEP_Aj0_EMB(),
246     fHJetPtasEP_Aj1_EMB(),
247     fHJetPtasEP_Aj2_EMB(),
248     fHJetPtasEP_Aj3_EMB(),
249     fHJetPtasEP_Aj4_EMB(),
250     fEvent(0),
251     fCentrality(0)
252
253 {
254   // Default constructor.
255
256   fHistRCPt = 0;
257   fHistRCPtExLJ = 0;
258   fHistRCPtExPartialLJ = 0;
259   //fHistRCPtRand = 0;
260   fHistRhoVSRCPt = 0;
261   fHistDeltaPtRCvsEP = 0;
262   fHistDeltaPtRCExLJ = 0;
263   fHistDeltaPtRCExPartialLJ = 0;
264   //fHistDeltaPtRCRand = 0;
265   fHistEmbJetsPtArea = 0;
266   fHistEmbJetsCorrPtArea = 0;
267   fHistEmbPartPtvsJetPt = 0;
268   fHistEmbPartPtvsJetCorrPt = 0;
269   fHistJetPtvsJetCorrPt = 0;
270   fHistDistLeadPart2JetAxis = 0;
271   fHistEmbBkgArea = 0;
272   fHistRhoVSEmbBkg = 0;
273   fHistDeltaPtEmbArea = 0;
274   fHistDeltaPtEmbvsEP = 0;
275   fCent_V0 = 0;
276   fVertex_z_cut = 0;
277   fJetBG_rho = 0;
278   fJetBG_rho_Cent = 0;
279   fTrackPt_PbPb = 0;
280   fTrackPhi_PbPb = 0;
281   fTrackEta_PbPb = 0;
282   fTrack_Phi_Eta_PbPb = 0;
283   fTrackPt_MC = 0;
284   fTrackPhi_MC = 0;
285   fTrackEta_MC = 0;
286   fTrack_Phi_Eta_MC = 0;
287   fTrackPt_EMB = 0;
288   fTrackPhi_EMB = 0;
289   fTrackEta_EMB = 0;
290   fTrack_Phi_Eta_EMB = 0;
291
292   for (Int_t i = 0; i < fNcentBins; i++) {
293     for (Int_t j = 0; j < 3; j++) {
294       fJetPt_PbPb[i][j] = 0;
295       fJetPhi_PbPb[i][j] = 0;
296       fJetEta_PbPb[i][j] = 0;
297       fJet_Phi_Eta_PbPb[i][j] = 0;
298       fJetPt_BG_PbPb[i][j] = 0;
299
300       fJetPt_MC[i][j] = 0;
301       fJetPhi_MC[i][j] = 0;
302       fJetEta_MC[i][j] = 0;
303       fJet_Phi_Eta_MC[i][j] = 0;
304
305       fJetPt_EMB[i][j] = 0;
306       fJetPhi_EMB[i][j] = 0;
307       fJetEta_EMB[i][j] = 0;
308       fJet_Phi_Eta_EMB[i][j] = 0;
309       fJetPt_BG_EMB[i][j] = 0;
310     }
311   }
312
313   for (Int_t i = 0; i < fNcentBins; i++) {
314     for (Int_t j = 0; j < 3; j++) {
315       for (Int_t k = 0; k < 4; k++) {
316         for (Int_t l = 0; l < k+1; l++) {
317           fJet1Pt_PbPb[i][j][k][l] = 0;
318           fJet2Pt_PbPb[i][j][k][l] = 0;
319           fJet1Pt_BG_PbPb[i][j][k][l] = 0;
320           fJet2Pt_BG_PbPb[i][j][k][l] = 0;
321           fJetDeltaPhi_PbPb[i][j][k][l] = 0;
322           fJetDeltaEta_PbPb[i][j][k][l] = 0;
323           fJetDeltaEP_PbPb[i][j][k][l] = 0;
324           fJet1SelectPt_BG_PbPb[i][j][k][l] = 0;
325           fJet2SelectPt_BG_PbPb[i][j][k][l] = 0;
326           fAj_PbPb[i][j][k][l] = 0;
327
328           fJet1Pt_MC[i][j][k][l] = 0;
329           fJet2Pt_MC[i][j][k][l] = 0;
330           fJetDeltaPhi_MC[i][j][k][l] = 0;
331           fJetDeltaEta_MC[i][j][k][l] = 0;
332           fJetDeltaEP_MC[i][j][k][l] = 0;
333           fAj_MC[i][j][k][l] = 0;
334
335           fJet1Pt_EMB[i][j][k][l] = 0;
336           fJet2Pt_EMB[i][j][k][l] = 0;
337           fJet1Pt_BG_EMB[i][j][k][l] = 0;
338           fJet2Pt_BG_EMB[i][j][k][l] = 0;
339           fJet1DeltaPt[i][j][k][l] = 0;
340           fJet2DeltaPt[i][j][k][l] = 0;
341           fJetDeltaPhi_EMB[i][j][k][l] = 0;
342           fJetDeltaEta_EMB[i][j][k][l] = 0;
343           fJetDeltaEP_EMB[i][j][k][l] = 0;
344           fJet1SelectPt_BG_EMB[i][j][k][l] = 0;
345           fJet2SelectPt_BG_EMB[i][j][k][l] = 0;
346           fJet1SelectDeltaPt[i][j][k][l] = 0;
347           fJet2SelectDeltaPt[i][j][k][l] = 0;
348           fAj_EMB[i][j][k][l] = 0;
349         }
350       }
351     }
352   }
353
354   for (Int_t i = 0; i < fNcentBins; i++) {
355     for (Int_t j = 0; j < 3; j++) {
356       for (Int_t k = 0; k < 4; k++) {
357         for (Int_t l = 0; l < 4; l++) {
358           for (Int_t m = 0; m < l+1; m++) {
359             fHJetDeltaPhi_Aj0_PbPb[i][j][k][l][m] = 0;
360             fHJetDeltaPhi_Aj1_PbPb[i][j][k][l][m] = 0;
361             fHJetDeltaPhi_Aj2_PbPb[i][j][k][l][m] = 0;
362             fHJetDeltaPhi_Aj3_PbPb[i][j][k][l][m] = 0;
363             fHJetDeltaPhi_Aj4_PbPb[i][j][k][l][m] = 0;
364
365             fHJetPt_Aj0_PbPb[i][j][k][l][m] = 0;
366             fHJetPt_Aj1_PbPb[i][j][k][l][m] = 0;
367             fHJetPt_Aj2_PbPb[i][j][k][l][m] = 0;
368             fHJetPt_Aj3_PbPb[i][j][k][l][m] = 0;
369             fHJetPt_Aj4_PbPb[i][j][k][l][m] = 0;
370
371             fHJetDeltaPhi_Aj0_MC[i][j][k][l][m] = 0;
372             fHJetDeltaPhi_Aj1_MC[i][j][k][l][m] = 0;
373             fHJetDeltaPhi_Aj2_MC[i][j][k][l][m] = 0;
374             fHJetDeltaPhi_Aj3_MC[i][j][k][l][m] = 0;
375             fHJetDeltaPhi_Aj4_MC[i][j][k][l][m] = 0;
376
377             fHJetPt_Aj0_MC[i][j][k][l][m] = 0;
378             fHJetPt_Aj1_MC[i][j][k][l][m] = 0;
379             fHJetPt_Aj2_MC[i][j][k][l][m] = 0;
380             fHJetPt_Aj3_MC[i][j][k][l][m] = 0;
381             fHJetPt_Aj4_MC[i][j][k][l][m] = 0;
382
383             fHJetDeltaPhi_Aj0_EMB[i][j][k][l][m] = 0;
384             fHJetDeltaPhi_Aj1_EMB[i][j][k][l][m] = 0;
385             fHJetDeltaPhi_Aj2_EMB[i][j][k][l][m] = 0;
386             fHJetDeltaPhi_Aj3_EMB[i][j][k][l][m] = 0;
387             fHJetDeltaPhi_Aj4_EMB[i][j][k][l][m] = 0;
388
389             fHJetPt_Aj0_EMB[i][j][k][l][m] = 0;
390             fHJetPt_Aj1_EMB[i][j][k][l][m] = 0;
391             fHJetPt_Aj2_EMB[i][j][k][l][m] = 0;
392             fHJetPt_Aj3_EMB[i][j][k][l][m] = 0;
393             fHJetPt_Aj4_EMB[i][j][k][l][m] = 0;
394
395           }
396         }
397       }
398     }
399   }
400
401
402   for (Int_t i = 0; i < fNcentBins; i++) {
403     for (Int_t j = 0; j < 4; j++) {
404       for (Int_t k = 0; k < 4; k++) {
405         for (Int_t l = 0; l < 4; l++) {
406           for (Int_t m = 0; m < l+1; m++) {
407             fHJetDeltaPhiasEP_Aj0_PbPb[i][j][k][l][m] = 0;
408             fHJetDeltaPhiasEP_Aj1_PbPb[i][j][k][l][m] = 0;
409             fHJetDeltaPhiasEP_Aj2_PbPb[i][j][k][l][m] = 0;
410             fHJetDeltaPhiasEP_Aj3_PbPb[i][j][k][l][m] = 0;
411             fHJetDeltaPhiasEP_Aj4_PbPb[i][j][k][l][m] = 0;
412
413             fHJetPtasEP_Aj0_PbPb[i][j][k][l][m] = 0;
414             fHJetPtasEP_Aj1_PbPb[i][j][k][l][m] = 0;
415             fHJetPtasEP_Aj2_PbPb[i][j][k][l][m] = 0;
416             fHJetPtasEP_Aj3_PbPb[i][j][k][l][m] = 0;
417             fHJetPtasEP_Aj4_PbPb[i][j][k][l][m] = 0;
418
419             fHJetDeltaPhiasEP_Aj0_MC[i][j][k][l][m] = 0;
420             fHJetDeltaPhiasEP_Aj1_MC[i][j][k][l][m] = 0;
421             fHJetDeltaPhiasEP_Aj2_MC[i][j][k][l][m] = 0;
422             fHJetDeltaPhiasEP_Aj3_MC[i][j][k][l][m] = 0;
423             fHJetDeltaPhiasEP_Aj4_MC[i][j][k][l][m] = 0;
424
425             fHJetPtasEP_Aj0_MC[i][j][k][l][m] = 0;
426             fHJetPtasEP_Aj1_MC[i][j][k][l][m] = 0;
427             fHJetPtasEP_Aj2_MC[i][j][k][l][m] = 0;
428             fHJetPtasEP_Aj3_MC[i][j][k][l][m] = 0;
429             fHJetPtasEP_Aj4_MC[i][j][k][l][m] = 0;
430
431             fHJetDeltaPhiasEP_Aj0_EMB[i][j][k][l][m] = 0;
432             fHJetDeltaPhiasEP_Aj1_EMB[i][j][k][l][m] = 0;
433             fHJetDeltaPhiasEP_Aj2_EMB[i][j][k][l][m] = 0;
434             fHJetDeltaPhiasEP_Aj3_EMB[i][j][k][l][m] = 0;
435             fHJetDeltaPhiasEP_Aj4_EMB[i][j][k][l][m] = 0;
436
437             fHJetPtasEP_Aj0_EMB[i][j][k][l][m] = 0;
438             fHJetPtasEP_Aj1_EMB[i][j][k][l][m] = 0;
439             fHJetPtasEP_Aj2_EMB[i][j][k][l][m] = 0;
440             fHJetPtasEP_Aj3_EMB[i][j][k][l][m] = 0;
441             fHJetPtasEP_Aj4_EMB[i][j][k][l][m] = 0;
442
443           }
444         }
445       }
446     }
447   }
448
449   SetMakeGeneralHistograms(kTRUE);
450 }
451
452 //________________________________________________________________________
453 AliAnalysisTaskDijetHadron::AliAnalysisTaskDijetHadron(const char *name) : 
454   AliAnalysisTaskEmcalJet(name, kTRUE),
455   fMCJetPtThreshold(1),
456   fMinRC2LJ(-1),
457   fRCperEvent(-1),
458   //fPtHardBinName(0x0),
459   //fPtHardBin(-1),
460   //fhPtHardBins(0x0),
461   fConeRadius(0.2),
462   fConeMinEta(-0.9),
463   fConeMaxEta(0.9),
464   fConeMinPhi(0),
465   fConeMaxPhi(TMath::Pi()*2),
466   fJetsCont(0),
467   fTracksCont(0),
468   fCaloClustersCont(0),
469   fMCJetsCont(0),
470   fMCTracksCont(0),
471   fMCCaloClustersCont(0),
472   fEmbJetsCont(0),
473   fEmbTracksCont(0),
474   fEmbCaloClustersCont(0),
475   //fRandTracksCont(0),
476   //fRandCaloClustersCont(0),
477   fHistRCPhiEta(0), 
478   fHistRCPt(0),
479   fHistRCPtExLJ(0),
480   fHistRCPtExPartialLJ(0), 
481   //fHistRCPtRand(0),
482   fHistRhoVSRCPt(0),
483   fHistDeltaPtRCvsEP(0),
484   fHistDeltaPtRCExLJ(0),
485   fHistDeltaPtRCExPartialLJ(0),
486   //fHistDeltaPtRCRand(0),
487   fHistEmbJetsPtArea(0),
488   fHistEmbJetsCorrPtArea(0),
489   fHistEmbPartPtvsJetPt(0),
490   fHistEmbPartPtvsJetCorrPt(0),
491   fHistJetPtvsJetCorrPt(0),
492   fHistDistLeadPart2JetAxis(0),
493   fHistEmbBkgArea(0),
494   fHistRhoVSEmbBkg(0),
495   fHistDeltaPtEmbArea(0),
496   fHistDeltaPtEmbvsEP(0),
497   fHistRCPtExLJVSDPhiLJ(0),
498   fHistRCPtExPartialLJVSDPhiLJ(0),
499   fHistEmbJetsPhiEta(0),
500   fHistLeadPartPhiEta(0),
501   fCent_V0(0),
502   fVertex_z_cut(0),
503   fJetBG_rho(0),
504   fJetBG_rho_Cent(0),
505   fTrackPt_PbPb(0),
506   fTrackPhi_PbPb(0),
507   fTrackEta_PbPb(0),
508   fTrack_Phi_Eta_PbPb(0),
509   fTrackPt_MC(0),
510   fTrackPhi_MC(0),
511   fTrackEta_MC(0),
512   fTrack_Phi_Eta_MC(0),
513   fTrackPt_EMB(0),
514   fTrackPhi_EMB(0),
515   fTrackEta_EMB(0),
516   fTrack_Phi_Eta_EMB(0),
517   fJetPt_PbPb(),
518   fJetPhi_PbPb(),
519   fJetEta_PbPb(),
520   fJet_Phi_Eta_PbPb(),
521   fJetPt_BG_PbPb(),
522   fJet1Pt_PbPb(),
523   fJet2Pt_PbPb(),
524   fJet1Pt_BG_PbPb(),
525   fJet2Pt_BG_PbPb(),
526   fJetDeltaPhi_PbPb(),
527   fJetDeltaEta_PbPb(),
528   fJetDeltaEP_PbPb(),
529   fJet1SelectPt_BG_PbPb(),
530   fJet2SelectPt_BG_PbPb(),
531   fAj_PbPb(),
532   fJetPt_MC(),
533   fJetPhi_MC(),
534   fJetEta_MC(),
535   fJet_Phi_Eta_MC(),
536   fJet1Pt_MC(),
537   fJet2Pt_MC(),
538   fJetDeltaPhi_MC(),
539   fJetDeltaEta_MC(),
540   fJetDeltaEP_MC(),
541   fAj_MC(),
542   fJetPt_EMB(),
543   fJetPhi_EMB(),
544   fJetEta_EMB(),
545   fJet_Phi_Eta_EMB(),
546   fJetPt_BG_EMB(),
547   fJetDeltaPt(),
548   fJet1Pt_EMB(),
549   fJet2Pt_EMB(),
550   fJet1Pt_BG_EMB(),
551   fJet2Pt_BG_EMB(),
552   fJet1DeltaPt(),
553   fJet2DeltaPt(),
554   fJetDeltaPhi_EMB(),
555   fJetDeltaEta_EMB(),
556   fJetDeltaEP_EMB(),
557   fJet1SelectPt_BG_EMB(),
558   fJet2SelectPt_BG_EMB(),
559   fJet1SelectDeltaPt(),
560   fJet2SelectDeltaPt(),
561   fAj_EMB(),
562   fHJetDeltaPhi_Aj0_PbPb(),
563   fHJetDeltaPhi_Aj1_PbPb(),
564   fHJetDeltaPhi_Aj2_PbPb(),
565   fHJetDeltaPhi_Aj3_PbPb(),
566   fHJetDeltaPhi_Aj4_PbPb(),
567   fHJetPt_Aj0_PbPb(),
568   fHJetPt_Aj1_PbPb(),
569   fHJetPt_Aj2_PbPb(),
570   fHJetPt_Aj3_PbPb(),
571   fHJetPt_Aj4_PbPb(),
572   fHJetDeltaPhi_Aj0_MC(),
573   fHJetDeltaPhi_Aj1_MC(),
574   fHJetDeltaPhi_Aj2_MC(),
575   fHJetDeltaPhi_Aj3_MC(),
576   fHJetDeltaPhi_Aj4_MC(),
577   fHJetPt_Aj0_MC(),
578   fHJetPt_Aj1_MC(),
579   fHJetPt_Aj2_MC(),
580   fHJetPt_Aj3_MC(),
581   fHJetPt_Aj4_MC(),
582   fHJetDeltaPhi_Aj0_EMB(),
583   fHJetDeltaPhi_Aj1_EMB(),
584   fHJetDeltaPhi_Aj2_EMB(),
585   fHJetDeltaPhi_Aj3_EMB(),
586   fHJetDeltaPhi_Aj4_EMB(),
587   fHJetPt_Aj0_EMB(),
588   fHJetPt_Aj1_EMB(),
589   fHJetPt_Aj2_EMB(),
590   fHJetPt_Aj3_EMB(),
591   fHJetPt_Aj4_EMB(),
592   fHJetDeltaPhiasEP_Aj0_PbPb(),
593   fHJetDeltaPhiasEP_Aj1_PbPb(),
594   fHJetDeltaPhiasEP_Aj2_PbPb(),
595   fHJetDeltaPhiasEP_Aj3_PbPb(),
596   fHJetDeltaPhiasEP_Aj4_PbPb(),
597   fHJetPtasEP_Aj0_PbPb(),
598   fHJetPtasEP_Aj1_PbPb(),
599   fHJetPtasEP_Aj2_PbPb(),
600   fHJetPtasEP_Aj3_PbPb(),
601   fHJetPtasEP_Aj4_PbPb(),
602   fHJetDeltaPhiasEP_Aj0_MC(),
603   fHJetDeltaPhiasEP_Aj1_MC(),
604   fHJetDeltaPhiasEP_Aj2_MC(),
605   fHJetDeltaPhiasEP_Aj3_MC(),
606   fHJetDeltaPhiasEP_Aj4_MC(),
607   fHJetPtasEP_Aj0_MC(),
608   fHJetPtasEP_Aj1_MC(),
609   fHJetPtasEP_Aj2_MC(),
610   fHJetPtasEP_Aj3_MC(),
611   fHJetPtasEP_Aj4_MC(),
612   fHJetDeltaPhiasEP_Aj0_EMB(),
613   fHJetDeltaPhiasEP_Aj1_EMB(),
614   fHJetDeltaPhiasEP_Aj2_EMB(),
615   fHJetDeltaPhiasEP_Aj3_EMB(),
616   fHJetDeltaPhiasEP_Aj4_EMB(),
617   fHJetPtasEP_Aj0_EMB(),
618   fHJetPtasEP_Aj1_EMB(),
619   fHJetPtasEP_Aj2_EMB(),
620   fHJetPtasEP_Aj3_EMB(),
621   fHJetPtasEP_Aj4_EMB(),
622   fEvent(0),
623   fCentrality(0)
624 {
625   // Standard constructor.
626
627   fHistRCPt = 0;
628   fHistRCPtExLJ = 0;
629   fHistRCPtExPartialLJ = 0;
630   //fHistRCPtRand = 0;
631   fHistRhoVSRCPt = 0;
632   fHistDeltaPtRCvsEP = 0;
633   fHistDeltaPtRCExLJ = 0;
634   fHistDeltaPtRCExPartialLJ = 0;
635   //fHistDeltaPtRCRand = 0;
636   fHistEmbJetsPtArea = 0;
637   fHistEmbJetsCorrPtArea = 0;
638   fHistEmbPartPtvsJetPt = 0;
639   fHistEmbPartPtvsJetCorrPt = 0;
640   fHistJetPtvsJetCorrPt = 0;
641   fHistDistLeadPart2JetAxis = 0;
642   fHistEmbBkgArea = 0;
643   fHistRhoVSEmbBkg = 0;
644   fHistDeltaPtEmbArea = 0;
645   fHistDeltaPtEmbvsEP = 0;
646   fCent_V0 = 0;
647   fVertex_z_cut = 0;
648   fJetBG_rho = 0;
649   fJetBG_rho_Cent = 0;
650   fTrackPt_PbPb = 0;
651   fTrackPhi_PbPb = 0;
652   fTrackEta_PbPb = 0;
653   fTrack_Phi_Eta_PbPb = 0;
654   fTrackPt_MC = 0;
655   fTrackPhi_MC = 0;
656   fTrackEta_MC = 0;
657   fTrack_Phi_Eta_MC = 0;
658   fTrackPt_EMB = 0;
659   fTrackPhi_EMB = 0;
660   fTrackEta_EMB = 0;
661   fTrack_Phi_Eta_EMB = 0;
662
663   for (Int_t i = 0; i < fNcentBins; i++) {
664     for (Int_t j = 0; j < 3; j++) {
665       fJetPt_PbPb[i][j] = 0;
666       fJetPhi_PbPb[i][j] = 0;
667       fJetEta_PbPb[i][j] = 0;
668       fJet_Phi_Eta_PbPb[i][j] = 0;
669       fJetPt_BG_PbPb[i][j] = 0;
670
671       fJetPt_MC[i][j] = 0;
672       fJetPhi_MC[i][j] = 0;
673       fJetEta_MC[i][j] = 0;
674       fJet_Phi_Eta_MC[i][j] = 0;
675
676       fJetPt_EMB[i][j] = 0;
677       fJetPhi_EMB[i][j] = 0;
678       fJetEta_EMB[i][j] = 0;
679       fJet_Phi_Eta_EMB[i][j] = 0;
680       fJetPt_BG_EMB[i][j] = 0;
681     }
682   }
683
684   for (Int_t i = 0; i < fNcentBins; i++) {
685     for (Int_t j = 0; j < 3; j++) {
686       for (Int_t k = 0; k < 4; k++) {
687         for (Int_t l = 0; l < k+1; l++) {
688           fJet1Pt_PbPb[i][j][k][l] = 0;
689           fJet2Pt_PbPb[i][j][k][l] = 0;
690           fJet1Pt_BG_PbPb[i][j][k][l] = 0;
691           fJet2Pt_BG_PbPb[i][j][k][l] = 0;
692           fJetDeltaPhi_PbPb[i][j][k][l] = 0;
693           fJetDeltaEta_PbPb[i][j][k][l] = 0;
694           fJetDeltaEP_PbPb[i][j][k][l] = 0;
695           fJet1SelectPt_BG_PbPb[i][j][k][l] = 0;
696           fJet2SelectPt_BG_PbPb[i][j][k][l] = 0;
697           fAj_PbPb[i][j][k][l] = 0;
698
699           fJet1Pt_MC[i][j][k][l] = 0;
700           fJet2Pt_MC[i][j][k][l] = 0;
701           fJetDeltaPhi_MC[i][j][k][l] = 0;
702           fJetDeltaEta_MC[i][j][k][l] = 0;
703           fJetDeltaEP_MC[i][j][k][l] = 0;
704           fAj_MC[i][j][k][l] = 0;
705
706           fJet1Pt_EMB[i][j][k][l] = 0;
707           fJet2Pt_EMB[i][j][k][l] = 0;
708           fJet1Pt_BG_EMB[i][j][k][l] = 0;
709           fJet2Pt_BG_EMB[i][j][k][l] = 0;
710           fJet1DeltaPt[i][j][k][l] = 0;
711           fJet2DeltaPt[i][j][k][l] = 0;
712           fJetDeltaPhi_EMB[i][j][k][l] = 0;
713           fJetDeltaEta_EMB[i][j][k][l] = 0;
714           fJetDeltaEP_EMB[i][j][k][l] = 0;
715           fJet1SelectPt_BG_EMB[i][j][k][l] = 0;
716           fJet2SelectPt_BG_EMB[i][j][k][l] = 0;
717           fJet1SelectDeltaPt[i][j][k][l] = 0;
718           fJet2SelectDeltaPt[i][j][k][l] = 0;
719           fAj_EMB[i][j][k][l] = 0;
720         }
721       }
722     }
723   }
724
725   for (Int_t i = 0; i < fNcentBins; i++) {
726     for (Int_t j = 0; j < 3; j++) {
727       for (Int_t k = 0; k < 4; k++) {
728         for (Int_t l = 0; l < 4; l++) {
729           for (Int_t m = 0; m < l+1; m++) {
730             fHJetDeltaPhi_Aj0_PbPb[i][j][k][l][m] = 0;
731             fHJetDeltaPhi_Aj1_PbPb[i][j][k][l][m] = 0;
732             fHJetDeltaPhi_Aj2_PbPb[i][j][k][l][m] = 0;
733             fHJetDeltaPhi_Aj3_PbPb[i][j][k][l][m] = 0;
734             fHJetDeltaPhi_Aj4_PbPb[i][j][k][l][m] = 0;
735
736             fHJetPt_Aj0_PbPb[i][j][k][l][m] = 0;
737             fHJetPt_Aj1_PbPb[i][j][k][l][m] = 0;
738             fHJetPt_Aj2_PbPb[i][j][k][l][m] = 0;
739             fHJetPt_Aj3_PbPb[i][j][k][l][m] = 0;
740             fHJetPt_Aj4_PbPb[i][j][k][l][m] = 0;
741
742             fHJetDeltaPhi_Aj0_MC[i][j][k][l][m] = 0;
743             fHJetDeltaPhi_Aj1_MC[i][j][k][l][m] = 0;
744             fHJetDeltaPhi_Aj2_MC[i][j][k][l][m] = 0;
745             fHJetDeltaPhi_Aj3_MC[i][j][k][l][m] = 0;
746             fHJetDeltaPhi_Aj4_MC[i][j][k][l][m] = 0;
747
748             fHJetPt_Aj0_MC[i][j][k][l][m] = 0;
749             fHJetPt_Aj1_MC[i][j][k][l][m] = 0;
750             fHJetPt_Aj2_MC[i][j][k][l][m] = 0;
751             fHJetPt_Aj3_MC[i][j][k][l][m] = 0;
752             fHJetPt_Aj4_MC[i][j][k][l][m] = 0;
753
754             fHJetDeltaPhi_Aj0_EMB[i][j][k][l][m] = 0;
755             fHJetDeltaPhi_Aj1_EMB[i][j][k][l][m] = 0;
756             fHJetDeltaPhi_Aj2_EMB[i][j][k][l][m] = 0;
757             fHJetDeltaPhi_Aj3_EMB[i][j][k][l][m] = 0;
758             fHJetDeltaPhi_Aj4_EMB[i][j][k][l][m] = 0;
759
760             fHJetPt_Aj0_EMB[i][j][k][l][m] = 0;
761             fHJetPt_Aj1_EMB[i][j][k][l][m] = 0;
762             fHJetPt_Aj2_EMB[i][j][k][l][m] = 0;
763             fHJetPt_Aj3_EMB[i][j][k][l][m] = 0;
764             fHJetPt_Aj4_EMB[i][j][k][l][m] = 0;
765
766           }
767         }
768       }
769     }
770   }
771
772   for (Int_t i = 0; i < fNcentBins; i++) {
773     for (Int_t j = 0; j < 4; j++) {
774       for (Int_t k = 0; k < 4; k++) {
775         for (Int_t l = 0; l < 4; l++) {
776           for (Int_t m = 0; m < l+1; m++) {
777             fHJetDeltaPhiasEP_Aj0_PbPb[i][j][k][l][m] = 0;
778             fHJetDeltaPhiasEP_Aj1_PbPb[i][j][k][l][m] = 0;
779             fHJetDeltaPhiasEP_Aj2_PbPb[i][j][k][l][m] = 0;
780             fHJetDeltaPhiasEP_Aj3_PbPb[i][j][k][l][m] = 0;
781             fHJetDeltaPhiasEP_Aj4_PbPb[i][j][k][l][m] = 0;
782
783             fHJetPtasEP_Aj0_PbPb[i][j][k][l][m] = 0;
784             fHJetPtasEP_Aj1_PbPb[i][j][k][l][m] = 0;
785             fHJetPtasEP_Aj2_PbPb[i][j][k][l][m] = 0;
786             fHJetPtasEP_Aj3_PbPb[i][j][k][l][m] = 0;
787             fHJetPtasEP_Aj4_PbPb[i][j][k][l][m] = 0;
788
789             fHJetDeltaPhiasEP_Aj0_MC[i][j][k][l][m] = 0;
790             fHJetDeltaPhiasEP_Aj1_MC[i][j][k][l][m] = 0;
791             fHJetDeltaPhiasEP_Aj2_MC[i][j][k][l][m] = 0;
792             fHJetDeltaPhiasEP_Aj3_MC[i][j][k][l][m] = 0;
793             fHJetDeltaPhiasEP_Aj4_MC[i][j][k][l][m] = 0;
794
795             fHJetPtasEP_Aj0_MC[i][j][k][l][m] = 0;
796             fHJetPtasEP_Aj1_MC[i][j][k][l][m] = 0;
797             fHJetPtasEP_Aj2_MC[i][j][k][l][m] = 0;
798             fHJetPtasEP_Aj3_MC[i][j][k][l][m] = 0;
799             fHJetPtasEP_Aj4_MC[i][j][k][l][m] = 0;
800
801             fHJetDeltaPhiasEP_Aj0_EMB[i][j][k][l][m] = 0;
802             fHJetDeltaPhiasEP_Aj1_EMB[i][j][k][l][m] = 0;
803             fHJetDeltaPhiasEP_Aj2_EMB[i][j][k][l][m] = 0;
804             fHJetDeltaPhiasEP_Aj3_EMB[i][j][k][l][m] = 0;
805             fHJetDeltaPhiasEP_Aj4_EMB[i][j][k][l][m] = 0;
806
807             fHJetPtasEP_Aj0_EMB[i][j][k][l][m] = 0;
808             fHJetPtasEP_Aj1_EMB[i][j][k][l][m] = 0;
809             fHJetPtasEP_Aj2_EMB[i][j][k][l][m] = 0;
810             fHJetPtasEP_Aj3_EMB[i][j][k][l][m] = 0;
811             fHJetPtasEP_Aj4_EMB[i][j][k][l][m] = 0;
812
813           }
814         }
815       }
816     }
817   }
818
819   SetMakeGeneralHistograms(kTRUE);
820 }
821
822 //________________________________________________________________________
823 void AliAnalysisTaskDijetHadron::AllocateHistogramArrays()
824 {
825   fHistRCPt = new TH1*[fNcentBins];
826   fHistRCPtExLJ = new TH1*[fNcentBins];
827   fHistRCPtExPartialLJ = new TH1*[fNcentBins];
828   //fHistRCPtRand = new TH1*[fNcentBins];
829   fHistRhoVSRCPt = new TH2*[fNcentBins];
830   fHistDeltaPtRCvsEP = new TH2*[fNcentBins];
831   fHistDeltaPtRCExLJ = new TH1*[fNcentBins];
832   fHistDeltaPtRCExPartialLJ = new TH1*[fNcentBins];
833   //fHistDeltaPtRCRand = new TH1*[fNcentBins];
834   fHistEmbJetsPtArea = new TH3*[fNcentBins];
835   fHistEmbJetsCorrPtArea = new TH3*[fNcentBins];
836   fHistEmbPartPtvsJetPt = new TH2*[fNcentBins];
837   fHistEmbPartPtvsJetCorrPt = new TH2*[fNcentBins];
838   fHistJetPtvsJetCorrPt = new TH2*[fNcentBins];
839   fHistDistLeadPart2JetAxis = new TH1*[fNcentBins];
840   fHistEmbBkgArea = new TH2*[fNcentBins];
841   fHistRhoVSEmbBkg = new TH2*[fNcentBins];
842   fHistDeltaPtEmbArea = new TH2*[fNcentBins];
843   fHistDeltaPtEmbvsEP = new TH2*[fNcentBins];
844   fTrackPt_PbPb = new TH1*[fNcentBins];
845   fTrackPhi_PbPb = new TH1*[fNcentBins];
846   fTrackEta_PbPb = new TH1*[fNcentBins];
847   fTrack_Phi_Eta_PbPb = new TH2*[fNcentBins];
848   fTrackPt_MC = new TH1*[fNcentBins];
849   fTrackPhi_MC = new TH1*[fNcentBins];
850   fTrackEta_MC = new TH1*[fNcentBins];
851   fTrack_Phi_Eta_MC = new TH2*[fNcentBins];
852   fTrackPt_EMB = new TH1*[fNcentBins];
853   fTrackPhi_EMB = new TH1*[fNcentBins];
854   fTrackEta_EMB = new TH1*[fNcentBins];
855   fTrack_Phi_Eta_EMB = new TH2*[fNcentBins];
856
857   for (Int_t i = 0; i < fNcentBins; i++) {
858     fHistRCPt[i] = 0;
859     fHistRCPtExLJ[i] = 0;
860     fHistRCPtExPartialLJ[i] = 0;
861     //fHistRCPtRand[i] = 0;
862     fHistRhoVSRCPt[i] = 0;
863     fHistDeltaPtRCvsEP[i] = 0;
864     fHistDeltaPtRCExLJ[i] = 0;
865     fHistDeltaPtRCExPartialLJ[i] = 0;
866     //fHistDeltaPtRCRand[i] = 0;
867     fHistEmbJetsPtArea[i] = 0;
868     fHistEmbJetsCorrPtArea[i] = 0;
869     fHistEmbPartPtvsJetPt[i] = 0;
870     fHistEmbPartPtvsJetCorrPt[i] = 0;
871     fHistJetPtvsJetCorrPt[i] = 0;
872     fHistDistLeadPart2JetAxis[i] = 0;
873     fHistEmbBkgArea[i] = 0;
874     fHistRhoVSEmbBkg[i] = 0;
875     fHistDeltaPtEmbArea[i] = 0;
876     fHistDeltaPtEmbvsEP[i] = 0;
877     fTrackPt_PbPb[i] = 0;
878     fTrackPhi_PbPb[i] = 0;
879     fTrackEta_PbPb[i] = 0;
880     fTrack_Phi_Eta_PbPb[i] = 0;
881     fTrackPt_MC[i] = 0;
882     fTrackPhi_MC[i] = 0;
883     fTrackEta_MC[i] = 0;
884     fTrack_Phi_Eta_MC[i] = 0;
885     fTrackPt_EMB[i] = 0;
886     fTrackPhi_EMB[i] = 0;
887     fTrackEta_EMB[i] = 0;
888     fTrack_Phi_Eta_EMB[i] = 0;
889   }
890
891   for (Int_t i = 0; i < fNcentBins; i++) {
892     for (Int_t j = 0; j < 3; j++) {
893       fJetPt_PbPb[i][j] = 0;
894       fJetPhi_PbPb[i][j] = 0;
895       fJetEta_PbPb[i][j] = 0;
896       fJet_Phi_Eta_PbPb[i][j] = 0;
897       fJetPt_BG_PbPb[i][j] = 0;
898
899       fJetPt_MC[i][j] = 0;
900       fJetPhi_MC[i][j] = 0;
901       fJetEta_MC[i][j] = 0;
902       fJet_Phi_Eta_MC[i][j] = 0;
903
904       fJetPt_EMB[i][j] = 0;
905       fJetPhi_EMB[i][j] = 0;
906       fJetEta_EMB[i][j] = 0;
907       fJet_Phi_Eta_EMB[i][j] = 0;
908       fJetPt_BG_EMB[i][j] = 0;
909     }
910   }
911
912   for (Int_t i = 0; i < fNcentBins; i++) {
913     for (Int_t j = 0; j < 3; j++) {
914       for (Int_t k = 0; k < 4; k++) {
915         for (Int_t l = 0; l < k+1; l++) {
916           fJet1Pt_PbPb[i][j][k][l] = 0;
917           fJet2Pt_PbPb[i][j][k][l] = 0;
918           fJet1Pt_BG_PbPb[i][j][k][l] = 0;
919           fJet2Pt_BG_PbPb[i][j][k][l] = 0;
920           fJetDeltaPhi_PbPb[i][j][k][l] = 0;
921           fJetDeltaEta_PbPb[i][j][k][l] = 0;
922           fJetDeltaEP_PbPb[i][j][k][l] = 0;
923           fJet1SelectPt_BG_PbPb[i][j][k][l] = 0;
924           fJet2SelectPt_BG_PbPb[i][j][k][l] = 0;
925           fAj_PbPb[i][j][k][l] = 0;
926
927           fJet1Pt_MC[i][j][k][l] = 0;
928           fJet2Pt_MC[i][j][k][l] = 0;
929           fJetDeltaPhi_MC[i][j][k][l] = 0;
930           fJetDeltaEta_MC[i][j][k][l] = 0;
931           fJetDeltaEP_MC[i][j][k][l] = 0;
932           fAj_MC[i][j][k][l] = 0;
933
934           fJet1Pt_EMB[i][j][k][l] = 0;
935           fJet2Pt_EMB[i][j][k][l] = 0;
936           fJet1Pt_BG_EMB[i][j][k][l] = 0;
937           fJet2Pt_BG_EMB[i][j][k][l] = 0;
938           fJet1DeltaPt[i][j][k][l] = 0;
939           fJet2DeltaPt[i][j][k][l] = 0;
940           fJetDeltaPhi_EMB[i][j][k][l] = 0;
941           fJetDeltaEta_EMB[i][j][k][l] = 0;
942           fJetDeltaEP_EMB[i][j][k][l] = 0;
943           fJet1SelectPt_BG_EMB[i][j][k][l] = 0;
944           fJet2SelectPt_BG_EMB[i][j][k][l] = 0;
945           fJet1SelectDeltaPt[i][j][k][l] = 0;
946           fJet2SelectDeltaPt[i][j][k][l] = 0;
947           fAj_EMB[i][j][k][l] = 0;
948         }
949       }
950     }
951   }
952
953   for (Int_t i = 0; i < fNcentBins; i++) {
954     for (Int_t j = 0; j < 3; j++) {
955       for (Int_t k = 0; k < 4; k++) {
956         for (Int_t l = 0; l < 4; l++) {
957           for (Int_t m = 0; m < l+1; m++) {
958             fHJetDeltaPhi_Aj0_PbPb[i][j][k][l][m] = 0;
959             fHJetDeltaPhi_Aj1_PbPb[i][j][k][l][m] = 0;
960             fHJetDeltaPhi_Aj2_PbPb[i][j][k][l][m] = 0;
961             fHJetDeltaPhi_Aj3_PbPb[i][j][k][l][m] = 0;
962             fHJetDeltaPhi_Aj4_PbPb[i][j][k][l][m] = 0;
963
964             fHJetPt_Aj0_PbPb[i][j][k][l][m] = 0;
965             fHJetPt_Aj1_PbPb[i][j][k][l][m] = 0;
966             fHJetPt_Aj2_PbPb[i][j][k][l][m] = 0;
967             fHJetPt_Aj3_PbPb[i][j][k][l][m] = 0;
968             fHJetPt_Aj4_PbPb[i][j][k][l][m] = 0;
969
970
971             fHJetDeltaPhi_Aj0_MC[i][j][k][l][m] = 0;
972             fHJetDeltaPhi_Aj1_MC[i][j][k][l][m] = 0;
973             fHJetDeltaPhi_Aj2_MC[i][j][k][l][m] = 0;
974             fHJetDeltaPhi_Aj3_MC[i][j][k][l][m] = 0;
975             fHJetDeltaPhi_Aj4_MC[i][j][k][l][m] = 0;
976
977             fHJetPt_Aj0_MC[i][j][k][l][m] = 0;
978             fHJetPt_Aj1_MC[i][j][k][l][m] = 0;
979             fHJetPt_Aj2_MC[i][j][k][l][m] = 0;
980             fHJetPt_Aj3_MC[i][j][k][l][m] = 0;
981             fHJetPt_Aj4_MC[i][j][k][l][m] = 0;
982
983             fHJetDeltaPhi_Aj0_EMB[i][j][k][l][m] = 0;
984             fHJetDeltaPhi_Aj1_EMB[i][j][k][l][m] = 0;
985             fHJetDeltaPhi_Aj2_EMB[i][j][k][l][m] = 0;
986             fHJetDeltaPhi_Aj3_EMB[i][j][k][l][m] = 0;
987             fHJetDeltaPhi_Aj4_EMB[i][j][k][l][m] = 0;
988
989             fHJetPt_Aj0_EMB[i][j][k][l][m] = 0;
990             fHJetPt_Aj1_EMB[i][j][k][l][m] = 0;
991             fHJetPt_Aj2_EMB[i][j][k][l][m] = 0;
992             fHJetPt_Aj3_EMB[i][j][k][l][m] = 0;
993             fHJetPt_Aj4_EMB[i][j][k][l][m] = 0;
994
995           }
996         }
997       }
998     }
999   }
1000
1001   for (Int_t i = 0; i < fNcentBins; i++) {
1002     for (Int_t j = 0; j < 4; j++) {
1003       for (Int_t k = 0; k < 4; k++) {
1004         for (Int_t l = 0; l < 4; l++) {
1005           for (Int_t m = 0; m < l+1; m++) {
1006
1007             fHJetDeltaPhiasEP_Aj0_PbPb[i][j][k][l][m] = 0;
1008             fHJetDeltaPhiasEP_Aj1_PbPb[i][j][k][l][m] = 0;
1009             fHJetDeltaPhiasEP_Aj2_PbPb[i][j][k][l][m] = 0;
1010             fHJetDeltaPhiasEP_Aj3_PbPb[i][j][k][l][m] = 0;
1011             fHJetDeltaPhiasEP_Aj4_PbPb[i][j][k][l][m] = 0;
1012
1013             fHJetPtasEP_Aj0_PbPb[i][j][k][l][m] = 0;
1014             fHJetPtasEP_Aj1_PbPb[i][j][k][l][m] = 0;
1015             fHJetPtasEP_Aj2_PbPb[i][j][k][l][m] = 0;
1016             fHJetPtasEP_Aj3_PbPb[i][j][k][l][m] = 0;
1017             fHJetPtasEP_Aj4_PbPb[i][j][k][l][m] = 0;
1018
1019             fHJetDeltaPhiasEP_Aj0_MC[i][j][k][l][m] = 0;
1020             fHJetDeltaPhiasEP_Aj1_MC[i][j][k][l][m] = 0;
1021             fHJetDeltaPhiasEP_Aj2_MC[i][j][k][l][m] = 0;
1022             fHJetDeltaPhiasEP_Aj3_MC[i][j][k][l][m] = 0;
1023             fHJetDeltaPhiasEP_Aj4_MC[i][j][k][l][m] = 0;
1024
1025             fHJetPtasEP_Aj0_MC[i][j][k][l][m] = 0;
1026             fHJetPtasEP_Aj1_MC[i][j][k][l][m] = 0;
1027             fHJetPtasEP_Aj2_MC[i][j][k][l][m] = 0;
1028             fHJetPtasEP_Aj3_MC[i][j][k][l][m] = 0;
1029             fHJetPtasEP_Aj4_MC[i][j][k][l][m] = 0;
1030
1031             fHJetDeltaPhiasEP_Aj0_EMB[i][j][k][l][m] = 0;
1032             fHJetDeltaPhiasEP_Aj1_EMB[i][j][k][l][m] = 0;
1033             fHJetDeltaPhiasEP_Aj2_EMB[i][j][k][l][m] = 0;
1034             fHJetDeltaPhiasEP_Aj3_EMB[i][j][k][l][m] = 0;
1035             fHJetDeltaPhiasEP_Aj4_EMB[i][j][k][l][m] = 0;
1036
1037             fHJetPtasEP_Aj0_EMB[i][j][k][l][m] = 0;
1038             fHJetPtasEP_Aj1_EMB[i][j][k][l][m] = 0;
1039             fHJetPtasEP_Aj2_EMB[i][j][k][l][m] = 0;
1040             fHJetPtasEP_Aj3_EMB[i][j][k][l][m] = 0;
1041             fHJetPtasEP_Aj4_EMB[i][j][k][l][m] = 0;
1042
1043           }
1044         }
1045       }
1046     }
1047   }
1048
1049
1050 }
1051
1052 //________________________________________________________________________
1053 void AliAnalysisTaskDijetHadron::UserCreateOutputObjects()
1054 {
1055   // Create user output.
1056
1057   AliAnalysisTaskEmcalJet::UserCreateOutputObjects();
1058
1059   AllocateHistogramArrays();
1060
1061   fJetsCont = GetJetContainer("Jets");
1062   fTracksCont = GetParticleContainer("Tracks");
1063   fCaloClustersCont = GetClusterContainer("CaloClusters");
1064   fMCJetsCont = GetJetContainer("MCJets");
1065   fMCTracksCont = GetParticleContainer("MCTracks");
1066   fMCCaloClustersCont = GetClusterContainer("MCCaloClusters");
1067   fEmbJetsCont = GetJetContainer("EmbJets");
1068   fEmbTracksCont = GetParticleContainer("EmbTracks");
1069   fEmbCaloClustersCont = GetClusterContainer("EmbCaloClusters");
1070   //fRandTracksCont = GetParticleContainer("RandTracks");
1071   //fRandCaloClustersCont = GetClusterContainer("RandCaloClusters");
1072
1073   if (fTracksCont || fCaloClustersCont) {
1074     fHistRCPhiEta = new TH2F("fHistRCPhiEta","fHistRCPhiEta", 100, -1, 1, 201, 0, TMath::Pi() * 2.01);
1075     fHistRCPhiEta->GetXaxis()->SetTitle("#eta");
1076     fHistRCPhiEta->GetYaxis()->SetTitle("#phi");
1077     fOutput->Add(fHistRCPhiEta);
1078
1079     if (fJetsCont) {
1080       fHistRCPtExLJVSDPhiLJ = new TH2F("fHistRCPtExLJVSDPhiLJ","fHistRCPtExLJVSDPhiLJ", fNbins, fMinBinPt, fMaxBinPt, 128, -1.6, 4.8);
1081       fHistRCPtExLJVSDPhiLJ->GetXaxis()->SetTitle("#it{p}_{T} (GeV/#it{c})");
1082       fHistRCPtExLJVSDPhiLJ->GetYaxis()->SetTitle("#Delta#phi");
1083       fOutput->Add(fHistRCPtExLJVSDPhiLJ);
1084
1085       fHistRCPtExPartialLJVSDPhiLJ = new TH2F("fHistRCPtExPartialLJVSDPhiLJ","fHistRCPtExPartialLJVSDPhiLJ", fNbins, fMinBinPt, fMaxBinPt, 128, -1.6, 4.8);
1086       fHistRCPtExPartialLJVSDPhiLJ->GetXaxis()->SetTitle("#it{p}_{T} (GeV/#it{c})");
1087       fHistRCPtExPartialLJVSDPhiLJ->GetYaxis()->SetTitle("#Delta#phi");
1088       fOutput->Add(fHistRCPtExPartialLJVSDPhiLJ);
1089     }
1090   }
1091
1092   if (fEmbJetsCont) {
1093     fHistEmbJetsPhiEta = new TH2F("fHistEmbJetsPhiEta","fHistEmbJetsPhiEta", 100, -1, 1, 201, 0, TMath::Pi() * 2.01);
1094     fHistEmbJetsPhiEta->GetXaxis()->SetTitle("#eta");
1095     fHistEmbJetsPhiEta->GetYaxis()->SetTitle("#phi");
1096     fOutput->Add(fHistEmbJetsPhiEta);
1097     
1098     fHistLeadPartPhiEta = new TH2F("fHistLeadPartPhiEta","fHistLeadPartPhiEta", 100, -1, 1, 201, 0, TMath::Pi() * 2.01);
1099     fHistLeadPartPhiEta->GetXaxis()->SetTitle("#eta");
1100     fHistLeadPartPhiEta->GetYaxis()->SetTitle("#phi");
1101     fOutput->Add(fHistLeadPartPhiEta);
1102   }
1103
1104   TString histname;
1105
1106   const Int_t nbinsZ = 12;
1107   Double_t binsZ[nbinsZ+1] = {0,1,2,3,4,5,6,7,8,9,10,20,1000};
1108
1109   Double_t *binsPt       = GenerateFixedBinArray(fNbins, fMinBinPt, fMaxBinPt);
1110   Double_t *binsCorrPt   = GenerateFixedBinArray(fNbins*2, -fMaxBinPt, fMaxBinPt);
1111   Double_t *binsArea     = GenerateFixedBinArray(50, 0, 2);
1112
1113   for (Int_t i = 0; i < fNcentBins; i++) {
1114     if (fTracksCont || fCaloClustersCont) {
1115       histname = "fHistRCPt_";
1116       histname += i;
1117       fHistRCPt[i] = new TH1F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt * 2);
1118       fHistRCPt[i]->GetXaxis()->SetTitle("#it{p}_{T} (GeV/#it{c})");
1119       fHistRCPt[i]->GetYaxis()->SetTitle("counts");
1120       fOutput->Add(fHistRCPt[i]);
1121
1122       histname = "fHistRhoVSRCPt_";
1123       histname += i;
1124       fHistRhoVSRCPt[i] = new TH2F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt, fNbins, fMinBinPt, fMaxBinPt);
1125       fHistRhoVSRCPt[i]->GetXaxis()->SetTitle("A#rho (GeV/#it{c})");
1126       fHistRhoVSRCPt[i]->GetYaxis()->SetTitle("#it{p}_{T} (GeV/#it{c})");
1127       fOutput->Add(fHistRhoVSRCPt[i]);
1128
1129       histname = "fHistDeltaPtRCvsEP_";
1130       histname += i;
1131       fHistDeltaPtRCvsEP[i] = new TH2F(histname.Data(), histname.Data(), 101, 0, TMath::Pi()*1.01, fNbins * 2, -fMaxBinPt, fMaxBinPt);
1132       fHistDeltaPtRCvsEP[i]->GetXaxis()->SetTitle("#phi_{RC} - #psi_{RP}");
1133       fHistDeltaPtRCvsEP[i]->GetYaxis()->SetTitle("#delta#it{p}_{T}^{RC} (GeV/#it{c})");
1134       fHistDeltaPtRCvsEP[i]->GetZaxis()->SetTitle("counts");
1135       fOutput->Add(fHistDeltaPtRCvsEP[i]);
1136       
1137       if (fJetsCont) {
1138         histname = "fHistRCPtExLJ_";
1139         histname += i;
1140         fHistRCPtExLJ[i] = new TH1F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt * 2);
1141         fHistRCPtExLJ[i]->GetXaxis()->SetTitle("#it{p}_{T}^{RC} (GeV/#it{c})");
1142         fHistRCPtExLJ[i]->GetYaxis()->SetTitle("counts");
1143         fOutput->Add(fHistRCPtExLJ[i]);
1144
1145         histname = "fHistDeltaPtRCExLJ_";
1146         histname += i;
1147         fHistDeltaPtRCExLJ[i] = new TH1F(histname.Data(), histname.Data(), fNbins * 2, -fMaxBinPt, fMaxBinPt);
1148         fHistDeltaPtRCExLJ[i]->GetXaxis()->SetTitle("#delta#it{p}_{T}^{RC} (GeV/#it{c})");
1149         fHistDeltaPtRCExLJ[i]->GetYaxis()->SetTitle("counts");
1150         fOutput->Add(fHistDeltaPtRCExLJ[i]);
1151
1152         histname = "fHistRCPtExPartialLJ_";
1153         histname += i;
1154         fHistRCPtExPartialLJ[i] = new TH1F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt * 2);
1155         fHistRCPtExPartialLJ[i]->GetXaxis()->SetTitle("#it{p}_{T}^{RC} (GeV/#it{c})");
1156         fHistRCPtExPartialLJ[i]->GetYaxis()->SetTitle("counts");
1157         fOutput->Add(fHistRCPtExPartialLJ[i]);
1158
1159         histname = "fHistDeltaPtRCExPartialLJ_";
1160         histname += i;
1161         fHistDeltaPtRCExPartialLJ[i] = new TH1F(histname.Data(), histname.Data(), fNbins * 2, -fMaxBinPt, fMaxBinPt);
1162         fHistDeltaPtRCExPartialLJ[i]->GetXaxis()->SetTitle("#delta#it{p}_{T}^{RC} (GeV/#it{c})");
1163         fHistDeltaPtRCExPartialLJ[i]->GetYaxis()->SetTitle("counts");
1164         fOutput->Add(fHistDeltaPtRCExPartialLJ[i]);
1165       }
1166     }
1167
1168     /*if (fRandTracksCont || fRandCaloClustersCont) {
1169       histname = "fHistRCPtRand_";
1170       histname += i;
1171       fHistRCPtRand[i] = new TH1F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt * 2);
1172       fHistRCPtRand[i]->GetXaxis()->SetTitle("#it{p}_{T}^{RC} (GeV/#it{c})");
1173       fHistRCPtRand[i]->GetYaxis()->SetTitle("counts");
1174       fOutput->Add(fHistRCPtRand[i]);
1175
1176       histname = "fHistDeltaPtRCRand_";
1177       histname += i;
1178       fHistDeltaPtRCRand[i] = new TH1F(histname.Data(), histname.Data(), fNbins * 2, -fMaxBinPt, fMaxBinPt);
1179       fHistDeltaPtRCRand[i]->GetXaxis()->SetTitle("#delta#it{p}_{T}^{RC} (GeV/#it{c})");
1180       fHistDeltaPtRCRand[i]->GetYaxis()->SetTitle("counts");
1181       fOutput->Add(fHistDeltaPtRCRand[i]);
1182       }*/
1183
1184     if (fEmbJetsCont) {
1185       histname = "fHistEmbJetsPtArea_";
1186       histname += i;
1187       fHistEmbJetsPtArea[i] = new TH3F(histname.Data(), histname.Data(), 50, binsArea, fNbins, binsPt, nbinsZ, binsZ);
1188       fHistEmbJetsPtArea[i]->GetXaxis()->SetTitle("area");
1189       fHistEmbJetsPtArea[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb,raw} (GeV/#it{c})");
1190       fOutput->Add(fHistEmbJetsPtArea[i]);
1191
1192       histname = "fHistEmbJetsCorrPtArea_";
1193       histname += i;
1194       fHistEmbJetsCorrPtArea[i] = new TH3F(histname.Data(), histname.Data(), 50, binsArea, fNbins * 2, binsCorrPt, nbinsZ, binsZ);
1195       fHistEmbJetsCorrPtArea[i]->GetXaxis()->SetTitle("area");
1196       fHistEmbJetsCorrPtArea[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb,corr} (GeV/#it{c})");
1197       fOutput->Add(fHistEmbJetsCorrPtArea[i]);
1198
1199       histname = "fHistEmbPartPtvsJetPt_";
1200       histname += i;
1201       fHistEmbPartPtvsJetPt[i] = new TH2F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt, fNbins, fMinBinPt, fMaxBinPt);
1202       fHistEmbPartPtvsJetPt[i]->GetXaxis()->SetTitle("#sum#it{p}_{T,const}^{emb} (GeV/#it{c})");
1203       fHistEmbPartPtvsJetPt[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb} (GeV/#it{c})");
1204       fHistEmbPartPtvsJetPt[i]->GetZaxis()->SetTitle("counts");
1205       fOutput->Add(fHistEmbPartPtvsJetPt[i]);
1206
1207       histname = "fHistEmbPartPtvsJetCorrPt_";
1208       histname += i;
1209       fHistEmbPartPtvsJetCorrPt[i] = new TH2F(histname.Data(), histname.Data(), 
1210                                               fNbins, fMinBinPt, fMaxBinPt, fNbins*2, -fMaxBinPt, fMaxBinPt);
1211       fHistEmbPartPtvsJetCorrPt[i]->GetXaxis()->SetTitle("#sum#it{p}_{T,const}^{emb} (GeV/#it{c})");
1212       fHistEmbPartPtvsJetCorrPt[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb} - A#rho (GeV/#it{c})");
1213       fHistEmbPartPtvsJetCorrPt[i]->GetZaxis()->SetTitle("counts");
1214       fOutput->Add(fHistEmbPartPtvsJetCorrPt[i]);
1215
1216       histname = "fHistJetPtvsJetCorrPt_";
1217       histname += i;
1218       fHistJetPtvsJetCorrPt[i] = new TH2F(histname.Data(), histname.Data(), 
1219                                           fNbins, fMinBinPt, fMaxBinPt, fNbins*2, -fMaxBinPt, fMaxBinPt);
1220       fHistJetPtvsJetCorrPt[i]->GetXaxis()->SetTitle("#it{p}_{T,jet}^{emb} (GeV/#it{c})");
1221       fHistJetPtvsJetCorrPt[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb} - A#rho (GeV/#it{c})");
1222       fHistJetPtvsJetCorrPt[i]->GetZaxis()->SetTitle("counts");
1223       fOutput->Add(fHistJetPtvsJetCorrPt[i]);
1224
1225       histname = "fHistDistLeadPart2JetAxis_";
1226       histname += i;
1227       fHistDistLeadPart2JetAxis[i] = new TH1F(histname.Data(), histname.Data(), 50, 0, 0.5);
1228       fHistDistLeadPart2JetAxis[i]->GetXaxis()->SetTitle("distance");
1229       fHistDistLeadPart2JetAxis[i]->GetYaxis()->SetTitle("counts");
1230       fOutput->Add(fHistDistLeadPart2JetAxis[i]);
1231
1232       histname = "fHistEmbBkgArea_";
1233       histname += i;
1234       fHistEmbBkgArea[i] = new TH2F(histname.Data(), histname.Data(), 50, 0, 2, fNbins, fMinBinPt, fMaxBinPt);
1235       fHistEmbBkgArea[i]->GetXaxis()->SetTitle("area");
1236       fHistEmbBkgArea[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb} - #sum#it{p}_{T,const}^{emb} (GeV/#it{c})");
1237       fOutput->Add(fHistEmbBkgArea[i]);
1238
1239       histname = "fHistRhoVSEmbBkg_";
1240       histname += i;
1241       fHistRhoVSEmbBkg[i] = new TH2F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt, fNbins, fMinBinPt, fMaxBinPt);
1242       fHistRhoVSEmbBkg[i]->GetXaxis()->SetTitle("A#rho (GeV/#it{c})");
1243       fHistRhoVSEmbBkg[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb} - #sum#it{p}_{T,const}^{emb} (GeV/#it{c})");
1244       fOutput->Add(fHistRhoVSEmbBkg[i]);
1245       
1246       histname = "fHistDeltaPtEmbArea_";
1247       histname += i;
1248       fHistDeltaPtEmbArea[i] = new TH2F(histname.Data(), histname.Data(), 
1249                                         50, 0, 2, fNbins * 2, -fMaxBinPt, fMaxBinPt);
1250       fHistDeltaPtEmbArea[i]->GetXaxis()->SetTitle("area");
1251       fHistDeltaPtEmbArea[i]->GetYaxis()->SetTitle("#delta#it{p}_{T}^{emb} (GeV/#it{c})");
1252       fHistDeltaPtEmbArea[i]->GetZaxis()->SetTitle("counts");
1253       fOutput->Add(fHistDeltaPtEmbArea[i]);
1254
1255       histname = "fHistDeltaPtEmbvsEP_";
1256       histname += i;
1257       fHistDeltaPtEmbvsEP[i] = new TH2F(histname.Data(), histname.Data(), 101, 0, TMath::Pi()*1.01, fNbins * 2, -fMaxBinPt, fMaxBinPt);
1258       fHistDeltaPtEmbvsEP[i]->GetXaxis()->SetTitle("#phi_{jet} - #Psi_{EP}");
1259       fHistDeltaPtEmbvsEP[i]->GetYaxis()->SetTitle("#delta#it{p}_{T}^{emb} (GeV/#it{c})");
1260       fHistDeltaPtEmbvsEP[i]->GetZaxis()->SetTitle("counts");
1261       fOutput->Add(fHistDeltaPtEmbvsEP[i]);
1262     }
1263   }
1264
1265   //User Task
1266   fCent_V0  = new TH1F("fCent_V0", "Centrality (all) by V0M", 103,-2,101);
1267   fOutput->Add(fCent_V0);
1268   fVertex_z_cut = new TH1F("fVertex_z_cut", "SPD vertex z (cut)", 120,-30,30);
1269   fOutput->Add(fVertex_z_cut);
1270   fJetBG_rho = new TH1F("fJetBG_rho","fJetBG_rho",300,0,300);
1271   fOutput->Add(fJetBG_rho);
1272   fJetBG_rho_Cent = new TH2F("fJetBG_rho_Cent","fJetBG_rho_Cent",100,0,100,300,0,300);
1273   fOutput->Add(fJetBG_rho_Cent);
1274   //fhPtHardBins = new TH1F("fhPtHardBins","Number of events in each pT hard bin",11,0,11);
1275   //fOutput->Add(fhPtHardBins);
1276
1277   // Track histograms...
1278   for (Int_t i = 0; i < fNcentBins; i++) {
1279     //PbPb
1280     fTrackPt_PbPb[i]     = new TH1F(Form("fTrackPt_PbPb[%d]",i),Form("fTrackPt_PbPb[%d]",i),100,-80,120);
1281     fOutput->Add(fTrackPt_PbPb[i]);
1282     fTrackPhi_PbPb[i]     = new TH1F(Form("fTrackPhi_PbPb[%d]",i),Form("fTrackPhi_PbPb[%d]",i),40,0.0,2.*pi);
1283     fOutput->Add(fTrackPhi_PbPb[i]);
1284     fTrackEta_PbPb[i]     = new TH1F(Form("fTrackEta_PbPb[%d]",i),Form("fTrackEta_PbPb[%d]",i),40,-1.,1.);
1285     fOutput->Add(fTrackEta_PbPb[i]);
1286     fTrack_Phi_Eta_PbPb[i]     = new TH2F(Form("fTrack_Phi_Eta_PbPb[%d]",i),Form("fTrack_Phi_Eta_PbPb[%d]",i),40,0.0,2.*pi,40,-1.,1.);
1287     fOutput->Add(fTrack_Phi_Eta_PbPb[i]);
1288
1289     //MC
1290     fTrackPt_MC[i]     = new TH1F(Form("fTrackPt_MC[%d]",i),Form("fTrackPt_MC[%d]",i),100,-80,120);
1291     fOutput->Add(fTrackPt_MC[i]);
1292     fTrackPhi_MC[i]     = new TH1F(Form("fTrackPhi_MC[%d]",i),Form("fTrackPhi_MC[%d]",i),40,0.0,2.*pi);
1293     fOutput->Add(fTrackPhi_MC[i]);
1294     fTrackEta_MC[i]     = new TH1F(Form("fTrackEta_MC[%d]",i),Form("fTrackEta_MC[%d]",i),40,-1.,1.);
1295     fOutput->Add(fTrackEta_MC[i]);
1296     fTrack_Phi_Eta_MC[i]     = new TH2F(Form("fTrack_Phi_Eta_MC[%d]",i),Form("fTrack_Phi_Eta_MC[%d]",i),40,0.0,2.*pi,40,-1.,1.);
1297     fOutput->Add(fTrack_Phi_Eta_MC[i]);
1298
1299     //EMB
1300     fTrackPt_EMB[i]     = new TH1F(Form("fTrackPt_EMB[%d]",i),Form("fTrackPt_EMB[%d]",i),100,-80,120);
1301     fOutput->Add(fTrackPt_EMB[i]);
1302     fTrackPhi_EMB[i]     = new TH1F(Form("fTrackPhi_EMB[%d]",i),Form("fTrackPhi_EMB[%d]",i),40,0.0,2.*pi);
1303     fOutput->Add(fTrackPhi_EMB[i]);
1304     fTrackEta_EMB[i]     = new TH1F(Form("fTrackEta_EMB[%d]",i),Form("fTrackEta_EMB[%d]",i),40,-1.,1.);
1305     fOutput->Add(fTrackEta_EMB[i]);
1306     fTrack_Phi_Eta_EMB[i]     = new TH2F(Form("fTrack_Phi_Eta_EMB[%d]",i),Form("fTrack_Phi_Eta_EMB[%d]",i),40,0.0,2.*pi,40,-1.,1.);
1307     fOutput->Add(fTrack_Phi_Eta_EMB[i]);
1308   }
1309
1310   for (Int_t i = 0; i < fNcentBins; i++) {
1311     for (Int_t j = 0; j < 3; j++) {
1312       //Jet Histgrams...
1313       //PbPb
1314       fJetPt_PbPb[i][j] = new TH1F(Form("fJetPt_PbPb[%d][%d]",i,j),Form("fJetPt_PbPb[%d][%d]",i,j),100,-80,120);
1315       fOutput->Add(fJetPt_PbPb[i][j]);
1316       fJetPhi_PbPb[i][j] = new TH1F(Form("fJetPhi_PbPb[%d][%d]",i,j),Form("fJetPhi_PbPb[%d][%d]",i,j),40,0.0, 2*pi);
1317       fOutput->Add(fJetPhi_PbPb[i][j]);
1318       fJetEta_PbPb[i][j] = new TH1F(Form("fJetEta_PbPb[%d][%d]",i,j),Form("fJetEta_PbPb[%d][%d]",i,j),40,-1.,1.);
1319       fOutput->Add(fJetEta_PbPb[i][j]);
1320       fJet_Phi_Eta_PbPb[i][j] = new TH2F(Form("fJet_Phi_Eta_PbPb[%d][%d]",i,j),Form("fJet_Phi_Eta_PbPb[%d][%d]",i,j),40,0.0, 2*pi,40,-1.,1.);
1321       fOutput->Add(fJet_Phi_Eta_PbPb[i][j]);
1322       fJetPt_BG_PbPb[i][j] = new TH1F(Form("fJetPt_BG_PbPb[%d][%d]",i,j),Form("fJetPt_BG_PbPb[%d][%d]",i,j),100,-80,120);
1323       fOutput->Add(fJetPt_BG_PbPb[i][j]);
1324
1325       //MC
1326       fJetPt_MC[i][j] = new TH1F(Form("fJetPt_MC[%d][%d]",i,j),Form("fJetPt_MC[%d][%d]",i,j),100,-80,120);
1327       fOutput->Add(fJetPt_MC[i][j]);
1328       fJetPhi_MC[i][j] = new TH1F(Form("fJetPhi_MC[%d][%d]",i,j),Form("fJetPhi_MC[%d][%d]",i,j),40,0.0, 2*pi);
1329       fOutput->Add(fJetPhi_MC[i][j]);
1330       fJetEta_MC[i][j] = new TH1F(Form("fJetEta_MC[%d][%d]",i,j),Form("fJetEta_MC[%d][%d]",i,j),40,-1.,1.);
1331       fOutput->Add(fJetEta_MC[i][j]);
1332       fJet_Phi_Eta_MC[i][j] = new TH2F(Form("fJet_Phi_Eta_MC[%d][%d]",i,j),Form("fJet_Phi_Eta_MC[%d][%d]",i,j),40,0.0, 2*pi,40,-1.,1.);
1333       fOutput->Add(fJet_Phi_Eta_MC[i][j]);
1334
1335       //EMB
1336       fJetPt_EMB[i][j] = new TH1F(Form("fJetPt_EMB[%d][%d]",i,j),Form("fJetPt_EMB[%d][%d]",i,j),100,-80,120);
1337       fOutput->Add(fJetPt_EMB[i][j]);
1338       fJetPhi_EMB[i][j] = new TH1F(Form("fJetPhi_EMB[%d][%d]",i,j),Form("fJetPhi_EMB[%d][%d]",i,j),40,0.0, 2*pi);
1339       fOutput->Add(fJetPhi_EMB[i][j]);
1340       fJetEta_EMB[i][j] = new TH1F(Form("fJetEta_EMB[%d][%d]",i,j),Form("fJetEta_EMB[%d][%d]",i,j),40,-1.,1.);
1341       fOutput->Add(fJetEta_EMB[i][j]);
1342       fJet_Phi_Eta_EMB[i][j] = new TH2F(Form("fJet_Phi_Eta_EMB[%d][%d]",i,j),Form("fJet_Phi_Eta_EMB[%d][%d]",i,j),40,0.0, 2*pi,40,-1.,1.);
1343       fOutput->Add(fJet_Phi_Eta_EMB[i][j]);
1344       fJetPt_BG_EMB[i][j] = new TH1F(Form("fJetPt_BG_EMB[%d][%d]",i,j),Form("fJetPt_BG_EMB[%d][%d]",i,j),100,-80,120);
1345       fOutput->Add(fJetPt_BG_EMB[i][j]);
1346       fJetDeltaPt[i][j] = new TH1F(Form("fJetDeltaPt[%d][%d]",i,j),Form("fJetDeltaPt[%d][%d]",i,j),100,-80,120);
1347       fOutput->Add(fJetDeltaPt[i][j]);
1348
1349     }
1350   }
1351
1352   for (Int_t i = 0; i < fNcentBins; i++) {
1353     for (Int_t j = 0; j < 3; j++) {
1354       for (Int_t k = 0; k < 4; k++) {
1355         for (Int_t l = 0; l < k+1; l++) {
1356           // Jet Histgrams...
1357           //PbPb
1358           fJet1Pt_PbPb[i][j][k][l] = new TH1F(Form("fJet1Pt_PbPb[%d][%d][%d][%d]",i,j,k,l),Form("fJet1Pt_PbPb[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1359           fOutput->Add(fJet1Pt_PbPb[i][j][k][l]);
1360           fJet2Pt_PbPb[i][j][k][l] = new TH1F(Form("fJet2Pt_PbPb[%d][%d][%d][%d]",i,j,k,l),Form("fJet2Pt_PbPb[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1361           fOutput->Add(fJet2Pt_PbPb[i][j][k][l]);
1362           fJet1Pt_BG_PbPb[i][j][k][l] = new TH1F(Form("fJet1Pt_BG_PbPb[%d][%d][%d][%d]",i,j,k,l),Form("fJet1Pt_BG_PbPb[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1363           fOutput->Add(fJet1Pt_BG_PbPb[i][j][k][l]);
1364           fJet2Pt_BG_PbPb[i][j][k][l] = new TH1F(Form("fJet2Pt_BG_PbPb[%d][%d][%d][%d]",i,j,k,l),Form("fJet2Pt_BG_PbPb[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1365           fOutput->Add(fJet2Pt_BG_PbPb[i][j][k][l]);
1366           fJetDeltaPhi_PbPb[i][j][k][l] = new TH1F(Form("fJetDeltaPhi_PbPb[%d][%d][%d][%d]",i,j,k,l),Form("fJetDeltaPhi_PbPb[%d][%d][%d][%d]",i,j,k,l),40,-1./2.*pi,3./2.*pi);
1367           fOutput->Add(fJetDeltaPhi_PbPb[i][j][k][l]);
1368           fJetDeltaEta_PbPb[i][j][k][l] = new TH1F(Form("fJetDeltaEta_PbPb[%d][%d][%d][%d]",i,j,k,l),Form("fJetDeltaEta_PbPb[%d][%d][%d][%d]",i,j,k,l),40,-1.0,1.0);
1369           fOutput->Add(fJetDeltaEta_PbPb[i][j][k][l]);
1370           fJetDeltaEP_PbPb[i][j][k][l] = new TH1F(Form("fJetDeltaEP_PbPb[%d][%d][%d][%d]",i,j,k,l),Form("fJetDeltaEP_PbPb[%d][%d][%d][%d]",i,j,k,l),40,0.,pi);
1371           fOutput->Add(fJetDeltaEP_PbPb[i][j][k][l]);
1372           fJet1SelectPt_BG_PbPb[i][j][k][l] = new TH1F(Form("fJet1SelectPt_BG_PbPb[%d][%d][%d][%d]",i,j,k,l),Form("fJet1SelectPt_BG_PbPb[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1373           fOutput->Add(fJet1SelectPt_BG_PbPb[i][j][k][l]);
1374           fJet2SelectPt_BG_PbPb[i][j][k][l] = new TH1F(Form("fJet2SelectPt_BG_PbPb[%d][%d][%d][%d]",i,j,k,l),Form("fJet2SelectPt_BG_PbPb[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1375           fOutput->Add(fJet2SelectPt_BG_PbPb[i][j][k][l]);
1376           fAj_PbPb[i][j][k][l] = new TH1F(Form("fAj_PbPb[%d][%d][%d][%d]",i,j,k,l),Form("fAj_PbPb[%d][%d][%d][%d]",i,j,k,l),20,0.,1.);
1377           fOutput->Add(fAj_PbPb[i][j][k][l]);
1378
1379           //MC
1380           fJet1Pt_MC[i][j][k][l] = new TH1F(Form("fJet1Pt_MC[%d][%d][%d][%d]",i,j,k,l),Form("fJet1Pt_MC[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1381           fOutput->Add(fJet1Pt_MC[i][j][k][l]);
1382           fJet2Pt_MC[i][j][k][l] = new TH1F(Form("fJet2Pt_MC[%d][%d][%d][%d]",i,j,k,l),Form("fJet2Pt_MC[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1383           fOutput->Add(fJet2Pt_MC[i][j][k][l]);
1384           fJetDeltaPhi_MC[i][j][k][l] = new TH1F(Form("fJetDeltaPhi_MC[%d][%d][%d][%d]",i,j,k,l),Form("fJetDeltaPhi_MC[%d][%d][%d][%d]",i,j,k,l),40,-1./2.*pi,3./2.*pi);
1385           fOutput->Add(fJetDeltaPhi_MC[i][j][k][l]);
1386           fJetDeltaEta_MC[i][j][k][l] = new TH1F(Form("fJetDeltaEta_MC[%d][%d][%d][%d]",i,j,k,l),Form("fJetDeltaEta_MC[%d][%d][%d][%d]",i,j,k,l),40,-1.0,1.0);
1387           fOutput->Add(fJetDeltaEta_MC[i][j][k][l]);
1388           fJetDeltaEP_MC[i][j][k][l] = new TH1F(Form("fJetDeltaEP_MC[%d][%d][%d][%d]",i,j,k,l),Form("fJetDeltaEP_MC[%d][%d][%d][%d]",i,j,k,l),40,0.,pi);
1389           fOutput->Add(fJetDeltaEP_MC[i][j][k][l]);
1390           fAj_MC[i][j][k][l] = new TH1F(Form("fAj_MC[%d][%d][%d][%d]",i,j,k,l),Form("fAj_MC[%d][%d][%d][%d]",i,j,k,l),20,0.,1.);
1391           fOutput->Add(fAj_MC[i][j][k][l]);
1392
1393           //EMB
1394           fJet1Pt_EMB[i][j][k][l] = new TH1F(Form("fJet1Pt_EMB[%d][%d][%d][%d]",i,j,k,l),Form("fJet1Pt_EMB[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1395           fOutput->Add(fJet1Pt_EMB[i][j][k][l]);
1396           fJet2Pt_EMB[i][j][k][l] = new TH1F(Form("fJet2Pt_EMB[%d][%d][%d][%d]",i,j,k,l),Form("fJet2Pt_EMB[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1397           fOutput->Add(fJet2Pt_EMB[i][j][k][l]);
1398           fJet1Pt_BG_EMB[i][j][k][l] = new TH1F(Form("fJet1Pt_BG_EMB[%d][%d][%d][%d]",i,j,k,l),Form("fJet1Pt_BG_EMB[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1399           fOutput->Add(fJet1Pt_BG_EMB[i][j][k][l]);
1400           fJet2Pt_BG_EMB[i][j][k][l] = new TH1F(Form("fJet2Pt_BG_EMB[%d][%d][%d][%d]",i,j,k,l),Form("fJet2Pt_BG_EMB[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1401           fOutput->Add(fJet2Pt_BG_EMB[i][j][k][l]);
1402           fJet1DeltaPt[i][j][k][l] = new TH1F(Form("fJet1DeltaPt[%d][%d][%d][%d]",i,j,k,l),Form("fJet1DeltaPt[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1403           fOutput->Add(fJet1DeltaPt[i][j][k][l]);
1404           fJet2DeltaPt[i][j][k][l] = new TH1F(Form("fJet2DeltaPt[%d][%d][%d][%d]",i,j,k,l),Form("fJet2DeltaPt[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1405           fOutput->Add(fJet2DeltaPt[i][j][k][l]);
1406           fJetDeltaPhi_EMB[i][j][k][l] = new TH1F(Form("fJetDeltaPhi_EMB[%d][%d][%d][%d]",i,j,k,l),Form("fJetDeltaPhi_EMB[%d][%d][%d][%d]",i,j,k,l),40,-1./2.*pi,3./2.*pi);
1407           fOutput->Add(fJetDeltaPhi_EMB[i][j][k][l]);
1408           fJetDeltaEta_EMB[i][j][k][l] = new TH1F(Form("fJetDeltaEta_EMB[%d][%d][%d][%d]",i,j,k,l),Form("fJetDeltaEta_EMB[%d][%d][%d][%d]",i,j,k,l),40,-1.0,1.0);
1409           fOutput->Add(fJetDeltaEta_EMB[i][j][k][l]);
1410           fJetDeltaEP_EMB[i][j][k][l] = new TH1F(Form("fJetDeltaEP_EMB[%d][%d][%d][%d]",i,j,k,l),Form("fJetDeltaEP_EMB[%d][%d][%d][%d]",i,j,k,l),40,0.,pi);
1411           fOutput->Add(fJetDeltaEP_EMB[i][j][k][l]);
1412           fJet1SelectPt_BG_EMB[i][j][k][l] = new TH1F(Form("fJet1SelectPt_BG_EMB[%d][%d][%d][%d]",i,j,k,l),Form("fJet1SelectPt_BG_EMB[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1413           fOutput->Add(fJet1SelectPt_BG_EMB[i][j][k][l]);
1414           fJet2SelectPt_BG_EMB[i][j][k][l] = new TH1F(Form("fJet2SelectPt_BG_EMB[%d][%d][%d][%d]",i,j,k,l),Form("fJet2SelectPt_BG_EMB[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1415           fOutput->Add(fJet2SelectPt_BG_EMB[i][j][k][l]);
1416           fJet1SelectDeltaPt[i][j][k][l] = new TH1F(Form("fJet1SelectDeltaPt[%d][%d][%d][%d]",i,j,k,l),Form("fJet1SelectDeltaPt[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1417           fOutput->Add(fJet1SelectDeltaPt[i][j][k][l]);
1418           fJet2SelectDeltaPt[i][j][k][l] = new TH1F(Form("fJet2SelectDeltaPt[%d][%d][%d][%d]",i,j,k,l),Form("fJet2SelectDeltaPt[%d][%d][%d][%d]",i,j,k,l),100,-80,120);
1419           fOutput->Add(fJet2SelectDeltaPt[i][j][k][l]);
1420           fAj_EMB[i][j][k][l] = new TH1F(Form("fAj_EMB[%d][%d][%d][%d]",i,j,k,l),Form("fAj_EMB[%d][%d][%d][%d]",i,j,k,l),20,0.,1.);
1421           fOutput->Add(fAj_EMB[i][j][k][l]);
1422
1423
1424         }
1425       }
1426     }
1427   }
1428
1429   for (Int_t i = 0; i < fNcentBins; i++) {
1430     for (Int_t j = 0; j < 3; j++) {
1431       for (Int_t k = 0; k < 4; k++) {
1432         for (Int_t l = 0; l < 4; l++) {
1433           for (Int_t m = 0; m < l+1; m++) {
1434             // Jet-Hadron Histgrams...
1435             //PbPb
1436             fHJetDeltaPhi_Aj0_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj0_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj0_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1437             fOutput->Add(fHJetDeltaPhi_Aj0_PbPb[i][j][k][l][m]);
1438             fHJetDeltaPhi_Aj1_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj1_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj1_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1439             fOutput->Add(fHJetDeltaPhi_Aj1_PbPb[i][j][k][l][m]);
1440             fHJetDeltaPhi_Aj2_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj2_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj2_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1441             fOutput->Add(fHJetDeltaPhi_Aj2_PbPb[i][j][k][l][m]);
1442             fHJetDeltaPhi_Aj3_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj3_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj3_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1443             fOutput->Add(fHJetDeltaPhi_Aj3_PbPb[i][j][k][l][m]);
1444             fHJetDeltaPhi_Aj4_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj4_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj4_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1445             fOutput->Add(fHJetDeltaPhi_Aj4_PbPb[i][j][k][l][m]);
1446
1447             fHJetPt_Aj0_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj0_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj0_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1448             fOutput->Add(fHJetPt_Aj0_PbPb[i][j][k][l][m]);
1449             fHJetPt_Aj1_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj1_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj1_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1450             fOutput->Add(fHJetPt_Aj1_PbPb[i][j][k][l][m]);
1451             fHJetPt_Aj2_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj2_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj2_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1452             fOutput->Add(fHJetPt_Aj2_PbPb[i][j][k][l][m]);
1453             fHJetPt_Aj3_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj3_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj3_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1454             fOutput->Add(fHJetPt_Aj3_PbPb[i][j][k][l][m]);
1455             fHJetPt_Aj4_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj4_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj4_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1456             fOutput->Add(fHJetPt_Aj4_PbPb[i][j][k][l][m]);
1457
1458             //MC
1459             fHJetDeltaPhi_Aj0_MC[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj0_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj0_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1460             fOutput->Add(fHJetDeltaPhi_Aj0_MC[i][j][k][l][m]);
1461             fHJetDeltaPhi_Aj1_MC[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj1_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj1_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1462             fOutput->Add(fHJetDeltaPhi_Aj1_MC[i][j][k][l][m]);
1463             fHJetDeltaPhi_Aj2_MC[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj2_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj2_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1464             fOutput->Add(fHJetDeltaPhi_Aj2_MC[i][j][k][l][m]);
1465             fHJetDeltaPhi_Aj3_MC[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj3_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj3_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1466             fOutput->Add(fHJetDeltaPhi_Aj3_MC[i][j][k][l][m]);
1467             fHJetDeltaPhi_Aj4_MC[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj4_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj4_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1468             fOutput->Add(fHJetDeltaPhi_Aj4_MC[i][j][k][l][m]);
1469
1470             fHJetPt_Aj0_MC[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj0_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj0_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1471             fOutput->Add(fHJetPt_Aj0_MC[i][j][k][l][m]);
1472             fHJetPt_Aj1_MC[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj1_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj1_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1473             fOutput->Add(fHJetPt_Aj1_MC[i][j][k][l][m]);
1474             fHJetPt_Aj2_MC[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj2_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj2_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1475             fOutput->Add(fHJetPt_Aj2_MC[i][j][k][l][m]);
1476             fHJetPt_Aj3_MC[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj3_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj3_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1477             fOutput->Add(fHJetPt_Aj3_MC[i][j][k][l][m]);
1478             fHJetPt_Aj4_MC[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj4_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj4_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1479             fOutput->Add(fHJetPt_Aj4_MC[i][j][k][l][m]);
1480
1481             //EMB
1482             fHJetDeltaPhi_Aj0_EMB[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj0_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj0_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1483             fOutput->Add(fHJetDeltaPhi_Aj0_EMB[i][j][k][l][m]);
1484             fHJetDeltaPhi_Aj1_EMB[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj1_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj1_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1485             fOutput->Add(fHJetDeltaPhi_Aj1_EMB[i][j][k][l][m]);
1486             fHJetDeltaPhi_Aj2_EMB[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj2_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj2_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1487             fOutput->Add(fHJetDeltaPhi_Aj2_EMB[i][j][k][l][m]);
1488             fHJetDeltaPhi_Aj3_EMB[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj3_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj3_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1489             fOutput->Add(fHJetDeltaPhi_Aj3_EMB[i][j][k][l][m]);
1490             fHJetDeltaPhi_Aj4_EMB[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhi_Aj4_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhi_Aj4_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1491             fOutput->Add(fHJetDeltaPhi_Aj4_EMB[i][j][k][l][m]);
1492
1493             fHJetPt_Aj0_EMB[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj0_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj0_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1494             fOutput->Add(fHJetPt_Aj0_EMB[i][j][k][l][m]);
1495             fHJetPt_Aj1_EMB[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj1_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj1_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1496             fOutput->Add(fHJetPt_Aj1_EMB[i][j][k][l][m]);
1497             fHJetPt_Aj2_EMB[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj2_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj2_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1498             fOutput->Add(fHJetPt_Aj2_EMB[i][j][k][l][m]);
1499             fHJetPt_Aj3_EMB[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj3_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj3_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1500             fOutput->Add(fHJetPt_Aj3_EMB[i][j][k][l][m]);
1501             fHJetPt_Aj4_EMB[i][j][k][l][m] = new TH1F(Form("fHJetPt_Aj4_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPt_Aj4_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1502             fOutput->Add(fHJetPt_Aj4_EMB[i][j][k][l][m]);
1503
1504
1505           }
1506         }
1507       }
1508     }
1509   }
1510
1511   for (Int_t i = 0; i < fNcentBins; i++) {
1512     for (Int_t j = 0; j < 4; j++) {
1513       for (Int_t k = 0; k < 4; k++) {
1514         for (Int_t l = 0; l < 4; l++) {
1515           for (Int_t m = 0; m < l+1; m++) {
1516             // Jet-Hadron as EP Histgrams...
1517             //PbPb
1518             fHJetDeltaPhiasEP_Aj0_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj0_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj0_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1519             fOutput->Add(fHJetDeltaPhiasEP_Aj0_PbPb[i][j][k][l][m]);
1520             fHJetDeltaPhiasEP_Aj1_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj1_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj1_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1521             fOutput->Add(fHJetDeltaPhiasEP_Aj1_PbPb[i][j][k][l][m]);
1522             fHJetDeltaPhiasEP_Aj2_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj2_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj2_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1523             fOutput->Add(fHJetDeltaPhiasEP_Aj2_PbPb[i][j][k][l][m]);
1524             fHJetDeltaPhiasEP_Aj3_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj3_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj3_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1525             fOutput->Add(fHJetDeltaPhiasEP_Aj3_PbPb[i][j][k][l][m]);
1526             fHJetDeltaPhiasEP_Aj4_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj4_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj4_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1527             fOutput->Add(fHJetDeltaPhiasEP_Aj4_PbPb[i][j][k][l][m]);
1528
1529             fHJetPtasEP_Aj0_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj0_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj0_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1530             fOutput->Add(fHJetPtasEP_Aj0_PbPb[i][j][k][l][m]);
1531             fHJetPtasEP_Aj1_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj1_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj1_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1532             fOutput->Add(fHJetPtasEP_Aj1_PbPb[i][j][k][l][m]);
1533             fHJetPtasEP_Aj2_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj2_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj2_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1534             fOutput->Add(fHJetPtasEP_Aj2_PbPb[i][j][k][l][m]);
1535             fHJetPtasEP_Aj3_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj3_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj3_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1536             fOutput->Add(fHJetPtasEP_Aj3_PbPb[i][j][k][l][m]);
1537             fHJetPtasEP_Aj4_PbPb[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj4_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj4_PbPb[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1538             fOutput->Add(fHJetPtasEP_Aj4_PbPb[i][j][k][l][m]);
1539
1540             //MC
1541             fHJetDeltaPhiasEP_Aj0_MC[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj0_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj0_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1542             fOutput->Add(fHJetDeltaPhiasEP_Aj0_MC[i][j][k][l][m]);
1543             fHJetDeltaPhiasEP_Aj1_MC[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj1_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj1_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1544             fOutput->Add(fHJetDeltaPhiasEP_Aj1_MC[i][j][k][l][m]);
1545             fHJetDeltaPhiasEP_Aj2_MC[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj2_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj2_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1546             fOutput->Add(fHJetDeltaPhiasEP_Aj2_MC[i][j][k][l][m]);
1547             fHJetDeltaPhiasEP_Aj3_MC[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj3_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj3_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1548             fOutput->Add(fHJetDeltaPhiasEP_Aj3_MC[i][j][k][l][m]);
1549             fHJetDeltaPhiasEP_Aj4_MC[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj4_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj4_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1550             fOutput->Add(fHJetDeltaPhiasEP_Aj4_MC[i][j][k][l][m]);
1551
1552             fHJetPtasEP_Aj0_MC[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj0_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj0_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1553             fOutput->Add(fHJetPtasEP_Aj0_MC[i][j][k][l][m]);
1554             fHJetPtasEP_Aj1_MC[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj1_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj1_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1555             fOutput->Add(fHJetPtasEP_Aj1_MC[i][j][k][l][m]);
1556             fHJetPtasEP_Aj2_MC[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj2_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj2_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1557             fOutput->Add(fHJetPtasEP_Aj2_MC[i][j][k][l][m]);
1558             fHJetPtasEP_Aj3_MC[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj3_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj3_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1559             fOutput->Add(fHJetPtasEP_Aj3_MC[i][j][k][l][m]);
1560             fHJetPtasEP_Aj4_MC[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj4_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj4_MC[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1561             fOutput->Add(fHJetPtasEP_Aj4_MC[i][j][k][l][m]);
1562
1563             //EMB
1564             fHJetDeltaPhiasEP_Aj0_EMB[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj0_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj0_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1565             fOutput->Add(fHJetDeltaPhiasEP_Aj0_EMB[i][j][k][l][m]);
1566             fHJetDeltaPhiasEP_Aj1_EMB[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj1_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj1_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1567             fOutput->Add(fHJetDeltaPhiasEP_Aj1_EMB[i][j][k][l][m]);
1568             fHJetDeltaPhiasEP_Aj2_EMB[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj2_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj2_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1569             fOutput->Add(fHJetDeltaPhiasEP_Aj2_EMB[i][j][k][l][m]);
1570             fHJetDeltaPhiasEP_Aj3_EMB[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj3_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj3_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1571             fOutput->Add(fHJetDeltaPhiasEP_Aj3_EMB[i][j][k][l][m]);
1572             fHJetDeltaPhiasEP_Aj4_EMB[i][j][k][l][m] = new TH1F(Form("fHJetDeltaPhiasEP_Aj4_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetDeltaPhiasEP_Aj4_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),40,-1./2.*pi,3./2.*pi);
1573             fOutput->Add(fHJetDeltaPhiasEP_Aj4_EMB[i][j][k][l][m]);
1574
1575             fHJetPtasEP_Aj0_EMB[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj0_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj0_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1576             fOutput->Add(fHJetPtasEP_Aj0_EMB[i][j][k][l][m]);
1577             fHJetPtasEP_Aj1_EMB[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj1_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj1_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1578             fOutput->Add(fHJetPtasEP_Aj1_EMB[i][j][k][l][m]);
1579             fHJetPtasEP_Aj2_EMB[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj2_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj2_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1580             fOutput->Add(fHJetPtasEP_Aj2_EMB[i][j][k][l][m]);
1581             fHJetPtasEP_Aj3_EMB[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj3_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj3_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1582             fOutput->Add(fHJetPtasEP_Aj3_EMB[i][j][k][l][m]);
1583             fHJetPtasEP_Aj4_EMB[i][j][k][l][m] = new TH1F(Form("fHJetPtasEP_Aj4_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),Form("fHJetPtasEP_Aj4_EMB[%d][%d][%d][%d][%d]",i,j,k,l,m),360,0,120);
1584             fOutput->Add(fHJetPtasEP_Aj4_EMB[i][j][k][l][m]);
1585           }
1586         }
1587       }
1588     }
1589   }
1590
1591
1592   delete[] binsPt;
1593   delete[] binsCorrPt;
1594   delete[] binsArea;
1595
1596   PostData(1, fOutput); // Post data for ALL output slots >0 here, to get at least an empty histogram
1597 }
1598
1599 //________________________________________________________________________
1600 Bool_t AliAnalysisTaskDijetHadron::FillHistograms()
1601 {
1602   // Fill histograms.
1603   // Avoid TPCHole(lhc11h)
1604   Int_t runNumber = InputEvent()->GetRunNumber();
1605   Int_t fAvoidTpcHole = 0;
1606   Int_t runs_iroc[28] = {169975, 169981, 170038, 170040, 170083, 170084, 170085, 170088, 170089, 170091, 170152, 170155, 170159, 170163, 170193, 170195, 170203, 170204, 170205, 170228, 170230, 170264, 170268, 170269, 170270, 170306, 170308, 170309};
1607   for(Int_t i=0; i<28; i++)
1608     {
1609       if(runNumber==runs_iroc[i])
1610         {
1611           fAvoidTpcHole = 1;
1612           break;
1613         }
1614     }
1615
1616   //if(fAvoidTpcHole==1 && !(trigPhi>3.89 && trigPhi<5.53)) trigIndex = -1;
1617
1618   //Get Event
1619   fEvent = InputEvent();
1620   if(fEvent){
1621
1622     /*if(!fPtHardBinName)
1623       {
1624       // Get embedded pt hard bin number
1625       fPtHardBinName = static_cast<AliNamedString*>(fEvent->FindListObject("AODEmbeddingFile"));
1626       if(!fPtHardBinName) cout << "no embedding file!" << endl;
1627       }
1628
1629       TString fileName = fPtHardBinName->GetString();
1630       fileName.Remove(0,50);
1631       fileName.Remove(fileName.Index("/"));
1632       fPtHardBin = fileName.Atoi();
1633       fhPtHardBins->Fill(fPtHardBin);*/
1634
1635     //trigger
1636     Int_t fTriggerType =-1;
1637     UInt_t trigger = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
1638
1639     if (trigger & AliVEvent::kAnyINT)      { fTriggerType=0; }
1640     else if (trigger & AliVEvent::kCentral)     { fTriggerType=0; }
1641     else if (trigger & AliVEvent::kSemiCentral) { fTriggerType=0; }
1642     else if (trigger & AliVEvent::kEMCEGA)      { fTriggerType=1; }
1643     else if (trigger & AliVEvent::kEMCEJE)      { fTriggerType=2; }
1644
1645     // Vertex cut 
1646     const AliVVertex* vtx = fEvent->GetPrimaryVertex();
1647
1648     if(fTriggerType==0){
1649       if (vtx && vtx->GetNContributors()>1.){
1650         if (TMath::Abs(vtx->GetZ())<10.){
1651           fVertex_z_cut->Fill(vtx->GetZ());
1652
1653           // GetCentrality
1654           AliCentrality *centrality = fEvent->GetCentrality();
1655           if (centrality)
1656             fCentrality = centrality->GetCentralityPercentile("V0M");
1657           else 
1658             fCentrality = 99;
1659           fCent_V0->Fill(fCentrality);
1660
1661           // Get Rho value
1662           fJetBG_rho->Fill(fRhoVal);
1663           fJetBG_rho_Cent->Fill(fCentrality,fRhoVal);
1664
1665           // Prepare Jet value
1666           //PbPb
1667           // jet counting value
1668           Int_t c_jet1_PbPb[3] ={0,0,0}; Int_t c_jet2_PbPb[3] ={0,0,0};
1669           Int_t leading_jet_count0[3]={0,0,0}; Int_t subleading_jet_count0[3]={0,0,0};
1670           // Jet1: Leading jet
1671           Double_t jet1_pt0[4]  ={-999.,-999.,-999.,-999.}; Double_t jet1_pt_BG0[4]  ={-999.,-999.,-999.,-999.};
1672           Double_t jet1_phi0[4]  ={-999.,-999.,-999.,-999.}; Double_t jet1_eta0[4]  ={-999.,-999.,-999.,-999.};
1673           Double_t dEPJet0[4]  ={-999.,-999.,-999.,-999.};
1674           // Jet2: Sub Leading jet
1675           Double_t jet2_pt0[4]  ={-999.,-999.,-999.,-999.}; Double_t jet2_pt_BG0[4]  ={-999.,-999.,-999.,-999.};
1676           Double_t jet2_phi0[4]  ={-999.,-999.,-999.,-999.}; Double_t jet2_eta0[4]  ={-999.,-999.,-999.,-999.};
1677           // Correlation of jet1 and jet2
1678           Double_t Delta_phi0[4]  ={-999.,-999.,-999.,-999.}; Double_t Delta_eta0[4]  ={-999.,-999.,-999.,-999.}; Double_t Aj0[4]  ={-999.,-999.,-999.,-999.};
1679           //MC
1680           // jet counting value
1681           Int_t c_jet1_MC[3] ={0,0,0}; Int_t c_jet2_MC[3] ={0,0,0};
1682           Int_t leading_jet_count1[3]={0,0,0}; Int_t subleading_jet_count1[3]={0,0,0};
1683           // Jet1: Leading jet
1684           Double_t jet1_pt1[4]  ={-999.,-999.,-999.,-999.};
1685           Double_t jet1_phi1[4]  ={-999.,-999.,-999.,-999.}; Double_t jet1_eta1[4]  ={-999.,-999.,-999.,-999.};
1686           Double_t dEPJet1[4]  ={-999.,-999.,-999.,-999.};
1687           // Jet2: Sub Leading jet
1688           Double_t jet2_pt1[4]  ={-999.,-999.,-999.,-999.};
1689           Double_t jet2_phi1[4]  ={-999.,-999.,-999.,-999.}; Double_t jet2_eta1[4]  ={-999.,-999.,-999.,-999.};
1690           // Correlation of jet1 and jet2
1691           Double_t Delta_phi1[4]  ={-999.,-999.,-999.,-999.}; Double_t Delta_eta1[4]  ={-999.,-999.,-999.,-999.}; Double_t Aj1[4]  ={-999.,-999.,-999.,-999.};
1692           //EMB
1693           // jet counting value
1694           Int_t c_jet1_EMB[3] ={0,0,0}; Int_t c_jet2_EMB[3] ={0,0,0};
1695           Int_t leading_jet_count2[3]={0,0,0}; Int_t subleading_jet_count2[3]={0,0,0};
1696           // Jet1: Leading jet
1697           Double_t jet1_pt2[4]  ={-999.,-999.,-999.,-999.}; Double_t jet1_pt_BG2[4]  ={-999.,-999.,-999.,-999.}; Double_t jet1_Deltapt[4]  ={-999.,-999.,-999.,-999.};
1698           Double_t jet1_phi2[4]  ={-999.,-999.,-999.,-999.}; Double_t jet1_eta2[4]  ={-999.,-999.,-999.,-999.};
1699           Double_t dEPJet2[4]  ={-999.,-999.,-999.,-999.};
1700           // Jet2: Sub Leading jet
1701           Double_t jet2_pt2[4]  ={-999.,-999.,-999.,-999.}; Double_t jet2_pt_BG2[4]  ={-999.,-999.,-999.,-999.}; Double_t jet2_Deltapt[4]  ={-999.,-999.,-999.,-999.};
1702           Double_t jet2_phi2[4]  ={-999.,-999.,-999.,-999.}; Double_t jet2_eta2[4]  ={-999.,-999.,-999.,-999.};
1703           // Correlation of jet1 and jet2
1704           Double_t Delta_phi2[4]  ={-999.,-999.,-999.,-999.}; Double_t Delta_eta2[4]  ={-999.,-999.,-999.,-999.}; Double_t Aj2[4]  ={-999.,-999.,-999.,-999.};
1705
1706
1707           //threshold
1708           double Jet1_threshold[5]; double Jet2_threshold[5];
1709           Jet1_threshold[0]=0.0; Jet2_threshold[0]=0.0;
1710           for(Int_t k=1;k<5;k++){
1711             int dummy = k - 1;
1712             Jet1_threshold[k]=Jet1_threshold[dummy]+10.0;       
1713             Jet2_threshold[k]=Jet2_threshold[dummy]+10.0;       
1714           }
1715
1716           //Jet check
1717           //Double_t jet_track[6][2][200];
1718           //for(Int_t m=0;m<6;m++){
1719           //for(Int_t i=0;i<2;i++){
1720           //for(Int_t j=0;j<200;j++){
1721           //jet_track[m][i][j]=-999.0;
1722           //}
1723           //}
1724           //}
1725
1726           //PbPb
1727           //Track histogram
1728           if (fTracksCont) {
1729             AliVTrack *track = static_cast<AliVTrack*>(fTracksCont->GetNextAcceptParticle(0)); 
1730             while(track) {
1731               if(track->GetLabel()==0){
1732                 fTrackPt_PbPb[fCentBin]->Fill(track->Pt()); 
1733                 fTrackPhi_PbPb[fCentBin]->Fill(track->Phi()); 
1734                 fTrackEta_PbPb[fCentBin]->Fill(track->Eta()); 
1735                 fTrack_Phi_Eta_PbPb[fCentBin]->Fill(track->Phi(),track->Eta());
1736               }
1737               track = static_cast<AliVTrack*>(fTracksCont->GetNextAcceptParticle());
1738             }
1739           }
1740
1741           // Jet and Jet-HadronHistgram
1742           if (fJetsCont) {
1743             AliEmcalJet *Jet = fJetsCont->GetNextAcceptJet(0);
1744             while(Jet) {
1745
1746               if ((Jet->Eta() >  0.7) ||
1747                   (Jet->Eta() < -0.7) ||
1748                   (Jet->Phi() >  2*TMath::Pi()) ||
1749                   (Jet->Phi() <  0.0)) continue; // acceptance eta range and etmin
1750
1751               //leading track cut
1752               Int_t leading_track_count[3]={0,0,0};
1753               //Int_t leading_track_limit=0;
1754               if(fJetsCont->GetLeadingHadronPt(Jet) > 0.) leading_track_count[0] += 1;
1755               if(fJetsCont->GetLeadingHadronPt(Jet) > 5.) leading_track_count[1] += 1;
1756               if(fJetsCont->GetLeadingHadronPt(Jet) > 10.) leading_track_count[2] += 1;
1757               //if(fJetsCont->GetLeadingHadronPt(Jet) > 100.) leading_track_limit += 1;
1758               //if(leading_track_limit > 0) continue;
1759
1760               for(int m=0;m<3;m++){
1761                 c_jet1_PbPb[m]++; // jet count in acceptance.
1762                 if(leading_track_count[m] > 0){
1763                   fJetPt_PbPb[fCentBin][m]->Fill(Jet->Pt());
1764                   fJetPhi_PbPb[fCentBin][m]->Fill(Jet->Phi());
1765                   fJetEta_PbPb[fCentBin][m]->Fill(Jet->Eta());
1766                   fJet_Phi_Eta_PbPb[fCentBin][m]->Fill(Jet->Phi(),Jet->Eta());
1767                   fJetPt_BG_PbPb[fCentBin][m]->Fill(Jet->Pt() - Jet->Area() * fRhoVal);
1768                 }
1769               }
1770
1771               for(int m=0;m<3;m++){
1772                 if(c_jet1_PbPb[m] == 1)
1773                   {
1774                     if(leading_track_count[m] > 0){
1775                       jet1_pt0[m] = Jet->Pt(); jet1_pt_BG0[m] = Jet->Pt() - Jet->Area() * fRhoVal; jet1_phi0[m] = Jet->Phi(); jet1_eta0[m] = Jet->Eta(); //Get Leading Jet(Jet1) value
1776
1777                       dEPJet0[m] = jet1_phi0[m] - fEPV0;
1778                       while (dEPJet0[m] < 0) dEPJet0[m] += TMath::Pi();
1779                       while (dEPJet0[m] >= TMath::Pi()) dEPJet0[m] -= TMath::Pi();
1780
1781                       leading_jet_count0[m] += 1;
1782                     }
1783                   }
1784
1785                 else if(c_jet1_PbPb[m] > 1 && c_jet2_PbPb[m] == 0  && leading_jet_count0[m] > 0 && leading_track_count[m] > 0)// sub leading
1786                   {
1787                     jet2_pt0[m] = Jet->Pt(); jet2_pt_BG0[m] = Jet->Pt() - Jet->Area() * fRhoVal; jet2_phi0[m] = Jet->Phi(); jet2_eta0[m] = Jet->Eta(); //Get Sub Leading Jet(Jet2) value
1788                     Delta_phi0[m] = jet1_phi0[m] - jet2_phi0[m]; Aj0[m] = (jet1_pt_BG0[m] - jet2_pt_BG0[m]) / (jet1_pt_BG0[m] + jet2_pt_BG0[m]);
1789                     if     (Delta_phi0[m] < (-1./2*TMath::Pi()))Delta_phi0[m] = Delta_phi0[m] +2*TMath::Pi();
1790                     else if(Delta_phi0[m] > (3./2*TMath::Pi()))Delta_phi0[m] = Delta_phi0[m] -2*TMath::Pi();
1791                     Delta_eta0[m] = jet1_eta0[m] - jet2_eta0[m]; //Get Correlations of jet1, jet2
1792
1793                     // Correlations of jet1, jet2
1794                     for(int count1=0;count1<4;count1++){
1795                       for(int count2=0;count2<count1+1;count2++){
1796                         if(jet1_pt_BG0[m] > Jet1_threshold[count1] && jet2_pt_BG0[m] > Jet2_threshold[count2]){
1797                           fJet1Pt_PbPb[fCentBin][m][count1][count2]->Fill(jet1_pt0[m]);
1798                           fJet2Pt_PbPb[fCentBin][m][count1][count2]->Fill(jet2_pt0[m]);
1799                           fJet1Pt_BG_PbPb[fCentBin][m][count1][count2]->Fill(jet1_pt_BG0[m]);
1800                           fJet2Pt_BG_PbPb[fCentBin][m][count1][count2]->Fill(jet2_pt_BG0[m]);
1801                           fJetDeltaPhi_PbPb[fCentBin][m][count1][count2]->Fill(Delta_phi0[m]);
1802                           fJetDeltaEta_PbPb[fCentBin][m][count1][count2]->Fill(Delta_eta0[m]);
1803                           fJetDeltaEP_PbPb[fCentBin][m][count1][count2]->Fill(dEPJet0[m]);
1804                         }
1805                       }//count2
1806                     }//count1
1807
1808
1809                     // Find delta_phi
1810                     if(Delta_phi0[m] > (2./3.)* TMath::Pi() && Delta_phi0[m] < (4./3.)* TMath::Pi()){
1811                       for(int count1=0;count1<4;count1++){
1812                         for(int count2=0;count2<count1+1;count2++){
1813                           if(jet1_pt_BG0[m] > Jet1_threshold[count1] && jet2_pt_BG0[m] > Jet2_threshold[count2]){
1814                             fJet1SelectPt_BG_PbPb[fCentBin][m][count1][count2]->Fill(jet1_pt_BG0[m]);
1815                             fJet2SelectPt_BG_PbPb[fCentBin][m][count1][count2]->Fill(jet2_pt_BG0[m]);
1816                             fAj_PbPb[fCentBin][m][count1][count2]->Fill((jet1_pt_BG0[m] - jet2_pt_BG0[m]) / (jet1_pt_BG0[m] + jet2_pt_BG0[m]));
1817                           }
1818                         }//count2
1819                       }//count1
1820                     }// Find delta_phi
1821
1822                     c_jet2_PbPb[m]++;
1823                     subleading_jet_count0[m] += 1;
1824                   }// sub leading
1825
1826               }
1827
1828               Jet = fJetsCont->GetNextAcceptJet();
1829             }// jet while
1830
1831             //jet-hadron
1832             if (fTracksCont) {
1833               for(int m=0;m<3;m++){
1834                 //if find sub leading
1835                 int c_subleading_jet = 0;
1836                 c_subleading_jet = subleading_jet_count0[m];
1837                 if(c_subleading_jet > 0){
1838
1839                   AliVTrack *track = static_cast<AliVTrack*>(fTracksCont->GetNextAcceptParticle(0));
1840                   while(track) {
1841                     if(track->GetLabel()==0){
1842
1843                       Double_t pt,phi,dphi;
1844                       pt = -999.0; phi = -999.0; dphi = -999.0;
1845                       pt = track->Pt(); phi = track->Phi();
1846
1847                       dphi = jet1_phi0[m] - phi;
1848                       if     (dphi < (-1./2.*TMath::Pi()))dphi = dphi +2*TMath::Pi();
1849                       else if(dphi > (3./2.*TMath::Pi()))dphi = dphi -2*TMath::Pi();
1850
1851                       //jet_track check
1852                       /*Bool_t jet_switch=false;
1853                         for(int i=0;i<200;i++){
1854                         Float_t check_track1,check_track2;
1855                         check_track1 = -999.0; check_track2 = -999.0;
1856                         check_track1 = jet_track[m][0][i]; check_track2 = jet_track[m][1][i];
1857                         if(check_track1 == phi){
1858                         jet_switch=true;
1859                         }
1860                         if(check_track2 == phi){
1861                         jet_switch=true;
1862                         }
1863                         }
1864
1865                         if(jet_switch==true){
1866                         continue;
1867                         }*/
1868
1869                       //dphi cut
1870                       Bool_t dphi_cut[4];
1871                       //devide(jet side)
1872                       dphi_cut[0]= ((-1./3.*TMath::Pi()) <= dphi && dphi <= (1./3.*TMath::Pi()));
1873                       dphi_cut[1]= ((2./3.*TMath::Pi()) <= dphi && dphi <= (4./3.*TMath::Pi()));
1874                       //devide(out jet side)
1875                       dphi_cut[2]= (((1./3.*TMath::Pi()) <= dphi && dphi <= (1./2.*TMath::Pi())) || ((-1./2.*TMath::Pi()) < dphi && dphi < (-1./3.*TMath::Pi())));//leadingjet
1876                       dphi_cut[3]= (((1./2.*TMath::Pi()) <= dphi && dphi <= (2./3.*TMath::Pi())) || ((4./3.*TMath::Pi()) < dphi && dphi < (3./2.*TMath::Pi())));//subleadingjet
1877
1878                       //pt switch
1879                       Bool_t pt_switch[4];
1880                       pt_switch[0]= (pt > 0.15);
1881                       pt_switch[1]= (pt > 0.15 && pt <= 2.0);
1882                       pt_switch[2]= (pt > 2.0 && pt <= 4.0);
1883                       pt_switch[3]= (pt > 4.0);
1884
1885                       //jetdphi switch
1886                       Double_t jet_dphi = -999.0;
1887                       jet_dphi = Delta_phi0[m];
1888                       Bool_t jet_dphi_switch[3];
1889                       jet_dphi_switch[0]= (jet_dphi > (2./3.)* TMath::Pi() && jet_dphi < (4./3.)* TMath::Pi());
1890                       jet_dphi_switch[1]= (jet_dphi > (5./6.)* TMath::Pi() && jet_dphi < (7./12.)* TMath::Pi());
1891                       jet_dphi_switch[2]= (jet_dphi > (11./12.)* TMath::Pi() && jet_dphi < (13./12.)* TMath::Pi());
1892
1893                       //jetdEP switch
1894                       Double_t jet_dEP = -999.0;
1895                       jet_dEP = dEPJet0[m];
1896                       Bool_t jet_dEP_switch[4];
1897                       jet_dEP_switch[0]= ((0.*TMath::Pi()) <= jet_dEP && jet_dEP <= (1./4.*TMath::Pi()));
1898                       jet_dEP_switch[1]= ((1./4.*TMath::Pi()) < jet_dEP && jet_dEP <= (1./2.*TMath::Pi()));
1899                       jet_dEP_switch[2]= ((1./2.*TMath::Pi()) < jet_dEP && jet_dEP <= (3./4.*TMath::Pi()));
1900                       jet_dEP_switch[3]= ((3./4.*TMath::Pi()) < jet_dEP && jet_dEP < (1.*TMath::Pi()));
1901
1902                       //eta switch
1903                       /*Double_t leading_jet_eta = -999.0;
1904                         leading_jet_eta = jet1_eta0[m];
1905                         Bool_t eta_switch[3];
1906                         eta_switch[0]= (-0.7 <= leading_jet_eta && leading_jet_eta <= 0.7);
1907                         eta_switch[1]= (-0.3 <= leading_jet_eta && leading_jet_eta <= 0.3);
1908                         eta_switch[2]= ((-0.7 <= leading_jet_eta && leading_jet_eta < -0.3) || (0.3 < leading_jet_eta && leading_jet_eta <= 0.7));*/
1909
1910                       //hadron-dphi
1911                       for(int pt_cut=0;pt_cut<4;pt_cut++){
1912                         if(pt_switch[pt_cut]){
1913                           for(int count1=0;count1<4;count1++){
1914                             if(jet_dphi_switch[0]){
1915                               for(int count2=0;count2<count1+1;count2++){
1916                                 if(jet1_pt_BG0[m] > Jet1_threshold[count1] && jet2_pt_BG0[m] > Jet2_threshold[count2]){
1917                                   fHJetDeltaPhi_Aj0_PbPb[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
1918
1919                                   if(Aj0[m] >= 0.0 && Aj0[m] < 0.2){
1920                                     fHJetDeltaPhi_Aj1_PbPb[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
1921                                   }
1922
1923                                   if(Aj0[m] >= 0.2 && Aj0[m] < 0.4){
1924                                     fHJetDeltaPhi_Aj2_PbPb[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
1925                                   }
1926
1927                                   if(Aj0[m] >= 0.4 && Aj0[m] < 0.6){
1928                                     fHJetDeltaPhi_Aj3_PbPb[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
1929                                   }
1930
1931                                   if(Aj0[m] >= 0.6 && Aj0[m] <= 0.8){
1932                                     fHJetDeltaPhi_Aj4_PbPb[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
1933                                   }
1934                                 }
1935
1936
1937                               }//count2
1938                             }
1939                           }//count1
1940                         }//pt cut
1941                       }//pt for
1942
1943                       //hadron-pT
1944                       for(int count1=0;count1<4;count1++){
1945                         if(jet_dphi_switch[0]){
1946                           for(int count2=0;count2<count1+1;count2++){
1947                             if(jet1_pt_BG0[m] > Jet1_threshold[count1] && jet2_pt_BG0[m] > Jet2_threshold[count2]){
1948                               for(int i=0;i<4;i++){
1949                                 if(dphi_cut[i]){
1950                                   fHJetPt_Aj0_PbPb[fCentBin][m][i][count1][count2]->Fill(pt);
1951
1952                                   if(Aj0[m] >= 0.0 && Aj0[m] < 0.2){
1953                                     fHJetPt_Aj1_PbPb[fCentBin][m][i][count1][count2]->Fill(pt);
1954                                   }
1955
1956                                   if(Aj0[m] >= 0.2 && Aj0[m] < 0.4){
1957                                     fHJetPt_Aj2_PbPb[fCentBin][m][i][count1][count2]->Fill(pt);
1958                                   }
1959
1960                                   if(Aj0[m] >= 0.4 && Aj0[m] < 0.6){
1961                                     fHJetPt_Aj3_PbPb[fCentBin][m][i][count1][count2]->Fill(pt);
1962                                   }
1963
1964                                   if(Aj0[m] >= 0.6 && Aj0[m] <= 0.8){
1965                                     fHJetPt_Aj4_PbPb[fCentBin][m][i][count1][count2]->Fill(pt);
1966                                   }
1967                                 }//dphi cut
1968                               }//dphi loop
1969                             }//jet pt cut
1970
1971                           }//count2
1972                         }
1973                       }//count1
1974
1975                       if(m==1){
1976                         //hadron-dphi as dEPJet (jet leading track = 5GeV)
1977                         for(int EPtri=0;EPtri<4;EPtri++){
1978                           if(jet_dEP_switch[EPtri]){
1979                             for(int pt_cut=0;pt_cut<4;pt_cut++){
1980                               if(pt_switch[pt_cut]){
1981                                 for(int count1=0;count1<4;count1++){
1982                                   if(jet_dphi_switch[0]){
1983                                     for(int count2=0;count2<count1+1;count2++){
1984                                       if(jet1_pt_BG0[m] > Jet1_threshold[count1] && jet2_pt_BG0[m] > Jet2_threshold[count2]){
1985                                         fHJetDeltaPhiasEP_Aj0_PbPb[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
1986
1987                                         if(Aj0[m] >= 0.0 && Aj0[m] < 0.2){
1988                                           fHJetDeltaPhiasEP_Aj1_PbPb[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
1989                                         }
1990
1991                                         if(Aj0[m] >= 0.2 && Aj0[m] < 0.4){
1992                                           fHJetDeltaPhiasEP_Aj2_PbPb[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
1993                                         }
1994
1995                                         if(Aj0[m] >= 0.4 && Aj0[m] < 0.6){
1996                                           fHJetDeltaPhiasEP_Aj3_PbPb[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
1997                                         }
1998
1999                                         if(Aj0[m] >= 0.6 && Aj0[m] <= 0.8){
2000                                           fHJetDeltaPhiasEP_Aj4_PbPb[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2001                                         }
2002                                       }
2003
2004
2005                                     }//count2
2006                                   }
2007                                 }//count1
2008                               }//pt cut
2009                             }//pt for
2010                           }//dEP cut
2011                         }//dEP for
2012
2013                         //hadron-pT as dEPJet (jet leading track = 5GeV)
2014                         for(int EPtri=0;EPtri<4;EPtri++){
2015                           if(jet_dEP_switch[EPtri]){
2016                             for(int count1=0;count1<4;count1++){
2017                               if(jet_dphi_switch[0]){
2018                                 for(int count2=0;count2<count1+1;count2++){
2019                                   if(jet1_pt_BG0[m] > Jet1_threshold[count1] && jet2_pt_BG0[m] > Jet2_threshold[count2]){
2020                                     for(int i=0;i<4;i++){
2021                                       if(dphi_cut[i]){
2022                                         fHJetPtasEP_Aj0_PbPb[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2023
2024                                         if(Aj0[m] >= 0.0 && Aj0[m] < 0.2){
2025                                           fHJetPtasEP_Aj1_PbPb[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2026                                         }
2027
2028                                         if(Aj0[m] >= 0.2 && Aj0[m] < 0.4){
2029                                           fHJetPtasEP_Aj2_PbPb[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2030                                         }
2031
2032                                         if(Aj0[m] >= 0.4 && Aj0[m] < 0.6){
2033                                           fHJetPtasEP_Aj3_PbPb[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2034                                         }
2035
2036                                         if(Aj0[m] >= 0.6 && Aj0[m] <= 0.8){
2037                                           fHJetPtasEP_Aj4_PbPb[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2038                                         }
2039                                       }//dphi cut
2040                                     }//dphi loop
2041                                   }//jet pt cut
2042
2043                                 }//count2
2044                               }
2045                             }//count1
2046
2047                           }//dEP cut
2048                         }//dEP for
2049                       }//jet leading track cut
2050
2051                     }// if label
2052                     track = static_cast<AliVTrack*>(fTracksCont->GetNextAcceptParticle());
2053                   }// track while
2054
2055                 }// if sub leading jet
2056               }
2057             }// tracks Cont
2058
2059           }// jetCont
2060
2061           //MC
2062           //Track histogram
2063           if (fMCTracksCont) {
2064             AliVTrack *MCtrack = static_cast<AliVTrack*>(fMCTracksCont->GetNextAcceptParticle(0)); 
2065             while(MCtrack) {
2066               if(MCtrack->GetLabel()!=0){
2067                 fTrackPt_MC[fCentBin]->Fill(MCtrack->Pt()); 
2068                 fTrackPhi_MC[fCentBin]->Fill(MCtrack->Phi()); 
2069                 fTrackEta_MC[fCentBin]->Fill(MCtrack->Eta()); 
2070                 fTrack_Phi_Eta_MC[fCentBin]->Fill(MCtrack->Phi(),MCtrack->Eta());
2071               }
2072               MCtrack = static_cast<AliVTrack*>(fMCTracksCont->GetNextAcceptParticle());
2073             }
2074           }
2075
2076           // Jet and Jet-HadronHistgram
2077           if (fMCJetsCont) {
2078             AliEmcalJet *MCJet = fMCJetsCont->GetNextAcceptJet(0);
2079             while(MCJet) {
2080
2081               if ((MCJet->Eta() >  0.7) ||
2082                   (MCJet->Eta() < -0.7) ||
2083                   (MCJet->Phi() >  2*TMath::Pi()) ||
2084                   (MCJet->Phi() <  0.0)) continue; // acceptance eta range and etmin
2085
2086               //leading track cut
2087               Int_t leading_track_count[3]={0,0,0};
2088               //Int_t leading_track_limit=0;
2089               if(fMCJetsCont->GetLeadingHadronPt(MCJet) > 0.) leading_track_count[0] += 1;
2090               if(fMCJetsCont->GetLeadingHadronPt(MCJet) > 5.) leading_track_count[1] += 1;
2091               if(fMCJetsCont->GetLeadingHadronPt(MCJet) > 10.) leading_track_count[2] += 1;
2092               //if(fMCJetsCont->GetLeadingHadronPt(MCJet) > 100.) leading_track_limit += 1;
2093               //if(leading_track_limit > 0) continue;
2094
2095               for(int m=0;m<3;m++){
2096                 c_jet1_MC[m]++; // jet count in acceptance.
2097                 if(leading_track_count[m] > 0){
2098                   fJetPt_MC[fCentBin][m]->Fill(MCJet->Pt());
2099                   fJetPhi_MC[fCentBin][m]->Fill(MCJet->Phi());
2100                   fJetEta_MC[fCentBin][m]->Fill(MCJet->Eta());
2101                   fJet_Phi_Eta_MC[fCentBin][m]->Fill(MCJet->Phi(),MCJet->Eta());
2102                 }
2103               }
2104
2105               for(int m=0;m<3;m++){
2106                 if(c_jet1_MC[m] == 1)
2107                   {
2108                     if(leading_track_count[m] > 0){
2109                       jet1_pt1[m] = MCJet->Pt(); jet1_phi1[m] = MCJet->Phi(); jet1_eta1[m] = MCJet->Eta(); //Get Leading Jet(Jet1) value
2110
2111                       dEPJet1[m] = jet1_phi1[m] - fEPV0;
2112                       while (dEPJet1[m] < 0) dEPJet1[m] += TMath::Pi();
2113                       while (dEPJet1[m] >= TMath::Pi()) dEPJet1[m] -= TMath::Pi();
2114
2115
2116                       leading_jet_count1[m] += 1;
2117                     }
2118                   }
2119
2120                 else if(c_jet1_MC[m] > 1 && c_jet2_MC[m] == 0  && leading_jet_count1[m] > 0 && leading_track_count[m] > 0)// sub leading
2121                   {
2122                     jet2_pt1[m] = MCJet->Pt(); jet2_phi1[m] = MCJet->Phi(); jet2_eta1[m] = MCJet->Eta(); //Get Sub Leading Jet(Jet2) value
2123                     Delta_phi1[m] = jet1_phi1[m] - jet2_phi1[m]; Aj1[m] = (jet1_pt1[m] - jet2_pt1[m]) / (jet1_pt1[m] + jet2_pt1[m]);
2124                     if     (Delta_phi1[m] < (-1./2*TMath::Pi()))Delta_phi1[m] = Delta_phi1[m] +2*TMath::Pi();
2125                     else if(Delta_phi1[m] > (3./2*TMath::Pi()))Delta_phi1[m] = Delta_phi1[m] -2*TMath::Pi();
2126                     Delta_eta1[m] = jet1_eta1[m] - jet2_eta1[m]; //Get Correlations of jet1, jet2
2127
2128                     // Correlations of jet1, jet2
2129                     for(int count1=0;count1<4;count1++){
2130                       for(int count2=0;count2<count1+1;count2++){
2131                         if(jet1_pt1[m] > Jet1_threshold[count1] && jet2_pt1[m] > Jet2_threshold[count2]){
2132                           fJet1Pt_MC[fCentBin][m][count1][count2]->Fill(jet1_pt1[m]);
2133                           fJet2Pt_MC[fCentBin][m][count1][count2]->Fill(jet2_pt1[m]);
2134                           fJetDeltaPhi_MC[fCentBin][m][count1][count2]->Fill(Delta_phi1[m]);
2135                           fJetDeltaEta_MC[fCentBin][m][count1][count2]->Fill(Delta_eta1[m]);
2136                           fJetDeltaEP_MC[fCentBin][m][count1][count2]->Fill(dEPJet1[m]);
2137                         }
2138                       }//count2
2139                     }//count1
2140
2141
2142                     // Find delta_phi
2143                     if(Delta_phi1[m] > (2./3.)* TMath::Pi() && Delta_phi1[m] < (4./3.)* TMath::Pi()){
2144                       for(int count1=0;count1<4;count1++){
2145                         for(int count2=0;count2<count1+1;count2++){
2146                           if(jet1_pt1[m] > Jet1_threshold[count1] && jet2_pt1[m] > Jet2_threshold[count2]){
2147                             fAj_MC[fCentBin][m][count1][count2]->Fill((jet1_pt1[m] - jet2_pt1[m]) / (jet1_pt1[m] + jet2_pt1[m]));
2148                           }
2149                         }//count2
2150                       }//count1
2151                     }// Find delta_phi
2152
2153                     c_jet2_MC[m]++;
2154                     subleading_jet_count1[m] += 1;
2155                   }// sub leading
2156
2157               }
2158
2159               MCJet = fMCJetsCont->GetNextAcceptJet(); 
2160             }//while jet
2161
2162             //jet-hadron
2163             if (fMCTracksCont) {
2164               for(int m=0;m<3;m++){
2165                 //if find sub leading
2166                 int c_subleading_jet = 0;
2167                 c_subleading_jet = subleading_jet_count1[m];
2168                 if(c_subleading_jet > 0){
2169
2170                   AliVTrack *MCtrack = static_cast<AliVTrack*>(fMCTracksCont->GetNextAcceptParticle(0));
2171                   while(MCtrack) {
2172                     if(MCtrack->GetLabel()!=0){
2173
2174                       Double_t pt,phi,dphi;
2175                       pt = -999.0; phi = -999.0; dphi = -999.0;
2176                       pt = MCtrack->Pt(); phi = MCtrack->Phi();
2177
2178                       dphi = jet1_phi1[m] - phi;
2179                       if     (dphi < (-1./2.*TMath::Pi()))dphi = dphi +2*TMath::Pi();
2180                       else if(dphi > (3./2.*TMath::Pi()))dphi = dphi -2*TMath::Pi();
2181
2182                       //jet_track check
2183                       /*Bool_t jet_switch=false;
2184                         for(int i=0;i<200;i++){
2185                         Float_t check_track1,check_track2;
2186                         check_track1 = -999.0; check_track2 = -999.0;
2187                         check_track1 = jet_track[m][0][i]; check_track2 = jet_track[m][1][i];
2188                         if(check_track1 == phi){
2189                         jet_switch=true;
2190                         }
2191                         if(check_track2 == phi){
2192                         jet_switch=true;
2193                         }
2194                         }
2195
2196                         if(jet_switch==true){
2197                         continue;
2198                         }*/
2199
2200                       //dphi cut
2201                       Bool_t dphi_cut[4];
2202                       //devide(jet side)
2203                       dphi_cut[0]= ((-1./3.*TMath::Pi()) <= dphi && dphi <= (1./3.*TMath::Pi()));
2204                       dphi_cut[1]= ((2./3.*TMath::Pi()) <= dphi && dphi <= (4./3.*TMath::Pi()));
2205                       //devide(out jet side)
2206                       dphi_cut[2]= (((1./3.*TMath::Pi()) <= dphi && dphi <= (1./2.*TMath::Pi())) || ((-1./2.*TMath::Pi()) < dphi && dphi < (-1./3.*TMath::Pi())));//leadingjet
2207                       dphi_cut[3]= (((1./2.*TMath::Pi()) <= dphi && dphi <= (2./3.*TMath::Pi())) || ((4./3.*TMath::Pi()) < dphi && dphi < (3./2.*TMath::Pi())));//subleadingjet
2208
2209                       //pt switch
2210                       Bool_t pt_switch[4];
2211                       pt_switch[0]= (pt > 0.15);
2212                       pt_switch[1]= (pt > 0.15 && pt <= 2.0);
2213                       pt_switch[2]= (pt > 2.0 && pt <= 4.0);
2214                       pt_switch[3]= (pt > 4.0);
2215
2216                       //jetdphi switch
2217                       Double_t jet_dphi = -999.0;
2218                       jet_dphi = Delta_phi1[m];
2219                       Bool_t jet_dphi_switch[3];
2220                       jet_dphi_switch[0]= (jet_dphi > (2./3.)* TMath::Pi() && jet_dphi < (4./3.)* TMath::Pi());
2221                       jet_dphi_switch[1]= (jet_dphi > (5./6.)* TMath::Pi() && jet_dphi < (7./12.)* TMath::Pi());
2222                       jet_dphi_switch[2]= (jet_dphi > (11./12.)* TMath::Pi() && jet_dphi < (13./12.)* TMath::Pi());
2223
2224                       //jetdEP switch
2225                       Double_t jet_dEP = -999.0;
2226                       jet_dEP = dEPJet1[m];
2227                       Bool_t jet_dEP_switch[4];
2228                       jet_dEP_switch[0]= ((0.*TMath::Pi()) <= jet_dEP && jet_dEP <= (1./4.*TMath::Pi()));
2229                       jet_dEP_switch[1]= ((1./4.*TMath::Pi()) < jet_dEP && jet_dEP <= (1./2.*TMath::Pi()));
2230                       jet_dEP_switch[2]= ((1./2.*TMath::Pi()) < jet_dEP && jet_dEP <= (3./4.*TMath::Pi()));
2231                       jet_dEP_switch[3]= ((3./4.*TMath::Pi()) < jet_dEP && jet_dEP < (1.*TMath::Pi()));
2232
2233                       //eta switch
2234                       /*Double_t leading_jet_eta = -999.0;
2235                         leading_jet_eta = jet1_eta1[m];
2236                         Bool_t eta_switch[3];
2237                         eta_switch[0]= (-0.7 <= leading_jet_eta && leading_jet_eta <= 0.7);
2238                         eta_switch[1]= (-0.3 <= leading_jet_eta && leading_jet_eta <= 0.3);
2239                         eta_switch[2]= ((-0.7 <= leading_jet_eta && leading_jet_eta < -0.3) || (0.3 < leading_jet_eta && leading_jet_eta <= 0.7));*/
2240
2241                       //hadron-dphi
2242                       for(int pt_cut=0;pt_cut<4;pt_cut++){
2243                         if(pt_switch[pt_cut]){
2244                           for(int count1=0;count1<4;count1++){
2245                             if(jet_dphi_switch[0]){
2246                               for(int count2=0;count2<count1+1;count2++){
2247                                 if(jet1_pt1[m] > Jet1_threshold[count1] && jet2_pt1[m] > Jet2_threshold[count2]){
2248                                   fHJetDeltaPhi_Aj0_MC[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
2249
2250                                   if(Aj1[m] >= 0.0 && Aj1[m] < 0.2){
2251                                     fHJetDeltaPhi_Aj1_MC[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
2252                                   }
2253
2254                                   if(Aj1[m] >= 0.2 && Aj1[m] < 0.4){
2255                                     fHJetDeltaPhi_Aj2_MC[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
2256                                   }
2257
2258                                   if(Aj1[m] >= 0.4 && Aj1[m] < 0.6){
2259                                     fHJetDeltaPhi_Aj3_MC[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
2260                                   }
2261
2262                                   if(Aj1[m] >= 0.6 && Aj1[m] <= 0.8){
2263                                     fHJetDeltaPhi_Aj4_MC[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
2264                                   }
2265                                 }
2266
2267
2268                               }//count2
2269                             }
2270                           }//count1
2271                         }//pt cut
2272                       }//pt for
2273
2274                       //hadron-pT
2275                       for(int count1=0;count1<4;count1++){
2276                         if(jet_dphi_switch[0]){
2277                           for(int count2=0;count2<count1+1;count2++){
2278                             if(jet1_pt1[m] > Jet1_threshold[count1] && jet2_pt1[m] > Jet2_threshold[count2]){
2279                               for(int i=0;i<4;i++){
2280                                 if(dphi_cut[i]){
2281                                   fHJetPt_Aj0_MC[fCentBin][m][i][count1][count2]->Fill(pt);
2282
2283                                   if(Aj1[m] >= 0.0 && Aj1[m] < 0.2){
2284                                     fHJetPt_Aj1_MC[fCentBin][m][i][count1][count2]->Fill(pt);
2285                                   }
2286
2287                                   if(Aj1[m] >= 0.2 && Aj1[m] < 0.4){
2288                                     fHJetPt_Aj2_MC[fCentBin][m][i][count1][count2]->Fill(pt);
2289                                   }
2290
2291                                   if(Aj1[m] >= 0.4 && Aj1[m] < 0.6){
2292                                     fHJetPt_Aj3_MC[fCentBin][m][i][count1][count2]->Fill(pt);
2293                                   }
2294
2295                                   if(Aj1[m] >= 0.6 && Aj1[m] <= 0.8){
2296                                     fHJetPt_Aj4_MC[fCentBin][m][i][count1][count2]->Fill(pt);
2297                                   }
2298                                 }//dphi cut
2299                               }//dphi loop
2300                             }//jet pt cut
2301
2302                           }//count2
2303                         }
2304                       }//count1
2305
2306                       if(m==1){
2307                         //hadron-dphi as dEPJet (jet leading track = 5GeV)
2308                         for(int EPtri=0;EPtri<4;EPtri++){
2309                           if(jet_dEP_switch[EPtri]){
2310                             for(int pt_cut=0;pt_cut<4;pt_cut++){
2311                               if(pt_switch[pt_cut]){
2312                                 for(int count1=0;count1<4;count1++){
2313                                   if(jet_dphi_switch[0]){
2314                                     for(int count2=0;count2<count1+1;count2++){
2315                                       if(jet1_pt1[m] > Jet1_threshold[count1] && jet2_pt1[m] > Jet2_threshold[count2]){
2316                                         fHJetDeltaPhiasEP_Aj0_MC[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2317
2318                                         if(Aj1[m] >= 0.0 && Aj1[m] < 0.2){
2319                                           fHJetDeltaPhiasEP_Aj1_MC[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2320                                         }
2321
2322                                         if(Aj1[m] >= 0.2 && Aj1[m] < 0.4){
2323                                           fHJetDeltaPhiasEP_Aj2_MC[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2324                                         }
2325
2326                                         if(Aj1[m] >= 0.4 && Aj1[m] < 0.6){
2327                                           fHJetDeltaPhiasEP_Aj3_MC[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2328                                         }
2329
2330                                         if(Aj1[m] >= 0.6 && Aj1[m] <= 0.8){
2331                                           fHJetDeltaPhiasEP_Aj4_MC[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2332                                         }
2333                                       }
2334
2335
2336                                     }//count2
2337                                   }
2338                                 }//count1
2339                               }//pt cut
2340                             }//pt for
2341                           }//dEP cut
2342                         }//dEP for
2343
2344                         //hadron-pT as dEPJet (jet leading track = 5GeV)
2345                         for(int EPtri=0;EPtri<4;EPtri++){
2346                           if(jet_dEP_switch[EPtri]){
2347                             for(int count1=0;count1<4;count1++){
2348                               if(jet_dphi_switch[0]){
2349                                 for(int count2=0;count2<count1+1;count2++){
2350                                   if(jet1_pt1[m] > Jet1_threshold[count1] && jet2_pt1[m] > Jet2_threshold[count2]){
2351                                     for(int i=0;i<4;i++){
2352                                       if(dphi_cut[i]){
2353                                         fHJetPtasEP_Aj0_MC[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2354
2355                                         if(Aj1[m] >= 0.0 && Aj1[m] < 0.2){
2356                                           fHJetPtasEP_Aj1_MC[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2357                                         }
2358
2359                                         if(Aj1[m] >= 0.2 && Aj1[m] < 0.4){
2360                                           fHJetPtasEP_Aj2_MC[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2361                                         }
2362
2363                                         if(Aj1[m] >= 0.4 && Aj1[m] < 0.6){
2364                                           fHJetPtasEP_Aj3_MC[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2365                                         }
2366
2367                                         if(Aj1[m] >= 0.6 && Aj1[m] <= 0.8){
2368                                           fHJetPtasEP_Aj4_MC[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2369                                         }
2370                                       }//dphi cut
2371                                     }//dphi loop
2372                                   }//jet pt cut
2373
2374                                 }//count2
2375                               }
2376                             }//count1
2377                           }//dEP cut
2378                         }//dEP for
2379                       }//jet leading track cut
2380
2381                     }// if label
2382                     MCtrack = static_cast<AliVTrack*>(fMCTracksCont->GetNextAcceptParticle());
2383                   }// track while
2384
2385                 }// if sub leading jet
2386               }
2387             }// tracks Cont
2388
2389           }//jet Cont
2390
2391           // ************
2392           // Random cones
2393           // _________________________________
2394   
2395           const Float_t rcArea = fConeRadius * fConeRadius * TMath::Pi();
2396           Float_t RCpt = 0;
2397           Float_t RCeta = 0;
2398           Float_t RCphi = 0;
2399   
2400           if (fTracksCont || fCaloClustersCont) {
2401     
2402             for (Int_t i = 0; i < fRCperEvent; i++) {
2403               // Simple random cones
2404               RCpt = 0;
2405               RCeta = 0;
2406               RCphi = 0;
2407               GetRandomCone(RCpt, RCeta, RCphi, fTracksCont, fCaloClustersCont, 0);
2408               if (RCpt > 0) {
2409                 fHistRCPhiEta->Fill(RCeta, RCphi);
2410                 fHistRhoVSRCPt[fCentBin]->Fill(fRhoVal * rcArea, RCpt);
2411         
2412                 fHistRCPt[fCentBin]->Fill(RCpt);
2413
2414                 Double_t ep = RCphi - fEPV0;
2415                 while (ep < 0) ep += TMath::Pi();
2416                 while (ep >= TMath::Pi()) ep -= TMath::Pi();
2417
2418                 fHistDeltaPtRCvsEP[fCentBin]->Fill(ep, RCpt - rcArea * fRhoVal);
2419               }
2420
2421               if (fJetsCont) {
2422
2423                 // Random cones far from leading jet
2424                 AliEmcalJet* jet = fJetsCont->GetLeadingJet("rho");
2425         
2426                 RCpt = 0;
2427                 RCeta = 0;
2428                 RCphi = 0;
2429                 GetRandomCone(RCpt, RCeta, RCphi, fTracksCont, fCaloClustersCont, jet);
2430                 if (RCpt > 0) {
2431                   if (jet) {
2432                     Float_t dphi = RCphi - jet->Phi();
2433                     if (dphi > 4.8) dphi -= TMath::Pi() * 2;
2434                     if (dphi < -1.6) dphi += TMath::Pi() * 2; 
2435                     fHistRCPtExLJVSDPhiLJ->Fill(RCpt, dphi);
2436                   }
2437                   fHistRCPtExLJ[fCentBin]->Fill(RCpt);
2438                   fHistDeltaPtRCExLJ[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
2439                 }
2440
2441                 //partial exclusion
2442                 if(fBeamType == kpA) {
2443
2444                   RCpt = 0;
2445                   RCeta = 0;
2446                   RCphi = 0;
2447                   GetRandomCone(RCpt, RCeta, RCphi, fTracksCont, fCaloClustersCont, jet, kTRUE);
2448
2449                   if (RCpt > 0) {
2450                     if (jet) {
2451                       Float_t dphi = RCphi - jet->Phi();
2452                       if (dphi > 4.8) dphi -= TMath::Pi() * 2;
2453                       if (dphi < -1.6) dphi += TMath::Pi() * 2;
2454                       fHistRCPtExPartialLJVSDPhiLJ->Fill(RCpt, dphi);
2455                     }
2456                     fHistRCPtExPartialLJ[fCentBin]->Fill(RCpt);
2457                     fHistDeltaPtRCExPartialLJ[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
2458                   }
2459                 }
2460               }
2461             }
2462           }
2463   
2464           // Random cones with randomized particles
2465           /*if (fRandTracksCont || fRandCaloClustersCont) {
2466             RCpt = 0;
2467             RCeta = 0;
2468             RCphi = 0;
2469             GetRandomCone(RCpt, RCeta, RCphi, fRandTracksCont, fRandCaloClustersCont, 0);
2470             if (RCpt > 0) {
2471             fHistRCPtRand[fCentBin]->Fill(RCpt);
2472             fHistDeltaPtRCRand[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
2473             }  
2474             }*/
2475
2476           // ************
2477           // Embedding
2478           // _________________________________
2479
2480           //Track histogram
2481           if (fEmbTracksCont) {
2482             AliVTrack *EMBtrack = static_cast<AliVTrack*>(fEmbTracksCont->GetNextAcceptParticle(0)); 
2483             while(EMBtrack) {
2484               fTrackPt_EMB[fCentBin]->Fill(EMBtrack->Pt()); 
2485               fTrackPhi_EMB[fCentBin]->Fill(EMBtrack->Phi()); 
2486               fTrackEta_EMB[fCentBin]->Fill(EMBtrack->Eta()); 
2487               fTrack_Phi_Eta_EMB[fCentBin]->Fill(EMBtrack->Phi(),EMBtrack->Eta());
2488               EMBtrack = static_cast<AliVTrack*>(fEmbTracksCont->GetNextAcceptParticle());
2489             }
2490           }
2491
2492           if (fEmbJetsCont) {
2493     
2494             AliEmcalJet *embJet = NextEmbeddedJet(kTRUE);
2495     
2496             while (embJet != 0) {
2497
2498               if ((embJet->Eta() >  0.7) ||
2499                   (embJet->Eta() < -0.7) ||
2500                   (embJet->Phi() >  2*TMath::Pi()) ||
2501                   (embJet->Phi() <  0.0)) continue; // acceptance eta range and etmin
2502
2503               TLorentzVector mom;
2504               fEmbJetsCont->GetLeadingHadronMomentum(mom,embJet);
2505       
2506               Double_t distLeading2Jet = TMath::Sqrt((embJet->Eta() - mom.Eta()) * (embJet->Eta() - mom.Eta()) + (embJet->Phi() - mom.Phi()) * (embJet->Phi() - mom.Phi()));
2507       
2508               fHistEmbPartPtvsJetPt[fCentBin]->Fill(embJet->MCPt(), embJet->Pt());
2509               fHistEmbPartPtvsJetCorrPt[fCentBin]->Fill(embJet->MCPt(), embJet->Pt() - embJet->Area() * fRhoVal);
2510               fHistLeadPartPhiEta->Fill(mom.Eta(), mom.Phi());
2511               fHistDistLeadPart2JetAxis[fCentBin]->Fill(distLeading2Jet);
2512       
2513               fHistEmbJetsPtArea[fCentBin]->Fill(embJet->Area(), embJet->Pt(), mom.Pt());
2514               fHistEmbJetsCorrPtArea[fCentBin]->Fill(embJet->Area(), embJet->Pt() - fRhoVal * embJet->Area(), mom.Pt());
2515               fHistEmbJetsPhiEta->Fill(embJet->Eta(), embJet->Phi());
2516               fHistJetPtvsJetCorrPt[fCentBin]->Fill(embJet->Pt(), embJet->Pt() - fRhoVal * embJet->Area());
2517       
2518               fHistEmbBkgArea[fCentBin]->Fill(embJet->Area(), embJet->Pt() - embJet->MCPt());
2519               fHistRhoVSEmbBkg[fCentBin]->Fill(fRhoVal * embJet->Area(), embJet->Pt() - embJet->MCPt());
2520               fHistDeltaPtEmbArea[fCentBin]->Fill(embJet->Area(), embJet->Pt() - embJet->Area() * fRhoVal - embJet->MCPt());
2521
2522               Double_t ep = embJet->Phi() - fEPV0;
2523               while (ep < 0) ep += TMath::Pi();
2524               while (ep >= TMath::Pi()) ep -= TMath::Pi();
2525
2526               fHistDeltaPtEmbvsEP[fCentBin]->Fill(ep, embJet->Pt() - embJet->Area() * fRhoVal - embJet->MCPt());
2527
2528               //leading track cut
2529               Int_t leading_track_count[3]={0,0,0};
2530               //Int_t leading_track_limit=0;
2531               if(fEmbJetsCont->GetLeadingHadronPt(embJet) > 0.) leading_track_count[0] += 1;
2532               if(fEmbJetsCont->GetLeadingHadronPt(embJet) > 5.) leading_track_count[1] += 1;
2533               if(fEmbJetsCont->GetLeadingHadronPt(embJet) > 10.) leading_track_count[2] += 1;
2534               //if(fEmbJetsCont->GetLeadingHadronPt(embJet) > 100.) leading_track_limit += 1;
2535               //if(leading_track_limit > 0) continue;
2536
2537               for(int m=0;m<3;m++){
2538                 c_jet1_EMB[m]++; // jet count in acceptance.
2539                 if(leading_track_count[m] > 0){
2540                   fJetPt_EMB[fCentBin][m]->Fill(embJet->Pt());
2541                   fJetPhi_EMB[fCentBin][m]->Fill(embJet->Phi());
2542                   fJetEta_EMB[fCentBin][m]->Fill(embJet->Eta());
2543                   fJet_Phi_Eta_EMB[fCentBin][m]->Fill(embJet->Phi(),embJet->Eta());
2544                   fJetPt_BG_EMB[fCentBin][m]->Fill(embJet->Pt() - embJet->Area() * fRhoVal);
2545                   fJetDeltaPt[fCentBin][m]->Fill(embJet->Pt() - embJet->Area() * fRhoVal - embJet->MCPt());
2546                 }
2547               }
2548
2549               for(int m=0;m<3;m++){
2550                 if(c_jet1_EMB[m] == 1)
2551                   {
2552                     if(leading_track_count[m] > 0){
2553                       jet1_pt2[m] = embJet->Pt(); jet1_pt_BG2[m] = embJet->Pt() - embJet->Area() * fRhoVal; jet1_Deltapt[m] = embJet->Pt() - embJet->Area() * fRhoVal - embJet->MCPt(); jet1_phi2[m] = embJet->Phi(); jet1_eta2[m] = embJet->Eta(); //Get Leading Jet(Jet1) value
2554
2555                       dEPJet2[m] = jet1_phi2[m] - fEPV0;
2556                       while (dEPJet2[m] < 0) dEPJet2[m] += TMath::Pi();
2557                       while (dEPJet2[m] >= TMath::Pi()) dEPJet2[m] -= TMath::Pi();
2558
2559                       leading_jet_count2[m] += 1;
2560                     }
2561                   }
2562
2563                 else if(c_jet1_EMB[m] > 1 && c_jet2_EMB[m] == 0  && leading_jet_count2[m] > 0 && leading_track_count[m] > 0)// sub leading
2564                   {
2565                     jet2_pt2[m] = embJet->Pt(); jet2_pt_BG2[m] = embJet->Pt() - embJet->Area() * fRhoVal; jet2_Deltapt[m] = embJet->Pt() - embJet->Area() * fRhoVal - embJet->MCPt(); jet2_phi2[m] = embJet->Phi(); jet2_eta2[m] = embJet->Eta(); //Get Sub Leading Jet(Jet2) value
2566                     Delta_phi2[m] = jet1_phi2[m] - jet2_phi2[m]; Aj2[m] = (jet1_pt_BG2[m] - jet2_pt_BG2[m]) / (jet1_pt_BG2[m] + jet2_pt_BG2[m]);
2567                     if     (Delta_phi2[m] < (-1./2*TMath::Pi()))Delta_phi2[m] = Delta_phi2[m] +2*TMath::Pi();
2568                     else if(Delta_phi2[m] > (3./2*TMath::Pi()))Delta_phi2[m] = Delta_phi2[m] -2*TMath::Pi();
2569                     Delta_eta2[m] = jet1_eta2[m] - jet2_eta2[m]; //Get Correlations of jet1, jet2
2570
2571                     // Correlations of jet1, jet2
2572                     for(int count1=0;count1<4;count1++){
2573                       for(int count2=0;count2<count1+1;count2++){
2574                         if(jet1_pt_BG2[m] > Jet1_threshold[count1] && jet2_pt_BG2[m] > Jet2_threshold[count2]){
2575                           fJet1Pt_EMB[fCentBin][m][count1][count2]->Fill(jet1_pt2[m]);
2576                           fJet2Pt_EMB[fCentBin][m][count1][count2]->Fill(jet2_pt2[m]);
2577                           fJet1Pt_BG_EMB[fCentBin][m][count1][count2]->Fill(jet1_pt_BG2[m]);
2578                           fJet2Pt_BG_EMB[fCentBin][m][count1][count2]->Fill(jet2_pt_BG2[m]);
2579                           fJet1DeltaPt[fCentBin][m][count1][count2]->Fill(jet1_Deltapt[m]);
2580                           fJet2DeltaPt[fCentBin][m][count1][count2]->Fill(jet2_Deltapt[m]);
2581                           fJetDeltaPhi_EMB[fCentBin][m][count1][count2]->Fill(Delta_phi2[m]);
2582                           fJetDeltaEta_EMB[fCentBin][m][count1][count2]->Fill(Delta_eta2[m]);
2583                           fJetDeltaEP_EMB[fCentBin][m][count1][count2]->Fill(dEPJet2[m]);
2584                         }
2585                       }//count2
2586                     }//count1
2587
2588
2589                     // Find delta_phi
2590                     if(Delta_phi2[m] > (2./3.)* TMath::Pi() && Delta_phi2[m] < (4./3.)* TMath::Pi()){
2591                       for(int count1=0;count1<4;count1++){
2592                         for(int count2=0;count2<count1+1;count2++){
2593                           if(jet1_pt_BG2[m] > Jet1_threshold[count1] && jet2_pt_BG2[m] > Jet2_threshold[count2]){
2594                             fJet1SelectPt_BG_EMB[fCentBin][m][count1][count2]->Fill(jet1_pt_BG2[m]);
2595                             fJet2SelectPt_BG_EMB[fCentBin][m][count1][count2]->Fill(jet2_pt_BG2[m]);
2596                             fJet1SelectDeltaPt[fCentBin][m][count1][count2]->Fill(jet1_Deltapt[m]);
2597                             fJet2SelectDeltaPt[fCentBin][m][count1][count2]->Fill(jet2_Deltapt[m]);
2598                             fAj_EMB[fCentBin][m][count1][count2]->Fill((jet1_pt_BG2[m] - jet2_pt_BG2[m]) / (jet1_pt_BG2[m] + jet2_pt_BG2[m]));
2599                           }
2600                         }//count2
2601                       }//count1
2602                     }// Find delta_phi
2603
2604                     c_jet2_EMB[m]++;
2605                     subleading_jet_count2[m] += 1;
2606                   }// sub leading
2607
2608               }
2609
2610               embJet = NextEmbeddedJet();
2611             }// jet while
2612
2613
2614             //jet-hadron
2615             if (fEmbTracksCont) {
2616               for(int m=0;m<3;m++){
2617                 //if find sub leading
2618                 int c_subleading_jet = 0;
2619                 c_subleading_jet = subleading_jet_count2[m];
2620                 if(c_subleading_jet > 0){
2621
2622                   AliVTrack *EMBtrack = static_cast<AliVTrack*>(fEmbTracksCont->GetNextAcceptParticle(0));
2623                   while(EMBtrack) {
2624
2625                     Double_t pt,phi,dphi;
2626                     pt = -999.0; phi = -999.0; dphi = -999.0;
2627                     pt = EMBtrack->Pt(); phi = EMBtrack->Phi();
2628
2629                     dphi = jet1_phi2[m] - phi;
2630                     if     (dphi < (-1./2.*TMath::Pi()))dphi = dphi +2*TMath::Pi();
2631                     else if(dphi > (3./2.*TMath::Pi()))dphi = dphi -2*TMath::Pi();
2632
2633                     //jet_track check
2634                     /*Bool_t jet_switch=false;
2635                       for(int i=0;i<200;i++){
2636                       Float_t check_track1,check_track2;
2637                       check_track1 = -999.0; check_track2 = -999.0;
2638                       check_track1 = jet_track[m][0][i]; check_track2 = jet_track[m][1][i];
2639                       if(check_track1 == phi){
2640                       jet_switch=true;
2641                       }
2642                       if(check_track2 == phi){
2643                       jet_switch=true;
2644                       }
2645                       }
2646
2647                       if(jet_switch==true){
2648                       continue;
2649                       }*/
2650
2651                     //dphi cut
2652                     Bool_t dphi_cut[4];
2653                     //devide(jet side)
2654                     dphi_cut[0]= ((-1./3.*TMath::Pi()) <= dphi && dphi <= (1./3.*TMath::Pi()));
2655                     dphi_cut[1]= ((2./3.*TMath::Pi()) <= dphi && dphi <= (4./3.*TMath::Pi()));
2656                     //devide(out jet side)
2657                     dphi_cut[2]= (((1./3.*TMath::Pi()) <= dphi && dphi <= (1./2.*TMath::Pi())) || ((-1./2.*TMath::Pi()) < dphi && dphi < (-1./3.*TMath::Pi())));//leadingjet
2658                     dphi_cut[3]= (((1./2.*TMath::Pi()) <= dphi && dphi <= (2./3.*TMath::Pi())) || ((4./3.*TMath::Pi()) < dphi && dphi < (3./2.*TMath::Pi())));//subleadingjet
2659
2660                     //pt switch
2661                     Bool_t pt_switch[4];
2662                     pt_switch[0]= (pt > 0.15);
2663                     pt_switch[1]= (pt > 0.15 && pt <= 2.0);
2664                     pt_switch[2]= (pt > 2.0 && pt <= 4.0);
2665                     pt_switch[3]= (pt > 4.0);
2666
2667                     //jetdphi switch
2668                     Double_t jet_dphi = -999.0;
2669                     jet_dphi = Delta_phi2[m];
2670                     Bool_t jet_dphi_switch[3];
2671                     jet_dphi_switch[0]= (jet_dphi > (2./3.)* TMath::Pi() && jet_dphi < (4./3.)* TMath::Pi());
2672                     jet_dphi_switch[1]= (jet_dphi > (5./6.)* TMath::Pi() && jet_dphi < (7./12.)* TMath::Pi());
2673                     jet_dphi_switch[2]= (jet_dphi > (11./12.)* TMath::Pi() && jet_dphi < (13./12.)* TMath::Pi());
2674
2675                     //jetdEP switch
2676                     Double_t jet_dEP = -999.0;
2677                     jet_dEP = dEPJet2[m];
2678                     Bool_t jet_dEP_switch[4];
2679                     jet_dEP_switch[0]= ((0.*TMath::Pi()) <= jet_dEP && jet_dEP <= (1./4.*TMath::Pi()));
2680                     jet_dEP_switch[1]= ((1./4.*TMath::Pi()) < jet_dEP && jet_dEP <= (1./2.*TMath::Pi()));
2681                     jet_dEP_switch[2]= ((1./2.*TMath::Pi()) < jet_dEP && jet_dEP <= (3./4.*TMath::Pi()));
2682                     jet_dEP_switch[3]= ((3./4.*TMath::Pi()) < jet_dEP && jet_dEP < (1.*TMath::Pi()));
2683
2684                     //eta switch
2685                     /*Double_t leading_jet_eta = -999.0;
2686                       leading_jet_eta = jet1_eta2[m];
2687                       Bool_t eta_switch[3];
2688                       eta_switch[0]= (-0.7 <= leading_jet_eta && leading_jet_eta <= 0.7);
2689                       eta_switch[1]= (-0.3 <= leading_jet_eta && leading_jet_eta <= 0.3);
2690                       eta_switch[2]= ((-0.7 <= leading_jet_eta && leading_jet_eta < -0.3) || (0.3 < leading_jet_eta && leading_jet_eta <= 0.7));*/
2691
2692                     //hadron-dphi
2693                     for(int pt_cut=0;pt_cut<4;pt_cut++){
2694                       if(pt_switch[pt_cut]){
2695                         for(int count1=0;count1<4;count1++){
2696                           if(jet_dphi_switch[0]){
2697                             for(int count2=0;count2<count1+1;count2++){
2698                               if(jet1_pt_BG2[m] > Jet1_threshold[count1] && jet2_pt_BG2[m] > Jet2_threshold[count2]){
2699                                 fHJetDeltaPhi_Aj0_EMB[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
2700
2701                                 if(Aj2[m] >= 0.0 && Aj2[m] < 0.2){
2702                                   fHJetDeltaPhi_Aj1_EMB[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
2703                                 }
2704
2705                                 if(Aj2[m] >= 0.2 && Aj2[m] < 0.4){
2706                                   fHJetDeltaPhi_Aj2_EMB[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
2707                                 }
2708
2709                                 if(Aj2[m] >= 0.4 && Aj2[m] < 0.6){
2710                                   fHJetDeltaPhi_Aj3_EMB[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
2711                                 }
2712
2713                                 if(Aj2[m] >= 0.6 && Aj2[m] <= 0.8){
2714                                   fHJetDeltaPhi_Aj4_EMB[fCentBin][m][pt_cut][count1][count2]->Fill(dphi);
2715                                 }
2716                               }
2717
2718
2719                             }//count2
2720                           }
2721                         }//count1
2722                       }//pt cut
2723                     }//pt for
2724
2725                     //hadron-pT
2726                     for(int count1=0;count1<4;count1++){
2727                       if(jet_dphi_switch[0]){
2728                         for(int count2=0;count2<count1+1;count2++){
2729                           if(jet1_pt_BG2[m] > Jet1_threshold[count1] && jet2_pt_BG2[m] > Jet2_threshold[count2]){
2730                             for(int i=0;i<4;i++){
2731                               if(dphi_cut[i]){
2732                                 fHJetPt_Aj0_EMB[fCentBin][m][i][count1][count2]->Fill(pt);
2733
2734                                 if(Aj2[m] >= 0.0 && Aj2[m] < 0.2){
2735                                   fHJetPt_Aj1_EMB[fCentBin][m][i][count1][count2]->Fill(pt);
2736                                 }
2737
2738                                 if(Aj2[m] >= 0.2 && Aj2[m] < 0.4){
2739                                   fHJetPt_Aj2_EMB[fCentBin][m][i][count1][count2]->Fill(pt);
2740                                 }
2741
2742                                 if(Aj2[m] >= 0.4 && Aj2[m] < 0.6){
2743                                   fHJetPt_Aj3_EMB[fCentBin][m][i][count1][count2]->Fill(pt);
2744                                 }
2745
2746                                 if(Aj2[m] >= 0.6 && Aj2[m] <= 0.8){
2747                                   fHJetPt_Aj4_EMB[fCentBin][m][i][count1][count2]->Fill(pt);
2748                                 }
2749                               }//dphi cut
2750                             }//dphi loop
2751                           }//jet pt cut
2752
2753                         }//count2
2754                       }
2755                     }//count1
2756
2757                     if(m==1){
2758                       //hadron-dphi as dEPJet (jet leading track = 5GeV)
2759                       for(int EPtri=0;EPtri<4;EPtri++){
2760                         if(jet_dEP_switch[EPtri]){
2761                           for(int pt_cut=0;pt_cut<4;pt_cut++){
2762                             if(pt_switch[pt_cut]){
2763                               for(int count1=0;count1<4;count1++){
2764                                 if(jet_dphi_switch[0]){
2765                                   for(int count2=0;count2<count1+1;count2++){
2766                                     if(jet1_pt_BG2[m] > Jet1_threshold[count1] && jet2_pt_BG2[m] > Jet2_threshold[count2]){
2767                                       fHJetDeltaPhiasEP_Aj0_EMB[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2768
2769                                       if(Aj2[m] >= 0.0 && Aj2[m] < 0.2){
2770                                         fHJetDeltaPhiasEP_Aj1_EMB[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2771                                       }
2772
2773                                       if(Aj2[m] >= 0.2 && Aj2[m] < 0.4){
2774                                         fHJetDeltaPhiasEP_Aj2_EMB[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2775                                       }
2776
2777                                       if(Aj2[m] >= 0.4 && Aj2[m] < 0.6){
2778                                         fHJetDeltaPhiasEP_Aj3_EMB[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2779                                       }
2780
2781                                       if(Aj2[m] >= 0.6 && Aj2[m] <= 0.8){
2782                                         fHJetDeltaPhiasEP_Aj4_EMB[fCentBin][EPtri][pt_cut][count1][count2]->Fill(dphi);
2783                                       }
2784                                     }
2785
2786
2787                                   }//count2
2788                                 }
2789                               }//count1
2790                             }//pt cut
2791                           }//pt for
2792                         }//dEP cut
2793                       }//dEP for
2794
2795                       //hadron-pT as dEPJet (jet lenading track = 5GeV)
2796                       for(int EPtri=0;EPtri<4;EPtri++){
2797                         if(jet_dEP_switch[EPtri]){
2798                           for(int count1=0;count1<4;count1++){
2799                             if(jet_dphi_switch[0]){
2800                               for(int count2=0;count2<count1+1;count2++){
2801                                 if(jet1_pt_BG2[m] > Jet1_threshold[count1] && jet2_pt_BG2[m] > Jet2_threshold[count2]){
2802                                   for(int i=0;i<4;i++){
2803                                     if(dphi_cut[i]){
2804                                       fHJetPtasEP_Aj0_EMB[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2805
2806                                       if(Aj2[m] >= 0.0 && Aj2[m] < 0.2){
2807                                         fHJetPtasEP_Aj1_EMB[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2808                                       }
2809
2810                                       if(Aj2[m] >= 0.2 && Aj2[m] < 0.4){
2811                                         fHJetPtasEP_Aj2_EMB[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2812                                       }
2813
2814                                       if(Aj2[m] >= 0.4 && Aj2[m] < 0.6){
2815                                         fHJetPtasEP_Aj3_EMB[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2816                                       }
2817
2818                                       if(Aj2[m] >= 0.6 && Aj2[m] <= 0.8){
2819                                         fHJetPtasEP_Aj4_EMB[fCentBin][EPtri][i][count1][count2]->Fill(pt);
2820                                       }
2821                                     }//dphi cut
2822                                   }//dphi loop
2823                                 }//jet pt cut
2824
2825                               }//count2
2826                             }
2827                           }//count1
2828                         }//dEP cut
2829                       }//dEP for
2830                     }//jet leading track cut
2831
2832                     EMBtrack = static_cast<AliVTrack*>(fEmbTracksCont->GetNextAcceptParticle());
2833                   }// track while
2834
2835                 }// if sub leading jet
2836               }
2837             }// tracks Cont
2838
2839           }// jet Cont
2840
2841
2842         }//vertex
2843       }//vertex
2844     }//trigger
2845
2846   }//event
2847   return kTRUE;
2848 }
2849
2850 //________________________________________________________________________
2851 AliEmcalJet* AliAnalysisTaskDijetHadron::NextEmbeddedJet(Bool_t reset)
2852 {
2853   // Get the next accepted embedded jet.
2854
2855   Int_t i = reset ? 0 : -1;
2856       
2857   AliEmcalJet* jet = fEmbJetsCont->GetNextAcceptJet(i);
2858   while (jet && jet->MCPt() < fMCJetPtThreshold) jet = fEmbJetsCont->GetNextAcceptJet();
2859
2860   return jet;
2861 }
2862
2863 //________________________________________________________________________
2864 void AliAnalysisTaskDijetHadron::GetRandomCone(Float_t &pt, Float_t &eta, Float_t &phi,
2865                                             AliParticleContainer* tracks, AliClusterContainer* clusters,
2866                                             AliEmcalJet *jet, Bool_t bPartialExclusion) const
2867 {
2868   // Get rigid cone.
2869
2870   eta = -999;
2871   phi = -999;
2872   pt = 0;
2873
2874   if (!tracks && !clusters)
2875     return;
2876
2877   Float_t LJeta = 999;
2878   Float_t LJphi = 999;
2879
2880   if (jet) {
2881     LJeta = jet->Eta();
2882     LJphi = jet->Phi();
2883   }
2884
2885   Float_t maxEta = fConeMaxEta;
2886   Float_t minEta = fConeMinEta;
2887   Float_t maxPhi = fConeMaxPhi;
2888   Float_t minPhi = fConeMinPhi;
2889
2890   if (maxPhi > TMath::Pi() * 2) maxPhi = TMath::Pi() * 2;
2891   if (minPhi < 0) minPhi = 0;
2892   
2893   Float_t dLJ = 0;
2894   Int_t repeats = 0;
2895   Bool_t reject = kTRUE;
2896   do {
2897     eta = gRandom->Rndm() * (maxEta - minEta) + minEta;
2898     phi = gRandom->Rndm() * (maxPhi - minPhi) + minPhi;
2899     dLJ = TMath::Sqrt((LJeta - eta) * (LJeta - eta) + (LJphi - phi) * (LJphi - phi));
2900
2901     if(bPartialExclusion) {
2902       reject = kFALSE;
2903
2904       TRandom3 rnd;
2905       rnd.SetSeed(0);
2906
2907       Double_t ncoll = GetNColl();
2908
2909       Double_t prob = 0.;
2910       if(ncoll>0)
2911         prob = 1./ncoll;
2912
2913       if(rnd.Rndm()<=prob) reject = kTRUE; //reject cone
2914     }
2915
2916     repeats++;
2917   } while (dLJ < fMinRC2LJ && repeats < 999 && reject);
2918
2919   if (repeats == 999) {
2920     AliWarning(Form("%s: Could not get random cone!", GetName()));
2921     return;
2922   }
2923
2924   if (clusters) {
2925     AliVCluster* cluster = clusters->GetNextAcceptCluster(0);
2926     while (cluster) {     
2927       TLorentzVector nPart;
2928       cluster->GetMomentum(nPart, const_cast<Double_t*>(fVertex));
2929
2930       Float_t cluseta = nPart.Eta();
2931       Float_t clusphi = nPart.Phi();
2932       
2933       if (TMath::Abs(clusphi - phi) > TMath::Abs(clusphi - phi + 2 * TMath::Pi()))
2934         clusphi += 2 * TMath::Pi();
2935       if (TMath::Abs(clusphi - phi) > TMath::Abs(clusphi - phi - 2 * TMath::Pi()))
2936         clusphi -= 2 * TMath::Pi();
2937      
2938       Float_t d = TMath::Sqrt((cluseta - eta) * (cluseta - eta) + (clusphi - phi) * (clusphi - phi));
2939       if (d <= fConeRadius) 
2940         pt += nPart.Pt();
2941
2942       cluster = clusters->GetNextAcceptCluster();
2943     }
2944   }
2945
2946   if (tracks) {
2947     AliVParticle* track = tracks->GetNextAcceptParticle(0); 
2948     while(track) { 
2949       Float_t tracketa = track->Eta();
2950       Float_t trackphi = track->Phi();
2951       
2952       if (TMath::Abs(trackphi - phi) > TMath::Abs(trackphi - phi + 2 * TMath::Pi()))
2953         trackphi += 2 * TMath::Pi();
2954       if (TMath::Abs(trackphi - phi) > TMath::Abs(trackphi - phi - 2 * TMath::Pi()))
2955         trackphi -= 2 * TMath::Pi();
2956       
2957       Float_t d = TMath::Sqrt((tracketa - eta) * (tracketa - eta) + (trackphi - phi) * (trackphi - phi));
2958       if (d <= fConeRadius)
2959         pt += track->Pt();
2960
2961       track = tracks->GetNextAcceptParticle(); 
2962     }
2963   }
2964 }
2965
2966 //________________________________________________________________________
2967 void AliAnalysisTaskDijetHadron::SetConeEtaPhiEMCAL()
2968 {
2969   // Set default cuts for full cones
2970
2971   SetConeEtaLimits(-0.7+fConeRadius,0.7-fConeRadius);
2972   SetConePhiLimits(1.4+fConeRadius,TMath::Pi()-fConeRadius);
2973 }
2974
2975 //________________________________________________________________________
2976 void AliAnalysisTaskDijetHadron::SetConeEtaPhiTPC()
2977 {
2978   // Set default cuts for charged cones
2979
2980   SetConeEtaLimits(-0.9+fConeRadius, 0.9-fConeRadius);
2981   SetConePhiLimits(-10, 10);
2982 }
2983
2984 //________________________________________________________________________
2985 void AliAnalysisTaskDijetHadron::ExecOnce()
2986 {
2987   // Initialize the analysis.
2988
2989   AliAnalysisTaskEmcalJet::ExecOnce();
2990
2991   if (fTracksCont && fTracksCont->GetArray() == 0) fTracksCont = 0;
2992   if (fCaloClustersCont && fCaloClustersCont->GetArray() == 0) fCaloClustersCont = 0;
2993   if (fEmbTracksCont && fEmbTracksCont->GetArray() == 0) fEmbTracksCont = 0;
2994   if (fEmbCaloClustersCont && fEmbCaloClustersCont->GetArray() == 0) fEmbCaloClustersCont = 0;
2995   //if (fRandTracksCont && fRandTracksCont->GetArray() == 0) fRandTracksCont = 0;
2996   //if (fRandCaloClustersCont && fRandCaloClustersCont->GetArray() == 0) fRandCaloClustersCont = 0;
2997   if (fJetsCont && fJetsCont->GetArray() == 0) fJetsCont = 0;
2998   if (fMCJetsCont && fMCJetsCont->GetArray() == 0) fMCJetsCont = 0;
2999   if (fEmbJetsCont && fEmbJetsCont->GetArray() == 0) fEmbJetsCont = 0;
3000
3001   if (fRCperEvent < 0) {
3002     Double_t area = (fConeMaxEta - fConeMinEta) * (fConeMaxPhi - fConeMinPhi);
3003     Double_t rcArea = TMath::Pi() * fConeRadius * fConeRadius;
3004     fRCperEvent = TMath::FloorNint(area / rcArea - 0.5);
3005     if (fRCperEvent == 0)
3006       fRCperEvent = 1;
3007   }
3008
3009   if (fMinRC2LJ < 0)
3010     fMinRC2LJ = fConeRadius * 1.5;
3011
3012   const Float_t maxDist = TMath::Max(fConeMaxPhi - fConeMinPhi, fConeMaxEta - fConeMinEta) / 2;
3013   if (fMinRC2LJ > maxDist) {
3014     AliWarning(Form("The parameter fMinRC2LJ = %f is too large for the considered acceptance. "
3015                     "Will use fMinRC2LJ = %f", fMinRC2LJ, maxDist));
3016     fMinRC2LJ = maxDist;
3017   }
3018 }
3019
3020 //________________________________________________________________________
3021 Double_t AliAnalysisTaskDijetHadron::GetZ(const Double_t trkPx, const Double_t trkPy, const Double_t trkPz, const Double_t jetPx, const Double_t jetPy, const Double_t jetPz)
3022 {
3023   return (trkPx*jetPx+trkPy*jetPy+trkPz*jetPz)/(jetPx*jetPx+jetPy*jetPy+jetPz*jetPz);
3024 }
3025
3026 //________________________________________________________________________
3027 Double_t AliAnalysisTaskDijetHadron::GetNColl() const {
3028   // Get NColl - returns value of corresponding bin
3029   // only works for pA
3030   // values taken from V0A slicing https://twiki.cern.ch/twiki/bin/viewauth/ALICE/PACentStudies#Tables_with_centrality_bins_from
3031
3032   if(fBeamType == kpA) {
3033
3034     const Int_t nNCollBins = 7;
3035
3036     Double_t centMin[nNCollBins] = {0.,5.,10.,20.,40.,60.,80.};
3037     Double_t centMax[nNCollBins] = {5.,10.,20.,40.,60.,80.,100.};
3038
3039     Double_t nColl[nNCollBins] = {14.7,13.,11.7,9.38,6.49,3.96,1.52};
3040
3041     for(Int_t i = 0; i<nNCollBins; i++) {
3042       if(fCent>=centMin[i] && fCent<centMax[i])
3043         return nColl[i];
3044     }
3045
3046     return -1.;
3047   }
3048   else {
3049     AliWarning(Form("%s: Only works for pA analysis. Returning -1",GetName()));
3050     return -1.;
3051   }
3052 }