]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALHistoUtilities.h
Fixed memory leaks
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALHistoUtilities.h
1 #ifndef AliEMCALHistoUtilities_H
2 #define AliEMCALHistoUtilities_H
3 /* Copyright(c) 1998-2002, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5
6 /* $Id$ */
7
8 //_________________________________________________________________________
9 // This is a set of histogram
10 // utilities for the EMCAL
11 // to make some common
12 // functions easier
13 //                  
14 //*-- Authors: J.L. Klay (LLNL) & Aleksei Pavlinov (WSU)
15
16 #include <TNamed.h>
17
18 class TList;
19 class TH1;
20 class TF1;
21 class TLatex;
22 class TChain;
23 class TLorentzVector;
24
25 class AliESDCaloCluster;
26 class AliEMCALRecPoint;
27
28 class AliEMCALHistoUtilities: public TNamed {
29   public:
30   AliEMCALHistoUtilities(const char *name="emcalUtilitiesRoutines",
31   const char *tit="EMCAL utility routines");
32   AliEMCALHistoUtilities(const  AliEMCALHistoUtilities &) : TNamed("", ""){
33     Fatal("cpy ctor", "not implemented") ; }
34   virtual ~AliEMCALHistoUtilities();
35
36   // service routine
37   static TList *MoveHistsToList(const char* name="ListOfHists", Bool_t putToBrowser=kTRUE);
38   static void FillH1(TList *l=0, Int_t ind=0, Double_t x=-99999., Double_t w=1.);
39   static void FillH2(TList *l=0, Int_t ind=0, Double_t x=-99999., Double_t y=-99999., Double_t w=1.);
40   static int  SaveListOfHists(TList *mylist=0, const char* name="test", Bool_t kSingleKey=kFALSE,
41   const char* opt="RECREATE");
42   static void AddToNameAndTitle(TH1   *h=0, const char *name=0, const char *title=0);
43   static void AddToNameAndTitleToList(TList *l=0, const char *name=0, const char *title=0);
44   static TLatex *lat(const char *text="", Float_t x=0.0,Float_t y=0.0, Int_t align=12, Float_t tsize=0.05, short tcolor = 1); 
45   // TChain
46   static void InitChain(TChain *chain=0, const char* nameListOfFiles=0, Int_t nFileMax=0); 
47   // 
48   static int ParseString(const TString &topt, TObjArray &Opt); 
49   // Analysis utilites
50   static Bool_t GetLorentzVectorFromESDCluster(TLorentzVector &v, const AliESDCaloCluster *cl);
51   static Bool_t GetLorentzVectorFromRecPoint(TLorentzVector &v, const AliEMCALRecPoint  *rp);
52   // Drawing 
53   static void DrawHist(TH1* hid=0,int lineWidth=1,int lineColor=1,const char* opt="",int lineStyle=1);
54   // Fitting:
55   static TF1* Gausi(const char *addName, double xmi, double xma, double N, double mean, double sig, 
56   double width);
57   static TF1* Gausi(const char *addName, double xmi, double xma, TH1 *h);
58
59   static TF1* GausiPol2(const char *addName, double xmi, double xma, TF1 *g, TF1* bg);
60   //
61   static Double_t Gi(Double_t *x, Double_t *par);
62   static Double_t GiPol2(Double_t *x, Double_t *par);
63
64   AliEMCALHistoUtilities & operator = (const AliEMCALHistoUtilities &) {
65     Fatal("operator =", "not implemented") ; return *this ; }
66   
67   ClassDef(AliEMCALHistoUtilities,1) // EMCAL utility routines
68 };
69
70 #endif // AliEMCALHistoUtilities_H