ROOT
git-r3/HEAD
Reference Guide
Loading...
Searching...
No Matches
demos.py
Go to the documentation of this file.
1
## \file
2
## \ingroup Tutorials
3
## To run, do "python <path-to>/demos.py"
4
##
5
## \macro_code
6
##
7
## \author Wim Lavrijsen, Enric Tejedor
8
9
import
os, sys
10
import
ROOT
11
12
# To run, do "python <path-to>/demos.py"
13
14
# enable running from another directory than the one where demos.py resides
15
workdir = os.path.dirname( sys.argv[0] )
16
if
workdir:
17
os.chdir( workdir )
18
19
# This macro generates a Controlbar menu.
20
# To execute an item, click with the left mouse button.
21
# To see the HELP of a button, click on the right mouse button.
22
23
ROOT.gStyle.SetScreenFactor(1)
# if you have a large screen, select 1.2 or 1.4
24
25
bar = ROOT.TControlBar(
'vertical'
,
'Demos'
, 10, 10 )
26
27
# The callbacks to python work by having CLING call the python interpreter through
28
# the "TPython" class. Note the use of "raw strings."
29
to_run =
'exec(open(\'{}\').read())'
30
31
32
bar.AddButton(
'Help on Demos'
,
r'TPython::Exec( "'
+ to_run.format(
'demoshelp.py'
) +
'" );'
,
'Click Here For Help on Running the Demos'
)
33
bar.AddButton(
'browser'
,
r'TPython::Exec( "b = ROOT.TBrowser()" );'
,
'Start the ROOT browser'
)
34
bar.AddButton(
'hsimple'
,
r'TPython::Exec( "'
+ to_run.format(
'hsimple.py'
) +
'" );'
,
'Creating histograms/Ntuples on file'
,
"button"
)
35
bar.AddButton(
'hsum'
,
r'TPython::Exec( "'
+ to_run.format(
'hist/hsum.py'
) +
'" );'
,
'Filling Histograms and Some Graphics Options'
)
36
bar.AddButton(
'formula1'
,
r'TPython::Exec( "'
+ to_run.format(
'visualisation/graphics/formula1.py'
) +
'" );'
,
'Simple Formula and Functions'
)
37
bar.AddButton(
'surfaces'
,
r'TPython::Exec( "'
+ to_run.format(
'visualisation/graphics/surfaces.py'
) +
'" );'
,
'Surface Drawing Options'
)
38
bar.AddButton(
'fillrandom'
,
r'TPython::Exec( "'
+ to_run.format(
'hist/fillrandom.py'
) +
'" );'
,
'Histograms with Random Numbers from a Function'
)
39
bar.AddButton(
'fit1'
,
r'TPython::Exec( "'
+ to_run.format(
'math/fit/fit1.py'
) +
'" );'
,
'A Simple Fitting Example'
)
40
bar.AddButton(
'multifit'
,
r'TPython::Exec( "'
+ to_run.format(
'math/fit/multifit.py'
) +
'" );'
,
'Fitting in Subranges of Histograms'
)
41
bar.AddButton(
'h1draw'
,
r'TPython::Exec( "'
+ to_run.format(
'hist/hist015_TH1_read_and_draw.py'
) +
'" );'
,
'Drawing Options for 1D Histograms'
)
42
bar.AddButton(
'graph'
,
r'TPython::Exec( "'
+ to_run.format(
'visualisation/graphs/graph.py'
) +
'" );'
,
'Example of a Simple Graph'
)
43
bar.AddButton(
'gerrors'
,
r'TPython::Exec( "'
+ to_run.format(
'visualisation/graphs/gerrors.py'
) +
'" );'
,
'Example of a Graph with Error Bars'
)
44
bar.AddButton(
'tornado'
,
r'TPython::Exec( "'
+ to_run.format(
'visualisation/graphics/tornado.py'
) +
'" );'
,
'Examples of 3-D PolyMarkers'
)
45
bar.AddButton(
'shapes'
,
r'TPython::Exec( "'
+ to_run.format(
'legacy/g3d/shapes.py'
) +
'" );'
,
'The Geometry Shapes'
)
46
bar.AddButton(
'geometry'
,
r'TPython::Exec( "'
+ to_run.format(
'legacy/g3d/geometry.py'
) +
'" );'
,
'Creation of the NA49 Geometry File'
)
47
bar.AddButton(
'na49view'
,
r'TPython::Exec( "'
+ to_run.format(
'legacy/g3d/na49view.py'
) +
'" );'
,
'Two Views of the NA49 Detector Geometry'
)
48
bar.AddButton(
'ntuple1'
,
r'TPython::Exec( "'
+ to_run.format(
'io/tree/ntuple1.py'
) +
'" );'
,
'Ntuples and Selections'
)
49
bar.AddSeparator()
# not implemented
50
bar.AddButton(
'make ntuple'
,
r'TPython::Exec( "'
+ to_run.format(
'io/tree/csv2tntuple.py'
) +
'" );'
,
'Convert a text file to an ntuple'
)
51
52
bar.Show()
53
54
ROOT.gROOT.SaveContext()
55
56
57
## wait for input to keep the GUI (which lives on a ROOT event dispatcher) alive
58
if
__name__ ==
'__main__'
:
59
rep =
''
60
while
not
rep
in
[
'q'
,
'Q'
]:
61
rep = input(
'enter "q" to quit: '
)
62
if
1 < len(rep):
63
rep = rep[0]
tutorials
demos.py
ROOTgit-r3/HEAD - Reference Guide Generated on
(GVA Time) using Doxygen 1.16.1