PHOS module
[u/mrichter/AliRoot.git] / PHOS / PHOSrec / AliPHOSQADataMakerRec.h
1 #ifndef ALIPHOSQADataMakerRec_H
2 #define ALIPHOSQADataMakerRec_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id$ */
8
9 /*
10   Produces the data needed to calculate the quality assurance. 
11   All data must be mergeable objects.
12   Y. Schutz CERN July 2007
13 */
14
15
16 // --- ROOT system ---
17 class TH1F ; 
18 class TH1I ; 
19 class TObjArray ; 
20
21 // --- Standard library ---
22
23 // --- AliRoot header files ---
24 #include "AliQADataMakerRec.h"
25 #include "AliPHOSRecoParam.h"
26
27 class AliPHOSQADataMakerRec: public AliQADataMakerRec {
28
29 public:
30   //Histograms for Raw data control
31   enum HRawType_t {kHGmod0,kHGmod1,kHGmod2,kHGmod3,kHGmod4,
32                    kLGmod0,kLGmod1,kLGmod2,kLGmod3,kLGmod4,
33                    kNmodLG,kNmodHG,kNRCUHG,kNRCUHGnorm,
34                    kNtotLG,kNtotHG,kEtotLG,kEtotHG,
35                    kLGtime,kHGtime,kSpecLG,kSpecHG,
36                    kHGqualMod0,kHGqualMod1,kHGqualMod2,kHGqualMod3,kHGqualMod4,
37                    kLGqualMod0,kLGqualMod1,kLGqualMod2,kLGqualMod3,kLGqualMod4,
38                    kHGpedRMSMod0,kHGpedRMSMod1,kHGpedRMSMod2,kHGpedRMSMod3,kHGpedRMSMod4,
39                    kLGpedRMSMod0,kLGpedRMSMod1,kLGpedRMSMod2,kLGpedRMSMod3,kLGpedRMSMod4,
40                    kHGpedRMS,kLGpedRMS,
41                    kNtotHG_1_0,kNtotHG_1_1,kNtotHG_1_2,kNtotHG_1_3,
42                    kNtotHG_2_0,kNtotHG_2_1,kNtotHG_2_2,kNtotHG_2_3,
43                    kNtotHG_3_0,kNtotHG_3_1,kNtotHG_3_2,kNtotHG_3_3,} ;
44   //Histograms for RecPoints  control
45   enum HRPType_t {kRPmod1,kRPmod2,kRPmod3,kRPmod4,kRPmod5,
46                 kRPNtot,kRPEtot,kRPSpec,kRPTime,kRPNcpv} ;
47   //Histograms for ESDs  control
48   enum HESDType_t {kESDNtot,kESDEtot,kESDSpec,kESDpid} ;
49   enum HDigitType_t  {kDigits=0, kDigitsMul} ; 
50
51                  
52
53 public:
54   AliPHOSQADataMakerRec() ;          // ctor
55   AliPHOSQADataMakerRec(const AliPHOSQADataMakerRec& qadm) ;   
56   AliPHOSQADataMakerRec& operator = (const AliPHOSQADataMakerRec& qadm) ;
57   virtual ~AliPHOSQADataMakerRec() {;} // dtor
58   
59 private:
60   const AliPHOSRecoParam* GetRecoParam() { return dynamic_cast<const AliPHOSRecoParam *>(fRecoParam); }
61
62   virtual void   EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** list) ;
63   virtual void   InitESDs() ; 
64   virtual void   InitDigits() ; 
65   virtual void   InitRecPoints() ; 
66   virtual void   InitRaws() ; 
67   virtual void   MakeESDs(AliESDEvent * esd) ;
68   virtual void   MakeDigits() ;
69   virtual void   MakeDigits(TTree * recpoTree) ; 
70   virtual void   MakeRecPoints(TTree * recpoTree) ; 
71   virtual void   MakeRaws(AliRawReader* rawReader) ; 
72   virtual void   StartOfDetectorCycle() ; 
73
74   ClassDef(AliPHOSQADataMakerRec,1)  // description 
75
76 };
77
78 #endif // AliPHOSQADataMakerRec_H