]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliQAv1.cxx
Bug fix. Removed delete statement
[u/mrichter/AliRoot.git] / STEER / AliQAv1.cxx
index 7a4909b0b8f3456d4c77e58cb2639b0b8de2ef8d..d117b315825a52a48d8de6b508dc6a0dbee55cce 100644 (file)
@@ -34,6 +34,7 @@
 
 #include <cstdlib>
 // --- ROOT system ---
+#include <TClass.h>
 #include <TFile.h>
 #include <TSystem.h>
 #include <TROOT.h>
 
 
 ClassImp(AliQAv1)
-AliQAv1  * AliQAv1::fgQA                   = 0x0 ;
-TFile    * AliQAv1::fgQADataFile           = 0x0 ;   
-TString    AliQAv1::fgQADataFileName       = "QA" ;  // will transform into Det.QA.run.root  
-TFile    * AliQAv1::fgQARefFile            = 0x0 ;   
-TString    AliQAv1::fgQARefDirName            = "" ; 
-TString    AliQAv1::fgQARefFileName        = "QA.root" ;
-TFile    * AliQAv1::fgQAResultFile         = 0x0 ;  
-TString    AliQAv1::fgQAResultDirName      = "" ;  
-TString    AliQAv1::fgQAResultFileName     = "QA.root" ; 
-TString    AliQAv1::fgDetNames[]           = {"ITS", "TPC", "TRD", "TOF", "PHOS", "HMPID", "EMCAL", "MUON", "FMD",
-                                            "ZDC", "PMD", "T0", "VZERO", "ACORDE", "HLT", "Global", "CORR"} ;   
-TString    AliQAv1::fgGRPPath              = "GRP/GRP/Data" ; 
-TString       AliQAv1::fgTaskNames[]       = {"Raws", "Hits", "SDigits", "Digits", "RecPoints", "TrackSegments", "RecParticles", "ESDs"} ;   
-const TString AliQAv1::fgkLabLocalFile     = "file://"  ; 
-const TString AliQAv1::fgkLabLocalOCDB     = "local://" ;  
-const TString AliQAv1::fgkLabAliEnOCDB     = "alien://" ;  
-const TString AliQAv1::fgkRefFileName      = "QA.root" ; 
-const TString AliQAv1::fgkQAName           = "QA"  ; 
-const TString AliQAv1::fgkQACorrNtName     = "CorrQA" ;  
-const TString AliQAv1::fgkRefOCDBDirName   = "QA"  ; 
-TString AliQAv1::fgRefDataDirName               = ""  ; 
-const TString AliQAv1::fgkQARefOCDBDefault = "alien://folder=/alice/QA/20"  ; 
-const TString AliQAv1::fgkExpert           = "Expert" ; 
-const UInt_t  AliQAv1::fgkExpertBit        = 0x40000 ; 
-const UInt_t  AliQAv1::fgkQABit            = 0x80000 ; 
-const UInt_t  AliQAv1::fgkImageBit         = 0x100000 ; 
-const Int_t  AliQAv1::fgkQADebugLevel      = 99 ; 
+AliQAv1  *     AliQAv1::fgQA                   = 0x0 ;
+TFile    *     AliQAv1::fgQADataFile           = 0x0 ;   
+TString        AliQAv1::fgQADataFileName       = "QA" ;  // will transform into Det.QA.run.root  
+TFile    *     AliQAv1::fgQARefFile            = 0x0 ;   
+TString        AliQAv1::fgQARefDirName        = "" ; 
+TString        AliQAv1::fgQARefFileName        = "QA.root" ;
+TFile    *     AliQAv1::fgQAResultFile         = 0x0 ;  
+TString        AliQAv1::fgQAResultDirName      = "" ;  
+TString        AliQAv1::fgQAResultFileName     = "QA.root" ; 
+TString        AliQAv1::fgDetNames[]           = {"ITS", "TPC", "TRD", "TOF", "PHOS", "HMPID", "EMCAL", "MUON", "FMD",
+                                                  "ZDC", "PMD", "T0", "VZERO", "ACORDE", "HLT", "Global", "CORR"} ;   
+TString        AliQAv1::fgGRPPath              = "GRP/GRP/Data" ; 
+TString        AliQAv1::fgTaskNames[]          = {"Raws", "Hits", "SDigits", "Digits", "DigitsR", "RecPoints", "TrackSegments", "RecParticles", "ESDs"} ;   
+TString        AliQAv1::fgModeNames[]          = {"", "Sim", "Rec"} ;   
+const TString  AliQAv1::fgkLabLocalFile        = "file://"  ; 
+const TString  AliQAv1::fgkLabLocalOCDB        = "local://" ;  
+const TString  AliQAv1::fgkLabAliEnOCDB        = "alien://" ;  
+const TString  AliQAv1::fgkRefFileName         = "QA.root" ; 
+const TString  AliQAv1::fgkQAName              = "QA"  ; 
+const TString  AliQAv1::fgkQACorrNtName        = "CorrQA" ;  
+const TString  AliQAv1::fgkRefOCDBDirName      = "QA"  ; 
+TString AliQAv1::fgRefDataDirName                   = ""  ; 
+const TString  AliQAv1::fgkQARefOCDBDefault    = "alien://folder=/alice/QA/20"  ; 
+const TString  AliQAv1::fgkExpert              = "Expert" ; 
+const UInt_t   AliQAv1::fgkExpertBit           = 0x40000 ; 
+const UInt_t   AliQAv1::fgkQABit               = 0x80000 ; 
+const UInt_t   AliQAv1::fgkImageBit            = 0x100000 ; 
+const Int_t    AliQAv1::fgkQADebugLevel        = 99 ; 
+const TString  AliQAv1::fImageFileName         = "QAImage" ; 
+const TString  AliQAv1::fImageFileFormat       = "ps" ; 
+const UShort_t AliQAv1::fgkMaxQAObjects        = 10000 ; 
+
 //____________________________________________________________________________
 AliQAv1::AliQAv1() : 
   TNamed("", ""), 
