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 */
10 // Base class for detectors quality assurance checkers
11 // Compares Data made by QADataMakers with reference data
12 // Y. Schutz CERN August 2007
16 // --- ROOT system ---
25 class AliDetectorRecoParam ;
27 // --- Standard library ---
29 // --- AliRoot header files ---
31 class AliQACheckerBase: public TNamed {
34 AliQACheckerBase(const char * name = "", const char * title = "") ; // ctor
35 AliQACheckerBase(const AliQACheckerBase& qac) ;
36 AliQACheckerBase& operator = (const AliQACheckerBase& qac) ;
37 virtual ~AliQACheckerBase() ; // dtor
39 TCanvas ** GetImage() { return fImage ; }
40 TCanvas * GetImage(AliRecoParam::EventSpecie_t es) { return fImage[AliRecoParam::AConvert(es)] ; }
41 virtual void Init(const AliQAv1::DETECTORINDEX_t det) { AliQAv1::Instance(det) ; }
42 virtual void MakeImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode) ;
43 void Run(AliQAv1::ALITASK_t tsk, AliDetectorRecoParam * recoParam = NULL);
44 void Run(AliQAv1::ALITASK_t tsk, TObjArray ** list, AliDetectorRecoParam * recoParam = NULL);
45 void Run(AliQAv1::ALITASK_t /*tsk*/, TNtupleD ** /*nt*/, AliDetectorRecoParam * /*recoParam*/) {;}
46 void SetHiLo(Float_t * hiValue, Float_t * lowValue) ;
47 void SetPrintImage(Bool_t opt = kTRUE) { fPrintImage = opt ; }
48 void SetRefandData(TDirectory * ref, TObjArray ** refOCDB, TDirectory * data=NULL) { fRefSubDir = ref ; fRefOCDBSubDir = refOCDB, fDataSubDir = data ; }
51 virtual Double_t * Check(AliQAv1::ALITASK_t, TObjArray **, AliDetectorRecoParam * recoParam) ;
53 Double_t DiffC(const TH1 * href, const TH1 * hin) const ;
54 Double_t DiffK(const TH1 * href, const TH1 * hin) const ;
56 virtual void SetQA(AliQAv1::ALITASK_t index, Double_t * value) const ;
58 TDirectory * fDataSubDir ; //! directory for the current task directory in the current detector directory in the data file
59 TDirectory * fRefSubDir ; //! directory for the current task directory in the current detector directory in the reference file
60 TObjArray ** fRefOCDBSubDir ; //! Entry in OCDB for the current detector
61 Float_t * fLowTestValue ; // array of lower bounds for INFO, WARNING, ERROR, FATAL
62 Float_t * fUpTestValue ; // array of upper bounds for INFO, WARNING, ERROR, FATAL
63 TCanvas ** fImage ;//[AliRecoParam::kNSpecies]
64 Bool_t fPrintImage ;//! flag to print the images or not
67 Double_t * Check(AliQAv1::ALITASK_t index, AliDetectorRecoParam * recoParam) ;
69 ClassDef(AliQACheckerBase,2) // description
73 #endif // AliQUALASSCHECKERBASE_H