ROOT logo
AliRoot » STEER » STEERBASE » AliQA

class AliQA: public TNamed


 Quality Assurance Object//_________________________________________________________________________
 Quality Assurance object. The QA status is held in one word per detector,
 each bit corresponds to a different status.
 bit 0-3   : QA raised during simulation      (RAW)
 bit 4-7   : QA raised during simulation      (SIM)
 bit 8-11  : QA raised during reconstruction  (REC)
 bit 12-15 : QA raised during ESD checking    (ESD)
 bit 16-19 : QA raised during analysis        (ANA)
 Each of the 4 bits corresponds to a severity level of increasing importance
 from lower to higher bit (INFO, WARNING, ERROR, FATAL)

*-- Yves Schutz CERN, July 2007

Function Members (Methods)

public:
AliQA()
AliQA(const AliQA::ALITASK_t tsk)
AliQA(const AliQA::DETECTORINDEX_t det)
AliQA(const AliQA& qa)
virtual~AliQA()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Bool_tCheckFatal() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
static voidClose()
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static char*GetAliTaskName(AliQA::ALITASK_t tsk)
static AliQA::DETECTORINDEX_tGetDetIndex(const char* name)
static const TStringGetDetName(AliQA::DETECTORINDEX_t det)
static const char*GetDetName(Int_t det)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
static const TStringGetExpert()
static UInt_tGetExpertBit()
static const TStringGetGRPPath()
virtual const char*TObject::GetIconName() const
static const TStringGetLabAliEnOCDB()
static const TStringGetLabLocalFile()
static const TStringGetLabLocalOCDB()
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
static UInt_tGetQABit()
static const char*GetQACorrName()
static TFile*GetQADataFile(const char* fileName)
static TFile*GetQADataFile(const char* name, const Int_t run)
static const char*GetQADataFileName()
static const char*GetQADataFileName(const char* name, const Int_t run)
static const char*GetQAName()
static const char*GetQARefDefaultStorage()
static const char*GetQARefFileName()
static const char*GetQARefStorage()
static TFile*GetQAResultFile()
static const char*GetQAResultFileName()
static const char*GetRefDataDirName()
static const char*GetRefOCDBDirName()
static const TStringGetRunTypeName(AliQA::RUNTYPE_t rt = kNULLTYPE)
static AliQA::TASKINDEX_tGetTaskIndex(const char* name)
static const TStringGetTaskName(UInt_t tsk)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
static AliQA*Instance()
static AliQA*Instance(const AliQA::DETECTORINDEX_t det)
static AliQA*Instance(const AliQA::ALITASK_t tsk)
static AliQA*Instance(const AliQA::TASKINDEX_t tsk)
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsSet(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk, AliQA::QABIT_t bit) const
Bool_tIsSetAny(AliQA::DETECTORINDEX_t det) const
Bool_tIsSetAny(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk) const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
Long64_tMerge(const TCollection* list)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliQA&operator=(const AliQA& qa)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSet(AliQA::QABIT_t bit)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
static voidSetQARefDataDirName(AliQA::RUNTYPE_t rt)
static voidSetQARefDataDirName(const char* name)
static voidSetQARefStorage(const char* name)
static voidSetQAResultDirName(const char* name)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidShow() const
voidShow(AliQA::DETECTORINDEX_t det) const
voidShowAll() const
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUnSet(AliQA::QABIT_t bit)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
Bool_tCheckRange(AliQA::DETECTORINDEX_t det) const
Bool_tCheckRange(AliQA::ALITASK_t tsk) const
Bool_tCheckRange(AliQA::QABIT_t bit) const
voidFinish() const
char*GetBitName(AliQA::QABIT_t bit) const
ULong_tGetStatus(AliQA::DETECTORINDEX_t det) const
ULong_tOffset(AliQA::ALITASK_t tsk) const
voidResetStatus(AliQA::DETECTORINDEX_t det)
voidSet(AliQA::DETECTORINDEX_t det)
voidSet(AliQA::ALITASK_t tsk)
voidSetStatus(AliQA::DETECTORINDEX_t det, UShort_t status)
voidSetStatusBit(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk, AliQA::QABIT_t bit)
voidShowASCIIStatus(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk, ULong_t status) const
voidShowStatus(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk = kNULLTASK) const
voidUnSetStatusBit(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk, AliQA::QABIT_t bit)

Data Members

