ESD and RAW QA revisited for DQM
[u/mrichter/AliRoot.git] / VZERO / AliVZEROQADataMakerRec.h
1 #ifndef ALIVZEROQADataMakerRec_H
2 #define ALIVZEROQADataMakerRec_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
11
12 // --- ROOT system ---
13 class TH1F; 
14 class TH1I; 
15 class TObjArray; 
16
17 // --- Standard library ---
18
19 // --- AliRoot header files ---
20 #include "AliQADataMakerRec.h"
21
22 class AliCDBManager;
23 class AliCDBStorage;
24 class AliVZEROCalibData;
25
26 class AliVZEROQADataMakerRec: public AliQADataMakerRec {
27
28 public:
29   //Histograms for Raw data control
30   enum HRawType_t {kPedestal_Int0,kPedestal_Int1,kPedestal_Cycle_Int0,kPedestal_Cycle_Int1,kPedestal_Time_Int0,kPedestal_Time_Int1
31                         ,kChargeEoI_Int0,kChargeEoI_Int1,kChargeEoI_Time_Int0,kChargeEoI_Time_Int1,kChargeEoI_Cycle_Int0,kChargeEoI_Cycle_Int1
32                         ,kChargeEoI_BB_Int0,kChargeEoI_BB_Int1,kChargeEoI_BG_Int0,kChargeEoI_BG_Int1,kChargeVsClock_Int0,kChargeVsClock_Int1
33                         ,kChargeMB_BB0_BG0_Int0,kChargeMB_BB0_BG1_Int0,kChargeMB_BB1_BG0_Int0,kChargeMB_BB1_BG1_Int0
34                         ,kChargeMB_BB0_BG0_Int1,kChargeMB_BB0_BG1_Int1,kChargeMB_BB1_BG0_Int1,kChargeMB_BB1_BG1_Int1
35                         ,kWidth,kWidth_BB,kWidth_BG,kHPTDCTime,kHPTDCTime_BB,kHPTDCTime_BG,kBBFlagVsClock,kBGFlagVsClock
36                         ,kMultiV0A,kMultiV0C,kChargeV0A,kChargeV0C,kChargeV0 
37                         ,kV0ATime,kV0CTime,kDiffTime
38                         ,kRawMIPV0A,kRawMIPV0C,kRawMIPV0,kRawMIPChannel} ;
39         
40         enum HESDType_t {kCellMultiV0A,kCellMultiV0C,kMIPMultiV0A,kMIPMultiV0C,kMIPMultiChannel
41                         ,kBBFlag,kBGFlag,kChargeChannel,kTimeChannel
42                         ,kESDV0ATime,kESDV0CTime,kESDDiffTime};
43
44 public:
45   AliVZEROQADataMakerRec() ;           // constructor
46   AliVZEROQADataMakerRec(const AliVZEROQADataMakerRec& qadm) ;   
47   AliVZEROQADataMakerRec& operator = (const AliVZEROQADataMakerRec& qadm) ;
48   virtual ~AliVZEROQADataMakerRec() {;} // destructor
49   AliVZEROCalibData *GetCalibData() const;
50   
51 protected: 
52   AliVZEROCalibData *fCalibData;  //! calibration data
53    
54 private:
55   virtual void   EndOfDetectorCycle(AliQA::TASKINDEX_t, TObjArray * list) ;
56   virtual void   InitESDs() ; 
57   virtual void   InitRaws() ; 
58   virtual void   MakeESDs(AliESDEvent * esd) ;
59   virtual void   MakeRaws(AliRawReader* rawReader) ; 
60   virtual void   StartOfDetectorCycle() ; 
61
62   Int_t   fEvent;
63   Int_t   fEven[64];
64   Int_t   fOdd[64];
65   Float_t fADC_Mean[128];
66
67   ClassDef(AliVZEROQADataMakerRec,1)  // description 
68
69 };
70
71 #endif // AliVZEROQADataMakerRec_H