} //task switch
}
} // detector loop
- Increment() ;
+ Increment(taskIndex) ;
} // event loop
// Save QA data for all detectors
+
rv = Finish(taskIndex) ;
if ( taskIndex == AliQAv1::kRAWS )
}
//_____________________________________________________________________________
-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) ;
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)
{
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) ;