]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - EMCAL/AliEMCALHistoUtilities.h
from Per Thomas: files for generation of PeakFinder OCDB object
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALHistoUtilities.h
... / ...
CommitLineData
1#ifndef ALIEMCALHISTOUTILITIES_H
2#define ALIEMCALHISTOUTILITIES_H
3/* Copyright(c) 1998-2007, 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
18class TList;
19class TString;
20class TH1;
21class TGraph;
22class TGraphErrors;
23class TF1;
24class TLatex;
25class TChain;
26//class TLorentzVector;
27class TArrayF;
28
29//class AliESDCaloCluster;
30//class AliEMCALRecPoint;
31//class AliRunLoader;
32
33class AliEMCALHistoUtilities: public TNamed {
34 public: AliEMCALHistoUtilities(const char *name="emcalUtilitiesRoutines",
35 const char *tit="EMCAL utility routines");
36 AliEMCALHistoUtilities(const AliEMCALHistoUtilities &) : TNamed("", ""){
37 Fatal("cpy ctor", "not implemented") ; }
38 virtual ~AliEMCALHistoUtilities();
39
40 // service routine
41 static TList *MoveHistsToList(const char* name="ListOfHists", Bool_t putToBrowser=kTRUE);
42 static void FillH1(TList *l=0, Int_t ind=0, Double_t x=-99999., Double_t w=1., Double_t error=0.);
43 static void FillH2(TList *l=0, Int_t ind=0, Double_t x=-99999., Double_t y=-99999., Double_t w=1.);
44 static void FillHnSparse(TList *l=0, Int_t ind=0, Double_t* x=0, Double_t w=1.);
45 static int SaveListOfHists(TList *mylist=0, const char* name="test", Bool_t kSingleKey=kFALSE,
46 const char* opt="RECREATE");
47 static void AddToNameAndTitle(TNamed *h=0, const char *name=0, const char *title=0);
48 static void AddToNameAndTitleToList(TList *l=0, const char *name=0, const char *title=0);
49 static void ResetListOfHists(TList *l);
50
51 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);
52 static TGraph *DrawGraph(Int_t n=4, Double_t *x=0, Double_t *y=0, Int_t markerColor=4,
53 Int_t markerStyle=4, const char* opt="", const char* tit="", const char* xTit=" jet E_{t} ",
54 const char* yTit="", Int_t ifun=0, const char *optFit="W+", const char *fun="");
55 static TGraphErrors *DrawGraphErrors(const Int_t n=4,Double_t *x=0,Double_t *y=0,Double_t *ex=0,
56 Double_t *ey=0, Int_t markerColor=4,Int_t markerStyle=4, const char* opt="",
57 const char* tit="", const char* xTit=" jet E_{t} ",
58 const char* yTit="", Int_t ifun=0, const char *optFit="W+", const char *fun="");
59 // TChain
60 static void InitChain(TChain *chain=0, const char* nameListOfFiles=0, Int_t nFileMax=0);
61 //static AliRunLoader* InitKinematics(const Int_t nev=0, const char* galiceName="galice.root");
62 //static AliRunLoader* GetRunLoader(const Int_t nev, const Char_t* galiceName,
63 // const Char_t* eventFolderName, AliRunLoader* rlOld);
64 //
65 static Double_t GetMomentum(const char* nameListOfFiles);
66 static int ParseString(const TString &topt, TObjArray &Opt);
67 // Analysis utilites
68 //static Bool_t GetLorentzVectorFromESDCluster(TLorentzVector &v, const AliESDCaloCluster *cl);
69 //static Bool_t GetLorentzVectorFromRecPoint(TLorentzVector &v, const AliEMCALRecPoint *rp);
70 // Drawing
71 static void DrawHist(TH1* hid=0,int lineWidth=1,int lineColor=1,const char* opt="",int lineStyle=1);
72 // Fitting:
73 static TF1* Gausi(const char *addName, double xmi, double xma, double N, double mean, double sig,
74 double width);
75 static TF1* Gausi(const char *addName, double xmi, double xma, TH1 *h);
76
77 static TF1* GausiPol2(const char *addName, double xmi, double xma, TF1 *g, TF1* bg);
78 //
79 static Double_t Gi(Double_t *x, Double_t *par);
80 static Double_t GiPol2(Double_t *x, Double_t *par);
81 // Calibration stuff
82 static Double_t GetCorrectionCoefficientForGamma1(const Double_t eRec);
83 static Double_t GetCorrectedEnergyForGamma1(const Double_t eRec);
84 static TF1* GetResolutionFunction(const char *opt, TString &latexName);
85 //
86 // Analysis
87 //
88 // Trigger
89 static TList* GetTriggersListOfHists(const Int_t scale=0, const Int_t nTrig=5, const Bool_t toBrowser=kFALSE);
90 static void FillTriggersListOfHists(TList *l=0, TArrayF *triggerPosition=0, TArrayF *triggerAmplitudes=0);
91 // Jet(s) kinematics
92 static TList* GetJetsListOfHists(Int_t njet=2, Bool_t toBrowser=kFALSE);
93 //static void FillJetKineListOfHists(TList *l, AliRunLoader* rl, TLorentzVector &goodJet);
94
95 AliEMCALHistoUtilities & operator = (const AliEMCALHistoUtilities &) {
96 Fatal("operator =", "not implemented") ; return *this ; }
97
98 ClassDef(AliEMCALHistoUtilities,1) // EMCAL utility routines
99};
100
101#endif // ALIEMCALHISTOUTILITIES_H