]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/AliAnalysisTaskEmcalJet.h
from chris
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliAnalysisTaskEmcalJet.h
CommitLineData
a546db49 1#ifndef ALIANALYSISTASKEMCALJET_H
2#define ALIANALYSISTASKEMCALJET_H
3
0810af47 4// $Id$
a546db49 5
6class TClonesArray;
a546db49 7class TList;
e2c9f708 8class TString;
a546db49 9class AliEmcalJet;
e2c9f708 10class AliRhoParameter;
7dd1eeea 11class AliLocalRhoParameter;
e2c9f708 12class AliVCluster;
13class AliVParticle;
a546db49 14
85d48773 15#include "AliVEvent.h"
a546db49 16#include "AliAnalysisTaskEmcal.h"
17
18class 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