@@ -374,12 +380,12 @@ TFile * AliQAv1::GetQADataFile(const char * name, Int_t run)
                fgQADataFile = TFile::Open(temp, opt.Data()) ;
        } else {
                if ( strcmp(temp, fgQADataFile->GetName()) != 0 ) {
-                       fgQADataFile = dynamic_cast<TFile *>(gROOT->FindObject(temp)) ; 
+                       fgQADataFile = static_cast<TFile *>(gROOT->FindObject(temp)) ;
                        if ( !fgQADataFile ) {
-                               if  (gSystem->AccessPathName(temp))
-                                       opt = "NEW" ;
-                               else 
-                                       opt = "UPDATE" ; 
+          if  (gSystem->AccessPathName(temp))
+            opt = "NEW" ;
+          else 
+            opt = "UPDATE" ; 
                                fgQADataFile = TFile::Open(temp, opt.Data()) ;
                        }
                }
@@ -387,6 +393,43 @@ TFile * AliQAv1::GetQADataFile(const char * name, Int_t run)
        return fgQADataFile ;
 } 
 
+//_____________________________________________________________________________
+AliQAv1::MODE_t AliQAv1::Mode(TASKINDEX_t task) {
+  // return "rec" or "sim" depending on the task
+  
+  switch (task) {
+    case AliQAv1::kRAWS:
+      return kRECMODE ; 
+      break;
+    case AliQAv1::kHITS:
+      return kSIMMODE ; 
+      break;
+    case AliQAv1::kSDIGITS:
+      return kSIMMODE ; 
+      break;
+    case AliQAv1::kDIGITS:
+      return kSIMMODE ; 
+      break;
+    case AliQAv1::kDIGITSR:
+      return kRECMODE ; 
+      break;
+    case AliQAv1::kRECPOINTS:
+      return kRECMODE ; 
+      break ; 
+    case AliQAv1::kTRACKSEGMENTS:
+      return kRECMODE ; 
+      break;
+    case AliQAv1::kRECPARTICLES:
+      return kRECMODE ; 
+      break;
+    case AliQAv1::kESDS:
+      return kRECMODE ; 
+      break;
+    default:
+      break;
+  }
+}
+
 //_____________________________________________________________________________
 TFile * AliQAv1::GetQADataFile(const char * fileName)
 {
@@ -398,8 +441,7 @@ TFile * AliQAv1::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 ; 
 }
@@ -523,10 +565,10 @@ AliQAv1 * AliQAv1::Instance()
 
   if ( ! fgQA) {
     TFile * f = GetQAResultFile() ; 
-    fgQA = dynamic_cast<AliQAv1 *>(f->Get("QA")) ; 
+    fgQA = static_cast<AliQAv1 *>(f->Get("QA")) ; 
     if ( ! fgQA ) 
       fgQA = new AliQAv1() ;
-  }    
+  }
   return fgQA ;
 }
 
