]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/AliCorrectionMatrix3D.h
class with static analysis helper functions
[u/mrichter/AliRoot.git] / PWG0 / AliCorrectionMatrix3D.h
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
14 class TH3F;
15
16 class AliCorrectionMatrix3D : public AliCorrectionMatrix
17 {
18 public:
19   AliCorrectionMatrix3D();
20   AliCorrectionMatrix3D(const AliCorrectionMatrix3D& c);
21   AliCorrectionMatrix3D(const Char_t* name, const Char_t* title,
22                      Int_t nBinX=10, Float_t Xmin=0., Float_t Xmax=10.,
23                      Int_t nBinY=10, Float_t Ymin=0., Float_t Ymax=10.,
24                      Int_t nBinZ=10, Float_t Zmin=0., Float_t Zmax=10.);
25
26   virtual ~AliCorrectionMatrix3D();
27
28   TH3F* GetGeneratedHistogram();
29   TH3F* GetMeasuredHistogram();
30   TH3F* GetCorrectionHistogram();
31
32   void FillMeas(Float_t ax, Float_t ay, Float_t az);
33   void FillGene(Float_t ax, Float_t ay, Float_t az);
34
35   Float_t GetCorrection(Float_t ax, Float_t ay, Float_t az) const;
36
37   void RemoveEdges(Float_t cut=2, Int_t nBinsXedge = 0, Int_t nBinsYedge = 0, Int_t nBinsZedge = 0);
38
39   virtual void SaveHistograms();
40   void WriteProjections(TH3F* hist);
41
42 protected:
43   ClassDef(AliCorrectionMatrix3D,1)
44 };
45
46 #endif
47