Logo ROOT   6.10/09
Reference Guide
benchmarks.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup Tutorials
3 /// This macro run several tests and produces an benchmark report.
4 ///
5 /// \macro_image
6 /// \macro_output
7 /// \macro_code
8 ///
9 /// \author Rene Brun
10 
11 TCanvas* bench1 = 0;
12 
13 void bexec(TString &dir,const char *macro)
14 {
15  if (gROOT->IsBatch()) printf("Processing benchmark: %s%s\n",dir.Data(),macro);
16  TPaveText *summary = (TPaveText*)bench1->GetPrimitive("TPave");
17  TText *tmacro = summary->GetLineWith(macro);
18  if (tmacro) tmacro->SetTextColor(4);
19  bench1->Modified(); bench1->Update();
20 
21  gROOT->Macro(Form("%s%s",dir.Data(),macro));
22 
23  TPaveText *summary2 = (TPaveText*)bench1->GetPrimitive("TPave");
24  TText *tmacro2 = summary2->GetLineWith(macro);
25  if (tmacro2) tmacro2->SetTextColor(2);
26  bench1->Modified(); bench1->Update();
27 }
28 
29 void benchmarks() {
30  TString dir = gSystem->UnixPathName(__FILE__);
31  dir.ReplaceAll("benchmarks.C","");
32  dir.ReplaceAll("/./","/");
33  bench1 = new TCanvas("bench1","Benchmarks Summary",-1000,50,200,500);
34  TPaveText *summary = new TPaveText(0,0,1,1);
35  summary->SetTextAlign(12);
36  summary->SetTextSize(0.08);
37  summary->Draw();
38  summary->AddText(" graphics/framework.C");
39  summary->AddText(" hsimple.C");
40  summary->AddText(" hist/hsum.C");
41  summary->AddText(" graphics/formula1.C");
42  summary->AddText(" hist/fillrandom.C");
43  summary->AddText(" fit/fit1.C");
44  summary->AddText(" hist/h1draw.C");
45  summary->AddText(" graphs/graph.C");
46  summary->AddText(" graphs/gerrors.C");
47  summary->AddText(" graphics/tornado.C");
48  summary->AddText(" graphs/surfaces.C");
49  summary->AddText(" graphs/zdemo.C");
50  summary->AddText(" geom/geometry.C");
51  summary->AddText(" geom/na49view.C");
52  summary->AddText(" tree/ntuple1.C");
53  summary->AddText(" ");
54  bexec(dir,"graphics/framework.C");
55  bexec(dir,"hsimple.C");
56  bexec(dir,"hist/hsum.C");
57  bexec(dir,"graphics/formula1.C");
58  bexec(dir,"hist/fillrandom.C");
59  bexec(dir,"fit/fit1.C");
60  bexec(dir,"hist/h1draw.C");
61  bexec(dir,"graphs/graph.C");
62  bexec(dir,"graphs/gerrors.C");
63  bexec(dir,"graphics/tornado.C");
64  bexec(dir,"graphs/surfaces.C");
65  bexec(dir,"graphs/zdemo.C");
66  bexec(dir,"geom/geometry.C");
67  bexec(dir,"geom/na49view.C");
68  bexec(dir,"tree/ntuple1.C");
69  bexec(dir,"rootmarks.C");
70 }
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
Definition: TPaveText.cxx:234
TString & ReplaceAll(const TString &s1, const TString &s2)
Definition: TString.h:640
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
Definition: TPaveText.cxx:183
#define gROOT
Definition: TROOT.h:375
Basic string class.
Definition: TString.h:129
virtual const char * UnixPathName(const char *unixpathname)
Convert from a Unix pathname to a local pathname.
Definition: TSystem.cxx:1043
Base class for several text objects.
Definition: TText.h:23
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition: TAttText.h:41
virtual TText * GetLineWith(const char *text) const
Get Pointer to first containing string text in this pavetext.
Definition: TPaveText.cxx:290
R__EXTERN TSystem * gSystem
Definition: TSystem.h:539
virtual TObject * GetPrimitive(const char *name) const
Get primitive.
Definition: TPad.cxx:2818
char * Form(const char *fmt,...)
The Canvas class.
Definition: TCanvas.h:31
A Pave (see TPave) with text, lines or/and boxes inside.
Definition: TPaveText.h:21
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
Definition: TAttText.h:43
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Definition: TAttText.h:46
virtual void Update()
Update canvas pad buffers.
Definition: TCanvas.cxx:2208
void Modified(Bool_t flag=1)
Definition: TPad.h:410
const char * Data() const
Definition: TString.h:347