AliPhysics  8bb951a (8bb951a)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEmcalJet.cxx
Go to the documentation of this file.
1 //
2 // Emcal jet analysis base task.
3 //
4 // Author: S.Aiola, M. Verweij
5 
7 
8 #include <TClonesArray.h>
9 #include <TList.h>
10 
11 #include "AliAnalysisManager.h"
12 #include "AliCentrality.h"
13 #include "AliEMCALGeometry.h"
14 #include "AliESDEvent.h"
15 #include "AliEmcalJet.h"
16 #include "AliLog.h"
17 #include "AliRhoParameter.h"
18 #include "AliLocalRhoParameter.h"
19 #include "AliVCluster.h"
20 #include "AliVEventHandler.h"
21 #include "AliVParticle.h"
22 
24 
25 //________________________________________________________________________
28  fRhoName(),
29  fLocalRhoName(),
30  fJetCollArray(),
31  fJets(0),
32  fRho(0),
33  fLocalRho(0),
34  fRhoVal(0)
35 {
36  // Default constructor.
37 
38  fJetCollArray.SetOwner(kTRUE);
39 }
40 
41 //________________________________________________________________________
42 AliAnalysisTaskEmcalJet::AliAnalysisTaskEmcalJet(const char *name, Bool_t histo) :
43  AliAnalysisTaskEmcal(name, histo),
44  fRhoName(),
45  fLocalRhoName(),
46  fJetCollArray(),
47  fJets(0),
48  fRho(0),
49  fLocalRho(0),
50  fRhoVal(0)
51 {
52  // Standard constructor.
53 
54  fJetCollArray.SetOwner(kTRUE);
55 }
56 
57 //________________________________________________________________________
59 {
60  // Destructor
61 }
62 
63 //________________________________________________________________________
65 {
66 
68  if(!cont) {
69  AliError(Form("%s:Container %d not found",GetName(),c));
70  return 0;
71  }
72 
73  return cont->GetLeadingHadronPt(jet);
74 }
75 
76 //________________________________________________________________________
78 {
79  // Return true if jet is accepted.
80  if (!jet)
81  return kFALSE;
82 
84  if(!cont) {
85  AliError(Form("%s:Container %d not found",GetName(),c));
86  return 0;
87  }
88 
89  UInt_t rejectionReason = 0;
90  return cont->AcceptJet(jet, rejectionReason);
91 }
92 
93 //________________________________________________________________________
95 {
96  // Get rho from event.
97 
98  AliRhoParameter *rho = 0;
99  TString sname(name);
100  if (!sname.IsNull()) {
101  rho = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(sname));
102  if (!rho) {
103  AliWarning(Form("%s: Could not retrieve rho with name %s!", GetName(), name));
104  return 0;
105  }
106  }
107  return rho;
108 }
109 
110 //________________________________________________________________________
112 {
113  // Get local rho from event.
114  AliLocalRhoParameter *rho = 0;
115  TString sname(name);
116  if (!sname.IsNull()) {
117  rho = dynamic_cast<AliLocalRhoParameter*>(InputEvent()->FindListObject(sname));
118  if (!rho) {
119  AliWarning(Form("%s: Could not retrieve local rho with name %s!", GetName(), name));
120  return 0;
121  }
122  }
123  return rho;
124 }
125 
126 
127 //________________________________________________________________________
129 {
130  // Init the analysis.
131 
133 
134  if (!fRhoName.IsNull() && !fRho) { // get rho from the event
135  fRho = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(fRhoName));
136  if (!fRho) {
137  AliError(Form("%s: Could not retrieve rho %s!", GetName(), fRhoName.Data()));
138  fInitialized = kFALSE;
139  return;
140  }
141  }
142 
143  if (!fLocalRhoName.IsNull() && !fLocalRho) {
144  fLocalRho = dynamic_cast<AliLocalRhoParameter*>(InputEvent()->FindListObject(fLocalRhoName));
145  if (!fLocalRho) {
146  AliError(Form("%s: Could not retrieve local rho %s!", GetName(), fLocalRhoName.Data()));
147  fInitialized = kFALSE;
148  return;
149  }
150  }
151 
152  //Load all requested jet branches - each container knows name already
153  if(fJetCollArray.GetEntriesFast()==0) {
154  AliWarning("There are no jet collections");
155  return;
156  }
157 
158  for(Int_t i =0; i<fJetCollArray.GetEntriesFast(); i++) {
159  AliJetContainer *cont = static_cast<AliJetContainer*>(fJetCollArray.At(i));
160  cont->SetRunNumber(InputEvent()->GetRunNumber());
161  cont->SetArray(InputEvent());
162  cont->LoadRho(InputEvent());
163  }
164 
165  //Get Jets, cuts and rho for first jet container
166  AliJetContainer *cont = GetJetContainer(0);
167 
168  if (!cont->GetArrayName().IsNull()) {
169  fJets = cont->GetArray();
170  if(!fJets && fJetCollArray.GetEntriesFast()>0) {
171  AliError(Form("%s: Could not retrieve first jet branch!", GetName()));
172  fInitialized = kFALSE;
173  return;
174  }
175  }
176 
177  if (!fRho) { // if rho name is not provided, tries to use the rho object of the first jet branch
178  fRhoName = cont->GetRhoName();
179  fRho = cont->GetRhoParameter();
180  }
181 }
182 
183 //________________________________________________________________________
184 Bool_t AliAnalysisTaskEmcalJet::IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted) const
185 {
186  // Return true if cluster is in jet.
187 
188  for (Int_t i = 0; i < jet->GetNumberOfClusters(); ++i) {
189  Int_t ijetclus = jet->ClusterAt(i);
190  if (sorted && ijetclus > iclus)
191  return kFALSE;
192  if (ijetclus == iclus)
193  return kTRUE;
194  }
195  return kFALSE;
196 }
197 
198 //________________________________________________________________________
199 Bool_t AliAnalysisTaskEmcalJet::IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted) const
200 {
201  // Return true if track is in jet.
202 
203  for (Int_t i = 0; i < jet->GetNumberOfTracks(); ++i) {
204  Int_t ijettrack = jet->TrackAt(i);
205  if (sorted && ijettrack > itrack)
206  return kFALSE;
207  if (ijettrack == itrack)
208  return kTRUE;
209  }
210  return kFALSE;
211 }
212 
213 //________________________________________________________________________
215 {
216  // Retrieve objects from event.
217 
219  return kFALSE;
220 
221  if (fRho) fRhoVal = fRho->GetVal();
222 
223  AliEmcalContainer* cont = 0;
224 
225  TIter nextJetColl(&fJetCollArray);
226  while ((cont = static_cast<AliEmcalContainer*>(nextJetColl()))) cont->NextEvent();
227 
228  return kTRUE;
229 }
230 
231 //________________________________________________________________________
233  JetAcceptanceType accType, TString tag)
234 {
235  // Add particle container
236  // will be called in AddTask macro
237 
240 
241  return AddJetContainer(jetType, jetAlgo, recoScheme, radius, accType, partCont, clusCont, tag);
242 }
243 
244 //________________________________________________________________________
246  AliParticleContainer* partCont, AliClusterContainer* clusCont, TString tag)
247 {
248  // Add particle container
249  // will be called in AddTask macro
250 
251  AliJetContainer *cont = new AliJetContainer(jetType, jetAlgo, recoScheme, radius, partCont, clusCont, tag);
252  cont->SetJetAcceptanceType(accType);
253  fJetCollArray.Add(cont);
254 
255  return cont;
256 }
257 
258 //________________________________________________________________________
260 
261  // Add particle container
262  // will be called in AddTask macro
263 
264  if (TString(n).IsNull()) return 0;
265 
266  AliJetContainer *cont = new AliJetContainer(n);
267  cont->SetJetRadius(jetRadius);
268  cont->SetJetAcceptanceType(accType);
269  fJetCollArray.Add(cont);
270 
271  return cont;
272 }
273 
274 //________________________________________________________________________
275 AliJetContainer* AliAnalysisTaskEmcalJet::AddJetContainer(const char *n, TString defaultCutType, Float_t jetRadius) {
276 
277  // Add particle container
278  // will be called in AddTask macro
279 
280  if(TString(n).IsNull()) return 0;
281 
283 
284  defaultCutType.ToUpper();
285 
286  if (defaultCutType.IsNull() || defaultCutType.EqualTo("USER")) {
288  }
289  else if(defaultCutType.EqualTo("TPC")) {
290  acc = AliJetContainer::kTPC;
291  }
292  else if(defaultCutType.EqualTo("TPCFID")) {
294  }
295  else if(defaultCutType.EqualTo("EMCAL")) {
297  }
298  else if(defaultCutType.EqualTo("EMCALFID")) {
300  }
301  else if(defaultCutType.EqualTo("DCAL")) {
303  }
304  else if(defaultCutType.EqualTo("DCALFID")) {
306  }
307  else {
308  AliWarning(Form("%s: default cut type %s not recognized. Not setting cuts.",GetName(),defaultCutType.Data()));
309  }
310 
311  return AddJetContainer(n, acc, jetRadius);
312 }
313 
314 //________________________________________________________________________
316  // Get i^th jet container
317 
318  if(i<0 || i>=fJetCollArray.GetEntriesFast()) return 0;
319  AliJetContainer *cont = static_cast<AliJetContainer*>(fJetCollArray.At(i));
320  return cont;
321 }
322 
323 //________________________________________________________________________
325  // Get the jet container with name
326 
327  AliJetContainer *cont = static_cast<AliJetContainer*>(fJetCollArray.FindObject(name));
328  return cont;
329 }
330 
331 //________________________________________________________________________
333 {
334  // Set acceptance cuts
335  AliJetContainer *cont = GetJetContainer(c);
336  if (cont) {
338  }
339  else {
340  AliError(Form("%s in SetJetAcceptanceType(...): container %d not found!",GetName(),c));
341  }
342 }
343 
344 //________________________________________________________________________
345 void AliAnalysisTaskEmcalJet::SetJetAcceptanceType(TString cutType, Int_t c) {
346  //set acceptance cuts
347 
348  AliJetContainer *cont = GetJetContainer(c);
349  if (!cont) {
350  AliError(Form("%s in SetJetAcceptanceType(...): container %d not found",GetName(),c));
351  return;
352  }
353 
354  cutType.ToUpper();
355 
356  if(!cutType.IsNull() && !cutType.EqualTo("USER")) {
357  if(cutType.EqualTo("TPC"))
359  else if(cutType.EqualTo("EMCAL"))
361  else
362  AliWarning(Form("%s: default cut type %s not recognized. Not setting cuts.",GetName(),cutType.Data()));
363  } else
365 }
366 
367 //________________________________________________________________________
368 void AliAnalysisTaskEmcalJet::SetRhoName(const char *n, Int_t c)
369 {
370  if (c >= 0) {
371  AliJetContainer *cont = GetJetContainer(c);
372  if (cont) cont->SetRhoName(n);
373  else AliError(Form("%s in SetRhoName(...): container %d not found",GetName(),c));
374  }
375  else {
376  fRhoName = n;
377  }
378 }
379 
380 //________________________________________________________________________
381 void AliAnalysisTaskEmcalJet::SetJetEtaLimits(Float_t min, Float_t max, Int_t c)
382 {
383  AliJetContainer *cont = GetJetContainer(c);
384  if (cont) cont->SetJetEtaLimits(min,max);
385  else AliError(Form("%s in SetJetEtaLimits(...): container %d not found",GetName(),c));
386 }
387 
388 //________________________________________________________________________
389 void AliAnalysisTaskEmcalJet::SetJetPhiLimits(Float_t min, Float_t max, Int_t c)
390 {
391  AliJetContainer *cont = GetJetContainer(c);
392  if (cont) cont->SetJetPhiLimits(min,max);
393  else AliError(Form("%s in SetJetPhiLimits(...): container %d not found",GetName(),c));
394 }
395 
396 //________________________________________________________________________
397 void AliAnalysisTaskEmcalJet::SetJetAreaCut(Float_t cut, Int_t c)
398 {
399  AliJetContainer *cont = GetJetContainer(c);
400  if (cont) cont->SetJetAreaCut(cut);
401  else AliError(Form("%s in SetJetAreaCut(...): container %d not found",GetName(),c));
402 }
403 
404 //________________________________________________________________________
406 {
407  AliJetContainer *cont = GetJetContainer(c);
408  if (cont) cont->SetPercAreaCut(p);
409  else AliError(Form("%s in SetPercAreaCut(...): container %d not found",GetName(),c));
410 }
411 
412 //________________________________________________________________________
413 void AliAnalysisTaskEmcalJet::SetZLeadingCut(Float_t zemc, Float_t zch, Int_t c)
414 {
415  AliJetContainer *cont = GetJetContainer(c);
416  if (cont) cont->SetZLeadingCut(zemc,zch);
417  else AliError(Form("%s in SetZLeadingCut(...): container %d not found",GetName(),c));
418 }
419 
420 //________________________________________________________________________
421 void AliAnalysisTaskEmcalJet::SetNEFCut(Float_t min, Float_t max, Int_t c)
422 {
423  AliJetContainer *cont = GetJetContainer(c);
424  if (cont) cont->SetNEFCut(min,max);
425  else AliError(Form("%s in SetNEFCut(...): container %d not found",GetName(),c));
426 }
427 
428 //________________________________________________________________________
429 void AliAnalysisTaskEmcalJet::SetAreaEmcCut(Double_t a, Int_t c)
430 {
431  AliJetContainer *cont = GetJetContainer(c);
432  if (cont) cont->SetAreaEmcCut(a);
433  else AliError(Form("%s in SetAreaEmcCut(...): container %d not found",GetName(),c));
434 }
435 
436 //________________________________________________________________________
437 void AliAnalysisTaskEmcalJet::SetJetPtCut(Float_t cut, Int_t c)
438 {
439  AliJetContainer *cont = GetJetContainer(c);
440  if (cont) cont->SetJetPtCut(cut);
441  else AliError(Form("%s in SetJetPtCut(...): container %d not found",GetName(),c));
442 }
443 
444 //________________________________________________________________________
446 {
447  AliJetContainer *cont = GetJetContainer(c);
448  if (cont) cont->SetJetRadius(r);
449  else AliError(Form("%s in SetJetRadius(...): container %d not found",GetName(),c));
450 }
451 
452 //________________________________________________________________________
454 {
455  AliJetContainer *cont = GetJetContainer(c);
456  if (cont) cont->SetMaxClusterPt(cut);
457  else AliError(Form("%s in SetMaxClusterPt(...): container %d not found",GetName(),c));
458 }
459 
460 //________________________________________________________________________
461 void AliAnalysisTaskEmcalJet::SetMaxTrackPt(Float_t cut, Int_t c)
462 {
463  AliJetContainer *cont = GetJetContainer(c);
464  if (cont) cont->SetMaxTrackPt(cut);
465  else AliError(Form("%s in SetMaxTrackPt(...): container %d not found",GetName(),c));
466 }
467 
468 //________________________________________________________________________
470 {
471  AliJetContainer *cont = GetJetContainer(c);
472  if (cont) cont->SetPtBiasJetClus(cut);
473  else AliError(Form("%s in SetPtBiasJetClus(...): container %d not found",GetName(),c));
474 }
475 
476 //________________________________________________________________________
478 {
479  AliJetContainer *cont = GetJetContainer(c);
480  if (cont) cont->SetPtBiasJetTrack(cut);
481  else AliError(Form("%s in SetPtBiasJetTrack(...): container %d not found",GetName(),c));
482 }
483 
484 //________________________________________________________________________
486 {
487  AliJetContainer *cont = GetJetContainer(c);
488  if (cont) cont->SetLeadingHadronType(t);
489  else AliError(Form("%s in SetLeadingHadronType(...): container %d not found",GetName(),c));
490 }
491 
492 //________________________________________________________________________
494 {
495  AliJetContainer *cont = GetJetContainer(c);
496  if (cont) cont->SetNLeadingJets(t);
497  else AliError(Form("%s in SetNLeadingJets(...): container %d not found",GetName(),c));
498 }
499 
500 //________________________________________________________________________
502 {
503  AliJetContainer *cont = GetJetContainer(c);
504  if (cont) cont->SetBitMap(m);
505  else AliError(Form("%s in SetJetBitMap(...): container %d not found",GetName(),c));
506 }
507 
508 //________________________________________________________________________
510 {
511  AliJetContainer *cont = GetJetContainer(c);
512  if (cont) cont->SetIsParticleLevel(b);
513  else AliError(Form("%s in SetIsParticleLevel(...): container %d not found",GetName(),c));
514 }
515 
516 //________________________________________________________________________
517 const TString& AliAnalysisTaskEmcalJet::GetRhoName(Int_t c) const
518 {
519  if (c >= 0) {
520  AliJetContainer *cont = GetJetContainer(c);
521  if (cont) return cont->GetRhoName();
522  else { AliError(Form("%s in GetRhoName(...): container %d not found. Returning fRhoName...",GetName(),c)); return fRhoName; }
523  }
524  else {
525  return fRhoName;
526  }
527 }
528 
529 //________________________________________________________________________
530 TClonesArray* AliAnalysisTaskEmcalJet::GetJetArray(Int_t i) const {
531  // Get i^th TClonesArray with AliEmcalJet
532 
533  AliJetContainer *cont = GetJetContainer(i);
534  if(!cont) {
535  AliError(Form("%s:Container %d not found",GetName(),i));
536  return 0;
537  }
538  return cont->GetArray();
539 }
540 
541 //________________________________________________________________________
542 Double_t AliAnalysisTaskEmcalJet::GetJetRadius(Int_t i) const {
543  // Get jet radius from jet container i
544 
545  AliJetContainer *cont = GetJetContainer(i);
546  if(!cont) {
547  AliError(Form("%s:Container %d not found",GetName(),i));
548  return 0;
549  }
550 
551  return cont->GetJetRadius();
552 }
553 
554 //________________________________________________________________________
556  // Get jet j if accepted from container c
557  // If jet not accepted return 0
558 
559  AliJetContainer *cont = GetJetContainer(c);
560  if(!cont) {
561  AliError(Form("%s:Container %d not found",GetName(),c));
562  return 0;
563  }
564  AliEmcalJet *jet = cont->GetJet(j);
565 
566  return jet;
567 }
568 
569 //________________________________________________________________________
571  // Get jet j if accepted from container c
572  // If jet not accepted return 0
573 
574  AliJetContainer *cont = GetJetContainer(c);
575  if(!cont) {
576  AliError(Form("%s:Container %d not found",GetName(),c));
577  return 0;
578  }
579  AliEmcalJet *jet = cont->GetAcceptJet(j);
580 
581  return jet;
582 }
583 
584 //________________________________________________________________________
585 Int_t AliAnalysisTaskEmcalJet::GetNJets(Int_t i) const {
586  // Get number of entries in jet array i
587 
588  AliJetContainer *cont = GetJetContainer(i);
589  if(!cont) {
590  AliError(Form("%s:Container %d not found",GetName(),i));
591  return 0;
592  }
593  return cont->GetNJets();
594 
595 }
596 
597 //________________________________________________________________________
598 Double_t AliAnalysisTaskEmcalJet::GetRhoVal(Int_t i) const {
599  // Get rho corresponding to jet array i
600 
601  AliJetContainer *cont = GetJetContainer(i);
602  if(!cont) {
603  AliError(Form("%s:Container %d not found",GetName(),i));
604  return 0;
605  }
606  return cont->GetRhoVal();
607 }
void SetAreaEmcCut(Double_t a=0.99)
void SetPercAreaCut(Float_t p, Int_t c=0)
void SetArray(AliVEvent *event)
void SetMaxClusterPt(Float_t b, Int_t c=0)
Double_t GetRhoVal() const
AliEmcalJet * GetJetFromArray(Int_t j, Int_t c=0) const
const TString & GetRhoName() const
AliJetContainer * GetJetContainer(Int_t i=0) const
const TString & GetRhoName(Int_t c=0) const
void SetJetBitMap(UInt_t m, Int_t c=0)
Base task in the EMCAL framework.
void SetLeadingHadronType(Int_t t)
Int_t GetNJets(Int_t i=0) const
void SetAreaEmcCut(Double_t a=0.99, Int_t c=0)
void SetPtBiasJetTrack(Float_t b)
Double_t GetLeadingHadronPt(AliEmcalJet *jet, Int_t c=0)
virtual Bool_t AcceptJet(Int_t i, UInt_t &rejectionReason) const
AliJetContainer * AddJetContainer(const char *n, TString defaultCutType, Float_t jetRadius=0.4)
AliLocalRhoParameter * GetLocalRhoFromEvent(const char *name)
void SetPercAreaCut(Float_t p)
void SetPtBiasJetClus(Float_t b, Int_t c=0)
TClonesArray * GetJetArray(Int_t i=0) const
void SetPtBiasJetClus(Float_t b)
ClassImp(AliAnalysisTaskEmcalJet) AliAnalysisTaskEmcalJet
Container for particles within the EMCAL framework.
Double_t GetJetRadius(Int_t i=0) const
UShort_t GetNumberOfTracks() const
Definition: AliEmcalJet.h:83
Bool_t IsJetTrack(AliEmcalJet *jet, Int_t itrack, Bool_t sorted=kFALSE) const
AliParticleContainer * GetParticleContainer(Int_t i=0) const
void SetRhoName(const char *n)
void SetLeadingHadronType(Int_t t, Int_t c=0)
Bool_t IsJetCluster(AliEmcalJet *jet, Int_t iclus, Bool_t sorted=kFALSE) const
AliRhoParameter * GetRhoFromEvent(const char *name)
Short_t ClusterAt(Int_t idx) const
Definition: AliEmcalJet.h:77
UShort_t GetNumberOfClusters() const
Definition: AliEmcalJet.h:82
void SetJetRadius(Float_t r)
void SetJetPtCut(Float_t cut)
void SetBitMap(UInt_t m)
Double_t GetLeadingHadronPt(const AliEmcalJet *jet) const
void SetPtBiasJetTrack(Float_t b, Int_t c=0)
void LoadRho(AliVEvent *event)
void SetNLeadingJets(Int_t t)
void SetJetRadius(Float_t r, Int_t c=0)
void SetJetEtaLimits(Float_t min, Float_t max, Int_t c=0)
void SetJetPhiLimits(Float_t min, Float_t max)
AliRhoParameter * fRho
!event rho
Int_t GetNJets() const
void SetJetAcceptanceType(UInt_t t, Int_t c=0)
AliClusterContainer * GetClusterContainer(Int_t i=0) const
Base class for container structures within the EMCAL framework.
TClonesArray * GetArray() const
AliLocalRhoParameter * fLocalRho
!local event rho
void SetZLeadingCut(Float_t zemc, Float_t zch, Int_t c=0)
AliEmcalJet * GetAcceptJetFromArray(Int_t j, Int_t c=0) const
virtual void SetRhoName(const char *n, Int_t c=0)
void SetJetAcceptanceType(JetAcceptanceType type)
virtual Bool_t RetrieveEventObjects()
TObjArray fJetCollArray
name for local rho
TClonesArray * fJets
jet collection array
AliRhoParameter * GetRhoParameter()
void SetJetPhiLimits(Float_t min, Float_t max, Int_t c=0)
const TString & GetArrayName() const
Double_t GetRhoVal(Int_t i=0) const
void SetJetAreaCut(Float_t cut, Int_t c=0)
Float_t GetJetRadius() const
void SetNLeadingJets(Int_t t, Int_t c=0)
Short_t TrackAt(Int_t idx) const
Definition: AliEmcalJet.h:107
void SetIsParticleLevel(Bool_t b)
void SetIsParticleLevel(Bool_t b, Int_t c=0)
AliEmcalJet * GetAcceptJet(Int_t i) const
void SetRunNumber(Int_t r)
Int_t GetRunNumber(TString)
Definition: PlotMuonQA.C:2235
void SetMaxClusterPt(Float_t b)
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
Bool_t fInitialized
whether or not the task has been already initialized
void SetNEFCut(Float_t min, Float_t max, Int_t c=0)
void SetJetPtCut(Float_t cut, Int_t c=0)
void SetMaxTrackPt(Float_t b, Int_t c=0)
void SetMaxTrackPt(Float_t b)
void SetJetEtaLimits(Float_t min, Float_t max)
Double_t fRhoVal
!event rho value, same for local rho
Container structure for EMCAL clusters.
virtual void NextEvent()
void SetZLeadingCut(Float_t zemc, Float_t zch)
void SetJetAreaCut(Float_t cut)
void SetNEFCut(Float_t min=0., Float_t max=1.)
AliEmcalJet * GetJet(Int_t i) const