AliPhysics  1811c8f (1811c8f)
AliAnalysisTaskEmcalJetSpectra.cxx
Go to the documentation of this file.
1 // $Id$
2 //
3 // Jet spectrum task.
4 //
5 // Author: R.Reed, M.Connors
6 
8 
9 #include <TCanvas.h>
10 #include <TChain.h>
11 #include <TClonesArray.h>
12 #include <TH1F.h>
13 #include <TH2F.h>
14 #include <THnSparse.h>
15 #include <TList.h>
16 #include <TLorentzVector.h>
17 #include <TParameter.h>
18 #include <TParticle.h>
19 #include <TTree.h>
20 #include <TVector3.h>
21 
22 #include "AliAODEvent.h"
23 #include "AliAnalysisManager.h"
24 #include "AliAnalysisTask.h"
25 #include "AliCentrality.h"
26 #include "AliESDEvent.h"
27 #include "AliESDInputHandler.h"
28 #include "AliEmcalJet.h"
29 #include "AliVCluster.h"
30 #include "AliRhoParameter.h"
31 #include "AliEmcalParticle.h"
32 #include "AliLocalRhoParameter.h"
34 
36 
37 //________________________________________________________________________
40  fLocalRhoVal(0),
41  fHistRhovsCent(0),
42  fHistNjetvsCent(0),
43  fHistGLvsLOCrho(0),
44  fHistRhovsdEPLOC(0), fHistRhovsdEPGL(0),
45  fHistJetPtvsdEPLOC(0), fHistJetPtvsdEPGL(0),
46  fHistRhovsEPLOC(0), fHistRhovsEPGL(0),
47  fHistJetPtvsEPLOC(0), fHistJetPtvsEPGL(0),
48  fHistCorJetPt(0), fHistCorJetPtGL(0)
49 {
50  // Default constructor.
51  for (Int_t i = 0;i<6;++i){
52  fHistJetPtvsTrackPt[i] = 0;
53  fHistRawJetPtvsTrackPt[i] = 0;
54  fHistTrackPt[i] = 0;
55  fHistEP0[i] = 0;
56  fHistEP0A[i] = 0;
57  fHistEP0C[i] = 0;
58  fHistEPAvsC[i] = 0;
59  fHistJetPtvsdEP[i] = 0;
60  fHistJetPtvsdEPBias[i] = 0;
61  fHistJetPtvsEP[i] = 0;
62  fHistJetPtvsEPBias[i] = 0;
63  fHistRhovsEP[i] = 0;
64  fHistCorJetPtfromLocalRho[i]= 0;
65  fHistCorJetPtfromGlobalRho[i] = 0;
66 
67  fHistCorJetPtfromLocalRhoIN[i] = 0;
68  fHistCorJetPtfromLocalRhoOUT[i] = 0;
69  fHistCorJetPtfromGlobalRhoIN[i] = 0;
70  fHistCorJetPtfromGlobalRhoOUT[i]= 0;
71  fHistRhodEPcentLOC[i] = 0;
72  fHistRhodEPcentGL[i] = 0;
73  fHistCorJetPtdEPcentLOC[i] = 0;
74  fHistCorJetPtdEPcentGL[i] = 0;
75  fHistRhoEPcentLOC[i] = 0;
76  fHistRhoEPcentGL[i] = 0;
77  fHistCorJetPtEPcentLOC[i] = 0;
78  fHistCorJetPtEPcentGL[i] = 0;
79 
80  }
81 
82  SetMakeGeneralHistograms(kTRUE);
83 
84 }
85 
86 //________________________________________________________________________
88  AliAnalysisTaskEmcalJet(name,kTRUE),
89  fLocalRhoVal(0),
90  fHistRhovsCent(0),
91  fHistNjetvsCent(0),
92  fHistGLvsLOCrho(0),
93  fHistRhovsdEPLOC(0), fHistRhovsdEPGL(0),
94  fHistJetPtvsdEPLOC(0), fHistJetPtvsdEPGL(0),
95  fHistRhovsEPLOC(0), fHistRhovsEPGL(0),
96  fHistJetPtvsEPLOC(0), fHistJetPtvsEPGL(0),
97  fHistCorJetPt(0), fHistCorJetPtGL(0)
98  {
99  for (Int_t i = 0;i<6;++i){
100  fHistJetPtvsTrackPt[i] = 0;
101  fHistRawJetPtvsTrackPt[i] = 0;
102  fHistTrackPt[i] = 0;
103  fHistEP0[i] = 0;
104  fHistEP0A[i] = 0;
105  fHistEP0C[i] = 0;
106  fHistEPAvsC[i] = 0;
107  fHistJetPtvsdEP[i] = 0;
108  fHistJetPtvsdEPBias[i] = 0;
109  fHistJetPtvsEP[i] = 0;
110  fHistJetPtvsEPBias[i] = 0;
111  fHistRhovsEP[i] = 0;
114 
119  fHistRhodEPcentLOC[i] = 0;
120  fHistRhodEPcentGL[i] = 0;
122  fHistCorJetPtdEPcentGL[i] = 0;
123  fHistRhoEPcentLOC[i] = 0;
124  fHistRhoEPcentGL[i] = 0;
125  fHistCorJetPtEPcentLOC[i] = 0;
126  fHistCorJetPtEPcentGL[i] = 0;
127 
128  }
129 
131  }
132 
133 //________________________________________________________________________
135 {
136 
137  if (! fCreateHisto) return;
138 
140 
141  fHistRhovsCent = new TH2F("RhovsCent", "RhovsCent", 100, 0.0, 100.0, 500, 0, 500);
142  fHistNjetvsCent = new TH2F("NjetvsCent", "NjetvsCent", 100, 0.0, 100.0, 100, 0, 100);
143 
144  fHistGLvsLOCrho = new TH2F("GLvsLOCrho", "GLvsLOCrho", 400, 0.0, 400.0, 400, 0.0, 400.0);
145 
146  fHistRhovsdEPLOC = new TH2F("RhovsdEPLOC", "RhovsdEPLOC",400,0,400, 144,-1*TMath::Pi(),1*TMath::Pi());
147  fHistRhovsdEPGL = new TH2F("RhovsdEPGL", "RhovsdEPGL",400,0,400, 144,-1*TMath::Pi(),1*TMath::Pi());
148  fHistJetPtvsdEPLOC = new TH2F("JetPtvsdEPLOC", "JetPtvsdEPLOC", 500, -250, 250, 144,-1*TMath::Pi(),1*TMath::Pi());
149  fHistJetPtvsdEPGL = new TH2F("JetPtvsdEPGL", "JetPtvsdEPGL", 500, -250, 250, 144,-1*TMath::Pi(),1*TMath::Pi());
150  fHistRhovsEPLOC = new TH2F("RhovsEPLOC", "RhovsEPLOC",400,0,400, 144,-1*TMath::Pi(),1*TMath::Pi());
151  fHistRhovsEPGL = new TH2F("RhovsEPGL", "RhovsEPGL",400,0,400, 144,-1*TMath::Pi(),1*TMath::Pi());
152  fHistJetPtvsEPLOC = new TH2F("JetPtvsEPLOC", "JetPtvsEPLOC", 500, -250, 250, 144,-1*TMath::Pi(),1*TMath::Pi());
153  fHistJetPtvsEPGL = new TH2F("JetPtvsEPGL", "JetPtvsEPGL", 500, -250, 250, 144,-1*TMath::Pi(),1*TMath::Pi());
154 
155  fHistCorJetPtGL = new TH1F("NjetvsCorrJetPtGL", "NjetvsCorrJetPtGL", 500, -250, 250);
156  fHistCorJetPt = new TH1F("NjetvsCorrJetPt", "NjetvsCorrJetPt", 500, -250, 250);
157 
158  TString name;
159  TString title;
160  for (Int_t i = 0;i<6;++i){
161  name = TString(Form("JetPtvsTrackPt_%i",i));
162  title = TString(Form("Jet pT vs Leading Track pT cent bin %i",i));
163  fHistJetPtvsTrackPt[i] = new TH2F(name,title,1000,-500,500,100,0,100);
164  fOutput->Add(fHistJetPtvsTrackPt[i]);
165  name = TString(Form("RawJetPtvsTrackPt_%i",i));
166  title = TString(Form("Raw Jet pT vs Leading Track pT cent bin %i",i));
167  fHistRawJetPtvsTrackPt[i] = new TH2F(name,title,1000,-500,500,100,0,100);
169  name = TString(Form("TrackPt_%i",i));
170  title = TString(Form("Track pT cent bin %i",i));
171  fHistTrackPt[i] = new TH1F(name,title,1000,0,200);
172  fOutput->Add(fHistTrackPt[i]);
173 
174  name = TString(Form("EP0_%i",i));
175  title = TString(Form("EP VZero cent bin %i",i));
176  fHistEP0[i] = new TH1F(name,title,100,-TMath::Pi(),TMath::Pi());
177  fOutput->Add(fHistEP0[i]);
178  name = TString(Form("EP0A_%i",i));
179  title = TString(Form("EP VZero cent bin %i",i));
180  fHistEP0A[i] = new TH1F(name,title,100,-TMath::Pi(),TMath::Pi());
181  fOutput->Add(fHistEP0A[i]);
182  name = TString(Form("EP0C_%i",i));
183  title = TString(Form("EP VZero cent bin %i",i));
184  fHistEP0C[i] = new TH1F(name,title,100,-TMath::Pi(),TMath::Pi());
185  fOutput->Add(fHistEP0C[i]);
186  name = TString(Form("EPAvsC_%i",i));
187  title = TString(Form("EP VZero cent bin %i",i));
188  fHistEPAvsC[i] = new TH2F(name,title,100,-TMath::Pi(),TMath::Pi(),100,-TMath::Pi(),TMath::Pi());
189  fOutput->Add(fHistEPAvsC[i]);
190  name = TString(Form("JetPtvsdEP_%i",i));
191  title = TString(Form("Jet pt vs dEP cent bin %i",i));
192  fHistJetPtvsdEP[i] = new TH2F(name,title,1000,-500,500,400,-2*TMath::Pi(),2*TMath::Pi());
193  fOutput->Add(fHistJetPtvsdEP[i]);
194  name = TString(Form("JetPtvsdEPBias_%i",i));
195  title = TString(Form("Bias Jet pt vs dEP cent bin %i",i));
196  fHistJetPtvsdEPBias[i] = new TH2F(name,title,1000,-500,500,400,-2*TMath::Pi(),2*TMath::Pi());
197  fOutput->Add(fHistJetPtvsdEPBias[i]);
198  name = TString(Form("JetPtvsEP_%i",i));
199  title = TString(Form("Jet pt vs EP cent bin %i",i));
200  fHistJetPtvsEP[i] = new TH2F(name,title,1000,-500,500,400,-2*TMath::Pi(),2*TMath::Pi());
201  fOutput->Add(fHistJetPtvsEP[i]);
202  name = TString(Form("JetPtvsEPBias_%i",i));
203  title = TString(Form("Bias Jet pt vs EP cent bin %i",i));
204  fHistJetPtvsEPBias[i] = new TH2F(name,title,1000,-500,500,400,-2*TMath::Pi(),2*TMath::Pi());
205  fOutput->Add(fHistJetPtvsEPBias[i]);
206  name = TString(Form("RhovsEP_%i",i));
207  title = TString(Form("Rho vs EP cent bin %i",i));
208  fHistRhovsEP[i] = new TH2F(name,title,500,0,500,400,-2*TMath::Pi(),2*TMath::Pi());
209  fOutput->Add(fHistRhovsEP[i]);
210 
211  name = TString(Form("NjetvsCorrJetPtfromLocalRho_%i",i));
212  title = TString(Form("Njets vs Corrected jet pT from Local Rho cent bin %i",i));
213  fHistCorJetPtfromLocalRho[i] = new TH1F(name,title, 500, -250,250);
215 
216  name = TString(Form("NjetvsCorrJetPtfromGlobalRho_%i",i));
217  title = TString(Form("Njets vs Corrected jet pT from Global Rho cent bin %i",i));
218  fHistCorJetPtfromGlobalRho[i] = new TH1F(name,title, 500, -250,250);
220 
221  name = TString(Form("NjetvsCorrJetPtfromGlobalRhoIN_%i",i));
222  title = TString(Form("Njets vs Corrected jet pT from Global Rho IN PLANE cent bin %i",i));
223  fHistCorJetPtfromGlobalRhoIN[i] = new TH1F(name,title, 500, -250,250);
225 
226  name = TString(Form("NjetvsCorrJetPtfromGlobalRhoOUT_%i",i));
227  title = TString(Form("Njets vs Corrected jet pT from Global Rho OUT PLANE cent bin %i",i));
228  fHistCorJetPtfromGlobalRhoOUT[i] = new TH1F(name,title, 500, -250, 250);
230 
231  name = TString(Form("RhovsdEPcentGLOBAL_%i",i));
232  title = TString(Form("Rho vs delta Event Plane angle for Global Rho cent bin %i",i));
233  fHistRhodEPcentGL[i] = new TH2F(name,title,400,0,400, 144,-1*TMath::Pi(),1*TMath::Pi());
234  fOutput->Add(fHistRhodEPcentGL[i]);
235 
236  name = TString(Form("JePtvsdEPcentGLOBAL_%i",i));
237  title = TString(Form("Jet Pt vs delta Event Plane angle for Global Rho cent bin %i",i));
238  fHistCorJetPtdEPcentGL[i] = new TH2F(name,title, 500, -250, 250, 144,-1*TMath::Pi(),1*TMath::Pi());
240 
241  name = TString(Form("NjetvsCorrJetPtfromLocalRhoIN_%i",i));
242  title = TString(Form("Njets vs Corrected jet pT from Local Rho IN PLANE cent bin %i",i));
243  fHistCorJetPtfromLocalRhoIN[i] = new TH1F(name,title, 500, -250, 250);
245 
246  name = TString(Form("NjetvsCorrJetPtfromLocalRhoOUT_%i",i));
247  title = TString(Form("Njets vs Corrected jet pT from Local Rho OUT PLANE cent bin %i",i));
248  fHistCorJetPtfromLocalRhoOUT[i] = new TH1F(name,title, 500, -250, 250);
250 
251  name = TString(Form("RhovsdEPcentLOCAL_%i",i));
252  title = TString(Form("Rho vs delta Event Plane angle for Local Rho cent bin %i",i));
253  fHistRhodEPcentLOC[i] = new TH2F(name,title,400,0,400, 144,-1*TMath::Pi(),1*TMath::Pi());
254  fOutput->Add(fHistRhodEPcentLOC[i]);
255 
256  name = TString(Form("JetPtvsdEPcentLOCAL_%i",i));
257  title = TString(Form("Jet Pt vs delta Event Plane angle for Local Rho cent bin %i",i));
258  fHistCorJetPtdEPcentLOC[i] = new TH2F(name,title, 500, -250, 250, 144,-1*TMath::Pi(),1*TMath::Pi());
260 
261 
262  name = TString(Form("RhovsEPcentGLOBAL_%i",i));
263  title = TString(Form("Rho vs Event Plane angle for Global Rho cent bin %i",i));
264  fHistRhoEPcentGL[i] = new TH2F(name,title,400,0,400, 144,-1*TMath::Pi(),1*TMath::Pi());
265  fOutput->Add(fHistRhoEPcentGL[i]);
266 
267  name = TString(Form("RhovsEPcentLOCAL_%i",i));
268  title = TString(Form("Rho vs Event Plane angle for Local Rho cent bin %i",i));
269  fHistRhoEPcentLOC[i] = new TH2F(name,title,400,0,400, 144,-1*TMath::Pi(),1*TMath::Pi());
270  fOutput->Add(fHistRhoEPcentLOC[i]);
271 
272  name = TString(Form("JetPtvsEPcentLOCAL_%i",i));
273  title = TString(Form("Jet Pt vs Event Plane angle for Local Rho cent bin %i",i));
274  fHistCorJetPtEPcentLOC[i] = new TH2F(name,title, 500, -250, 250, 144,-1*TMath::Pi(),1*TMath::Pi());
276 
277 
278  name = TString(Form("JetPtvsEPcentGLOBAL_%i",i));
279  title = TString(Form("Jet Pt vs Event Plane angle for Global Rho cent bin %i",i));
280  fHistCorJetPtEPcentGL[i] = new TH2F(name,title, 500, -250, 250, 144,-1*TMath::Pi(),1*TMath::Pi());
282 
283  }
284 
285  fOutput->Add(fHistRhovsCent);
286  fOutput->Add(fHistNjetvsCent);
287 
288  fOutput->Add(fHistGLvsLOCrho);
289 
291  fOutput->Add(fHistRhovsdEPGL);
294 
295  fOutput->Add(fHistRhovsEPLOC);
297 
298  fOutput->Add(fHistCorJetPtGL);
299  fOutput->Add(fHistCorJetPt);
300  fOutput->Add(fHistRhovsEPGL);
302 
303  PostData(1, fOutput);
304 }
305 
306 //________________________________________________________________________
307 
309 {
310  // Get centrality bin.
311 
312  Int_t centbin = -1;
313  if (cent>=0 && cent<10)
314  centbin = 0;
315  else if (cent>=10 && cent<20)
316  centbin = 1;
317  else if (cent>=20 && cent<30)
318  centbin = 2;
319  else if (cent>=30 && cent<40)
320  centbin = 3;
321  else if (cent>=40 && cent<50)
322  centbin = 4;
323  else if (cent>=50 && cent<90)
324  centbin = 5;
325  return centbin;
326 }
327 
328 //________________________________________________________________________
329 
331 {
332  if (vphi < -1*TMath::Pi()) vphi += (2*TMath::Pi());
333  else if (vphi > TMath::Pi()) vphi -= (2*TMath::Pi());
334  if (mphi < -1*TMath::Pi()) mphi += (2*TMath::Pi());
335  else if (mphi > TMath::Pi()) mphi -= (2*TMath::Pi());
336  double dphi = mphi-vphi;
337  if (dphi < -1*TMath::Pi()) dphi += (2*TMath::Pi());
338  else if (dphi > TMath::Pi()) dphi -= (2*TMath::Pi());
339 
340  return dphi;//dphi in [-Pi, Pi]
341 }
342 
343 
344 //________________________________________________________________________
346 {
347  Int_t centbin = GetCentBin(fCent);
348  //for pp analyses we will just use the first centrality bin
349  if (centbin == -1)
350  centbin = 0;
351 
352  if (!fTracks)
353  return kTRUE;
354 
355  const Int_t nTrack = fTracks->GetEntriesFast();
356  for (int i = 0;i<nTrack;i++){
357  AliVParticle *track = static_cast<AliVParticle*>(fTracks->At(i));
358  if (! track)
359  continue;
360  fHistTrackPt[centbin]->Fill(track->Pt());
361  }
362 
363  if(!fLocalRho) {
364  AliWarning(Form("%s: No LocalRho object found, attempting to get it from Event based on name!",GetName()));
366  }
367 
368  fHistEP0[centbin]->Fill(fEPV0);
369  fHistEP0A[centbin]->Fill(fEPV0A);
370  fHistEP0C[centbin]->Fill(fEPV0C);
371  fHistEPAvsC[centbin]->Fill(fEPV0A,fEPV0C);
373  fRhoVal = fRho->GetVal();
375  fHistRhovsEP[centbin]->Fill(fRhoVal,fEPV0);
376  const Int_t Njets = fJets->GetEntriesFast();
377 
378  Int_t NjetAcc = 0;
379  for (Int_t iJets = 0; iJets < Njets; ++iJets) {
380  AliEmcalJet *jet = static_cast<AliEmcalJet*>(fJets->At(iJets));
381  if (!jet)
382  continue;
383  if (jet->Area()==0)
384  continue;
385  if (jet->Pt()<0.1)
386  continue;
387  if (jet->MaxTrackPt()>100)
388  continue;
389  if (! AcceptJet(jet))
390  continue;
391  // jets.push_back(jet);
392  NjetAcc++;
393  Double_t jetPt = -500;
394  jetPt = jet->Pt()-jet->Area()*fRhoVal;
395  fHistJetPtvsTrackPt[centbin]->Fill(jetPt,jet->MaxTrackPt());
396  fHistRawJetPtvsTrackPt[centbin]->Fill(jet->Pt(),jet->MaxTrackPt());
397  fHistJetPtvsdEP[centbin]->Fill(jetPt,RelativePhi((fEPV0+TMath::Pi()),jet->Phi()));
398  fHistJetPtvsEP[centbin]->Fill(jetPt,fEPV0);
399 
400  // get local rho value
401  fLocalRhoVal = fLocalRho->GetLocalVal(jet->Phi(), 0.2);
402  Double_t jetPtLocal = jet->Pt() - jet->Area()*fLocalRhoVal;
403  Double_t jetPtGlobal = jet->Pt() - jet->Area()*fRhoVal;
404 
405  // calculate relative angle between jet and event plane
406  Float_t dEP = -500; // initialize angle between jet and event plane
407  dEP = RelativeEPJET(jet->Phi(),fEPV0);
408 
409  fHistCorJetPtfromLocalRho[centbin]->Fill(jetPtLocal);
410  fHistCorJetPtfromGlobalRho[centbin]->Fill(jetPtGlobal);
411 
412  fHistRhodEPcentLOC[centbin]->Fill(fLocalRhoVal,dEP);
413  fHistRhodEPcentGL[centbin]->Fill(fRhoVal,dEP);
414  fHistRhovsdEPLOC->Fill(fLocalRhoVal,dEP);
415  fHistRhovsdEPGL->Fill(fRhoVal,dEP);
416 
417  fHistRhoEPcentLOC[centbin]->Fill(fLocalRhoVal,fEPV0);
418  fHistRhoEPcentGL[centbin]->Fill(fRhoVal,fEPV0);
421 
422  fHistCorJetPtdEPcentLOC[centbin]->Fill(jetPtLocal,dEP);
423  fHistCorJetPtdEPcentGL[centbin]->Fill(jetPt,dEP);
424  fHistJetPtvsdEPLOC->Fill(jetPtLocal,dEP);
425  fHistJetPtvsdEPGL->Fill(jetPt,dEP);
426 
427  fHistCorJetPtEPcentLOC[centbin]->Fill(jetPtLocal,fEPV0);
428  fHistCorJetPtEPcentGL[centbin]->Fill(jetPt,fEPV0);
429  fHistJetPtvsEPLOC->Fill(jetPtLocal,fEPV0);
430  fHistJetPtvsEPGL->Fill(jetPt,fEPV0);
431 
432  fHistCorJetPt->Fill(jetPtLocal);
433  fHistCorJetPtGL->Fill(jetPt);
434 
436 
437  // apply max track bias
438  if (jet->MaxTrackPt()>5.0){
439  fHistJetPtvsdEPBias[centbin]->Fill(jetPt,RelativePhi((fEPV0+TMath::Pi()),jet->Phi()));
440  fHistJetPtvsEPBias[centbin]->Fill(jetPt,fEPV0);
441  }
442 
443  // in plane and out of plane histo's
444  if( dEP>0 && dEP<=(TMath::Pi()/6) ){
445  // we are IN plane, lets fill some histo's
446  fHistCorJetPtfromLocalRhoIN[centbin]->Fill(jetPtLocal);
447  fHistCorJetPtfromGlobalRhoIN[centbin]->Fill(jetPt);
448  }else if( dEP>(TMath::Pi()/3) && dEP<=(TMath::Pi()/2) ){
449  // we are OUT of PLANE, lets fill some histo's
450  fHistCorJetPtfromLocalRhoOUT[centbin]->Fill(jetPtLocal);
451  fHistCorJetPtfromGlobalRhoOUT[centbin]->Fill(jetPt);
452  }
453 
454  }
455 
456  fHistNjetvsCent->Fill(fCent,NjetAcc);
457  return kTRUE;
458 }
459 
460 //_________________________________________________________________________
462 { // function to calculate angle between jet and EP in the 1st quadrant (0,Pi/2)
463  Double_t dphi = (EPAng - jetAng);
464 
465  // ran into trouble with a few dEP<-Pi so trying this...
466  if( dphi<-1*TMath::Pi() ){
467  dphi = dphi + 1*TMath::Pi();
468  }
469 
470  if( (dphi>0) && (dphi<1*TMath::Pi()/2) ){
471  // Do nothing! we are in quadrant 1
472  }else if( (dphi>1*TMath::Pi()/2) && (dphi<1*TMath::Pi()) ){
473  dphi = 1*TMath::Pi() - dphi;
474  }else if( (dphi<0) && (dphi>-1*TMath::Pi()/2) ){
475  dphi = fabs(dphi);
476  }else if( (dphi<-1*TMath::Pi()/2) && (dphi>-1*TMath::Pi()) ){
477  dphi = dphi + 1*TMath::Pi();
478  }
479 
480  // test
481  if( dphi < 0 || dphi > TMath::Pi()/2 )
482  AliWarning(Form("%s: dPHI is outside of restricted range: [0,Pi/2]",GetName()));
483 
484  return dphi; // dphi in [0, Pi/2]
485 }
486 
487 
488 
489 
Double_t Area() const
Definition: AliEmcalJet.h:130
double Double_t
Definition: External.C:58
Definition: External.C:236
const char * title
Definition: MakeQAPdf.C:27
TH2F * fHistRhovsdEPLOC
// Global vs Local Rho distribution
Double_t Phi() const
Definition: AliEmcalJet.h:117
virtual Int_t GetCentBin(Double_t cent) const
Double_t GetLocalVal(Double_t phi, Double_t r, Double_t n) const
Double_t fEPV0
!event plane V0
AliLocalRhoParameter * GetLocalRhoFromEvent(const char *name)
Double_t fEPV0C
!event plane V0C
TString fLocalRhoName
name for local rho
AliRhoParameter * GetRhoFromEvent(const char *name)
int Int_t
Definition: External.C:63
TH1F * fHistCorJetPtGL
// (Njets) vs Corrected Jet Pt (local rho)
float Float_t
Definition: External.C:68
AliRhoParameter * fRho
! event rho
Double_t MaxTrackPt() const
Definition: AliEmcalJet.h:155
Double_t fCent
!event centrality
AliLocalRhoParameter * fLocalRho
! local event rho
TH2F * fHistJetPtvsTrackPt[6]
number of jets versus Centrality
Float_t RelativePhi(Double_t mphi, Double_t vphi) const
TClonesArray * fJets
! jets
Double_t Pt() const
Definition: AliEmcalJet.h:109
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
AliEmcalList * fOutput
!output list
TClonesArray * fTracks
!tracks
TH1F * fHistCorJetPtfromLocalRhoIN[6]
// (Njets) vs Corrected Jet Pt (global rho)
Float_t RelativeEPJET(Double_t jetAng, Double_t EPAng) const
Bool_t fCreateHisto
whether or not create histograms
void SetMakeGeneralHistograms(Bool_t g)
Base task in the EMCAL jet framework.
Double_t fEPV0A
!event plane V0A
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:51
void UserCreateOutputObjects()
Main initialization function on the worker.
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
bool Bool_t
Definition: External.C:53
Double_t fRhoVal
! event rho value, same for local rho