mods to prevent calling Global QA when QA is run in standalone mode
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Mar 2010 12:10:17 +0000 (12:10 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Mar 2010 12:10:17 +0000 (12:10 +0000)
STEER/AliQAManager.cxx
STEER/AliQAv1.cxx
STEER/AliQAv1.h
prod/cosmic/rawqa.C
prod/cosmic/rawqa.sh

index f71dd6d..0bf8d0a 100644 (file)
@@ -457,7 +457,7 @@ AliQADataMaker * AliQAManager::GetQADataMaker(const Int_t iDet)
       if ( AliRecoParam::Convert(qadm->GetRecoParam()->GetEventSpecie()) != AliRecoParam::kDefault)
         qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
 
-  } else if (iDet == AliQAv1::kGLOBAL) { //Global QA
+  } else if (iDet == AliQAv1::kGLOBAL && strcmp(GetMode(), AliQAv1::GetModeName(AliQAv1::kRECMODE)) == 0) { //Global QA
 
                qadm = new AliGlobalQADataMaker();
                qadm->SetName(AliQAv1::GetDetName(iDet));
@@ -468,7 +468,7 @@ AliQADataMaker * AliQAManager::GetQADataMaker(const Int_t iDet)
       if ( AliRecoParam::Convert(qadm->GetRecoParam()->GetEventSpecie()) != AliRecoParam::kDefault)  
         qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
 
-       }       else if (iDet == AliQAv1::kCORR && strcmp(GetMode(), "Rec") == 0 ) { //the data maker for correlations among detectors
+       }       else if (iDet == AliQAv1::kCORR && strcmp(GetMode(), AliQAv1::GetModeName(AliQAv1::kRECMODE)) == 0 ) { //the data maker for correlations among detectors
     qadm = new AliCorrQADataMakerRec(fQADataMaker) ; 
                qadm->SetName(AliQAv1::GetDetName(iDet));
                qadm->SetUniqueID(iDet);
@@ -479,11 +479,13 @@ AliQADataMaker * AliQAManager::GetQADataMaker(const Int_t iDet)
         qadm->SetEventSpecie(qadm->GetRecoParam()->GetEventSpecie()) ; 
 
   } else if ( iDet < AliQAv1::kGLOBAL ) {
-    
+    TString  smode(GetMode()) ; 
+    if (smode.Contains(AliQAv1::GetModeName(AliQAv1::kQAMODE)))
+      smode = AliQAv1::GetModeName(AliQAv1::kRECMODE) ; 
     // load the QA data maker object
     TPluginManager* pluginManager = gROOT->GetPluginManager() ;
     TString detName = AliQAv1::GetDetName(iDet) ;
-    TString qadmName = "Ali" + detName + "QADataMaker" + GetMode() ;
+    TString qadmName = "Ali" + detName + "QADataMaker" + smode ;
     
     // first check if a plugin is defined for the quality assurance data maker
     TPluginHandler* pluginHandler = pluginManager->FindHandler("AliQADataMaker", detName) ;
@@ -491,9 +493,9 @@ AliQADataMaker * AliQAManager::GetQADataMaker(const Int_t iDet)
     if (!pluginHandler) {
       AliDebug(AliQAv1::GetQADebugLevel(), Form("defining plugin for %s", qadmName.Data())) ;
       TString libs = gSystem->GetLibraries() ;
-      TString temp(GetMode()) ;
+      TString temp(smode) ;
       temp.ToLower() ; 
-      if (libs.Contains("lib" + detName + GetMode() + ".so") || (gSystem->Load("lib" + detName + temp.Data() + ".so") >= 0)) {
+      if (libs.Contains("lib" + detName + smode + ".so") || (gSystem->Load("lib" + detName + temp.Data() + ".so") >= 0)) {
         pluginManager->AddHandler("AliQADataMaker", detName, qadmName, detName + "qadm", qadmName + "()") ;
       } else {
         pluginManager->AddHandler("AliQADataMaker", detName, qadmName, detName, qadmName + "()") ;
@@ -1088,7 +1090,8 @@ void AliQAManager::Reset(const Bool_t sameCycle)
        for (UInt_t iDet = 0; iDet < fgkNDetectors ; iDet++) {
                if (IsSelected(AliQAv1::GetDetName(iDet))) {
                        AliQADataMaker * qadm = GetQADataMaker(iDet);
-                       qadm->Reset();
+                       if (qadm) 
+        qadm->Reset();
                }
        } 
        if (fRawReaderDelete) { 
@@ -1128,8 +1131,8 @@ AliQAManager * AliQAManager::QAManager(AliQAv1::MODE_t mode, TMap *entryCache, I
   // returns AliQAManager instance (singleton)
   
        if (!fgQAInstance) {
-    if ( (mode != AliQAv1::kSIMMODE) && (mode != AliQAv1::kRECMODE) ) {
-      AliWarningClass("You must specify kSIMMODE or kRECMODE") ; 
+    if ( (mode != AliQAv1::kSIMMODE) && (mode != AliQAv1::kRECMODE) && (mode != AliQAv1::kQAMODE) ) {
+      AliWarningClass("You must specify kSIMMODE or kRECMODE or kQAMODE") ; 
       return NULL ; 
     }
     fgQAInstance = new AliQAManager(mode) ;  
index 6c77845..0ebf5fc 100644 (file)
@@ -61,7 +61,7 @@ TString        AliQAv1::fgDetNames[]           = {"ITS", "TPC", "TRD", "TOF", "P
                                                   "ZDC", "PMD", "T0", "VZERO", "ACORDE", "HLT", "Global", "CORR"} ;   
 TString        AliQAv1::fgGRPPath              = "GRP/GRP/Data" ; 
 TString        AliQAv1::fgTaskNames[]          = {"Raws", "Hits", "SDigits", "Digits", "DigitsR", "RecPoints", "TrackSegments", "RecParticles", "ESDs"} ;   
-TString        AliQAv1::fgModeNames[]          = {"", "Sim", "Rec"} ;   
+TString        AliQAv1::fgModeNames[]          = {"", "Sim", "Rec", "QA"} ;   
 const TString  AliQAv1::fgkLabLocalFile        = "file://"  ; 
 const TString  AliQAv1::fgkLabLocalOCDB        = "local://" ;  
 const TString  AliQAv1::fgkLabAliEnOCDB        = "alien://" ;  
index 34173b4..8ccf8e7 100644 (file)
@@ -29,7 +29,7 @@ public:
     kNULLBit=-1, kINFO, kWARNING, kERROR, kFATAL, kNBIT };
   enum TASKINDEX_t {
     kNULLTASKINDEX=-1, kRAWS, kHITS, kSDIGITS, kDIGITS, kDIGITSR, kRECPOINTS, kTRACKSEGMENTS, kRECPARTICLES, kESDS, kNTASKINDEX };
-  enum MODE_t {kNULLMODE=0, kSIMMODE, kRECMODE};
+  enum MODE_t {kNULLMODE=0, kSIMMODE, kRECMODE, kQAMODE};
   
   // Creators - destructors
   AliQAv1(); // beware singleton, not to be used
index 8f285ae..3c1fc9a 100644 (file)
@@ -85,7 +85,7 @@ void rawqa(Char_t * filename, Int_t run, AliRecoParam::EventSpecie_t es=AliRecoP
 
   AliLog::SetGlobalDebugLevel(0) ; 
        
-  AliQAManager * qam = AliQAManager::QAManager(AliQAv1::kRECMODE) ; 
+  AliQAManager * qam = AliQAManager::QAManager(AliQAv1::kQAMODE) ; 
   qam->SetEventSpecie(AliRecoParam::kCosmic) ; 
   AliQAv1::Instance()->SetEventSpecie(es) ; 
 //  TString detectorsW = ""; 
index e5eb279..dc876bb 100755 (executable)
@@ -77,20 +77,23 @@ for filename in $CHUNKS; do
 $PROGRAM -b<<EOF
 .L $ALICE_ROOT/prod/cosmic/rawqa.C+
 rawqa($filename, $RUNNUM)
+.q 
 EOF
 
-$PROGRAM -b -q <<EOF
+$PROGRAM -b <<EOF
 AliQAManager * qam = AliQAManager::QAManager(AliQAv1::kRECMODE) ; 
  qam.Merge(atoi(gSystem->Getenv("RUNNUM"))) ;
+ .q
 EOF
      rm *QA.$RUNNUM.root
      cd ..
 done
 ls */Merged.QA.Data.root > merged.list
 outfile="Merged.QA.Data."$RUNNUM".root"
-$PROGRAM -b -q <<EOF
+$PROGRAM -b <<EOF
 .L $ALICE_ROOT/test/cosmic/MergeQAMerged.C
 MergeQAMerged("$outfile", "merged.list") ; 
+.q
 EOF
 rm -f merged.list
 #$PROGRAM -b -q $ALICE_ROOT/test/cosmic/qasummary.C