Skip to content

A template for an example project in HEP. Built for tutorial purposes.

License

Notifications You must be signed in to change notification settings

JuliaHEP/HEPExampleProjectTemplate.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HEPExampleProject.jl

HEPExampleProject.jl is a demonstration package for showcasing how to develop software in the context of high-energy physics (HEP) using the Julia programming language. This project serves as a template for researchers, developers, and students interested in adopting Julia for HEP-specific workflows.

Key Features

  • HEP-Focused Design: Structures common to high-energy physics are implemented with a focus on performance and flexibility.
  • Modular Architecture: Designed to be easily extensible for new use cases and HEP-related calculations.
  • Integration with JuliaHEP: Part of the JuliaHEP ecosystem, which aims to facilitate the use of Julia in high-energy physics research and analysis.

Installation

This package is not registered (and most probably will never be).

To install HEPExampleProject.jl, use Julia's built-in package manager. In the Julia REPL, type:

julia> using Pkg
julia> Pkg.add("https://github.com/JuliaHEP/HEPExampleProject.jl")

Alternatively, you can enter the Pkg mode by pressing ] in the REPL, then type:

pkg> add https://github.com/JuliaHEP/HEPExampleProject.jl

Usage

Once installed, you can begin using HEPExampleProject.jl by importing the package:

using HEPExampleProject

Example

The following example demonstrates a simple use of the package:

using HEPExampleProject
using Random

# define random number generator for reproducability
RNG = Xoshiro(137)

# Define some input parameters for the HEP process
incoming_electron_energy = 1000.0

# generate 1M events
event_list = generate_events_cpu(RNG,incoming_electron_energy,1_000_000)

If you separately install the package StatsPlots (pkg> add StatsPlots), you can plot the generated events:

using StatsPlots
plot_muon_cos_theta(event_list)

Contributing

We welcome contributions to improve this project! If you're interested in contributing, please:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Submit a pull request with a detailed description of your changes.

You can also open an issue if you encounter any problems or have feature suggestions.

Acknowledgements

This project is part of the JuliaHEP ecosystem, which is developed by a community of scientists and developers passionate about using Julia for high-energy physics. We are grateful to all contributors and users who support the growth of this project.

License

HEPExampleProject.jl is licensed under the MIT License. See the LICENSE file for more details.

About

A template for an example project in HEP. Built for tutorial purposes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published