ROOT
6.10/00
Reference Guide
ROOT Home Page
Main Page
Tutorials
User's Classes
Namespaces
All Classes
Files
Release Notes
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
tutorials
pyroot
ntuple1.py
Go to the documentation of this file.
1
## \file
2
## \ingroup tutorial_pyroot
3
## \notebook
4
## Ntuple drawing example.
5
##
6
## \macro_code
7
##
8
## \author Wim Lavrijsen
9
10
from
ROOT
import
TCanvas, TPad, TFile, TPaveText
11
from
ROOT
import
gBenchmark, gStyle, gROOT
12
13
c1 =
TCanvas
(
'c1'
,
'The Ntuple canvas'
,200,10,700,780)
14
15
gBenchmark.Start(
'ntuple1'
)
16
17
#
18
# Connect ROOT histogram/ntuple demonstration file
19
# generated by example hsimple.C.
20
f1 =
TFile
(
'py-hsimple.root'
)
21
22
#
23
# Inside this canvas, we create 4 pads
24
pad1 =
TPad
(
'pad1'
,
'This is pad1'
,0.02,0.52,0.48,0.98,21)
25
pad2 =
TPad
(
'pad2'
,
'This is pad2'
,0.52,0.52,0.98,0.98,21)
26
pad3 =
TPad
(
'pad3'
,
'This is pad3'
,0.02,0.02,0.48,0.48,21)
27
pad4 =
TPad
(
'pad4'
,
'This is pad4'
,0.52,0.02,0.98,0.48,1)
28
pad1.Draw()
29
pad2.Draw()
30
pad3.Draw()
31
pad4.Draw()
32
33
#
34
# Change default style for the statistics box
35
gStyle.SetStatW(0.30)
36
gStyle.SetStatH(0.20)
37
gStyle.SetStatColor(42)
38
39
#
40
# Display a function of one ntuple column imposing a condition
41
# on another column.
42
pad1.cd()
43
pad1.SetGrid()
44
pad1.SetLogy()
45
pad1.GetFrame().
SetFillColor
(15)
46
ntuple = gROOT.FindObject(
'ntuple'
)
47
ntuple.SetLineColor(1)
48
ntuple.SetFillStyle(1001)
49
ntuple.SetFillColor(45)
50
ntuple.Draw(
'3*px+2'
,
'px**2+py**2>1'
)
51
ntuple.SetFillColor(38)
52
ntuple.Draw(
'2*px+2'
,
'pz>2'
,
'same'
)
53
ntuple.SetFillColor(5)
54
ntuple.Draw(
'1.3*px+2'
,
'(px^2+py^2>4) && py>0'
,
'same'
)
55
c1.Update()
56
57
#
58
# Display the profile of two columns
59
# The profile histogram produced is saved in the current directory with
60
# the name hprofs
61
pad2.cd()
62
pad2.SetGrid()
63
pad2.GetFrame().
SetFillColor
(32)
64
ntuple.Draw(
'pz:px>>hprofs'
,
''
,
'goffprofs'
)
65
hprofs = gROOT.FindObject(
'hprofs'
)
66
hprofs.SetMarkerColor(5)
67
hprofs.SetMarkerSize(0.7)
68
hprofs.SetMarkerStyle(21)
69
hprofs.Fit(
'pol2'
)
70
71
#
72
# Get pointer to fitted function and modify its attributes
73
fpol2 = hprofs.GetFunction(
'pol2'
)
74
fpol2.SetLineWidth(4)
75
fpol2.SetLineColor(2)
76
c1.Update()
77
78
#
79
# Display a scatter plot of two columns with a selection.
80
# Superimpose the result of another cut with a different marker color
81
pad3.cd()
82
pad3.GetFrame().
SetFillColor
(38)
83
pad3.GetFrame().
SetBorderSize
(8)
84
ntuple.SetMarkerColor(1)
85
ntuple.Draw(
'py:px'
,
'pz>1'
)
86
ntuple.SetMarkerColor(2)
87
ntuple.Draw(
'py:px'
,
'pz<1'
,
'same'
)
88
c1.Update()
89
90
#
91
# Display a 3-D scatter plot of 3 columns. Superimpose a different selection.
92
pad4.cd()
93
ntuple.Draw(
'pz:py:px'
,
'(pz<10 && pz>6)+(pz<4 && pz>3)'
)
94
ntuple.SetMarkerColor(4)
95
ntuple.Draw(
'pz:py:px'
,
'pz<6 && pz>4'
,
'same'
)
96
ntuple.SetMarkerColor(5)
97
ntuple.Draw(
'pz:py:px'
,
'pz<4 && pz>3'
,
'same'
)
98
l4 =
TPaveText
(-0.9,0.5,0.9,0.95)
99
l4.SetFillColor(42)
100
l4.SetTextAlign(12)
101
l4.AddText(
'You can interactively rotate this view in 2 ways:'
)
102
l4.AddText(
' - With the RotateCube in clicking in this pad'
)
103
l4.AddText(
' - Selecting View with x3d in the View menu'
)
104
l4.Draw()
105
106
#
107
# done
108
c1.cd()
109
c1.Update()
110
gStyle.SetStatColor(19)
111
gBenchmark.Show(
'ntuple1'
)
TFile
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
Definition:
TFile.h:46
SetBorderSize
c SetBorderSize(2)
SetFillColor
h1 SetFillColor(kGreen)
TPad
The most important graphics class in the ROOT system.
Definition:
TPad.h:29
TCanvas
The Canvas class.
Definition:
TCanvas.h:31
TPaveText
A Pave (see TPave) with text, lines or/and boxes inside.
Definition:
TPaveText.h:21