ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Namespaces
demo.py File Reference

To run, do an "execfile( '<path-to>/demo.py' )" or "python <path-to>/demo.py". More...

Go to the source code of this file.

Namespaces

 demo
 

Detailed Description

To run, do an "execfile( '<path-to>/demo.py' )" or "python <path-to>/demo.py".

1 
2 import os, sys
3 import ROOT
4 
5 # To run, do an "execfile( '<path-to>/demo.py' )" or "python <path-to>/demo.py"
6 
7 # enable running from another directory than the one where demo.py resides
8 workdir = os.path.dirname( sys.argv[0] )
9 if workdir:
10  os.chdir( workdir )
11 
12 # This macro generates a Controlbar menu: To see the output, click begin_html <a href="gif/demos.gif" >here</a> end_html
13 # To execute an item, click with the left mouse button.
14 # To see the HELP of a button, click on the right mouse button.
15 
16 ROOT.gStyle.SetScreenFactor(1) # if you have a large screen, select 1.2 or 1.4
17 
18 bar = ROOT.TControlBar( 'vertical', 'Demos', 10, 10 )
19 
20 # The callbacks to python work by having CINT call the python interpreter through
21 # the "TPython" class. Note the use of "raw strings."
22 bar.AddButton( 'Help on Demos', r'TPython::Exec( "execfile( \'demoshelp.py\' )" );', 'Click Here For Help on Running the Demos' )
23 bar.AddButton( 'browser', r'TPython::Exec( "b = ROOT.TBrowser()" );', 'Start the ROOT browser' )
24 bar.AddButton( 'framework', r'TPython::Exec( "execfile( \'framework.py\' )" );', 'An Example of Object Oriented User Interface' )
25 bar.AddButton( 'first', r'TPython::Exec( "execfile( \'first.py\' )" );', 'An Example of Slide with Root' )
26 bar.AddButton( 'hsimple', r'TPython::Exec( "execfile( \'hsimple.py\' )" );', 'Creating histograms/Ntuples on file', "button" )
27 bar.AddButton( 'hsum', r'TPython::Exec( "execfile( \'hsum.py\' )" );', 'Filling Histograms and Some Graphics Options' )
28 bar.AddButton( 'formula1', r'TPython::Exec( "execfile( \'formula1.py\' )" );', 'Simple Formula and Functions' )
29 bar.AddButton( 'surfaces', r'TPython::Exec( "execfile( \'surfaces.py\' )" );', 'Surface Drawing Options' )
30 bar.AddButton( 'fillrandom', r'TPython::Exec( "execfile( \'fillrandom.py\' )" );','Histograms with Random Numbers from a Function' )
31 bar.AddButton( 'fit1', r'TPython::Exec( "execfile( \'fit1.py\' )" );', 'A Simple Fitting Example' )
32 bar.AddButton( 'multifit', r'TPython::Exec( "execfile( \'multifit.py\' )" );', 'Fitting in Subranges of Histograms' )
33 bar.AddButton( 'h1draw', r'TPython::Exec( "execfile( \'h1draw.py\' )" );', 'Drawing Options for 1D Histograms' )
34 bar.AddButton( 'graph', r'TPython::Exec( "execfile( \'graph.py\' )" );', 'Example of a Simple Graph' )
35 bar.AddButton( 'gerrors', r'TPython::Exec( "execfile( \'gerrors.py\' )" );', 'Example of a Graph with Error Bars' )
36 bar.AddButton( 'tornado', r'TPython::Exec( "execfile( \'tornado.py\' )" );', 'Examples of 3-D PolyMarkers' )
37 bar.AddButton( 'shapes', r'TPython::Exec( "execfile( \'shapes.py\' )" );', 'The Geometry Shapes' )
38 bar.AddButton( 'geometry', r'TPython::Exec( "execfile( \'geometry.py\' )" );', 'Creation of the NA49 Geometry File' )
39 bar.AddButton( 'na49view', r'TPython::Exec( "execfile( \'na49view.py\' )" );', 'Two Views of the NA49 Detector Geometry' )
40 bar.AddButton( 'file', r'TPython::Exec( "execfile( \'file.py\' )" );', 'The ROOT File Format' )
41 bar.AddButton( 'fildir', r'TPython::Exec( "execfile( \'fildir.py\' )" );', 'The ROOT File, Directories and Keys' )
42 bar.AddButton( 'tree', r'TPython::Exec( "execfile( \'tree.py\' )" );', 'The Tree Data Structure' )
43 bar.AddButton( 'ntuple1', r'TPython::Exec( "execfile( \'ntuple1.py\' )" );', 'Ntuples and Selections' )
44 bar.AddButton( 'rootmarks', r'TPython::Exec( "execfile( \'rootmarks.py\' )" );', 'Prints an Estimated ROOTMARKS for Your Machine' )
45 bar.AddSeparator() # not implemented
46 bar.AddButton( 'make ntuple', r'TPython::Exec( "execfile( \'mrt.py\' )" );', 'Convert a text file to an ntuple' )
47 
48 bar.Show()
49 
50 ROOT.gROOT.SaveContext()
51 
52 
53 ## wait for input to keep the GUI (which lives on a ROOT event dispatcher) alive
54 if __name__ == '__main__':
55  rep = ''
56  while not rep in [ 'q', 'Q' ]:
57  rep = raw_input( 'enter "q" to quit: ' )
58  if 1 < len(rep):
59  rep = rep[0]
Author
Wim Lavrijsen

Definition in file demo.py.