1 #ifndef ALIANALYSISTASKEMCALJETDEV_H
2 #define ALIANALYSISTASKEMCALJETDEV_H
10 class AliRhoParameter;
11 class AliLocalRhoParameter;
14 class AliJetContainer;
16 #include "AliAnalysisTaskEmcalDev.h"
18 class AliAnalysisTaskEmcalJetDev : public AliAnalysisTaskEmcalDev {
20 AliAnalysisTaskEmcalJetDev();
21 AliAnalysisTaskEmcalJetDev(const char *name, Bool_t histo=kFALSE);
22 virtual ~AliAnalysisTaskEmcalJetDev();
24 //these should all point to the jet container
25 void SetAnaType(UInt_t t, Int_t c = 0);
26 void SetJetAcceptanceType(TString cutType, Int_t c = 0);
27 void SetJetEtaLimits(Float_t min, Float_t max, Int_t c = 0);
28 void SetJetPhiLimits(Float_t min, Float_t max, Int_t c = 0);
29 void SetJetAreaCut(Float_t cut, Int_t c = 0);
30 void SetPercAreaCut(Float_t p, Int_t c = 0);
31 void SetAreaEmcCut(Double_t a = 0.99, Int_t c = 0);
32 void SetJetPtCut(Float_t cut, Int_t c = 0);
33 void SetJetRadius(Float_t r, Int_t c = 0);
34 void SetMaxClusterPt(Float_t b, Int_t c = 0);
35 void SetMaxTrackPt(Float_t b, Int_t c = 0);
36 void SetPtBiasJetClus(Float_t b, Int_t c = 0);
37 void SetPtBiasJetTrack(Float_t b, Int_t c = 0);
38 void SetLeadingHadronType(Int_t t, Int_t c = 0);
39 void SetNLeadingJets(Int_t t, Int_t c = 0);
40 void SetJetBitMap(UInt_t m, Int_t c = 0);
41 void SetJetTrigger(UInt_t t, Int_t c = 0);
43 void SetJetsName(const char *n) { AddJetContainer(n); }
44 virtual void SetRhoName(const char *n, Int_t c = 0);
45 virtual void SetLocalRhoName(const char *n) { fLocalRhoName = n; }
47 AliJetContainer *AddJetContainer(const char *n, TString defaultCutType = "", Float_t jetRadius = 0.4);
48 void RemoveJetContainer(Int_t i) { fJetCollArray.RemoveAt(i);}
51 Float_t* GenerateFixedBinArray(Int_t n, Float_t min, Float_t max) const;
52 virtual Bool_t AcceptJet(AliEmcalJet* jet, Int_t c =0);
53 Bool_t AcceptBiasJet(AliEmcalJet* jet, Int_t c =0);
54 Double_t GetLeadingHadronPt(AliEmcalJet* jet, Int_t c =0);
57 AliRhoParameter *GetRhoFromEvent(const char *name) ;
58 AliLocalRhoParameter *GetLocalRhoFromEvent(const char *name) ;
59 Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kFALSE) const;
60 Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kFALSE) const;
61 Bool_t RetrieveEventObjects() ;
62 AliJetContainer *GetJetContainer(Int_t i=0) const;
63 AliJetContainer *GetJetContainer(const char* name) const;
64 TClonesArray *GetJetArray(Int_t i=0) const;
65 AliEmcalJet *GetJetFromArray(Int_t j, Int_t c=0) const;
66 AliEmcalJet *GetAcceptJetFromArray(Int_t j, Int_t c=0) const;
67 Int_t GetNJets(Int_t i=0) const;
68 Double_t GetRhoVal(Int_t i=0) const;
70 TString fRhoName; // rho name
71 TString fLocalRhoName; // name for local rho
72 TObjArray fJetCollArray; // jet collection array
74 TClonesArray *fJets; //!jets
75 AliRhoParameter *fRho; //!event rho
76 AliLocalRhoParameter *fLocalRho; //!local event rho
77 Double_t fRhoVal; //!event rho value, same for local rho
80 AliAnalysisTaskEmcalJetDev(const AliAnalysisTaskEmcalJetDev&); // not implemented
81 AliAnalysisTaskEmcalJetDev &operator=(const AliAnalysisTaskEmcalJetDev&); // not implemented
83 ClassDef(AliAnalysisTaskEmcalJetDev, 3) // EMCAL Jet base analysis task