]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/AliAnalysisTaskRho.h
updates from pdsf
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliAnalysisTaskRho.h
1 #ifndef ALIANALYSISTASKRHO_cxx
2 #define ALIANALYSISTASKRHO_cxx
3
4 // $Id: $
5
6 class TList;
7 class TH1F;
8 class TH2F;
9 class TClonesArray;
10 class TString;
11 class TF1;
12
13 #include <TParameter.h>
14
15 #include "AliAnalysisTaskRhoBase.h"
16
17 class AliAnalysisTaskRho : public AliAnalysisTaskRhoBase {
18
19  public:
20   AliAnalysisTaskRho();
21   AliAnalysisTaskRho(const char *name);
22   virtual ~AliAnalysisTaskRho() {}
23   
24   virtual void           UserCreateOutputObjects();
25   virtual void           UserExec(Option_t*);
26   virtual void           Terminate(Option_t*);
27
28   void                   SetAreaCut(Double_t a = 0.0)                          { fAreaCut       = a    ; }
29   void                   SetJetEta(Double_t emin, Double_t emax)               { fEtaMin        = emin ; fEtaMax = emax  ; }
30   void                   SetJetPhi(Double_t pmin, Double_t pmax)               { fPhiMin        = pmin ; fPhiMax = pmax  ; }
31   void                   SetJetsName(const char *n)                            { fJetsName      = n    ; }
32   void                   SetScaleFunction(TF1* sf)                             { fScaleFunction = sf   ; }
33   void                   SetTracksName(const char *n)                          { fTracksName    = n    ; }
34   
35  protected:
36   virtual void           Sort(vector<Double_t>& v)            ;
37   virtual Double_t       GetMedian(vector<Double_t> v, int c) ;
38   virtual Double_t       GetScaleFactor(Double_t cent)        ;
39
40   TString                fTracksName;                    // name of track collection
41   TString                fJetsName;                      // name of jet collection
42   TString                fClustersName;                  // name of clusters collection
43   TString                fRhoScaledName;                 // name of scaled rho object
44   Double_t               fPhiMin;                        // minimum phi
45   Double_t               fPhiMax;                        // maximum phi
46   Double_t               fEtaMin;                        // minimum eta
47   Double_t               fEtaMax;                        // maximum eta
48   Double_t               fAreaCut;                       // cut on jet area
49   TF1                   *fScaleFunction;                 // pre-computed scale factor as a function of centrality
50   TList                 *fOutputList;                    //!output list
51   TH1F                  *fHistCentrality;                //!centrality distribution
52   TH1F                  *fHistJetPt;                     //!jet pt distribution
53   TH1F                  *fHistJetArea;                   //!jet area
54   TH2F                  *fHistRhovsCent;                 //!rho vs. centrality
55   TH2F                  *fHistDeltaRhovsCent;            //!delta rho vs. centrality
56   TH2F                  *fHistDeltaRhoScalevsCent;       //!delta rhoscaled vs. centrality
57   TH2F                  *fHistJetPtvsCent;               //!jet pt vs. centrality
58   TH2F                  *fHistJetAreavsCent;             //!jet area vs. centrality
59   TH2F                  *fHistNjetvsCent;                //!no. of jets vs. centrality
60  
61   TH2F                  *fHistRhovsNtrack;               //!rho vs. no. of tracks
62   TH2F                  *fHistDeltaRhovsNtrack;          //!delta rho vs. no. of tracks
63   TH2F                  *fHistDeltaRhoScalevsNtrack;     //!delta rho scaled vs. no. of tracks
64   TH2F                  *fHistJetPtvsNtrack;             //!jet pt vs. no. of tracks
65   TH2F                  *fHistJetAreavsNtrack;           //!jet area vs. no. of tracks
66   TH2F                  *fHistNjetvsNtrack;              //!no. of jets vs. no. of tracks
67   TParameter<Double_t>  *fRhoScaled;                     //!per event scaled rho
68   TF1                   *fNewRhoFunction;                //!new rho as a function of centrality
69
70   AliAnalysisTaskRho(const AliAnalysisTaskRho&);             // not implemented
71   AliAnalysisTaskRho& operator=(const AliAnalysisTaskRho&);  // not implemented
72   
73   ClassDef(AliAnalysisTaskRho, 3); // Rho task
74 };
75 #endif