75      Printf(
" +++ TWrkInfo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ");
 
   78      Printf(
" +++ Amounts processed:  %d packets (%d remote), %lld evts, %lld bytes",
 
   85      Printf(
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ");
 
 
   92                                             } 
else if (
fStop == 
wi->fStop) {
 
 
 
  131      while ((o = 
nxp())) { o->
Print(
"S"); }
 
 
 
  186      Printf(
" +++ TFileInfo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ");
 
  195         Printf(
" +++ MB rates:       %f MB/s (avg), %f MB/s (min), %f MB/s (max)",
 
  197         Printf(
" +++ Sizes:          %lld  (avg), %lld (min), %lld (max)",
 
  200      Printf(
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ");
 
 
  207                                             } 
else if (
fStop == 
wi->fStop) {
 
 
 
  219                               const char *title, 
const char *
treename)
 
  221                 fInitTime(-1.), fMergeTime(-1.), fMaxTime(-1.),
 
  222                 fEvents(0), fPackets(0),
 
  223                 fEvtRateMax(-1.), fMBRateMax(-1.), fLatencyMax(-1.),
 
  224                 fEvtRate(0), fEvtRateRun(0), fMBRate(0), fMBRateRun(0),
 
  225                 fEvtRateAvgMax(-1.), fMBRateAvgMax(-1.),
 
  226                 fEvtRateAvg(-1.), fMBRateAvg(0),
 
  227                 fFileResult(
""), fSaveResult(
kFALSE),
 
  231   if (!title) 
SetTitle(
"PROOF Performance Analysis");
 
  237      Error(
"TProofPerfAnalysis", 
"problems opening file '%s'",
 
  257         Error(
"TProofPerfAnalysis", 
"directory '%s' not found or not loadable", 
fDirName.
Data());
 
 
  291               : 
TNamed(
"", title), fFile(0), fTree(0),
 
  292                 fInitTime(-1.), fMergeTime(-1.), fMaxTime(-1.),
 
  293                 fEvents(0), fPackets(0),
 
  294                 fEvtRateMax(-1.), fMBRateMax(-1.), fLatencyMax(-1.),
 
  295                 fEvtRate(0), fEvtRateRun(0), fMBRate(0), fMBRateRun(0),
 
  296                 fEvtRateAvgMax(-1.), fMBRateAvgMax(-1.),
 
  297                 fEvtRateAvg(-1.), fMBRateAvg(0),
 
  307   if (!title) 
SetTitle(
"PROOF Performance Analysis");
 
 
  404      Error(
"FileDist",
"not a valid instance - do nothing");
 
  412   Info(
"FileDist", 
"%d workers were active during this query", 
wrkList->GetSize());
 
  413   Info(
"FileDist", 
"%d servers were active during this query", 
srvList->GetSize());
 
  423            sn->SetTitle(
wn->GetName());
 
  480      Printf(
"\n +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ");
 
  481      Printf(
" + Only one data server found: full analysis meaningful  + ");
 
  482      Printf(
" + only when there are more file servers                 + ");
 
  483      Printf(
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \n");
 
  489      hxpak->SetDirectory(0);
 
  490      hxpak->SetMinimum(0.);
 
  491      hxpak->GetXaxis()->SetTitle(
"Worker");
 
  497         hxpak->GetXaxis()->SetBinLabel(
j++, 
wn->GetName());
 
  515      hfdis->SetDirectory(0);
 
  516      hfdis->SetMinimum(0);
 
  517      hfdis->GetXaxis()->SetTitle(
"Server");
 
  520      hbdis->SetDirectory(0);
 
  521      hbdis->SetMinimum(0);
 
  522      hbdis->GetXaxis()->SetTitle(
"Server");
 
  527      hxpak->SetDirectory(0);
 
  528      hxpak->GetYaxis()->SetTitle(
"Worker");
 
  529      hxpak->GetXaxis()->SetTitle(
"Server");
 
  530      hxpak->GetXaxis()->SetTitleOffset(1.4);
 
  531      hxpak->GetYaxis()->SetTitleOffset(1.7);
 
  537         hxpak->GetYaxis()->SetBinLabel(
j++, 
wn->GetName());
 
  542         hfdis->GetXaxis()->SetBinLabel(
j, 
sn->GetName());
 
  543         hbdis->GetXaxis()->SetBinLabel(
j, 
sn->GetName());
 
  544         hxpak->GetXaxis()->SetBinLabel(
j++, 
sn->GetName());
 
  558         hxpak->GetXaxis()->SetBinLabel(
j++, 
lab);
 
 
  588   if (!
wl || !
sl) 
return;
 
  596   for (
Long64_t k=0; k<entries; k++) {
 
 
  631   if ((
o1d = 
o1.CountChar(
'.')) > (
o2d = 
o2.CountChar(
'.'))) {
 
  636      o1.ReplaceAll(
".", 
" ");
 
  637      o2.ReplaceAll(
".", 
" ");
 
  641         if (
p1.Atoi() > 
p2.Atoi()) {
 
  643         } 
else if (
p1.Atoi() < 
p2.Atoi()) {
 
  646            b1 = 
o1.Tokenize(
p1, 
o1d, 
" ");
 
  647            b2 = 
o2.Tokenize(
p2, 
o2d, 
" ");
 
  652      } 
else if (b2 && !b1) {
 
 
  665   if (!
hf || !
hb || !
hx) 
return;
 
  672         Warning(
"FillFileDist", 
"asked to save details in '%s' but file could" 
  673                                 " not be open (errno: %d)", 
fnout.Data(), (
int)
errno);
 
  675         Info(
"FillFileDist", 
"saving details to '%s'", 
fnout.Data());
 
  683   for (
Long64_t k=0; k<entries; k++) {
 
  703      hb->Fill(
xhf, 
pe.fBytesRead / 1024. / 1024.);
 
  704      hx->Fill(
xhx, 
yhx, 
pe.fBytesRead / 1024. / 1024.);
 
 
  723         Warning(
"FillFileDistOneSrv", 
"asked to save details in '%s' but file could" 
  724                                       " not be open (errno: %d)", 
fnout.Data(), (
int)
errno);
 
  726         Info(
"FillFileDistOneSrv", 
"saving details to '%s'", 
fnout.Data());
 
  734   for (
Long64_t k=0; k<entries; k++) {
 
  749                       srv.Data(), 
wrk.Data(), 
xhx, 
pe.fBytesRead / 1024.);
 
  751      hx->Fill(
xhx, 
pe.fBytesRead / 1024. / 1024.);
 
 
  764      Error(
"WorkerActivity",
"not a valid instance - do nothing");
 
  771      Error(
"WorkerActivity", 
"workers information not available - do nothing");
 
  781   TH1F *
hact10 = 
new TH1F(
"act10", 
"Worker activity start (seconds)", 50, 0., 
t1);
 
  782   hact10->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
  785   hact11->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
  788   hact2->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
  799      for (
j = 1; 
j < 
hact10->GetNbinsX()+1 ; 
j++) {
 
  800         if (
wi->fStart < 
hact10->GetBinLowEdge(
j))
 
  803      for (
j = 1; 
j < 
hact11->GetNbinsX()+1 ; 
j++) {
 
  804         if (
wi->fStop > 
hact11->GetBinLowEdge(
j))
 
 
  859      Error(
"PrintWrkInfo", 
"worker name or host must be defined!");
 
  874         while (ww.Tokenize(
w, from, 
"[, ]")) {
 
 
  912      Error(
"PrintFileInfo", 
"file path must be defined!");
 
  930         while (
fw.Tokenize(
f, from, 
"[, ]")) {
 
 
  968   for (
Long64_t k=0; k<entries; k++) {
 
  972         Float_t stop = 
pe.fTimeStamp.GetSec() + 1
e-9*
pe.fTimeStamp.GetNanoSec();
 
  985   for (
kk = 0; 
kk < nbins; 
kk++) {
 
  987      if (
jj == 0 || 
xtmp > xbins[
jj - 1] + .5) {
 
 1000   fEvtRate = 
new TH1F(
"gEvtRate", 
"Total event processing rate (evt/s)", 
nbin, xbins);
 
 1006   fEvtRateRun = 
new TH1F(
"gEvtRateAvg", 
"Event processing rate running average (evt/s)", 
nbin, xbins);
 
 1012   fMBRate = 
new TH1F(
"gMBRate", 
"Total processing rate (MB/s)", 
nbin, xbins);
 
 1018   fMBRateRun = 
new TH1F(
"gMBRateAvg", 
"Processing rate running average (MB/s)", 
nbin, xbins);
 
 1031   for (
Long64_t k=0; k<entries; k++) {
 
 1040            wi->fRateRemoteT = 
new TGraph(100);
 
 1042            wi->fMBRateRemoteT = 
new TGraph(100);
 
 1046         Float_t stop = 
pe.fTimeStamp.GetSec() + 1
e-9*
pe.fTimeStamp.GetNanoSec();
 
 1048         if (
wi->fPackets <= 0) {
 
 1055         wi->fEventsProcessed += 
pe.fEventsProcessed;
 
 1056         wi->fBytesRead += 
pe.fBytesRead;
 
 1057         wi->fLatency += 
pe.fLatency;
 
 1058         wi->fProcTime += 
pe.fProcTime;
 
 1059         wi->fCpuTime += 
pe.fCpuTime;
 
 1064         wi->fRateT->SetPoint(
wi->fPackets, 
tt, 
ert);
 
 1065         if (
brt > 0.) 
wi->fMBRateT->SetPoint(
wi->fPackets, 
tt, 
brt);
 
 1066         wi->fLatencyT->SetPoint(
wi->fPackets, 
tt, 
pe.fLatency);
 
 1067         if (!
pe.fFileName.IsNull() && 
strcmp(
uf.GetHostFQDN(), 
uw.GetHostFQDN())) {
 
 1068            wi->fRateRemoteT->SetPoint(
wi->fRemotePackets, 
tt, 
ert);
 
 1069            wi->fMBRateRemoteT->SetPoint(
wi->fRemotePackets, 
tt, 
brt);
 
 1070            wi->fRemotePackets++;
 
 1078         for (
kk = 1; 
kk <= nbins; 
kk++) {
 
 1080            if (
mi > stop) 
break;
 
 1096                  gwl->SetName(
pe.fSlave);
 
 1105            if (
pe.fProcTime > 0.) {
 
 1106               Printf(
" +++ %s #:%d at:%fs lat:%fs proc:%fs evts:%lld bytes:%lld (rates:%f evt/s, %f MB/s)",
 
 1108                     pe.fLatency, 
pe.fProcTime, 
pe.fEventsProcessed, 
pe.fBytesRead,
 
 1111               Printf(
" +++ %s #:%d at:%fs lat:%fs proc:%fs rate:-- evt/s (-- bytes/s)",
 
 1116         Float_t start = 
pe.fTimeStamp.GetSec() + 1
e-9*
pe.fTimeStamp.GetNanoSec();
 
 1117         if (
fDebug > 1) 
Printf(
" +++ %s Start: %f s", 
pe.fEvtNode.Data(), start);
 
 1119         Float_t stop = 
pe.fTimeStamp.GetSec() + 1
e-9*
pe.fTimeStamp.GetNanoSec();
 
 1120         if (
fDebug > 1) 
Printf(
" +++ %s Stop: %f s", 
pe.fEvtNode.Data(), stop);
 
 1136            if (
we->fProcTime > 0) {
 
 1137               er += 
we->fEvtRate * 
we->fProcTime;
 
 1138               br += 
we->fMBRate * 
we->fProcTime;
 
 1139               pt += 
we->fProcTime;
 
 1154   for (
kk = 1; 
kk < nbins; 
kk++) {
 
 1189      wi->fRateT->Set(
wi->fPackets);
 
 1190      wi->fRateRemoteT->Set(
wi->fRemotePackets);
 
 1191      wi->fLatencyT->Set(
wi->fPackets);
 
 1192      wi->fMBRateT->Set(
wi->fPackets);
 
 1193      wi->fMBRateRemoteT->Set(
wi->fRemotePackets);
 
 1203      if (
wi->fStop > 0.) 
ksw++;
 
 
 1253      Printf(
"%d %f %f %f %f %f %f %f",
 
 1259      Printf(
" +++ Total query time: %f secs (init: %f secs, merge: %f secs)",
 
 
 1287   for (
Long64_t k=0; k<entries; k++) {
 
 1304            fi->fMBRatePRemote = 
new TGraph(10);
 
 1307         Float_t stop = 
pe.fTimeStamp.GetSec() + 1
e-9*
pe.fTimeStamp.GetNanoSec();
 
 1309         if (
fi->fPackets <= 0) {
 
 1318         fi->fSizeAvg += 
pe.fEventsProcessed;
 
 1319         if (
pe.fEventsProcessed > 
fi->fSizeMax || 
fi->fSizeMax < 0.) 
fi->fSizeMax = 
pe.fEventsProcessed;
 
 1320         if (
pe.fEventsProcessed < 
fi->fSizeMin || 
fi->fSizeMin < 0.) 
fi->fSizeMin = 
pe.fEventsProcessed;
 
 1323         Double_t tt = 
pe.fTimeStamp.GetSec() + 1
e-9*
pe.fTimeStamp.GetNanoSec();
 
 1326         fi->fRateP->SetPoint(
fi->fPackets, 
tt, 
ert);
 
 1327         if (
brt > 0.) 
fi->fMBRateP->SetPoint(
fi->fPackets, 
tt, 
brt);
 
 1328         if (!
pe.fFileName.IsNull() && 
strcmp(
uf.GetHostFQDN(), 
uw.GetHostFQDN())) {
 
 1329            if (!(
fi->fRWrkList.FindObject(
pe.fSlave))) 
fi->fRWrkList.Add(
new TNamed(
pe.fSlave, 
pe.fSlaveName));
 
 1330            fi->fRatePRemote->SetPoint(
fi->fRPackets, 
tt, 
ert);
 
 1331            fi->fMBRatePRemote->SetPoint(
fi->fRPackets, 
tt, 
brt);
 
 1336            fi->fMBRateAvg += 
brt;
 
 1337            if (
brt > 
fi->fMBRateMax || 
fi->fMBRateMax < 0.) 
fi->fMBRateMax = 
brt;
 
 1343         fi->fPackList.Add(pi);
 
 1347            fi->fWrkList.Add(
wif);
 
 1349         wif->fPackets.Add(pi);
 
 1353            if (
pe.fProcTime > 0.) {
 
 1354               Printf(
" +++ %s #:%d at:%fs lat:%fs proc:%fs evts:%lld bytes:%lld (rates:%f evt/s, %f MB/s)",
 
 1356                     pe.fLatency, 
pe.fProcTime, 
pe.fEventsProcessed, 
pe.fBytesRead,
 
 1359               Printf(
" +++ %s #:%d at:%fs lat:%fs proc:%fs rate:-- evt/s (-- bytes/s)",
 
 1364         Float_t start = 
pe.fTimeStamp.GetSec() + 1
e-9*
pe.fTimeStamp.GetNanoSec();
 
 1365         if (
fDebug > 1) 
Printf(
" +++ %s Start: %f s", 
pe.fEvtNode.Data(), start);
 
 1367         Float_t stop = 
pe.fTimeStamp.GetSec() + 1
e-9*
pe.fTimeStamp.GetNanoSec();
 
 1368         if (
fDebug > 1) 
Printf(
" +++ %s Stop: %f s", 
pe.fEvtNode.Data(), stop);
 
 1378      fi->fRateP->Set(
fi->fPackets);
 
 1379      fi->fRatePRemote->Set(
fi->fRPackets);
 
 1380      fi->fMBRateP->Set(
fi->fPackets);
 
 1381      fi->fMBRatePRemote->Set(
fi->fRPackets);
 
 
 1413      if (
f && !
f->IsZombie()) {
 
 
 1436      Printf(
"Drawn objects saving disabled");
 
 1451   if (!
f || 
f->IsZombie()) {
 
 1454      Error(
"SetSaveResult", 
"could not open file '%s' in mode '%s'", file, 
mode);
 
 1465   Printf(
"Drawn objects will be saved in file '%s'", file);
 
 
 1482      Error(
"EventDist", 
"distributions not initialized - do nothing");
 
 
 1517      hrt1->SetMinimum(0.);
 
 1520      hrt1->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
 1523      hrt2->SetMinimum(0.);
 
 1526      hrt2->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
 1549   if (!ww.
IsNull() && ww != 
"*" && ww != 
"all") {
 
 1563      if (
wl && !
wl->FindObject(
wi->GetName())) 
continue;
 
 1564      if (
wi->fRateT && 
wi->fRateT->GetN() > 0) {
 
 1565         wi->fRateT->SetNameTitle(
wi->GetName(), 
wi->GetTitle());
 
 1567         wi->fRateT->SetLineColor(
ci);
 
 1570      if (
wi->fRateRemoteT && 
wi->fRateRemoteT->GetN() > 0) {
 
 1571         wi->fRateRemoteT->SetNameTitle(
wi->GetName(), 
wi->GetTitle());
 
 1573         wi->fRateRemoteT->SetLineColor(
cir);
 
 1576      if (
wi->fMBRateT && 
wi->fMBRateT->GetN() > 0) {
 
 1577         wi->fMBRateT->SetNameTitle(
wi->GetName(), 
wi->GetTitle());
 
 1579         wi->fMBRateT->SetLineColor(
ci);
 
 1582      if (
wi->fMBRateRemoteT && 
wi->fMBRateRemoteT->GetN() > 0) {
 
 1583         wi->fMBRateRemoteT->SetNameTitle(
wi->GetName(), 
wi->GetTitle());
 
 1585         wi->fMBRateRemoteT->SetLineColor(
cir);
 
 
 1611   hlt1->SetMinimum(0.);
 
 1614   hlt1->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
 1615   hlt1->GetYaxis()->SetTitle(
"Latency (s)");
 
 1626   if (!ww.
IsNull() && ww != 
"*" && ww != 
"all") {
 
 1640      if (
wl && !
wl->FindObject(
wi->GetName())) 
continue;
 
 1641      if (
wi->fLatencyT) {
 
 1642         wi->fLatencyT->SetNameTitle(
wi->GetName(), 
wi->GetTitle());
 
 1643         wi->fLatencyT->SetLineColor(
ci);
 
 
 1665      Error(
"FileRatePlot", 
"file name is mandatory!");
 
 1671      Error(
"FileRatePlot", 
"TFileInfo object for '%s' not found!", 
fn);
 
 1677   if (out && 
strlen(out) > 0) {
 
 1678      if (!(
fo = 
fopen(out, 
"w"))) {
 
 1679         Warning(
"FileRatePlot", 
"problems creating '%s': logging to stdout", out);
 
 1682         Printf(
" Details logged to %s", out);
 
 1687   Int_t nbins = 
fi->fPackList.GetSize() * 2;
 
 1702   for (
kk = 0; 
kk < nbins; 
kk++) {
 
 1712   TH1F *
hrt1 = 
new TH1F(
"rt1", 
"Total processing rate (MB/s)", nbins - 1, xbins);
 
 1713   hrt1->SetMinimum(0.);
 
 1715   hrt1->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
 1717   TH1F *
hrt2 = 
new TH1F(
"rt2", 
"Number of processing workers", nbins - 1, xbins);
 
 1718   hrt2->SetMinimum(0.);
 
 1721   hrt2->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
 1723   TH1F *
hrt3 = 
new TH1F(
"rt3", 
"Total processing events", nbins - 1, xbins);
 
 1724   hrt3->SetMinimum(0.);
 
 1726   hrt3->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
 1728   TH1F *
hrt4 = 
new TH1F(
"rt4", 
"Weighted processing rate (MB/s)", nbins - 1, xbins);
 
 1729   hrt4->SetMinimum(0.);
 
 1731   hrt4->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
 
 1787   hrt1->SetMinimum(0.);
 
 1790   hrt1->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
 1793   hrt2->SetMinimum(0.);
 
 1796   hrt2->GetXaxis()->SetTitle(
"Query Processing Time (s)");
 
 1813   if (!
fw.IsNull() && 
fw != 
"*" && 
fw != 
"all") {
 
 1816      while ((
fw.Tokenize(
w, from, 
","))) {
 
 1828      if (
fi->fRateP && 
fi->fRateP->GetN() > 0) {
 
 1829         fi->fRateP->SetNameTitle(
fi->GetName(), 
fi->GetTitle());
 
 1831         fi->fRateP->SetLineColor(
ci);
 
 1834      if (
fi->fRatePRemote && 
fi->fRatePRemote->GetN() > 0) {
 
 1835         fi->fRatePRemote->SetNameTitle(
fi->GetName(), 
fi->GetTitle());
 
 1837         fi->fRatePRemote->SetLineColor(
cir);
 
 1840      if (
fi->fMBRateP && 
fi->fMBRateP->GetN() > 0) {
 
 1841         fi->fMBRateP->SetNameTitle(
fi->GetName(), 
fi->GetTitle());
 
 1843         fi->fMBRateP->SetLineColor(
ci);
 
 1846      if (
fi->fMBRatePRemote && 
fi->fMBRatePRemote->GetN() > 0) {
 
 1847         fi->fMBRatePRemote->SetNameTitle(
fi->GetName(), 
fi->GetTitle());
 
 1849         fi->fMBRatePRemote->SetLineColor(
cir);
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
 
Option_t Option_t TPoint TPoint const char mode
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char mx
 
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
 
R__EXTERN TStyle * gStyle
 
R__EXTERN TSystem * gSystem
 
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
 
virtual void SetLineColor(Color_t lcolor)
Set the line color.
 
virtual void SetBinLabel(Int_t bin, const char *label)
Set label for bin.
 
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
 
void Print(Option_t *option="") const override
Default print for collections, calls Print(option, 1).
 
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
 
TObject * Get(const char *namecycle) override
Return pointer to object identified by namecycle.
 
Describe directory structure in memory.
 
virtual TObject * Get(const char *namecycle)
Return pointer to object identified by namecycle.
 
virtual TList * GetListOfKeys() const
 
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
 
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
 
void Close(Option_t *option="") override
Close a file.
 
A TGraph is an object made of two arrays X and Y with npoints each.
 
1-D histogram with a float per channel (see TH1 documentation)
 
virtual void SetDirectory(TDirectory *dir)
By default, when a histogram is created, it is added to the list of histogram objects in the current ...
 
virtual Double_t GetBinCenter(Int_t bin) const
Return bin center for 1D histogram.
 
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
 
virtual void SetMinimum(Double_t minimum=-1111)
 
virtual Double_t GetBinLowEdge(Int_t bin) const
Return bin lower edge for 1D histogram.
 
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
 
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width for 1D histogram.
 
virtual void SetStats(Bool_t stats=kTRUE)
Set statistics option on/off.
 
2-D histogram with a float per channel (see TH1 documentation)
 
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
 
TObject * FindObject(const char *name) const override
Find object using its name.
 
Book space in a file, create I/O buffers, to fill them, (un)compress them.
 
virtual const char * GetClassName() const
 
void Clear(Option_t *option="") override
Remove all objects from the list.
 
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
 
void Add(TObject *obj) override
 
The TNamed class is the base class for all named ROOT classes.
 
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
 
const char * GetName() const override
Returns name of object.
 
const char * GetTitle() const override
Returns title of object.
 
virtual void SetName(const char *name)
Set the name of the TNamed.
 
Collectable string class.
 
Mother of all ROOT objects.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
 
R__ALWAYS_INLINE Bool_t IsZombie() const
 
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
 
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
 
@ kInvalidObject
if object ctor succeeded but object should not be used
 
The most important graphics class in the ROOT system.
 
void Print(Option_t *opt="") const override
This method must be overridden when a class wants to print itself.
 
Int_t Compare(const TObject *o) const override
Compare abstract method.
 
TFileInfo(const char *name, const char *srv)
 
TPackInfo(const char *ord, const char *host)
 
void Print(Option_t *opt="") const override
Print TNamed name and title.
 
TPackInfo(const char *ord, const char *host, Float_t start, Float_t stop, Long64_t sz, Double_t mbr)
 
void Print(Option_t *="") const override
This method must be overridden when a class wants to print itself.
 
TWrkEntry(Double_t xx, Double_t er, Double_t mbr, Double_t pt)
 
void Print(Option_t *opt="") const override
Print TNamed name and title.
 
TWrkInfoFile(const char *ord, const char *name)
 
Int_t Compare(const TObject *o) const override
Compare two TNamed objects.
 
void Print(Option_t *="") const override
Print TNamed name and title.
 
Long64_t fEventsProcessed
 
TWrkInfo(const char *ord, const char *name)
 
void FileRatePlot(const char *fns=0)
Show MB processing rate plot per file vs time.
 
void FileProcPlot(const char *fn, const char *out=0)
Show event processing or MB processing rate plot vs time.
 
void FillFileInfo(Bool_t force=kFALSE)
Fill basic worker info; if 'force' rescan the TTree even already done.
 
void SetDebug(Int_t d=0)
Static setter for the verbosity level.
 
TProofPerfAnalysis(const char *perffile, const char *title="", const char *treename="PROOF_PerfStats")
Constructor: open the file and attach to the tree.
 
void PrintWrkInfo(Int_t showlast=10)
Print information for all or the slowest showlast workers.
 
void LatencyPlot(const char *wrks=0)
Show event processing or MB processing rate plot vs time Create the histograms.
 
void WorkerActivity()
Measure the worker activity.
 
void FileDist(Bool_t writedet=kFALSE)
Analyse the file distribution.
 
Int_t SetSaveResult(const char *file="results.root", Option_t *mode="RECREATE")
Set save result mode and validate 'file' according to 'mode'.
 
void GetWrkFileList(TList *wl, TList *sl)
Fill file info.
 
void EventDist()
Display event and packet distribution.
 
TString GetCanvasTitle(const char *t)
If defined, add '- <this_title>' to the canvas title 't'.
 
static void SetgDebug(Bool_t on=kTRUE)
Static setter for the verbosity level.
 
Int_t CompareOrd(const char *ord1, const char *ord2)
Return -1 if ord1 comes before ord2, 0 i they are equal, 1 if ord1 comes after ord2.
 
void LoadTree(TDirectory *dir)
Load tree fTreeName from directory 'dir'.
 
void DoDraw(TObject *o, Option_t *opt="", const char *name=0)
Draw object 'o' with options 'opt' Save it with 'name' if in saving mode (see SetSaveResult)
 
void PrintFileInfo(Int_t showlast=10, const char *opt="", const char *out=0)
Print information for all or the slowest showlast workers.
 
void FillFileDistOneSrv(TH1F *hx, Bool_t wdet=kFALSE)
Fill file info when there is only one file server.
 
void FillWrkInfo(Bool_t force=kFALSE)
Fill basic worker info; if 'force' rescan the TTree even already done.
 
void Summary(Option_t *opt="", const char *out="")
Print summary of query.
 
~TProofPerfAnalysis() override
Destructor: detach the tree and close the file.
 
void RatePlot(const char *wrks=0)
Show event processing or MB processing rate plot vs time.
 
void FillFileDist(TH1F *hf, TH1F *hb, TH2F *hx, Bool_t wdet=kFALSE)
Fill file info.
 
Regular expression class.
 
void Add(TObject *obj) override
Add object in sorted list.
 
TString & Replace(Ssiz_t pos, Ssiz_t n, const char *s)
 
const char * Data() const
 
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString.
 
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
 
TString & Remove(Ssiz_t pos)
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
 
virtual Int_t RedirectOutput(const char *name, const char *mode="a", RedirectHandle_t *h=nullptr)
Redirect standard output (stdout, stderr) to the specified file.
 
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
 
virtual TString GetDirName(const char *pathname)
Return the directory name in pathname.
 
A TTree represents a columnar dataset.
 
virtual Int_t GetEntry(Long64_t entry, Int_t getall=0)
Read all branches of entry and return total number of bytes read.
 
virtual Int_t SetBranchAddress(const char *bname, void *add, TBranch **ptr=nullptr)
Change branch address, dealing with clone trees properly.
 
virtual Long64_t GetEntries() const
 
This class represents a WWW compatible URL.
 
const char * GetHost() const
 
const char * GetHostFQDN() const
Return fully qualified domain name of url host.
 
void Sort(Index n, const Element *a, Index *index, Bool_t down=kTRUE)
Sort the n elements of the array a of generic templated type Element.