1 #ifndef CORRECTIONMATRIX2D_H
2 #define CORRECTIONMATRIX2D_H
4 // ------------------------------------------------------
6 // Class to handle corrections for dN/dEta measurements
8 // ------------------------------------------------------
11 // - add documentation
12 // - add status: generate or use maps
13 // - add functionality to set the bin sizes
14 // - add histograms with errors (for error visualization)
33 class CorrectionMatrix2D : public TObject
46 CorrectionMatrix2D(Char_t* name="CorrectionMatrix");
48 TH2F* GetGeneratedHistogram() { return hgene; }
49 TH2F* GetMeasuredHistogram() { return hmeas; }
51 void SetGeneratedHistogram(TH2F* agene) { hgene = agene; }
52 void SetMeasuredHistogram(TH2F* ameas) { hmeas = ameas; }
55 void FillMeas(Float_t x, Float_t y) {hmeas->Fill(x,y);}
56 void FillGene(Float_t x, Float_t y) {hgene->Fill(x,y);}
60 //Char_t *name , Char_t *title ,
62 void SetHist(Char_t* title ,Int_t nBinX=10, Float_t Xmin=0., Float_t Xmax=10.,
63 Int_t nBinY=10, Float_t Ymin=0., Float_t Ymax=10.);
64 void SetHist(Char_t* title ,Int_t nBinX, Float_t *X, Int_t nBinY, Float_t *Y);
66 void SetHistTitle(Char_t* titleX=" ", Char_t* titleY=" ");
68 void SaveHistograms();
69 void DrawHistograms();
71 Bool_t LoadHistograms(Char_t* fileName, Char_t* dir);
72 Bool_t LoadCorrection(Char_t* fileName, Char_t* dir) {return LoadHistograms(fileName, dir);}
74 void RemoveEdges(Float_t cut=2, Int_t nBinsVtx=0, Int_t nBinsEta=0);
76 Float_t GetCorrection(Float_t x, Float_t y) {return hcorr->GetBinContent(hcorr->FindBin(x,y));}
78 ClassDef(CorrectionMatrix2D,0)