1 #ifndef ALIANALYSISTASKEMCALJET_H
2 #define ALIANALYSISTASKEMCALJET_H
10 class AliRhoParameter;
14 #include "AliAnalysisTaskEmcal.h"
16 class AliAnalysisTaskEmcalJet : public AliAnalysisTaskEmcal {
18 AliAnalysisTaskEmcalJet();
19 AliAnalysisTaskEmcalJet(const char *name, Bool_t histo=kFALSE);
20 virtual ~AliAnalysisTaskEmcalJet();
22 void SetJetEtaLimits(Float_t min, Float_t max) { fJetMinEta = min, fJetMaxEta = max ; }
23 void SetJetPhiLimits(Float_t min, Float_t max) { fJetMinPhi = min, fJetMaxPhi = max ; }
24 void SetJetAreaCut(Float_t cut) { fJetAreaCut = cut ; }
25 void SetPercAreaCut(Float_t p) { fPercAreaCut = p ; }
26 void SetAreaEmcCut(Double_t a = 0.99) { fAreaEmcCut = a ; }
27 void SetJetPtCut(Float_t cut) { fJetPtCut = cut ; }
28 void SetJetRadius(Float_t r) { fJetRadius = r ; }
29 void SetJetsName(const char *n) { fJetsName = n ; }
30 virtual void SetRhoName(const char *n) { fRhoName = n ; }
31 void SetMaxClusterPt(Float_t b) { fMaxClusterPt = b ; }
32 void SetMaxTrackPt(Float_t b) { fMaxTrackPt = b ; }
33 void SetPtBiasJetClus(Float_t b) { fPtBiasJetClus = b ; }
34 void SetPtBiasJetTrack(Float_t b) { fPtBiasJetTrack = b ; }
35 void SetLeadingHadronType(Int_t t) { fLeadingHadronType = t ; }
36 void SetNLeadingJets(Int_t t) { fNLeadingJets = t ; }
39 Float_t* GenerateFixedBinArray(Int_t n, Float_t min, Float_t max) const;
40 virtual Bool_t AcceptJet(AliEmcalJet* jet) const;
41 Bool_t AcceptBiasJet(AliEmcalJet* jet) const;
42 Double_t GetLeadingHadronPt(AliEmcalJet* jet) const;
44 AliRhoParameter *GetRhoFromEvent(const char *name) ;
45 Bool_t GetSortedArray(Int_t indexes[], TClonesArray *array, Double_t rho=0) const;
46 Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kTRUE) const;
47 Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kTRUE) const;
48 Bool_t RetrieveEventObjects() ;
50 Float_t fJetRadius; // jet radius
51 TString fJetsName; // name of jet collection
52 TString fRhoName; // Name of rho object
53 Float_t fPtBiasJetTrack; // select jets with a minimum pt track
54 Float_t fPtBiasJetClus; // select jets with a minimum pt cluster
55 Float_t fJetPtCut; // cut on jet pt
56 Float_t fJetAreaCut; // cut on jet area
57 Float_t fPercAreaCut; // cut on jet area as a percentage of average jet area
58 Float_t fAreaEmcCut; // minimum cut on jet emcal area
59 Float_t fJetMinEta; // minimum eta jet acceptance
60 Float_t fJetMaxEta; // maximum eta jet acceptance
61 Float_t fJetMinPhi; // minimum phi jet acceptance
62 Float_t fJetMaxPhi; // maximum phi jet acceptance
63 Float_t fMaxClusterPt; // maximum cluster constituent pt to accept the jet
64 Float_t fMaxTrackPt; // maximum track constituent pt to accept the jet
65 Int_t fLeadingHadronType; // 0 = charged, 1 = neutral, 2 = both
66 Int_t fNLeadingJets; // how many jets are to be considered the leading jet(s)
67 TClonesArray *fJets; //!jets
68 AliRhoParameter *fRho; //!event rho
69 Double_t fRhoVal; //!event rho value
72 AliAnalysisTaskEmcalJet(const AliAnalysisTaskEmcalJet&); // not implemented
73 AliAnalysisTaskEmcalJet &operator=(const AliAnalysisTaskEmcalJet&); // not implemented
75 ClassDef(AliAnalysisTaskEmcalJet, 6) // EMCAL Jet base analysis task