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 SetJetEtaLimits(Float_t min, Float_t max, Int_t c = 0);
25 void SetJetPhiLimits(Float_t min, Float_t max, Int_t c = 0);
26 void SetJetAreaCut(Float_t cut, Int_t c = 0);
27 void SetPercAreaCut(Float_t p, Int_t c = 0);
28 void SetAreaEmcCut(Double_t a = 0.99, Int_t c = 0);
29 void SetJetPtCut(Float_t cut, Int_t c = 0);
30 void SetJetRadius(Float_t r, Int_t c = 0);
31 void SetMaxClusterPt(Float_t b, Int_t c = 0);
32 void SetMaxTrackPt(Float_t b, Int_t c = 0);
33 void SetPtBiasJetClus(Float_t b, Int_t c = 0);
34 void SetPtBiasJetTrack(Float_t b, Int_t c = 0);
35 void SetLeadingHadronType(Int_t t, Int_t c = 0);
36 void SetNLeadingJets(Int_t t, Int_t c = 0);
37 void SetJetBitMap(UInt_t m, Int_t c = 0);
39 void SetJetsName(const char *n) { fJetsName = n; AddJetContainer(n); }
40 virtual void SetRhoName(const char *n, Int_t c = 0);
42 void AddJetContainer(const char *n, TString defaultCutType = "");
43 void RemoveJetContainer(Int_t i) { fJetCollArray.RemoveAt(i);}
45 AliJetContainer *GetJetContainer(Int_t i) const;
46 TClonesArray *GetJetArray(Int_t i) const;
47 AliEmcalJet *GetAcceptJetFromArray(Int_t j, Int_t c) const;
48 Int_t GetNJets(Int_t i) const;
49 Double_t GetRhoVal(Int_t i) const;
52 Float_t* GenerateFixedBinArray(Int_t n, Float_t min, Float_t max) const;
53 virtual Bool_t AcceptJet(AliEmcalJet* jet, Int_t c =0);
54 Bool_t AcceptBiasJet(AliEmcalJet* jet, Int_t c =0);
55 Double_t GetLeadingHadronPt(AliEmcalJet* jet, Int_t c =0);
58 AliRhoParameter *GetRhoFromEvent(const char *name) ;
59 Bool_t GetSortedArray(Int_t indexes[], TClonesArray *array, Double_t rho=0, Int_t c = 0) ;
60 Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kFALSE) const;
61 Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kFALSE) const;
62 Bool_t RetrieveEventObjects() ;
64 TString fJetsName; // name of jet collection
65 TString fRhoName; // Name of rho object
67 TClonesArray *fJets; //!jets
68 AliRhoParameter *fRho; //!event rho
69 Double_t fRhoVal; //!event rho value
71 TObjArray fJetCollArray; // jet collection array
74 AliAnalysisTaskEmcalJetDev(const AliAnalysisTaskEmcalJetDev&); // not implemented
75 AliAnalysisTaskEmcalJetDev &operator=(const AliAnalysisTaskEmcalJetDev&); // not implemented
77 ClassDef(AliAnalysisTaskEmcalJetDev, 1) // EMCAL Jet base analysis task