]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/AliAnalysisTaskRhoBase.h
71bf4abd057878b968016e025a32f9681f39e0a5
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliAnalysisTaskRhoBase.h
1 #ifndef ALIANALYSISTASKRHOBASE_H
2 #define ALIANALYSISTASKRHOBASE_H
3
4 // $Id$
5
6 class TString;
7 class TF1;
8 class AliRhoParameter;
9
10 #include "AliAnalysisTaskSE.h"
11
12 class AliAnalysisTaskRhoBase : public AliAnalysisTaskSE {
13  public:
14   AliAnalysisTaskRhoBase();
15   AliAnalysisTaskRhoBase(const char *name);
16   virtual ~AliAnalysisTaskRhoBase() {}
17   
18   void                   UserCreateOutputObjects();
19   void                   UserExec(Option_t*);
20
21   const char            *GetRhoName() const                                    { return fRhoName       ; }
22   void                   SetRhoFunction(TF1* rf)                               { fRhoFunction   = rf   ; }
23   void                   SetRhoName(const char *name)                          { fRhoName       = name ; }
24
25  protected:
26   virtual void           DetermineCent();
27   virtual void           ExecOnce();
28   TString                GetBeamType();
29   virtual Double_t       GetRhoFactor(Double_t cent);
30
31   TString                fRhoName;                       // name of rho
32   TF1                   *fRhoFunction;                   // pre-computed rho as a function of centrality
33   Double_t               fCent;                          //!event centrality
34   AliRhoParameter       *fRho;                           //!per event calculated rho
35   Bool_t                 fDoCent;                        //!==1 then do centrality
36   Bool_t                 fIsInit;                        //!==1 then do init
37
38   AliAnalysisTaskRhoBase(const AliAnalysisTaskRhoBase&);             // not implemented
39   AliAnalysisTaskRhoBase& operator=(const AliAnalysisTaskRhoBase&);  // not implemented
40   
41   ClassDef(AliAnalysisTaskRhoBase, 3); // Rho base task
42 };
43 #endif