]>
Commit | Line | Data |
---|---|---|
a546db49 | 1 | #ifndef ALIANALYSISTASKEMCALJET_H |
2 | #define ALIANALYSISTASKEMCALJET_H | |
3 | ||
0810af47 | 4 | // $Id$ |
a546db49 | 5 | |
6 | class TClonesArray; | |
a546db49 | 7 | class TList; |
e2c9f708 | 8 | class TString; |
a546db49 | 9 | class AliEmcalJet; |
e2c9f708 | 10 | class AliRhoParameter; |
7dd1eeea | 11 | class AliLocalRhoParameter; |
e2c9f708 | 12 | class AliVCluster; |
13 | class AliVParticle; | |
a546db49 | 14 | |
85d48773 | 15 | #include "AliVEvent.h" |
a546db49 | 16 | #include "AliAnalysisTaskEmcal.h" |
17 | ||
18 | class AliAnalysisTaskEmcalJet : public AliAnalysisTaskEmcal { | |
19 | public: | |
a546db49 | 20 | AliAnalysisTaskEmcalJet(); |
e66fee85 | 21 | AliAnalysisTaskEmcalJet(const char *name, Bool_t histo=kFALSE); |
a546db49 | 22 | virtual ~AliAnalysisTaskEmcalJet(); |
23 | ||
a487deae | 24 | void SetJetEtaLimits(Float_t min, Float_t max) { fJetMinEta = min, fJetMaxEta = max ; } |
25 | void SetJetPhiLimits(Float_t min, Float_t max) { fJetMinPhi = min, fJetMaxPhi = max ; } | |
26 | void SetJetAreaCut(Float_t cut) { fJetAreaCut = cut ; } | |
27 | void SetPercAreaCut(Float_t p) { fPercAreaCut = p ; } | |
28 | void SetAreaEmcCut(Double_t a = 0.99) { fAreaEmcCut = a ; } | |
29 | void SetJetPtCut(Float_t cut) { fJetPtCut = cut ; } | |
30 | void SetJetRadius(Float_t r) { fJetRadius = r ; } | |
31 | void SetJetsName(const char *n) { fJetsName = n ; } | |
32 | virtual void SetRhoName(const char *n) { fRhoName = n ; } | |
7dd1eeea | 33 | virtual void SetLocalRhoName(const char *n) { fLocalRhoName = n ; } |
a487deae | 34 | void SetMaxClusterPt(Float_t b) { fMaxClusterPt = b ; } |
35 | void SetMaxTrackPt(Float_t b) { fMaxTrackPt = b ; } | |
36 | void SetPtBiasJetClus(Float_t b) { fPtBiasJetClus = b ; } | |
37 | void SetPtBiasJetTrack(Float_t b) { fPtBiasJetTrack = b ; } | |
83888eef | 38 | void SetLeadingHadronType(Int_t t) { fLeadingHadronType = t ; } |
ca5c29fa | 39 | void SetNLeadingJets(Int_t t) { fNLeadingJets = t ; } |
2103dc6a | 40 | void SetJetBitMap(UInt_t m) { fJetBitMap = m ; } |
85d48773 | 41 | void SetJetTrigger(UInt_t t=AliVEvent::kEMCEJE) { fJetTrigger = t ; } |
411b11e0 | 42 | |
a546db49 | 43 | protected: |
83888eef | 44 | Float_t* GenerateFixedBinArray(Int_t n, Float_t min, Float_t max) const; |
a487deae | 45 | virtual Bool_t AcceptJet(AliEmcalJet* jet) const; |
2bddb6ae | 46 | Bool_t AcceptBiasJet(AliEmcalJet* jet) const; |
83888eef | 47 | Double_t GetLeadingHadronPt(AliEmcalJet* jet) const; |
ffe32451 | 48 | void ExecOnce() ; |
a487deae | 49 | AliRhoParameter *GetRhoFromEvent(const char *name) ; |
7dd1eeea | 50 | AliLocalRhoParameter *GetLocalRhoFromEvent(const char *name) ; |
43032ce2 | 51 | Int_t GetSortedArray(Int_t indexes[], TClonesArray *array, Double_t rho=0) const; |
a7477843 | 52 | Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kFALSE) const; |
53 | Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kFALSE) const; | |
ffe32451 | 54 | Bool_t RetrieveEventObjects() ; |
a546db49 | 55 | |
56 | Float_t fJetRadius; // jet radius | |
57 | TString fJetsName; // name of jet collection | |
a487deae | 58 | TString fRhoName; // Name of rho object |
7dd1eeea | 59 | TString fLocalRhoName; // Name of local rho object |
a546db49 | 60 | Float_t fPtBiasJetTrack; // select jets with a minimum pt track |
61 | Float_t fPtBiasJetClus; // select jets with a minimum pt cluster | |
62 | Float_t fJetPtCut; // cut on jet pt | |
63 | Float_t fJetAreaCut; // cut on jet area | |
a5621834 | 64 | Float_t fPercAreaCut; // cut on jet area as a percentage of average jet area |
a487deae | 65 | Float_t fAreaEmcCut; // minimum cut on jet emcal area |
66 | Float_t fJetMinEta; // minimum eta jet acceptance | |
67 | Float_t fJetMaxEta; // maximum eta jet acceptance | |
68 | Float_t fJetMinPhi; // minimum phi jet acceptance | |
69 | Float_t fJetMaxPhi; // maximum phi jet acceptance | |
411b11e0 | 70 | Float_t fMaxClusterPt; // maximum cluster constituent pt to accept the jet |
71 | Float_t fMaxTrackPt; // maximum track constituent pt to accept the jet | |
83888eef | 72 | Int_t fLeadingHadronType; // 0 = charged, 1 = neutral, 2 = both |
ca5c29fa | 73 | Int_t fNLeadingJets; // how many jets are to be considered the leading jet(s) |
2103dc6a | 74 | UInt_t fJetBitMap; // bit map of accepted jets |
85d48773 | 75 | UInt_t fJetTrigger; // jet trigger |
a546db49 | 76 | TClonesArray *fJets; //!jets |
ca5c29fa | 77 | AliRhoParameter *fRho; //!event rho |
7dd1eeea | 78 | AliLocalRhoParameter *fLocalRho; //!local event rho |
79 | Double_t fRhoVal; //!event rho value, same for local rho | |
a546db49 | 80 | |
81 | private: | |
82 | AliAnalysisTaskEmcalJet(const AliAnalysisTaskEmcalJet&); // not implemented | |
83 | AliAnalysisTaskEmcalJet &operator=(const AliAnalysisTaskEmcalJet&); // not implemented | |
84 | ||
7dd1eeea | 85 | ClassDef(AliAnalysisTaskEmcalJet, 10) // EMCAL Jet base analysis task |
a546db49 | 86 | }; |
87 | #endif |