Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved examples and dependencies #48

Merged
merged 17 commits into from
Jun 6, 2024
Merged

Conversation

graeme-a-stewart
Copy link
Member

@graeme-a-stewart graeme-a-stewart commented Jun 4, 2024

Update examples to provide better stand alone demonstrations of the use of the package.

In particular have a very simple jetreco.jl example that shows the basic use of the package. All of the supplementary code for timing and profiling is in the instrumented-jetreco.jl example. These scripts are steered now by algorithm name, not my power value for the distance metric.

Also add a script and notebook example for jet visualisation.

Fix the package dependencies to be only the real package dependencies, with compatibility versions given. The examples now have their own separate Project.toml file with their heavier requirements.

Move the visualisation code to a package extension, which is loaded when Makie is found in the environment. This bumps the minimum Julia version to 1.9, which is needed to support this feature.

Update documentation for these changes.

Closes #42

Exclusive jet messages should be debug

Format Pseudojet.jl
Give Aachen their due!
Remove the machinery for timing and profiling
in order to have a simpler example
Simple example is now just called jetreco.jl

Example with timing and profiling is called instrumented-jetreco.jl
An info message should be debug
Power as a proxy for algorithm only works for pp reconstruction algorithms
As the intention is to add ee algorithms too, then move to using
algorithm name as the steering parameter
Read an event from a HepMC3 file, reconstruct and then visualise it
(save to file)

Fixes to JetViz.jl to allow it to be used more easily from example
scripts by specifying JetReconstruction module and using namespace
Fix the event selector to the odd way that the HepMC3 reader works
(to be changed!)

Allow output file to be specified
Remove all extra dependencies from main package
Move JetVisualisation code to an extension (weak depends on CairoMakie)
Add separate Project.toml for examples, with extra packages
All the example scripts need this to change CLI options to
strategy and algorithm enums
Finesse the weak dependency to be Makie
rather than a specific backend (CairoMakie, GLMakie, etc.)

Ignore graphics outputs in the example directory
Uses WGLMakie to render in the browser
Add version numbers for all dependencies
Bump minimum Julia to 1.9 (needed for package extensions)
Tweak LICENSE file authors and year
Use $` `$ as the underscores mess things up otherwise
@graeme-a-stewart
Copy link
Member Author

I think this is pretty solid (tests pass!), but if you have a chance to take a look I'd be grateful @hegner @gojakuch.

N.B. particularly for @gojakuch the visualisation code is now a model extension, meaning it is only loaded if Makie is present.

@graeme-a-stewart graeme-a-stewart added documentation Improvements or additions to documentation enhancement New feature or request labels Jun 4, 2024
@graeme-a-stewart graeme-a-stewart merged commit 5c0655d into main Jun 6, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Simpler examples
1 participant