// --- 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 ---
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_t det) ;
- void Run(AliQA::ALITASK_t tsk, TObject * obj = NULL);
- void SetRefandData(TDirectory * ref, TObjArray * refOCDB, TDirectory * data=NULL) { fRefSubDir = ref ; fRefOCDBSubDir = refOCDB, 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 Double_t Check(AliQA::ALITASK_t index) ;
- virtual Double_t Check(AliQA::ALITASK_t, TObjArray *) ;
- virtual Double_t Check(AliQA::ALITASK_t, TNtupleD *) { return -1.0 ;}
- Double_t DiffC(const TH1 * href, const TH1 * hin) const ;
- Double_t DiffK(const TH1 * href, const TH1 * hin) const ;
- void Finish() const ;
- virtual void SetQA(AliQA::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
-
- ClassDef(AliQACheckerBase,1) // description
+ 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>)
+
+private:
+ void Check(Double_t * rv, AliQAv1::ALITASK_t index, const AliDetectorRecoParam * recoParam) ;
+
+ ClassDef(AliQACheckerBase,3) // description
};