Illustrates how to retrieve TTree variables in arrays.
This example:
- creates a simple TTree,
- generates TTree variables thanks to the
Draw
method with goff
option,
- retrieves some of them in arrays thanks to
GetVal
,
- generates and draw graphs with these arrays.
The option goff
in TTree::Draw
behaves like any other drawing option except that, at the end, no graphics is produced ( goff
= graphics off). This allows to generate as many TTree variables as needed. All the graphics options (except para
and candle
) are limited to four variables only. And para
and candle
need at least two variables.
Note that by default TTree::Draw creates the arrays obtained with GetVal with a length corresponding to the parameter fEstimate
. By default fEstimate=1000000 and can be modified via TTree::SetEstimate. To keep in memory all the results use:
SetEstimate should be called if the expected number of selected rows is greater than 1000000.
The arrays' dimension is 5000
void treegetval() {
T->Branch(
"Run",&run,
"Run/I");
T->Branch(
"Event",&evt,
"Event/I");
for (
Int_t i=0;i<10000;i++) {
if (i < 5000) run = 1;
else run = 2;
evt = i;
}
Int_t n =
T->Draw(
"x:y:z:Run:Event:sin(x):cos(x)",
"Run==1",
"goff");
printf(
"The arrays' dimension is %d\n",
n);
}
A Graph is a graphics object made of two arrays X and Y with npoints each.
virtual void Draw(Option_t *chopt="")
Draw this graph with its current attributes.
This is the base class for the ROOT Random number generators.
A TTree object has a header with a name and a title.
- Author
- Olivier Couet
Definition in file treegetval.C.