]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliAnalysisTaskEmcalJetDev.h
From Redmer:
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliAnalysisTaskEmcalJetDev.h
1 #ifndef ALIANALYSISTASKEMCALJETDEV_H
2 #define ALIANALYSISTASKEMCALJETDEV_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 class AliJetContainer;
14
15 #include "AliAnalysisTaskEmcalDev.h"
16
17 class AliAnalysisTaskEmcalJetDev : public AliAnalysisTaskEmcalDev {
18  public:
19   AliAnalysisTaskEmcalJetDev();
20   AliAnalysisTaskEmcalJetDev(const char *name, Bool_t histo=kFALSE); 
21   virtual ~AliAnalysisTaskEmcalJetDev();
22
23   //these should all point to the jet container
24   void                SetAnaType(UInt_t t, Int_t c = 0);
25   void                SetJetAcceptanceType(TString cutType, Int_t c = 0);
26   void                SetJetEtaLimits(Float_t min, Float_t max, Int_t c = 0);
27   void                SetJetPhiLimits(Float_t min, Float_t max, Int_t c = 0);
28   void                SetJetAreaCut(Float_t cut, Int_t c = 0);
29   void                SetPercAreaCut(Float_t p, Int_t c = 0);
30   void                SetAreaEmcCut(Double_t a = 0.99, Int_t c = 0);
31   void                SetJetPtCut(Float_t cut, Int_t c = 0);
32   void                SetJetRadius(Float_t r, Int_t c = 0);
33   void                SetMaxClusterPt(Float_t b, Int_t c = 0);
34   void                SetMaxTrackPt(Float_t b, Int_t c = 0);
35   void                SetPtBiasJetClus(Float_t b, Int_t c = 0);
36   void                SetPtBiasJetTrack(Float_t b, Int_t c = 0);
37   void                SetLeadingHadronType(Int_t t, Int_t c = 0);
38   void                SetNLeadingJets(Int_t t, Int_t c = 0);
39   void                SetJetBitMap(UInt_t m, Int_t c = 0);
40   void                SetJetTrigger(UInt_t t, Int_t c = 0);
41
42   void                SetJetsName(const char *n)                   { AddJetContainer(n); }
43   virtual void        SetRhoName(const char *n, Int_t c = 0);
44
45   AliJetContainer    *AddJetContainer(const char *n, TString defaultCutType = "", Float_t jetRadius = 0.4);
46   void                RemoveJetContainer(Int_t i)                  { fJetCollArray.RemoveAt(i);} 
47
48  protected:
49   Float_t*                    GenerateFixedBinArray(Int_t n, Float_t min, Float_t max) const;
50   virtual Bool_t              AcceptJet(AliEmcalJet* jet, Int_t c =0);
51   Bool_t                      AcceptBiasJet(AliEmcalJet* jet, Int_t c =0);
52   Double_t                    GetLeadingHadronPt(AliEmcalJet* jet, Int_t c =0);
53   void                        ExecOnce()                                                                    ;
54
55   AliRhoParameter            *GetRhoFromEvent(const char *name)                                             ;
56   Bool_t                      IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kFALSE)       const;
57   Bool_t                      IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kFALSE)      const;
58   Bool_t                      RetrieveEventObjects()                                                        ;
59   AliJetContainer            *GetJetContainer(Int_t i=0)                                               const;
60   AliJetContainer            *GetJetContainer(const char* name)                                        const;
61   TClonesArray               *GetJetArray(Int_t i=0)                                                   const;
62   AliEmcalJet                *GetJetFromArray(Int_t j, Int_t c=0)                                      const;
63   AliEmcalJet                *GetAcceptJetFromArray(Int_t j, Int_t c=0)                                const;
64   Int_t                       GetNJets(Int_t i=0)                                                      const;
65   Double_t                    GetRhoVal(Int_t i=0)                                                     const;
66
67   TString                     fRhoName;                    // rho name
68   TObjArray                   fJetCollArray;               // jet collection array
69
70   TClonesArray               *fJets;                       //!jets
71   AliRhoParameter            *fRho;                        //!event rho
72   Double_t                    fRhoVal;                     //!event rho value
73
74  private:
75   AliAnalysisTaskEmcalJetDev(const AliAnalysisTaskEmcalJetDev&);            // not implemented
76   AliAnalysisTaskEmcalJetDev &operator=(const AliAnalysisTaskEmcalJetDev&); // not implemented
77
78   ClassDef(AliAnalysisTaskEmcalJetDev, 2) // EMCAL Jet base analysis task
79 };
80 #endif