go-hep.org/x/hep@v0.38.1/README.md (about)

     1  hep
     2  ===
     3  
     4  [![Release](https://img.shields.io/gitea/v/release/go-hep/hep?gitea_url=https%3A%2F%2Fcodeberg.org&display_name=tag)](https://codeberg.org/go-hep/hep/releases)
     5  [![go.dev reference](https://pkg.go.dev/badge/go-hep.org/x/hep)](https://pkg.go.dev/go-hep.org/x/hep)
     6  [![CI](https://ci.codeberg.org/api/badges/14299/status.svg)](https://ci.codeberg.org/repos/14299)
     7  [![codecov](https://codecov.io/gh/go-hep/hep/branch/main/graph/badge.svg)](https://codecov.io/gh/go-hep/hep)
     8  [![Go Report Card](https://goreportcard.com/badge/go-hep.org/x/hep)](https://goreportcard.com/report/go-hep.org/x/hep)
     9  [![License](https://img.shields.io/badge/License-BSD--3-blue.svg)](https://go-hep.org/license)
    10  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.597940.svg)](https://doi.org/10.5281/zenodo.597940)
    11  [![JOSS Paper](http://joss.theoj.org/papers/0b007c81073186f7c61f95ea26ad7971/status.svg)](http://joss.theoj.org/papers/0b007c81073186f7c61f95ea26ad7971)
    12  
    13  `hep` is a set of libraries and tools to perform High Energy Physics analyses with ease and [Go](https://golang.org)
    14  
    15  See [go-hep.org](https://go-hep.org) for more informations.
    16  
    17  ## Forum
    18  
    19  Drop an email at [~sbinet/go-hep@lists.sr.ht](mailto:~sbinet/go-hep@lists.sr.ht) or visit the web interface [lists.sr.ht/~sbinet/go-hep](https://lists.sr.ht/~sbinet/go-hep) to discuss about `Go-HEP` or ask for help.
    20  
    21  
    22  ## License
    23  
    24  `hep` is released under the `BSD-3` license.
    25  
    26  ## Documentation
    27  
    28  Documentation for `hep` is served by [GoDoc](https://pkg.go.dev/go-hep.org/x/hep).
    29  
    30  ## Contributing
    31  
    32  Guidelines for contributing to [go-hep](https://go-hep.org) are available here:
    33   [go-hep.org/contributing](https://go-hep.org/contributing)
    34   
    35  ### Contributors
    36  
    37  This project exists thanks to all the people who contribute. 
    38  
    39  # Motivations
    40  
    41  Writing analyses in HEP involves many steps and one needs a few tools to
    42  successfully carry out such an endeavour.
    43  But - at minima - one needs to be able to read (and possibly write) ROOT files
    44  to be able to interoperate with the rest of the HEP community or to insert
    45  one's work into an already existing analysis pipeline.
    46  
    47  Go-HEP provides this necessary interoperability layer, in the Go programming
    48  language.
    49  This allows physicists to leverage the great concurrency primitives of Go,
    50  together with the surrounding tooling and software engineering ecosystem of Go,
    51  to implement physics analyses.
    52  
    53  ## Content
    54  
    55  Go-HEP currently sports the following packages:
    56  
    57  - [go-hep.org/x/hep/brio](https://go-hep.org/x/hep/brio): a toolkit to generate serialization code
    58  - [go-hep.org/x/hep/fads](https://go-hep.org/x/hep/fads): a fast detector simulation toolkit
    59  - [go-hep.org/x/hep/fastjet](https://go-hep.org/x/hep/fastjet): a jet clustering algorithms package (WIP)
    60  - [go-hep.org/x/hep/fit](https://go-hep.org/x/hep/fit): a fitting function toolkit (WIP)
    61  - [go-hep.org/x/hep/fmom](https://go-hep.org/x/hep/fmom): a 4-vectors library
    62  - [go-hep.org/x/hep/fwk](https://go-hep.org/x/hep/fwk): a concurrency-enabled framework
    63  - [go-hep.org/x/hep/groot](https://go-hep.org/x/hep/groot): a pure [Go](https://golang.org) package for [ROOT](https://root.cern.ch) I/O (WIP)
    64  - [go-hep.org/x/hep/hbook](https://go-hep.org/x/hep/hbook): histograms and n-tuples (WIP)
    65  - [go-hep.org/x/hep/hplot](https://go-hep.org/x/hep/hplot): interactive plotting (WIP)
    66  - [go-hep.org/x/hep/hepmc](https://go-hep.org/x/hep/hepmc): `HepMC` in pure [Go](https://golang.org) (EDM + I/O)
    67  - [go-hep.org/x/hep/hepevt](https://go-hep.org/x/hep/hepevt): `HEPEVT` bindings
    68  - [go-hep.org/x/hep/heppdt](https://go-hep.org/x/hep/heppdt): `HEP` particle data table
    69  - [go-hep.org/x/hep/lcio](https://go-hep.org/x/hep/lcio): read/write support for `LCIO` event data model
    70  - [go-hep.org/x/hep/lhef](https://go-hep.org/x/hep/lhef): Les Houches Event File format
    71  - [go-hep.org/x/hep/rio](https://go-hep.org/x/hep/rio): `go-hep` record oriented I/O
    72  - [go-hep.org/x/hep/sio](https://go-hep.org/x/hep/sio): basic, low-level, serial I/O used by `LCIO`
    73  - [go-hep.org/x/hep/slha](https://go-hep.org/x/hep/slha): `SUSY` Les Houches Accord I/O
    74  - [go-hep.org/x/hep/xrootd](https://go-hep.org/x/hep/xrootd): [XRootD](http://xrootd.org) client in pure [Go](https://golang.org)
    75  
    76  ## Installation
    77  
    78  Go-HEP packages are installable via the `go get` command:
    79  
    80  ```sh
    81  $ go get go-hep.org/x/hep/fads
    82  ```
    83  
    84  Just 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.