]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliAnalysisTaskEmcalJet.h
Updates from Salvatore for Embedding
[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                        SetJetEtaLimits(Float_t min, Float_t max)            { fJetMinEta = min, fJetMaxEta = max ; }
23   void                        SetJetPhiLimits(Float_t min, Float_t max)            { fJetMinPhi = min, fJetMaxPhi = max ; }
24   void                        SetJetAreaCut(Float_t cut)                           { fJetAreaCut     = cut              ; }
25   void                        SetPercAreaCut(Float_t p)                            { fPercAreaCut    = p                ; }
26   void                        SetAreaEmcCut(Double_t a = 0.99)                     { fAreaEmcCut     = a                ; }
27   void                        SetJetPtCut(Float_t cut)                             { fJetPtCut       = cut              ; }
28   void                        SetJetRadius(Float_t r)                              { fJetRadius      = r                ; } 
29   void                        SetJetsName(const char *n)                           { fJetsName       = n                ; }
30   virtual void                SetRhoName(const char *n)                            { fRhoName        = n                ; }
31   void                        SetMaxClusterPt(Float_t b)                           { fMaxClusterPt   = b                ; }
32   void                        SetMaxTrackPt(Float_t b)                             { fMaxTrackPt     = b                ; }
33   void                        SetPtBiasJetClus(Float_t b)                          { fPtBiasJetClus  = b                ; }
34   void                        SetPtBiasJetTrack(Float_t b)                         { fPtBiasJetTrack = b                ; }
35   void                        SetLeadingHadronType(Int_t t)                        { fLeadingHadronType = t             ; }
36  
37  protected:
38   Float_t*                    GenerateFixedBinArray(Int_t n, Float_t min, Float_t max) const;
39   virtual Bool_t              AcceptJet(AliEmcalJet* jet)                                              const;
40   Bool_t                      AcceptBiasJet(AliEmcalJet* jet)                                          const;
41   Double_t                    GetLeadingHadronPt(AliEmcalJet* jet)                                     const;
42   void                        ExecOnce()                                                                    ;
43   AliRhoParameter            *GetRhoFromEvent(const char *name)                                             ;
44   Int_t                      *GetSortedArray(TClonesArray *array)                                      const;
45   Bool_t                      IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kTRUE)        const;
46   Bool_t                      IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kTRUE)       const;
47   Bool_t                      RetrieveEventObjects()                                                        ;
48
49   Float_t                     fJetRadius;                  // jet radius
50   TString                     fJetsName;                   // name of jet collection
51   TString                     fRhoName;                    // Name of rho object
52   Float_t                     fPtBiasJetTrack;             // select jets with a minimum pt track
53   Float_t                     fPtBiasJetClus;              // select jets with a minimum pt cluster
54   Float_t                     fJetPtCut;                   // cut on jet pt
55   Float_t                     fJetAreaCut;                 // cut on jet area
56   Float_t                     fPercAreaCut;                // cut on jet area as a percentage of average jet area
57   Float_t                     fAreaEmcCut;                 // minimum cut on jet emcal area
58   Float_t                     fJetMinEta;                  // minimum eta jet acceptance
59   Float_t                     fJetMaxEta;                  // maximum eta jet acceptance
60   Float_t                     fJetMinPhi;                  // minimum phi jet acceptance
61   Float_t                     fJetMaxPhi;                  // maximum phi jet acceptance  
62   Float_t                     fMaxClusterPt;               // maximum cluster constituent pt to accept the jet
63   Float_t                     fMaxTrackPt;                 // maximum track constituent pt to accept the jet
64   Int_t                       fLeadingHadronType;          // 0 = charged, 1 = neutral, 2 = both
65   TClonesArray               *fJets;                       //!jets
66   AliRhoParameter            *fRho;                        //!Event rho
67   Double_t                    fRhoVal;                     //!Event rho value
68
69  private:
70   AliAnalysisTaskEmcalJet(const AliAnalysisTaskEmcalJet&);            // not implemented
71   AliAnalysisTaskEmcalJet &operator=(const AliAnalysisTaskEmcalJet&); // not implemented
72
73   ClassDef(AliAnalysisTaskEmcalJet, 5) // EMCAL Jet base analysis task
74 };
75 #endif