]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskRhoMassBase.h
change binning histos
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskRhoMassBase.h
1 #ifndef ALIANALYSISTASKRHOMASSBASE_H
2 #define ALIANALYSISTASKRHOMASSBASE_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 AliAnalysisTaskRhoMassBase : public AliAnalysisTaskEmcalJet {
15  public:
16   AliAnalysisTaskRhoMassBase();
17   AliAnalysisTaskRhoMassBase(const char *name, Bool_t histo=kFALSE);
18   virtual ~AliAnalysisTaskRhoMassBase() {}
19
20   void                   UserCreateOutputObjects();
21
22   void                   SetOutRhoMassName(const char *name)                   { fOutRhoMassName           = name ; 
23                                                                                  fOutRhoMassScaledName     = Form("%s_Scaled",name) ; }
24   void                   SetCompareRhoMassName(const char *name)               { fCompareRhoMassName       = name ;                   }
25   void                   SetCompareRhoMassScaledName(const char *name)         { fCompareRhoMassScaledName = name ;                   }
26   void                   SetScaleFunction(TF1* sf)                             { fScaleFunction        = sf   ;                       }
27   void                   SetRhoMassFunction(TF1* rf)                           { fRhoMassFunction      = rf   ;                       }
28   void                   SetAttachToEvent(Bool_t a)                            { fAttachToEvent        = a    ;                       }
29
30   const TString&         GetOutRhoMassName() const                             { return fOutRhoMassName;                              }
31   const TString&         GetOutRhoMassScaledName() const                       { return fOutRhoMassScaledName;                        } 
32
33  protected:
34   void                   ExecOnce();
35   Bool_t                 Run();
36   Bool_t                 FillHistograms();
37
38   virtual Double_t       GetRhoMassFactor(Double_t cent);
39   virtual Double_t       GetScaleFactor(Double_t cent);
40
41   TString                fOutRhoMassName;                // name of output rho mass object
42   TString                fOutRhoMassScaledName;          // name of output scaled rho mass object
43   TString                fCompareRhoMassName;            // name of rho mass object to compare
44   TString                fCompareRhoMassScaledName;      // name of scaled rho mass object to compare
45   TF1                   *fRhoMassFunction;               // pre-computed rho mass as a function of centrality
46   TF1                   *fScaleFunction;                 // pre-computed scale factor as a function of centrality
47   Bool_t                 fAttachToEvent;                 // whether or not attach rho mass to the event objects list
48
49   AliRhoParameter       *fOutRhoMass;                    //!output rho object
50   AliRhoParameter       *fOutRhoMassScaled;              //!output scaled rho object
51   AliRhoParameter       *fCompareRhoMass;                //!rho object to compare
52   AliRhoParameter       *fCompareRhoMassScaled;          //!scaled rho object to compare
53
54   TH2F                  *fHistJetMassvsCent;             //!jet mass vs. centrality
55   TH2F                  *fHistRhoMassvsCent;             //!rho mass vs. centrality
56   TH2F                  *fHistRhoMassScaledvsCent;       //!rho mass scaled vs. centrality
57   TH2F                  *fHistDeltaRhoMassvsCent;        //!delta rho mass vs. centrality
58   TH2F                  *fHistDeltaRhoMassScalevsCent;   //!delta rho mass scaled vs. centrality
59
60   TH2F                  *fHistRhoMassvsNtrack;           //!rho mass vs. no. of tracks
61   TH2F                  *fHistRhoMassScaledvsNtrack;     //!rho mass scaled vs. no. of tracks
62   TH2F                  *fHistDeltaRhoMassvsNtrack;      //!delta rho mass vs. no. of tracks
63   TH2F                  *fHistDeltaRhoMassScalevsNtrack; //!delta rho mass scaled vs. no. of tracks
64  
65   TH2F                  *fHistRhoMassvsNcluster;         //!rho mass vs. no. of clusters
66   TH2F                  *fHistRhoMassScaledvsNcluster;   //!rho mass scaled vs. no. of clusters
67
68   TH2F                  *fHistGammaVsNtrack;             //!Gamma(<E>/<M>) vs Ntrack
69
70   AliAnalysisTaskRhoMassBase(const AliAnalysisTaskRhoMassBase&);             // not implemented
71   AliAnalysisTaskRhoMassBase& operator=(const AliAnalysisTaskRhoMassBase&);  // not implemented
72   
73   ClassDef(AliAnalysisTaskRhoMassBase, 2); // Rho mass base task
74 };
75 #endif