#ifndef ATL_AtlMemTkAnalysisTask
#include <AtlMemTkAnalysisTask.h>
#endif
#include <TChain.h>
#include <TString.h>
#include <TObjString.h>
#include <TNamed.h>
#include <TSystem.h>
#include <iostream>
#include <fstream>
#include <TDatime.h>
using namespace std;
#ifndef __CINT__
ClassImp(AtlMemTkAnalysisTask);
#endif
AtlMemTkAnalysisTask::AtlMemTkAnalysisTask(const char* name, const char* title) :
AtlTask(name, title) {
SetBatchJob(kTRUE);
SetBatchNodeAutomatic(kFALSE);
fRootScript = 0;
fListOfUserEnvs = new TList;
fNSubjobs = 1;
fJobid = 1;
fMemTkRunScript = 0;
AddUserEnv("LIBATLASANALYSIS");
AddUserEnv("LIBMEMTK");
}
AtlMemTkAnalysisTask::~AtlMemTkAnalysisTask() {
if ( fRootScript != 0 ) delete fRootScript;
fListOfUserEnvs->Delete(); delete fListOfUserEnvs;
}
void AtlMemTkAnalysisTask::ExecInteractiveJob(Option_t *option) {
TString opt = option;
Error("ExecInteractiveJob", "Currently not supported! Abort!\n");
gSystem->Abort(0);
}
Bool_t AtlMemTkAnalysisTask::ExecBatchJob(Option_t *option) {
TString opt = option;
CreateRunScript();
return SubmitBatchJob();
}
void AtlMemTkAnalysisTask::ExecGridJob(Option_t *option) {
TString opt = option;
if ( gSystem->Getenv("GRID_HOME") == 0 ) {
Error("ExecGridJob", "Env. variable GRID_HOME is not defined, Abort!");
gSystem->Abort(0);
}
if ( gSystem->Exec(Form("mkdir -p %s",
gSystem->Getenv("GRID_HOME"))) != 0 ) {
Error("ExecGridJob", "Failed to create GRID_HOME directory. Abort!");
gSystem->Abort(0);
}
CreateGridRunScript();
SubmitGridJob();
}
void AtlMemTkAnalysisTask::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);
}
if (!WriteEnvSetup(out)) {
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 ) {
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);
}
}
}
out << endl << endl
<< "# Job execution" << endl;
out << "JOBHOME=" << fJobHome->Data() << endl
<< "cd $JOBHOME;" << endl
<< "# Remove old Logfiles " << endl
<< "rm " << fLogFilePath->Data() << endl;
if ( !(fInputFiles->GetEntries() == 1) ) {
Error("CreateRunScript",
"Number of inputfiles needs to be exactly one! This is not the case (n=%d)! Abort!",
fInputFiles->GetEntries());
gSystem->Abort(0);
}
if ( fMemTkRunScript == 0 ) {
Error("CreateRunScript", "No MemTk run script defined. Abort!");
gSystem->Abort();
}
out << "cp $LIBMEMTK/test/" << fMemTkRunScript->Data() << " analysis_run.C"
<< endl
<< "sed -i 's|NSUBJOBS|"
<< fNSubjobs
<< "|g' analysis_run.C"
<< endl
<< "sed -i 's|INPUTFILE|"
<< ((TObjString*) fInputFiles->At(0))->GetString().Data()
<< "|g' analysis_run.C"
<< endl
<< "sed -i 's|OUTPUTFILE|"
<< fOutputFileName->Data()
<< "|g' analysis_run.C"
<< endl
<< "sed -i 's|SUBJOBID|"
<< fJobid
<< "|g' analysis_run.C"
<< endl;
out << "root -q -l -b analysis_run.C > " << fLogFilePath->Data()
<< " 2>&1" << endl;
out.close();
}
void AtlMemTkAnalysisTask::CreateGridRunScript() {
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;
out << "export ARCH_TYPE=`uname -i`-`uname -s`-gcc`gcc -dumpversion`-root`root-config --version | sed 's|/|.|'`" << endl
<< endl;
out << "# Cuba config" << endl
<< "export CUBACORES=0" << endl
<< "export CUBALIB=$PWD/Cuba-3.0" << endl
<< "export LD_LIBRARY_PATH=${CUBALIB}:${LD_LIBRARY_PATH}" << endl
<< endl;
out << "# LHAPDF config" << endl
<< "export LHAPDF=/cvmfs/atlas.cern.ch/repo/sw/software/x86_64-slc6-gcc47-opt/17.8.0/sw/lcg/external/MCGenerators_lcgcmt65/lhapdf/5.8.8/x86_64-slc6-gcc47-opt/" << endl
<< "export LD_LIBRARY_PATH=${LHAPDF}/lib/:${LD_LIBRARY_PATH}" << endl
<< "export LHAPATH=$PWD/" << endl
<< endl;
out << "# MemTk" << endl
<< "export LIBMEMTK=$PWD/libMEM" << endl
<< "export LD_LIBRARY_PATH=${LIBMEMTK}/lib/${ARCH_TYPE}:${LD_LIBRARY_PATH}" << endl
<< endl;
out << endl << endl
<< "# Job execution" << endl;
if ( !(fInputFiles->GetEntries() == 1) ) {
Error("CreateRunScript",
"Number of inputfiles needs to be exactly one! This is not the case (n=%d)! Abort!",
fInputFiles->GetEntries());
gSystem->Abort(0);
}
if ( fMemTkRunScript == 0 ) {
Error("CreateRunScript", "No MemTk run script defined. Abort!");
gSystem->Abort();
}
out << "cp $LIBMEMTK/test/" << fMemTkRunScript->Data() << " analysis_run.C"
<< endl
<< "sed -i 's|NSUBJOBS|"
<< fNSubjobs
<< "|g' analysis_run.C"
<< endl
<< "# Move input file"
<< endl
<< "mv " << gSystem->BaseName(((TObjString*) fInputFiles->At(0))->GetString().Data()) << " inputfile.root"
<< endl
<< "sed -i 's|INPUTFILE|"
<< "inputfile.root"
<< "|g' analysis_run.C"
<< endl
<< "sed -i 's|OUTPUTFILE|"
<< gSystem->BaseName(fOutputFileName->Data())
<< "|g' analysis_run.C"
<< endl
<< "sed -i 's|SUBJOBID|"
<< fJobid
<< "|g' analysis_run.C"
<< endl;
out << "root -q -l -b analysis_run.C" << endl;
out.close();
gSystem->Exec(Form("cp %s %s",
fRunScript->Data(),
gSystem->Getenv("GRID_HOME")));
}
void AtlMemTkAnalysisTask::AddUserEnv(const char* env) {
fListOfUserEnvs->Add(new TNamed(env, ""));
}
void AtlMemTkAnalysisTask::Print(Option_t *option) const {
cout << "=============================" << endl;
cout << " Task: " << fName << endl;
cout << " ----------------------------" << endl;
cout << " JobHome : " << fJobHome->Data() << endl;
cout << " OutputFileName: " << fOutputFileName->Data() << endl;
cout << " " << endl;
cout << " " << endl;
cout << " " << endl;
cout << "=============================" << endl;
}
void AtlMemTkAnalysisTask::SubmitGridJob() {
TString gridhome = gSystem->ExpandPathName("$GRID_HOME");
gSystem->ChangeDirectory(gridhome.Data());
gSystem->Exec("pwd");
TString cteq66 = "cteq66.LHgrid";
TString cteq66_tmp = cteq66;
if ( gSystem->FindFile(gridhome.Data(), cteq66_tmp) == 0) {
Error("SubmitGridJob", "File not found! %s/%s",
gridhome.Data(),
cteq66.Data());
gSystem->Abort(0);
}
TString cuba30 = "Cuba-3.0.tar.gz";
TString cuba30_tmp = cuba30;
if ( gSystem->FindFile(gridhome.Data(), cuba30_tmp) == 0) {
Error("SubmitGridJob", "File not found! %s/%s",
gridhome.Data(),
cuba30.Data());
gSystem->Abort(0);
}
TString libMEM = "libMEM.tgz";
TString libMEM_tmp = libMEM;
if ( gSystem->FindFile(gridhome.Data(), libMEM_tmp) == 0) {
Error("SubmitGridJob", "File not found! %s/%s",
gridhome.Data(),
libMEM.Data());
gSystem->Abort(0);
}
TString jobsub_cmd("prun ");
jobsub_cmd.Append("--destSE=DESY-ZN_LOCALGROUPDISK ");
jobsub_cmd.Append("--long ");
jobsub_cmd.Append("--maxCpuCount=172800 ");
jobsub_cmd.Append("--bexec='./bexec.sh' ");
jobsub_cmd.Append(Form("--exec='./%s' ",
gSystem->BaseName(fRunScript->Data())));
TString dsname = gSystem->BaseName(((TObjString*) fInputFiles->At(0))->GetString().Data());
dsname.ReplaceAll(".root", "");
TString runscript = gSystem->BaseName(fRunScript->Data());
runscript.ReplaceAll(".run", "");
dsname.ReplaceAll(Form("_%s", runscript.Data()), "");
TDatime time;
jobsub_cmd.Append(Form("--outDS='user.%s.MemTk.%010d.%s' ",
fGridUserName->Data(),
time.Get(),
fGridSuffix->Data()));
jobsub_cmd.Append(Form("--rootVer=%s ", fGridRootVersion->Data()));
jobsub_cmd.Append(Form("--cmtConfig=%s ", fGridCmtVersion->Data()));
jobsub_cmd.Append(Form("--extFile=%s,%s,%s ",
cteq66.Data(),
gSystem->BaseName(
((TObjString*) fInputFiles->At(0))->GetString().Data()),
libMEM.Data()));
jobsub_cmd.Append(Form("--outputs=%s ",
gSystem->BaseName(fOutputFileName->Data())));
TString fullfilename = ((TObjString*) fInputFiles->At(0))->GetString();
TString addfile = Form("cp %s %s",
fullfilename.Data(),
gSystem->Getenv("GRID_HOME"));
Info("SubmitGridJob", "Add file to grid_home:\n%s", addfile.Data());
gSystem->Exec(addfile.Data());
Info("SubmitGridJob", "Execute %s", jobsub_cmd.Data());
gSystem->Exec(jobsub_cmd.Data());
TString removefile = Form("rm %s/%s",
gSystem->Getenv("GRID_HOME"),
gSystem->BaseName(fullfilename.Data()));
Info("SubmitGridJob", "Remove file from grid_home:\n%s", removefile.Data());
gSystem->Exec(removefile.Data());
TString removeRunscript = Form("rm %s/%s",
gSystem->Getenv("GRID_HOME"),
gSystem->BaseName(fRunScript->Data()));
Info("SubmitGridJob","%s", removeRunscript.Data());
gSystem->Exec(removeRunscript.Data());
CreateLogFilePath();
gSystem->Exec(Form("rm -f %s", fLogFilePath->Data()));
TString weekday = "";
switch ( time.GetDayOfWeek() ) {
case 1: weekday.Append("Mon."); break;
case 2: weekday.Append("Tue."); break;
case 3: weekday.Append("Wed."); break;
case 4: weekday.Append("Thu."); break;
case 5: weekday.Append("Fri."); break;
case 6: weekday.Append("Sat."); break;
case 7: weekday.Append("Sun."); break;
default:
Error("SubmitGridJob", "Unkown day of week. Abort!");
gSystem->Abort();
}
ofstream out;
out.open(fLogFilePath->Data());
out << "Job Summary" << endl
<< "Grid job was submitted on "
<< weekday.Data() << ", "
<< time.GetDay() << "."
<< time.GetMonth() << "."
<< time.GetYear() << " at "
<< time.GetHour() << ":"
<< time.GetMinute() << "."
<< time.GetSecond() << endl;
out.close();
}
void AtlMemTkAnalysisTask::SetMemTkRunScript(const char* script) {
if ( fMemTkRunScript != 0 ) delete fMemTkRunScript;
fMemTkRunScript = new TString(script);
}
AtlMemTkAnalysisTask.cxx:1 AtlMemTkAnalysisTask.cxx:2 AtlMemTkAnalysisTask.cxx:3 AtlMemTkAnalysisTask.cxx:4 AtlMemTkAnalysisTask.cxx:5 AtlMemTkAnalysisTask.cxx:6 AtlMemTkAnalysisTask.cxx:7 AtlMemTkAnalysisTask.cxx:8 AtlMemTkAnalysisTask.cxx:9 AtlMemTkAnalysisTask.cxx:10 AtlMemTkAnalysisTask.cxx:11 AtlMemTkAnalysisTask.cxx:12 AtlMemTkAnalysisTask.cxx:13 AtlMemTkAnalysisTask.cxx:14 AtlMemTkAnalysisTask.cxx:15 AtlMemTkAnalysisTask.cxx:16 AtlMemTkAnalysisTask.cxx:17 AtlMemTkAnalysisTask.cxx:18 AtlMemTkAnalysisTask.cxx:19 AtlMemTkAnalysisTask.cxx:20 AtlMemTkAnalysisTask.cxx:21 AtlMemTkAnalysisTask.cxx:22 AtlMemTkAnalysisTask.cxx:23 AtlMemTkAnalysisTask.cxx:24 AtlMemTkAnalysisTask.cxx:25 AtlMemTkAnalysisTask.cxx:26 AtlMemTkAnalysisTask.cxx:27 AtlMemTkAnalysisTask.cxx:28 AtlMemTkAnalysisTask.cxx:29 AtlMemTkAnalysisTask.cxx:30 AtlMemTkAnalysisTask.cxx:31 AtlMemTkAnalysisTask.cxx:32 AtlMemTkAnalysisTask.cxx:33 AtlMemTkAnalysisTask.cxx:34 AtlMemTkAnalysisTask.cxx:35 AtlMemTkAnalysisTask.cxx:36 AtlMemTkAnalysisTask.cxx:37 AtlMemTkAnalysisTask.cxx:38 AtlMemTkAnalysisTask.cxx:39 AtlMemTkAnalysisTask.cxx:40 AtlMemTkAnalysisTask.cxx:41 AtlMemTkAnalysisTask.cxx:42 AtlMemTkAnalysisTask.cxx:43 AtlMemTkAnalysisTask.cxx:44 AtlMemTkAnalysisTask.cxx:45 AtlMemTkAnalysisTask.cxx:46 AtlMemTkAnalysisTask.cxx:47 AtlMemTkAnalysisTask.cxx:48 AtlMemTkAnalysisTask.cxx:49 AtlMemTkAnalysisTask.cxx:50 AtlMemTkAnalysisTask.cxx:51 AtlMemTkAnalysisTask.cxx:52 AtlMemTkAnalysisTask.cxx:53 AtlMemTkAnalysisTask.cxx:54 AtlMemTkAnalysisTask.cxx:55 AtlMemTkAnalysisTask.cxx:56 AtlMemTkAnalysisTask.cxx:57 AtlMemTkAnalysisTask.cxx:58 AtlMemTkAnalysisTask.cxx:59 AtlMemTkAnalysisTask.cxx:60 AtlMemTkAnalysisTask.cxx:61 AtlMemTkAnalysisTask.cxx:62 AtlMemTkAnalysisTask.cxx:63 AtlMemTkAnalysisTask.cxx:64 AtlMemTkAnalysisTask.cxx:65 AtlMemTkAnalysisTask.cxx:66 AtlMemTkAnalysisTask.cxx:67 AtlMemTkAnalysisTask.cxx:68 AtlMemTkAnalysisTask.cxx:69 AtlMemTkAnalysisTask.cxx:70 AtlMemTkAnalysisTask.cxx:71 AtlMemTkAnalysisTask.cxx:72 AtlMemTkAnalysisTask.cxx:73 AtlMemTkAnalysisTask.cxx:74 AtlMemTkAnalysisTask.cxx:75 AtlMemTkAnalysisTask.cxx:76 AtlMemTkAnalysisTask.cxx:77 AtlMemTkAnalysisTask.cxx:78 AtlMemTkAnalysisTask.cxx:79 AtlMemTkAnalysisTask.cxx:80 AtlMemTkAnalysisTask.cxx:81 AtlMemTkAnalysisTask.cxx:82 AtlMemTkAnalysisTask.cxx:83 AtlMemTkAnalysisTask.cxx:84 AtlMemTkAnalysisTask.cxx:85 AtlMemTkAnalysisTask.cxx:86 AtlMemTkAnalysisTask.cxx:87 AtlMemTkAnalysisTask.cxx:88 AtlMemTkAnalysisTask.cxx:89 AtlMemTkAnalysisTask.cxx:90 AtlMemTkAnalysisTask.cxx:91 AtlMemTkAnalysisTask.cxx:92 AtlMemTkAnalysisTask.cxx:93 AtlMemTkAnalysisTask.cxx:94 AtlMemTkAnalysisTask.cxx:95 AtlMemTkAnalysisTask.cxx:96 AtlMemTkAnalysisTask.cxx:97 AtlMemTkAnalysisTask.cxx:98 AtlMemTkAnalysisTask.cxx:99 AtlMemTkAnalysisTask.cxx:100 AtlMemTkAnalysisTask.cxx:101 AtlMemTkAnalysisTask.cxx:102 AtlMemTkAnalysisTask.cxx:103 AtlMemTkAnalysisTask.cxx:104 AtlMemTkAnalysisTask.cxx:105 AtlMemTkAnalysisTask.cxx:106 AtlMemTkAnalysisTask.cxx:107 AtlMemTkAnalysisTask.cxx:108 AtlMemTkAnalysisTask.cxx:109 AtlMemTkAnalysisTask.cxx:110 AtlMemTkAnalysisTask.cxx:111 AtlMemTkAnalysisTask.cxx:112 AtlMemTkAnalysisTask.cxx:113 AtlMemTkAnalysisTask.cxx:114 AtlMemTkAnalysisTask.cxx:115 AtlMemTkAnalysisTask.cxx:116 AtlMemTkAnalysisTask.cxx:117 AtlMemTkAnalysisTask.cxx:118 AtlMemTkAnalysisTask.cxx:119 AtlMemTkAnalysisTask.cxx:120 AtlMemTkAnalysisTask.cxx:121 AtlMemTkAnalysisTask.cxx:122 AtlMemTkAnalysisTask.cxx:123 AtlMemTkAnalysisTask.cxx:124 AtlMemTkAnalysisTask.cxx:125 AtlMemTkAnalysisTask.cxx:126 AtlMemTkAnalysisTask.cxx:127 AtlMemTkAnalysisTask.cxx:128 AtlMemTkAnalysisTask.cxx:129 AtlMemTkAnalysisTask.cxx:130 AtlMemTkAnalysisTask.cxx:131 AtlMemTkAnalysisTask.cxx:132 AtlMemTkAnalysisTask.cxx:133 AtlMemTkAnalysisTask.cxx:134 AtlMemTkAnalysisTask.cxx:135 AtlMemTkAnalysisTask.cxx:136 AtlMemTkAnalysisTask.cxx:137 AtlMemTkAnalysisTask.cxx:138 AtlMemTkAnalysisTask.cxx:139 AtlMemTkAnalysisTask.cxx:140 AtlMemTkAnalysisTask.cxx:141 AtlMemTkAnalysisTask.cxx:142 AtlMemTkAnalysisTask.cxx:143 AtlMemTkAnalysisTask.cxx:144 AtlMemTkAnalysisTask.cxx:145 AtlMemTkAnalysisTask.cxx:146 AtlMemTkAnalysisTask.cxx:147 AtlMemTkAnalysisTask.cxx:148 AtlMemTkAnalysisTask.cxx:149 AtlMemTkAnalysisTask.cxx:150 AtlMemTkAnalysisTask.cxx:151 AtlMemTkAnalysisTask.cxx:152 AtlMemTkAnalysisTask.cxx:153 AtlMemTkAnalysisTask.cxx:154 AtlMemTkAnalysisTask.cxx:155 AtlMemTkAnalysisTask.cxx:156 AtlMemTkAnalysisTask.cxx:157 AtlMemTkAnalysisTask.cxx:158 AtlMemTkAnalysisTask.cxx:159 AtlMemTkAnalysisTask.cxx:160 AtlMemTkAnalysisTask.cxx:161 AtlMemTkAnalysisTask.cxx:162 AtlMemTkAnalysisTask.cxx:163 AtlMemTkAnalysisTask.cxx:164 AtlMemTkAnalysisTask.cxx:165 AtlMemTkAnalysisTask.cxx:166 AtlMemTkAnalysisTask.cxx:167 AtlMemTkAnalysisTask.cxx:168 AtlMemTkAnalysisTask.cxx:169 AtlMemTkAnalysisTask.cxx:170 AtlMemTkAnalysisTask.cxx:171 AtlMemTkAnalysisTask.cxx:172 AtlMemTkAnalysisTask.cxx:173 AtlMemTkAnalysisTask.cxx:174 AtlMemTkAnalysisTask.cxx:175 AtlMemTkAnalysisTask.cxx:176 AtlMemTkAnalysisTask.cxx:177 AtlMemTkAnalysisTask.cxx:178 AtlMemTkAnalysisTask.cxx:179 AtlMemTkAnalysisTask.cxx:180 AtlMemTkAnalysisTask.cxx:181 AtlMemTkAnalysisTask.cxx:182 AtlMemTkAnalysisTask.cxx:183 AtlMemTkAnalysisTask.cxx:184 AtlMemTkAnalysisTask.cxx:185 AtlMemTkAnalysisTask.cxx:186 AtlMemTkAnalysisTask.cxx:187 AtlMemTkAnalysisTask.cxx:188 AtlMemTkAnalysisTask.cxx:189 AtlMemTkAnalysisTask.cxx:190 AtlMemTkAnalysisTask.cxx:191 AtlMemTkAnalysisTask.cxx:192 AtlMemTkAnalysisTask.cxx:193 AtlMemTkAnalysisTask.cxx:194 AtlMemTkAnalysisTask.cxx:195 AtlMemTkAnalysisTask.cxx:196 AtlMemTkAnalysisTask.cxx:197 AtlMemTkAnalysisTask.cxx:198 AtlMemTkAnalysisTask.cxx:199 AtlMemTkAnalysisTask.cxx:200 AtlMemTkAnalysisTask.cxx:201 AtlMemTkAnalysisTask.cxx:202 AtlMemTkAnalysisTask.cxx:203 AtlMemTkAnalysisTask.cxx:204 AtlMemTkAnalysisTask.cxx:205 AtlMemTkAnalysisTask.cxx:206 AtlMemTkAnalysisTask.cxx:207 AtlMemTkAnalysisTask.cxx:208 AtlMemTkAnalysisTask.cxx:209 AtlMemTkAnalysisTask.cxx:210 AtlMemTkAnalysisTask.cxx:211 AtlMemTkAnalysisTask.cxx:212 AtlMemTkAnalysisTask.cxx:213 AtlMemTkAnalysisTask.cxx:214 AtlMemTkAnalysisTask.cxx:215 AtlMemTkAnalysisTask.cxx:216 AtlMemTkAnalysisTask.cxx:217 AtlMemTkAnalysisTask.cxx:218 AtlMemTkAnalysisTask.cxx:219 AtlMemTkAnalysisTask.cxx:220 AtlMemTkAnalysisTask.cxx:221 AtlMemTkAnalysisTask.cxx:222 AtlMemTkAnalysisTask.cxx:223 AtlMemTkAnalysisTask.cxx:224 AtlMemTkAnalysisTask.cxx:225 AtlMemTkAnalysisTask.cxx:226 AtlMemTkAnalysisTask.cxx:227 AtlMemTkAnalysisTask.cxx:228 AtlMemTkAnalysisTask.cxx:229 AtlMemTkAnalysisTask.cxx:230 AtlMemTkAnalysisTask.cxx:231 AtlMemTkAnalysisTask.cxx:232 AtlMemTkAnalysisTask.cxx:233 AtlMemTkAnalysisTask.cxx:234 AtlMemTkAnalysisTask.cxx:235 AtlMemTkAnalysisTask.cxx:236 AtlMemTkAnalysisTask.cxx:237 AtlMemTkAnalysisTask.cxx:238 AtlMemTkAnalysisTask.cxx:239 AtlMemTkAnalysisTask.cxx:240 AtlMemTkAnalysisTask.cxx:241 AtlMemTkAnalysisTask.cxx:242 AtlMemTkAnalysisTask.cxx:243 AtlMemTkAnalysisTask.cxx:244 AtlMemTkAnalysisTask.cxx:245 AtlMemTkAnalysisTask.cxx:246 AtlMemTkAnalysisTask.cxx:247 AtlMemTkAnalysisTask.cxx:248 AtlMemTkAnalysisTask.cxx:249 AtlMemTkAnalysisTask.cxx:250 AtlMemTkAnalysisTask.cxx:251 AtlMemTkAnalysisTask.cxx:252 AtlMemTkAnalysisTask.cxx:253 AtlMemTkAnalysisTask.cxx:254 AtlMemTkAnalysisTask.cxx:255 AtlMemTkAnalysisTask.cxx:256 AtlMemTkAnalysisTask.cxx:257 AtlMemTkAnalysisTask.cxx:258 AtlMemTkAnalysisTask.cxx:259 AtlMemTkAnalysisTask.cxx:260 AtlMemTkAnalysisTask.cxx:261 AtlMemTkAnalysisTask.cxx:262 AtlMemTkAnalysisTask.cxx:263 AtlMemTkAnalysisTask.cxx:264 AtlMemTkAnalysisTask.cxx:265 AtlMemTkAnalysisTask.cxx:266 AtlMemTkAnalysisTask.cxx:267 AtlMemTkAnalysisTask.cxx:268 AtlMemTkAnalysisTask.cxx:269 AtlMemTkAnalysisTask.cxx:270 AtlMemTkAnalysisTask.cxx:271 AtlMemTkAnalysisTask.cxx:272 AtlMemTkAnalysisTask.cxx:273 AtlMemTkAnalysisTask.cxx:274 AtlMemTkAnalysisTask.cxx:275 AtlMemTkAnalysisTask.cxx:276 AtlMemTkAnalysisTask.cxx:277 AtlMemTkAnalysisTask.cxx:278 AtlMemTkAnalysisTask.cxx:279 AtlMemTkAnalysisTask.cxx:280 AtlMemTkAnalysisTask.cxx:281 AtlMemTkAnalysisTask.cxx:282 AtlMemTkAnalysisTask.cxx:283 AtlMemTkAnalysisTask.cxx:284 AtlMemTkAnalysisTask.cxx:285 AtlMemTkAnalysisTask.cxx:286 AtlMemTkAnalysisTask.cxx:287 AtlMemTkAnalysisTask.cxx:288 AtlMemTkAnalysisTask.cxx:289 AtlMemTkAnalysisTask.cxx:290 AtlMemTkAnalysisTask.cxx:291 AtlMemTkAnalysisTask.cxx:292 AtlMemTkAnalysisTask.cxx:293 AtlMemTkAnalysisTask.cxx:294 AtlMemTkAnalysisTask.cxx:295 AtlMemTkAnalysisTask.cxx:296 AtlMemTkAnalysisTask.cxx:297 AtlMemTkAnalysisTask.cxx:298 AtlMemTkAnalysisTask.cxx:299 AtlMemTkAnalysisTask.cxx:300 AtlMemTkAnalysisTask.cxx:301 AtlMemTkAnalysisTask.cxx:302 AtlMemTkAnalysisTask.cxx:303 AtlMemTkAnalysisTask.cxx:304 AtlMemTkAnalysisTask.cxx:305 AtlMemTkAnalysisTask.cxx:306 AtlMemTkAnalysisTask.cxx:307 AtlMemTkAnalysisTask.cxx:308 AtlMemTkAnalysisTask.cxx:309 AtlMemTkAnalysisTask.cxx:310 AtlMemTkAnalysisTask.cxx:311 AtlMemTkAnalysisTask.cxx:312 AtlMemTkAnalysisTask.cxx:313 AtlMemTkAnalysisTask.cxx:314 AtlMemTkAnalysisTask.cxx:315 AtlMemTkAnalysisTask.cxx:316 AtlMemTkAnalysisTask.cxx:317 AtlMemTkAnalysisTask.cxx:318 AtlMemTkAnalysisTask.cxx:319 AtlMemTkAnalysisTask.cxx:320 AtlMemTkAnalysisTask.cxx:321 AtlMemTkAnalysisTask.cxx:322 AtlMemTkAnalysisTask.cxx:323 AtlMemTkAnalysisTask.cxx:324 AtlMemTkAnalysisTask.cxx:325 AtlMemTkAnalysisTask.cxx:326 AtlMemTkAnalysisTask.cxx:327 AtlMemTkAnalysisTask.cxx:328 AtlMemTkAnalysisTask.cxx:329 AtlMemTkAnalysisTask.cxx:330 AtlMemTkAnalysisTask.cxx:331 AtlMemTkAnalysisTask.cxx:332 AtlMemTkAnalysisTask.cxx:333 AtlMemTkAnalysisTask.cxx:334 AtlMemTkAnalysisTask.cxx:335 AtlMemTkAnalysisTask.cxx:336 AtlMemTkAnalysisTask.cxx:337 AtlMemTkAnalysisTask.cxx:338 AtlMemTkAnalysisTask.cxx:339 AtlMemTkAnalysisTask.cxx:340 AtlMemTkAnalysisTask.cxx:341 AtlMemTkAnalysisTask.cxx:342 AtlMemTkAnalysisTask.cxx:343 AtlMemTkAnalysisTask.cxx:344 AtlMemTkAnalysisTask.cxx:345 AtlMemTkAnalysisTask.cxx:346 AtlMemTkAnalysisTask.cxx:347 AtlMemTkAnalysisTask.cxx:348 AtlMemTkAnalysisTask.cxx:349 AtlMemTkAnalysisTask.cxx:350 AtlMemTkAnalysisTask.cxx:351 AtlMemTkAnalysisTask.cxx:352 AtlMemTkAnalysisTask.cxx:353 AtlMemTkAnalysisTask.cxx:354 AtlMemTkAnalysisTask.cxx:355 AtlMemTkAnalysisTask.cxx:356 AtlMemTkAnalysisTask.cxx:357 AtlMemTkAnalysisTask.cxx:358 AtlMemTkAnalysisTask.cxx:359 AtlMemTkAnalysisTask.cxx:360 AtlMemTkAnalysisTask.cxx:361 AtlMemTkAnalysisTask.cxx:362 AtlMemTkAnalysisTask.cxx:363 AtlMemTkAnalysisTask.cxx:364 AtlMemTkAnalysisTask.cxx:365 AtlMemTkAnalysisTask.cxx:366 AtlMemTkAnalysisTask.cxx:367 AtlMemTkAnalysisTask.cxx:368 AtlMemTkAnalysisTask.cxx:369 AtlMemTkAnalysisTask.cxx:370 AtlMemTkAnalysisTask.cxx:371 AtlMemTkAnalysisTask.cxx:372 AtlMemTkAnalysisTask.cxx:373 AtlMemTkAnalysisTask.cxx:374 AtlMemTkAnalysisTask.cxx:375 AtlMemTkAnalysisTask.cxx:376 AtlMemTkAnalysisTask.cxx:377 AtlMemTkAnalysisTask.cxx:378 AtlMemTkAnalysisTask.cxx:379 AtlMemTkAnalysisTask.cxx:380 AtlMemTkAnalysisTask.cxx:381 AtlMemTkAnalysisTask.cxx:382 AtlMemTkAnalysisTask.cxx:383 AtlMemTkAnalysisTask.cxx:384 AtlMemTkAnalysisTask.cxx:385 AtlMemTkAnalysisTask.cxx:386 AtlMemTkAnalysisTask.cxx:387 AtlMemTkAnalysisTask.cxx:388 AtlMemTkAnalysisTask.cxx:389 AtlMemTkAnalysisTask.cxx:390 AtlMemTkAnalysisTask.cxx:391 AtlMemTkAnalysisTask.cxx:392 AtlMemTkAnalysisTask.cxx:393 AtlMemTkAnalysisTask.cxx:394 AtlMemTkAnalysisTask.cxx:395 AtlMemTkAnalysisTask.cxx:396 AtlMemTkAnalysisTask.cxx:397 AtlMemTkAnalysisTask.cxx:398 AtlMemTkAnalysisTask.cxx:399 AtlMemTkAnalysisTask.cxx:400 AtlMemTkAnalysisTask.cxx:401 AtlMemTkAnalysisTask.cxx:402 AtlMemTkAnalysisTask.cxx:403 AtlMemTkAnalysisTask.cxx:404 AtlMemTkAnalysisTask.cxx:405 AtlMemTkAnalysisTask.cxx:406 AtlMemTkAnalysisTask.cxx:407 AtlMemTkAnalysisTask.cxx:408 AtlMemTkAnalysisTask.cxx:409 AtlMemTkAnalysisTask.cxx:410 AtlMemTkAnalysisTask.cxx:411 AtlMemTkAnalysisTask.cxx:412 AtlMemTkAnalysisTask.cxx:413 AtlMemTkAnalysisTask.cxx:414 AtlMemTkAnalysisTask.cxx:415 AtlMemTkAnalysisTask.cxx:416 AtlMemTkAnalysisTask.cxx:417 AtlMemTkAnalysisTask.cxx:418 AtlMemTkAnalysisTask.cxx:419 AtlMemTkAnalysisTask.cxx:420 AtlMemTkAnalysisTask.cxx:421 AtlMemTkAnalysisTask.cxx:422 AtlMemTkAnalysisTask.cxx:423 AtlMemTkAnalysisTask.cxx:424 AtlMemTkAnalysisTask.cxx:425 AtlMemTkAnalysisTask.cxx:426 AtlMemTkAnalysisTask.cxx:427 AtlMemTkAnalysisTask.cxx:428 AtlMemTkAnalysisTask.cxx:429 AtlMemTkAnalysisTask.cxx:430 AtlMemTkAnalysisTask.cxx:431 AtlMemTkAnalysisTask.cxx:432 AtlMemTkAnalysisTask.cxx:433 AtlMemTkAnalysisTask.cxx:434 AtlMemTkAnalysisTask.cxx:435 AtlMemTkAnalysisTask.cxx:436 AtlMemTkAnalysisTask.cxx:437 AtlMemTkAnalysisTask.cxx:438 AtlMemTkAnalysisTask.cxx:439 AtlMemTkAnalysisTask.cxx:440 AtlMemTkAnalysisTask.cxx:441 AtlMemTkAnalysisTask.cxx:442 AtlMemTkAnalysisTask.cxx:443 AtlMemTkAnalysisTask.cxx:444 AtlMemTkAnalysisTask.cxx:445 AtlMemTkAnalysisTask.cxx:446 AtlMemTkAnalysisTask.cxx:447 AtlMemTkAnalysisTask.cxx:448 AtlMemTkAnalysisTask.cxx:449 AtlMemTkAnalysisTask.cxx:450 AtlMemTkAnalysisTask.cxx:451 AtlMemTkAnalysisTask.cxx:452 AtlMemTkAnalysisTask.cxx:453 AtlMemTkAnalysisTask.cxx:454 AtlMemTkAnalysisTask.cxx:455 AtlMemTkAnalysisTask.cxx:456 AtlMemTkAnalysisTask.cxx:457 AtlMemTkAnalysisTask.cxx:458 AtlMemTkAnalysisTask.cxx:459 AtlMemTkAnalysisTask.cxx:460 AtlMemTkAnalysisTask.cxx:461 AtlMemTkAnalysisTask.cxx:462 AtlMemTkAnalysisTask.cxx:463 AtlMemTkAnalysisTask.cxx:464 AtlMemTkAnalysisTask.cxx:465 AtlMemTkAnalysisTask.cxx:466 AtlMemTkAnalysisTask.cxx:467 AtlMemTkAnalysisTask.cxx:468 AtlMemTkAnalysisTask.cxx:469 AtlMemTkAnalysisTask.cxx:470 AtlMemTkAnalysisTask.cxx:471 AtlMemTkAnalysisTask.cxx:472 AtlMemTkAnalysisTask.cxx:473 AtlMemTkAnalysisTask.cxx:474 AtlMemTkAnalysisTask.cxx:475 AtlMemTkAnalysisTask.cxx:476 AtlMemTkAnalysisTask.cxx:477 AtlMemTkAnalysisTask.cxx:478 AtlMemTkAnalysisTask.cxx:479 AtlMemTkAnalysisTask.cxx:480 AtlMemTkAnalysisTask.cxx:481 AtlMemTkAnalysisTask.cxx:482 AtlMemTkAnalysisTask.cxx:483 AtlMemTkAnalysisTask.cxx:484 AtlMemTkAnalysisTask.cxx:485 AtlMemTkAnalysisTask.cxx:486 AtlMemTkAnalysisTask.cxx:487 AtlMemTkAnalysisTask.cxx:488 AtlMemTkAnalysisTask.cxx:489 AtlMemTkAnalysisTask.cxx:490 AtlMemTkAnalysisTask.cxx:491 AtlMemTkAnalysisTask.cxx:492 AtlMemTkAnalysisTask.cxx:493 AtlMemTkAnalysisTask.cxx:494 AtlMemTkAnalysisTask.cxx:495 AtlMemTkAnalysisTask.cxx:496 AtlMemTkAnalysisTask.cxx:497 AtlMemTkAnalysisTask.cxx:498 AtlMemTkAnalysisTask.cxx:499 AtlMemTkAnalysisTask.cxx:500 AtlMemTkAnalysisTask.cxx:501 AtlMemTkAnalysisTask.cxx:502 AtlMemTkAnalysisTask.cxx:503 AtlMemTkAnalysisTask.cxx:504 AtlMemTkAnalysisTask.cxx:505 AtlMemTkAnalysisTask.cxx:506 AtlMemTkAnalysisTask.cxx:507 AtlMemTkAnalysisTask.cxx:508 AtlMemTkAnalysisTask.cxx:509 AtlMemTkAnalysisTask.cxx:510 AtlMemTkAnalysisTask.cxx:511 AtlMemTkAnalysisTask.cxx:512 AtlMemTkAnalysisTask.cxx:513 AtlMemTkAnalysisTask.cxx:514