Logo ROOT  
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
9import os, sys
10import 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
15workdir = os.path.dirname( sys.argv[0] )
16if 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
23ROOT.gStyle.SetScreenFactor(1) # if you have a large screen, select 1.2 or 1.4
24
25bar = 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."
29to_run = 'exec(open(\'{}\').read())'
30
31
32bar.AddButton( 'Help on Demos', r'TPython::Exec( "' + to_run.format('demoshelp.py') + '" );', 'Click Here For Help on Running the Demos' )
33bar.AddButton( 'browser', r'TPython::Exec( "b = ROOT.TBrowser()" );', 'Start the ROOT browser' )
34bar.AddButton( 'hsimple', r'TPython::Exec( "' + to_run.format('hsimple.py') + '" );', 'Creating histograms/Ntuples on file', "button" )
35bar.AddButton( 'hsum', r'TPython::Exec( "' + to_run.format('hist/hsum.py') + '" );', 'Filling Histograms and Some Graphics Options' )
36bar.AddButton( 'formula1', r'TPython::Exec( "' + to_run.format('visualisation/graphics/formula1.py') + '" );', 'Simple Formula and Functions' )
37bar.AddButton( 'surfaces', r'TPython::Exec( "' + to_run.format('visualisation/graphs/surfaces.py') + '" );', 'Surface Drawing Options' )
38bar.AddButton( 'fillrandom', r'TPython::Exec( "' + to_run.format('hist/fillrandom.py') + '" );','Histograms with Random Numbers from a Function' )
39bar.AddButton( 'fit1', r'TPython::Exec( "' + to_run.format('math/fit/fit1.py') + '" );', 'A Simple Fitting Example' )
40bar.AddButton( 'multifit', r'TPython::Exec( "' + to_run.format('math/fit/multifit.py') + '" );', 'Fitting in Subranges of Histograms' )
41bar.AddButton( 'h1draw', r'TPython::Exec( "' + to_run.format('hist/h1ReadAndDraw.py') + '" );', 'Drawing Options for 1D Histograms' )
42bar.AddButton( 'graph', r'TPython::Exec( "' + to_run.format('visualisation/graphs/graph.py') + '" );', 'Example of a Simple Graph' )
43bar.AddButton( 'gerrors', r'TPython::Exec( "' + to_run.format('visualisation/graphs/gerrors.py') + '" );', 'Example of a Graph with Error Bars' )
44bar.AddButton( 'tornado', r'TPython::Exec( "' + to_run.format('visualisation/graphics/tornado.py') + '" );', 'Examples of 3-D PolyMarkers' )
45bar.AddButton( 'shapes', r'TPython::Exec( "' + to_run.format('visualisation/geom/shapes.py') + '" );', 'The Geometry Shapes' )
46bar.AddButton( 'geometry', r'TPython::Exec( "' + to_run.format('visualisation/geom/geometry.py') + '" );', 'Creation of the NA49 Geometry File' )
47bar.AddButton( 'na49view', r'TPython::Exec( "' + to_run.format('visualisation/geom/na49view.py') + '" );', 'Two Views of the NA49 Detector Geometry' )
48bar.AddButton( 'ntuple1', r'TPython::Exec( "' + to_run.format('io/tree/ntuple1.py') + '" );', 'Ntuples and Selections' )
49bar.AddSeparator() # not implemented
50bar.AddButton( 'make ntuple', r'TPython::Exec( "' + to_run.format('io/tree/csv2tntuple.py') + '" );', 'Convert a text file to an ntuple' )
51
52bar.Show()
53
54ROOT.gROOT.SaveContext()
55
56
57## wait for input to keep the GUI (which lives on a ROOT event dispatcher) alive
58if __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]
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
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 Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len