from trunk: fix setting an aribtrary OCDB path for QAtrain_duo and AliTaskCDBconnect.
authormkrzewic <mkrzewic@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 28 Oct 2013 12:55:11 +0000 (12:55 +0000)
committermkrzewic <mkrzewic@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 28 Oct 2013 12:55:11 +0000 (12:55 +0000)
The task also takes care of initilizing GRP (mag field and geometry)

ANALYSIS/macros/QAtrain_duo.C
PWGPP/AliTaskCDBconnect.cxx
PWGPP/AliTaskCDBconnect.h
PWGPP/PilotTrain/AddTaskCDBconnect.C

index 0b08ae8..0be5382 100644 (file)
@@ -83,6 +83,7 @@ void QAtrain_duo(const char *suffix="", Int_t run = 0,
              const char *xmlfile   = "wn.xml",
              Int_t  stage          = 0, /*0 = QA train, 1...n - merging stage*/
              const char *cdb     = "raw://")
+//             const char *cdb     = "local://$ALICE_ROOT/OCDB")
 {
   run_number = run;
   TString ss(suffix);
@@ -156,6 +157,7 @@ void LoadLibraries()
      gSystem->Load("libPWGGACaloTrackCorrelations");
      gSystem->Load("libPWGGACaloTasks");
      gSystem->Load("libPWGGAPHOSTasks");
+     gSystem->Load("libPWGTools");
      gSystem->Load("libPWGEMCAL");
      gSystem->Load("libPWGGAEMCALTasks");
   }  
@@ -184,11 +186,8 @@ void AddAnalysisTasks(const char *suffix, const char *cdb_location)
   //
   if (doCDBconnect) {
     gROOT->LoadMacro("$ALICE_ROOT/PWGPP/PilotTrain/AddTaskCDBconnect.C");
-    AliTaskCDBconnect *taskCDB = AddTaskCDBconnect();
+    AliTaskCDBconnect *taskCDB = AddTaskCDBconnect(cdb_location, run_number);
     if (!taskCDB) return;
-    AliCDBManager *cdb = AliCDBManager::Instance();
-    cdb->SetDefaultStorage(cdb_location);
-    taskCDB->SetRunNumber(run_number);
   }    
   
   //
index 11b4128..e9ecb47 100644 (file)
@@ -43,9 +43,9 @@ AliTaskCDBconnect::AliTaskCDBconnect():
 }
 
 //______________________________________________________________________________
-AliTaskCDBconnect::AliTaskCDBconnect(const char* name):
-           AliAnalysisTask(name, "ESD analysis tender car"),
-           fRun(0),
+AliTaskCDBconnect::AliTaskCDBconnect(const char* name, const char *storage, Int_t run)
+          :AliAnalysisTask(name, "ESD analysis tender car"),
+           fRun(run),
            fRunChanged(kFALSE),
            fESDhandler(NULL),
            fESD(NULL),
@@ -53,18 +53,16 @@ AliTaskCDBconnect::AliTaskCDBconnect(const char* name):
 {
 // Default constructor
   AliCDBManager *cdb = AliCDBManager::Instance();
-  cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
-  cdb->SetRun(0);
+  cdb->SetDefaultStorage(storage);
+  cdb->SetRun(run);
   DefineInput (0, TChain::Class());
-//  DefineOutput(0,  AliESDEvent::Class());
 }
 
 //______________________________________________________________________________
 AliTaskCDBconnect::~AliTaskCDBconnect()
 {
 // Destructor
-  if (fGRPManager) delete fGRPManager;
-//  if (gGeoManager) delete gGeoManager;
+  delete fGRPManager;
 }  
 
 //______________________________________________________________________________
@@ -132,9 +130,9 @@ void AliTaskCDBconnect::CreateOutputObjects()
   if (cdb->GetLock()) return;
   // SetDefault storage. Specific storages must be set by TaskCDBconnectSupply::Init()
   //  cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
-  if (!cdb->GetRaw()) {
-     cdb->SetDefaultStorage("raw://");
-  }   
+//  if (!cdb->GetRaw()) {
+//     cdb->SetDefaultStorage("raw://");
+//  }   
   if (run && (run != fRun)) {
      fRunChanged = kTRUE;
      fRun = run;
index 6fd86f3..0a02a41 100644 (file)
@@ -27,7 +27,7 @@ private:
 
 public:
   AliTaskCDBconnect();
-  AliTaskCDBconnect(const char *name);
+  AliTaskCDBconnect(const char *name, const char *storage="raw://", Int_t run=0);
   virtual ~AliTaskCDBconnect();
   AliESDInputHandler       *GetESDhandler() const {return fESDhandler;}
   AliESDEvent              *GetEvent() const {return fESD;}
index 94aaf61..73cbec1 100644 (file)
@@ -1,4 +1,4 @@
-AliTaskCDBconnect* AddTaskCDBconnect(Int_t run=0) 
+AliTaskCDBconnect* AddTaskCDBconnect(const char *path, Int_t run=0) 
 {
     AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
     if (!mgr) {
@@ -11,8 +11,7 @@ AliTaskCDBconnect* AddTaskCDBconnect(Int_t run=0)
        return NULL;
     }   
     
-    AliTaskCDBconnect *task= new AliTaskCDBconnect("CDBconnect");
-    if (run) task->SetRunNumber(run);
+    AliTaskCDBconnect *task= new AliTaskCDBconnect("CDBconnect", path, run);
     mgr->AddTask(task);
     AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();    
     mgr->ConnectInput(task,  0, cinput1);