27 #include "RConfigure.h"    82    Double_t res = par[0] + par[1] * xx[0];
    91    Double_t res = par[0] + par[1] * xx[0] + par[2] * xx[0] * xx[0];
   100    Double_t res = par[0] / xx[0] + par[1];
   109    Double_t res = par[0] / xx[0] + par[1] + par[2] * xx[0];
   118    Double_t sat = par[0] / par[1] * (xx[0] * par[1] / par[2] - 1.);
   119    if (xx[0] < par[2] / par[1]) sat = 0.;
   120    Double_t res = par[0] * xx[0] / (1. + sat);
   135    Double_t rio = par[0] / par[3] * xx[0];
   136    if (xx[0] > par[3]) rio = par[0];
   142    Double_t res = 1. / (1./par[4] + 1./rio + 1./rcpu);
   185             : fUnlinkOutfile(
kFALSE), fProofDS(0), fOutFile(0),
   186               fNtries(4), fHistType(0), fNHist(16), fReadType(0),
   187               fDataSet(
"BenchDataSet"), fNFilesWrk(2), fReleaseCache(
kTRUE),
   189               fRunCPU(0), fRunDS(0), fDS(0), fDebug(
kFALSE), fDescription(0)
   193       Error(
"TProofBench", 
"specifying a PROOF master url is mandatory - cannot continue");
   197       Error(
"TProofBench", 
"could not open a valid PROOF session - cannot continue");
   206          Error(
"TProofBench", 
"dynamic mode: you must specify the max number of workers");
   214          Error(
"TProofBench", 
"dynamic mode: wrong specification of the max number of"   222       Error(
"TProofBench", 
"wrong max number of workers ('%d')", 
fNumWrkMax);
   240       Warning(
"TProofBench", 
"problems opening '%s' - ignoring: use SetOutFile to try"   241                                    " again or with another file", outfile);
   268       const char *mode = 0;
   275             Warning(
"OpenOutFile", 
"problems opening '%s' - ignoring: use SetOutFile to try"   281          if (!strcmp(mode, 
"RECREATE")) {
   317          Warning(
"SetOutFile", 
"problems opening '%s' - ignoring: use SetOutFile to try"   318                                " again or with another file", outfile);
   413    if (!fout || (fout && fout->
IsZombie())) {
   414       ::Error(
"DrawCPU", 
"could not open file '%s' ...", outfile);
   419    TString description(
"<not available>");
   421    if (nmdesc) description = nmdesc->
GetTitle();
   431    const char *dirn = (isX) ? 
"RunCPUx" : 
"RunCPU";
   434       ::Error(
"DrawCPU", 
"could not find directory '%s' ...", dirn);
   442    const char *lx = (isX) ? 
"_x" : 
"";
   443    const char *ln = (isNorm) ? 
"Norm" : 
"Prof";
   444    hprofn.
Form(
"%s%s_CPU_QR_Evts", ln, lx);
   445    hmaxn.
Form(
"%s%s_CPU_PS_MaxEvts", ln, lx);
   448    Double_t ami = -1., amx = -1., mmi = -1., mmx = -1.;
   456          ::Error(
"DrawCPU", 
"could not find '%s' ...", hprofn.
Data());
   468          ::Warning(
"DrawCPU", 
"could not find '%s': feature added in 5.34/11", hmaxn.
Data());
   477       if (mmx > ymx) ymx = mmx;
   478       if ((ymi > 0 && mmi < ymi) || (ymi < 0.)) ymi = mmi;
   481    TProfile *pf = (doMax) ? pfmx : pfav;
   482    Int_t kmx = (doMax) ? kmmx : kamx;
   485    TCanvas *cpu = 
new TCanvas(
"cpu", 
"Rate vs wrks",204,69,1050,502);
   486    cpu->
Range(-3.106332,0.7490716,28.1362,1.249867);
   505       leg = 
new TLegend(0.7, 0.8, 0.9, 0.9);
   507       leg = 
new TLegend(0.1, 0.8, 0.3, 0.9);
   519       if (verbose) grav->
Print();
   521       leg->
AddEntry(grav, 
"Average", 
"P");
   531       if (verbose) grmx->
Print();
   533          grmx->
Draw(
"lpSAME");
   537       leg->
AddEntry(grmx, 
"Maximum", 
"P");
   546       if (
nbins > 5) xmi = 1.5;
   565       } 
else if (dofit == 2) {
   604          printf(
"* ************************************************************ *\n");
   606          printf(
"* Cluster: %s\n", description.
Data());
   607          printf(
"* Performance measurement from scalability plot:               *\n");
   609          printf(
"*    rate max:         %.3f\tmegaRNGPS (@ %d workers)\n", ymx/1000000, kmx);
   611          printf(
"*    per-worker rate:  %.3f\tmegaRNGPS \n", normrate/1000000);
   612          printf(
"* ************************************************************ *\n");
   614          printf(
"* ************************************************************ *\n");
   616          printf(
"* Cluster: %s\n", description.
Data());
   618          printf(
"* Per-worker rate from normalized plot:  %.3f\tmegaRNGPS\n", normrate/1000000);
   619          printf(
"* ************************************************************ *\n");
   637    if (!d || !pfn || (pfn && strlen(pfn) <= 0)) {
   638       ::Error(
"TProofBench::GetGraph", 
"directory or name not defined!");
   645    while ((key = (
TKey *) nxk())) {
   653       ::Error(
"TProofBench::GetGraph", 
"TProfile for '%s' not found in directory '%s'", pfn, d->
GetName());
   666    for (
Int_t k = 1;k <= nb; k++) {
   676          if (yy < ymi) ymi = yy;
   677          if (yy > ymx) { ymx = yy; kmx = k; }
   735 class fileDesc : 
public TNamed {
   739    fileDesc(
const char *
n, 
const char *o,
   740             Long_t t, 
const char *d) : 
TNamed(n, o), fMtime(t), fDesc(d) { }
   742       const fileDesc *fd = 
static_cast<const fileDesc *
>(o);
   743       if (!fd || (fd && fd->fMtime == fMtime)) 
return 0;
   744       if (fMtime < fd->fMtime) 
return -1;
   761       ::Error(
"TProofBench::GetPerfSpecs", 
"path '%s' could not be stat'ed - abort", pp.Data());
   769          ::Error(
"TProofBench::GetPerfSpecs", 
"directory path '%s' could nto be open - abort", pp.Data());
   774          if (!strcmp(ent, 
".") || !strcmp(ent, 
"..")) 
continue;
   775          fn.
Form(
"%s/%s", pp.Data(), ent);
   778          fn += 
"?filetype=raw";
   783             if (!strncmp(rr, 
"root", 4)) {
   787                   TString desc(
"<no decription>");
   789                   if (nmdesc) desc = nmdesc->
GetTitle();
   791                      filels.
Add(
new fileDesc(fn, 
"std:", st.
fMtime, desc.
Data()));
   793                      filels.
Add(
new fileDesc(fn, 
"stdx:", st.
fMtime, desc.
Data()));
   795                   ::Warning(
"TProofBench::GetPerfSpecs", 
"problems opening '%s'", fn.
Data());
   802       ::Error(
"TProofBench::GetPerfSpecs",
   803               "path '%s' not a regular file nor a directory - abort", pp.Data());
   812          fn += 
"?filetype=raw";
   817                if (!strncmp(rr, 
"root", 4)) {
   826                         emsg.
Form(
"path '%s' does not contain the relevant dirs - abort", fn.
Data());
   829                      emsg.
Form(
"path '%s' cannot be open - abort", fn.
Data());
   832                   emsg.
Form(
"'%s' is not a ROOT file - abort", fn.
Data());
   835                emsg.
Form(
"could not read first 4 bytes from '%s' - abort", fn.
Data());
   839             emsg.
Form(
"path '%s' cannot be open in raw mode - abort", fn.
Data());
   842          emsg.
Form(
"path '%s' cannot be stated - abort", fn.
Data());
   845          ::Error(
"TProofBench::GetPerfSpecs", 
"%s", emsg.
Data());
   853       nm = (fileDesc *) filels.
First();
   856    } 
else if (filels.
GetSize() > 1) {
   859       Printf(
"Several possible files found:");
   860       while ((nm = (fileDesc *) nxf())) {
   861          Printf(
"  %d\t%s\t%s\t%s (file: %s)", idx++, nm->GetTitle(),
   865       if (a.IsNull() || a[0] == 
'\n') a.Form(
"%d", idx-1);
   867       if ((nm = (fileDesc *) filels.
At(idx))) {
   871          ::Error(
"TProofBench::GetPerfSpecs", 
"chosen index '%d' does not exist - abort", idx);
   876          ::Error(
"TProofBench::GetPerfSpecs",
   877                  "path '%s' is a directory but no ROOT file found in it - abort", pp.Data());
   978    if (!fout || (fout && fout->
IsZombie())) {
   979       ::Error(
"DrawDataSet", 
"could not open file '%s' ...", outfile);
   984    TString description(
"<not available>");
   986    if (nmdesc) description = nmdesc->
GetTitle();
   996    const char *dirn = (isX) ? 
"RunDataReadx" : 
"RunDataRead";
   999       ::Error(
"DrawCPU", 
"could not find directory '%s' ...", dirn);
  1007    const char *lx = (isX) ? 
"_x" : 
"";
  1008    const char *ln = (isNorm) ? 
"Norm" : 
"Prof";
  1010    if (type && !strcmp(type, 
"evts")) {
  1011       hprofn.
Form(
"%s%s_DataRead_QR_Evts", ln, lx);
  1012       hmaxn.
Form(
"%s%s_DataRead_PS_MaxEvts", ln, lx);
  1015       hprofn.
Form(
"%s%s_DataRead_QR_IO", ln, lx);
  1016       hmaxn.
Form(
"%s%s_DataRead_PS_MaxIO", ln, lx);
  1020    Double_t ami = -1., amx = -1., mmi = -1., mmx = -1.;
  1028          ::Error(
"DrawCPU", 
"could not find '%s' ...", hprofn.
Data());
  1040          ::Warning(
"DrawCPU", 
"could not find '%s': feature added in 5.34/11", hmaxn.
Data());
  1049       if (mmx > ymx) ymx = mmx;
  1050       if ((ymi > 0 && mmi < ymi) || (ymi < 0.)) ymi = mmi;
  1053    TProfile *pf = (doMax) ? pfmx : pfav;
  1054    Int_t kmx = (doMax) ? kmmx : kamx;
  1057    TCanvas *cpu = 
new TCanvas(
"dataset", 
"Rate vs wrks",204,69,1050,502);
  1058    cpu->
Range(-3.106332,0.7490716,28.1362,1.249867);
  1060    TH1F *hgr = 
new TH1F(
"Graph-DataSet",
" Data Read speed-up", 
nbins*4, xmin, 
xmax);
  1082       leg = 
new TLegend(0.7, 0.8, 0.9, 0.9);
  1084       leg = 
new TLegend(0.1, 0.8, 0.3, 0.9);
  1095       if (verbose) grav->
Print();
  1097       leg->
AddEntry(grav, 
"Average", 
"P");
  1107       if (verbose) grmx->
Print();
  1109          grmx->
Draw(
"lpSAME");
  1113       leg->
AddEntry(grmx, 
"Maximum", 
"P");
  1123       if (
nbins > 5) xmi = 1.5;
  1134       } 
else if (dofit > 1) {
  1152       printf(
"* ************************************************************ *\n");
  1154       printf(
"* Cluster: %s\n", description.
Data());
  1155       printf(
"* Performance measurement from scalability plot:               *\n");
  1158          printf(
"*    rate max:         %.3f\tMB/s (@ %d workers)\n", ymx, kmx);
  1160          printf(
"*    per-worker rate:  %.3f\tMB/s \n", normrate);
  1162          printf(
"*    rate max:         %.3f\tevts/s (@ %d workers)\n", ymx, kmx);
  1164       printf(
"* ************************************************************ *\n");
  1182    if (!fout || (fout && fout->
IsZombie())) {
  1183       ::Error(
"DrawEfficiency", 
"could not open file '%s' ...", outfile);
  1188    TString description(
"<not available>");
  1190    if (nmdesc) description = nmdesc->
GetTitle();
  1194    const char *dirs[4] = { 
"RunCPU", 
"RunCPUx", 
"RunDataRead", 
"RunDataReadx"};
  1195    const char *labs[4] = { 
"CPU", 
"CPU", 
"DataRead", 
"DataRead"};
  1196    Int_t fst = 0, lst = 3;
  1199    } 
else if (oo == 
"cpux") {
  1202    } 
else if (oo.BeginsWith(
"data")) {
  1203       if (oo.EndsWith(
"x")) {
  1211    const char *dirn = 0;
  1213    for (
Int_t i = fst; i <= lst; i++) {
  1221       ::Error(
"DrawEfficiency", 
"could not find directory ...");
  1229    hprof.
Form(
"Prof_%s_CPU_eff", ln.
Data());
  1238       ::Error(
"DrawEfficiency", 
"could not find '%s' ...", hprof.
Data());
  1245    TCanvas *cpu = 
new TCanvas(
"efficiency", 
"efficiency vs wrks",204,69,1050,502);
  1246    cpu->
Range(-3.106332,0.7490716,28.1362,1.249867);
  1248    TH1F *hgr = 
new TH1F(
"Graph-Efficiency",
"CPU effectiveness", 
nbins*4, xmin, 
xmax);
  1270    if (verbose) gr->
Print();
  1274    printf(
"* ************************************************************ *\n");
  1276    printf(
"* Cluster: %s\n", description.
Data());
  1277    printf(
"* CPU effectiveness measurement:                               *\n");
  1279    printf(
"*    effectiveness max:     %.3f (@ %d workers)\n", ymx, kmx);
  1281    printf(
"* ************************************************************ *\n");
  1334    if (dset && strlen(dset) > 0) 
fDataSet = dset;
  1341 #ifdef R__HAVE_CONFIG  1346          Info(
"MakeDataSet", 
"uploading '%s' ...", par.
Data());
  1348             Error(
"MakeDataSet", 
"problems uploading '%s' - cannot continue", par.
Data());
  1358             Error(
"MakeDataSet", 
"you should load the class '%s' before running the benchmark", 
fDataGenSel.
Data());
  1366          Info(
"MakeDataSet", 
"Uploading '%s' ...", par.
Data());
  1368             Error(
"MakeDataSet", 
"problems uploading '%s' - cannot continue", par.
Data());
  1371          Info(
"MakeDataSet", 
"Enabling '%s' ...", par.
Data());
  1373             Error(
"MakeDataSet", 
"problems enabling '%s' - cannot continue", par.
Data());
  1387    if (fnroot && strlen(fnroot) > 0) {
  1405    TIter nxnd(nodesmap);
  1409    while ((obj = nxnd()) != 0) {
  1410       if ((wli = dynamic_cast<TList *>(nodesmap->
GetValue(obj)))) {
  1424    filesmap->
SetName(
"PROOF_FilesToProcess");
  1431    Int_t oldnotass = -1;
  1436    Long64_t ne = (nevt > 0) ? nevt : 30000;
  1449    if (oldnotass != -1)
  1465       while ((obj = nxout())) {
  1481             Warning(
"MakeDataSet", 
"problems registering '%s'", dset);
  1483          Warning(
"MakeDataSet", 
"dataset '%s' is empty!", dset);
  1486       Warning(
"MakeDataSet", 
"PROOF output list is empty!");
  1514       Error(
"CopyDataSet", 
"no PROOF found - cannot continue");
  1518       Error(
"CopyDataSet", 
"dataset '%s' does not exist", dset);
  1522       if (isatty(0) != 0 && isatty(1) != 0) {
  1523          Printf(
"Target dataset '%s' exists already:"  1524                                           " do you want to remove it first?", dsetdst);
  1525          const char *
a = Getline(
"[Y,n] ");
  1527          if (a[0] == 
'Y' || a[0] == 
'y' || a[0] == 
'\n') {
  1528             Info(
"CopyDataSet", 
"removing dataset '%s' ...", dsetdst);
  1534          Error(
"CopyDataSet", 
"destination dataset '%s' does already exist: remove it first", dsetdst);
  1542       Error(
"CopyDataSet", 
"problems retrieving TFileCollection for dataset '%s'", dset);
  1551       Info(
"CopyDataSet", 
"adding info for file '%s'", fn.
Data());
  1559       Error(
"CopyDataSet", 
"problems copying files of dataset '%s' to dest dir '%s'", dset, destdir);
  1568       Error(
"CopyDataSet", 
"problems registering and verifying '%s'", dsetdst);
  1585       Error(
"SetProofDS", 
"trying to set an invalid PROOF instance");
 
virtual void SetSelOption(const char *opt)
 
virtual ~TProofBench()
Destructor. 
 
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
Fit this graph with function with name fname. 
 
virtual Bool_t cd(const char *path=0)
Change current directory to "this" directory. 
 
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root. 
 
virtual void SetTitleOffset(Float_t offset=1)
Set distance between the axis and the axis title Offset is a correction factor with respect to the "s...
 
virtual const char * GetName() const
Returns name of object. 
 
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory. 
 
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode. 
 
virtual Bool_t IsAbsoluteFileName(const char *dir)
Return true if dir is an absolute pathname. 
 
virtual TList * GetListOfKeys() const
 
virtual Double_t GetBinCenter(Int_t bin) const
Return bin center for 1D histogram. 
 
const char * GetName() const
Returns name of object. 
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message. 
 
TProofBenchRunCPU * fRunCPU
 
virtual void SetMaximum(Double_t maximum=-1111)
 
This class displays a legend box (TPaveText) containing several legend entries. 
 
TProofBench(const char *url, const char *outfile="<default>", const char *proofopt=0)
Constructor: check PROOF and load selectors PAR. 
 
virtual Bool_t ExistsDataSet(const char *dataset)
Returns kTRUE if 'dataset' exists, kFALSE otherwise. 
 
CPU-intensive PROOF benchmark test generates events and fill 1, 2, or 3-D histograms. 
 
Int_t CopyFiles(const char *dset, const char *destdir)
Copy the files of dataset 'dset' to another directory Return 0 on success, -1 on error. 
 
Int_t EnablePackage(const char *package, Bool_t notOnClient=kFALSE, TList *workers=0)
Enable specified package. 
 
Int_t RunCPU(Long64_t nevents=-1, Int_t start=-1, Int_t stop=-1, Int_t step=-1)
Perform the CPU run Return 0 on success, -1 on error. 
 
virtual const char * WorkingDirectory()
Return working directory. 
 
virtual Bool_t RegisterDataSet(const char *name, TFileCollection *dataset, const char *optStr="")
Register the 'dataSet' on the cluster under the current user, group and the given 'dataSetName'...
 
virtual TObject * Get(const char *namecycle)
Return pointer to object identified by namecycle. 
 
virtual void SetParNames(const char *name0="p0", const char *name1="p1", const char *name2="p2", const char *name3="p3", const char *name4="p4", const char *name5="p5", const char *name6="p6", const char *name7="p7", const char *name8="p8", const char *name9="p9", const char *name10="p10")
Set up to 10 parameter names. 
 
Collectable string class. 
 
virtual void SetDirectory(TDirectory *dir)
By default when an histogram is created, it is added to the list of histogram objects in the current ...
 
This class represents a WWW compatible URL. 
 
TString & ReplaceAll(const TString &s1, const TString &s2)
 
R__EXTERN TStyle * gStyle
 
int GetPathInfo(const char *path, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime)
Get info about a file: id, size, flags, modification time. 
 
TUrl * GetCurrentUrl() const
Return the current url. 
 
TObject * GetParameter(const char *par) const
Get specified parameter. 
 
const char * GetProtocol() const
 
virtual void SetName(const char *name)
Set the name of the TNamed. 
 
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content. 
 
virtual void Draw(Option_t *option="")
Draw this legend with its current attributes. 
 
THist< 1, float, THistStatContent, THistStatUncertainty > TH1F
 
void SetParameter(const char *par, const char *value)
Set input list parameter. 
 
Int_t SetOutFile(const char *outfile, Bool_t verbose=kTRUE)
Set the output file Return 0 on success, -1 on error. 
 
static const TList * GetEnvVars()
Get environemnt variables. 
 
Double_t funio(Double_t *xx, Double_t *par)
I/O saturated rate function. 
 
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
 
virtual Bool_t ReadBuffer(char *buf, Int_t len)
Read a buffer from the file. 
 
virtual TFileCollection * GetDataSet(const char *dataset, const char *optStr="")
Get a list of TFileInfo objects describing the files of the specified dataset. 
 
TList * GetOutputList()
Get list with all object created during processing (see Process()). 
 
virtual TObject * Get(const char *namecycle)
Return pointer to object identified by namecycle. 
 
void Add(TObject *obj)
This function may not be used (but we need to provide it since it is a pure virtual in TCollection)...
 
virtual void SetMinimum(Double_t minimum=-1111)
 
static void DrawEfficiency(const char *outfile, const char *opt="", Bool_t verbose=kFALSE)
Draw the efficiency plot. 
 
tomato 1-D histogram with a float per channel (see TH1 documentation)} 
 
virtual const char * DirName(const char *pathname)
Return the directory name in pathname. 
 
const char *const kPROOF_BenchParDir
 
Handle operations on datasets used by ProofBench. 
 
Bool_t UseDynamicStartup() const
 
void CenterTitle(Bool_t center=kTRUE)
Center axis title. 
 
virtual void SetParList(const char *pars)
 
Double_t funiov(Double_t *xx, Double_t *par)
I/O saturated rate function with varying Rcpu. 
 
virtual void Draw(Option_t *chopt="")
Draw this graph with its current attributes. 
 
Double_t funcpuvn(Double_t *xx, Double_t *par)
Function with varying Rcpu normalized. 
 
Bool_t R_ISREG(Int_t mode)
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f. 
 
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name. 
 
void Run(Long64_t, Int_t, Int_t, Int_t, Int_t, Int_t, Int_t)
 
void Run(Long64_t nevents, Int_t start, Int_t stop, Int_t step, Int_t ntries, Int_t debug, Int_t draw)
Run benchmark Input parameters nevents: Number of events to run per file. 
 
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=1, Int_t netopt=0)
Create / open a file. 
 
virtual Double_t Derivative(Double_t x, Double_t *params=0, Double_t epsilon=0.001) const
Returns the first derivative of the function at point x, computed by Richardson's extrapolation metho...
 
Int_t RunCPUx(Long64_t nevents=-1, Int_t start=-1, Int_t stop=-1)
Perform the CPU run scanning over the number of workers per node Return 0 on success, -1 on error. 
 
const char * GetFile() const
 
Int_t GetDate() const
Return date in form of 19971224 (i.e. 24/12/1997) 
 
Int_t RemoveDataSet(const char *dset)
Physically remove the dataset 'dset', i.e. 
 
static struct mg_connection * fc(struct mg_context *ctx)
 
const char * GetHost() const
 
Int_t Update(Long64_t avgsize=-1)
Update accumulated information about the elements of the collection (e.g. 
 
virtual const char * GetDirEntry(void *dirp)
Get a directory entry. Returns 0 if no more entries. 
 
virtual int Unlink(const char *name)
Unlink, i.e. remove, a file. 
 
Int_t RemoveFiles(const char *dset)
Physically remove the dataset 'dset', i.e. 
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString...
 
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
 
The TNamed class is the base class for all named ROOT classes. 
 
static void DrawCPU(const char *outfile, const char *opt="std:", Bool_t verbose=kFALSE, Int_t dofit=0, Int_t n0=-1, Int_t n1=-1)
Draw the CPU speedup plot. 
 
const char * AsString(const Option_t *option="") const
Return the date & time as a string. 
 
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color. 
 
A sorted doubly linked list. 
 
std::vector< std::vector< double > > Data
 
virtual Double_t GetBinContent(Int_t bin) const
Return bin content of a Profile histogram. 
 
static TProof * Open(const char *url=0, const char *conffile=0, const char *confdir=0, Int_t loglevel=0)
Start a PROOF session on a specific cluster. 
 
Book space in a file, create I/O buffers, to fill them, (un)compress them. 
 
Int_t ReleaseCache(const char *dset)
Release memory cache for dataset 'dset' Return 0 on success, -1 on error. 
 
virtual Double_t GetBinError(Int_t bin) const
Return bin error of a Profile histogram. 
 
Double_t funp1(Double_t *xx, Double_t *par)
Simple polynomial 1st degree. 
 
void SetReleaseCache(Bool_t on=kTRUE)
 
Double_t funp2n(Double_t *xx, Double_t *par)
Normalized 2nd degree. 
 
Int_t UploadPackage(const char *par, EUploadPackageOpt opt=kUntar, TList *workers=0)
Upload a PROOF archive (PAR file). 
 
virtual void SetLineColor(Color_t lcolor)
Set the line color. 
 
Double_t funcpuv(Double_t *xx, Double_t *par)
Function with varying Rcpu. 
 
const char *const kPROOF_BenchDataSelPar
 
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty. 
 
const char * GetTitle() const
Returns title of object. 
 
R__EXTERN TSystem * gSystem
 
if object ctor succeeded but object should not be used 
 
virtual void SetFillColor(Color_t fcolor)
Set the fill area color. 
 
virtual void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Set world coordinate system for the pad. 
 
TMap * GetMapOfNodes() const
 
Int_t Add(TFileInfo *info)
Add TFileInfo to the collection. 
 
Long64_t GetNFiles() const
 
void Print(Option_t *option="") const
Prints the contents of the TFileCollection. 
 
virtual TObject * Remove(TObject *obj)
Remove object from the list. 
 
Double_t funp2(Double_t *xx, Double_t *par)
Simple polynomial 2nd degree. 
 
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor. 
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message. 
 
static void GetPerfSpecs(const char *path=".", Int_t degfit=1)
Get performance specs. 
 
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style. 
 
virtual Long64_t Process(TDSet *dset, const char *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)
Process a data set (TDSet) using the specified selector (.C) file or Tselector object Entry- or event...
 
virtual Int_t Compare(const TObject *obj) const
Compare abstract method. 
 
virtual TObject * At(Int_t idx) const
Returns the object at position idx. Returns 0 if idx is out of range. 
 
Int_t RunDataSet(const char *dset="BenchDataSet", Int_t start=1, Int_t stop=-1, Int_t step=1)
Perform a test using dataset 'dset' Return 0 on success, -1 on error Open the file for the results...
 
void SetName(const char *name)
 
void SetProofDS(TProof *p)
Set the PROOF instance to be used for dataset operations, like releasing cache ... 
 
virtual void SetLabelSize(Float_t size=0.04)
Set size of axis labels The size is expressed in per cent of the pad width. 
 
static void AssertFittingFun(Double_t mi, Double_t mx)
Make sure that the fitting functions are defined. 
 
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size. 
 
void AddInput(TObject *obj)
Add objects that might be needed during the processing of the selector (see Process()). 
 
Double_t funp1n(Double_t *xx, Double_t *par)
Normalized 1st degree. 
 
virtual void SetTitleSize(Float_t size=0.04)
Set size of axis title The size is expressed in per cent of the pad width. 
 
Int_t ReleaseCache(const char *dset)
Release memory cache for dataset 'dset' Return 0 on success, -1 on error. 
 
Int_t RunDataSetx(const char *dset="BenchDataSet", Int_t start=1, Int_t stop=-1)
Perform a test using dataset 'dset' scanning over the number of workers per node. ...
 
TList * GetInputList()
Get input list. 
 
Steering class for PROOF benchmarks. 
 
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString. 
 
void Close(Option_t *option="")
Close all open slave servers. 
 
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width for 1D histogram. 
 
void DeleteParameters(const char *wildcard)
Delete the input list parameters specified by a wildcard (e.g. 
 
virtual const char * HostName()
Return the system's host name. 
 
TLegendEntry * AddEntry(const TObject *obj, const char *label="", Option_t *option="lpf")
Add a new entry to this legend. 
 
Describe directory structure in memory. 
 
const char * GetMaster() const
 
Int_t GetParallel() const
Returns number of slaves active in parallel mode. 
 
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
 
const char *const kPROOF_BenchSelDataGenDef
 
The TTimeStamp encapsulates seconds and ns since EPOCH. 
 
This class controls a Parallel ROOT Facility, PROOF, cluster. 
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name. 
 
Int_t OpenOutFile(Bool_t wrt=kFALSE, Bool_t verbose=kTRUE)
Set the otuput file Return 0 on success, -1 on error. 
 
Mother of all ROOT objects. 
 
TProofBenchRunDataRead * fRunDS
 
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set x and y values for point number i. 
 
Bool_t R_ISDIR(Int_t mode)
 
virtual Bool_t cd(const char *path=0)
Change current directory to "this" directory. 
 
virtual void Add(TObject *obj)
 
Class that contains a list of TFileInfo's and accumulated meta data information about its entries...
 
virtual Double_t GetParameter(Int_t ipar) const
 
virtual TList * GetListOfKeys() const
 
void CloseOutFile()
Close output file. 
 
A TGraphErrors is a TGraph with error bars. 
 
void SetOptTitle(Int_t tit=1)
 
virtual void Print(Option_t *option="") const
Print TNamed name and title. 
 
virtual void * OpenDirectory(const char *name)
Open a directory. Returns 0 if directory does not exist. 
 
TObject * GetValue(const char *keyname) const
Returns a pointer to the value associated with keyname as name of the key. 
 
virtual void SetHistogram(TH1F *h)
 
Int_t CopyDataSet(const char *dset, const char *dsetdst, const char *destdir)
Copy the files of dataset 'dset' to 'destdir' and create a new dataset named 'dsetdst' decribing them...
 
Class describing a generic file including meta information. 
 
virtual void SetParameter(Int_t param, Double_t value)
 
virtual void Print(Option_t *chopt="") const
Print graph and errors values. 
 
void Add(TObject *obj)
Add object in sorted list. 
 
virtual Int_t GetNbinsX() const
 
virtual void Print(Option_t *option="") const
Default print for collections, calls Print(option, 1). 
 
virtual void SetPointError(Double_t ex, Double_t ey)
Set ex and ey values for point pointed by the mouse. 
 
virtual const char * GetName() const
Returns name of object. 
 
virtual Int_t GetSize() const
 
virtual void SetTitle(const char *title="")
Set the title of the TNamed. 
 
Int_t MakeDataSet(const char *dset=0, Long64_t nevt=-1, const char *fnroot="event", Bool_t regenerate=kFALSE)
Create the largest dataset for the run. 
 
virtual void SetStats(Bool_t stats=kTRUE)
Set statistics option on/off. 
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message. 
 
I/O-intensive PROOF benchmark test reads in event files distributed on the cluster. 
 
virtual const char * GetName() const
Return name of this collection. 
 
PROOF worker node information. 
 
static TGraphErrors * GetGraph(TDirectory *d, const char *pfn, Int_t &nb, Double_t &xmi, Double_t &xmx, Double_t &ymi, Double_t &ymx, Int_t &kmx, TProfile *&pf)
Get from TDirectory 'd' the TProfile named 'pfn' and create the graph. 
 
virtual const char * GetTitle() const
Returns title of object. 
 
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
 
virtual void Close(Option_t *option="")
Close a file. 
 
static void DrawDataSet(const char *outfile, const char *opt="std:", const char *type="mbs", Bool_t verbose=kFALSE, Int_t dofit=0, Int_t n0=-1, Int_t n1=-1)
Draw the CPU speedup plot. 
 
virtual void SetSelName(const char *sel)
 
const char * Data() const