#ifndef ATLAS_AtlBDTAnalysisTask
#include <AtlBDTAnalysisTask.h>
#endif
#include <TSystem.h>
#include <iostream>
#include <fstream>
#include <TClass.h>
#include <TDataMember.h>
#include <TROOT.h>
using namespace std;
#ifndef __CINT__
ClassImp(AtlBDTAnalysisTask);
#endif
AtlBDTAnalysisTask::AtlBDTAnalysisTask(const char* name, const char* title) :
AtlAppAnalysisTask(name, title) {
SetBatchJob(kTRUE);
SetBatchNodeAutomatic(kFALSE);
AddUserEnv("TMVAHOME");
}
AtlBDTAnalysisTask::~AtlBDTAnalysisTask() {
}
void AtlBDTAnalysisTask::CreateRunScript(Option_t *option) {
ofstream out;
out.open(fRunScript->Data());
out << "#!/bin/sh" << endl
<< "# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl
<< "# !!! This is an automatically generated file !!!" << endl
<< "# !!! D O N O T E D I T !!!" << endl
<< "# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl
<< "#" << endl
<< "# Run script for A++ analysis job submission" << endl
<< "#" << endl << endl
<< "# Set environment" << endl;
if ( gSystem->Getenv("ARCH_TYPE") != 0 ) {
out << "export ARCH_TYPE=" << gSystem->Getenv("ARCH_TYPE") << endl;
} else {
Error("CreateRunScript", "Environment variable ARCH_TYPE not set. Abort!");
gSystem->Abort(0);
}
out << "export ROOTSYS=" << gSystem->Getenv("ROOTSYS") << endl
<< "export PATH=${ROOTSYS}/bin:${PATH}" << endl
<< "export LD_LIBRARY_PATH=${ROOTSYS}/lib:${LD_LIBRARY_PATH}" << endl;
TIter next_lib(fListOfUserEnvs);
TNamed *env = 0;
while ( (env = (TNamed*)next_lib()) ) {
if ( gSystem->Getenv(env->GetName()) != 0 ) {
TString host2(gSystem->HostName());
if ( host2.Contains("lx") ) {
out << "source /home/grid/lcg/sw/root_setup_sles11.sh-v5.34" << endl;
}
out << "export " << env->GetName() << "="
<< gSystem->Getenv(env->GetName()) << endl
<< "export LD_LIBRARY_PATH=${"
<< env->GetName() << "}/lib/${ARCH_TYPE}:${LD_LIBRARY_PATH}"
<< endl;
} else {
Error("CreateRunScript", "Environment variable %s not set. Abort!",
env->GetName());
gSystem->Abort(0);
}
}
if ( gSystem->Getenv("TMVAHOME") != 0 ) {
out << endl
<< "# Setup TVMA version" << endl
<< "source " << gSystem->Getenv("TMVAHOME") << "/test/setup.sh " << gSystem->Getenv("TMVAHOME")
<< endl << endl;
} else {
Error("CreateRunScript", "Environment variable TMVAHOME not set. Abort!");
gSystem->Abort(0);
}
out << endl << endl
<< "# Job execution" << endl;
if ( fTempOutputFileName != 0 ) {
out << "if [ ! -d " << gSystem->DirName( fTempOutputFileName->Data() ) << " ]; then " << endl
<< " mkdir -p " << gSystem->DirName( fTempOutputFileName->Data() ) << endl
<< "fi" << endl;
}
if ( fTempOutputPath != 0 && fTempLogFilePath != 0 ) {
out << "mkdir -p " << fTempOutputPath->Data() << endl
<< "cp " << fJobHome->Data() << "/analysis_run.C " << fTempOutputPath->Data() << endl
<< "cd " << fTempOutputPath->Data() << endl
<< endl
<< "Remove old Logfiles " << endl
<< "rm " << fTempLogFilePath->Data() << endl
<< "rm " << fLogFilePath->Data() << endl
<< "root -q -l -b analysis_run.C > " << fTempLogFilePath->Data()
<< " 2>&1" << endl
<< "mv " << fTempLogFilePath->Data() << " " << fLogFilePath->Data() << endl;
} else {
out << "JOBHOME=" << fJobHome->Data() << endl
<< "cd $JOBHOME" << endl
<< "root -q -l -b analysis_run.C > " << fLogFilePath->Data()
<< " 2>&1" << endl;
}
if ( fTempOutputFileName != 0 )
out << "mv " << fTempOutputFileName->Data() << " " << fOutputFileName->Data() << endl;
out.close();
}
AtlBDTAnalysisTask.cxx:10 AtlBDTAnalysisTask.cxx:11 AtlBDTAnalysisTask.cxx:12 AtlBDTAnalysisTask.cxx:13 AtlBDTAnalysisTask.cxx:14 AtlBDTAnalysisTask.cxx:15 AtlBDTAnalysisTask.cxx:16 AtlBDTAnalysisTask.cxx:17 AtlBDTAnalysisTask.cxx:18 AtlBDTAnalysisTask.cxx:19 AtlBDTAnalysisTask.cxx:20 AtlBDTAnalysisTask.cxx:21 AtlBDTAnalysisTask.cxx:22 AtlBDTAnalysisTask.cxx:23 AtlBDTAnalysisTask.cxx:24 AtlBDTAnalysisTask.cxx:25 AtlBDTAnalysisTask.cxx:26 AtlBDTAnalysisTask.cxx:27 AtlBDTAnalysisTask.cxx:28 AtlBDTAnalysisTask.cxx:29 AtlBDTAnalysisTask.cxx:30 AtlBDTAnalysisTask.cxx:31 AtlBDTAnalysisTask.cxx:32 AtlBDTAnalysisTask.cxx:33 AtlBDTAnalysisTask.cxx:34 AtlBDTAnalysisTask.cxx:35 AtlBDTAnalysisTask.cxx:36 AtlBDTAnalysisTask.cxx:37 AtlBDTAnalysisTask.cxx:38 AtlBDTAnalysisTask.cxx:39 AtlBDTAnalysisTask.cxx:40 AtlBDTAnalysisTask.cxx:41 AtlBDTAnalysisTask.cxx:42 AtlBDTAnalysisTask.cxx:43 AtlBDTAnalysisTask.cxx:44 AtlBDTAnalysisTask.cxx:45 AtlBDTAnalysisTask.cxx:46 AtlBDTAnalysisTask.cxx:47 AtlBDTAnalysisTask.cxx:48 AtlBDTAnalysisTask.cxx:49 AtlBDTAnalysisTask.cxx:50 AtlBDTAnalysisTask.cxx:51 AtlBDTAnalysisTask.cxx:52 AtlBDTAnalysisTask.cxx:53 AtlBDTAnalysisTask.cxx:54 AtlBDTAnalysisTask.cxx:55 AtlBDTAnalysisTask.cxx:56 AtlBDTAnalysisTask.cxx:57 AtlBDTAnalysisTask.cxx:58 AtlBDTAnalysisTask.cxx:59 AtlBDTAnalysisTask.cxx:60 AtlBDTAnalysisTask.cxx:61 AtlBDTAnalysisTask.cxx:62 AtlBDTAnalysisTask.cxx:63 AtlBDTAnalysisTask.cxx:64 AtlBDTAnalysisTask.cxx:65 AtlBDTAnalysisTask.cxx:66 AtlBDTAnalysisTask.cxx:67 AtlBDTAnalysisTask.cxx:68 AtlBDTAnalysisTask.cxx:69 AtlBDTAnalysisTask.cxx:70 AtlBDTAnalysisTask.cxx:71 AtlBDTAnalysisTask.cxx:72 AtlBDTAnalysisTask.cxx:73 AtlBDTAnalysisTask.cxx:74 AtlBDTAnalysisTask.cxx:75 AtlBDTAnalysisTask.cxx:76 AtlBDTAnalysisTask.cxx:77 AtlBDTAnalysisTask.cxx:78 AtlBDTAnalysisTask.cxx:79 AtlBDTAnalysisTask.cxx:80 AtlBDTAnalysisTask.cxx:81 AtlBDTAnalysisTask.cxx:82 AtlBDTAnalysisTask.cxx:83 AtlBDTAnalysisTask.cxx:84 AtlBDTAnalysisTask.cxx:85 AtlBDTAnalysisTask.cxx:86 AtlBDTAnalysisTask.cxx:87 AtlBDTAnalysisTask.cxx:88 AtlBDTAnalysisTask.cxx:89 AtlBDTAnalysisTask.cxx:90 AtlBDTAnalysisTask.cxx:91 AtlBDTAnalysisTask.cxx:92 AtlBDTAnalysisTask.cxx:93 AtlBDTAnalysisTask.cxx:94 AtlBDTAnalysisTask.cxx:95 AtlBDTAnalysisTask.cxx:96 AtlBDTAnalysisTask.cxx:97 AtlBDTAnalysisTask.cxx:98 AtlBDTAnalysisTask.cxx:99 AtlBDTAnalysisTask.cxx:100 AtlBDTAnalysisTask.cxx:101 AtlBDTAnalysisTask.cxx:102 AtlBDTAnalysisTask.cxx:103 AtlBDTAnalysisTask.cxx:104 AtlBDTAnalysisTask.cxx:105 AtlBDTAnalysisTask.cxx:106 AtlBDTAnalysisTask.cxx:107 AtlBDTAnalysisTask.cxx:108 AtlBDTAnalysisTask.cxx:109 AtlBDTAnalysisTask.cxx:110 AtlBDTAnalysisTask.cxx:111 AtlBDTAnalysisTask.cxx:112 AtlBDTAnalysisTask.cxx:113 AtlBDTAnalysisTask.cxx:114 AtlBDTAnalysisTask.cxx:115 AtlBDTAnalysisTask.cxx:116 AtlBDTAnalysisTask.cxx:117 AtlBDTAnalysisTask.cxx:118 AtlBDTAnalysisTask.cxx:119 AtlBDTAnalysisTask.cxx:120 AtlBDTAnalysisTask.cxx:121 AtlBDTAnalysisTask.cxx:122 AtlBDTAnalysisTask.cxx:123 AtlBDTAnalysisTask.cxx:124 AtlBDTAnalysisTask.cxx:125 AtlBDTAnalysisTask.cxx:126 AtlBDTAnalysisTask.cxx:127 AtlBDTAnalysisTask.cxx:128 AtlBDTAnalysisTask.cxx:129 AtlBDTAnalysisTask.cxx:130 AtlBDTAnalysisTask.cxx:131 AtlBDTAnalysisTask.cxx:132 AtlBDTAnalysisTask.cxx:133 AtlBDTAnalysisTask.cxx:134 AtlBDTAnalysisTask.cxx:135 AtlBDTAnalysisTask.cxx:136 AtlBDTAnalysisTask.cxx:137 AtlBDTAnalysisTask.cxx:138 AtlBDTAnalysisTask.cxx:139 AtlBDTAnalysisTask.cxx:140 AtlBDTAnalysisTask.cxx:141 AtlBDTAnalysisTask.cxx:142 AtlBDTAnalysisTask.cxx:143 AtlBDTAnalysisTask.cxx:144 AtlBDTAnalysisTask.cxx:145