Go HEP release 0.1
It’s with great pleasure that we can announce that the Go-HEP release v0.1 is out:
- Changelog: https://github.com/go-hep/hep/releases/v0.1
- Sources (zip): https://github.com/go-hep/hep/archive/v0.1.zip
- Sources (tar): https://github.com/go-hep/hep/archive/v0.1.tar.gz
What’s new
What’s new? Well, lots of things since it is our very first release.
But since the merge of the github.com/go-hep/xyz repositories into the mono-repository go-hep/hep and the introduction of the go-hep.org/x/hep/... vanity imports, quite a few things.
First: as we have tagged a release, Go-HEP is now citable.
Thanks to Zenodo, we have a DOI:
Improved ROOT support
Support of ROOT files and reading their content dramatically improved:
- read
TH1xhistograms - read
TH2xhistograms - read
TGraph,TGraphErrorsandTGraphAsymmErrors - read (flat)
TTrees - scan/iterate/select content of
TTrees - improved the root-ls command display
- introduction of root-srv, a command to browse
ROOTfiles’ content. One can also plotTH1x,TH2x,TGraph{,{,Asymm}Errors}and (flat)TTrees. root-srvis also served on Google AppEngine:rootio-inspector.appspot.com. This allows to inspectROOTfiles without havingROOTnorGo-HEPinstalled.

Improved fads & hbook
go-hep/hbook gained inter-operability with YODA (Yet more Objects for Data Analysis).
hbook can now save hbook.H1D, hbook.H2D, … into YODA ASCII files and load hbook.H1D, … from YODA ASCII files.
Two new commands, yoda2rio and rio2yoda, were also introduced to allow converting YODA files to rio ones, and back.
This allowed to create a new command: fads-rivet-mc-generic.
This command reproduces the default MonteCarlo analysis from Rivet: MC_GENERIC.cc.
It was nice to see the results were the same :) (except that fads was twice faster.)

Miscellaneous
As always, the usual string of fixes, documentation improvements and other things were applied to the repository.
Noteworthy, the sio package has seen some attention, preparing for a pure-Go lcio package for inter-operability with the LCIO C++ I/O library for the future linear collider.
Next steps
The plan is to provide support for reading of TTrees containing user classes.
This implies being able to interact with the ROOT streamers that are stored in the TFiles.
That would be a solid v0.2 release.
Release v0.3 (or v0.4) should also get the first iteration(s) on getting write support for ROOT files.
On the non-ROOT front, future releases could perhaps integrate the rio storage with hbook/ntup.Ntuple so one could get a complete, pure-Go stack with data persistency and an analysis workstation (pawgo and its web-based equivalent.)
In the meantime, please give v0.1 a spin, file issues, send patches (via pull requests) and/or discuss anything Go-HEP related on the go-hep mailing list.