]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/AliCorrectionMatrix3D.h
Class implements interface AliAnalysisCuts.
[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>
06e4b91b 13#include <AliCorrectionMatrix2D.h>
bf21645b 14
15class TH3F;
06e4b91b 16class TH2F;
f10a1859 17class TH1F;
bf21645b 18
06e4b91b 19
bf21645b 20class AliCorrectionMatrix3D : public AliCorrectionMatrix
21{
22public:
23 AliCorrectionMatrix3D();
24 AliCorrectionMatrix3D(const AliCorrectionMatrix3D& c);
25 AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
083a636e 26 Int_t nBinX, Float_t Xmin, Float_t Xmax,
27 Int_t nBinY, Float_t Ymin, Float_t Ymax,
28 Int_t nBinZ, Float_t Zmin, Float_t Zmax);
bf21645b 29
1afae8ff 30 AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
31 Int_t nBinX, Float_t Xmin, Float_t Xmax,
32 Int_t nBinY, Float_t Ymin, Float_t Ymax,
33 Int_t nBinZ, const Float_t* zbins);
34
06e4b91b 35 AliCorrectionMatrix3D(const Char_t* name, const Char_t* title, TH3F* hBinning);
36
bf21645b 37 virtual ~AliCorrectionMatrix3D();
38
61385583 39 AliCorrectionMatrix3D& operator= (const AliCorrectionMatrix3D& c);
40
06e4b91b 41 void CreateHists(Int_t nBinX, const Float_t* binLimitsX,
42 Int_t nBinY, const Float_t* binLimitsY,
43 Int_t nBinZ, const Float_t* binLimitsZ);
44
bf21645b 45 TH3F* GetGeneratedHistogram();
46 TH3F* GetMeasuredHistogram();
47 TH3F* GetCorrectionHistogram();
48
06e4b91b 49 AliCorrectionMatrix2D* Get2DCorrection(Char_t* opt, Float_t aMin, Float_t aMax);
50 TH2F* Get2DCorrectionHistogram(Char_t* opt, Float_t aMin, Float_t aMax) {return Get2DCorrection(opt,aMin,aMax)->GetCorrectionHistogram();}
51 TH1F* Get1DCorrectionHistogram(Char_t* opt, Float_t aMins1, Float_t aMax1, Float_t aMins2, Float_t aMax2);
52
bf21645b 53 void FillMeas(Float_t ax, Float_t ay, Float_t az);
54 void FillGene(Float_t ax, Float_t ay, Float_t az);
55
56 Float_t GetCorrection(Float_t ax, Float_t ay, Float_t az) const;
57
58 void RemoveEdges(Float_t cut=2, Int_t nBinsXedge = 0, Int_t nBinsYedge = 0, Int_t nBinsZedge = 0);
59
60 virtual void SaveHistograms();
bf21645b 61
f10a1859 62 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);
63 TH1F* PlotBinErrors(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax);
64
65
bf21645b 66protected:
67 ClassDef(AliCorrectionMatrix3D,1)
68};
69
70#endif
71