]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliAnalysisTaskRhoBase.h
072114 cyaldo Changes to AliAnalysisTaskpAJets
[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                   SetOutRhoName(const char *name)                       { fOutRhoName           = name ; 
23                                                                                  fOutRhoScaledName     = 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&         GetOutRhoName() const                                 { return fOutRhoName;                              }
32   const TString&         GetOutRhoScaledName() const                           { return fOutRhoScaledName;                        } 
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                fOutRhoName;                    // name of output rho object
43   TString                fOutRhoScaledName;              // name of output scaled rho object
44   TString                fCompareRhoName;                // name of rho object to compare
45   TString                fCompareRhoScaledName;          // name of scaled rho object to compare
46   TF1                   *fRhoFunction;                   // pre-computed rho as a function of centrality
47   TF1                   *fScaleFunction;                 // pre-computed scale factor as a function of centrality
48   Double_t               fInEventSigmaRho;               // in-event sigma rho
49   Bool_t                 fAttachToEvent;                 // whether or not attach rho to the event objects list
50
51   AliRhoParameter       *fOutRho;                        //!output rho object
52   AliRhoParameter       *fOutRhoScaled;                  //!output scaled rho object
53   AliRhoParameter       *fCompareRho;                    //!rho object to compare
54   AliRhoParameter       *fCompareRhoScaled;              //!scaled rho object to compare
55
56   TH2F                  *fHistJetPtvsCent;               //!jet pt vs. centrality
57   TH2F                  *fHistJetAreavsCent;             //!jet area vs. centrality
58   TH2F                  *fHistJetRhovsCent;              //!jet pt/area vs. centrality
59   TH2F                  *fHistNjetvsCent;                //!no. of jets vs. centrality
60   TH2F                  *fHistJetPtvsNtrack;             //!jet pt vs. no. of tracks
61   TH2F                  *fHistJetAreavsNtrack;           //!jet area vs. no. of tracks
62   TH2F                  *fHistNjetvsNtrack;              //!no. of jets vs. no. of tracks
63   TH2F                  *fHistNjUEoverNjVsNj[12];        //!ratio no. of jets below rho*A+sigma_rho over. no. of jets vs. no. of jets
64   TH2F                  *fHistJetNconstVsPt[4];          //!jet no. of constituents vs. pt
65   TH2F                  *fHistJetRhovsEta[4];               //!rho vs. eta
66   TH2F                  *fHistRhovsCent;                 //!rho vs. centrality
67   TH2F                  *fHistRhoScaledvsCent;           //!rhoscaled vs. centrality
68   TH2F                  *fHistDeltaRhovsCent;            //!delta rho vs. centrality
69   TH2F                  *fHistDeltaRhoScalevsCent;       //!delta rhoscaled vs. centrality
70
71   TH2F                  *fHistRhovsNtrack;               //!rho vs. no. of tracks
72   TH2F                  *fHistRhoScaledvsNtrack;         //!rhoscaled vs. no. of tracks
73   TH2F                  *fHistDeltaRhovsNtrack;          //!delta rho vs. no. of tracks
74   TH2F                  *fHistDeltaRhoScalevsNtrack;     //!delta rho scaled vs. no. of tracks
75  
76   TH2F                  *fHistRhovsNcluster;             //!rho vs. no. of clusters
77   TH2F                  *fHistRhoScaledvsNcluster;       //!rhoscaled vs. no. of clusters
78
79   AliAnalysisTaskRhoBase(const AliAnalysisTaskRhoBase&);             // not implemented
80   AliAnalysisTaskRhoBase& operator=(const AliAnalysisTaskRhoBase&);  // not implemented
81   
82   ClassDef(AliAnalysisTaskRhoBase, 10); // Rho base task
83 };
84 #endif