Another round of fixes in order to use the event specie in the QA. The procedure...
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 May 2009 14:18:52 +0000 (14:18 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 May 2009 14:18:52 +0000 (14:18 +0000)
ITS/AliITSQADataMakerSim.cxx
STEER/AliDetectorRecoParam.cxx
STEER/AliDetectorRecoParam.h
STEER/AliQAChecker.cxx
STEER/AliQADataMaker.cxx
STEER/AliQAManager.cxx
STEER/AliRecoParam.cxx
STEER/AliRecoParam.h
T0/AliT0QADataMakerRec.cxx
TPC/AliTPCQADataMakerRec.cxx
VZERO/AliVZEROQADataMakerRec.cxx

index c26722f..8c30dab 100644 (file)
@@ -116,7 +116,7 @@ void AliITSQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArr
 {
   // launch the QA checking
   for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
-    SetEventSpecie(specie) ; 
+    SetEventSpecie(AliRecoParam::ConvertIndex(specie)) ; 
     AliDebug(AliQAv1::GetQADebugLevel(),"AliITSDM instantiates checker with Run(AliQAv1::kITS, task, list)\n"); 
     if(fSubDetector == 0 || fSubDetector == 1) fSPDDataMaker->EndOfDetectorCycle(task, list[specie]);
     if(fSubDetector == 0 || fSubDetector == 2) fSDDDataMaker->EndOfDetectorCycle(task, list[specie]);
index a64fe79..f872a78 100644 (file)
@@ -37,7 +37,7 @@ ClassImp(AliDetectorRecoParam)
 
 AliDetectorRecoParam::AliDetectorRecoParam():
   TNamed(),
-  fEventSpecie(0)
+fEventSpecie(AliRecoParam::kDefault)
 {
   //
   // default constructor
index 67df07a..f7d16ef 100644 (file)
@@ -23,7 +23,7 @@ class AliDetectorRecoParam : public TNamed
   void  Print(Option_t */*option*/) const {Dump();}
 
   Int_t          GetEventSpecie() const { return fEventSpecie; }
-  void           SetEventSpecie(Int_t specie) { fEventSpecie = specie; }
+  void           SetEventSpecie(AliRecoParam::EventSpecie_t specie) { fEventSpecie = specie; }
   void           SetAsDefault() { fEventSpecie |= AliRecoParam::kDefault; }
   Bool_t         IsDefault() const { return (fEventSpecie & AliRecoParam::kDefault); }
 
index af5acd1..9cd16ed 100644 (file)
@@ -377,7 +377,7 @@ Bool_t AliQAChecker::Run(const char * fileName)
   AliInfo("QA performed for following detectors:") ; 
   for ( Int_t det = 0; det < AliQAv1::kNDET; det++) {
     if (fFoundDetectors.Contains(AliQAv1::GetDetName(det))) {
-      printf("%s, ",AliQAv1::GetDetName(det)) ; 
+      AliInfoClass(Form("%s, ",AliQAv1::GetDetName(det))) ; 
       fFoundDetectors.ReplaceAll(AliQAv1::GetDetName(det), "") ; 
     }  
   }
index 889cf13..a54acbc 100644 (file)
@@ -49,6 +49,8 @@
 #include "AliQAChecker.h"
 #include "AliESDEvent.h"
 #include "AliRawReader.h"
+#include "AliDetectorRecoParam.h"
+
 
 ClassImp(AliQADataMaker)
              
@@ -170,6 +172,15 @@ TObject * AliQADataMaker::GetData(TObjArray ** list, const Int_t index)
                AliError("Data list is NULL !!") ; 
                return NULL ;           
        }
+
+  SetEventSpecie(fEventSpecie) ;  
+  if ( GetRecoParam() ) {
+    if ( AliRecoParam::Convert(GetRecoParam()->GetEventSpecie()) != AliRecoParam::kDefault) {
+      SetEventSpecie(GetRecoParam()->GetEventSpecie()) ; 
+    } else { 
+      AliError(Form("Event Specie from RecoParam of %s is = %d\n", GetName(), fEventSpecie));
+    }
+  }
        if (list[AliRecoParam::AConvert(fEventSpecie)]) {
                if ( index > 10000 ) {
                        AliError("Max number of authorized QA objects is 10000") ; 
index a017c1a..60902ea 100644 (file)
@@ -407,10 +407,10 @@ AliQADataMaker * AliQAManager::GetQADataMaker(const Int_t iDet)
        // get the quality assurance data maker for a detector
        
        if (fQADataMaker[iDet]) {
+    fQADataMaker[iDet]->SetEventSpecie(fEventSpecie) ;  
     if ( fQADataMaker[iDet]->GetRecoParam() ) 
-      fQADataMaker[iDet]->SetEventSpecie(fQADataMaker[iDet]->GetRecoParam()->GetEventSpecie()) ; 
-    else 
-      fQADataMaker[iDet]->SetEventSpecie(fEventSpecie) ;  
+      if ( AliRecoParam::Convert(fQADataMaker[iDet]->GetRecoParam()->GetEventSpecie()) != AliRecoParam::kDefault)
+        fQADataMaker[iDet]->SetEventSpecie(fQADataMaker[iDet]->GetRecoParam()->GetEventSpecie()) ; 
                return fQADataMaker[iDet] ;
   }
        
@@ -421,10 +421,10 @@ AliQADataMaker * AliQAManager::GetQADataMaker(const Int_t iDet)
                qadm->SetName(AliQAv1::GetDetName(iDet));
                qadm->SetUniqueID(iDet);
                fQADataMaker[iDet] = qadm;
+    qadm->SetEventSpecie(fEventSpecie) ;  
     if ( qadm->GetRecoParam() ) 
-      qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
-    else 
-      qadm->SetEventSpecie(fEventSpecie) ;  
+      if ( AliRecoParam::Convert(qadm->GetRecoParam()->GetEventSpecie()) != AliRecoParam::kDefault)  
+        qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
                return qadm;
        }
 
@@ -433,10 +433,10 @@ AliQADataMaker * AliQAManager::GetQADataMaker(const Int_t iDet)
                qadm->SetName(AliQAv1::GetDetName(iDet));
                qadm->SetUniqueID(iDet);
                fQADataMaker[iDet] = qadm;
+    qadm->SetEventSpecie(fEventSpecie) ;  
     if ( qadm->GetRecoParam() ) 
-      qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
-    else 
-      qadm->SetEventSpecie(fEventSpecie) ;  
+      if ( AliRecoParam::Convert(qadm->GetRecoParam()->GetEventSpecie()) != AliRecoParam::kDefault)  
+        qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
                return qadm;
   }
 
@@ -471,10 +471,10 @@ AliQADataMaker * AliQAManager::GetQADataMaker(const Int_t iDet)
                qadm->SetName(AliQAv1::GetDetName(iDet));
                qadm->SetUniqueID(iDet);
                fQADataMaker[iDet] = qadm ;
+    qadm->SetEventSpecie(fEventSpecie) ;  
     if ( qadm->GetRecoParam() ) 
-      qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
-    else 
-      qadm->SetEventSpecie(fEventSpecie) ;  
+      if ( AliRecoParam::Convert(qadm->GetRecoParam()->GetEventSpecie()) != AliRecoParam::kDefault)  
+        qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
        }
 
   return qadm ;
@@ -750,9 +750,7 @@ Bool_t AliQAManager::MergeXML(const char * collectionFile, const char * subFile,
    return kFALSE ; 
  
   // Open the file collection 
-  printf("*** Create Collection       ***\n");
-  printf("***  Wk-Dir = |%s|             \n",gSystem->WorkingDirectory());
-  printf("***  Coll   = |%s|             \n",collectionFile);                  
+  AliInfoClass(Form("*** Create Collection       ***\n***  Wk-Dir = |%s|             \n***  Coll   = |%s|             \n",gSystem->WorkingDirectory(), collectionFile));               
   
   TGridCollection * collection = (TGridCollection*)gROOT->ProcessLine(Form("TAlienCollection::Open(\"%s\")",collectionFile));
   TGridResult* result = collection->GetGridResult("", 0, 0);
@@ -1173,10 +1171,10 @@ void AliQAManager::RunOneEvent(AliRawReader * rawReader)
         qadm->EndOfCycle() ;
       }
       AliCodeTimerStart(Form("running RAW quality assurance data maker for %s", AliQAv1::GetDetName(iDet))); 
+      qadm->SetEventSpecie(fEventSpecie) ;  
       if ( qadm->GetRecoParam() ) 
-        qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
-      else 
-        qadm->SetEventSpecie(fEventSpecie) ;  
+        if ( AliRecoParam::Convert(qadm->GetRecoParam()->GetEventSpecie()) != AliRecoParam::kDefault)  
+          qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
                        qadm->Exec(AliQAv1::kRAWS, rawReader) ;
       AliCodeTimerStop(Form("running RAW quality assurance data maker for %s", AliQAv1::GetDetName(iDet)));
                }
