]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliAnalysisTaskRhoBase.h
From Redmer:
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliAnalysisTaskRhoBase.h
1 #ifndef ALIANALYSISTASKRHOBASE_H
2 #define ALIANALYSISTASKRHOBASE_H
3
4 // $Id$
5
6 class TString;
7 class TF1;
8 class TH1F;
9 class TH2F;
10 class AliRhoParameter;
11
12 #include "AliAnalysisTaskEmcalJet.h"
13
14 class AliAnalysisTaskRhoBase : public AliAnalysisTaskEmcalJet {
15  public:
16   AliAnalysisTaskRhoBase();
17   AliAnalysisTaskRhoBase(const char *name, Bool_t histo=kFALSE);
18   virtual ~AliAnalysisTaskRhoBase() {}
19
20   void                   UserCreateOutputObjects();
21
22   void                   SetRhoName(const char *name)                          { fRhoName              = name ; 
23                                                                                  fRhoScaledName        = Form("%s_Scaled",name) ; }
24   void                   SetCompareRhoName(const char *name)                   { fCompareRhoName       = name ;                   }
25   void                   SetCompareRhoScaledName(const char *name)             { fCompareRhoScaledName = name ;                   }
26   void                   SetScaleFunction(TF1* sf)                             { fScaleFunction        = sf   ;                   }
27   void                   SetRhoFunction(TF1* rf)                               { fRhoFunction          = rf   ;                   }
28   void                   SetInEventSigmaRho(Double_t s)                        { fInEventSigmaRho      = s    ;                   }
29   void                   SetAttachToEvent(Bool_t a)                            { fAttachToEvent        = a    ;                   }
30
31   const TString&         GetRhoName() const                                    { return fRhoName;                                 }
32   const TString&         GetRhoScaledName() const                              { return fRhoScaledName;                           } 
33
34  protected:
35   void                   ExecOnce();
36   Bool_t                 Run();
37   Bool_t                 FillHistograms();
38
39   virtual Double_t       GetRhoFactor(Double_t cent);
40   virtual Double_t       GetScaleFactor(Double_t cent);
41
42   TString                fRhoScaledName;                 // name of scaled rho object
43   TString                fCompareRhoName;                // name of rho object to compare
44   TString                fCompareRhoScaledName;          // name of scaled rho object to compare
45   TF1                   *fRhoFunction;                   // pre-computed rho as a function of centrality
46   TF1                   *fScaleFunction;                 // pre-computed scale factor as a function of centrality
47   Double_t               fInEventSigmaRho;               // in-event sigma rho
48   Bool_t                 fAttachToEvent;                 // whether or not attach rho to the event objects list
49
50   AliRhoParameter       *fRhoScaled;                     //!scaled rho object
51   AliRhoParameter       *fCompareRho;                    //!rho object to compare
52   AliRhoParameter       *fCompareRhoScaled;              //!scaled rho object to compare
53
54   TH2F                  *fHistJetPtvsCent;               //!jet pt vs. centrality
55   TH2F                  *fHistJetAreavsCent;             //!jet area vs. centrality
56   TH2F                  *fHistJetRhovsCent;              //!jet pt/area vs. centrality
57   TH2F                  *fHistNjetvsCent;                //!no. of jets vs. centrality
58   TH2F                  *fHistJetPtvsNtrack;             //!jet pt vs. no. of tracks
59   TH2F                  *fHistJetAreavsNtrack;           //!jet area vs. no. of tracks
60   TH2F                  *fHistNjetvsNtrack;              //!no. of jets vs. no. of tracks
61   TH2F                  *fHistNjUEoverNjVsNj[12];        //!ratio no. of jets below rho*A+sigma_rho over. no. of jets vs. no. of jets
62   TH2F                  *fHistJetNconstVsPt[4];          //!jet no. of constituents vs. pt
63   TH2F                  *fHistJetRhovsEta[4];               //!rho vs. eta
64   TH2F                  *fHistRhovsCent;                 //!rho vs. centrality
65   TH2F                  *fHistRhoScaledvsCent;           //!rhoscaled vs. centrality
66   TH2F                  *fHistDeltaRhovsCent;            //!delta rho vs. centrality
67   TH2F                  *fHistDeltaRhoScalevsCent;       //!delta rhoscaled vs. centrality
68
69   TH2F                  *fHistRhovsNtrack;               //!rho vs. no. of tracks
70   TH2F                  *fHistRhoScaledvsNtrack;         //!rhoscaled vs. no. of tracks
71   TH2F                  *fHistDeltaRhovsNtrack;          //!delta rho vs. no. of tracks
72   TH2F                  *fHistDeltaRhoScalevsNtrack;     //!delta rho scaled vs. no. of tracks
73  
74   TH2F                  *fHistRhovsNcluster;             //!rho vs. no. of clusters
75   TH2F                  *fHistRhoScaledvsNcluster;       //!rhoscaled vs. no. of clusters
76
77   AliAnalysisTaskRhoBase(const AliAnalysisTaskRhoBase&);             // not implemented
78   AliAnalysisTaskRhoBase& operator=(const AliAnalysisTaskRhoBase&);  // not implemented
79   
80   ClassDef(AliAnalysisTaskRhoBase, 9); // Rho base task
81 };
82 #endif