]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliQAChecker.h
Implementation of QA on correlated data among detectors
[u/mrichter/AliRoot.git] / STEER / AliQAChecker.h
1 #ifndef ALIQAChecker_H
2 #define ALIQAChecker_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //
9 // class for running the Quality Assurance Checker
10 // to run type:
11 //   AliQAChecker qac;
12 //   qac.Run();
13 //   qac.SelectDetectors("list of detectors") ; 
14 //   qac.SelectTargets("list of targets among Hits, Digits, ESD") ; 
15 //
16
17 #include <TNamed.h>
18 #include <TFile.h>  
19
20 #include "AliQA.h"
21 class AliCDBEntry ; 
22 class AliRunInfo ;
23 class AliQACheckerBase ; 
24
25 class AliQAChecker: public TNamed {
26 public:
27   AliQAChecker(const char* name = "AliQAChecker", 
28                     const char* title = "Quality Assurance checker for Raws, Hits, Digits and ESDs");
29   AliQAChecker(const AliQAChecker& qac);
30   AliQAChecker& operator = (const AliQAChecker& qac);
31   virtual ~AliQAChecker();
32
33   static  AliQAChecker * Instance() ;
34   AliQACheckerBase *     GetDetQAChecker(Int_t det) ; 
35   void                   GetRefSubDir(const char * det, const char * task, TDirectory *& dirFile, TObjArray *& dirOCDB) ;
36 //  static TFile *         GetQAResultFile() ;
37 //  static const char *    GetQAResultFileName() { return fgQAResultFileName.Data() ; }
38 //  void                   SetQAResultDirName(const char * name) ; 
39 //  void                   SetRefDirName(const char * name) ; 
40
41   virtual Bool_t Run(const char * fileName = NULL) ;
42   virtual Bool_t Run(AliQA::DETECTORINDEX_t det, AliQA::TASKINDEX_t task, TObject * obj = NULL);
43   void SetRunInfo(AliRunInfo * ei) {fRunInfo = ei;}
44
45 private:
46
47   void LoadRunInfoFromGRP() ; 
48
49   static AliQAChecker *fgQAChecker ;             // pointer to the instance of the singleton
50   TFile *              fDataFile ;               //! Data file to check
51   AliRunInfo *       fRunInfo ;              //! Event info object 
52   Bool_t               fRunInfoOwner;          //! owns fRunInfo or not
53   TFile *              fRefFile ;                //! Reference Data file 
54   TString              fFoundDetectors ;         //! detectors for which the Quality assurance could be done
55   AliQACheckerBase *   fCheckers[AliQA::kNDET] ; //! list of detectors checkers
56   ClassDef(AliQAChecker, 1)  // class for running generation, simulation and digitization
57 };
58 #endif