added constructors
[u/mrichter/AliRoot.git] / PWG0 / AliCorrectionMatrix3D.h
CommitLineData
bf21645b 1#ifndef ALICORRECTIONMATRIX3D_H
2#define ALICORRECTIONMATRIX3D_H
3
4/* $Id$ */
5
6// ------------------------------------------------------
7//
8// Class to handle 3d-corrections.
9//
10// ------------------------------------------------------
11
12#include <AliCorrectionMatrix.h>
13
14class TH3F;
f10a1859 15class TH1F;
bf21645b 16
17class AliCorrectionMatrix3D : public AliCorrectionMatrix
18{
19public:
20 AliCorrectionMatrix3D();
21 AliCorrectionMatrix3D(const AliCorrectionMatrix3D& c);
22 AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
083a636e 23 Int_t nBinX, Float_t Xmin, Float_t Xmax,
24 Int_t nBinY, Float_t Ymin, Float_t Ymax,
25 Int_t nBinZ, Float_t Zmin, Float_t Zmax);
bf21645b 26
1afae8ff 27 AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
28 Int_t nBinX, Float_t Xmin, Float_t Xmax,
29 Int_t nBinY, Float_t Ymin, Float_t Ymax,
30 Int_t nBinZ, const Float_t* zbins);
31
083a636e 32 AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
33 Int_t nBinX, const Float_t* xbins,
34 Int_t nBinY, Float_t Ymin, Float_t Ymax,
35 Int_t nBinZ, const Float_t* zbins);
36
37 AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
38 Int_t nBinX, const Float_t* xbins,
39 Int_t nBinY, const Float_t* ybins,
40 Int_t nBinZ, const Float_t* zbins);
41
42 void CreateHists(Int_t nBinX, const Float_t* binLimitsX,
43 Int_t nBinY, const Float_t* binLimitsY,
44 Int_t nBinZ, const Float_t* binLimitsZ);
45
bf21645b 46 virtual ~AliCorrectionMatrix3D();
47
61385583 48 AliCorrectionMatrix3D& operator= (const AliCorrectionMatrix3D& c);
49
bf21645b 50 TH3F* GetGeneratedHistogram();
51 TH3F* GetMeasuredHistogram();
52 TH3F* GetCorrectionHistogram();
53
54 void FillMeas(Float_t ax, Float_t ay, Float_t az);
55 void FillGene(Float_t ax, Float_t ay, Float_t az);
56
57 Float_t GetCorrection(Float_t ax, Float_t ay, Float_t az) const;
58
59 void RemoveEdges(Float_t cut=2, Int_t nBinsXedge = 0, Int_t nBinsYedge = 0, Int_t nBinsZedge = 0);
60
61 virtual void SaveHistograms();
bf21645b 62
f10a1859 63 Int_t CheckEmptyBins(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax, Bool_t quiet = kFALSE);
64 TH1F* PlotBinErrors(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax);
65
66
bf21645b 67protected:
68 ClassDef(AliCorrectionMatrix3D,1)
69};
70
71#endif
72