]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliQAChecker.h
Fixes for bug #52499: Field polarities inconsistiency
[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 class TNtupleD ;
20
21 #include "AliQAv1.h"
22 #include "AliRecoParam.h"
23 class AliCDBEntry ; 
24 class AliRunInfo ;
25 class AliQACheckerBase ; 
26
27 class AliQAChecker: public TNamed {
28 public:
29   AliQAChecker(const char* name = "AliQAChecker", 
30                     const char* title = "Quality Assurance checker for Raws, Hits, Digits and ESDs");
31   AliQAChecker(const AliQAChecker& qac);
32   AliQAChecker& operator = (const AliQAChecker& qac);
33   virtual  ~AliQAChecker();
34
35   static  AliQAChecker *     Instance() ;
36   AliQACheckerBase *         GetDetQAChecker(Int_t det) ; 
37   void                       GetRefSubDir(const char * det, const char * task, TDirectory *& dirFile, TObjArray **& dirOCDB) ;
38 //  static TFile *         GetQAResultFile() ;
39 //  static const char *    GetQAResultFileName() { return fgQAResultFileName.Data() ; }
40 //  void                   SetQAResultDirName(const char * name) ; 
41 //  void                   SetRefDirName(const char * name) ; 
42   Bool_t Run(const char * fileName = NULL, Int_t runnumber = 0) ;
43   Bool_t Run(AliQAv1::DETECTORINDEX_t det, AliQAv1::TASKINDEX_t task, TObjArray ** list);
44   Bool_t Run(AliQAv1::DETECTORINDEX_t det, AliQAv1::TASKINDEX_t task, TNtupleD ** list);
45   void   SetRunInfo(AliRunInfo * ei) {fRunInfo = ei;}
46   Int_t  GetRunNumber() { return fRun ; } 
47   void   SetRunNumber(Int_t run) { fRun = run ; } 
48
49 private:
50
51   void LoadRunInfoFromGRP() ; 
52
53   static AliQAChecker *       fgQAChecker ;             // pointer to the instance of the singleton
54   TFile *                     fDataFile ;               //! Data file to check
55   AliRunInfo *                fRunInfo ;                //! Event info object 
56   Bool_t                      fRunInfoOwner;            //! owns fRunInfo or not
57   TFile *                     fRefFile ;                //! Reference Data file 
58   TString                     fFoundDetectors ;         //! detectors for which the Quality assurance could be done
59   AliQACheckerBase *          fCheckers[AliQAv1::kNDET] ; //! list of detectors checkers
60   AliRecoParam::EventSpecie_t fEventSpecie ;            //! event specie deduced from the GRP data
61         Int_t                       fRun ;                    //! run number
62   ClassDef(AliQAChecker, 1)  // class for running generation, simulation and digitization
63 };
64 #endif