--- /dev/null
+#! /bin/sh
+
+touch libPWG2unicor.pkg
+
+make libPWG2unicor.so
--- /dev/null
+/=============================================================================
+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);
+}
+/=============================================================================
--- /dev/null
+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;
+}
{
+gSystem->Load("libPhysics.so");
+gSystem->Load("libEG.so");
+gSystem->Load("libTree.so");
gSystem->Load("libVMC.so");
gSystem->Load("libSTEERBase.so");
gSystem->Load("libESD.so");
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);