First implementation of Checker for ACORDE-QA (we check only if the objects are empty...
authormrodrigu <mrodrigu@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 4 Aug 2008 16:20:23 +0000 (16:20 +0000)
committermrodrigu <mrodrigu@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 4 Aug 2008 16:20:23 +0000 (16:20 +0000)
ACORDE/AliACORDEQAChecker.cxx
ACORDE/AliACORDEQAChecker.h

index 89e7ec3..892ebe7 100755 (executable)
 ClassImp(AliACORDEQAChecker)
 
 //__________________________________________________________________
+
+const Double_t AliACORDEQAChecker::Check(AliQA::ALITASK_t /*index*/, TObjArray * list)
+{
+
+
+// Super-basic check on the QA histograms on the input list: 
+  // look whether they are empty!
+  Double_t test = 0.0  ;
+  Int_t count = 0 ; 
+  
+  if (list->GetEntries() == 0){  
+    test = 1. ; // nothing to check
+  }
+  else {
+    TIter next(list) ; 
+    TH1 * hdata ;
+    count = 0 ; 
+    while ( (hdata = dynamic_cast<TH1 *>(next())) ) {
+      if (hdata) { 
+       Double_t rv = 0.;
+       if(hdata->GetEntries()>0)rv=1; 
+       AliInfo(Form("%s -> %f", hdata->GetName(), rv)) ; 
+       count++ ; 
+       test += rv ; 
+      }
+      else{
+       AliError("Data type cannot be processed") ;
+      }
+      
+    }
+    if (count != 0) { 
+      if (test==0) {
+       AliWarning("Histograms are there, but they are all empty: setting flag to kWARNING");
+       test = 0.5;  //upper limit value to set kWARNING flag for a task
+      }
+      else {
+       test /= count ;
+      }
+    }
+  }
+
+  AliInfo(Form("Test Result = %f", test)) ; 
+  return test ; 
+
+
+
+}
+
index f4d0b41..fc3aade 100755 (executable)
@@ -34,7 +34,20 @@ private:
   virtual const Double_t Check() {return 0.;} ;
   */
 
-  ClassDef(AliACORDEQAChecker,1)  // description 
+//  ClassDef(AliACORDEQAChecker,1)  // description 
+
+ protected:
+
+  virtual const Double_t Check(AliQA::ALITASK_t /*index*/, TObjArray * list) ;
+  virtual const Double_t Check(AliQA::ALITASK_t /*index*/) {return 0.;} ;
+  virtual const Double_t Check() {return 0.;} ;
+  virtual const Double_t Check(TObjArray*) {return 0.;} ;
+
+  
+  ClassDef(AliACORDEQAChecker,2)  // description 
+
+
+
 
 };