@@ -1196,10 +1194,10 @@ void AliQAManager::RunOneEvent(AliESDEvent *& esd)
       AliQADataMaker *qadm = GetQADataMaker(iDet);  
       if (!qadm) 
         continue;
+      qadm->SetEventSpecie(fEventSpecie) ;  
       if ( qadm->GetRecoParam() ) 
-        qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
-      else 
-        qadm->SetEventSpecie(fEventSpecie) ;  
+        if ( AliRecoParam::Convert(qadm->GetRecoParam()->GetEventSpecie()) != AliRecoParam::kDefault)  
+          qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
       if ( qadm->IsCycleDone() ) {
         qadm->EndOfCycle() ;
       }
@@ -1219,10 +1217,10 @@ void AliQAManager::RunOneEventInOneDetector(Int_t det, TTree * tree)
     if (IsSelected(AliQAv1::GetDetName(det))) {
       AliQADataMaker *qadm = GetQADataMaker(det);  
       if (qadm) { 
+        qadm->SetEventSpecie(fEventSpecie) ;  
         if ( qadm->GetRecoParam() ) 
-          qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
-        else 
-          qadm->SetEventSpecie(fEventSpecie) ;  
+          if ( AliRecoParam::Convert(qadm->GetRecoParam()->GetEventSpecie()) != AliRecoParam::kDefault)  
+            qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ;         
         if ( qadm->IsCycleDone() ) {
           qadm->EndOfCycle() ;
         }
index 1425c39..c86f2cb 100644 (file)
@@ -25,6 +25,7 @@
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
+#include "TClass.h"
 #include "TObjArray.h"
 #include "TMath.h"
 #include "AliDetectorRecoParam.h"
@@ -33,6 +34,7 @@
 #include "AliRecoParam.h"
 #include "AliRunInfo.h"
 #include "AliEventInfo.h"
+#include "AliLog.h"
 
 ClassImp(AliRecoParam)
 
@@ -98,29 +100,74 @@ AliRecoParam::~AliRecoParam(){
 Int_t AliRecoParam::AConvert(EventSpecie_t es)
 {
   //Converts EventSpecie_t  into int
-  return static_cast<Int_t>(TMath::Log2(es)) ; 
-  
+  Int_t rv = -1 ; 
+  switch (es) {
+    case kDefault:
+      rv = 0 ; 
+      break;
+    case kLowMult:
+      rv = 1 ; 
+      break;
+    case kHighMult:
+      rv = 2 ; 
+      break;
+    case kCosmic:
+      rv = 3 ; 
+      break;
+    case kCalib:
+      rv = 4 ; 
+      break;
+    default:
+      break;
+  }
+  if (rv >= 0) 
+    return rv ;
+  else 
+    AliFatalClass(Form("Wrong event specie conversion %d", es)) ; 
 }
 
 AliRecoParam::EventSpecie_t AliRecoParam::Convert(Int_t ies)
 {
   //Converts int into EventSpecie_t
-  AliRecoParam::EventSpecie_t es = AliRecoParam::kDefault ; 
-  
-  Int_t i = (Int_t)TMath::Power(2, ies) ; 
-  
-  if ( i == AliRecoParam::kLowMult) 
+  AliRecoParam::EventSpecie_t es = kDefault ; 
+  if ( ies >> 1) 
     es = kLowMult ; 
-  else if ( i == AliRecoParam::kHighMult) 
+  if ( ies >> 2) 
     es = kHighMult ;   
-  else if ( i == AliRecoParam::kCosmic) 
+  if ( ies >> 3) 
     es = kCosmic ;   
-  else if ( i == AliRecoParam::kCalib) 
-    es = kCalib ;   
-  
+  if ( ies >> 4) 
+    es = kCalib ;
+
   return es ;   
 }
 
+AliRecoParam::EventSpecie_t AliRecoParam::ConvertIndex(Int_t index)
+{
+  //Converts index of lists into eventspecie
+  EventSpecie_t es = kDefault ; 
+  switch (index) {
+    case 0:
+      es = kDefault ; 
+      break;
+    case 1:
+      es = kLowMult ; 
+      break;
+    case 2:
+      es = kHighMult ;   
+      break;
+    case 3:
+      es = kCosmic ;   
+      break;
+    case 4:
+      es = kCalib ;
+      break;
+    default:
+      break;
+  }
+  return es ;
+}
+
 void  AliRecoParam::Print(Option_t *option) const {
   //
   // Print reconstruction setup
index 64c81d8..a468909 100644 (file)
@@ -37,7 +37,9 @@ class AliRecoParam : public TObject
                      kCalib = 16};
 
   static Int_t                  AConvert(EventSpecie_t es) ; 
-  static EventSpecie_t          Convert(Int_t es) ; 
+  static EventSpecie_t          Convert(Int_t ies) ; 
+  static EventSpecie_t          ConvertIndex(Int_t index) ;
+
   virtual void                  Print(Option_t *option="") const;
   const TObjArray              *GetDetRecoParamArray(Int_t iDet) const { return fDetRecoParams[iDet]; }
   void                          SetEventSpecie(const AliRunInfo*runInfo, const AliEventInfo &evInfo);
index d2be8b1..ca435f4 100644 (file)
@@ -87,7 +87,7 @@ void AliT0QADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArra
   // do the QA checking
   AliQAChecker::Instance()->Run(AliQAv1::kT0, task, list) ;
   for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
-    SetEventSpecie(specie) ; 
+    SetEventSpecie(AliRecoParam::ConvertIndex(specie)) ; 
     if ( task == AliQAv1::kRAWS ) {
       const Char_t *triggers[6] = {"mean", "vertex","ORA","ORC","central","semi-central"};
       for (Int_t itr=0; itr<6; itr++) {
index 2bc3bd8..c2f295d 100644 (file)
@@ -141,7 +141,7 @@ void AliTPCQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArr
       fTPCdataQA[specie]->Analyse(); // 31/1-08 Analyse is now protected against
                            //         RAW data files with no TPC data
 
-      SetEventSpecie(specie) ; 
+      SetEventSpecie(AliRecoParam::ConvertIndex(specie)) ; 
       TH1F * histRawsOccupancy                 = (TH1F*)GetRawsData(kOccupancy) ;
       TH1F * histRawsOccupancyVsSector         = (TH1F*)GetRawsData(kOccupancyVsSector) ;
       TH1F * histRawsNClustersPerEventVsSector = (TH1F*)GetRawsData(kNClustersPerEventVsSector) ;
@@ -273,7 +273,7 @@ void AliTPCQADataMakerRec::InitRaws()
   const Bool_t image    = kTRUE ; 
   
   for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
-    fTPCdataQA[specie] = new AliTPCdataQA(AliRecoParam::Convert(specie));
+    fTPCdataQA[specie] = new AliTPCdataQA(AliRecoParam::ConvertIndex(specie));
     LoadMaps(); // Load Altro maps
     fTPCdataQA[specie]->SetAltroMapping(fMapping); // set Altro mapping
     fTPCdataQA[specie]->SetRangeTime(100, 920); // set time bin interval 
index d4b6730..fe8e485 100644 (file)
@@ -126,7 +126,7 @@ void AliVZEROQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjA
   AliQAChecker::Instance()->Run(AliQAv1::kVZERO, task, list) ;
 
   for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
-    SetEventSpecie(specie) ; 
+    SetEventSpecie(AliRecoParam::ConvertIndex(specie)) ; 
     if(task == AliQAv1::kRAWS){
          int nMaxBin = GetRawsData(kPedestalTimeInt0)->GetNbinsY();
       if(fCurrentCycle%nMaxBin==0) {