]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliQAv1.cxx
add explicit validation of profiles in Preprocessor before trying to add to them
[u/mrichter/AliRoot.git] / STEER / AliQAv1.cxx
index 0ebf5fc02bad67541b80cc58e4a56724e6624410..787831f818536e78f83f364da7edc49198b5234f 100644 (file)
@@ -288,30 +288,29 @@ Bool_t AliQAv1::CheckRange(AliRecoParam::EventSpecie_t es) const
 const char * AliQAv1::GetAliTaskName(ALITASK_t tsk)
 {
        // returns the char name corresponding to module index
-       TString tskName ;
        switch (tsk) {
                case kNULLTASK:
                        break ; 
                case kRAW:
-                       tskName = "RAW" ;
+                       return "RAW" ;
                        break ;  
                case kSIM:
-                       tskName = "SIM" ;
+                       return "SIM" ;
                        break ;
                case kREC:
-                       tskName = "REC" ;
+                       return "REC" ;
                        break ;
                case kESD:
-                       tskName = "ESD" ;
+                       return "ESD" ;
                        break ;
                case kANA:
-                       tskName = "ANA" ;
+                       return "ANA" ;
                        break ;
                default:
-                       tsk = kNULLTASK ; 
+      return "" ; 
                        break ;
        }
-       return tskName.Data() ;
+  return "" ;
 }
 
 //_______________________________________________________________
@@ -473,13 +472,11 @@ TFile * AliQAv1::GetQADataFile(const char * fileName)
 TFile * AliQAv1::GetQAResultFile() 
 {
   // opens the file to store the  Quality Assurance Data Checker results       
-  if (fgQAResultFile && fgQAResultFile->IsOpen()) 
-  {
+  if (fgQAResultFile) {
+   if (fgQAResultFile->IsOpen()) 
     fgQAResultFile->Close();
+   delete fgQAResultFile;
   }
-  delete fgQAResultFile;
-  fgQAResultFile=0x0;
-  
   TString dirName(fgQAResultDirName) ; 
   if ( dirName.Contains(fgkLabLocalFile)) 
     dirName.ReplaceAll(fgkLabLocalFile, "") ;
@@ -493,8 +490,7 @@ TFile * AliQAv1::GetQAResultFile()
     opt = "NEW" ; 
   }
   fgQAResultFile = TFile::Open(fileName, opt) ;   
-       
-       return fgQAResultFile ;
+  return fgQAResultFile ; 
 }
 
 //_______________________________________________________________
@@ -607,9 +603,8 @@ AliQAv1 * AliQAv1::Instance()
   // Get an instance of the singleton. The only authorized way to call the ctor
 
   if ( ! fgQA) {
-    TFile * f = GetQAResultFile() ; 
-    fgQA = static_cast<AliQAv1 *>(f->Get("QA")) ; 
-    f->Close() ; 
+    GetQAResultFile() ; 
+    fgQA = static_cast<AliQAv1 *>(fgQAResultFile->Get("QA")) ; 
     if ( ! fgQA ) 
       fgQA = new AliQAv1() ;
   }
@@ -632,8 +627,8 @@ AliQAv1 * AliQAv1::Instance(const DETECTORINDEX_t det)
   // Get an instance of the singleton. The only authorized way to call the ctor
   
   if ( ! fgQA) {
-    TFile * f = GetQAResultFile() ; 
-    fgQA = static_cast<AliQAv1 *>(f->Get(GetQAName())) ; 
+    GetQAResultFile() ; 
+    fgQA = static_cast<AliQAv1 *>(fgQAResultFile->Get(GetQAName())) ; 
     if ( ! fgQA ) 
       fgQA = new AliQAv1(det) ;
   }            
@@ -881,7 +876,7 @@ void AliQAv1::ShowStatus(DETECTORINDEX_t det, ALITASK_t tsk, AliRecoParam::Event
        tskStatus[kESD] = status & 0x0f000 ;
        tskStatus[kANA] = status & 0xf0000 ;
 
-       AliInfo(Form("====> QA Status for %8s %8s raw =0x%x, sim=0x%x, rec=0x%x, esd=0x%x, ana=0x%x", GetDetName(det).Data(), AliRecoParam::GetEventSpecieName(es), 
+       AliInfo(Form("====> QA Status for %8s %8s raw =0x%lx, sim=0x%lx, rec=0x%lx, esd=0x%lx, ana=0x%lx", GetDetName(det).Data(), AliRecoParam::GetEventSpecieName(es), 
                                 tskStatus[kRAW], tskStatus[kSIM], tskStatus[kREC], tskStatus[kESD], tskStatus[kANA] )) ;
        if (tsk == kNULLTASK) {
                for (Int_t itsk = kRAW ; itsk < kNTASK ; itsk++) {
@@ -896,12 +891,10 @@ void AliQAv1::ShowStatus(DETECTORINDEX_t det, ALITASK_t tsk, AliRecoParam::Event
 void AliQAv1::ShowASCIIStatus(AliRecoParam::EventSpecie_t es, DETECTORINDEX_t det, ALITASK_t tsk, const ULong_t status) const 
 {
        // print the QA status in human readable format
-       TString text; 
-  QABIT_t bit = GetQAStatusBit(es, det, tsk) ; 
+  const QABIT_t bit = GetQAStatusBit(es, det, tsk) ; 
   if ( bit != kNULLBit ) {
-    text = GetBitName(bit) ; 
-    text += " " ; 
-    AliInfoClass(Form("           %8s %8s %4s 0x%4lx, Problem signalled: %8s \n", AliRecoParam::GetEventSpecieName(es), GetDetName(det).Data(), GetAliTaskName(tsk), status, text.Data())) ; 
+          AliInfoClass(Form("           %8s %8s %4s  \n", AliRecoParam::GetEventSpecieName(es), GetDetName(det).Data(), GetAliTaskName(tsk))) ; 
+          AliInfoClass(Form("           %8s %8s %4s 0x%4lx, Problem signalled: %8s \n", AliRecoParam::GetEventSpecieName(es), GetDetName(det).Data(), GetAliTaskName(tsk), status, GetBitName(bit))) ; 
   }
 }