]>
Commit | Line | Data |
---|---|---|
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 | 19 | class TCanvas ; |
421ab0fb | 20 | class TFile ; |
a5fa6165 | 21 | class TH1 ; |
4edbc5bc | 22 | class TObjArray ; |
4b2b2b55 | 23 | class TDirectory ; |
a2b64fbd | 24 | class TNtupleD ; |
97e39ad0 | 25 | class AliDetectorRecoParam ; |
421ab0fb | 26 | |
27 | // --- Standard library --- | |
28 | ||
29 | // --- AliRoot header files --- | |
30 | ||
2e42b4d4 | 31 | class AliQACheckerBase: public TNamed { |
421ab0fb | 32 | |
33 | public: | |
2e42b4d4 | 34 | AliQACheckerBase(const char * name = "", const char * title = "") ; // ctor |
35 | AliQACheckerBase(const AliQACheckerBase& qac) ; | |
36 | AliQACheckerBase& operator = (const AliQACheckerBase& qac) ; | |
57acd2d2 | 37 | virtual ~AliQACheckerBase() ; // dtor |
c39ee44c | 38 | |
634696f5 | 39 | TCanvas ** GetImage() { return fImage ; } |
40 | TCanvas * GetImage(AliRecoParam::EventSpecie_t es) { return fImage[AliRecoParam::AConvert(es)] ; } | |
4e25ac79 | 41 | virtual void Init(const AliQAv1::DETECTORINDEX_t det) { AliQAv1::Instance(det) ; } |
634696f5 | 42 | virtual void MakeImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode) ; |
97e39ad0 | 43 | void Run(AliQAv1::ALITASK_t tsk, AliDetectorRecoParam * recoParam = NULL); |
44 | void Run(AliQAv1::ALITASK_t tsk, TObjArray ** list, AliDetectorRecoParam * recoParam = NULL); | |
215740b1 | 45 | void Run(AliQAv1::ALITASK_t /*tsk*/, TNtupleD ** /*nt*/, AliDetectorRecoParam * /*recoParam*/) {;} |
57acd2d2 | 46 | void SetHiLo(Float_t * hiValue, Float_t * lowValue) ; |
634696f5 | 47 | void SetPrintImage(Bool_t opt = kTRUE) { fPrintImage = opt ; } |
57acd2d2 | 48 | void SetRefandData(TDirectory * ref, TObjArray ** refOCDB, TDirectory * data=NULL) { fRefSubDir = ref ; fRefOCDBSubDir = refOCDB, fDataSubDir = data ; } |
421ab0fb | 49 | |
50 | protected: | |
5ef8710d | 51 | virtual Double_t * Check(AliQAv1::ALITASK_t, TObjArray **, AliDetectorRecoParam * recoParam) ; |
57acd2d2 | 52 | |
53 | Double_t DiffC(const TH1 * href, const TH1 * hin) const ; | |
54 | Double_t DiffK(const TH1 * href, const TH1 * hin) const ; | |
55 | void Finish() const ; | |
4e25ac79 | 56 | virtual void SetQA(AliQAv1::ALITASK_t index, Double_t * value) const ; |
57acd2d2 | 57 | |
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 | |
634696f5 | 63 | TCanvas ** fImage ;//[AliRecoParam::kNSpecies] |
64 | Bool_t fPrintImage ;//! flag to print the images or not | |
421ab0fb | 65 | |
eedcd663 | 66 | private: |
67 | Double_t * Check(AliQAv1::ALITASK_t index, AliDetectorRecoParam * recoParam) ; | |
68 | ||
634696f5 | 69 | ClassDef(AliQACheckerBase,2) // description |
421ab0fb | 70 | |
71 | }; | |
72 | ||
73 | #endif // AliQUALASSCHECKERBASE_H |