public:
enum DETECTORINDEX_t { kNULLDET
kITS
kTPC
kTRD
kTOF
kPHOS
kHMPID
kEMCAL
kMUON
kFMD
kZDC
kPMD
kT0
kVZERO
kACORDE
kHLT
kGLOBAL
kCORR
kNDET
kMFT
};
enum ALITASK_t { kNULLTASK
kRAW
kSIM
kREC
kESD
kANA
kNTASK
};
enum QABIT_t { kNULLBit
kINFO
kWARNING
kERROR
kFATAL
kNBIT
};
enum RUNTYPE_t { kNULLTYPE
kUNKOWN
kAUTOTEST
kCALIBRATION
kCALIBRATIONPULSER
kCHANNELDELAYTUNING
kCOSMIC
kCOSMICS
kDAQFOUNIFSCAN
kDAQGENDACSCAN
kDAQMEANTHSCAN
kDAQMINTHSCAN
kDAQNOISYPIXSCAN
kDAQPIXDELAYSCAN
kDAQUNIFORMITYSCAN
kDCSFOUNIFSCAN
kDCSMEANTHSCAN
kDCSMINTHSCAN
kDCSPIXDELAYSCAN
kDCSUNIFORMITYSCAN
kDDLTEST
kGAIN
kPEDESTAL
kINJECTOR
kLASER
kMONTECARLO
kNOISE
kNOISYPIXSCAN
kPHYSICS
kPULSER
kSTANDALONE
kSTANDALONEBC
kSTANDALONECENTRAL
kSTANDALONECOSMIC
kSTANDALONEEMD
kSTANDALONELASER
kSTANDALONEMB
kSTANDALONEPEDESTAL
kSTANDALONESEMICENTRAL
kSTANDALONEPULSER
kNTYPE
};
enum TASKINDEX_t { kNULLTASKINDEX
kRAWS
kHITS
kSDIGITS
kDIGITS
kRECPOINTS
kTRACKSEGMENTS
kRECPARTICLES
kESDS
kNTASKINDEX
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
AliQA::DETECTORINDEX_tfDet! the current detector (ITS, TPC, ....)
Int_tfNdetnumber of detectors
ULong_t*fQA[fNdet] the status word 4 bits for SIM, REC, ESD, ANA each
AliQA::ALITASK_tfTask! the current environment (SIM, REC, ESD, ANA)
static TStringfgDetNames[2147483647]! list of detector names
static TStringfgGRPPath! path of the GRP object in OCDB
static AliQA*fgQApointer to the instance of the singleton
static TFile*fgQADataFile! the output file where the quality assurance maker store their results
static TStringfgQADataFileName! the name of the file where the quality assurance maker store their results
static TStringfgQARefDirName! name of directory where to find the reference data file
static TFile*fgQARefFile! the output file where the quality assurance maker store their results
static TStringfgQARefFileName! file name where to find the reference data
static TStringfgQAResultDirName! the location of the output file where the QA results are stored
static TFile*fgQAResultFile! File where to find the QA result
static TStringfgQAResultFileName! the output file where the QA results are stored
static TStringfgRTNames[2147483647]! list of Run Type names
static TStringfgTaskNames[2147483647]! list of tasks names
static const TStringfgkExpert! name for the expert directory
static const UInt_tfgkExpertBit! TObject bit identifing the object as "expert"
static const TStringfgkLabAliEnOCDB! label to identify a file as AliEn OCDB
static const TStringfgkLabLocalFile! label to identify a file as local
static const TStringfgkLabLocalOCDB! label to identify a file as local OCDB
static const UInt_tfgkQABit! bit in the QA data object which is set when Checker does not return 0
static const TStringfgkQACorrNtName! name of QA Correlation Ntuple
static const TStringfgkQAName! name of QA object
static const TStringfgkQARefOCDBDefault! default storage for QA in OCDB
static TStringfgkRefDataDirName! name of Reference directory name in OCDB for data
static const TStringfgkRefFileName! name of Reference File Name
static const TStringfgkRefOCDBDirName! name of Reference directory name in OCDB

Class Charts

Inheritance Chart:
TNamed
AliQA

Function documentation

AliQA()
 default constructor
 beware singleton: not to be used
AliQA(const AliQA& qa)
 cpy ctor
AliQA(const DETECTORINDEX_t det)
 constructor to be used
AliQA(const ALITASK_t tsk)
 constructor to be used in the AliRoot module (SIM, REC, ESD or ANA)
~AliQA()
 dtor
void Close()
 close the open files
Bool_t CheckFatal() const
 check if any FATAL status is set
Bool_t CheckRange(DETECTORINDEX_t det)
 check if detector is in given detector range: 0-kNDET
Bool_t CheckRange(ALITASK_t task)
 check if task is given taskk range: 0:kNTASK
Bool_t CheckRange(QABIT_t bit)
 check if bit is in given bit range: 0-kNBit
char * GetAliTaskName(AliQA::ALITASK_t tsk)
 returns the char name corresponding to module index
char * GetBitName(AliQA::QABIT_t bit) const
 returns the char name corresponding to bit
const char * GetDetName(Int_t det)
 returns the detector name corresponding to a given index (needed in a loop)
TFile * GetQADataFile(const char* name, const Int_t run)
 opens the file to store the detectors Quality Assurance Data Maker results
TFile * GetQADataFile(const char* fileName)
 Open if necessary the Data file and return its pointer
TFile * GetQAResultFile()
 opens the file to store the  Quality Assurance Data Checker results
const TString GetRunTypeName(AliQA::RUNTYPE_t rt = kNULLTYPE)
 returns the name of a run type
Bool_t IsSet(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk, AliQA::QABIT_t bit) const
 Checks is the requested bit is set
Bool_t IsSetAny(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk) const
 Checks is the requested bit is set
Bool_t IsSetAny(AliQA::DETECTORINDEX_t det) const
 Checks is the requested bit is set
AliQA * Instance()
 Get an instance of the singleton.
 Object must have been instantiated with Instance(ALITASK) first
AliQA * Instance(const DETECTORINDEX_t det)
 Get an instance of the singleton. The only authorized way to call the ctor
AliQA * Instance(const ALITASK_t tsk)
 get an instance of the singleton.
AliQA * Instance(const TASKINDEX_t tsk)
 get an instance of the singleton.
Long64_t Merge(const TCollection* list)
 Merge the QA resuls in the list into this single AliQA object
ULong_t Offset(AliQA::ALITASK_t tsk) const
 Calculates the bit offset for a given module (SIM, REC, ESD, ANA)
void Set(QABIT_t bit)
 Set the status bit of the current detector in the current module
void SetQARefStorage(const char* name)
 Set the root directory where the QA reference data are stored
void SetQARefDataDirName(const char* name)
 Set the lower level directory name where reference data are found
void SetQAResultDirName(const char* name)
 Set the root directory where to store the QA status object
void SetStatusBit(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk, AliQA::QABIT_t bit)
 Set the status bit for a given detector and a given task
void ShowAll() const
 dispplay the QA status word
void ShowStatus(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk = kNULLTASK) const
 Prints the full QA status of a given detector
void ShowASCIIStatus(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk, ULong_t status) const
 print the QA status in human readable format
void UnSet(AliQA::QABIT_t bit)
 UnSet the status bit of the current detector in the current module
void UnSetStatusBit(AliQA::DETECTORINDEX_t det, AliQA::ALITASK_t tsk, AliQA::QABIT_t bit)
 UnSet the status bit for a given detector and a given task
const TString GetExpert()
{ return fgkExpert ; }
UInt_t GetExpertBit()
{ return fgkExpertBit ; }
const TString GetLabLocalFile()
{ return fgkLabLocalFile ; }
const TString GetLabLocalOCDB()
{ return fgkLabLocalOCDB ; }
const TString GetLabAliEnOCDB()
{ return fgkLabAliEnOCDB ; }
DETECTORINDEX_t GetDetIndex(const char* name)
const TString GetDetName(AliQA::DETECTORINDEX_t det)
{ return fgDetNames[det] ; }
const TString GetGRPPath()
{ return fgGRPPath ; }
UInt_t GetQABit()
{ return fgkQABit ; }
const char * GetQADataFileName(const char* name, const Int_t run)
{return Form("%s.%s.%d.root", name, fgQADataFileName.Data(), run) ; }
const char * GetQADataFileName()
{ return fgQADataFileName.Data() ; }
const char * GetQAName()
{ return fgkQAName ; }
const char * GetQACorrName()
{ return fgkQACorrNtName ; }
const char * GetQAResultFileName()
{ return (fgQAResultDirName + fgQAResultFileName).Data() ; }
const char * GetQARefDefaultStorage()
{ return fgkQARefOCDBDefault.Data() ; }
const char * GetQARefFileName()
{ return fgQARefFileName ; }
const char * GetQARefStorage()
{ return fgQARefDirName.Data() ; }
const char * GetRefOCDBDirName()
{ return fgkRefOCDBDirName.Data() ; }
const char * GetRefDataDirName()
{ return fgkRefDataDirName.Data() ; }
TASKINDEX_t GetTaskIndex(const char* name)
const TString GetTaskName(UInt_t tsk)
{ return fgTaskNames[tsk] ; }
void Set(QABIT_t bit)
void SetQARefDataDirName(AliQA::RUNTYPE_t rt)
void Show() const
void Show(AliQA::DETECTORINDEX_t det) const
{ ShowStatus(det) ; }
ULong_t GetStatus(AliQA::DETECTORINDEX_t det) const
{ return fQA[det] ;}
void Finish() const
void ResetStatus(AliQA::DETECTORINDEX_t det)
{ fQA[det] = 0 ; }
void Set(DETECTORINDEX_t det)
{ fDet = det ;}
void SetStatus(AliQA::DETECTORINDEX_t det, UShort_t status)
{ fQA[det] = status ; }