Various upgrades and bug fixes etc
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis / AliFMDAnaCalibBackgroundCorrection.h
1 #ifndef ALIFMDANACALIBBACKGROUNDCORRECTION_H
2 #define ALIFMDANACALIBBACKGROUNDCORRECTION_H
3
4 #include <TObject.h>
5 #include <TObjArray.h>
6 // #include <TH2F.h>
7 #include <TAxis.h>
8 #include <TList.h>
9 class TH2F;
10 class TH1F;
11 class TBrowser;
12
13 /**
14  * @ingroup FMD_ana
15  * @brief Do the background correction
16  * 
17  */
18 class AliFMDAnaCalibBackgroundCorrection : public TObject
19 {
20   
21  public:
22   
23   AliFMDAnaCalibBackgroundCorrection();
24   AliFMDAnaCalibBackgroundCorrection(const AliFMDAnaCalibBackgroundCorrection& o);
25   AliFMDAnaCalibBackgroundCorrection& operator=(const AliFMDAnaCalibBackgroundCorrection& o);
26   
27   TH2F*   GetBgCorrection(Int_t det, Char_t ring, Int_t vtxbin);
28   void    SetBgCorrection(Int_t det, Char_t ring, Int_t vtxbin, TH2F* hCorrection);
29   TH2F*   GetNSDBgCorrection(Int_t det, Char_t ring, Int_t vtxbin);
30   void    SetNSDBgCorrection(Int_t det, Char_t ring, Int_t vtxbin, TH2F* hCorrection);
31   
32   TH1F*   GetDoubleHitCorrection(Int_t det, Char_t ring);
33   void    SetDoubleHitCorrection(Int_t det, Char_t ring, TH1F* hCorrection);
34   TH1F*   GetSPDDeadCorrection(Int_t vtxbin);
35   void    SetSPDDeadCorrection(Int_t vtxbin, TH1F* hCorrection);
36   void    SetRefAxis(TAxis* axis);
37   Int_t   GetNvtxBins();
38   Float_t GetVtxCutZ();
39   void    Init();
40   Bool_t  IsFolder() const { return kTRUE; }
41   void    Browse(TBrowser* b);
42  protected:
43   
44   TObjArray* GetRingArray(Int_t det, Char_t ring);
45   TObjArray  fArray;
46   TAxis      fAxis;
47   Bool_t     fIsInit;
48   TList      fListOfDoubleHitCorrection;
49   TList      fListOfNSDBgMaps;
50   ClassDef(AliFMDAnaCalibBackgroundCorrection,3);
51 };
52
53 #endif
54 // Local Variables:
55 //   mode: C++
56 // End: