//
// --- ROOT system ---
-#include <TCanvas.h>
#include <TFile.h>
#include <TTree.h>
#include <TNtupleD.h>
#include "AliLog.h"
#include "AliQADataMakerRec.h"
+#include "AliQAManager.h"
#include "AliESDEvent.h"
#include "AliRawReader.h"
{
// Finishes a cycle of QA
- TObjArray ** list = NULL ;
+
+ TObjArray ** list = NULL ;
if ( task == AliQAv1::kRAWS )
list = fRawsQAList ;
return ;
//DefaultEndOfDetectorCycle(task) ;
EndOfDetectorCycle(task, list) ;
+
+ if (! AliQAManager::QAManager(AliQAv1::kRECMODE)->IsSaveData())
+ return ;
+
fDetectorDir = fOutput->GetDirectory(GetDetectorDirName()) ;
if (!fDetectorDir)
fDetectorDir = fOutput->mkdir(GetDetectorDirName()) ;
if (!eventSpecieDir)
eventSpecieDir = subDir->mkdir(AliRecoParam::GetEventSpecieName(specie)) ;
eventSpecieDir->cd() ;
- if (list[specie]) {
- 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() ;
+ if (list) {
+ if (list[specie]) {
+ 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() ;
+ }
+ }
}
+ }
+ else if ( fCorrNt ) {
+ if (fCorrNt[specie] && AliQAv1::GetDetIndex(GetName()) == AliQAv1::kCORR) {
+ eventSpecieDir->cd() ;
+ fCorrNt[specie]->Write() ;
+ }
+ fOutput->Save() ;
}
- if ( !fCorrNt )
- continue ;
- if (fCorrNt[specie] && AliQAv1::GetDetIndex(GetName()) == AliQAv1::kCORR) {
- eventSpecieDir->cd() ;
- fCorrNt[specie]->Write() ;
- }
- fOutput->Save() ;
- }
- MakeImage(task) ;
-}
-
-//____________________________________________________________________________
-void AliQADataMakerRec::MakeImage(AliQAv1::TASKINDEX_t task)
-{
- // create a drawing of detetor defined histograms
- TObjArray ** list = NULL ;
- switch (task) {
- case AliQAv1::kRAWS:
- list = fRawsQAList ;
- break;
- case AliQAv1::kHITS:
- break;
- case AliQAv1::kSDIGITS:
- break;
- case AliQAv1::kDIGITS:
- break;
- case AliQAv1::kDIGITSR:
- list = fDigitsQAList ;
- break;
- case AliQAv1::kRECPOINTS:
- list = fRecPointsQAList ;
- break;
- case AliQAv1::kTRACKSEGMENTS:
- break;
- case AliQAv1::kRECPARTICLES:
- break;
- case AliQAv1::kESDS:
- list = fESDsQAList ;
- break;
- case AliQAv1::kNTASKINDEX:
- break;
- default:
- break;
- }
- if ( !list) {
- AliError("data not initialized, call AliQADataMaker::Init");
- return ;
}
- MakeTheImage(list, task, "Rec") ;
}
//____________________________________________________________________________
AliCDBEntry *entry=AliCDBManager::Instance()->Get(path.GetPath());
if(!entry) {
fRecoParam = NULL ;
- AliWarning(Form("Couldn't find RecoParam entry in OCDB for detector %s",GetName()));
+ AliDebug(AliQAv1::GetQADebugLevel(), Form("Couldn't find RecoParam entry in OCDB for detector %s",GetName()));
}
else {
TObject * recoParamObj = entry->GetObject() ;
AliError(Form("No valid RecoParam object found in the OCDB for detector %s",GetName()));
}
}
- AliCDBManager::Instance()->UnloadFromCache(path.GetPath());
}
}
ResetCycle() ;
if (fOutput)
fOutput->Close() ;
- fOutput = AliQAv1::GetQADataFile(GetName(), fRun) ;
+ if (AliQAManager::QAManager(AliQAv1::kRECMODE)->IsSaveData())
+ fOutput = AliQAv1::GetQADataFile(GetName(), fRun) ;
}
AliDebug(AliQAv1::GetQADebugLevel(), Form(" Run %d Cycle %d task %s file %s",
fRun, fCurrentCycle, AliQAv1::GetTaskName(task).Data(), fOutput->GetName() )) ;