Welcome to Go-HEP
go-hep is a set of libraries and applications allowing High Energy Physicists to write efficient analysis code in the Go programming language.
Go brings the fast edit-compile-run cycle that interpreted language users know and the runtime efficiency that compiled languages users expect.
go-hep provides the needed HEP oriented packages on top of this concurrency-enabled language.
go-hep currently sports the following packages:
- go-hep.org/x/hep/brio: a toolkit to generate serialization code
- go-hep.org/x/hep/fads: a fast detector simulation toolkit
- go-hep.org/x/hep/fastjet: a jet clustering algorithms package (WIP)
- go-hep.org/x/hep/fit: a fitting function toolkit (WIP)
- go-hep.org/x/hep/fmom: a 4-vectors library
- go-hep.org/x/hep/fwk: a concurrency-enabled framework
- go-hep.org/x/hep/hbook: histograms and n-tuples (WIP)
- go-hep.org/x/hep/hplot: interactive plotting (WIP)
- go-hep.org/x/hep/hepmc:
HepMCin pure Go (EDM + I/O) - go-hep.org/x/hep/hepevt:
HEPEVTbindings - go-hep.org/x/hep/heppdt:
HEPparticle data table - go-hep.org/x/hep/lcio: read/write support for
LCIOevent data model - go-hep.org/x/hep/lhef: Les Houches Event File format
- go-hep.org/x/hep/rio:
go-heprecord oriented I/O - go-hep.org/x/hep/rootio: a pure Go package to for ROOT I/O (WIP)
- go-hep.org/x/hep/sio: basic, low-level, serial I/O used by
LCIO - go-hep.org/x/hep/slha:
SUSYLes Houches Accord I/O - go-hep.org/x/hep/xrootd: XRootD client in pure Go
- go-hep.org/x/cgo/croot: bindings to a subset of ROOT I/O
Installation
go-hep packages are installable via the go get command:
$ go get go-hep.org/x/hep/fadsJust select the package you are interested in and go get will take care of fetching, building and installing it, as well as its dependencies, recursively.
go-hep is available on all Go supported platforms, mainly:
linux-{amd64,386,arm,arm64,mips,mips32,...}darwin-{amd64,386,...}windows-{amd64,386,...}freebsd-{amd64,386,...}
License
All go-hep code is released under a BSD-3 license.
Authors and Contributors
go-hep was primarily written by Sebastien Binet (@sbinet).
The complete CONTRIBUTORS and AUTHORS list can be consulted on the dedicated license repository.
Support or Contact
Having trouble with go-hep?
Check out the documentation:
You can also contact us at go-hep@googlegroups.com and we’ll help you sort it out.
The main mailing list for go-hep is hosted on googlegroups.
You can subscribe to the forum without having a GMail account, by just sending a mail to go-hep+subscribe@googlegroups.com with subscribe as a subject.
About
The go-hep logo was made by Tom Ingebretsen from the Noun Project.
