1 #ifndef ALIANALYSISTASKEMCALJETDEV_H
2 #define ALIANALYSISTASKEMCALJETDEV_H
10 class AliRhoParameter;
13 class AliJetContainer;
15 #include "AliAnalysisTaskEmcalDev.h"
17 class AliAnalysisTaskEmcalJetDev : public AliAnalysisTaskEmcalDev {
19 AliAnalysisTaskEmcalJetDev();
20 AliAnalysisTaskEmcalJetDev(const char *name, Bool_t histo=kFALSE);
21 virtual ~AliAnalysisTaskEmcalJetDev();
23 //these should all point to the jet container
24 void SetJetAcceptanceType(TString cutType, Int_t c = 0);
25 void SetJetEtaLimits(Float_t min, Float_t max, Int_t c = 0);
26 void SetJetPhiLimits(Float_t min, Float_t max, Int_t c = 0);
27 void SetJetAreaCut(Float_t cut, Int_t c = 0);
28 void SetPercAreaCut(Float_t p, Int_t c = 0);
29 void SetAreaEmcCut(Double_t a = 0.99, Int_t c = 0);
30 void SetJetPtCut(Float_t cut, Int_t c = 0);
31 void SetJetRadius(Float_t r, Int_t c = 0);
32 void SetMaxClusterPt(Float_t b, Int_t c = 0);
33 void SetMaxTrackPt(Float_t b, Int_t c = 0);
34 void SetPtBiasJetClus(Float_t b, Int_t c = 0);
35 void SetPtBiasJetTrack(Float_t b, Int_t c = 0);
36 void SetLeadingHadronType(Int_t t, Int_t c = 0);
37 void SetNLeadingJets(Int_t t, Int_t c = 0);
38 void SetJetBitMap(UInt_t m, Int_t c = 0);
40 void SetJetsName(const char *n) { fJetsName = n; AddJetContainer(n); }
41 virtual void SetRhoName(const char *n, Int_t c = 0);
43 void AddJetContainer(const char *n, TString defaultCutType = "", Float_t jetRadius = 0.4);
44 void RemoveJetContainer(Int_t i) { fJetCollArray.RemoveAt(i);}
46 AliJetContainer *GetJetContainer(Int_t i=0) const;
47 TClonesArray *GetJetArray(Int_t i=0) const;
48 AliEmcalJet *GetJetFromArray(Int_t j, Int_t c=0) const;
49 AliEmcalJet *GetAcceptJetFromArray(Int_t j, Int_t c=0) const;
50 Int_t GetNJets(Int_t i=0) const;
51 Double_t GetRhoVal(Int_t i=0) const;
54 Float_t* GenerateFixedBinArray(Int_t n, Float_t min, Float_t max) const;
55 virtual Bool_t AcceptJet(AliEmcalJet* jet, Int_t c =0);
56 Bool_t AcceptBiasJet(AliEmcalJet* jet, Int_t c =0);
57 Double_t GetLeadingHadronPt(AliEmcalJet* jet, Int_t c =0);
60 AliRhoParameter *GetRhoFromEvent(const char *name) ;
61 Bool_t GetSortedArray(Int_t indexes[], TClonesArray *array, Double_t rho=0, Int_t c = 0) ;
62 Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kFALSE) const;
63 Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kFALSE) const;
64 Bool_t RetrieveEventObjects() ;
66 TString fJetsName; // name of jet collection
67 TString fRhoName; // Name of rho object
69 TClonesArray *fJets; //!jets
70 AliRhoParameter *fRho; //!event rho
71 Double_t fRhoVal; //!event rho value
73 TObjArray fJetCollArray; // jet collection array
76 AliAnalysisTaskEmcalJetDev(const AliAnalysisTaskEmcalJetDev&); // not implemented
77 AliAnalysisTaskEmcalJetDev &operator=(const AliAnalysisTaskEmcalJetDev&); // not implemented
79 ClassDef(AliAnalysisTaskEmcalJetDev, 1) // EMCAL Jet base analysis task