AliRoot Core  3dc7879 (3dc7879)
AliQACheckerBase.h
Go to the documentation of this file.
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 "AliQAv1.h"
19 class TCanvas ;
20 class TFile ;
21 class TH1 ;
22 class TObjArray ;
23 class TDirectory ;
24 class TNtupleD ;
25 class AliDetectorRecoParam ;
26 class TList ;
27 
28 // --- Standard library ---
29 
30 // --- AliRoot header files ---
31 
32 class AliQACheckerBase: public TNamed {
33 
34 public:
35  AliQACheckerBase(const char * name = "", const char * title = "") ; // ctor
36  virtual ~AliQACheckerBase() ; // dtor
37 
38  void DeleteImages() ;
39  TList * GetExternParamlist() { return fExternParamList ;}
40  TCanvas ** GetImage() { return fImage ; }
42  virtual void Init(const AliQAv1::DETECTORINDEX_t det) { AliQAv1::Instance(det) ; }
43  virtual void MakeImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode) ;
44  void PrintExternParam() ;
45  void Run(AliQAv1::ALITASK_t tsk, const AliDetectorRecoParam * recoParam = NULL);
46  void Run(AliQAv1::ALITASK_t tsk, TObjArray ** list, const AliDetectorRecoParam * recoParam = NULL);
47  void Run(AliQAv1::ALITASK_t /*tsk*/, TNtupleD ** /*nt*/, const AliDetectorRecoParam * /*recoParam*/) {;}
48  void SetExternParamlist(TList * list) { fExternParamList = list ;}
49  void SetHiLo(Float_t * hiValue, Float_t * lowValue) ;
50  void SetPrintImage(Bool_t opt = kTRUE) { fPrintImage = opt ; }
51 
52 protected:
53  virtual void Check(Double_t *rv, AliQAv1::ALITASK_t, TObjArray ** list, const AliDetectorRecoParam * recoParam=0) ;
54 
55  Double_t DiffC(const TH1 * href, const TH1 * hin) const ;
56  Double_t DiffK(const TH1 * href, const TH1 * hin) const ;
57  void Finish() const ;
58  void GetRefSubDir(const char * det, const char * task, TDirectory *& dirFile, TObjArray **& dirOCDB) ;
59  virtual void SetQA(AliQAv1::ALITASK_t index, Double_t * value) const ;
60 
61  TDirectory * fDataSubDir ;
62  TDirectory * fRefSubDir ;
64  Float_t * fLowTestValue ; // array of lower bounds for INFO, WARNING, ERROR, FATAL
65  Float_t * fUpTestValue ; // array of upper bounds for INFO, WARNING, ERROR, FATAL
66  TCanvas ** fImage ; //[AliRecoParam::kNSpecies]
67  Bool_t fPrintImage ;
68  TList * fExternParamList; //List of external parameters (TParameter<double>)
69 
70 private:
71  AliQACheckerBase(const AliQACheckerBase& qac) ;
73  void PrivateCheck(Double_t * rv, AliQAv1::ALITASK_t index, const AliDetectorRecoParam * recoParam) ;
74 
75  ClassDef(AliQACheckerBase,3) // description
76 
77 };
78 
79 #endif // AliQUALASSCHECKERBASE_H
TDirectory * fDataSubDir
#define TObjArray
void Finish() const
void PrivateCheck(Double_t *rv, AliQAv1::ALITASK_t index, const AliDetectorRecoParam *recoParam)
ALITASK_t
Definition: AliQAv1.h:26
void SetExternParamlist(TList *list)
virtual void Check(Double_t *rv, AliQAv1::ALITASK_t, TObjArray **list, const AliDetectorRecoParam *recoParam=0)
MODE_t
Definition: AliQAv1.h:32
TObjArray ** fRefOCDBSubDir
directory for the current task directory in the current detector directory in the reference file ...
Float_t * fUpTestValue
TCanvas ** GetImage()
TList * fExternParamList
flag to print the images or not
AliQACheckerBase(const char *name="", const char *title="")
virtual void Init(const AliQAv1::DETECTORINDEX_t det)
TDirectory * fRefSubDir
directory for the current task directory in the current detector directory in the data file ...
void Run(AliQAv1::ALITASK_t, TNtupleD **, const AliDetectorRecoParam *)
Double_t DiffK(const TH1 *href, const TH1 *hin) const
AliQACheckerBase & operator=(const AliQACheckerBase &qac)
void SetPrintImage(Bool_t opt=kTRUE)
virtual void MakeImage(TObjArray **list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode)
virtual ~AliQACheckerBase()
void Run(AliQAv1::ALITASK_t tsk, const AliDetectorRecoParam *recoParam=NULL)
virtual void SetQA(AliQAv1::ALITASK_t index, Double_t *value) const
void SetHiLo(Float_t *hiValue, Float_t *lowValue)
void GetRefSubDir(const char *det, const char *task, TDirectory *&dirFile, TObjArray **&dirOCDB)
DETECTORINDEX_t
Definition: AliQAv1.h:23
TASKINDEX_t
Definition: AliQAv1.h:30
Float_t * fLowTestValue
Entry in OCDB for the current detector.
static Int_t AConvert(EventSpecie_t es)
Double_t DiffC(const TH1 *href, const TH1 *hin) const
TList * GetExternParamlist()
static AliQAv1 * Instance()
Definition: AliQAv1.cxx:585
TCanvas * GetImage(AliRecoParam::EventSpecie_t es)