AliRoot Core  3dc7879 (3dc7879)
AliQAManager.h
Go to the documentation of this file.
1 #ifndef ALIQAMANAGER_H
2 #define ALIQAMANAGER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /* $Id: AliQAManager.h 30796 2009-01-28 11:05:10Z schutz $ */
7 
9 // //
10 // class for running the QA makers //
11 // //1
12 // AliQAManager qas; //
13 // qas.Run(AliQAv1::kRAWS, rawROOTFileName); //
14 // qas.Run(AliQAv1::kHITS); //
15 // qas.Run(AliQAv1::kSDIGITS); //
16 // qas.Run(AliQAv1::kDIGITS); //
17 // qas.Run(AliQAv1::kRECPOINTS); //
18 // qas.Run(AliQAv1::kESDS); //
19 // //
21 
22 #include <TNamed.h>
23 #include "AliQAv1.h"
24 #include "AliLoader.h"
25 #include "AliCDBManager.h"
26 #include "AliRecoParam.h"
27 #include "AliEventInfo.h"
28 
29 class TCanvas ;
30 class AliESDEvent ;
31 class AliDetectorRecoParam ;
32 class AliESDEvent ;
33 class AliQADataMaker ;
34 class AliRawReader ;
35 class AliRunLoader ;
37 
38 class AliQAManager : public AliCDBManager {
39 public:
40  static void Destroy() ;
41  void EndOfCycle(TObjArray * detArray=0x0) ;
42  void EndOfCycle(TString detectors) ;
43  UInt_t GetCurrentEvent() const { return fCurrentEvent ; }
44  TObjArray * GetFromOCDB(AliQAv1::DETECTORINDEX_t det, AliQAv1::TASKINDEX_t task, const Char_t * year) const ;
45  const AliEventInfo * GetEventInfo() const { return fEventInfo ; }
47  TCanvas ** GetImage(Char_t * detName) ;
48  const Char_t * GetMode(){ return fMode.Data() ; }
49  AliQAv1 * GetQA(UInt_t run, UInt_t evt) ;
50  AliQADataMaker * GetQADataMaker(const Int_t iDet) ;
52  void InitQADataMaker(UInt_t run, TObjArray * detArray=0x0) ;
53  Bool_t IsSaveData() { return fSaveData ; }
54  Bool_t IsSelected(const Char_t * detName) ;
55  Bool_t Merge(Int_t runNumber = -1, const char *fileName = NULL) const ;
56  void MergeCustom() const ;
57  Bool_t MergeXML(const Char_t * collection, const Char_t * subFile = 0, const Char_t * outFile = 0) ;
58  static AliQAManager * QAManager(AliQAv1::MODE_t = AliQAv1::kNULLMODE, TMap *entryCache = NULL, Int_t run = -1) ;
60  void Reset(const Bool_t sameCycle = kFALSE) ;
62  TString Run(const Char_t * detectors, const AliQAv1::TASKINDEX_t taskIndex=AliQAv1::kNULLTASKINDEX, Bool_t const sameCycle = kFALSE, const Char_t * fileName = NULL) ;
63  TString Run(const Char_t * detectors, AliRawReader * rawReader, Bool_t const sameCycle = kFALSE) ;
64  TString Run(const Char_t * detectors, const Char_t * filename, Bool_t const sameCycle = kFALSE) ;
65  void RunOneEvent(AliRawReader * rawReader) ;
66  void RunOneEventInOneDetector(Int_t det, TTree * tree) ;
67  void RunOneEvent(AliESDEvent *& esd, AliESDEvent *& hltesd) ;
68  Bool_t Save2OCDB(const Int_t runNumber, AliRecoParam::EventSpecie_t es, const Char_t * year = "08", const Char_t * detectors = "ALL") const ;
69  void SetActiveDetectors(TString aDet) { fDetectors = aDet ; }
70  void SetActiveOnlineDetectors(TString aDet) { fActiveOnlineDetectors = aDet ; }
71  void SetCheckerExternParam(AliQAv1::DETECTORINDEX_t det, TList * parameterList) ;
72  void SetCycleLength(const AliQAv1::DETECTORINDEX_t det, const Int_t cycle) { fQACycles[det] = cycle ; }
73  void SetWriteExpert(const AliQAv1::DETECTORINDEX_t det) { fQAWriteExpert[det] = kTRUE ; }
75  void SetEventRange(UInt_t first, UInt_t last) { fFirstEvent = first ; fMaxEvents = last - first + 1 ; }
77  void SetFirsEvent(UInt_t first) { fFirstEvent = first ; }
78  void SetMaxEvents(UInt_t max) { fMaxEvents = max ; }
79  void SetNewCycle() { fCycleSame = kTRUE ; }
80  void SetPrintImage(Bool_t opt = kTRUE) { fPrintImage = opt ; }
81  void SetRecoParam(const Int_t det, const AliDetectorRecoParam *par) ;
82  void SetRunLoader(AliRunLoader * rl) { fRunLoader = rl ; }
83  void SetSaveData(Bool_t opt = kTRUE ) { fSaveData = opt ; }
84  void SetTasks(TString tasks) { fTasks = tasks ; }
85  void SetWriteExpert() ;
86  void ShowQA() ;
87 
88 private:
89  AliQAManager() ;
90  AliQAManager(AliQAv1::MODE_t mode, const Char_t * gAliceFilename = "galice.root") ;
91  AliQAManager(const AliQAManager & qas) ;
92  AliQAManager & operator = (const AliQAManager & qas) ;
93  ~AliQAManager() ;
94 
95  Bool_t DoIt(const AliQAv1::TASKINDEX_t taskIndex) ;
96  AliLoader * GetLoader(Int_t iDet) ;
97  Int_t GetQACycles(const Int_t iDet) const { return fQACycles[iDet] ; }
98  Bool_t InitQA(const AliQAv1::TASKINDEX_t taskIndex, const Char_t * fileName = NULL) ;
99  Bool_t InitRunLoader() ;
100  Bool_t Finish(const AliQAv1::TASKINDEX_t taskIndex) ;
101  Bool_t MergeData(const Int_t runNumber, const char *fileName = NULL) const ;
102  Bool_t MergeResults(const Int_t runNumber) const ;
103  Bool_t SaveIt2OCDB(const Int_t runNumber, TFile * inputFile, const Char_t * year, AliRecoParam::EventSpecie_t es) const ;
104 
105  static AliQAManager* fgQAInstance; // AliQAManager instance
106  UInt_t fCurrentEvent ;
107  Bool_t fCycleSame ;
108  TString fDetectors ;
109  TString fDetectorsW ;
111  TTree * fESDTree ;
113  TString fGAliceFileName ;
114  UInt_t fFirstEvent ;
115  Long64_t fMaxEvents ;
116  TString fMode ;
117  Long64_t fNumberOfEvents ;
119  UInt_t fRunNumber ;
120  AliRawReader * fRawReader ;
123  TString fTasks ;
124  static const UInt_t fgkNDetectors = AliQAv1::kNDET ;
130  Bool_t fPrintImage ;
131  Bool_t fSaveData ;
133  ClassDef(AliQAManager, 3) // class for running the QA makers
134 };
135 
136 #endif
static AliQAManager * fgQAInstance
Definition: AliQAManager.h:105
AliQAv1 * GetQA(UInt_t run, UInt_t evt)
TString fDetectorsW
list of active detectors
Definition: AliQAManager.h:109
Bool_t fRawReaderDelete
current raw reader object
Definition: AliQAManager.h:121
void SetEventInfo(AliEventInfo *info)
Definition: AliQAManager.h:74
AliQAManager & operator=(const AliQAManager &qas)
TString fGAliceFileName
info on the current event
Definition: AliQAManager.h:113
static AliQAManager * QAManager(AliQAv1::MODE_t=AliQAv1::kNULLMODE, TMap *entryCache=NULL, Int_t run=-1)
const Char_t * GetMode()
Definition: AliQAManager.h:48
Int_t fQACycles[fgkNDetectors]
array of QA data maker objects
Definition: AliQAManager.h:127
void Increment(const AliQAv1::TASKINDEX_t taskIndex=AliQAv1::kNULLTASKINDEX)
Long64_t fMaxEvents
first event to process
Definition: AliQAManager.h:115
Int_t year
year for detector configuration
Definition: Config.C:96
Long64_t fNumberOfEvents
sim or rec
Definition: AliQAManager.h:117
#define TObjArray
void SetCheckerExternParam(AliQAv1::DETECTORINDEX_t det, TList *parameterList)
Bool_t Save2OCDB(const Int_t runNumber, AliRecoParam::EventSpecie_t es, const Char_t *year="08", const Char_t *detectors="ALL") const
Bool_t MergeData(const Int_t runNumber, const char *fileName=NULL) const
void SetEventSpecie(AliRecoParam::EventSpecie_t es)
UInt_t fRunNumber
container for the reco-param objects for detectors
Definition: AliQAManager.h:119
void InitQADataMaker(UInt_t run, TObjArray *detArray=0x0)
Bool_t MergeResults(const Int_t runNumber) const
void RunOneEventInOneDetector(Int_t det, TTree *tree)
void MergeCustom() const
TCanvas ** GetImage(Char_t *detName)
AliLoader * GetLoader(Int_t iDet)
void SetWriteExpert(const AliQAv1::DETECTORINDEX_t det)
Definition: AliQAManager.h:73
void SetNewCycle()
Definition: AliQAManager.h:79
MODE_t
Definition: AliQAv1.h:32
static void Destroy()
AliQADataMaker * GetQADataMaker(const Int_t iDet)
Bool_t Merge(Int_t runNumber=-1, const char *fileName=NULL) const
Bool_t DoIt(const AliQAv1::TASKINDEX_t taskIndex)
Bool_t fSaveData
flag to print the images or not
Definition: AliQAManager.h:131
Bool_t fCycleSame
event counter
Definition: AliQAManager.h:107
AliRawReader * fRawReader
current run number
Definition: AliQAManager.h:120
void SetTasks(TString tasks)
Definition: AliQAManager.h:84
TString fileName(const char *dir, int runNumber, const char *da, int i, const char *type)
void SetSaveData(Bool_t opt=kTRUE)
Definition: AliQAManager.h:83
AliExternalInfo info
Bool_t InitRunLoader()
Bool_t SaveIt2OCDB(const Int_t runNumber, TFile *inputFile, const Char_t *year, AliRecoParam::EventSpecie_t es) const
UInt_t GetCurrentEvent() const
Definition: AliQAManager.h:43
void SetFirsEvent(UInt_t first)
Definition: AliQAManager.h:77
Bool_t MergeXML(const Char_t *collection, const Char_t *subFile=0, const Char_t *outFile=0)
void SetEventRange(UInt_t first, UInt_t last)
Definition: AliQAManager.h:75
TTree * tree
void Reset(const Bool_t sameCycle=kFALSE)
Bool_t InitQA(const AliQAv1::TASKINDEX_t taskIndex, const Char_t *fileName=NULL)
Bool_t IsSaveData()
Definition: AliQAManager.h:53
void SetActiveDetectors(TString aDet)
Definition: AliQAManager.h:69
Bool_t IsSelected(const Char_t *detName)
UInt_t fCurrentEvent
Definition: AliQAManager.h:106
AliRunLoader * fRunLoader
tells if the rawReader has been created by this
Definition: AliQAManager.h:122
void SetMaxEvents(UInt_t max)
Definition: AliQAManager.h:78
TString fActiveOnlineDetectors
flag to sve the QA data or not
Definition: AliQAManager.h:132
TString Run(const Char_t *detectors, const AliQAv1::TASKINDEX_t taskIndex=AliQAv1::kNULLTASKINDEX, Bool_t const sameCycle=kFALSE, const Char_t *fileName=NULL)
AliLoader * fLoader[fgkNDetectors]
number of detectors
Definition: AliQAManager.h:125
TTree * fESDTree
current ESD
Definition: AliQAManager.h:111
Bool_t fQAWriteExpert[fgkNDetectors]
array of QA cycle length
Definition: AliQAManager.h:128
AliESDEvent * fESD
list of active detectors with QA implemented
Definition: AliQAManager.h:110
AliRecoParam::EventSpecie_t fEventSpecie
array of QA cycle length
Definition: AliQAManager.h:129
TString fTasks
current run loader object
Definition: AliQAManager.h:123
AliRecoParam::EventSpecie_t GetEventSpecieFromESD()
Int_t GetQACycles(const Int_t iDet) const
Definition: AliQAManager.h:97
TString fMode
number of events to process
Definition: AliQAManager.h:116
UInt_t fFirstEvent
name of the galice file
Definition: AliQAManager.h:114
Bool_t Finish(const AliQAv1::TASKINDEX_t taskIndex)
DETECTORINDEX_t
Definition: AliQAv1.h:23
void SetRecoParam(const Int_t det, const AliDetectorRecoParam *par)
TASKINDEX_t
Definition: AliQAv1.h:30
static const UInt_t fgkNDetectors
list of QA tasks to be performed
Definition: AliQAManager.h:124
void SetRunLoader(AliRunLoader *rl)
Definition: AliQAManager.h:82
static Int_t runNumber
Definition: pdc06_config.C:126
Bool_t fPrintImage
type of event
Definition: AliQAManager.h:130
TObjArray * GetFromOCDB(AliQAv1::DETECTORINDEX_t det, AliQAv1::TASKINDEX_t task, const Char_t *year) const
void RunOneEvent(AliRawReader *rawReader)
TString fDetectors
true if 2 consecutive data making for a same detector
Definition: AliQAManager.h:108
AliEventInfo * fEventInfo
current ESD Tree
Definition: AliQAManager.h:112
void ResetDetectors(AliQAv1::TASKINDEX_t task, AliQAv1::DETECTORINDEX_t det=AliQAv1::kNULLDET)
AliRecoParam fRecoParam
number of events in the run
Definition: AliQAManager.h:118
const AliEventInfo * GetEventInfo() const
Definition: AliQAManager.h:45
void SetWriteExpert()
void SetActiveOnlineDetectors(TString aDet)
Definition: AliQAManager.h:70
void EndOfCycle(TObjArray *detArray=0x0)
void SetPrintImage(Bool_t opt=kTRUE)
Definition: AliQAManager.h:80
void SetCycleLength(const AliQAv1::DETECTORINDEX_t det, const Int_t cycle)
Definition: AliQAManager.h:72
AliQADataMaker * fQADataMaker[fgkNDetectors]
array of detectors loader
Definition: AliQAManager.h:126