ROOT
master
Reference Guide
Loading...
Searching...
No Matches
tvdemo.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_tree_legacy
3
/// Macro generated by ROOT version3.00/00
4
/// for tree "T" (Wed Feb 21 14:16:23 2001)
5
///
6
/// \macro_code
7
///
8
/// \author Rene Brun
9
10
void
open_session
(
void
*
p
= 0) {
11
//===This macro can be opened from a TreeViewer session after loading
12
//===the corresponding tree
13
TTreeViewer
*
treeview
= (
TTreeViewer
*)
p
;
14
if
(!
treeview
)
treeview
=
new
TTreeViewer
();
15
TTree
*
tv_tree
= (
TTree
*)
gROOT
->FindObject(
"T"
);
16
TFile
*
tv_file
= (
TFile
*)
gROOT
->GetListOfFiles()->FindObject(
"Event.root"
);
17
if
(!
tv_tree
) {
18
if
(!
tv_file
)
tv_file
=
new
TFile
(
"$ROOTSYS/test/Event.root"
);
19
if
(
tv_file
)
tv_tree
= (
TTree
*)
tv_file
->Get(
"T"
);
20
if
(!
tv_tree
) {
21
printf
(
"Tree not found\n"
);
22
return
;
23
}
24
}
25
26
treeview
->SetTreeName(
"T"
);
27
treeview
->SetNexpressions(10);
28
// Set expressions on axis and cut
29
TTVLVEntry
*
item
;
30
// X expression
31
item
=
treeview
->ExpressionItem(0);
32
item
->SetExpression(
"fTemperature"
,
"fTemperature"
);
33
// Y expression
34
item
=
treeview
->ExpressionItem(1);
35
item
->SetExpression(
""
,
"-empty-"
);
36
// Z expression
37
item
=
treeview
->ExpressionItem(2);
38
item
->SetExpression(
""
,
"-empty-"
);
39
// Cut expression
40
item
=
treeview
->ExpressionItem(3);
41
item
->SetExpression(
""
,
"-empty-"
);
42
// Scan list
43
item
=
treeview
->ExpressionItem(4);
44
item
->SetExpression(
""
,
"Scan box"
);
45
// User defined expressions
46
item
=
treeview
->ExpressionItem(5);
47
item
->SetExpression(
"sqrt(fTracks.fPx*fTracks.fPx+fTracks.fPy*fTracks.fPy)"
,
"~Pt"
,
kFALSE
);
48
item
=
treeview
->ExpressionItem(6);
49
item
->SetExpression(
"fTracks.fPx>0"
,
"~Cut1"
,
kTRUE
);
50
item
=
treeview
->ExpressionItem(7);
51
item
->SetExpression(
""
,
"-empty-"
,
kFALSE
);
52
item
=
treeview
->ExpressionItem(8);
53
item
->SetExpression(
""
,
"-empty-"
,
kFALSE
);
54
item
=
treeview
->ExpressionItem(9);
55
item
->SetExpression(
""
,
"-empty-"
,
kFALSE
);
56
item
=
treeview
->ExpressionItem(10);
57
item
->SetExpression(
""
,
"-empty-"
,
kFALSE
);
58
item
=
treeview
->ExpressionItem(11);
59
item
->SetExpression(
""
,
"-empty-"
,
kFALSE
);
60
item
=
treeview
->ExpressionItem(12);
61
item
->SetExpression(
""
,
"-empty-"
,
kFALSE
);
62
item
=
treeview
->ExpressionItem(13);
63
item
->SetExpression(
""
,
"-empty-"
,
kFALSE
);
64
item
=
treeview
->ExpressionItem(14);
65
item
->SetExpression(
""
,
"-empty-"
,
kFALSE
);
66
//--- session object
67
auto
tv_session
=
new
TTVSession
(
treeview
);
68
treeview
->SetSession(
tv_session
);
69
//--- tree viewer record
70
auto
tv_record
=
tv_session
->AddRecord(
kTRUE
);
71
tv_session
->SetRecordName(
"Temperature"
);
72
tv_record
->fX =
"fTemperature"
;
73
tv_record
->fY =
""
;
74
tv_record
->fZ =
""
;
75
tv_record
->fCut =
""
;
76
tv_record
->fXAlias =
"fTemperature"
;
77
tv_record
->fYAlias =
"-empty-"
;
78
tv_record
->fZAlias =
"-empty-"
;
79
tv_record
->fCutAlias =
"-empty-"
;
80
tv_record
->fOption =
"lego1"
;
81
tv_record
->fScanRedirected =
kFALSE
;
82
tv_record
->fCutEnabled =
kTRUE
;
83
//--- tree viewer record
84
tv_record
=
tv_session
->AddRecord(
kTRUE
);
85
tv_session
->SetRecordName(
"Py versus Px"
);
86
tv_record
->fX =
"fTracks.fPx"
;
87
tv_record
->fY =
"fTracks.fPy"
;
88
tv_record
->fZ =
""
;
89
tv_record
->fCut =
""
;
90
tv_record
->fXAlias =
"fTracks.fPx"
;
91
tv_record
->fYAlias =
"fTracks.fPy"
;
92
tv_record
->fZAlias =
"-empty-"
;
93
tv_record
->fCutAlias =
"-empty-"
;
94
tv_record
->fOption =
"lego"
;
95
tv_record
->fScanRedirected =
kFALSE
;
96
tv_record
->fCutEnabled =
kTRUE
;
97
//--- tree viewer record
98
tv_record
=
tv_session
->AddRecord(
kTRUE
);
99
tv_session
->SetRecordName(
"Transverse momentum"
);
100
tv_record
->fX =
"sqrt(fTracks.fPx*fTracks.fPx+fTracks.fPy*fTracks.fPy)"
;
101
tv_record
->fY =
""
;
102
tv_record
->fZ =
""
;
103
tv_record
->fCut =
"fTracks.fPx>0"
;
104
tv_record
->fXAlias =
"~Pt"
;
105
tv_record
->fYAlias =
"-empty-"
;
106
tv_record
->fZAlias =
"-empty-"
;
107
tv_record
->fCutAlias =
"~Cut1"
;
108
tv_record
->fOption =
""
;
109
tv_record
->fScanRedirected =
kFALSE
;
110
tv_record
->fCutEnabled =
kTRUE
;
111
//--- tree viewer record
112
tv_record
=
tv_session
->AddRecord(
kTRUE
);
113
tv_session
->SetRecordName(
"Surface plot of Py vs. Px"
);
114
tv_record
->fX =
"fTracks.fPx"
;
115
tv_record
->fY =
"fTracks.fPy"
;
116
tv_record
->fZ =
""
;
117
tv_record
->fCut =
""
;
118
tv_record
->fXAlias =
"fTracks.fPx"
;
119
tv_record
->fYAlias =
"fTracks.fPy"
;
120
tv_record
->fZAlias =
"-empty-"
;
121
tv_record
->fCutAlias =
"-empty-"
;
122
tv_record
->fOption =
"SURF"
;
123
tv_record
->fScanRedirected =
kFALSE
;
124
tv_record
->fCutEnabled =
kTRUE
;
125
//--- Show first record
126
tv_session
->Show(
tv_session
->First());
127
}
128
129
void
tvdemo
() {
130
printf
(
"This demo show how to handle TTreeViewer sessions\n"
);
131
printf
(
"Compile class Event from test directory before running this\n"
);
132
printf
(
"- use arrow buttons from bottom to cycle records ...\n"
);
133
printf
(
"- make new expressions and drag them to X, Y, Z or Cut items ...\n"
);
134
printf
(
"- use the Draw button to check your current selection ...\n"
);
135
printf
(
"- click the record button once you are happy with this ...\n"
);
136
printf
(
"- open the TV context menu (right-click on the right panel)...\n"
);
137
printf
(
" Use : RemoveLastRecord() - to remove last record :-)\n"
);
138
printf
(
" SetRecordName() - to name current record\n"
);
139
printf
(
" UpdateRecord() - if you want to change a record from the list\n"
);
140
printf
(
" with your new X, Y, Z, Cut configuration.\n"
);
141
printf
(
" Best luck !\n"
);
142
143
open_session
();
144
}
kFALSE
constexpr Bool_t kFALSE
Definition
RtypesCore.h:109
kTRUE
constexpr Bool_t kTRUE
Definition
RtypesCore.h:108
TRangeDynCast
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Definition
TCollection.h:359
p
winID h TVirtualViewer3D TVirtualGLPainter p
Definition
TGWin32VirtualGLProxy.cxx:51
gROOT
#define gROOT
Definition
TROOT.h:417
ROOT::Detail::TRangeCast
Definition
TCollection.h:312
TFile
A file, usually with extension .root, that stores data and code in the form of serialized objects in ...
Definition
TFile.h:130
TTVLVEntry
This class represent entries that goes into the TreeViewer listview container.
Definition
TTVLVContainer.h:56
TTVSession
I/O classes for TreeViewer session handling.
Definition
TTVSession.h:71
TTreeViewer
A graphic user interface designed to handle ROOT trees and to take advantage of TTree class features.
Definition
TTreeViewer.h:54
TTree
A TTree represents a columnar dataset.
Definition
TTree.h:89
tutorials
legacy
tree
tvdemo.C
ROOTmaster - Reference Guide Generated on Fri Aug 7 2026 15:09:19 (GVA Time) using Doxygen 1.10.0