]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/CorrectionMatrix2D.h
Changes in order to comply with the corresponding changes in the raw reader classes
[u/mrichter/AliRoot.git] / PWG0 / CorrectionMatrix2D.h
CommitLineData
1caed034 1// ------------------------------------------------------
2//
3// Class to handle 2d-corrections.
4//
5// ------------------------------------------------------
6//
7// TODO:
8//
9// - change the finish method (should not be called finish)
10// - add option in draw method
11//
12//
13
dc740de4 14/* $Id$ */
15
ddec1c19 16#ifndef CORRECTIONMATRIX2D_H
17#define CORRECTIONMATRIX2D_H
18
ddec1c19 19
b6d3306b 20#ifndef ROOT_TNamed
21#include "TNamed.h"
ddec1c19 22#endif
23#ifndef ROOT_TFile
24#include "TFile.h"
25#endif
26#ifndef ROOT_TH2
27#include "TH2.h"
28#endif
ddec1c19 29#ifndef ROOT_TError
30#include "TError.h"
31#endif
b6d3306b 32#ifndef ROOT_TCanvas
33#include "TCanvas.h"
34#endif
ddec1c19 35
b6d3306b 36class CorrectionMatrix2D : public TNamed
ddec1c19 37{
ddec1c19 38public:
1caed034 39 CorrectionMatrix2D(const CorrectionMatrix2D& c);
b6d3306b 40 CorrectionMatrix2D(Char_t* name="CorrectionMatrix", Char_t* title="",
41 Int_t nBinX=10, Float_t Xmin=0., Float_t Xmax=10.,
42 Int_t nBinY=10, Float_t Ymin=0., Float_t Ymax=10.);
43
44 CorrectionMatrix2D(Char_t* name, Char_t* title,
45 Int_t nBinX, Float_t *X, Int_t nBinY, Float_t *Y);
ddec1c19 46
b6d3306b 47 virtual ~CorrectionMatrix2D();
ddec1c19 48
1caed034 49 CorrectionMatrix2D& operator=(const CorrectionMatrix2D& corrMatrix);
50
51 virtual void Copy(TObject& c) const;
52
b6d3306b 53 TH2F* GetGeneratedHistogram() { return fhGene; }
54 TH2F* GetMeasuredHistogram() { return fhMeas; }
ddec1c19 55
b6d3306b 56 void SetGeneratedHistogram(TH2F* agene) { fhGene = agene; }
1caed034 57 void SetMeasuredHistogram(TH2F* ameas) { fhMeas = ameas; }
ddec1c19 58
b6d3306b 59 void FillMeas(Float_t ax, Float_t ay) {fhMeas->Fill(ax,ay);}
60 void FillGene(Float_t ax, Float_t ay) {fhGene->Fill(ax,ay);}
ddec1c19 61
b6d3306b 62 void Finish();
63
64 void SetAxisTitles(Char_t* titleX="", Char_t* titleY="");
ddec1c19 65
66 void SaveHistograms();
67 void DrawHistograms();
68
69 Bool_t LoadHistograms(Char_t* fileName, Char_t* dir);
70 Bool_t LoadCorrection(Char_t* fileName, Char_t* dir) {return LoadHistograms(fileName, dir);}
71
72 void RemoveEdges(Float_t cut=2, Int_t nBinsVtx=0, Int_t nBinsEta=0);
73
b6d3306b 74 Float_t GetCorrection(Float_t ax, Float_t ay) {return fhCorr->GetBinContent(fhCorr->FindBin(ax,ay));}
ddec1c19 75
b6d3306b 76protected:
77
1caed034 78 TH2F* fhMeas; // histogram of measured particles (or tracks)
79 TH2F* fhGene; // histogram of generated particles
b6d3306b 80
1caed034 81 TH2F* fhRatio; // ratio measured/generated
82 TH2F* fhCorr; // ratio generated/measured
b6d3306b 83
84
ddec1c19 85 ClassDef(CorrectionMatrix2D,0)
86};
87
88#endif
89