58e50edbdb375c775f9f657833c9f7009d597f13
[u/mrichter/AliRoot.git] / STEER / AliQACheckerBase.h
1 #ifndef ALIQACHECKERBASE_H
2 #define ALIQACHECKERBASE_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   Base class for detectors quality assurance checkers 
11   Compares Data made by QADataMakers with reference data
12   Y. Schutz CERN August 2007
13 */
14
15
16 // --- ROOT system ---
17 #include <TNamed.h>
18 #include "AliQA.h"
19 class TFile ; 
20 class TH1 ; 
21 class TList ; 
22
23 // --- Standard library ---
24
25 // --- AliRoot header files ---
26
27 class AliQACheckerBase: public TNamed {
28
29 public:
30   AliQACheckerBase(const char * name = "", const char * title = "") ;          // ctor
31   AliQACheckerBase(const AliQACheckerBase& qac) ;   
32   AliQACheckerBase& operator = (const AliQACheckerBase& qac) ;
33   virtual ~AliQACheckerBase() {;} // dtor
34
35   void   Init(const AliQA::DETECTORINDEX det) ; 
36   void   Run(AliQA::ALITASK tsk, TList * list=0x0); 
37   void   SetRefandData(TDirectory * ref, TDirectory * data=NULL) { fRefSubDir = ref ;  fDataSubDir = data ; }
38
39 protected:
40   virtual const Double_t Check() ;
41   virtual const Double_t Check(TList * list) ;
42   const Double_t DiffC(const TH1 * href, const TH1 * hin) const ;   
43   const Double_t DiffK(const TH1 * href, const TH1 * hin) const ;   
44   void           Finish() const ; 
45
46   TDirectory * fDataSubDir ; //! directory for the current task directory in the current detector directory in the data file
47   TDirectory * fRefSubDir  ; //! directory for the current task directory in the current detector directory in the reference file
48
49   ClassDef(AliQACheckerBase,1)  // description 
50
51 };
52
53 #endif // AliQUALASSCHECKERBASE_H