Changes required in QA for the amoreQAshifter agent; change units of titles from...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALQADataMakerRec.h
1 #ifndef ALIEMCALQADataMakerRec_H
2 #define ALIEMCALQADataMakerRec_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /*
7   Produces the data needed to calculate the quality assurance. 
8   All data must be mergeable objects.
9
10   Based on PHOS code written by
11   Y. Schutz CERN July 2007
12 */
13
14
15 // --- ROOT system ---
16 class TH1F ; 
17 class TH1I ; 
18 class TObjArray ; 
19
20 // --- Standard library ---
21
22 // --- AliRoot header files ---
23 #include "AliQADataMakerRec.h"
24
25 class AliEMCALQADataMakerRec: public AliQADataMakerRec {
26
27 public:
28   //Histograms for Raw data control
29   enum HRawType_t { 
30     // first normal Low Gain and High Gain info
31     kNsmodLG,kNsmodHG,kTimeLG,kTimeHG,
32     kSigLG,kSigHG,kNtotLG,kNtotHG,kTowerHG,kTowerLG,
33     kPedLG,kPedHG,
34     kPedRMSLG,kPedRMSHG,
35     // then TRU info
36     kNsmodTRU,kTimeTRU,
37     kSigTRU,kNtotTRU,
38     kPedTRU,kPedRMSTRU,
39     // and also LED Mon info
40     kNsmodLGLEDMon,kNsmodHGLEDMon,kTimeLGLEDMon,kTimeHGLEDMon,
41     kSigLGLEDMon,kSigHGLEDMon,kNtotLGLEDMon,kNtotHGLEDMon,
42     kPedLGLEDMon,kPedHGLEDMon,
43     kPedRMSLGLEDMon,kPedRMSHGLEDMon
44   } ;
45
46   //Histograms for RecPoints  control
47   enum HRPType_t {kRecPE,kRecPM,kRecPDigM};
48
49   //Histograms for ESDs  control
50   enum HESDType_t {kESDCaloClusE,kESDCaloClusM,kESDCaloCellA,kESDCaloCellM} ;
51                  
52
53 public:
54   AliEMCALQADataMakerRec() ;          // ctor
55   AliEMCALQADataMakerRec(const AliEMCALQADataMakerRec& qadm) ;   
56   AliEMCALQADataMakerRec& operator = (const AliEMCALQADataMakerRec& qadm) ;
57   virtual ~AliEMCALQADataMakerRec() {;} // dtor
58
59   void SetSuperModules(int i) {fSuperModules = i;}; //The number of SuperModules
60   int GetSuperModules() const {return fSuperModules;}; //The number of SuperModules
61
62   // for pedestal calculation with raw data
63   void SetFirstPedestalSample(int i) {fFirstPedestalSample = i;}; // first sample 
64   int GetFirstPedestalSample() const {return fFirstPedestalSample;}; // first sample 
65   void SetLastPedestalSample(int i) {fLastPedestalSample = i;}; // last sample 
66   int GetLastPedestalSample() const {return fLastPedestalSample;}; // last sample 
67   // for selection of interesting signal (max-min) range for High Gain channels
68   // (useful for MIP/cosmic studies) 
69   void SetMinSignalHG(int i) {fMinSignalHG = i;}; // minimum signal
70   int GetMinSignalHG() const {return fMinSignalHG;}; // minimum signal
71   void SetMaxSignalHG(int i) {fMaxSignalHG = i;}; // maximum signal
72   int GetMaxSignalHG() const {return fMaxSignalHG;}; // maximum signal
73
74   virtual void   EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** list) ;
75   virtual void   InitESDs() ; 
76   virtual void   InitDigits() ; 
77   virtual void   InitRecPoints() ; 
78   virtual void   InitRaws() ; 
79   virtual void   MakeESDs(AliESDEvent * esd) ;
80   virtual void   MakeDigits() ;
81   virtual void   MakeDigits(TTree * digTree) ; 
82   virtual void   MakeRecPoints(TTree * recpoTree) ; 
83   virtual void   MakeRaws(AliRawReader* rawReader) ; 
84   virtual void   StartOfDetectorCycle() ; 
85
86 private:
87   int fSuperModules; //The number of SuperModules activated
88   int fFirstPedestalSample; // first sample for pedestal calculation
89   int fLastPedestalSample; // last sample for pedestal calculation
90   int fMinSignalHG; // minimum signal, for High Gain channels
91   int fMaxSignalHG; // maximum signal, for High Gain channels
92
93   ClassDef(AliEMCALQADataMakerRec,4)  // description 
94
95 };
96
97 #endif // AliEMCALQADataMakerRec_H