]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliQA.cxx
M AliTPCcalibDButil.cxx - Protection agains missing Offset calibration...
[u/mrichter/AliRoot.git] / STEER / AliQA.cxx
index c24360d81782b366ee8a3650199e1ce7fefefb92..23543845ca9da37f8da744f6136d371eb6ce7474 100644 (file)
@@ -34,6 +34,7 @@
 
 #include <cstdlib>
 // --- ROOT system ---
+#include <TClass.h>
 #include <TFile.h>
 #include <TSystem.h>
 #include <TROOT.h>
@@ -67,18 +68,18 @@ TString    AliQA::fgRTNames[]            = {"UNKNOWN", "AUTO_TEST", "CALIBRATION
                                                                                                                                                                                "STANDALONE_EMD", "STANDALONE_LASER", "STANDALONE_MB", "STANDALONE_PEDESTAL", 
                                                                                                                                                                                "STANDALONE_SEMICENTRAL", "STANDALONE_PULSER" } ;   
 TString       AliQA::fgTaskNames[]       = {"Raws", "Hits", "SDigits", "Digits", "RecPoints", "TrackSegments", "RecParticles", "ESDs"} ;   
-const TString AliQA::fkgLabLocalFile     = "file://"  ; 
-const TString AliQA::fkgLabLocalOCDB     = "local://" ;  
-const TString AliQA::fkgLabAliEnOCDB     = "alien://" ;  
-const TString AliQA::fkgRefFileName      = "QA.root" ; 
-const TString AliQA::fkgQAName           = "QA"  ; 
-const TString AliQA::fkgQACorrNtName     = "CorrQA" ;  
-const TString AliQA::fkgRefOCDBDirName   = "Ref"  ; 
-TString AliQA::fkgRefDataDirName              = ""  ; 
-const TString AliQA::fkgQARefOCDBDefault = "alien://folder=/alice/QA/20"  ; 
-const TString AliQA::fkgExpert           = "Expert" ; 
-const UInt_t  AliQA::fkgExpertBit        = 16 ; 
-const UInt_t  AliQA::fkgQABit            = 17 ; 
+const TString AliQA::fgkLabLocalFile     = "file://"  ; 
+const TString AliQA::fgkLabLocalOCDB     = "local://" ;  
+const TString AliQA::fgkLabAliEnOCDB     = "alien://" ;  
+const TString AliQA::fgkRefFileName      = "QA.root" ; 
+const TString AliQA::fgkQAName           = "QA"  ; 
+const TString AliQA::fgkQACorrNtName     = "CorrQA" ;  
+const TString AliQA::fgkRefOCDBDirName   = "Ref"  ; 
+TString AliQA::fgkRefDataDirName              = ""  ; 
+const TString AliQA::fgkQARefOCDBDefault = "alien://folder=/alice/QA/20"  ; 
+const TString AliQA::fgkExpert           = "Expert" ; 
+const UInt_t  AliQA::fgkExpertBit        = 16 ; 
+const UInt_t  AliQA::fgkQABit            = 17 ; 
 
 //____________________________________________________________________________
 AliQA::AliQA() : 
@@ -100,11 +101,13 @@ AliQA::AliQA() :
 AliQA::AliQA(const AliQA& qa) :
   TNamed(qa),
   fNdet(qa.fNdet), 
-  fQA(qa.fQA), 
+  fQA(new ULong_t[qa.fNdet]), 
   fDet(qa.fDet),
   fTask(qa.fTask)
 { 
   // cpy ctor
+  for (Int_t index = 0 ; index < fNdet ; index++) 
+       fQA[index] = qa.fQA[index] ; 
 }
 
 //_____________________________________________________________________________
@@ -341,8 +344,7 @@ TFile * AliQA::GetQADataFile(const char * fileName)
        if  (!gSystem->AccessPathName(fileName)) {
                fgQADataFile =  TFile::Open(fileName) ;
        } else {
-               printf("File %s not found", fileName) ;
-               exit(1) ;  
+               AliFatalClass(Form("File %s not found", fileName)) ;
        }
   return fgQADataFile ; 
 }
@@ -356,8 +358,8 @@ TFile * AliQA::GetQAResultFile()
        fgQAResultFile = 0x0 ; 
 //     if (!fgQAResultFile) { 
                TString dirName(fgQAResultDirName) ; 
-               if ( dirName.Contains(fkgLabLocalFile)) 
-                       dirName.ReplaceAll(fkgLabLocalFile, "") ;
+               if ( dirName.Contains(fgkLabLocalFile)) 
+                       dirName.ReplaceAll(fgkLabLocalFile, "") ;
                TString fileName(dirName + fgQAResultFileName) ; 
                TString opt("") ; 
                if ( !gSystem->AccessPathName(fileName) )
