]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/AliCorrectionMatrix.h
Added an example function, similar to what will be used for EMC.
[u/mrichter/AliRoot.git] / PWG0 / AliCorrectionMatrix.h
1 #ifndef ALICORRECTIONMATRIX_H
2 #define ALICORRECTIONMATRIX_H
3
4 /* $Id$ */
5
6 // ------------------------------------------------------
7 //
8 // Class to handle corrections.
9 //
10 // ------------------------------------------------------
11 //
12 // TODO:
13 //
14 // - add options in draw method
15 //
16
17 #include <TNamed.h>
18
19 class TH1;
20
21 class AliCorrectionMatrix : public TNamed
22 {
23 protected: // do not create this baseclass
24   AliCorrectionMatrix();
25   AliCorrectionMatrix(const Char_t* name, const Char_t* title);
26   AliCorrectionMatrix(const AliCorrectionMatrix& c);
27   virtual ~AliCorrectionMatrix();
28   AliCorrectionMatrix& operator=(const AliCorrectionMatrix& corrMatrix);
29
30 public:
31   virtual void Copy(TObject& c) const;
32   virtual Long64_t Merge(TCollection* list);
33
34   TH1* GetGeneratedHistogram() { return fhGene; }
35   TH1* GetMeasuredHistogram()  { return fhMeas; }
36   TH1* GetCorrectionHistogram() { return fhCorr; }
37
38   void SetGeneratedHistogram(TH1* agene) { fhGene = agene; }
39   void SetMeasuredHistogram(TH1* ameas)  { fhMeas = ameas; }
40   void SetCorrectionHistogram(TH1* acorr) { fhCorr = acorr; }
41
42   void Divide();
43   void Multiply();
44   void SetCorrectionToUnity();
45
46   void Add(AliCorrectionMatrix* aMatrixToAdd, Float_t c=1);
47
48   void SetAxisTitles(const Char_t* titleX="", const Char_t* titleY="", const Char_t* titleZ="");
49
50   virtual Bool_t LoadHistograms(const Char_t* dir = 0);
51   virtual void SaveHistograms();
52
53   virtual void DrawHistograms(const Char_t* canvasName = 0);
54
55   virtual void ReduceInformation();
56
57   virtual void Reset(Option_t* option = "");
58
59 protected:
60   TH1*    fhMeas;  // histogram of measured particles (or tracks)
61   TH1*    fhGene;  // histogram of generated particles
62
63   TH1*    fhCorr;  // correction histogram (ratio generated/measured)
64
65   ClassDef(AliCorrectionMatrix,1)
66 };
67
68 #endif
69