]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONQAChecker.cxx
Clarify cluster loop. Add check for cluster being 0 (seen in online reco-viz).
[u/mrichter/AliRoot.git] / MUON / AliMUONQAChecker.cxx
index 51243c624664ed550ec5df04f539d580ffcc8ae1..8c37384e27e75e7ff7b63db8e0ee85748e79c40d 100644 (file)
@@ -32,7 +32,7 @@
 #include "AliLog.h"
 #include "AliMUONVTrackerData.h"
 #include "AliMpManuIterator.h"
-#include "AliQA.h"
+#include "AliQAv1.h"
 #include <TDirectory.h>
 #include <TH1.h>
 
@@ -62,32 +62,21 @@ AliMUONQAChecker::AliMUONQAChecker(const AliMUONQAChecker& qac) :
 
 //______________________________________________________________________________
 Double_t *
-AliMUONQAChecker::Check(AliQA::ALITASK_t /*index*/)
-{
-  /// Check data
-  
-  AliError(Form("This method is not implemented. Should it be ? fDataSubDir = %p (%s)",
-                fDataSubDir, ( fDataSubDir ? fDataSubDir->GetPath() : "")));
-  return NULL;
-}
-
-//______________________________________________________________________________
-Double_t *
-AliMUONQAChecker::Check(AliQA::ALITASK_t index, TObjArray ** list)
+AliMUONQAChecker::Check(AliQAv1::ALITASK_t index, TObjArray ** list)
 {
   /// Check objects in list
   
-  if ( index == AliQA::kRAW ) 
+  if ( index == AliQAv1::kRAW ) 
   {
     return CheckRaws(list);
   }
   
-  if ( index == AliQA::kREC)
+  if ( index == AliQAv1::kREC)
   {
     return CheckRecPoints(list);
   }
   
-  if ( index == AliQA::kESD )
+  if ( index == AliQAv1::kESD )
   {
     return CheckESD(list);
   }
@@ -98,10 +87,10 @@ AliMUONQAChecker::Check(AliQA::ALITASK_t index, TObjArray ** list)
 
 //______________________________________________________________________________
 TH1* 
-AliMUONQAChecker::GetHisto(TObjArray* list, const char* hname) const
+AliMUONQAChecker::GetHisto(TObjArray* list, const char* hname, Int_t specie) const
 {
   /// Get a given histo from the list
-  TH1* h = static_cast<TH1*>(list->FindObject(hname));
+  TH1* h = static_cast<TH1*>(list->FindObject(Form("%s_%s",AliRecoParam::GetEventSpecieName(specie),hname)));
   if (!h)
   {
     AliError(Form("Did not find expected histo %s",hname));
@@ -121,7 +110,7 @@ AliMUONQAChecker::CheckRecPoints(TObjArray ** list)
     rv[specie] = 1.0 ; 
   
   for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
-    TH1* h = GetHisto(list[specie],"hTrackerNumberOfClustersPerDE");
+    TH1* h = GetHisto(list[specie],"hTrackerNumberOfClustersPerDE",specie);
   
     if ( !h ) rv[specie] =  0.75; // only a warning if histo not found, in order not to kill anything because QA failed...
   
@@ -138,7 +127,7 @@ AliMUONQAChecker::MarkHisto(TH1& histo, Double_t value) const
   
   if ( value != 1.0 )
   {
-    histo.SetBit(AliQA::GetQABit());
+    histo.SetBit(AliQAv1::GetQABit());
   }
   
   return value;
@@ -156,13 +145,13 @@ AliMUONQAChecker::CheckESD(TObjArray ** list)
   
   for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
     
-    TH1* h = GetHisto(list[specie],"hESDnTracks");
+    TH1* h = GetHisto(list[specie],"hESDnTracks",specie);
   
     if (!h) rv[specie] = 0.75;
   
     else if ( h->GetMean() == 0.0 ) rv[specie] =  MarkHisto(*h,0.0); // no track -> fatal
   
-    h = GetHisto(list[specie],"hESDMatchTrig");
+    h = GetHisto(list[specie],"hESDMatchTrig",specie);
   
     if (!h) rv[specie] =  0.75;
   
@@ -239,48 +228,48 @@ AliMUONQAChecker::CheckRaws(TObjArray ** list)
 }
 
 //______________________________________________________________________________
-void AliMUONQAChecker::Init(const AliQA::DETECTORINDEX_t det) 
+void AliMUONQAChecker::Init(const AliQAv1::DETECTORINDEX_t det) 
 {
-  // intialises QA and QA checker settings
-  AliQA::Instance(det) ; 
-  Float_t hiValue[AliQA::kNBIT] ; 
-  Float_t lowValue[AliQA::kNBIT] ;
-  lowValue[AliQA::kINFO]      = 0.999   ; 
-  hiValue[AliQA::kINFO]       = 1.0 ; 
-  hiValue[AliQA::kWARNING]    = 0.99 ; 
-  lowValue[AliQA::kWARNING]   = 0.5 ; 
-  lowValue[AliQA::kERROR]     = 0.0   ; 
-  hiValue[AliQA::kERROR]      = 0.5 ; 
-  lowValue[AliQA::kFATAL]     = -1.0   ; 
-  hiValue[AliQA::kFATAL]      = 0.0 ; 
+  /// intialises QA and QA checker settings
+  AliQAv1::Instance(det) ; 
+  Float_t hiValue[AliQAv1::kNBIT] ; 
+  Float_t lowValue[AliQAv1::kNBIT] ;
+  lowValue[AliQAv1::kINFO]      = 0.999   ; 
+  hiValue[AliQAv1::kINFO]       = 1.0 ; 
+  hiValue[AliQAv1::kWARNING]    = 0.99 ; 
+  lowValue[AliQAv1::kWARNING]   = 0.5 ; 
+  lowValue[AliQAv1::kERROR]     = 0.0   ; 
+  hiValue[AliQAv1::kERROR]      = 0.5 ; 
+  lowValue[AliQAv1::kFATAL]     = -1.0   ; 
+  hiValue[AliQAv1::kFATAL]      = 0.0 ; 
   SetHiLo(&hiValue[0], &lowValue[0]) ; 
 }
 
 //______________________________________________________________________________
 void 
-AliMUONQAChecker::SetQA(AliQA::ALITASK_t index, Double_t * value) const
+AliMUONQAChecker::SetQA(AliQAv1::ALITASK_t index, Double_t * value) const
 {
   /// sets the QA according the return value of the Check
 
-  AliQA * qa = AliQA::Instance(index);
+  AliQAv1 * qa = AliQAv1::Instance(index);
   
   for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
-    qa->UnSet(AliQA::kFATAL, specie);
-    qa->UnSet(AliQA::kWARNING, specie);
-    qa->UnSet(AliQA::kERROR, specie);
-    qa->UnSet(AliQA::kINFO, specie);
+    qa->UnSet(AliQAv1::kFATAL, specie);
+    qa->UnSet(AliQAv1::kWARNING, specie);
+    qa->UnSet(AliQAv1::kERROR, specie);
+    qa->UnSet(AliQAv1::kINFO, specie);
 
     if ( ! value ) { // No checker is implemented, set all QA to Fatal
-      qa->Set(AliQA::kFATAL, specie) ; 
+      qa->Set(AliQAv1::kFATAL, specie) ; 
     } else {
-      if ( value[specie] >= fLowTestValue[AliQA::kFATAL] && value[specie] < fUpTestValue[AliQA::kFATAL] ) 
-        qa->Set(AliQA::kFATAL, specie) ; 
-      else if ( value[specie] > fLowTestValue[AliQA::kERROR] && value[specie] <= fUpTestValue[AliQA::kERROR]  )
-        qa->Set(AliQA::kERROR, specie) ; 
-      else if ( value[specie] > fLowTestValue[AliQA::kWARNING] && value[specie] <= fUpTestValue[AliQA::kWARNING]  )
-        qa->Set(AliQA::kWARNING, specie) ;
-      else if ( value[specie] > fLowTestValue[AliQA::kINFO] && value[specie] <= fUpTestValue[AliQA::kINFO] ) 
-        qa->Set(AliQA::kINFO, specie) ;        
+      if ( value[specie] >= fLowTestValue[AliQAv1::kFATAL] && value[specie] < fUpTestValue[AliQAv1::kFATAL] ) 
+        qa->Set(AliQAv1::kFATAL, specie) ; 
+      else if ( value[specie] > fLowTestValue[AliQAv1::kERROR] && value[specie] <= fUpTestValue[AliQAv1::kERROR]  )
+        qa->Set(AliQAv1::kERROR, specie) ; 
+      else if ( value[specie] > fLowTestValue[AliQAv1::kWARNING] && value[specie] <= fUpTestValue[AliQAv1::kWARNING]  )
+        qa->Set(AliQAv1::kWARNING, specie) ;
+      else if ( value[specie] > fLowTestValue[AliQAv1::kINFO] && value[specie] <= fUpTestValue[AliQAv1::kINFO] ) 
+        qa->Set(AliQAv1::kINFO, specie) ;      
     }
   }
 }