Added PHOS/macros/Trigger/raw and contained code.
[u/mrichter/AliRoot.git] / PHOS / macros / Trigger / raw / AliTRUPedestalOutput.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // Author: Henrik Qvigstad <henrik.qvigstad@cern.ch>
5 /* $Id$ */
6
7
8 #ifndef ALITRUPEDESTALOUTPUT_H
9 #define ALITRUPEDESTALOUTPUT_H
10
11 #include <TObject.h>
12 #include <Rtypes.h>
13
14 class TH1I;
15 class TH1F;
16 class TH2F;
17
18 class AliTRUPedestalOutput : public TObject
19 {
20
21 public:
22   AliTRUPedestalOutput();
23   virtual ~AliTRUPedestalOutput();
24
25   void SetRun(Int_t run);
26   void EventAdded();
27
28   UInt_t GetEventsAdded() { return fNEvents; }
29
30   // Histograms Getters:
31   TH1F* GetPedestals();
32   TH1F* GetPedestalRMS();
33   TH1I* GetPedestalSamples();
34   TH2F* GetPedestals2d(UInt_t mod);
35   TH2F* GetPedestalRMS2d(UInt_t mod);
36   TH1F* GetPedestalsId();
37   TH1F* GetPedestals_branch(UInt_t mod, UInt_t row, UInt_t branch);
38
39   TH1I* GetTRUSignals(UInt_t mod, UInt_t row, UInt_t branch, UInt_t x, UInt_t z);
40
41   // Other Getters:
42   Double_t GetPedestal(UInt_t mod, UInt_t row, UInt_t branch, UInt_t x, UInt_t z);
43   Double_t GetPedestalError(UInt_t mod, UInt_t row, UInt_t branch, UInt_t x, UInt_t z);
44   Double_t GetRMS(UInt_t mod, UInt_t row, UInt_t branch, UInt_t x, UInt_t z);
45   Double_t GetSamples(UInt_t mod, UInt_t row, UInt_t branch, UInt_t x, UInt_t z);
46   
47   // Constants
48   const static UInt_t kNMods         = 5;
49   const static UInt_t kNTRURows      = 4;
50   const static UInt_t kNBranches     = 2;
51   const static UInt_t kN2x2X         = 64/2;
52   const static UInt_t kN2x2Z         = 56/2;
53   const static UInt_t kN2x2XPrTRURow = kN2x2X / kNTRURows;
54   const static UInt_t kN2x2ZPrBranch = kN2x2Z / kNBranches;
55   const static UInt_t kNTRUTimeBins  = 128;
56   const static UInt_t kNEMCTimeBins  = 62;
57
58 private:
59   AliTRUPedestalOutput ( const AliTRUPedestalOutput& other ); // not impl.
60   AliTRUPedestalOutput& operator= ( const AliTRUPedestalOutput& other ); // not impl.
61   
62   Int_t fRun;
63   UInt_t fNEvents;
64   
65   // Event Global Histograms:
66   TH1F* fPedestals;   //! Pedestals
67   TH1F* fPedestalRMS; //!
68   TH1I* fPedestalSamples; //!
69   TH2F* fPedestals2d[kNMods]; //!
70   TH2F* fPedestalRMS2d[kNMods]; //!
71   TH1F* fPedestalsId; //! Pedestals v Id
72   TH1F* fPedestals_branch[kNMods][kNTRURows][kNBranches]; //! Pedestals, pr mod
73   // TH2F* fPedestalsId_branch[kNMods][kNTRURows][kNBranches]; //! Pedestals v Id, pr mod
74
75   // Regular Histograms
76   TH1I* fTRUSignals[kNMods][kNTRURows][kNBranches][kN2x2XPrTRURow][kN2x2ZPrBranch]; //->
77
78   
79   ClassDef(AliTRUPedestalOutput, 0)
80 };
81
82 #endif // ALITRUPEDESTALOUTPUT_H