]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/AliAnalysisTaskEmcalJet.h
Refactoring of the EMCAL jet package:
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliAnalysisTaskEmcalJet.h
CommitLineData
a546db49 1#ifndef ALIANALYSISTASKEMCALJET_H
2#define ALIANALYSISTASKEMCALJET_H
3
0810af47 4// $Id$
a546db49 5
6class TClonesArray;
a546db49 7class TList;
e2c9f708 8class TString;
a546db49 9class AliEmcalJet;
e2c9f708 10class AliRhoParameter;
7dd1eeea 11class AliLocalRhoParameter;
e2c9f708 12class AliVCluster;
13class AliVParticle;
9239b066 14class AliJetContainer;
a546db49 15
16#include "AliAnalysisTaskEmcal.h"
17
18class AliAnalysisTaskEmcalJet : public AliAnalysisTaskEmcal {
19 public:
a546db49 20 AliAnalysisTaskEmcalJet();
e66fee85 21 AliAnalysisTaskEmcalJet(const char *name, Bool_t histo=kFALSE);
a546db49 22 virtual ~AliAnalysisTaskEmcalJet();
23
9239b066 24 //these should all point to the jet container
25 void SetAnaType(UInt_t t, Int_t c = 0) { SetJetAcceptanceType(t,c); }
26 void SetJetAcceptanceType(UInt_t t, Int_t c = 0);
27 void SetJetAcceptanceType(TString cutType, Int_t c = 0);
28 void SetJetEtaLimits(Float_t min, Float_t max, Int_t c = 0);
29 void SetJetPhiLimits(Float_t min, Float_t max, Int_t c = 0);
30 void SetJetAreaCut(Float_t cut, Int_t c = 0);
31 void SetPercAreaCut(Float_t p, Int_t c = 0);
32 void SetZLeadingCut(Float_t zemc, Float_t zch, Int_t c = 0);
33 void SetNEFCut(Float_t min, Float_t max, Int_t c = 0);
34 void SetAreaEmcCut(Double_t a = 0.99, Int_t c = 0);
35 void SetJetPtCut(Float_t cut, Int_t c = 0);
36 void SetJetRadius(Float_t r, Int_t c = 0);
37 void SetMaxClusterPt(Float_t b, Int_t c = 0);
38 void SetMaxTrackPt(Float_t b, Int_t c = 0);
39 void SetPtBiasJetClus(Float_t b, Int_t c = 0);
40 void SetPtBiasJetTrack(Float_t b, Int_t c = 0);
41 void SetLeadingHadronType(Int_t t, Int_t c = 0);
42 void SetNLeadingJets(Int_t t, Int_t c = 0);
43 void SetJetBitMap(UInt_t m, Int_t c = 0);
44 void SetJetTrigger(UInt_t t, Int_t c = 0);
45 void SetIsParticleLevel(Bool_t b, Int_t c = 0);
46 void SetJetsName(const char *n) { AddJetContainer(n); }
47 virtual void SetRhoName(const char *n, Int_t c = 0);
48 virtual void SetLocalRhoName(const char *n) { fLocalRhoName = n; }
49 const TString& GetRhoName(Int_t c = 0) const;
50 AliJetContainer *AddJetContainer(const char *n, TString defaultCutType = "", Float_t jetRadius = 0.4);
51 void RemoveJetContainer(Int_t i) { fJetCollArray.RemoveAt(i);}
52 AliJetContainer *GetJetContainer(Int_t i=0) const;
53 AliJetContainer *GetJetContainer(const char* name) const;
54
a546db49 55 protected:
9239b066 56 virtual Bool_t AcceptJet(AliEmcalJet* jet, Int_t c =0);
57 Bool_t AcceptBiasJet(AliEmcalJet* jet, Int_t c =0);
58 Double_t GetLeadingHadronPt(AliEmcalJet* jet, Int_t c =0);
ffe32451 59 void ExecOnce() ;
9239b066 60
a487deae 61 AliRhoParameter *GetRhoFromEvent(const char *name) ;
7dd1eeea 62 AliLocalRhoParameter *GetLocalRhoFromEvent(const char *name) ;
a7477843 63 Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kFALSE) const;
64 Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kFALSE) const;
ffe32451 65 Bool_t RetrieveEventObjects() ;
9239b066 66 Double_t GetJetRadius(Int_t i=0) const;
67 TClonesArray *GetJetArray(Int_t i=0) const;
68 AliEmcalJet *GetJetFromArray(Int_t j, Int_t c=0) const;
69 AliEmcalJet *GetAcceptJetFromArray(Int_t j, Int_t c=0) const;
70 Int_t GetNJets(Int_t i=0) const;
71 Double_t GetRhoVal(Int_t i=0) const;
72
73 TString fRhoName; // rho name
74 TString fLocalRhoName; // name for local rho
75 TObjArray fJetCollArray; // jet collection array
a546db49 76
a546db49 77 TClonesArray *fJets; //!jets
ca5c29fa 78 AliRhoParameter *fRho; //!event rho
7dd1eeea 79 AliLocalRhoParameter *fLocalRho; //!local event rho
80 Double_t fRhoVal; //!event rho value, same for local rho
a546db49 81
82 private:
83 AliAnalysisTaskEmcalJet(const AliAnalysisTaskEmcalJet&); // not implemented
84 AliAnalysisTaskEmcalJet &operator=(const AliAnalysisTaskEmcalJet&); // not implemented
85
9239b066 86 ClassDef(AliAnalysisTaskEmcalJet, 3) // EMCAL Jet base analysis task
a546db49 87};
88#endif