]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/AliAnalysisTaskScale.h
changes from Salv
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliAnalysisTaskScale.h
1 #ifndef AliAnalysisTaskScale_cxx
2 #define AliAnalysisTaskScale_cxx
3
4 // $Id$
5
6 class TList;
7 class TH1F;
8 class TH2F;
9 class TF1;
10 class AliEMCALGeometry;
11
12 #include "AliAnalysisTaskSE.h"
13
14 class AliAnalysisTaskScale : public AliAnalysisTaskSE {
15  public:
16   AliAnalysisTaskScale() : AliAnalysisTaskSE(), fTracksName(), fClustersName(), fScaleFunction(0), fGeom(0),
17     fOutputList(0), fHistCentrality(0), fHistPtTPCvsCent(0), fHistPtEMCALvsCent(0), fHistEtvsCent(0),  
18     fHistScalevsCent(0),  fHistDeltaScalevsCent(0), fHistPtTPCvsNtrack(0), fHistPtEMCALvsNtrack(0), 
19     fHistEtvsNtrack(0), fHistScalevsNtrack(0), fHistDeltaScalevsNtrack(0), fHistTrackPtvsCent(0), 
20     fHistClusterPtvsCent(0), fHistTrackEtaPhi(0), fHistClusterEtaPhi(0),  fMinTrackPt(0.15), 
21     fMinClusterPt(0.15) {}
22   AliAnalysisTaskScale(const char *name);
23   virtual ~AliAnalysisTaskScale() {}
24   
25   virtual void           UserCreateOutputObjects();
26   virtual void           UserExec(Option_t *option);
27   virtual void           Terminate(Option_t *);
28
29   void                   SetTracksName(const char *n)                          { fTracksName    = n    ; }
30   void                   SetClustersName(const char *n)                        { fClustersName  = n    ; }
31   void                   SetScaleFunction(TF1* sf)                             { fScaleFunction = sf   ; }
32   void                   SetMinTrackPt(Double_t min)                           { fMinTrackPt    = min  ; }
33   void                   SetMinClusterPt(Double_t min)                         { fMinClusterPt  = min  ; }
34   
35  protected:
36   virtual Double_t       GetScaleFactor(Double_t cent);
37
38  private:
39   TString                fTracksName;             // name of track collection
40   TString                fClustersName;           // name of clusters collection
41   TF1                   *fScaleFunction;          // scale factor as a function of centrality
42   AliEMCALGeometry      *fGeom;                   //!ptr to emcal geometry object
43   TList                 *fOutputList;             //!output list
44   TH1F                  *fHistCentrality;         //!output histogram
45   TH2F                  *fHistPtTPCvsCent;        //!output histogram
46   TH2F                  *fHistPtEMCALvsCent;      //!output histogram
47   TH2F                  *fHistEtvsCent;           //!output histogram
48   TH2F                  *fHistScalevsCent;        //!output histogram
49   TH2F                  *fHistDeltaScalevsCent;   //!output histogram
50   TH2F                  *fHistPtTPCvsNtrack;      //!output histogram
51   TH2F                  *fHistPtEMCALvsNtrack;    //!output histogram
52   TH2F                  *fHistEtvsNtrack;         //!output histogram
53   TH2F                  *fHistScalevsNtrack;      //!output histogram
54   TH2F                  *fHistDeltaScalevsNtrack; //!output histogram
55   TH2F                  *fHistTrackPtvsCent;      //!output histogram
56   TH2F                  *fHistClusterPtvsCent;    //!output histogram
57   TH2F                  *fHistTrackEtaPhi;        //!output histogram
58   TH2F                  *fHistClusterEtaPhi;      //!output histogram
59   Double_t               fMinTrackPt;             //pt cut for scale factor calculation
60   Double_t               fMinClusterPt;           //pt cut for scale factor calculation
61
62   AliAnalysisTaskScale(const AliAnalysisTaskScale&); // not implemented
63   AliAnalysisTaskScale& operator=(const AliAnalysisTaskScale&); // not implemented
64   
65   ClassDef(AliAnalysisTaskScale, 5); // Scale task
66 };
67 #endif