Trees with variable-length arraysΒΆ

This example demonstrates how to create a tree with a variable-length array.

Python source code: vararray.py

print(__doc__)

from rootpy.tree import Tree, TreeModel, IntCol, FloatArrayCol
from rootpy.io import root_open

class Event(TreeModel):
    num_vals = IntCol()
    vals = FloatArrayCol(10, length_name='num_vals')

rfile = root_open('test.root', 'w')
tree = Tree('events', model=Event)

for i in range(10):
    tree.num_vals = i + 1
    for j in range(i + 1):
        tree.vals[j] = j
    tree.fill()

tree.write()
tree.vals.reset()
tree.csv()
rfile.close()
print("===")

# CSV output from tree read from file should match above output
root_open('test.root', 'r').events.csv()