@@ -547,9 +589,9 @@ AliQAv1 * AliQAv1::Instance(const DETECTORINDEX_t det)
   
   if ( ! fgQA) {
     TFile * f = GetQAResultFile() ; 
-       fgQA = dynamic_cast<AliQAv1 *>(f->Get("QA")) ; 
+    fgQA = static_cast<AliQAv1 *>(f->Get("QA")) ; 
     if ( ! fgQA ) 
-               fgQA = new AliQAv1(det) ;
+      fgQA = new AliQAv1(det) ;
   }            
   fgQA->Set(det) ;
   return fgQA ;
@@ -571,13 +613,13 @@ AliQAv1 * AliQAv1::Instance(const ALITASK_t tsk)
       fgQA = new AliQAv1(tsk) ;
       break ;
     case kREC:
-      printf("fgQA = gAlice->GetQA()") ;
+      AliInfoClass("fgQA = gAlice->GetQA()") ;
       break ;
     case kESD:
-      printf("fgQA = dynamic_cast<AliQAv1 *> (esdFile->Get(\"QA\")") ;
+      AliInfoClass("fgQA = static_cast<AliQAv1 *> (esdFile->Get(\"QA\")") ;
       break ;
     case kANA:
-      printf("fgQA = dynamic_cast<AliQAv1 *> (esdFile->Get(\"QA\")") ;
+      AliInfoClass("fgQA = static_cast<AliQAv1 *> (esdFile->Get(\"QA\")") ;
       break ;
     case kNTASK:
       break ;
@@ -698,12 +740,12 @@ void AliQAv1::SetQARefStorage(const char * name)
                fgQARefFileName =  fgkQAName ; 
 
   else {
-         printf("ERROR: %s is an invalid storage definition\n", name) ; 
+         AliErrorClass(Form("ERROR: %s is an invalid storage definition\n", name)) ; 
          fgQARefDirName  = "" ; 
          fgQARefFileName = "" ; 
   }    
        TString tmp(fgQARefDirName) ; // + fgQARefFileName) ;
-       printf("AliQAv1::SetQARefDir: QA references are in  %s\n", tmp.Data() ) ;
+       AliInfoClass(Form("AliQAv1::SetQARefDir: QA references are in  %s\n", tmp.Data() )) ;
 }
 
 //_____________________________________________________________________________
@@ -712,7 +754,7 @@ void AliQAv1::SetQAResultDirName(const char * name)
   // Set the root directory where to store the QA status object
 
   fgQAResultDirName.Prepend(name) ; 
-  printf("AliQAv1::SetQAResultDirName: QA results are in  %s\n", fgQAResultDirName.Data()) ;
+  AliInfoClass(Form("AliQAv1::SetQAResultDirName: QA results are in  %s\n", fgQAResultDirName.Data())) ;
   if ( fgQAResultDirName.Contains(fgkLabLocalFile)) 
     fgQAResultDirName.ReplaceAll(fgkLabLocalFile, "") ;
   fgQAResultFileName.Prepend(fgQAResultDirName) ;
@@ -742,9 +784,8 @@ void AliQAv1::Show(DETECTORINDEX_t det) const
   if ( det == kNULLDET) 
     det = fDet ;  
   for (Int_t ies = 0 ; ies < fNEventSpecies ; ies++) {
-    const Bool_t what = IsEventSpecieSet(ies) ;
-    if ( what )
-      ShowStatus(det, kNULLTASK, AliRecoParam::Convert(ies)) ; 
+    if ( IsEventSpecieSet(ies) )
+      ShowStatus(det, kNULLTASK, AliRecoParam::ConvertIndex(ies)) ; 
   }
 }
 
@@ -756,9 +797,8 @@ void AliQAv1::ShowAll() const
   for (index = 0 ; index < kNDET ; index++) {
                for (Int_t tsk = kRAW ; tsk < kNTASK ; tsk++) {
       for (Int_t ies = 0 ; ies < fNEventSpecies ; ies++) {
-        const Bool_t what = IsEventSpecieSet(ies) ;
-        if ( what )
-          ShowStatus(DETECTORINDEX_t(index), ALITASK_t(tsk), AliRecoParam::Convert(ies)) ;
+        if ( IsEventSpecieSet(ies) )
+          ShowStatus(DETECTORINDEX_t(index), ALITASK_t(tsk), AliRecoParam::ConvertIndex(ies)) ;
       }
     }
        }
@@ -801,7 +841,7 @@ void AliQAv1::ShowASCIIStatus(AliRecoParam::EventSpecie_t es, DETECTORINDEX_t de
                }
        }
        if (! text.IsNull())
-               printf("           %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 0x%4lx, Problem signalled: %8s \n", AliRecoParam::GetEventSpecieName(es), GetDetName(det).Data(), GetAliTaskName(tsk), status, text.Data())) ; 
 }
 
 //_______________________________________________________________