]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Preparing UNICOR for running on PWG2 train etc.
authormisko <misko@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Jun 2009 13:15:19 +0000 (13:15 +0000)
committermisko <misko@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Jun 2009 13:15:19 +0000 (13:15 +0000)
PWG2/PROOF-INF.PWG2unicor/BUILD.sh [new file with mode: 0755]
PWG2/PROOF-INF.PWG2unicor/SETUP.C [new file with mode: 0644]
PWG2/UNICOR/AddTaskUnicor.C [new file with mode: 0644]
PWG2/UNICOR/runAsTask.C

diff --git a/PWG2/PROOF-INF.PWG2unicor/BUILD.sh b/PWG2/PROOF-INF.PWG2unicor/BUILD.sh
new file mode 100755 (executable)
index 0000000..cebcb30
--- /dev/null
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+touch libPWG2unicor.pkg
+
+make libPWG2unicor.so
diff --git a/PWG2/PROOF-INF.PWG2unicor/SETUP.C b/PWG2/PROOF-INF.PWG2unicor/SETUP.C
new file mode 100644 (file)
index 0000000..f8770e3
--- /dev/null
@@ -0,0 +1,24 @@
+/=============================================================================
+void SETUP() {
+  CheckLoadLibrary("libPhysics.so");
+  CheckLoadLibrary("libEG.so");
+  CheckLoadLibrary("libTree.so");
+  CheckLoadLibrary("libVMC.so"); 
+  CheckLoadLibrary("libSTEERBase.so");
+  CheckLoadLibrary("libESD.so");
+  CheckLoadLibrary("libANALYSIS");
+  CheckLoadLibrary("libANALYSISalice");
+  CheckLoadLibrary("libPWG2unicor");
+
+  gROOT->ProcessLine(".include PWG2unicor/UNICOR");
+  gSystem->Setenv("PWG2unicor_INCLUDE", "PWG2unicor/UNICOR");
+}
+/=============================================================================
+Int_t CheckLoadLibrary(const char* library) {
+
+  // load library if not yet done
+
+  if (strlen(gSystem->GetLibraries(Form("%s.so", library), "", kFALSE)) > 0) return 1;  
+  return gSystem->Load(library);
+}
+/=============================================================================
diff --git a/PWG2/UNICOR/AddTaskUnicor.C b/PWG2/UNICOR/AddTaskUnicor.C
new file mode 100644 (file)
index 0000000..50b9ead
--- /dev/null
@@ -0,0 +1,18 @@
+AliAnalysisTaskUnicor *AddTaskUnicor()
+{
+  // Creates a unicor analysis task and adds it to the analysis manager 
+
+  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+  if (!mgr) {Error("AddTaskUnicor", "no analysis manager"); return NULL;}  
+  if (!mgr->GetInputEventHandler()) {Error("AddTaskUnicor", "no input event handler"); return NULL;}
+  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
+  if (type!="ESD") {Error("AddTaskUnicor","handler not of ESD type"); return NULL;}
+  AliAnalysisTaskUnicor *mytask = new AliAnalysisTaskUnicor();
+  mgr->AddTask(mytask);
+  mgr->ConnectInput (mytask,0,mgr->GetCommonInputContainer());
+  AliAnalysisDataContainer *coutpt = mgr->CreateContainer("unilis", TList::Class(),
+                                                         AliAnalysisManager::kOutputContainer,
+                                                         "unicor-result-as-list.root");
+  mgr->ConnectOutput(mytask,1,coutpt);
+  return mytask;
+}
index 81e1af8f9079f2c22dbc6e1a41105c720b582429..f54979cc70b20acca28f6d44a7048e5111bd0055 100644 (file)
@@ -1,4 +1,7 @@
 {
+gSystem->Load("libPhysics.so");
+gSystem->Load("libEG.so");
+gSystem->Load("libTree.so");
 gSystem->Load("libVMC.so"); 
 gSystem->Load("libSTEERBase.so");
 gSystem->Load("libESD.so");
@@ -8,17 +11,16 @@ gSystem->Load("libANALYSISalice");
 gSystem->Load("libPWG2unicor");
 
 gROOT->LoadMacro("makechain.C");
-tr = makechain("esdTree","/data.local1/alice/data/silvia/0000*AliESDs.root");    // local emergency copy
+tr = makechain("esdTree","/data.local1/alice/data/silvia/0000*AliESDs.root");
 
 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
 AliVEventHandler* esdH = new AliESDInputHandler;
 mgr->SetInputEventHandler(esdH);  
-AliAnalysisTaskUnicor *mytask = new AliAnalysisTaskUnicor();
-mgr->AddTask(mytask);
-AliAnalysisDataContainer *cinput = mgr->CreateContainer("cinput",TChain::Class(),AliAnalysisManager::kInputContainer);
-AliAnalysisDataContainer *coutpt = mgr->CreateContainer("unilis", TList::Class(),AliAnalysisManager::kOutputContainer,"unicor-result-as-list.root");
-mgr->ConnectInput (mytask,0,cinput);
-mgr->ConnectOutput(mytask,1,coutpt);
+
+gROOT->LoadMacro("AddTaskUnicor.C");
+
+AliAnalysisTaskUnicor *mytask = AddTaskUnicor();
+
 mgr->InitAnalysis();
 mgr->PrintStatus(); 
 mgr->StartAnalysis("local",tr);