#include "RConfigure.h"
#include "TProofBenchRunDataRead.h"
#include "TProofBenchDataSet.h"
#include "TProofPerfAnalysis.h"
#include "TProofNodes.h"
#include "TFileCollection.h"
#include "TFileInfo.h"
#include "TProof.h"
#include "TString.h"
#include "Riostream.h"
#include "TMap.h"
#include "TTree.h"
#include "TH1.h"
#include "TH2D.h"
#include "TCanvas.h"
#include "TProfile.h"
#include "TKey.h"
#include "TRegexp.h"
#include "TPerfStats.h"
#include "THashList.h"
#include "TSortedList.h"
#include "TPad.h"
#include "TEnv.h"
#include "TLeaf.h"
#include "TQueryResult.h"
#include "TMath.h"
#include "TStyle.h"
#include "TLegend.h"
#include "TROOT.h"
ClassImp(TProofBenchRunDataRead)
TProofBenchRunDataRead::TProofBenchRunDataRead(TProofBenchDataSet *pbds, TPBReadType *readtype,
TDirectory* dirproofbench, TProof* proof,
TProofNodes* nodes, Long64_t nevents, Int_t ntries,
Int_t start, Int_t stop, Int_t step, Int_t debug)
: TProofBenchRun(proof, kPROOF_BenchSelDataDef), fProof(proof),
fReadType(readtype), fDS(pbds),
fNEvents(nevents), fNTries(ntries), fStart(start), fStop(stop), fStep(step),
fDebug(debug), fFilesPerWrk(2), fReleaseCache(kTRUE),
fDirProofBench(dirproofbench), fNodes(nodes),
fListPerfPlots(0), fProfile_perfstat_event(0), fHist_perfstat_event(0),
fProfile_perfstat_evtmax(0), fNorm_perfstat_evtmax(0),
fProfile_queryresult_event(0), fNorm_queryresult_event(0),
fProfile_perfstat_IO(0), fHist_perfstat_IO(0),
fProfile_perfstat_IOmax(0), fNorm_perfstat_IOmax(0),
fProfile_queryresult_IO(0), fNorm_queryresult_IO(0), fProfile_cpu_eff(0),
fProfLegend_evt(0), fNormLegend_evt(0), fProfLegend_mb(0), fNormLegend_mb(0),
fCPerfProfiles(0), fName(0)
{
if (!fProof) fProof = gProof;
if (!fDS) fDS = new TProofBenchDataSet(fProof);
fName = "DataRead";
if (!fNodes) fNodes = new TProofNodes(fProof);
fNodes->GetMapOfActiveNodes()->Print();
if (stop == -1) fStop = fNodes->GetNWorkersCluster();
fListPerfPlots = new TList;
gEnv->SetValue("Proof.StatsTrace",1);
gStyle->SetOptStat(0);
}
TProofBenchRunDataRead::~TProofBenchRunDataRead()
{
fProof=0;
fDirProofBench=0;
SafeDelete(fListPerfPlots);
if (fCPerfProfiles) delete fCPerfProfiles;
SafeDelete(fProfLegend_evt);
SafeDelete(fProfLegend_mb);
SafeDelete(fNormLegend_evt);
SafeDelete(fNormLegend_mb);
}
void TProofBenchRunDataRead::Run(const char *dset, Int_t start, Int_t stop,
Int_t step, Int_t ntries, Int_t debug, Int_t)
{
if (!fProof){
Error("Run", "Proof not set");
return;
}
if (!dset || (dset && strlen(dset) <= 0)){
Error("Run", "dataset name not set");
return;
}
if (!fProof->ExistsDataSet(dset)) {
Error("Run", "no such data set found; %s", dset);
return;
}
start = (start == -1) ? fStart : start;
stop = (stop == -1) ? fStop : stop;
step = (step == -1) ? fStep : step;
ntries = (ntries == -1) ? fNTries : ntries;
debug = (debug == -1) ? fDebug : debug;
Int_t fDebug_sav = fDebug;
fDebug = debug;
Bool_t nx = kFALSE;
if (step == -2){
nx = kTRUE;
step = 1;
}
if (nx){
Int_t minnworkersanode = fNodes->GetMinWrksPerNode();
if (stop > minnworkersanode) stop = minnworkersanode;
}
if (!TClass::GetClass(fSelName) || !fDS->IsProof(fProof)) {
if (fSelName == kPROOF_BenchSelDataDef) {
#ifdef R__HAVE_CONFIG
TString par = TString::Format("%s/%s%s.par", ROOTETCDIR, kPROOF_BenchParDir, kPROOF_BenchDataSelPar);
#else
TString par = TString::Format("$ROOTSYS/etc/%s%s.par", kPROOF_BenchParDir, kPROOF_BenchDataSelPar);
#endif
Info("Run", "Uploading '%s' ...", par.Data());
if (fProof->UploadPackage(par) != 0) {
Error("Run", "problems uploading '%s' - cannot continue", par.Data());
return;
}
Info("Run", "Enabling '%s' ...", kPROOF_BenchDataSelPar);
if (fProof->EnablePackage(kPROOF_BenchDataSelPar) != 0) {
Error("Run", "problems enabling '%s' - cannot continue", kPROOF_BenchDataSelPar);
return;
}
} else {
if (fParList.IsNull()) {
Error("Run", "you should load the class '%s' before running the benchmark", fSelName.Data());
return;
} else {
TString par;
Int_t from = 0;
while (fParList.Tokenize(par, from, ",")) {
Info("Run", "Uploading '%s' ...", par.Data());
if (fProof->UploadPackage(par) != 0) {
Error("Run", "problems uploading '%s' - cannot continue", par.Data());
return;
}
Info("Run", "Enabling '%s' ...", par.Data());
if (fProof->EnablePackage(par) != 0) {
Error("Run", "problems enabling '%s' - cannot continue", par.Data());
return;
}
}
}
}
if (!TClass::GetClass(fSelName)) {
Error("Run", "failed to load '%s'", fSelName.Data());
return;
}
}
BuildHistos(start, stop, step, nx);
TString dsname(dset);
TString dsbasename = gSystem->BaseName(dset);
if (!fCPerfProfiles){
TString canvasname = TString::Format("Performance Profiles %s", GetName());
fCPerfProfiles = new TCanvas(canvasname.Data(), canvasname.Data());
}
fCPerfProfiles->Clear();
fCPerfProfiles->Divide(2,2);
Info("Run", "Running IO-bound tests on dataset '%s'; %d ~ %d active worker(s),"
" every %d worker(s).", dset, start, stop, step);
Int_t npad = 1;
Int_t nnodes = fNodes->GetNNodes();
Int_t ncores = fNodes->GetNCores();
Bool_t drawpf = kFALSE;
Double_t ymi = -1., ymx = -1., emx =- 1, ymiio = -1., ymxio = -1., mbmx = -1.;
for (Int_t nactive = start; nactive <= stop; nactive += step) {
Int_t ncoren = (nactive < ncores) ? nactive : ncores;
Int_t nw = -1;
if (nx) {
TString workers;
workers.Form("%dx", nactive);
nw = fNodes->ActivateWorkers(workers);
} else {
nw = fNodes->ActivateWorkers(nactive);
}
if (nw < 0){
Error("Run", "could not activate the requested number of"
" workers/node on the cluster; skipping the test point"
" (%d workers/node)", nactive);
continue;
}
TFileCollection *fc = GetDataSet(dsname, nactive, nx);
if (!fc) {
Error("Run", "could not retrieve dataset '%s'", dsname.Data());
continue;
}
fc->Print("F");
TString dsn = TString::Format("%s_%d_%d", dsbasename.Data(), nactive, (Int_t)nx);
fProof->RegisterDataSet(dsn, fc, "OT");
fProof->ShowDataSet(dsn, "F");
for (Int_t j=0; j<ntries; j++) {
if (nx){
Info("Run", "Running IO-bound tests with %d active worker(s)/node;"
" trial %d/%d", nactive, j + 1, ntries);
} else {
Info("Run", "Running IO-bound tests with %d active worker(s);"
" trial %d/%d", nactive, j + 1, ntries);
}
const char *dsnr = (fDS->IsProof(fProof)) ? dsn.Data() : dsname.Data();
if (fReleaseCache) fDS->ReleaseCache(dsnr);
DeleteParameters();
SetParameters();
Info("Run", "Processing data set %s with"
" %d active worker(s).", dsn.Data(), nactive);
TTime starttime = gSystem->Now();
fProof->Process(dsn, fSelName, fSelOption);
DeleteParameters();
TTime endtime = gSystem->Now();
TList *l = fProof->GetOutputList();
TString perfstats_name = "PROOF_PerfStats";
TTree *t = 0;
if (l) t = dynamic_cast<TTree*>(l->FindObject(perfstats_name.Data()));
if (t) {
drawpf = kTRUE;
TTree* tnew=(TTree*)t->Clone("tnew");
FillPerfStatProfiles(tnew, nactive);
TProofPerfAnalysis pfa(tnew);
Double_t pf_eventrate = pfa.GetEvtRateAvgMax();
Double_t pf_IOrate = pfa.GetMBRateAvgMax();
fProfile_perfstat_evtmax->Fill(nactive, pf_eventrate);
fCPerfProfiles->cd(npad);
fProfile_perfstat_evtmax->SetMaximum(1.6*emx);
fProfile_perfstat_evtmax->SetMinimum(0.);
fProfile_perfstat_evtmax->Draw();
fProfLegend_evt->Draw();
gPad->Update();
fProfile_perfstat_IOmax->Fill(nactive, pf_IOrate);
fCPerfProfiles->cd(npad + 2);
fProfile_perfstat_IOmax->SetMaximum(1.6*mbmx);
fProfile_perfstat_IOmax->SetMinimum(0.);
fProfile_perfstat_IOmax->Draw();
fProfLegend_mb->Draw();
gPad->Update();
Double_t nert = nx ? pf_eventrate/nactive/nnodes : pf_eventrate/nactive;
fNorm_perfstat_evtmax->Fill(nactive, nert);
Double_t y1 = fNorm_perfstat_evtmax->GetBinContent(1);
Double_t e1 = fNorm_perfstat_evtmax->GetBinError(1);
Double_t dy = 5 * e1;
if (dy / y1 < 0.2) dy = y1 * 0.2;
if (dy > y1) dy = y1*.999999;
if (ymi < 0.) ymi = y1 - dy;
if (fNorm_perfstat_evtmax->GetBinContent(nactive) < ymi)
ymi = fNorm_perfstat_evtmax->GetBinContent(nactive) / 2.;
if (ymx < 0.) ymx = y1 + dy;
if (fNorm_perfstat_evtmax->GetBinContent(nactive) > ymx)
ymx = fNorm_perfstat_evtmax->GetBinContent(nactive) * 1.5;
fNorm_perfstat_evtmax->SetMaximum(ymx);
fNorm_perfstat_evtmax->SetMinimum(ymi);
fCPerfProfiles->cd(npad + 1);
fNorm_perfstat_evtmax->Draw();
gPad->Update();
Double_t niort = nx ? pf_IOrate/nactive/nnodes : pf_IOrate/nactive;
fNorm_perfstat_IOmax->Fill(nactive, niort);
y1 = fNorm_perfstat_IOmax->GetBinContent(1);
e1 = fNorm_perfstat_IOmax->GetBinError(1);
dy = 5 * e1;
if (dy / y1 < 0.2) dy = y1 * 0.2;
if (dy > y1) dy = y1*.999999;
if (ymiio < 0.) ymiio = y1 - dy;
if (fNorm_perfstat_IOmax->GetBinContent(nactive) < ymiio)
ymiio = fNorm_perfstat_IOmax->GetBinContent(nactive) / 2.;
if (ymxio < 0.) ymxio = y1 + dy;
if (fNorm_perfstat_IOmax->GetBinContent(nactive) > ymxio)
ymxio = fNorm_perfstat_IOmax->GetBinContent(nactive) * 1.5;
fNorm_perfstat_IOmax->SetMaximum(ymxio);
fNorm_perfstat_IOmax->SetMinimum(ymiio);
fCPerfProfiles->cd(npad + 3);
fNorm_perfstat_IOmax->Draw();
gPad->Update();
TString newname = TString::Format("%s_%s_%dwrks%dthtry", t->GetName(), GetName(), nactive, j);
tnew->SetName(newname);
if (debug && fDirProofBench->IsWritable()){
TDirectory *curdir = gDirectory;
TString dirn = nx ? "RunDataReadx" : "RunDataRead";
if (!fDirProofBench->GetDirectory(dirn))
fDirProofBench->mkdir(dirn, "RunDataRead results");
if (fDirProofBench->cd(dirn)) {
tnew->SetDirectory(fDirProofBench);
tnew->Write();
l->Remove(tnew);
} else {
Warning("Run", "cannot cd to subdirectory '%s' to store the results!", dirn.Data());
}
curdir->cd();
}
} else {
if (l)
Warning("Run", "%s: tree not found", perfstats_name.Data());
else
Error("Run", "PROOF output list is empty!");
}
const char *drawopt = t ? "SAME" : "";
TQueryResult *queryresult = fProof->GetQueryResult();
if (queryresult) {
TDatime qr_start = queryresult->GetStartTime();
TDatime qr_end = queryresult->GetEndTime();
Float_t qr_proc = queryresult->GetProcTime();
Long64_t qr_bytes = queryresult->GetBytes();
Long64_t qr_entries = queryresult->GetEntries();
Float_t qr_cpu_eff = -1.;
if (qr_proc > 0.) {
qr_cpu_eff = queryresult->GetUsedCPU() / ncoren / qr_proc ;
fProfile_cpu_eff->Fill(nactive, qr_cpu_eff);
Printf("cpu_eff: %f", qr_cpu_eff);
}
Double_t qr_eventrate=0;
qr_eventrate = qr_entries / Double_t(qr_proc);
if (qr_eventrate > emx) emx = qr_eventrate;
fProfile_queryresult_event->Fill(nactive, qr_eventrate);
fCPerfProfiles->cd(npad);
fProfile_queryresult_event->SetMinimum(0.);
fProfile_queryresult_event->Draw(drawopt);
fProfLegend_evt->Draw();
gPad->Update();
Double_t qr_IOrate = 0;
const Double_t Dmegabytes = 1024*1024;
qr_IOrate = qr_bytes / Dmegabytes / Double_t(qr_proc);
if (qr_IOrate > mbmx) mbmx = qr_IOrate;
fProfile_queryresult_IO->Fill(nactive, qr_IOrate);
fCPerfProfiles->cd(npad + 2);
fProfile_queryresult_IO->SetMinimum(0.);
fProfile_queryresult_IO->Draw(drawopt);
fProfLegend_mb->Draw();
gPad->Update();
Double_t nert = nx ? qr_eventrate/nactive/nnodes : qr_eventrate/nactive;
fNorm_queryresult_event->Fill(nactive, nert);
Double_t y1 = fNorm_queryresult_event->GetBinContent(1);
Double_t e1 = fNorm_queryresult_event->GetBinError(1);
Double_t dy = 5 * e1;
if (dy / y1 < 0.2) dy = y1 * 0.2;
if (dy > y1) dy = y1*.999999;
if (ymi < 0.) ymi = y1 - dy;
if (fNorm_queryresult_event->GetBinContent(nactive) < ymi)
ymi = fNorm_queryresult_event->GetBinContent(nactive) / 2.;
if (ymx < 0.) ymx = y1 + dy;
if (fNorm_queryresult_event->GetBinContent(nactive) > ymx)
ymx = fNorm_queryresult_event->GetBinContent(nactive) * 1.5;
fNorm_queryresult_event->SetMinimum(ymi);
fCPerfProfiles->cd(npad + 1);
fNorm_queryresult_event->Draw(drawopt);
fNormLegend_evt->Draw();
gPad->Update();
Double_t niort = nx ? qr_IOrate/nactive/nnodes : qr_IOrate/nactive;
fNorm_queryresult_IO->Fill(nactive, niort);
y1 = fNorm_queryresult_IO->GetBinContent(1);
e1 = fNorm_queryresult_IO->GetBinError(1);
dy = 5 * e1;
if (dy / y1 < 0.2) dy = y1 * 0.2;
if (dy > y1) dy = y1*.999999;
if (ymiio < 0.) ymiio = y1 - dy;
if (fNorm_queryresult_IO->GetBinContent(nactive) < ymiio)
ymiio = fNorm_queryresult_IO->GetBinContent(nactive) / 2.;
if (ymxio < 0.) ymxio = y1 + dy;
if (fNorm_queryresult_IO->GetBinContent(nactive) > ymxio)
ymxio = fNorm_queryresult_IO->GetBinContent(nactive) * 1.5;
fNorm_queryresult_IO->SetMinimum(ymiio);
fCPerfProfiles->cd(npad + 3);
fNorm_queryresult_IO->Draw(drawopt);
fNormLegend_mb->Draw();
gPad->Update();
}
fCPerfProfiles->cd(0);
}
fProof->RemoveDataSet(dsn);
SafeDelete(fc);
}
fCPerfProfiles->cd(npad);
fProfile_queryresult_event->SetMaximum(1.6*emx);
fProfile_queryresult_event->DrawCopy();
if (drawpf) fProfile_perfstat_evtmax->DrawCopy("SAME");
fProfLegend_evt->Draw();
fCPerfProfiles->cd(npad + 2);
fProfile_queryresult_IO->SetMaximum(1.6*mbmx);
fProfile_queryresult_IO->DrawCopy();
if (drawpf) fProfile_perfstat_IOmax->DrawCopy("SAME");
fProfLegend_mb->Draw();
fCPerfProfiles->cd(npad + 1);
fNorm_queryresult_event->DrawCopy();
if (drawpf) fNorm_perfstat_evtmax->DrawCopy("SAME");
fNormLegend_evt->Draw();
fCPerfProfiles->cd(npad + 3);
fNorm_queryresult_IO->DrawCopy();
if (drawpf) fNorm_perfstat_IOmax->DrawCopy("SAME");
fProfLegend_mb->Draw();
gPad->Update();
if (fDirProofBench->IsWritable()){
TDirectory *curdir = gDirectory;
TString dirn = nx ? "RunDataReadx" : "RunDataRead";
if (!fDirProofBench->GetDirectory(dirn))
fDirProofBench->mkdir(dirn, "RunDataRead results");
if (fDirProofBench->cd(dirn)) {
fListPerfPlots->Write(0, kOverwrite);
fListPerfPlots->SetOwner(kFALSE);
fListPerfPlots->Clear();
} else {
Warning("Run", "cannot cd to subdirectory '%s' to store the results!", dirn.Data());
}
curdir->cd();
}
fDebug = fDebug_sav;
}
TFileCollection *TProofBenchRunDataRead::GetDataSet(const char *dset,
Int_t nact, Bool_t nx)
{
TFileCollection *fcsub = 0;
if (!fProof || (fProof && !fProof->ExistsDataSet(dset))) {
Error("GetDataSet", "dataset '%s' does not exist", dset);
return fcsub;
}
TFileCollection *fcref = fProof->GetDataSet(dset);
if (!fcref) {
Error("GetDataSet", "dataset '%s' could not be retrieved", dset);
return fcsub;
}
Bool_t remote = (fcref->TestBit(TFileCollection::kRemoteCollection)) ? kTRUE : kFALSE;
#if ROOT_VERSION_CODE >= ROOT_VERSION(5,30,0)
TMap *mpref = fcref->GetFilesPerServer(fProof->GetMaster(), kTRUE);
#else
TMap *mpref = fcref->GetFilesPerServer(fProof->GetMaster());
#endif
if (!mpref) {
SafeDelete(fcref);
Error("GetDataSet", "problems classifying info on per-server base");
return fcsub;
}
mpref->Print();
TMap *mpnodes = fNodes->GetMapOfActiveNodes();
if (!mpnodes) {
SafeDelete(fcref);
SafeDelete(mpref);
Error("GetDataSet", "problems getting map of active nodes");
return fcsub;
}
mpnodes->Print();
Int_t nf = fNodes->GetNActives() * fFilesPerWrk;
Printf(" number of files needed (ideally): %d (%d per worker)", nf, fFilesPerWrk);
fcsub = new TFileCollection(TString::Format("%s_%d_%d", fcref->GetName(), nact, nx),
fcref->GetTitle());
TIter nxnd(mpnodes);
TObject *key = 0;
TFileInfo *fi = 0;
TFileCollection *xfc = 0;
TList *lswrks = 0;
while ((key = nxnd())) {
TIter nxsrv(mpref);
TObject *ksrv = 0;
while ((ksrv = nxsrv())) {
TUrl urlsrv(ksrv->GetName());
if (TString(urlsrv.GetHostFQDN()).IsNull())
urlsrv.SetHost(TUrl(gProof->GetMaster()).GetHostFQDN());
if (remote ||
!strcmp(urlsrv.GetHostFQDN(), TUrl(key->GetName()).GetHostFQDN())) {
if ((xfc = dynamic_cast<TFileCollection *>(mpref->GetValue(ksrv)))) {
if ((lswrks = dynamic_cast<TList *>(mpnodes->GetValue(key)))) {
Int_t nfnd = fFilesPerWrk * lswrks->GetSize();
while (nfnd-- && xfc->GetList()->GetSize() > 0) {
if ((fi = (TFileInfo *) xfc->GetList()->First())) {
xfc->GetList()->Remove(fi);
fcsub->Add(fi);
}
}
} else {
Warning("GetDataSet", "could not attach to worker list for node '%s'",
key->GetName());
}
} else {
Warning("GetDataSet", "could not attach to file collection for server '%s'",
ksrv->GetName());
}
}
}
}
fcsub->Update();
fcsub->Print();
if (fcref) {
TString dflt(fcref->GetDefaultTreeName());
if (!dflt.IsNull()) fcsub->SetDefaultTreeName(dflt);
}
SafeDelete(fcref);
SafeDelete(mpref);
return fcsub;
}
void TProofBenchRunDataRead::FillPerfStatProfiles(TTree *t, Int_t nactive)
{
TPerfEvent pe;
TPerfEvent* pep = &pe;
t->SetBranchAddress("PerfEvents",&pep);
Long64_t entries = t->GetEntries();
const Double_t Dmegabytes = 1024.*1024.;
Double_t event_rate_packet = 0;
Double_t IO_rate_packet = 0;
for (Long64_t k=0; k<entries; k++) {
t->GetEntry(k);
if (pe.fEvtNode.Contains(".")) continue;
if (pe.fType==TVirtualPerfStats::kPacket){
if (pe.fProcTime != 0.0) {
event_rate_packet = pe.fEventsProcessed / pe.fProcTime;
fHist_perfstat_event->Fill(Double_t(nactive), event_rate_packet);
IO_rate_packet = pe.fBytesRead / Dmegabytes / pe.fProcTime;
fHist_perfstat_IO->Fill(Double_t(nactive), IO_rate_packet);
}
}
}
return;
}
void TProofBenchRunDataRead::Print(Option_t* option) const
{
Printf("Name = %s", fName.Data());
if (fProof) fProof->Print(option);
Printf("fReadType = %s%s", "k", GetNameStem().Data());
Printf("fNEvents = %lld", fNEvents);
Printf("fNTries = %d", fNTries);
Printf("fStart = %d", fStart);
Printf("fStop = %d", fStop);
Printf("fStep = %d", fStep);
Printf("fDebug = %d", fDebug);
if (fDirProofBench)
Printf("fDirProofBench = %s", fDirProofBench->GetPath());
if (fNodes) fNodes->Print(option);
if (fListPerfPlots) fListPerfPlots->Print(option);
if (fCPerfProfiles)
Printf("Performance Profiles Canvas: Name = %s Title = %s",
fCPerfProfiles->GetName(), fCPerfProfiles->GetTitle());
}
void TProofBenchRunDataRead::DrawPerfProfiles()
{
if (!fCPerfProfiles){
TString canvasname = TString::Format("Performance Profiles %s", GetName());
fCPerfProfiles = new TCanvas(canvasname.Data(), canvasname.Data());
}
fCPerfProfiles->Clear();
Int_t nprofiles = fListPerfPlots->GetSize();
if (nprofiles <= 2){
fCPerfProfiles->Divide(nprofiles);
} else {
Int_t nside = (Int_t)TMath::Sqrt((Float_t)nprofiles);
nside = (nside*nside < nprofiles) ? nside + 1 : nside;
fCPerfProfiles->Divide(nside,nside);
}
Int_t npad=1;
TIter nxt(fListPerfPlots);
TProfile* profile=0;
while ((profile=(TProfile*)(nxt()))){
fCPerfProfiles->cd(npad++);
profile->Draw();
gPad->Update();
}
return;
}
TString TProofBenchRunDataRead::GetNameStem()const
{
TString namestem("+++undef+++");
if (fReadType) {
switch (fReadType->GetType()) {
case TPBReadType::kReadFull:
namestem="Full";
break;
case TPBReadType::kReadOpt:
namestem="Opt";
break;
case TPBReadType::kReadNo:
namestem="No";
break;
default:
break;
}
}
return namestem;
}
Int_t TProofBenchRunDataRead::SetParameters()
{
if (!fProof){
Error("SetParameters", "Proof not set; Doing nothing");
return 1;
}
if (!fReadType) fReadType = new TPBReadType(TPBReadType::kReadOpt);
fProof->AddInput(fReadType);
fProof->SetParameter("PROOF_BenchmarkDebug", Int_t(fDebug));
fProof->SetParameter("PROOF_DontCacheFiles", Int_t(1));
return 0;
}
Int_t TProofBenchRunDataRead::DeleteParameters()
{
if (!fProof){
Error("DeleteParameters", "Proof not set; Doing nothing");
return 1;
}
if (fProof->GetInputList()) {
TObject *type = fProof->GetInputList()->FindObject("PROOF_Benchmark_ReadType");
if (type) fProof->GetInputList()->Remove(type);
}
fProof->DeleteParameters("PROOF_BenchmarkDebug");
return 0;
}
void TProofBenchRunDataRead::BuildHistos(Int_t start, Int_t stop, Int_t step, Bool_t nx)
{
TObject *o = 0;
Int_t quotient = (stop - start) / step;
Int_t ndiv = quotient + 1;
Double_t ns_min = start - step/2.;
Double_t ns_max = quotient*step + start + step/2.;
fProfLegend_evt = new TLegend(0.1, 0.8, 0.3, 0.9);
fNormLegend_evt = new TLegend(0.7, 0.8, 0.9, 0.9);
fProfLegend_mb = new TLegend(0.1, 0.8, 0.3, 0.9);
fNormLegend_mb = new TLegend(0.7, 0.8, 0.9, 0.9);
TString axtitle("Active Workers"), namelab(GetName()), sellab(GetSelName());
if (nx) {
axtitle = "Active Workers/Node";
namelab.Form("x_%s", GetName());
}
if (fSelName == kPROOF_BenchSelDataDef)
sellab.Form("%s_%s", GetSelName(), GetNameStem().Data());
TString name, title;
name.Form("Prof_%s_PS_MaxEvts_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s PerfStat Event- %s", namelab.Data(), sellab.Data());
fProfile_perfstat_evtmax = new TProfile(name, title, ndiv, ns_min, ns_max);
fProfile_perfstat_evtmax->SetDirectory(fDirProofBench);
fProfile_perfstat_evtmax->GetYaxis()->SetTitle("Events/sec");
fProfile_perfstat_evtmax->GetXaxis()->SetTitle(axtitle);
fProfile_perfstat_evtmax->SetMarkerStyle(23);
fProfile_perfstat_evtmax->SetMarkerStyle(2);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fProfile_perfstat_evtmax);
fProfLegend_evt->AddEntry(fProfile_perfstat_evtmax, "Maximum");
name.Form("Prof_%s_PS_Evts_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s PerfStat Event - %s", namelab.Data(), sellab.Data());
fProfile_perfstat_event = new TProfile(name, title, ndiv, ns_min, ns_max);
fProfile_perfstat_event->SetDirectory(fDirProofBench);
fProfile_perfstat_event->GetYaxis()->SetTitle("Events/sec");
fProfile_perfstat_event->GetXaxis()->SetTitle(axtitle);
fProfile_perfstat_event->SetMarkerStyle(21);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fProfile_perfstat_event);
name.Form("Hist_%s_PS_Evts_%s", namelab.Data(), sellab.Data());
title.Form("Histogram %s PerfStat Event - %s", namelab.Data(), sellab.Data());
fHist_perfstat_event = new TH2D(name, title, ndiv, ns_min, ns_max, 100, 0, 0);
fHist_perfstat_event->SetDirectory(fDirProofBench);
fHist_perfstat_event->GetYaxis()->SetTitle("Events/sec");
fHist_perfstat_event->GetXaxis()->SetTitle(axtitle);
fHist_perfstat_event->SetMarkerStyle(7);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fHist_perfstat_event);
name.Form("Norm_%s_PF_MaxEvts_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s Normalized QueryResult Event - %s", namelab.Data(), sellab.Data());
fNorm_perfstat_evtmax = new TProfile(name, title, ndiv, ns_min, ns_max);
fNorm_perfstat_evtmax->SetDirectory(fDirProofBench);
fNorm_perfstat_evtmax->GetYaxis()->SetTitle("Events/sec");
fNorm_perfstat_evtmax->GetXaxis()->SetTitle(axtitle);
fNorm_perfstat_evtmax->SetMarkerStyle(23);
fNorm_perfstat_evtmax->SetMarkerColor(2);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fNorm_perfstat_evtmax);
fNormLegend_evt->AddEntry(fNorm_perfstat_evtmax, "Maximum");
name.Form("Prof_%s_QR_Evts_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s QueryResult Event - %s", namelab.Data(), sellab.Data());
fProfile_queryresult_event = new TProfile(name, title, ndiv, ns_min, ns_max);
fProfile_queryresult_event->SetDirectory(fDirProofBench);
fProfile_queryresult_event->GetYaxis()->SetTitle("Events/sec");
fProfile_queryresult_event->GetXaxis()->SetTitle(axtitle);
fProfile_queryresult_event->SetMarkerStyle(22);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fProfile_queryresult_event);
fProfLegend_evt->AddEntry(fProfile_queryresult_event, "Average");
name.Form("Norm_%s_QR_Evts_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s Normalized QueryResult Event - %s", namelab.Data(), sellab.Data());
fNorm_queryresult_event = new TProfile(name, title, ndiv, ns_min, ns_max);
fNorm_queryresult_event->SetDirectory(fDirProofBench);
fNorm_queryresult_event->GetYaxis()->SetTitle("Events/sec");
fNorm_queryresult_event->GetXaxis()->SetTitle(axtitle);
fNorm_queryresult_event->SetMarkerStyle(22);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fNorm_queryresult_event);
fNormLegend_evt->AddEntry(fNorm_queryresult_event, "Average");
name.Form("Prof_%s_PS_IO_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s PerfStat I/O %s", namelab.Data(), sellab.Data());
fProfile_perfstat_IO = new TProfile(name, title, ndiv, ns_min, ns_max);
fProfile_perfstat_IO->SetDirectory(fDirProofBench);
fProfile_perfstat_IO->GetYaxis()->SetTitle("MB/sec");
fProfile_perfstat_IO->GetXaxis()->SetTitle(axtitle);
fProfile_perfstat_IO->SetMarkerStyle(21);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fProfile_perfstat_IO);
name.Form("Hist_%s_PS_IO_%s", namelab.Data(), sellab.Data());
title.Form("Histogram %s PerfStat I/O - %s", namelab.Data(), sellab.Data());
fHist_perfstat_IO = new TH2D(name, title, ndiv, ns_min, ns_max, 100, 0, 0);
fHist_perfstat_IO->SetDirectory(fDirProofBench);
fHist_perfstat_IO->GetYaxis()->SetTitle("MB/sec");
fHist_perfstat_IO->GetXaxis()->SetTitle(axtitle);
fHist_perfstat_IO->SetMarkerStyle(7);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fHist_perfstat_IO);
name.Form("Prof_%s_PS_MaxIO_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s PerfStat I/O - %s", namelab.Data(), sellab.Data());
fProfile_perfstat_IOmax = new TProfile(name, title, ndiv, ns_min, ns_max);
fProfile_perfstat_IOmax->SetDirectory(fDirProofBench);
fProfile_perfstat_IOmax->GetYaxis()->SetTitle("MB/sec");
fProfile_perfstat_IOmax->GetXaxis()->SetTitle(axtitle);
fProfile_perfstat_IOmax->SetMarkerStyle(21);
fProfile_perfstat_IOmax->SetMarkerColor(2);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fProfile_perfstat_IOmax);
fProfLegend_mb->AddEntry(fProfile_perfstat_IOmax, "Maximum");
name.Form("Norm_%s_PS_MaxIO_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s Normalized PerfStat I/O - %s", namelab.Data(), sellab.Data());
fNorm_perfstat_IOmax = new TProfile(name, title, ndiv, ns_min, ns_max);
fNorm_perfstat_IOmax->SetDirectory(fDirProofBench);
fNorm_perfstat_IOmax->GetYaxis()->SetTitle("MB/sec");
fNorm_perfstat_IOmax->GetXaxis()->SetTitle(axtitle);
fNorm_perfstat_IOmax->SetMarkerStyle(23);
fNorm_perfstat_IOmax->SetMarkerColor(2);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fNorm_perfstat_IOmax);
fNormLegend_mb->AddEntry(fNorm_perfstat_IOmax, "Maximum");
name.Form("Prof_%s_QR_IO_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s QueryResult I/O - %s", namelab.Data(), sellab.Data());
fProfile_queryresult_IO = new TProfile(name, title, ndiv, ns_min, ns_max);
fProfile_queryresult_IO->SetDirectory(fDirProofBench);
fProfile_queryresult_IO->GetYaxis()->SetTitle("MB/sec");
fProfile_queryresult_IO->GetXaxis()->SetTitle(axtitle);
fProfile_queryresult_IO->SetMarkerStyle(22);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fProfile_queryresult_IO);
fProfLegend_mb->AddEntry(fProfile_queryresult_IO, "Average");
name.Form("Norm_%s_QR_IO_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s Normalized QueryResult I/O - %s", namelab.Data(), sellab.Data());
fNorm_queryresult_IO = new TProfile(name, title, ndiv, ns_min, ns_max);
fNorm_queryresult_IO->SetDirectory(fDirProofBench);
fNorm_queryresult_IO->GetYaxis()->SetTitle("MB/sec");
fNorm_queryresult_IO->GetXaxis()->SetTitle(axtitle);
fNorm_queryresult_IO->SetMarkerStyle(22);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fNorm_queryresult_IO);
fNormLegend_mb->AddEntry(fNorm_queryresult_IO, "Average");
name.Form("Prof_%s_CPU_eff_%s", namelab.Data(), sellab.Data());
title.Form("Profile %s CPU efficiency - %s", namelab.Data(), sellab.Data());
fProfile_cpu_eff = new TProfile(name, title, ndiv, ns_min, ns_max);
fProfile_cpu_eff->SetDirectory(fDirProofBench);
fProfile_cpu_eff->GetYaxis()->SetTitle("Efficiency");
fProfile_cpu_eff->GetXaxis()->SetTitle(axtitle);
fProfile_cpu_eff->SetMarkerStyle(22);
if ((o = fListPerfPlots->FindObject(name))) {
fListPerfPlots->Remove(o);
delete o;
}
fListPerfPlots->Add(fProfile_cpu_eff);
}
TProofBenchRunDataRead.cxx:1 TProofBenchRunDataRead.cxx:2 TProofBenchRunDataRead.cxx:3 TProofBenchRunDataRead.cxx:4 TProofBenchRunDataRead.cxx:5 TProofBenchRunDataRead.cxx:6 TProofBenchRunDataRead.cxx:7 TProofBenchRunDataRead.cxx:8 TProofBenchRunDataRead.cxx:9 TProofBenchRunDataRead.cxx:10 TProofBenchRunDataRead.cxx:11 TProofBenchRunDataRead.cxx:12 TProofBenchRunDataRead.cxx:13 TProofBenchRunDataRead.cxx:14 TProofBenchRunDataRead.cxx:15 TProofBenchRunDataRead.cxx:16 TProofBenchRunDataRead.cxx:17 TProofBenchRunDataRead.cxx:18 TProofBenchRunDataRead.cxx:19 TProofBenchRunDataRead.cxx:20 TProofBenchRunDataRead.cxx:21 TProofBenchRunDataRead.cxx:22 TProofBenchRunDataRead.cxx:23 TProofBenchRunDataRead.cxx:24 TProofBenchRunDataRead.cxx:25 TProofBenchRunDataRead.cxx:26 TProofBenchRunDataRead.cxx:27 TProofBenchRunDataRead.cxx:28 TProofBenchRunDataRead.cxx:29 TProofBenchRunDataRead.cxx:30 TProofBenchRunDataRead.cxx:31 TProofBenchRunDataRead.cxx:32 TProofBenchRunDataRead.cxx:33 TProofBenchRunDataRead.cxx:34 TProofBenchRunDataRead.cxx:35 TProofBenchRunDataRead.cxx:36 TProofBenchRunDataRead.cxx:37 TProofBenchRunDataRead.cxx:38 TProofBenchRunDataRead.cxx:39 TProofBenchRunDataRead.cxx:40 TProofBenchRunDataRead.cxx:41 TProofBenchRunDataRead.cxx:42 TProofBenchRunDataRead.cxx:43 TProofBenchRunDataRead.cxx:44 TProofBenchRunDataRead.cxx:45 TProofBenchRunDataRead.cxx:46 TProofBenchRunDataRead.cxx:47 TProofBenchRunDataRead.cxx:48 TProofBenchRunDataRead.cxx:49 TProofBenchRunDataRead.cxx:50 TProofBenchRunDataRead.cxx:51 TProofBenchRunDataRead.cxx:52 TProofBenchRunDataRead.cxx:53 TProofBenchRunDataRead.cxx:54 TProofBenchRunDataRead.cxx:55 TProofBenchRunDataRead.cxx:56 TProofBenchRunDataRead.cxx:57 TProofBenchRunDataRead.cxx:58 TProofBenchRunDataRead.cxx:59 TProofBenchRunDataRead.cxx:60 TProofBenchRunDataRead.cxx:61 TProofBenchRunDataRead.cxx:62 TProofBenchRunDataRead.cxx:63 TProofBenchRunDataRead.cxx:64 TProofBenchRunDataRead.cxx:65 TProofBenchRunDataRead.cxx:66 TProofBenchRunDataRead.cxx:67 TProofBenchRunDataRead.cxx:68 TProofBenchRunDataRead.cxx:69 TProofBenchRunDataRead.cxx:70 TProofBenchRunDataRead.cxx:71 TProofBenchRunDataRead.cxx:72 TProofBenchRunDataRead.cxx:73 TProofBenchRunDataRead.cxx:74 TProofBenchRunDataRead.cxx:75 TProofBenchRunDataRead.cxx:76 TProofBenchRunDataRead.cxx:77 TProofBenchRunDataRead.cxx:78 TProofBenchRunDataRead.cxx:79 TProofBenchRunDataRead.cxx:80 TProofBenchRunDataRead.cxx:81 TProofBenchRunDataRead.cxx:82 TProofBenchRunDataRead.cxx:83 TProofBenchRunDataRead.cxx:84 TProofBenchRunDataRead.cxx:85 TProofBenchRunDataRead.cxx:86 TProofBenchRunDataRead.cxx:87 TProofBenchRunDataRead.cxx:88 TProofBenchRunDataRead.cxx:89 TProofBenchRunDataRead.cxx:90 TProofBenchRunDataRead.cxx:91 TProofBenchRunDataRead.cxx:92 TProofBenchRunDataRead.cxx:93 TProofBenchRunDataRead.cxx:94 TProofBenchRunDataRead.cxx:95 TProofBenchRunDataRead.cxx:96 TProofBenchRunDataRead.cxx:97 TProofBenchRunDataRead.cxx:98 TProofBenchRunDataRead.cxx:99 TProofBenchRunDataRead.cxx:100 TProofBenchRunDataRead.cxx:101 TProofBenchRunDataRead.cxx:102 TProofBenchRunDataRead.cxx:103 TProofBenchRunDataRead.cxx:104 TProofBenchRunDataRead.cxx:105 TProofBenchRunDataRead.cxx:106 TProofBenchRunDataRead.cxx:107 TProofBenchRunDataRead.cxx:108 TProofBenchRunDataRead.cxx:109 TProofBenchRunDataRead.cxx:110 TProofBenchRunDataRead.cxx:111 TProofBenchRunDataRead.cxx:112 TProofBenchRunDataRead.cxx:113 TProofBenchRunDataRead.cxx:114 TProofBenchRunDataRead.cxx:115 TProofBenchRunDataRead.cxx:116 TProofBenchRunDataRead.cxx:117 TProofBenchRunDataRead.cxx:118 TProofBenchRunDataRead.cxx:119 TProofBenchRunDataRead.cxx:120 TProofBenchRunDataRead.cxx:121 TProofBenchRunDataRead.cxx:122 TProofBenchRunDataRead.cxx:123 TProofBenchRunDataRead.cxx:124 TProofBenchRunDataRead.cxx:125 TProofBenchRunDataRead.cxx:126 TProofBenchRunDataRead.cxx:127 TProofBenchRunDataRead.cxx:128 TProofBenchRunDataRead.cxx:129 TProofBenchRunDataRead.cxx:130 TProofBenchRunDataRead.cxx:131 TProofBenchRunDataRead.cxx:132 TProofBenchRunDataRead.cxx:133 TProofBenchRunDataRead.cxx:134 TProofBenchRunDataRead.cxx:135 TProofBenchRunDataRead.cxx:136 TProofBenchRunDataRead.cxx:137 TProofBenchRunDataRead.cxx:138 TProofBenchRunDataRead.cxx:139 TProofBenchRunDataRead.cxx:140 TProofBenchRunDataRead.cxx:141 TProofBenchRunDataRead.cxx:142 TProofBenchRunDataRead.cxx:143 TProofBenchRunDataRead.cxx:144 TProofBenchRunDataRead.cxx:145 TProofBenchRunDataRead.cxx:146 TProofBenchRunDataRead.cxx:147 TProofBenchRunDataRead.cxx:148 TProofBenchRunDataRead.cxx:149 TProofBenchRunDataRead.cxx:150 TProofBenchRunDataRead.cxx:151 TProofBenchRunDataRead.cxx:152 TProofBenchRunDataRead.cxx:153 TProofBenchRunDataRead.cxx:154 TProofBenchRunDataRead.cxx:155 TProofBenchRunDataRead.cxx:156 TProofBenchRunDataRead.cxx:157 TProofBenchRunDataRead.cxx:158 TProofBenchRunDataRead.cxx:159 TProofBenchRunDataRead.cxx:160 TProofBenchRunDataRead.cxx:161 TProofBenchRunDataRead.cxx:162 TProofBenchRunDataRead.cxx:163 TProofBenchRunDataRead.cxx:164 TProofBenchRunDataRead.cxx:165 TProofBenchRunDataRead.cxx:166 TProofBenchRunDataRead.cxx:167 TProofBenchRunDataRead.cxx:168 TProofBenchRunDataRead.cxx:169 TProofBenchRunDataRead.cxx:170 TProofBenchRunDataRead.cxx:171 TProofBenchRunDataRead.cxx:172 TProofBenchRunDataRead.cxx:173 TProofBenchRunDataRead.cxx:174 TProofBenchRunDataRead.cxx:175 TProofBenchRunDataRead.cxx:176 TProofBenchRunDataRead.cxx:177 TProofBenchRunDataRead.cxx:178 TProofBenchRunDataRead.cxx:179 TProofBenchRunDataRead.cxx:180 TProofBenchRunDataRead.cxx:181 TProofBenchRunDataRead.cxx:182 TProofBenchRunDataRead.cxx:183 TProofBenchRunDataRead.cxx:184 TProofBenchRunDataRead.cxx:185 TProofBenchRunDataRead.cxx:186 TProofBenchRunDataRead.cxx:187 TProofBenchRunDataRead.cxx:188 TProofBenchRunDataRead.cxx:189 TProofBenchRunDataRead.cxx:190 TProofBenchRunDataRead.cxx:191 TProofBenchRunDataRead.cxx:192 TProofBenchRunDataRead.cxx:193 TProofBenchRunDataRead.cxx:194 TProofBenchRunDataRead.cxx:195 TProofBenchRunDataRead.cxx:196 TProofBenchRunDataRead.cxx:197 TProofBenchRunDataRead.cxx:198 TProofBenchRunDataRead.cxx:199 TProofBenchRunDataRead.cxx:200 TProofBenchRunDataRead.cxx:201 TProofBenchRunDataRead.cxx:202 TProofBenchRunDataRead.cxx:203 TProofBenchRunDataRead.cxx:204 TProofBenchRunDataRead.cxx:205 TProofBenchRunDataRead.cxx:206 TProofBenchRunDataRead.cxx:207 TProofBenchRunDataRead.cxx:208 TProofBenchRunDataRead.cxx:209 TProofBenchRunDataRead.cxx:210 TProofBenchRunDataRead.cxx:211 TProofBenchRunDataRead.cxx:212 TProofBenchRunDataRead.cxx:213 TProofBenchRunDataRead.cxx:214 TProofBenchRunDataRead.cxx:215 TProofBenchRunDataRead.cxx:216 TProofBenchRunDataRead.cxx:217 TProofBenchRunDataRead.cxx:218 TProofBenchRunDataRead.cxx:219 TProofBenchRunDataRead.cxx:220 TProofBenchRunDataRead.cxx:221 TProofBenchRunDataRead.cxx:222 TProofBenchRunDataRead.cxx:223 TProofBenchRunDataRead.cxx:224 TProofBenchRunDataRead.cxx:225 TProofBenchRunDataRead.cxx:226 TProofBenchRunDataRead.cxx:227 TProofBenchRunDataRead.cxx:228 TProofBenchRunDataRead.cxx:229 TProofBenchRunDataRead.cxx:230 TProofBenchRunDataRead.cxx:231 TProofBenchRunDataRead.cxx:232 TProofBenchRunDataRead.cxx:233 TProofBenchRunDataRead.cxx:234 TProofBenchRunDataRead.cxx:235 TProofBenchRunDataRead.cxx:236 TProofBenchRunDataRead.cxx:237 TProofBenchRunDataRead.cxx:238 TProofBenchRunDataRead.cxx:239 TProofBenchRunDataRead.cxx:240 TProofBenchRunDataRead.cxx:241 TProofBenchRunDataRead.cxx:242 TProofBenchRunDataRead.cxx:243 TProofBenchRunDataRead.cxx:244 TProofBenchRunDataRead.cxx:245 TProofBenchRunDataRead.cxx:246 TProofBenchRunDataRead.cxx:247 TProofBenchRunDataRead.cxx:248 TProofBenchRunDataRead.cxx:249 TProofBenchRunDataRead.cxx:250 TProofBenchRunDataRead.cxx:251 TProofBenchRunDataRead.cxx:252 TProofBenchRunDataRead.cxx:253 TProofBenchRunDataRead.cxx:254 TProofBenchRunDataRead.cxx:255 TProofBenchRunDataRead.cxx:256 TProofBenchRunDataRead.cxx:257 TProofBenchRunDataRead.cxx:258 TProofBenchRunDataRead.cxx:259 TProofBenchRunDataRead.cxx:260 TProofBenchRunDataRead.cxx:261 TProofBenchRunDataRead.cxx:262 TProofBenchRunDataRead.cxx:263 TProofBenchRunDataRead.cxx:264 TProofBenchRunDataRead.cxx:265 TProofBenchRunDataRead.cxx:266 TProofBenchRunDataRead.cxx:267 TProofBenchRunDataRead.cxx:268 TProofBenchRunDataRead.cxx:269 TProofBenchRunDataRead.cxx:270 TProofBenchRunDataRead.cxx:271 TProofBenchRunDataRead.cxx:272 TProofBenchRunDataRead.cxx:273 TProofBenchRunDataRead.cxx:274 TProofBenchRunDataRead.cxx:275 TProofBenchRunDataRead.cxx:276 TProofBenchRunDataRead.cxx:277 TProofBenchRunDataRead.cxx:278 TProofBenchRunDataRead.cxx:279 TProofBenchRunDataRead.cxx:280 TProofBenchRunDataRead.cxx:281 TProofBenchRunDataRead.cxx:282 TProofBenchRunDataRead.cxx:283 TProofBenchRunDataRead.cxx:284 TProofBenchRunDataRead.cxx:285 TProofBenchRunDataRead.cxx:286 TProofBenchRunDataRead.cxx:287 TProofBenchRunDataRead.cxx:288 TProofBenchRunDataRead.cxx:289 TProofBenchRunDataRead.cxx:290 TProofBenchRunDataRead.cxx:291 TProofBenchRunDataRead.cxx:292 TProofBenchRunDataRead.cxx:293 TProofBenchRunDataRead.cxx:294 TProofBenchRunDataRead.cxx:295 TProofBenchRunDataRead.cxx:296 TProofBenchRunDataRead.cxx:297 TProofBenchRunDataRead.cxx:298 TProofBenchRunDataRead.cxx:299 TProofBenchRunDataRead.cxx:300 TProofBenchRunDataRead.cxx:301 TProofBenchRunDataRead.cxx:302 TProofBenchRunDataRead.cxx:303 TProofBenchRunDataRead.cxx:304 TProofBenchRunDataRead.cxx:305 TProofBenchRunDataRead.cxx:306 TProofBenchRunDataRead.cxx:307 TProofBenchRunDataRead.cxx:308 TProofBenchRunDataRead.cxx:309 TProofBenchRunDataRead.cxx:310 TProofBenchRunDataRead.cxx:311 TProofBenchRunDataRead.cxx:312 TProofBenchRunDataRead.cxx:313 TProofBenchRunDataRead.cxx:314 TProofBenchRunDataRead.cxx:315 TProofBenchRunDataRead.cxx:316 TProofBenchRunDataRead.cxx:317 TProofBenchRunDataRead.cxx:318 TProofBenchRunDataRead.cxx:319 TProofBenchRunDataRead.cxx:320 TProofBenchRunDataRead.cxx:321 TProofBenchRunDataRead.cxx:322 TProofBenchRunDataRead.cxx:323 TProofBenchRunDataRead.cxx:324 TProofBenchRunDataRead.cxx:325 TProofBenchRunDataRead.cxx:326 TProofBenchRunDataRead.cxx:327 TProofBenchRunDataRead.cxx:328 TProofBenchRunDataRead.cxx:329 TProofBenchRunDataRead.cxx:330 TProofBenchRunDataRead.cxx:331 TProofBenchRunDataRead.cxx:332 TProofBenchRunDataRead.cxx:333 TProofBenchRunDataRead.cxx:334 TProofBenchRunDataRead.cxx:335 TProofBenchRunDataRead.cxx:336 TProofBenchRunDataRead.cxx:337 TProofBenchRunDataRead.cxx:338 TProofBenchRunDataRead.cxx:339 TProofBenchRunDataRead.cxx:340 TProofBenchRunDataRead.cxx:341 TProofBenchRunDataRead.cxx:342 TProofBenchRunDataRead.cxx:343 TProofBenchRunDataRead.cxx:344 TProofBenchRunDataRead.cxx:345 TProofBenchRunDataRead.cxx:346 TProofBenchRunDataRead.cxx:347 TProofBenchRunDataRead.cxx:348 TProofBenchRunDataRead.cxx:349 TProofBenchRunDataRead.cxx:350 TProofBenchRunDataRead.cxx:351 TProofBenchRunDataRead.cxx:352 TProofBenchRunDataRead.cxx:353 TProofBenchRunDataRead.cxx:354 TProofBenchRunDataRead.cxx:355 TProofBenchRunDataRead.cxx:356 TProofBenchRunDataRead.cxx:357 TProofBenchRunDataRead.cxx:358 TProofBenchRunDataRead.cxx:359 TProofBenchRunDataRead.cxx:360 TProofBenchRunDataRead.cxx:361 TProofBenchRunDataRead.cxx:362 TProofBenchRunDataRead.cxx:363 TProofBenchRunDataRead.cxx:364 TProofBenchRunDataRead.cxx:365 TProofBenchRunDataRead.cxx:366 TProofBenchRunDataRead.cxx:367 TProofBenchRunDataRead.cxx:368 TProofBenchRunDataRead.cxx:369 TProofBenchRunDataRead.cxx:370 TProofBenchRunDataRead.cxx:371 TProofBenchRunDataRead.cxx:372 TProofBenchRunDataRead.cxx:373 TProofBenchRunDataRead.cxx:374 TProofBenchRunDataRead.cxx:375 TProofBenchRunDataRead.cxx:376 TProofBenchRunDataRead.cxx:377 TProofBenchRunDataRead.cxx:378 TProofBenchRunDataRead.cxx:379 TProofBenchRunDataRead.cxx:380 TProofBenchRunDataRead.cxx:381 TProofBenchRunDataRead.cxx:382 TProofBenchRunDataRead.cxx:383 TProofBenchRunDataRead.cxx:384 TProofBenchRunDataRead.cxx:385 TProofBenchRunDataRead.cxx:386 TProofBenchRunDataRead.cxx:387 TProofBenchRunDataRead.cxx:388 TProofBenchRunDataRead.cxx:389 TProofBenchRunDataRead.cxx:390 TProofBenchRunDataRead.cxx:391 TProofBenchRunDataRead.cxx:392 TProofBenchRunDataRead.cxx:393 TProofBenchRunDataRead.cxx:394 TProofBenchRunDataRead.cxx:395 TProofBenchRunDataRead.cxx:396 TProofBenchRunDataRead.cxx:397 TProofBenchRunDataRead.cxx:398 TProofBenchRunDataRead.cxx:399 TProofBenchRunDataRead.cxx:400 TProofBenchRunDataRead.cxx:401 TProofBenchRunDataRead.cxx:402 TProofBenchRunDataRead.cxx:403 TProofBenchRunDataRead.cxx:404 TProofBenchRunDataRead.cxx:405 TProofBenchRunDataRead.cxx:406 TProofBenchRunDataRead.cxx:407 TProofBenchRunDataRead.cxx:408 TProofBenchRunDataRead.cxx:409 TProofBenchRunDataRead.cxx:410 TProofBenchRunDataRead.cxx:411 TProofBenchRunDataRead.cxx:412 TProofBenchRunDataRead.cxx:413 TProofBenchRunDataRead.cxx:414 TProofBenchRunDataRead.cxx:415 TProofBenchRunDataRead.cxx:416 TProofBenchRunDataRead.cxx:417 TProofBenchRunDataRead.cxx:418 TProofBenchRunDataRead.cxx:419 TProofBenchRunDataRead.cxx:420 TProofBenchRunDataRead.cxx:421 TProofBenchRunDataRead.cxx:422 TProofBenchRunDataRead.cxx:423 TProofBenchRunDataRead.cxx:424 TProofBenchRunDataRead.cxx:425 TProofBenchRunDataRead.cxx:426 TProofBenchRunDataRead.cxx:427 TProofBenchRunDataRead.cxx:428 TProofBenchRunDataRead.cxx:429 TProofBenchRunDataRead.cxx:430 TProofBenchRunDataRead.cxx:431 TProofBenchRunDataRead.cxx:432 TProofBenchRunDataRead.cxx:433 TProofBenchRunDataRead.cxx:434 TProofBenchRunDataRead.cxx:435 TProofBenchRunDataRead.cxx:436 TProofBenchRunDataRead.cxx:437 TProofBenchRunDataRead.cxx:438 TProofBenchRunDataRead.cxx:439 TProofBenchRunDataRead.cxx:440 TProofBenchRunDataRead.cxx:441 TProofBenchRunDataRead.cxx:442 TProofBenchRunDataRead.cxx:443 TProofBenchRunDataRead.cxx:444 TProofBenchRunDataRead.cxx:445 TProofBenchRunDataRead.cxx:446 TProofBenchRunDataRead.cxx:447 TProofBenchRunDataRead.cxx:448 TProofBenchRunDataRead.cxx:449 TProofBenchRunDataRead.cxx:450 TProofBenchRunDataRead.cxx:451 TProofBenchRunDataRead.cxx:452 TProofBenchRunDataRead.cxx:453 TProofBenchRunDataRead.cxx:454 TProofBenchRunDataRead.cxx:455 TProofBenchRunDataRead.cxx:456 TProofBenchRunDataRead.cxx:457 TProofBenchRunDataRead.cxx:458 TProofBenchRunDataRead.cxx:459 TProofBenchRunDataRead.cxx:460 TProofBenchRunDataRead.cxx:461 TProofBenchRunDataRead.cxx:462 TProofBenchRunDataRead.cxx:463 TProofBenchRunDataRead.cxx:464 TProofBenchRunDataRead.cxx:465 TProofBenchRunDataRead.cxx:466 TProofBenchRunDataRead.cxx:467 TProofBenchRunDataRead.cxx:468 TProofBenchRunDataRead.cxx:469 TProofBenchRunDataRead.cxx:470 TProofBenchRunDataRead.cxx:471 TProofBenchRunDataRead.cxx:472 TProofBenchRunDataRead.cxx:473 TProofBenchRunDataRead.cxx:474 TProofBenchRunDataRead.cxx:475 TProofBenchRunDataRead.cxx:476 TProofBenchRunDataRead.cxx:477 TProofBenchRunDataRead.cxx:478 TProofBenchRunDataRead.cxx:479 TProofBenchRunDataRead.cxx:480 TProofBenchRunDataRead.cxx:481 TProofBenchRunDataRead.cxx:482 TProofBenchRunDataRead.cxx:483 TProofBenchRunDataRead.cxx:484 TProofBenchRunDataRead.cxx:485 TProofBenchRunDataRead.cxx:486 TProofBenchRunDataRead.cxx:487 TProofBenchRunDataRead.cxx:488 TProofBenchRunDataRead.cxx:489 TProofBenchRunDataRead.cxx:490 TProofBenchRunDataRead.cxx:491 TProofBenchRunDataRead.cxx:492 TProofBenchRunDataRead.cxx:493 TProofBenchRunDataRead.cxx:494 TProofBenchRunDataRead.cxx:495 TProofBenchRunDataRead.cxx:496 TProofBenchRunDataRead.cxx:497 TProofBenchRunDataRead.cxx:498 TProofBenchRunDataRead.cxx:499 TProofBenchRunDataRead.cxx:500 TProofBenchRunDataRead.cxx:501 TProofBenchRunDataRead.cxx:502 TProofBenchRunDataRead.cxx:503 TProofBenchRunDataRead.cxx:504 TProofBenchRunDataRead.cxx:505 TProofBenchRunDataRead.cxx:506 TProofBenchRunDataRead.cxx:507 TProofBenchRunDataRead.cxx:508 TProofBenchRunDataRead.cxx:509 TProofBenchRunDataRead.cxx:510 TProofBenchRunDataRead.cxx:511 TProofBenchRunDataRead.cxx:512 TProofBenchRunDataRead.cxx:513 TProofBenchRunDataRead.cxx:514 TProofBenchRunDataRead.cxx:515 TProofBenchRunDataRead.cxx:516 TProofBenchRunDataRead.cxx:517 TProofBenchRunDataRead.cxx:518 TProofBenchRunDataRead.cxx:519 TProofBenchRunDataRead.cxx:520 TProofBenchRunDataRead.cxx:521 TProofBenchRunDataRead.cxx:522 TProofBenchRunDataRead.cxx:523 TProofBenchRunDataRead.cxx:524 TProofBenchRunDataRead.cxx:525 TProofBenchRunDataRead.cxx:526 TProofBenchRunDataRead.cxx:527 TProofBenchRunDataRead.cxx:528 TProofBenchRunDataRead.cxx:529 TProofBenchRunDataRead.cxx:530 TProofBenchRunDataRead.cxx:531 TProofBenchRunDataRead.cxx:532 TProofBenchRunDataRead.cxx:533 TProofBenchRunDataRead.cxx:534 TProofBenchRunDataRead.cxx:535 TProofBenchRunDataRead.cxx:536 TProofBenchRunDataRead.cxx:537 TProofBenchRunDataRead.cxx:538 TProofBenchRunDataRead.cxx:539 TProofBenchRunDataRead.cxx:540 TProofBenchRunDataRead.cxx:541 TProofBenchRunDataRead.cxx:542 TProofBenchRunDataRead.cxx:543 TProofBenchRunDataRead.cxx:544 TProofBenchRunDataRead.cxx:545 TProofBenchRunDataRead.cxx:546 TProofBenchRunDataRead.cxx:547 TProofBenchRunDataRead.cxx:548 TProofBenchRunDataRead.cxx:549 TProofBenchRunDataRead.cxx:550 TProofBenchRunDataRead.cxx:551 TProofBenchRunDataRead.cxx:552 TProofBenchRunDataRead.cxx:553 TProofBenchRunDataRead.cxx:554 TProofBenchRunDataRead.cxx:555 TProofBenchRunDataRead.cxx:556 TProofBenchRunDataRead.cxx:557 TProofBenchRunDataRead.cxx:558 TProofBenchRunDataRead.cxx:559 TProofBenchRunDataRead.cxx:560 TProofBenchRunDataRead.cxx:561 TProofBenchRunDataRead.cxx:562 TProofBenchRunDataRead.cxx:563 TProofBenchRunDataRead.cxx:564 TProofBenchRunDataRead.cxx:565 TProofBenchRunDataRead.cxx:566 TProofBenchRunDataRead.cxx:567 TProofBenchRunDataRead.cxx:568 TProofBenchRunDataRead.cxx:569 TProofBenchRunDataRead.cxx:570 TProofBenchRunDataRead.cxx:571 TProofBenchRunDataRead.cxx:572 TProofBenchRunDataRead.cxx:573 TProofBenchRunDataRead.cxx:574 TProofBenchRunDataRead.cxx:575 TProofBenchRunDataRead.cxx:576 TProofBenchRunDataRead.cxx:577 TProofBenchRunDataRead.cxx:578 TProofBenchRunDataRead.cxx:579 TProofBenchRunDataRead.cxx:580 TProofBenchRunDataRead.cxx:581 TProofBenchRunDataRead.cxx:582 TProofBenchRunDataRead.cxx:583 TProofBenchRunDataRead.cxx:584 TProofBenchRunDataRead.cxx:585 TProofBenchRunDataRead.cxx:586 TProofBenchRunDataRead.cxx:587 TProofBenchRunDataRead.cxx:588 TProofBenchRunDataRead.cxx:589 TProofBenchRunDataRead.cxx:590 TProofBenchRunDataRead.cxx:591 TProofBenchRunDataRead.cxx:592 TProofBenchRunDataRead.cxx:593 TProofBenchRunDataRead.cxx:594 TProofBenchRunDataRead.cxx:595 TProofBenchRunDataRead.cxx:596 TProofBenchRunDataRead.cxx:597 TProofBenchRunDataRead.cxx:598 TProofBenchRunDataRead.cxx:599 TProofBenchRunDataRead.cxx:600 TProofBenchRunDataRead.cxx:601 TProofBenchRunDataRead.cxx:602 TProofBenchRunDataRead.cxx:603 TProofBenchRunDataRead.cxx:604 TProofBenchRunDataRead.cxx:605 TProofBenchRunDataRead.cxx:606 TProofBenchRunDataRead.cxx:607 TProofBenchRunDataRead.cxx:608 TProofBenchRunDataRead.cxx:609 TProofBenchRunDataRead.cxx:610 TProofBenchRunDataRead.cxx:611 TProofBenchRunDataRead.cxx:612 TProofBenchRunDataRead.cxx:613 TProofBenchRunDataRead.cxx:614 TProofBenchRunDataRead.cxx:615 TProofBenchRunDataRead.cxx:616 TProofBenchRunDataRead.cxx:617 TProofBenchRunDataRead.cxx:618 TProofBenchRunDataRead.cxx:619 TProofBenchRunDataRead.cxx:620 TProofBenchRunDataRead.cxx:621 TProofBenchRunDataRead.cxx:622 TProofBenchRunDataRead.cxx:623 TProofBenchRunDataRead.cxx:624 TProofBenchRunDataRead.cxx:625 TProofBenchRunDataRead.cxx:626 TProofBenchRunDataRead.cxx:627 TProofBenchRunDataRead.cxx:628 TProofBenchRunDataRead.cxx:629 TProofBenchRunDataRead.cxx:630 TProofBenchRunDataRead.cxx:631 TProofBenchRunDataRead.cxx:632 TProofBenchRunDataRead.cxx:633 TProofBenchRunDataRead.cxx:634 TProofBenchRunDataRead.cxx:635 TProofBenchRunDataRead.cxx:636 TProofBenchRunDataRead.cxx:637 TProofBenchRunDataRead.cxx:638 TProofBenchRunDataRead.cxx:639 TProofBenchRunDataRead.cxx:640 TProofBenchRunDataRead.cxx:641 TProofBenchRunDataRead.cxx:642 TProofBenchRunDataRead.cxx:643 TProofBenchRunDataRead.cxx:644 TProofBenchRunDataRead.cxx:645 TProofBenchRunDataRead.cxx:646 TProofBenchRunDataRead.cxx:647 TProofBenchRunDataRead.cxx:648 TProofBenchRunDataRead.cxx:649 TProofBenchRunDataRead.cxx:650 TProofBenchRunDataRead.cxx:651 TProofBenchRunDataRead.cxx:652 TProofBenchRunDataRead.cxx:653 TProofBenchRunDataRead.cxx:654 TProofBenchRunDataRead.cxx:655 TProofBenchRunDataRead.cxx:656 TProofBenchRunDataRead.cxx:657 TProofBenchRunDataRead.cxx:658 TProofBenchRunDataRead.cxx:659 TProofBenchRunDataRead.cxx:660 TProofBenchRunDataRead.cxx:661 TProofBenchRunDataRead.cxx:662 TProofBenchRunDataRead.cxx:663 TProofBenchRunDataRead.cxx:664 TProofBenchRunDataRead.cxx:665 TProofBenchRunDataRead.cxx:666 TProofBenchRunDataRead.cxx:667 TProofBenchRunDataRead.cxx:668 TProofBenchRunDataRead.cxx:669 TProofBenchRunDataRead.cxx:670 TProofBenchRunDataRead.cxx:671 TProofBenchRunDataRead.cxx:672 TProofBenchRunDataRead.cxx:673 TProofBenchRunDataRead.cxx:674 TProofBenchRunDataRead.cxx:675 TProofBenchRunDataRead.cxx:676 TProofBenchRunDataRead.cxx:677 TProofBenchRunDataRead.cxx:678 TProofBenchRunDataRead.cxx:679 TProofBenchRunDataRead.cxx:680 TProofBenchRunDataRead.cxx:681 TProofBenchRunDataRead.cxx:682 TProofBenchRunDataRead.cxx:683 TProofBenchRunDataRead.cxx:684 TProofBenchRunDataRead.cxx:685 TProofBenchRunDataRead.cxx:686 TProofBenchRunDataRead.cxx:687 TProofBenchRunDataRead.cxx:688 TProofBenchRunDataRead.cxx:689 TProofBenchRunDataRead.cxx:690 TProofBenchRunDataRead.cxx:691 TProofBenchRunDataRead.cxx:692 TProofBenchRunDataRead.cxx:693 TProofBenchRunDataRead.cxx:694 TProofBenchRunDataRead.cxx:695 TProofBenchRunDataRead.cxx:696 TProofBenchRunDataRead.cxx:697 TProofBenchRunDataRead.cxx:698 TProofBenchRunDataRead.cxx:699 TProofBenchRunDataRead.cxx:700 TProofBenchRunDataRead.cxx:701 TProofBenchRunDataRead.cxx:702 TProofBenchRunDataRead.cxx:703 TProofBenchRunDataRead.cxx:704 TProofBenchRunDataRead.cxx:705 TProofBenchRunDataRead.cxx:706 TProofBenchRunDataRead.cxx:707 TProofBenchRunDataRead.cxx:708 TProofBenchRunDataRead.cxx:709 TProofBenchRunDataRead.cxx:710 TProofBenchRunDataRead.cxx:711 TProofBenchRunDataRead.cxx:712 TProofBenchRunDataRead.cxx:713 TProofBenchRunDataRead.cxx:714 TProofBenchRunDataRead.cxx:715 TProofBenchRunDataRead.cxx:716 TProofBenchRunDataRead.cxx:717 TProofBenchRunDataRead.cxx:718 TProofBenchRunDataRead.cxx:719 TProofBenchRunDataRead.cxx:720 TProofBenchRunDataRead.cxx:721 TProofBenchRunDataRead.cxx:722 TProofBenchRunDataRead.cxx:723 TProofBenchRunDataRead.cxx:724 TProofBenchRunDataRead.cxx:725 TProofBenchRunDataRead.cxx:726 TProofBenchRunDataRead.cxx:727 TProofBenchRunDataRead.cxx:728 TProofBenchRunDataRead.cxx:729 TProofBenchRunDataRead.cxx:730 TProofBenchRunDataRead.cxx:731 TProofBenchRunDataRead.cxx:732 TProofBenchRunDataRead.cxx:733 TProofBenchRunDataRead.cxx:734 TProofBenchRunDataRead.cxx:735 TProofBenchRunDataRead.cxx:736 TProofBenchRunDataRead.cxx:737 TProofBenchRunDataRead.cxx:738 TProofBenchRunDataRead.cxx:739 TProofBenchRunDataRead.cxx:740 TProofBenchRunDataRead.cxx:741 TProofBenchRunDataRead.cxx:742 TProofBenchRunDataRead.cxx:743 TProofBenchRunDataRead.cxx:744 TProofBenchRunDataRead.cxx:745 TProofBenchRunDataRead.cxx:746 TProofBenchRunDataRead.cxx:747 TProofBenchRunDataRead.cxx:748 TProofBenchRunDataRead.cxx:749 TProofBenchRunDataRead.cxx:750 TProofBenchRunDataRead.cxx:751 TProofBenchRunDataRead.cxx:752 TProofBenchRunDataRead.cxx:753 TProofBenchRunDataRead.cxx:754 TProofBenchRunDataRead.cxx:755 TProofBenchRunDataRead.cxx:756 TProofBenchRunDataRead.cxx:757 TProofBenchRunDataRead.cxx:758 TProofBenchRunDataRead.cxx:759 TProofBenchRunDataRead.cxx:760 TProofBenchRunDataRead.cxx:761 TProofBenchRunDataRead.cxx:762 TProofBenchRunDataRead.cxx:763 TProofBenchRunDataRead.cxx:764 TProofBenchRunDataRead.cxx:765 TProofBenchRunDataRead.cxx:766 TProofBenchRunDataRead.cxx:767 TProofBenchRunDataRead.cxx:768 TProofBenchRunDataRead.cxx:769 TProofBenchRunDataRead.cxx:770 TProofBenchRunDataRead.cxx:771 TProofBenchRunDataRead.cxx:772 TProofBenchRunDataRead.cxx:773 TProofBenchRunDataRead.cxx:774 TProofBenchRunDataRead.cxx:775 TProofBenchRunDataRead.cxx:776 TProofBenchRunDataRead.cxx:777 TProofBenchRunDataRead.cxx:778 TProofBenchRunDataRead.cxx:779 TProofBenchRunDataRead.cxx:780 TProofBenchRunDataRead.cxx:781 TProofBenchRunDataRead.cxx:782 TProofBenchRunDataRead.cxx:783 TProofBenchRunDataRead.cxx:784 TProofBenchRunDataRead.cxx:785 TProofBenchRunDataRead.cxx:786 TProofBenchRunDataRead.cxx:787 TProofBenchRunDataRead.cxx:788 TProofBenchRunDataRead.cxx:789 TProofBenchRunDataRead.cxx:790 TProofBenchRunDataRead.cxx:791 TProofBenchRunDataRead.cxx:792 TProofBenchRunDataRead.cxx:793 TProofBenchRunDataRead.cxx:794 TProofBenchRunDataRead.cxx:795 TProofBenchRunDataRead.cxx:796 TProofBenchRunDataRead.cxx:797 TProofBenchRunDataRead.cxx:798 TProofBenchRunDataRead.cxx:799 TProofBenchRunDataRead.cxx:800 TProofBenchRunDataRead.cxx:801 TProofBenchRunDataRead.cxx:802 TProofBenchRunDataRead.cxx:803 TProofBenchRunDataRead.cxx:804 TProofBenchRunDataRead.cxx:805 TProofBenchRunDataRead.cxx:806 TProofBenchRunDataRead.cxx:807 TProofBenchRunDataRead.cxx:808 TProofBenchRunDataRead.cxx:809 TProofBenchRunDataRead.cxx:810 TProofBenchRunDataRead.cxx:811 TProofBenchRunDataRead.cxx:812 TProofBenchRunDataRead.cxx:813 TProofBenchRunDataRead.cxx:814 TProofBenchRunDataRead.cxx:815 TProofBenchRunDataRead.cxx:816 TProofBenchRunDataRead.cxx:817 TProofBenchRunDataRead.cxx:818 TProofBenchRunDataRead.cxx:819 TProofBenchRunDataRead.cxx:820 TProofBenchRunDataRead.cxx:821 TProofBenchRunDataRead.cxx:822 TProofBenchRunDataRead.cxx:823 TProofBenchRunDataRead.cxx:824 TProofBenchRunDataRead.cxx:825 TProofBenchRunDataRead.cxx:826 TProofBenchRunDataRead.cxx:827 TProofBenchRunDataRead.cxx:828 TProofBenchRunDataRead.cxx:829 TProofBenchRunDataRead.cxx:830 TProofBenchRunDataRead.cxx:831 TProofBenchRunDataRead.cxx:832 TProofBenchRunDataRead.cxx:833 TProofBenchRunDataRead.cxx:834 TProofBenchRunDataRead.cxx:835 TProofBenchRunDataRead.cxx:836 TProofBenchRunDataRead.cxx:837 TProofBenchRunDataRead.cxx:838 TProofBenchRunDataRead.cxx:839 TProofBenchRunDataRead.cxx:840 TProofBenchRunDataRead.cxx:841 TProofBenchRunDataRead.cxx:842 TProofBenchRunDataRead.cxx:843 TProofBenchRunDataRead.cxx:844 TProofBenchRunDataRead.cxx:845 TProofBenchRunDataRead.cxx:846 TProofBenchRunDataRead.cxx:847 TProofBenchRunDataRead.cxx:848 TProofBenchRunDataRead.cxx:849 TProofBenchRunDataRead.cxx:850 TProofBenchRunDataRead.cxx:851 TProofBenchRunDataRead.cxx:852 TProofBenchRunDataRead.cxx:853 TProofBenchRunDataRead.cxx:854 TProofBenchRunDataRead.cxx:855 TProofBenchRunDataRead.cxx:856 TProofBenchRunDataRead.cxx:857 TProofBenchRunDataRead.cxx:858 TProofBenchRunDataRead.cxx:859 TProofBenchRunDataRead.cxx:860 TProofBenchRunDataRead.cxx:861 TProofBenchRunDataRead.cxx:862 TProofBenchRunDataRead.cxx:863 TProofBenchRunDataRead.cxx:864 TProofBenchRunDataRead.cxx:865 TProofBenchRunDataRead.cxx:866 TProofBenchRunDataRead.cxx:867 TProofBenchRunDataRead.cxx:868 TProofBenchRunDataRead.cxx:869 TProofBenchRunDataRead.cxx:870 TProofBenchRunDataRead.cxx:871 TProofBenchRunDataRead.cxx:872 TProofBenchRunDataRead.cxx:873 TProofBenchRunDataRead.cxx:874 TProofBenchRunDataRead.cxx:875 TProofBenchRunDataRead.cxx:876 TProofBenchRunDataRead.cxx:877 TProofBenchRunDataRead.cxx:878 TProofBenchRunDataRead.cxx:879 TProofBenchRunDataRead.cxx:880 TProofBenchRunDataRead.cxx:881 TProofBenchRunDataRead.cxx:882 TProofBenchRunDataRead.cxx:883 TProofBenchRunDataRead.cxx:884 TProofBenchRunDataRead.cxx:885 TProofBenchRunDataRead.cxx:886 TProofBenchRunDataRead.cxx:887 TProofBenchRunDataRead.cxx:888 TProofBenchRunDataRead.cxx:889 TProofBenchRunDataRead.cxx:890 TProofBenchRunDataRead.cxx:891 TProofBenchRunDataRead.cxx:892 TProofBenchRunDataRead.cxx:893 TProofBenchRunDataRead.cxx:894 TProofBenchRunDataRead.cxx:895 TProofBenchRunDataRead.cxx:896 TProofBenchRunDataRead.cxx:897 TProofBenchRunDataRead.cxx:898 TProofBenchRunDataRead.cxx:899 TProofBenchRunDataRead.cxx:900 TProofBenchRunDataRead.cxx:901 TProofBenchRunDataRead.cxx:902 TProofBenchRunDataRead.cxx:903 TProofBenchRunDataRead.cxx:904 TProofBenchRunDataRead.cxx:905 TProofBenchRunDataRead.cxx:906 TProofBenchRunDataRead.cxx:907 TProofBenchRunDataRead.cxx:908 TProofBenchRunDataRead.cxx:909 TProofBenchRunDataRead.cxx:910 TProofBenchRunDataRead.cxx:911 TProofBenchRunDataRead.cxx:912 TProofBenchRunDataRead.cxx:913 TProofBenchRunDataRead.cxx:914 TProofBenchRunDataRead.cxx:915 TProofBenchRunDataRead.cxx:916 TProofBenchRunDataRead.cxx:917 TProofBenchRunDataRead.cxx:918 TProofBenchRunDataRead.cxx:919 TProofBenchRunDataRead.cxx:920 TProofBenchRunDataRead.cxx:921 TProofBenchRunDataRead.cxx:922 TProofBenchRunDataRead.cxx:923 TProofBenchRunDataRead.cxx:924 TProofBenchRunDataRead.cxx:925 TProofBenchRunDataRead.cxx:926 TProofBenchRunDataRead.cxx:927 TProofBenchRunDataRead.cxx:928 TProofBenchRunDataRead.cxx:929 TProofBenchRunDataRead.cxx:930 TProofBenchRunDataRead.cxx:931 TProofBenchRunDataRead.cxx:932 TProofBenchRunDataRead.cxx:933 TProofBenchRunDataRead.cxx:934 TProofBenchRunDataRead.cxx:935 TProofBenchRunDataRead.cxx:936 TProofBenchRunDataRead.cxx:937 TProofBenchRunDataRead.cxx:938 TProofBenchRunDataRead.cxx:939 TProofBenchRunDataRead.cxx:940 TProofBenchRunDataRead.cxx:941 TProofBenchRunDataRead.cxx:942 TProofBenchRunDataRead.cxx:943 TProofBenchRunDataRead.cxx:944 TProofBenchRunDataRead.cxx:945 TProofBenchRunDataRead.cxx:946 TProofBenchRunDataRead.cxx:947 TProofBenchRunDataRead.cxx:948 TProofBenchRunDataRead.cxx:949 TProofBenchRunDataRead.cxx:950 TProofBenchRunDataRead.cxx:951 TProofBenchRunDataRead.cxx:952 TProofBenchRunDataRead.cxx:953 TProofBenchRunDataRead.cxx:954 TProofBenchRunDataRead.cxx:955 TProofBenchRunDataRead.cxx:956 TProofBenchRunDataRead.cxx:957 TProofBenchRunDataRead.cxx:958 TProofBenchRunDataRead.cxx:959 TProofBenchRunDataRead.cxx:960 TProofBenchRunDataRead.cxx:961 TProofBenchRunDataRead.cxx:962 TProofBenchRunDataRead.cxx:963 TProofBenchRunDataRead.cxx:964 TProofBenchRunDataRead.cxx:965 TProofBenchRunDataRead.cxx:966 TProofBenchRunDataRead.cxx:967 TProofBenchRunDataRead.cxx:968 TProofBenchRunDataRead.cxx:969 TProofBenchRunDataRead.cxx:970 TProofBenchRunDataRead.cxx:971 TProofBenchRunDataRead.cxx:972 TProofBenchRunDataRead.cxx:973 TProofBenchRunDataRead.cxx:974 TProofBenchRunDataRead.cxx:975 TProofBenchRunDataRead.cxx:976 TProofBenchRunDataRead.cxx:977 TProofBenchRunDataRead.cxx:978 TProofBenchRunDataRead.cxx:979 TProofBenchRunDataRead.cxx:980 TProofBenchRunDataRead.cxx:981 TProofBenchRunDataRead.cxx:982 TProofBenchRunDataRead.cxx:983 TProofBenchRunDataRead.cxx:984 TProofBenchRunDataRead.cxx:985 TProofBenchRunDataRead.cxx:986 TProofBenchRunDataRead.cxx:987 TProofBenchRunDataRead.cxx:988 TProofBenchRunDataRead.cxx:989 TProofBenchRunDataRead.cxx:990 TProofBenchRunDataRead.cxx:991 TProofBenchRunDataRead.cxx:992 TProofBenchRunDataRead.cxx:993 TProofBenchRunDataRead.cxx:994 TProofBenchRunDataRead.cxx:995 TProofBenchRunDataRead.cxx:996 TProofBenchRunDataRead.cxx:997 TProofBenchRunDataRead.cxx:998 TProofBenchRunDataRead.cxx:999 TProofBenchRunDataRead.cxx:1000 TProofBenchRunDataRead.cxx:1001 TProofBenchRunDataRead.cxx:1002 TProofBenchRunDataRead.cxx:1003 TProofBenchRunDataRead.cxx:1004 TProofBenchRunDataRead.cxx:1005 TProofBenchRunDataRead.cxx:1006