renamed CorrectionMatrix class
[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 public:
24   AliCorrectionMatrix();
25   AliCorrectionMatrix(const Char_t* name, const Char_t* title);
26   AliCorrectionMatrix(const AliCorrectionMatrix& c);
27   virtual ~AliCorrectionMatrix();
28
29   AliCorrectionMatrix& operator=(const AliCorrectionMatrix& corrMatrix);
30   virtual void Copy(TObject& c) const;
31   virtual Long64_t Merge(TCollection* list);
32
33   TH1* GetGeneratedHistogram() { return fhGene; }
34   TH1* GetMeasuredHistogram()  { return fhMeas; }
35
36   void SetGeneratedHistogram(TH1* agene) { fhGene = agene; }
37   void SetMeasuredHistogram(TH1* ameas)  { fhMeas = ameas; }
38
39   void Divide();
40
41   void SetAxisTitles(const Char_t* titleX="", const Char_t* titleY="", const Char_t* titleZ="");
42
43   virtual Bool_t LoadHistograms(Char_t* fileName, Char_t* dir = ".");
44   virtual void SaveHistograms();
45
46   virtual void DrawHistograms();
47
48 protected:
49   TH1*    fhMeas;  // histogram of measured particles (or tracks)
50   TH1*    fhGene;  // histogram of generated particles
51
52   TH1*    fhCorr;  // correction histogram (ratio generated/measured)
53
54   ClassDef(AliCorrectionMatrix,1)
55 };
56
57 #endif
58