11 #ifndef PLUGINHELPER_C
12 #define PLUGINHELPER_C
21 # include <AliAnalysisManager.h>
22 # include <AliAnalysisAlien.h>
76 fOptions.
Add(
"aliphysics",
"VERSION",
"AliPhysics version",
"last");
77 fOptions.
Add(
"aliroot",
"VERSION",
"AliROOT version",
"last");
78 fOptions.
Add(
"root",
"VERSION",
"ROOT version",
"last");
80 fOptions.
Add(
"mode",
"default|rec|sim",
"AliROOT mode",
"default");
81 fOptions.
Add(
"storage",
"URL",
"Location for external storage",
"");
107 if (&o ==
this)
return *
this;
148 if (!p.BeginsWith(
"-")) {
168 Info(
"LoadLibrary",
"Loading %s (slaves=%d, forcePar=%d)",
169 name.Data(), slaves, forcePar);
173 if (ret < 0)
return false;
175 fHandler->AddAdditionalLibrary(fullName);
181 Info(
"LoadLibrary",
"Looking for PAR %s", name.Data());
183 Error(
"PluginRailway::LoadLibrary",
"Failed to find PAR file %s",
187 Info(
"LoadLibrary",
"Building PAR %s", name.Data());
189 Error(
"PluginRailway::LoadLibrary",
"Failed to build PAR file %s",
210 s.Append(Form(
" %s",
gSystem->BaseName(name.Data())));
223 if (!
gSystem->Getenv(
"ALICE_ROOT")) {
224 Error(
"PluginRailway::LoadAliROOT",
"Local AliROOT not available");
246 if (!
gSystem->Getenv(
"ALICE_PHYSICS")) {
247 Error(
"PluginRailway::LoadAliPhysics",
"Local AliPhysics not available");
266 gEnv->SetValue(
"XSec.GSI.DelegProxy",
"2");
285 fHandler->SetAliROOTVersion(aliroot);
286 fHandler->SetAliPhysicsVersion(aliphysics);
289 fHandler->AddIncludePath(
"-I$ALICE_PHYSICS/include");
290 fHandler->AddIncludePath(
"-I$ALICE_ROOT/include");
296 fHandler->SetAliRootMode(
"default");
309 Error(
"PluginRailway::PostSetup",
"No analysis manager defined");
314 fHandler->SetJobTag(mgr->GetName());
315 fHandler->SetAnalysisMacro(Form(
"%s.C", mgr->GetName()));
333 virtual const char*
Desc()
const = 0;
virtual Bool_t PreSetup()
const TString & MakeLibraryName(const TString &name)
virtual const char * Desc() const =0
virtual Bool_t AddIncludePath(const TString &path)
virtual const Char_t * UrlHelp() const =0
virtual void Print(Option_t *="") const
Railway & operator=(const Railway &)
virtual Long64_t Run(Long64_t)=0
const TString & Get(const TString &name) const
virtual Bool_t LoadAliPhysics()
PluginRailway(const PluginRailway &o)
Bool_t Has(const TString &name) const
static Bool_t Find(const TString &what)
PluginRailway & operator=(const PluginRailway &o)
static Bool_t Check(TString &aliphysics, TString &aliroot, TString &root)
void Set(const TString &name, const TString &value)
virtual Bool_t LoadSource(const TString &name, bool copy=false)
virtual Bool_t AddIncludePath(const TString &path)
Option * Add(const TString &name, const TString &arg, const TString &desc, const TString &val="")
virtual void Print(Option_t *option="") const
virtual Bool_t PostSetup()
virtual Bool_t LoadAliROOT()
PluginRailway(const TUrl &url, Int_t verbose)
Base class for analysis helpers.
virtual Bool_t LoadLibrary(const TString &name, Bool_t slaves=true, Bool_t forcePar=false)
AliAnalysisAlien * fHandler
static Bool_t Build(const TString &what)
virtual Bool_t LoadSource(const TString &name, bool copy=false)
static Bool_t RegisterStorage(const TString &url)