]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
increment the event counter only in even loop and not in task loop
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 3 Jul 2009 21:52:16 +0000 (21:52 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 3 Jul 2009 21:52:16 +0000 (21:52 +0000)
STEER/AliQAManager.cxx
STEER/AliQAManager.h

index 323674e5df25151a23ccdad1cef8b7857a122d7e..924b5e14689fe715a26a3d37a148ff545599b5c9 100644 (file)
@@ -312,9 +312,10 @@ Bool_t AliQAManager::DoIt(const AliQAv1::TASKINDEX_t taskIndex)
                                } //task switch
                        }
                } // detector loop
-    Increment() ; 
+    Increment(taskIndex) ; 
        } // event loop 
        // Save QA data for all detectors
+
        rv = Finish(taskIndex) ;
        
        if ( taskIndex == AliQAv1::kRAWS ) 
@@ -568,9 +569,14 @@ void  AliQAManager::EndOfCycle(TString detectors)
 }
 
 //_____________________________________________________________________________
-void AliQAManager::Increment()
+void AliQAManager::Increment(const AliQAv1::TASKINDEX_t taskIndex)
 {
   // Increments the cycle counter for all QA Data Makers
+  static AliQAv1::TASKINDEX_t currentTask = AliQAv1::kNTASKINDEX ; 
+  if (currentTask == taskIndex) 
+    return ; 
+  else 
+    currentTask = taskIndex ; 
        for (UInt_t iDet = 0; iDet < fgkNDetectors ; iDet++) {
                if (IsSelected(AliQAv1::GetDetName(iDet))) {
                        AliQADataMaker * qadm = GetQADataMaker(iDet) ;
@@ -1096,6 +1102,43 @@ AliQAManager * AliQAManager::QAManager(const Char_t * mode, TMap *entryCache, In
        return fgQAInstance;
 }
 
+//_____________________________________________________________________________
+AliQAManager * AliQAManager::QAManager(AliQAv1::TASKINDEX_t task) 
+{
+  // returns AliQAManager instance (singleton)
+  switch (task) {
+    case AliQAv1::kRAWS:
+      return QAManager("rec") ; 
+      break;
+    case AliQAv1::kHITS:
+      return QAManager("sim") ; 
+      break;
+    case AliQAv1::kSDIGITS:
+      return QAManager("sim") ; 
+      break;
+    case AliQAv1::kDIGITS:
+      return QAManager("sim") ; 
+      break;
+    case AliQAv1::kDIGITSR:
+      return QAManager("rec") ; 
+      break;
+    case AliQAv1::kRECPOINTS:
+      return QAManager("rec") ; 
+    case AliQAv1::kTRACKSEGMENTS:
+      return NULL ; 
+      break;
+    case AliQAv1::kRECPARTICLES:
+      return NULL ; 
+      break;
+    case AliQAv1::kESDS:
+      return QAManager("rec") ; 
+      break;
+    default:
+      return NULL ; 
+      break;
+  }
+}
+
 //_____________________________________________________________________________
 TString AliQAManager::Run(const Char_t * detectors, AliRawReader * rawReader, const Bool_t sameCycle) 
 {
index 4ef5c800a9fac87663a633a7ae22dfb74c814365..b23c853c6401871f9a2916c45bbeb42ff9413cc9 100644 (file)
@@ -52,12 +52,13 @@ public:
   const Char_t *   GetMode(){ return fMode.Data() ; }
   AliQAv1     *    GetQA(UInt_t run, UInt_t evt) ; 
        AliQADataMaker * GetQADataMaker(const Int_t iDet) ; 
-       void             Increment() ;
+       void             Increment(const AliQAv1::TASKINDEX_t taskIndex = AliQAv1::kNULLTASKINDEX) ;
        void             InitQADataMaker(UInt_t run, TObjArray * detArray=0x0) ;
        Bool_t           Merge(Int_t runNumber = -1, const char *fileName = NULL) const ;  
   void             MergeCustom() const ;
   Bool_t           MergeXML(const Char_t * collection, const Char_t * subFile = 0, const Char_t * outFile = 0) ; 
   static           AliQAManager * QAManager(const Char_t * mode = "", TMap *entryCache = NULL, Int_t run = -1) ;
+  static           AliQAManager * QAManager(AliQAv1::TASKINDEX_t task) ;  
        void             Reset(const Bool_t sameCycle = kFALSE) ;  
        TString          Run(const Char_t * detectors, const AliQAv1::TASKINDEX_t taskIndex=AliQAv1::kNULLTASKINDEX, Bool_t const sameCycle = kFALSE, const Char_t * fileName = NULL) ; 
        TString          Run(const Char_t * detectors, AliRawReader * rawReader, Bool_t const sameCycle = kFALSE) ;