AliPhysics  8bb951a (8bb951a)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEmcalJet.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKEMCALJET_H
2 #define ALIANALYSISTASKEMCALJET_H
3 
4 class TClonesArray;
5 class TList;
6 class TString;
7 class AliEmcalJet;
8 class AliRhoParameter;
10 class AliVCluster;
11 class AliVParticle;
12 
13 #include "AliJetContainer.h"
14 #include "AliAnalysisTaskEmcal.h"
15 
17  public:
22 
24  AliAnalysisTaskEmcalJet(const char *name, Bool_t histo=kFALSE);
25  virtual ~AliAnalysisTaskEmcalJet();
26 
27  //these should all point to the jet container
28  void SetAnaType(UInt_t t, Int_t c = 0) { SetJetAcceptanceType(t,c); }
29  void SetJetAcceptanceType(UInt_t t, Int_t c = 0);
30  void SetJetAcceptanceType(TString cutType, Int_t c = 0);
31  void SetJetEtaLimits(Float_t min, Float_t max, Int_t c = 0);
32  void SetJetPhiLimits(Float_t min, Float_t max, Int_t c = 0);
33  void SetJetAreaCut(Float_t cut, Int_t c = 0);
34  void SetPercAreaCut(Float_t p, Int_t c = 0);
35  void SetZLeadingCut(Float_t zemc, Float_t zch, Int_t c = 0);
36  void SetNEFCut(Float_t min, Float_t max, Int_t c = 0);
37  void SetAreaEmcCut(Double_t a = 0.99, Int_t c = 0);
38  void SetJetPtCut(Float_t cut, Int_t c = 0);
39  void SetJetRadius(Float_t r, Int_t c = 0);
40  void SetMaxClusterPt(Float_t b, Int_t c = 0);
41  void SetMaxTrackPt(Float_t b, Int_t c = 0);
42  void SetPtBiasJetClus(Float_t b, Int_t c = 0);
43  void SetPtBiasJetTrack(Float_t b, Int_t c = 0);
44  void SetLeadingHadronType(Int_t t, Int_t c = 0);
45  void SetNLeadingJets(Int_t t, Int_t c = 0);
46  void SetJetBitMap(UInt_t m, Int_t c = 0);
47  void SetJetTrigger(UInt_t t, Int_t c = 0);
48  void SetIsParticleLevel(Bool_t b, Int_t c = 0);
49  void SetJetsName(const char *n) { AddJetContainer(n); }
50  virtual void SetRhoName(const char *n, Int_t c = 0);
51  virtual void SetLocalRhoName(const char *n) { fLocalRhoName = n; }
52  const TString& GetRhoName(Int_t c = 0) const;
53  AliJetContainer *AddJetContainer(const char *n, TString defaultCutType, Float_t jetRadius = 0.4);
54  AliJetContainer *AddJetContainer(const char *n, AliJetContainer::JetAcceptanceType accType = AliJetContainer::kUser, Float_t jetRadius = 0.4);
55  AliJetContainer *AddJetContainer(EJetType_t jetType, EJetAlgo_t jetAlgo, ERecoScheme_t recoScheme, Double_t radius,
56  JetAcceptanceType accType, AliParticleContainer* partCont, AliClusterContainer* clusCont, TString tag = "Jet");
57  AliJetContainer *AddJetContainer(EJetType_t jetType, EJetAlgo_t jetAlgo, ERecoScheme_t recoScheme, Double_t radius,
58  JetAcceptanceType accType, TString tag = "Jet");
59  void AdoptJetContainer(AliJetContainer* cont) { fJetCollArray.Add(cont) ;}
60 
61  void RemoveJetContainer(Int_t i) { fJetCollArray.RemoveAt(i);}
62  AliJetContainer *GetJetContainer(Int_t i=0) const;
63  AliJetContainer *GetJetContainer(const char* name) const;
64 
65  protected:
66  virtual Bool_t AcceptJet(AliEmcalJet* jet, Int_t c =0);
67  Double_t GetLeadingHadronPt(AliEmcalJet* jet, Int_t c =0);
68  void ExecOnce() ;
69 
70  AliRhoParameter *GetRhoFromEvent(const char *name) ;
71  AliLocalRhoParameter *GetLocalRhoFromEvent(const char *name) ;
72  Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kFALSE) const;
73  Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kFALSE) const;
74  Bool_t RetrieveEventObjects() ;
75  Double_t GetJetRadius(Int_t i=0) const;
76  TClonesArray *GetJetArray(Int_t i=0) const;
77  AliEmcalJet *GetJetFromArray(Int_t j, Int_t c=0) const;
78  AliEmcalJet *GetAcceptJetFromArray(Int_t j, Int_t c=0) const;
79  Int_t GetNJets(Int_t i=0) const;
80  Double_t GetRhoVal(Int_t i=0) const;
81 
82  TString fRhoName;
83  TString fLocalRhoName;
84  TObjArray fJetCollArray;
85 
86  TClonesArray *fJets;
89  Double_t fRhoVal;
90 
91  private:
92  AliAnalysisTaskEmcalJet(const AliAnalysisTaskEmcalJet&); // not implemented
93  AliAnalysisTaskEmcalJet &operator=(const AliAnalysisTaskEmcalJet&); // not implemented
94 
95  ClassDef(AliAnalysisTaskEmcalJet, 3) // EMCAL Jet base analysis task
96 };
97 #endif
void SetPercAreaCut(Float_t p, Int_t c=0)
void SetMaxClusterPt(Float_t b, Int_t c=0)
AliEmcalJet * GetJetFromArray(Int_t j, Int_t c=0) const
AliJetContainer::ERecoScheme_t ERecoScheme_t
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.
Int_t GetNJets(Int_t i=0) const
void SetAreaEmcCut(Double_t a=0.99, Int_t c=0)
void AdoptJetContainer(AliJetContainer *cont)
AliJetContainer::JetAcceptanceType JetAcceptanceType
Double_t GetLeadingHadronPt(AliEmcalJet *jet, Int_t c=0)
AliJetContainer * AddJetContainer(const char *n, TString defaultCutType, Float_t jetRadius=0.4)
AliLocalRhoParameter * GetLocalRhoFromEvent(const char *name)
void SetPtBiasJetClus(Float_t b, Int_t c=0)
void SetJetTrigger(UInt_t t, Int_t c=0)
TClonesArray * GetJetArray(Int_t i=0) const
Container for particles within the EMCAL framework.
Double_t GetJetRadius(Int_t i=0) const
Bool_t IsJetTrack(AliEmcalJet *jet, Int_t itrack, Bool_t sorted=kFALSE) const
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)
void SetPtBiasJetTrack(Float_t b, Int_t c=0)
void SetJetRadius(Float_t r, Int_t c=0)
void SetJetsName(const char *n)
void SetJetEtaLimits(Float_t min, Float_t max, Int_t c=0)
AliRhoParameter * fRho
!event rho
void SetJetAcceptanceType(UInt_t t, Int_t c=0)
AliJetContainer::EJetAlgo_t EJetAlgo_t
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)
TObjArray fJetCollArray
name for local rho
TClonesArray * fJets
jet collection array
void SetJetPhiLimits(Float_t min, Float_t max, Int_t c=0)
Double_t GetRhoVal(Int_t i=0) const
void SetJetAreaCut(Float_t cut, Int_t c=0)
void SetNLeadingJets(Int_t t, Int_t c=0)
void SetIsParticleLevel(Bool_t b, Int_t c=0)
virtual void SetLocalRhoName(const char *n)
void SetAnaType(UInt_t t, Int_t c=0)
AliJetContainer::EJetType_t EJetType_t
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
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)
Double_t fRhoVal
!event rho value, same for local rho
Container structure for EMCAL clusters.
AliAnalysisTaskEmcalJet & operator=(const AliAnalysisTaskEmcalJet &)