]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliAnalysisTaskEmcalJet.h
create general emcal task lib
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliAnalysisTaskEmcalJet.h
1 #ifndef ALIANALYSISTASKEMCALJET_H
2 #define ALIANALYSISTASKEMCALJET_H
3
4 // $Id$
5
6 class TClonesArray;
7 class TList;
8 class TString;
9 class AliEmcalJet;
10 class AliRhoParameter;
11 class AliVCluster;
12 class AliVParticle;
13
14 #include "AliAnalysisTaskEmcal.h"
15
16 class AliAnalysisTaskEmcalJet : public AliAnalysisTaskEmcal {
17  public:
18   AliAnalysisTaskEmcalJet();
19   AliAnalysisTaskEmcalJet(const char *name, Bool_t histo=kFALSE); 
20   virtual ~AliAnalysisTaskEmcalJet();
21
22   void                        SetEtaLimits(Float_t min, Float_t max)               { fMinEta = min, fMaxEta = max ; }
23   void                        SetJetAreaCut(Float_t cut)                           { fJetAreaCut     = cut        ; }
24   void                        SetPercAreaCut(Float_t p)                            { fPercAreaCut    = p          ; }
25   void                        SetJetPtCut(Float_t cut)                             { fJetPtCut       = cut        ; }
26   void                        SetJetRadius(Float_t r)                              { fJetRadius      = r          ; } 
27   void                        SetJetsName(const char *n)                           { fJetsName       = n          ; }
28   void                        SetMaxClusterPt(Float_t b)                           { fMaxClusterPt  = b           ; }
29   void                        SetMaxTrackPt(Float_t b)                             { fMaxTrackPt = b              ; }
30   void                        SetPhiLimits(Float_t min, Float_t max)               { fMinPhi = min, fMaxPhi = max ; }
31   void                        SetPtBiasJetClus(Float_t b)                          { fPtBiasJetClus  = b          ; }
32   void                        SetPtBiasJetTrack(Float_t b)                         { fPtBiasJetTrack = b          ; }
33
34  
35  protected:
36   virtual Bool_t              AcceptJet(AliEmcalJet* jet, Bool_t bias = kTRUE, Bool_t upCut = kTRUE)   const;
37   Bool_t                      AcceptBiasJet(AliEmcalJet* jet)                                          const;
38   void                        ExecOnce()                                                                    ;
39   AliRhoParameter            *GetRhoFromEvent(const char *name);
40   Bool_t                      IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kTRUE)        const;
41   Bool_t                      IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kTRUE)       const;
42   Bool_t                      RetrieveEventObjects()                                                        ;
43
44   Float_t                     fJetRadius;                  // jet radius
45   TString                     fJetsName;                   // name of jet collection
46   Float_t                     fPtBiasJetTrack;             // select jets with a minimum pt track
47   Float_t                     fPtBiasJetClus;              // select jets with a minimum pt cluster
48   Float_t                     fJetPtCut;                   // cut on jet pt
49   Float_t                     fJetAreaCut;                 // cut on jet area
50   Float_t                     fPercAreaCut;                // cut on jet area as a percentage of average jet area
51   Float_t                     fMinEta;                     // minimum eta jet acceptance
52   Float_t                     fMaxEta;                     // maximum eta jet acceptance
53   Float_t                     fMinPhi;                     // minimum phi jet acceptance
54   Float_t                     fMaxPhi;                     // maximum phi jet acceptance  
55   Float_t                     fMaxClusterPt;               // maximum cluster constituent pt to accept the jet
56   Float_t                     fMaxTrackPt;                 // maximum track constituent pt to accept the jet
57   TClonesArray               *fJets;                       //!jets
58
59  private:
60   AliAnalysisTaskEmcalJet(const AliAnalysisTaskEmcalJet&);            // not implemented
61   AliAnalysisTaskEmcalJet &operator=(const AliAnalysisTaskEmcalJet&); // not implemented
62
63   ClassDef(AliAnalysisTaskEmcalJet, 3) // EMCAL Jet base analysis task
64 };
65 #endif