fExecutableArgs(),
fAnalysisMacro(),
fAnalysisSource(),
+ fAdditionalRootLibs(),
fAdditionalLibs(),
fSplitMode(),
fAPIVersion(),
fExecutableArgs(),
fAnalysisMacro(),
fAnalysisSource(),
+ fAdditionalRootLibs(),
fAdditionalLibs(),
fSplitMode(),
fAPIVersion(),
fExecutableArgs(other.fExecutableArgs),
fAnalysisMacro(other.fAnalysisMacro),
fAnalysisSource(other.fAnalysisSource),
+ fAdditionalRootLibs(other.fAdditionalRootLibs),
fAdditionalLibs(other.fAdditionalLibs),
fSplitMode(other.fSplitMode),
fAPIVersion(other.fAPIVersion),
fExecutableArgs = other.fExecutableArgs;
fAnalysisMacro = other.fAnalysisMacro;
fAnalysisSource = other.fAnalysisSource;
+ fAdditionalRootLibs = other.fAdditionalRootLibs;
fAdditionalLibs = other.fAdditionalLibs;
fSplitMode = other.fSplitMode;
fAPIVersion = other.fAPIVersion;
out << " gSystem->Load(\"libVMC\");" << endl;
out << " gSystem->Load(\"libPhysics\");" << endl << endl;
out << " gSystem->Load(\"libMinuit\");" << endl << endl;
+ if (fAdditionalRootLibs.Length()) {
+ // in principle libtree /lib geom libvmc etc. can go into this list, too
+ out << "// Add aditional libraries" << endl;
+ TObjArray *list = fAdditionalRootLibs.Tokenize(" ");
+ TIter next(list);
+ TObjString *str;
+ while((str=(TObjString*)next())) {
+ if (str->GetString().Contains(".so"))
+ out << " gSystem->Load(\"" << str->GetString().Data() << "\");" << endl;
+ }
+ if (list) delete list;
+ }
out << "// Load analysis framework libraries" << endl;
+
+
if (!fPackages) {
out << " gSystem->Load(\"libSTEERBase\");" << endl;
out << " gSystem->Load(\"libESD\");" << endl;
virtual void SetAnalysisMacro(const char *name="myAnalysis.C") {fAnalysisMacro = name;}
virtual void SetAnalysisSource(const char *name="myAnalysisClass.cxx") {fAnalysisSource = name;}
virtual void SetAdditionalLibs(const char *list) {fAdditionalLibs = list;}
+ virtual void SetAdditionalRootLibs(const char *list) {fAdditionalRootLibs = list;}
virtual void SetPrice(Int_t price=1) {fPrice = price;}
virtual void SetRunRange(Int_t min, Int_t max) {fRunRange[0] = min; fRunRange[1] = max;}
virtual void SetJobTag(const char *tag="") {fJobTag = tag;}
TString fExecutableArgs; // arguments added to the executable script after the analysis macro
TString fAnalysisMacro; // Root macro steering the analysis
TString fAnalysisSource; // User analysis implementation (.cxx) file(s)
- TString fAdditionalLibs; // List (separated by blacs) of additional libraries needed for the analysis
+ TString fAdditionalRootLibs; // List (separated by blacs) of additional libraries needed for/before analysis libs/par file compilation
+ TString fAdditionalLibs; // List (separated by blacs) of additional libraries needed for the analysis loaded AFTER all par files
TString fSplitMode; // Job split mode
TString fAPIVersion; // API version
TString fROOTVersion; // ROOT version
TObjArray *fInputFiles; // List of input files to be processed by the job
TObjArray *fPackages; // List of packages to be used
- ClassDef(AliAnalysisAlien, 9) // Class providing some AliEn utilities
+ ClassDef(AliAnalysisAlien, 10) // Class providing some AliEn utilities
};
#endif