]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/AliAnalysisTaskRho.h
including task for user mconnors
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliAnalysisTaskRho.h
1 #ifndef ALIANALYSISTASKRHO_H
2 #define ALIANALYSISTASKRHO_H
3
4 // $Id$
5
6 class TClonesArray;
7 class TF1;
8 class TH1F;
9 class TH2F;
10 class TList;
11 class TString;
12 class AliRhoParameter;
13
14 #include "AliAnalysisTaskRhoBase.h"
15
16 class AliAnalysisTaskRho : public AliAnalysisTaskRhoBase {
17
18  public:
19   AliAnalysisTaskRho();
20   AliAnalysisTaskRho(const char *name, Bool_t histo=kFALSE);
21   virtual ~AliAnalysisTaskRho() {}
22   
23   void                   UserCreateOutputObjects();
24   void                   UserExec(Option_t*);
25
26   const char            *GetRhoScaled() const                                  { return fRhoScaledName ;                   }
27   void                   SetAreaCut(Double_t a = 0.05)                         { fAreaCut       = a    ;                   }
28   void                   SetAreaEmcCut(Double_t a = 0.99)                      { fAreaEmcCut    = a    ;                   }
29   void                   SetExcludeLeadJets(UInt_t n)                          { fNExclLeadJets = n    ;                   }
30   void                   SetJetEta(Double_t emin, Double_t emax)               { fEtaMin        = emin ; fEtaMax = emax  ; }
31   void                   SetJetPhi(Double_t pmin, Double_t pmax)               { fPhiMin        = pmin ; fPhiMax = pmax  ; }
32   void                   SetJetsName(const char *n)                            { fJetsName      = n    ;                   }
33   void                   SetRhoName(const char *name)                          { fRhoName       = name ; 
34                                                                                  fRhoScaledName = name ;
35                                                                                  fRhoScaledName += "_Scaled";              }
36   void                   SetScaleFunction(TF1* sf)                             { fScaleFunction = sf   ;                   }
37   void                   SetTracksName(const char *n)                          { fTracksName    = n    ;                   }
38
39  protected:
40   virtual void           ExecOnce();
41   virtual Double_t       GetScaleFactor(Double_t cent);
42
43   TString                fTracksName;                    // name of track collection
44   TString                fJetsName;                      // name of jet collection
45   TString                fRhoScaledName;                 // name of scaled rho object
46   Double_t               fPhiMin;                        // minimum phi
47   Double_t               fPhiMax;                        // maximum phi
48   Double_t               fEtaMin;                        // minimum eta
49   Double_t               fEtaMax;                        // maximum eta
50   Double_t               fAreaCut;                       // minimum cut on jet area
51   Double_t               fAreaEmcCut;                    // minimum cut on jet emcal area
52   UInt_t                 fNExclLeadJets;                 // number of leading jets to be excluded from the median calculation
53   TF1                   *fScaleFunction;                 // pre-computed scale factor as a function of centrality
54   Bool_t                 fCreateHisto;                   // whether or not create histograms
55   TClonesArray          *fTracks;                        //!ptr to input tracks
56   TClonesArray          *fJets;                          //!ptr to input jets
57   TList                 *fOutputList;                    //!output list
58   TH1F                  *fHistCentrality;                //!centrality distribution
59   TH1F                  *fHistJetPt;                     //!jet pt distribution
60   TH1F                  *fHistJetArea;                   //!jet area
61   TH2F                  *fHistRhovsCent;                 //!rho vs. centrality
62   TH2F                  *fHistDeltaRhovsCent;            //!delta rho vs. centrality
63   TH2F                  *fHistDeltaRhoScalevsCent;       //!delta rhoscaled vs. centrality
64   TH2F                  *fHistJetPtvsCent;               //!jet pt vs. centrality
65   TH2F                  *fHistJetAreavsCent;             //!jet area vs. centrality
66   TH2F                  *fHistNjetvsCent;                //!no. of jets vs. centrality
67   TH2F                  *fHistRhovsNtrack;               //!rho vs. no. of tracks
68   TH2F                  *fHistDeltaRhovsNtrack;          //!delta rho vs. no. of tracks
69   TH2F                  *fHistDeltaRhoScalevsNtrack;     //!delta rho scaled vs. no. of tracks
70   TH2F                  *fHistJetPtvsNtrack;             //!jet pt vs. no. of tracks
71   TH2F                  *fHistJetAreavsNtrack;           //!jet area vs. no. of tracks
72   TH2F                  *fHistNjetvsNtrack;              //!no. of jets vs. no. of tracks
73   AliRhoParameter       *fRhoScaled;                     //!per event scaled rho
74
75   AliAnalysisTaskRho(const AliAnalysisTaskRho&);             // not implemented
76   AliAnalysisTaskRho& operator=(const AliAnalysisTaskRho&);  // not implemented
77   
78   ClassDef(AliAnalysisTaskRho, 7); // Rho task
79 };
80 #endif