]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliQACheckerBase.h
Bug corrected.
[u/mrichter/AliRoot.git] / STEER / AliQACheckerBase.h
index 58e50edbdb375c775f9f657833c9f7009d597f13..1492a3fbf9e09cac4ad7aa52df11f2fb458b47af 100644 (file)
@@ -6,18 +6,23 @@
 
 /* $Id$ */
 
-/*
-  Base class for detectors quality assurance checkers 
-  Compares Data made by QADataMakers with reference data
-  Y. Schutz CERN August 2007
-*/
+//
+//  Base class for detectors quality assurance checkers 
+//  Compares Data made by QADataMakers with reference data
+//  Y. Schutz CERN August 2007
+//
 
 
 // --- ROOT system ---
 #include <TNamed.h>
-#include "AliQA.h"
+#include "AliQAv1.h"
+class TCanvas ; 
 class TFile ; 
 class TH1 ; 
+class TObjArray ; 
+class TDirectory ; 
+class TNtupleD ;
+class AliDetectorRecoParam ; 
 class TList ; 
 
 // --- Standard library ---
@@ -30,23 +35,43 @@ public:
   AliQACheckerBase(const char * name = "", const char * title = "") ;          // ctor
   AliQACheckerBase(const AliQACheckerBase& qac) ;   
   AliQACheckerBase& operator = (const AliQACheckerBase& qac) ;
-  virtual ~AliQACheckerBase() {;} // dtor
-
-  void   Init(const AliQA::DETECTORINDEX det) ; 
-  void   Run(AliQA::ALITASK tsk, TList * list=0x0); 
-  void   SetRefandData(TDirectory * ref, TDirectory * data=NULL) { fRefSubDir = ref ;  fDataSubDir = data ; }
+  virtual ~AliQACheckerBase() ; // dtor
+  TList *        GetExternParamlist() { return fExternParamList ;}
+  TCanvas **     GetImage() { return fImage ; }
+  TCanvas *      GetImage(AliRecoParam::EventSpecie_t es) { return fImage[AliRecoParam::AConvert(es)] ; }
+  virtual void   Init(const AliQAv1::DETECTORINDEX_t det)   { AliQAv1::Instance(det) ; }
+  virtual void   MakeImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode) ; 
+  void           PrintExternParam() ; 
+  void           Run(AliQAv1::ALITASK_t tsk, AliDetectorRecoParam * recoParam = NULL); 
+  void           Run(AliQAv1::ALITASK_t tsk, TObjArray ** list, AliDetectorRecoParam * recoParam = NULL); 
+  void           Run(AliQAv1::ALITASK_t /*tsk*/, TNtupleD ** /*nt*/, AliDetectorRecoParam * /*recoParam*/) {;} 
+  void           SetExternParamlist(TList * list) { fExternParamList = list ;}
+  void           SetHiLo(Float_t * hiValue, Float_t * lowValue) ; 
+  void           SetPrintImage(Bool_t opt = kTRUE) { fPrintImage = opt ; }
 
 protected:
-  virtual const Double_t Check() ;
-  virtual const Double_t Check(TList * list) ;
-  const Double_t DiffC(const TH1 * href, const TH1 * hin) const ;   
-  const Double_t DiffK(const TH1 * href, const TH1 * hin) const ;   
-  void           Finish() const ; 
+  virtual void Check(Double_t *rv, AliQAv1::ALITASK_t, TObjArray **, const AliDetectorRecoParam * recoParam) ; 
+
+  Double_t     DiffC(const TH1 * href, const TH1 * hin) const ;   
+  Double_t     DiffK(const TH1 * href, const TH1 * hin) const ;   
+  void         Finish() const ; 
+  void         GetRefSubDir(const char * det, const char * task, TDirectory *& dirFile, TObjArray **& dirOCDB) ;
+  virtual void SetQA(AliQAv1::ALITASK_t index, Double_t * value) const ;       
+
+  TDirectory  * fDataSubDir     ; //! directory for the current task directory in the current detector directory in the data file
+  TDirectory  * fRefSubDir      ; //! directory for the current task directory in the current detector directory in the reference file
+  TObjArray   ** fRefOCDBSubDir ; //! Entry in OCDB for the current detector 
+  Float_t     * fLowTestValue   ; // array of lower bounds for INFO, WARNING, ERROR, FATAL   
+  Float_t     * fUpTestValue    ; // array of upper bounds for INFO, WARNING, ERROR, FATAL   
+  TCanvas **    fImage          ; //[AliRecoParam::kNSpecies] 
+  Bool_t        fPrintImage     ; //! flag to print the images or not
+  TList       * fExternParamList; //List of external parameters (TParameter<double>)  
 
-  TDirectory * fDataSubDir ; //! directory for the current task directory in the current detector directory in the data file
-  TDirectory * fRefSubDir  ; //! directory for the current task directory in the current detector directory in the reference file
+private:
+  void Check(Double_t * rv, AliQAv1::ALITASK_t index, const AliDetectorRecoParam * recoParam) ;
 
-  ClassDef(AliQACheckerBase,1)  // description 
+  ClassDef(AliQACheckerBase,3)  // description 
 
 };