Changed the call to the QA data maker in AliSimulation
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 22 Oct 2007 14:18:35 +0000 (14:18 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 22 Oct 2007 14:18:35 +0000 (14:18 +0000)
STEER/AliQADataMakerSteer.cxx
STEER/AliSimulation.cxx
STEER/AliSimulation.h

index d7e2b3774614d1700bc47cec966b975a7e846aea..0741398cc76dc8d3fcdb78abc83dd934e02deafe 100644 (file)
@@ -297,7 +297,6 @@ void AliQADataMakerSteer::Reset()
                }
        }
 
-       fRunLoader      = NULL ;
        delete fRawReader ;
        fRawReader      = NULL ;
 
@@ -332,7 +331,7 @@ Bool_t AliQADataMakerSteer::Run(const AliQA::TASKINDEX taskIndex, const  char *
                // loop over detectors
                TObjArray* detArray = fRunLoader->GetAliRun()->Detectors() ;
                for (UInt_t iDet = 0 ; iDet < fgkNDetectors ; iDet++) {
-                       AliModule* det = static_cast<AliModule*>(detArray->At(iDet)) ;
+                       AliModule* det = static_cast<AliModule*>(detArray->FindObject(AliQA::GetDetName(iDet))) ;
                        if (!det || !det->IsActive()) 
                                continue;
                        AliQADataMaker * qadm = GetQADataMaker(iDet) ;
index 20b8a08afecc5a90145ec60af6c17fa6195cd1f0..be37181932823fd7107f3bda03417b2fef1b850f 100644 (file)
 #include "AliGenEventHeader.h"
 #include "AliMC.h"
 #include "AliHLTSimulation.h"
-#include "AliQA.h"
 #include "AliQADataMakerSteer.h"
 
 ClassImp(AliSimulation)
@@ -536,9 +535,10 @@ Bool_t AliSimulation::Run(Int_t nEvents)
     if (!RunSimulation()) if (fStopOnError) return kFALSE;
   }
 
-//QA
-       AliQADataMakerSteer qas ; 
-       qas.Run(AliQA::kHITS);
+  //QA
+  if (!RunQA("ALL", AliQA::kHITS))
+       if (fStopOnError) 
+               return kFALSE ;         
 
   // Set run number in CDBManager (if it is not already set in RunSimulation)
   if (!SetRunNumber()) if (fStopOnError) return kFALSE;
@@ -555,17 +555,20 @@ Bool_t AliSimulation::Run(Int_t nEvents)
   // hits -> summable digits
   if (!fMakeSDigits.IsNull()) {
     if (!RunSDigitization(fMakeSDigits)) if (fStopOnError) return kFALSE;
+  //QA
+    RunQA(fMakeSDigits, AliQA::kSDIGITS) ;   
   }
   
-  //QA
-       qas.Reset() ; 
-       qas.Run(AliQA::kSDIGITS);
 
   // summable digits -> digits
   if (!fMakeDigits.IsNull()) {
     if (!RunDigitization(fMakeDigits, fMakeDigitsFromHits)) {
       if (fStopOnError) return kFALSE;
     }
+    //QA
+    if (!RunQA(fMakeDigits, AliQA::kDIGITS) )          
+               if (fStopOnError) 
+                       return kFALSE ;         
   }
 
   // hits -> digits
@@ -579,11 +582,12 @@ Bool_t AliSimulation::Run(Int_t nEvents)
     if (!RunHitsDigitization(fMakeDigitsFromHits)) {
       if (fStopOnError) return kFALSE;
     }
+       //QA
+       if( !RunQA(fMakeDigitsFromHits, AliQA::kDIGITS) )       
+               if (fStopOnError) 
+                       return kFALSE ;         
+
   }
-  
-  //QA
-       qas.Reset() ; 
-       qas.Run(AliQA::kDIGITS);
 
   // digits -> trigger
   if (!RunTrigger(fMakeTrigger)) {
@@ -1457,3 +1461,14 @@ Bool_t AliSimulation::RunHLT()
 
   return iResult>=0?kTRUE:kFALSE;
 }
+
+//_____________________________________________________________________________
+Bool_t AliSimulation::RunQA(const char* detectors, AliQA::TASKINDEX task)
+{
+// run the QA on summable digits pr digits
+
+         AliQADataMakerSteer qas ; 
+         qas.Reset() ; 
+         return qas.Run(task); 
+}
+
index 2f700eef0ba3c8731252f77bafc93e11e4fd471b..2dac2a7132a27159632a82c9d4d758ce79d1a413 100644 (file)
@@ -15,6 +15,7 @@
 #include <TNamed.h>
 #include <TString.h>
 #include <TObjArray.h>
+#include "AliQA.h"
 
 class AliCDBId;
 class AliCDBParam;
@@ -102,6 +103,7 @@ public:
   Int_t       GetDetIndex(const char * detector);
   const Int_t GetQACycles(const char * detector) { return fQACycles[GetDetIndex(detector)] ; }
   void        SetQACycles(const char * detector, const Int_t cycles) { fQACycles[GetDetIndex(detector)] = cycles ; }
+  Bool_t      RunQA(const char* detectors, AliQA::TASKINDEX task) ;
 
 private:
   AliRunLoader*  LoadRun(const char* mode = "UPDATE") const;