@@ -376,13 +378,14 @@ TFile * AliQA::GetQAResultFile()
 //_______________________________________________________________
 const TString AliQA::GetRunTypeName(RUNTYPE_t rt) 
 { 
+  // returns the name of a run type
        TString rv("Invalid Run Type") ;        
        if ( rt == kNULLTYPE ) {
                rv = "Known RUN_TYPE are: \n" ; 
                for (Int_t index = 0 ; index < kNTYPE; index++) {
                        rv += Form("%2d -- %s\n", index, fgRTNames[index].Data()) ;  
                }
-               printf("%s", rv.Data()) ; 
+               AliErrorClass(Form("%s", rv.Data())) ; 
                return "" ; 
        }
        else {
@@ -505,13 +508,13 @@ AliQA * AliQA::Instance(const ALITASK_t tsk)
       fgQA = new AliQA(tsk) ;
       break ;
     case kREC:
-      printf("fgQA = gAlice->GetQA()") ;
+      AliInfoClass("fgQA = gAlice->GetQA()") ;
       break ;
     case kESD:
-      printf("fgQA = dynamic_cast<AliQA *> (esdFile->Get(\"QA\")") ;
+      AliInfoClass("fgQA = dynamic_cast<AliQA *> (esdFile->Get(\"QA\")") ;
       break ;
     case kANA:
-      printf("fgQA = dynamic_cast<AliQA *> (esdFile->Get(\"QA\")") ;
+      AliInfoClass("fgQA = dynamic_cast<AliQA *> (esdFile->Get(\"QA\")") ;
       break ;
     case kNTASK:
       break ;
@@ -607,20 +610,20 @@ void AliQA::SetQARefStorage(const char * name)
        // Set the root directory where the QA reference data are stored
 
        fgQARefDirName = name ; 
-       if ( fgQARefDirName.Contains(fkgLabLocalFile) )
-               fgQARefFileName =  fkgRefFileName ; 
-       else if ( fgQARefDirName.Contains(fkgLabLocalOCDB) )
-               fgQARefFileName =  fkgQAName ; 
-       else if ( fgQARefDirName.Contains(fkgLabAliEnOCDB) )
-               fgQARefFileName =  fkgQAName ; 
+       if ( fgQARefDirName.Contains(fgkLabLocalFile) )
+               fgQARefFileName =  fgkRefFileName ; 
+       else if ( fgQARefDirName.Contains(fgkLabLocalOCDB) )
+               fgQARefFileName =  fgkQAName ; 
+       else if ( fgQARefDirName.Contains(fgkLabAliEnOCDB) )
+               fgQARefFileName =  fgkQAName ; 
 
   else {
-         printf("ERROR: %s is an invalid storage definition\n", name) ; 
+         AliErrorClass(Form("%s is an invalid storage definition\n", name)) ; 
          fgQARefDirName  = "" ; 
          fgQARefFileName = "" ; 
   }    
        TString tmp(fgQARefDirName) ; // + fgQARefFileName) ;
-       printf("AliQA::SetQARefDir: QA references are in  %s\n", tmp.Data() ) ;
+       AliInfoClass(Form("AliQA::SetQARefDir: QA references are in  %s\n", tmp.Data()) ) ;
 }
 
 //_____________________________________________________________________________
@@ -637,7 +640,7 @@ void AliQA::SetQARefDataDirName(const char * name)
        }
        
        if (rt == kNULLTYPE) {
-      printf("AliQA::SetQARefDataDirName: %s is an unknown RUN TYPE name\n", name) ; 
+      AliWarningClass(Form("AliQA::SetQARefDataDirName: %s is an unknown RUN TYPE name\n", name)) ; 
       return ; 
        }
  
@@ -650,9 +653,9 @@ void AliQA::SetQAResultDirName(const char * name)
   // Set the root directory where to store the QA status object
 
   fgQAResultDirName.Prepend(name) ; 
-  printf("AliQA::SetQAResultDirName: QA results are in  %s\n", fgQAResultDirName.Data()) ;
-  if ( fgQAResultDirName.Contains(fkgLabLocalFile)) 
-    fgQAResultDirName.ReplaceAll(fkgLabLocalFile, "") ;
+  AliInfoClass(Form("AliQA::SetQAResultDirName: QA results are in  %s\n", fgQAResultDirName.Data())) ;
+  if ( fgQAResultDirName.Contains(fgkLabLocalFile)) 
+    fgQAResultDirName.ReplaceAll(fgkLabLocalFile, "") ;
   fgQAResultFileName.Prepend(fgQAResultDirName) ;
 }
 
@@ -720,7 +723,7 @@ void AliQA::ShowASCIIStatus(DETECTORINDEX_t det, ALITASK_t tsk, const ULong_t st
                }
        }
        if (! text.IsNull())
-               printf("           %8s %4s 0x%4lx, Problem signalled: %8s \n", GetDetName(det).Data(), GetAliTaskName(tsk), status, text.Data()) ; 
+               AliWarningClass(Form("           %8s %4s 0x%4lx, Problem signalled: %8s \n", GetDetName(det).Data(), GetAliTaskName(tsk), status, text.Data())) ; 
 }
 
 //_______________________________________________________________
@@ -745,4 +748,4 @@ void AliQA::UnSetStatusBit(DETECTORINDEX_t det, ALITASK_t tsk, QABIT_t bit)
        offset+= bit ;
        status = status & 0 << offset ;
        SetStatus(det, status) ;
-}
\ No newline at end of file
+}