Go HEP release 0.11
Release v0.11 is fresh from the oven.
This release drops official support for Go-1.7 and earlier, adds support for Go-1.10.
This allowed to migrate the fwk package away from golang.org/x/net/context.
fwk now directly uses the context.Context type from the standard library.
rootio
This release brings quite a few improvements in the rootio area:
- add support for empty ROOT files,
- add support for reading remote ROOT files over HTTP.
This is implemented in a quite naive way, using
net/http.Getto download the whole file under a temporary directory. See go-hep/hep#142 for ideas on how to improve this, - add support for
TH1-v6, - add support for streamer-less
TDirectoryFile, - add support for
TBranchElementsincmd/root-dump, - add support for displaying
TH1,TH2andTGraph{,Error}sincmd/root-dump, - add support for branches and leaves with names only differing by case in
cmd/root-gen-datareader. Now, thestructtype being generated contains fields whose names start withROOT_. The original branch or leaf name is then appended afterROOT_, unmodified. - add support for
TKeys with a large binary payload, - add preliminary support for creating new Go types at runtime directly from
a
StreamerInfovalue, - add more documentation about ROOT binary file format (
TFile,TKeyand a bit aboutTStreamerInfoso far.)
hbook
- fixed a bug in the
YODAASCII file parsing code that would choke on analysis objects (histograms, scatters, …) that contain whitespace.
AOB
LPC-Clermont has funded a 5 months internship student, starting now. Mohamed Amine El Gnaoui (@maloft) will:
- implement reading all ROOT files created with ROOT-6,
- implement writing ROOT files, in a ROOT-6 compatible way,
- improve the read/write performances of Go-HEP to be on par with that of ROOT/C++ (using the builtin performance tools of the Go toolchain: pprof, execution tracer, … and/or
linux perf) - extend the test suite of Go-HEP for reading and writing ROOT files,
- add benchmark tests for reading and writing ROOT files,
- document the ROOT file format as understood by Go-HEP.
Welcome to Go-HEP, Amine!