]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliQADataMakerSim.cxx
Scalers moved to ESDZDC (Chiara Oppedisano)
[u/mrichter/AliRoot.git] / STEER / AliQADataMakerSim.cxx
index c9fbe496757c1e656695827123d9e9cfd2ef4ffa..aaef43b314f5ca5740167050f652de2b3ab4cc6d 100644 (file)
@@ -24,7 +24,6 @@
 //
 
 // --- ROOT system ---
-#include <TCanvas.h>
 #include <TFile.h>
 #include <TTree.h>
 #include <TClonesArray.h>
@@ -42,7 +41,9 @@ AliQADataMakerSim::AliQADataMakerSim(const char * name, const char * title) :
   AliQADataMaker(name, title), 
   fDigitsQAList(NULL), 
   fHitsQAList(NULL),
-  fSDigitsQAList(NULL)
+  fSDigitsQAList(NULL),  
+  fHitsArray(NULL),
+  fSDigitsArray(NULL)
 {
        // ctor
        fDetectorDirName = GetName() ; 
@@ -53,7 +54,9 @@ AliQADataMakerSim::AliQADataMakerSim(const AliQADataMakerSim& qadm) :
   AliQADataMaker(qadm.GetName(), qadm.GetTitle()), 
   fDigitsQAList(qadm.fDigitsQAList),
   fHitsQAList(qadm.fHitsQAList),
-  fSDigitsQAList(qadm.fSDigitsQAList)
+  fSDigitsQAList(qadm.fSDigitsQAList),  
+  fHitsArray(NULL),
+  fSDigitsArray(NULL)
 {
   //copy ctor
   fDetectorDirName = GetName() ; 
@@ -84,6 +87,14 @@ AliQADataMakerSim::~AliQADataMakerSim()
     }
                delete[] fSDigitsQAList ;
   }
+  if (fHitsArray) {
+    fHitsArray->Clear() ; 
+    delete fHitsArray ;
+  }
+  if (fSDigitsArray) {
+    fSDigitsArray->Clear() ; 
+    delete fSDigitsArray ;
+  }  
 }
 
 //__________________________________________________________________
@@ -131,32 +142,32 @@ void AliQADataMakerSim::EndOfCycle(AliQAv1::TASKINDEX_t task)
   for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
     if (! AliQAv1::Instance(AliQAv1::GetDetIndex(GetName()))->IsEventSpecieSet(AliRecoParam::ConvertIndex(specie)) ) 
       continue ;
-    TDirectory * eventSpecieDir = subDir->GetDirectory(AliRecoParam::GetEventSpecieName(specie)) ;
-    if (!eventSpecieDir) 
-      eventSpecieDir = subDir->mkdir(AliRecoParam::GetEventSpecieName(specie)) ; 
-    eventSpecieDir->cd() ; 
-    TIter next(list[specie]) ; 
-    TObject * obj ; 
-    while ( (obj = next()) )  {
-      if (!obj->TestBit(AliQAv1::GetExpertBit()))
-        obj->Write() ;
-    }
-    if (WriteExpert()) {
-      TDirectory * expertDir = eventSpecieDir->GetDirectory(AliQAv1::GetExpert()) ; 
-      if (!expertDir) 
-        expertDir = eventSpecieDir->mkdir(AliQAv1::GetExpert()) ; 
-      expertDir->cd() ;
-      next.Reset() ; 
-      while ( (obj = next()) ) {
+    if (list[specie]->GetEntries() != 0 ) {
+      TDirectory * eventSpecieDir = subDir->GetDirectory(AliRecoParam::GetEventSpecieName(specie)) ;
+      if (!eventSpecieDir) 
+        eventSpecieDir = subDir->mkdir(AliRecoParam::GetEventSpecieName(specie)) ; 
+      eventSpecieDir->cd() ; 
+      TIter next(list[specie]) ; 
+      TObject * obj ; 
+      while ( (obj = next()) )  {
         if (!obj->TestBit(AliQAv1::GetExpertBit()))
-          continue ; 
-        obj->Write() ;
-      }      
+          obj->Write() ;
+      }
+      if (WriteExpert()) {
+        TDirectory * expertDir = eventSpecieDir->GetDirectory(AliQAv1::GetExpert()) ; 
+        if (!expertDir) 
+          expertDir = eventSpecieDir->mkdir(AliQAv1::GetExpert()) ; 
+        expertDir->cd() ;
+        next.Reset() ; 
+        while ( (obj = next()) ) {
+          if (!obj->TestBit(AliQAv1::GetExpertBit()))
+            continue ; 
+          obj->Write() ;
+        }      
+      }
     }
     fOutput->Save() ; 
   }
-  if (fPrintImage) 
-    MakeImage(task) ; 
 }
 
 //____________________________________________________________________________
