hi there,
just a quick announcement that as of v0.19.0, GoHEP can now convert ROOT TTrees to Arrow Records (and store them into an Arrow File or an Arrow Stream) via the root2arrow
command:
$> go doc go-hep.org/x/hep/cmd/root2arrow
root2arrow converts the content of a ROOT TTree to an ARROW file.
Usage of root2arrow:
-o string
path to output ARROW file name (default "output.data")
-stream
enable ARROW stream (default is to create an ARROW file)
-t string
name of the tree to convert (default "tree")
$> root2arrow -o foo.data -t tree ../../groot/testdata/simple.root
$> arrow-ls ./foo.data
version: V4
schema:
fields: 3
- one: type=int32
- two: type=float32
- three: type=utf8
records: 1
$> arrow-cat ./foo.data
version: V4
record 1/1...
col[0] "one": [1 2 3 4]
col[1] "two": [1.1 2.2 3.3 4.4]
col[2] "three": ["uno" "dos" "tres" "quatro"]
(the arrow-ls
and arrow-cat
commands come with the go-arrow package from Apache Arrow.)
This opens another bridge between ROOT and other communities
hth,
-s