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