remove WARNING
[u/mrichter/AliRoot.git] / STEER / STEER / AliQACheckerBase.h
CommitLineData
2e42b4d4 1#ifndef ALIQACHECKERBASE_H
2#define ALIQACHECKERBASE_H
421ab0fb 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
202374b1 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//
421ab0fb 14
15
16// --- ROOT system ---
17#include <TNamed.h>
4e25ac79 18#include "AliQAv1.h"
634696f5 19class TCanvas ;
421ab0fb 20class TFile ;
a5fa6165 21class TH1 ;
4edbc5bc 22class TObjArray ;
4b2b2b55 23class TDirectory ;
a2b64fbd 24class TNtupleD ;
97e39ad0 25class AliDetectorRecoParam ;
11a18a03 26class TList ;
421ab0fb 27
28// --- Standard library ---
29
30// --- AliRoot header files ---
31
2e42b4d4 32class AliQACheckerBase: public TNamed {
421ab0fb 33
34public:
2e42b4d4 35 AliQACheckerBase(const char * name = "", const char * title = "") ; // ctor
36 AliQACheckerBase(const AliQACheckerBase& qac) ;
37 AliQACheckerBase& operator = (const AliQACheckerBase& qac) ;
57acd2d2 38 virtual ~AliQACheckerBase() ; // dtor
c39ee44c 39
a4e305ee 40 void DeleteImages() ;
11a18a03 41 TList * GetExternParamlist() { return fExternParamList ;}
634696f5 42 TCanvas ** GetImage() { return fImage ; }
43 TCanvas * GetImage(AliRecoParam::EventSpecie_t es) { return fImage[AliRecoParam::AConvert(es)] ; }
4e25ac79 44 virtual void Init(const AliQAv1::DETECTORINDEX_t det) { AliQAv1::Instance(det) ; }
634696f5 45 virtual void MakeImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode) ;
11a18a03 46 void PrintExternParam() ;
9025307b 47 void Run(AliQAv1::ALITASK_t tsk, const AliDetectorRecoParam * recoParam = NULL);
48 void Run(AliQAv1::ALITASK_t tsk, TObjArray ** list, const AliDetectorRecoParam * recoParam = NULL);
49 void Run(AliQAv1::ALITASK_t /*tsk*/, TNtupleD ** /*nt*/, const AliDetectorRecoParam * /*recoParam*/) {;}
11a18a03 50 void SetExternParamlist(TList * list) { fExternParamList = list ;}
57acd2d2 51 void SetHiLo(Float_t * hiValue, Float_t * lowValue) ;
634696f5 52 void SetPrintImage(Bool_t opt = kTRUE) { fPrintImage = opt ; }
421ab0fb 53
54protected:
a7e91ced 55 virtual void Check(Double_t *rv, AliQAv1::ALITASK_t, TObjArray ** list, const AliDetectorRecoParam * recoParam=0) ;
57acd2d2 56
57 Double_t DiffC(const TH1 * href, const TH1 * hin) const ;
58 Double_t DiffK(const TH1 * href, const TH1 * hin) const ;
59 void Finish() const ;
86017bd8 60 void GetRefSubDir(const char * det, const char * task, TDirectory *& dirFile, TObjArray **& dirOCDB) ;
4e25ac79 61 virtual void SetQA(AliQAv1::ALITASK_t index, Double_t * value) const ;
57acd2d2 62
63 TDirectory * fDataSubDir ; //! directory for the current task directory in the current detector directory in the data file
64 TDirectory * fRefSubDir ; //! directory for the current task directory in the current detector directory in the reference file
65 TObjArray ** fRefOCDBSubDir ; //! Entry in OCDB for the current detector
66 Float_t * fLowTestValue ; // array of lower bounds for INFO, WARNING, ERROR, FATAL
67 Float_t * fUpTestValue ; // array of upper bounds for INFO, WARNING, ERROR, FATAL
11a18a03 68 TCanvas ** fImage ; //[AliRecoParam::kNSpecies]
69 Bool_t fPrintImage ; //! flag to print the images or not
70 TList * fExternParamList; //List of external parameters (TParameter<double>)
421ab0fb 71
eedcd663 72private:
75a8b78a 73 void PrivateCheck(Double_t * rv, AliQAv1::ALITASK_t index, const AliDetectorRecoParam * recoParam) ;
eedcd663 74
11a18a03 75 ClassDef(AliQACheckerBase,3) // description
421ab0fb 76
77};
78
79#endif // AliQUALASSCHECKERBASE_H