+void AliQADataMakerRec::InitRecoParams()
+{
+ if (!fRecoParam) {
+ AliInfo(Form("Loading reconstruction parameter objects for detector %s", GetName()));
+ AliCDBPath path(GetName(),"Calib","RecoParam");
+ AliCDBEntry *entry=AliCDBManager::Instance()->Get(path.GetPath());
+ if(!entry) {
+ fRecoParam = NULL ;
+ AliWarning(Form("Couldn't find RecoParam entry in OCDB for detector %s",GetName()));
+ }
+ else {
+ TObject * recoParamObj = entry->GetObject() ;
+ if (dynamic_cast<TObjArray*>(recoParamObj)) {
+ // The detector has only one set of reco parameters
+ AliInfo(Form("Array of reconstruction parameters found for detector %s",GetName()));
+ TObjArray *recoParamArray = dynamic_cast<TObjArray*>(recoParamObj) ;
+ for (Int_t iRP=0; iRP<recoParamArray->GetEntriesFast(); iRP++) {
+ fRecoParam = dynamic_cast<AliDetectorRecoParam*>(recoParamArray->At(iRP)) ;
+ if (fRecoParam->IsDefault()) break;
+ }
+ }
+ else if (dynamic_cast<AliDetectorRecoParam*>(recoParamObj)) {
+ // The detector has only onse set of reco parameters
+ // Registering it in AliRecoParam
+ AliInfo(Form("Single set of reconstruction parameters found for detector %s",GetName()));
+ dynamic_cast<AliDetectorRecoParam*>(recoParamObj)->SetAsDefault();
+ fRecoParam = dynamic_cast<AliDetectorRecoParam*>(recoParamObj) ;
+ } else {
+ AliError(Form("No valid RecoParam object found in the OCDB for detector %s",GetName()));
+ }
+ }
+ AliCDBManager::Instance()->UnloadFromCache(path.GetPath());
+ }
+}
+
+//____________________________________________________________________________
+void AliQADataMakerRec::StartOfCycle(Int_t run)
+{
+ // Finishes a cycle of QA for all the tasks
+ Bool_t samecycle = kFALSE ;
+ StartOfCycle(AliQAv1::kRAWS, run, samecycle) ;
+ samecycle = kTRUE ;
+ StartOfCycle(AliQAv1::kRECPOINTS, run, samecycle) ;
+ StartOfCycle(AliQAv1::kESDS, run, samecycle) ;
+}
+
+//____________________________________________________________________________
+void AliQADataMakerRec::StartOfCycle(AliQAv1::TASKINDEX_t task, Int_t run, const Bool_t sameCycle)