@@ -167,8 +178,8 @@ void AliQADataMakerSim::Exec(AliQAv1::TASKINDEX_t task, TObject * data)
        if ( task == AliQAv1::kHITS ) {  
                AliDebug(AliQAv1::GetQADebugLevel(), "Processing Hits QA") ; 
                if (strcmp(data->ClassName(), "TClonesArray") == 0) { 
-      TClonesArray * arr = static_cast<TClonesArray *>(data) ; 
-                       MakeHits(arr) ;
+      fHitsArray = static_cast<TClonesArray *>(data) ; 
+                       MakeHits() ;
                } else if (strcmp(data->ClassName(), "TTree") == 0) {
                        TTree * tree = static_cast<TTree *>(data) ; 
       MakeHits(tree) ; 
@@ -178,8 +189,8 @@ void AliQADataMakerSim::Exec(AliQAv1::TASKINDEX_t task, TObject * data)
        } else if ( task == AliQAv1::kSDIGITS ) {
                AliDebug(AliQAv1::GetQADebugLevel(), "Processing SDigits QA") ; 
                if (strcmp(data->ClassName(), "TClonesArray") == 0) { 
-      TClonesArray * arr = static_cast<TClonesArray *>(data) ; 
-                       MakeSDigits(arr) ;
+      fSDigitsArray = static_cast<TClonesArray *>(data) ; 
+                       MakeSDigits() ;
                } else if (strcmp(data->ClassName(), "TTree") == 0) {
                        TTree * tree = static_cast<TTree *>(data) ; 
       MakeSDigits(tree) ; 
@@ -189,8 +200,8 @@ void AliQADataMakerSim::Exec(AliQAv1::TASKINDEX_t task, TObject * data)
        } else if ( task == AliQAv1::kDIGITS ) {
                AliDebug(AliQAv1::GetQADebugLevel(), "Processing Digits QA") ; 
                if (strcmp(data->ClassName(), "TClonesArray") == 0) { 
-      TClonesArray * arr = static_cast<TClonesArray *>(data) ; 
-                       MakeDigits(arr) ;
+      fDigitsArray = static_cast<TClonesArray *>(data) ; 
+                       MakeDigits() ;
                } else if (strcmp(data->ClassName(), "TTree") == 0)  {
                        TTree * tree = static_cast<TTree *>(data) ; 
       MakeDigits(tree) ; 
@@ -200,45 +211,6 @@ void AliQADataMakerSim::Exec(AliQAv1::TASKINDEX_t task, TObject * data)
   }
 }
 
-//____________________________________________________________________________ 
-void AliQADataMakerSim::MakeImage(AliQAv1::TASKINDEX_t task)
-{
-  // create a drawing of detetor defined histograms
-  TObjArray ** list = NULL ;  
-  switch (task) {
-    case AliQAv1::kRAWS:
-      break;
-    case AliQAv1::kHITS:
-      list = fHitsQAList ;
-      break;
-    case AliQAv1::kSDIGITS:
-      list = fSDigitsQAList ;
-      break;  
-    case AliQAv1::kDIGITS:
-      list = fDigitsQAList ;
-      break;  
-    case AliQAv1::kDIGITSR:
-      break;
-    case AliQAv1::kRECPOINTS:
-      break;
-    case AliQAv1::kTRACKSEGMENTS:
-      break;
-    case AliQAv1::kRECPARTICLES:
-      break;
-    case AliQAv1::kESDS:
-      break;
-    case AliQAv1::kNTASKINDEX:
-      break;
-    default:
-    break;
-  }
-  if ( !list) {
-    AliFatal("data not initialized, call AliQADataMaker::Init"); 
-  return ; 
-  }
-  MakeTheImage(list, task, "Sim") ; 
-}
-
 //____________________________________________________________________________ 
 TObjArray **  AliQADataMakerSim::Init(AliQAv1::TASKINDEX_t task, Int_t cycles)
 {
@@ -251,7 +223,7 @@ TObjArray **  AliQADataMakerSim::Init(AliQAv1::TASKINDEX_t task, Int_t cycles)
                if ( ! fHitsQAList ) {
       fHitsQAList = new TObjArray *[AliRecoParam::kNSpecies] ; 
       for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
-        fHitsQAList[specie] = new TObjArray(1) ;        
+        fHitsQAList[specie] = new TObjArray(AliQAv1::GetMaxQAObj()) ;   
         fHitsQAList[specie]->SetName(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(task).Data(), AliRecoParam::GetEventSpecieName(specie))) ;
       }
                }
@@ -260,7 +232,7 @@ TObjArray **  AliQADataMakerSim::Init(AliQAv1::TASKINDEX_t task, Int_t cycles)
                if ( ! fSDigitsQAList ) {
       fSDigitsQAList = new TObjArray *[AliRecoParam::kNSpecies] ; 
       for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
-        fSDigitsQAList[specie] = new TObjArray(1) ; 
+        fSDigitsQAList[specie] = new TObjArray(AliQAv1::GetMaxQAObj()) ; 
         fSDigitsQAList[specie]->SetName(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(task).Data(), AliRecoParam::GetEventSpecieName(specie))) ; 
       }
                }
@@ -269,7 +241,7 @@ TObjArray **  AliQADataMakerSim::Init(AliQAv1::TASKINDEX_t task, Int_t cycles)
           if ( ! fDigitsQAList ) {
        fDigitsQAList = new TObjArray *[AliRecoParam::kNSpecies] ; 
        for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {    
-         fDigitsQAList[specie] = new TObjArray(1) ;
+         fDigitsQAList[specie] = new TObjArray(AliQAv1::GetMaxQAObj()) ;
          fDigitsQAList[specie]->SetName(Form("%s_%s_%s", GetName(), AliQAv1::GetTaskName(task).Data(), AliRecoParam::GetEventSpecieName(specie))) ;
        }
           }