Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
9aa0b3b
Initial VLC implementation
mattleblanc Aug 6, 2025
6928cea
Clean up VLC tests to use a version of ComparisonTest instead, add re…
mattleblanc Aug 11, 2025
ce9964d
Running julia formatter
mattleblanc Aug 11, 2025
2a9d379
Fixing beam distance and increasing numerical precision of reference …
mattleblanc Aug 12, 2025
fddedf2
Julia formatter
mattleblanc Aug 13, 2025
fcdfc13
Missing coverity
mattleblanc Aug 13, 2025
251077e
Comments from Jerry, try to fix branching
mattleblanc Aug 13, 2025
23530a3
Clean up inbounds throughout VLC code
mattleblanc Aug 13, 2025
57c6b60
Clean up inbounds throughout EEAlgorithm.jl, switch to Val-based forw…
mattleblanc Aug 13, 2025
69abb66
Coverity
mattleblanc Aug 13, 2025
98d5aa1
Move to specialised path implementations for different algorithms to …
mattleblanc Aug 17, 2025
740396d
Optimization for VLC
mattleblanc Aug 17, 2025
d17cdd7
VLC optimization
mattleblanc Aug 17, 2025
0cd3d88
VLC docstrings
mattleblanc Aug 17, 2025
be18a10
Cleanup -- factorize VLC code and improve test coverage
mattleblanc Aug 17, 2025
6f0e455
Cleanup -- factorize VLC code and improve test coverage
mattleblanc Aug 17, 2025
486e0b0
Docstrings
mattleblanc Aug 17, 2025
8300e79
formatting
mattleblanc Aug 17, 2025
8db5b4e
Simplifying EEAlgorithm again
mattleblanc Aug 18, 2025
9cd925f
Cleanup
mattleblanc Aug 18, 2025
a0810d2
Cleanup
mattleblanc Aug 18, 2025
4cd983e
Formatter
mattleblanc Aug 18, 2025
2b03029
Cleanup after failed squash ...
mattleblanc Aug 18, 2025
20e7790
Cleanup after failed squash ...
mattleblanc Aug 18, 2025
c5a7f7c
Remove Val-based branching
mattleblanc Aug 23, 2025
60fef1e
Simplify, back to conditionals
mattleblanc Aug 24, 2025
589f5fa
A couple more tweaks to docstrings, cleaning up tests
mattleblanc Aug 24, 2025
cad70b9
Julia formatter
mattleblanc Aug 24, 2025
62d9bd5
Fix enums, pass R2 as invR2 throughout
mattleblanc Aug 27, 2025
7d1158c
julia formatter
mattleblanc Aug 27, 2025
4ce340e
Add back alg isa JetAlgorithm.Algorithm check for now
mattleblanc Aug 27, 2025
c4ec5cc
julia formatter
mattleblanc Aug 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/src/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ julia --project jetreco.jl --algorithm=AntiKt ../test/data/events.pp13TeV.hepmc3
...
julia --project jetreco.jl --algorithm=Durham ../test/data/events.eeH.hepmc3.zst
...
julia --project jetreco.jl --algorithm=Valencia --p=1.2 --gamma=0.8 ../test/data/events.eeH.hepmc3.zst
...
julia --project jetreco.jl --maxevents=10 --strategy=N2Plain --algorithm=Kt --exclusive-njets=3 ../test/data/events.pp13TeV.hepmc3.zst
...
```
Expand Down
1 change: 1 addition & 0 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ Each known algorithm is referenced using a `JetAlgorithm` scoped enum value.
| generalised ``k_\text{T}`` | `JetAlgorithm.GenKt` | For $pp$, value of `p` must also be specified |
| ``e^+e-`` ``k_\text{T}`` / Durham | `JetAlgorithm.Durham` | `R` value ignored and can be omitted |
| generalised ``e^+e-`` ``k_\text{T}`` | `JetAlgorithm.EEKt` | For ``e^+e^-``, value of `p` must also be specified |
| Valencia | `JetAlgorithm.Valencia` | For ``e^+e^-``, values of `p` (β) and `γ` must be specified |

### Strategy

Expand Down
7 changes: 4 additions & 3 deletions src/AlgorithmStrategyEnums.jl
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ Scoped enumeration (using EnumX) representing different jet algorithms used in t
- `GenKt`: The Generalised Kt algorithm (with arbitrary power).
- `EEKt`: The Generalised e+e- kt algorithm.
- `Durham`: The e+e- kt algorithm, aka Durham.
- `Valencia`: The Valencia e+e- algorithm.
"""
@enumx T=Algorithm JetAlgorithm AntiKt CA Kt GenKt EEKt Durham
@enumx T=Algorithm JetAlgorithm AntiKt CA Kt GenKt EEKt Durham Valencia
const AllJetRecoAlgorithms = [String(Symbol(x)) for x in instances(JetAlgorithm.Algorithm)]

"""
Expand All @@ -36,7 +37,7 @@ const AllJetRecoAlgorithms = [String(Symbol(x)) for x in instances(JetAlgorithm.
A constant array that contains the jet algorithms for which power is variable.

"""
const varpower_algorithms = [JetAlgorithm.GenKt, JetAlgorithm.EEKt]
const varpower_algorithms = [JetAlgorithm.GenKt, JetAlgorithm.EEKt, JetAlgorithm.Valencia]

"""
algorithm2power
Expand Down Expand Up @@ -109,7 +110,7 @@ Check if the algorithm is a e+e- reconstruction algorithm.
`true` if the algorithm is a e+e- reconstruction algorithm, `false` otherwise.
"""
function is_ee(algorithm::JetAlgorithm.Algorithm)
return algorithm in [JetAlgorithm.EEKt, JetAlgorithm.Durham]
return algorithm in (JetAlgorithm.EEKt, JetAlgorithm.Durham, JetAlgorithm.Valencia)
end

"""
Expand Down
4 changes: 2 additions & 2 deletions src/ClusterSequence.jl
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ function exclusive_jets(clusterseq::ClusterSequence{U},
throw(ArgumentError("Algorithm $(clusterseq.algorithm) requires power >= 0 for exclusive jets (power=$(clusterseq.power))"))
elseif clusterseq.algorithm ∉
(JetAlgorithm.CA, JetAlgorithm.Kt, JetAlgorithm.Durham, JetAlgorithm.GenKt,
JetAlgorithm.EEKt)
JetAlgorithm.EEKt, JetAlgorithm.Valencia)
throw(ArgumentError("Algorithm used is not suitable for exclusive jets ($(clusterseq.algorithm))"))
end

Expand Down Expand Up @@ -395,7 +395,7 @@ function n_exclusive_jets(clusterseq::ClusterSequence; dcut::AbstractFloat)
throw(ArgumentError("Algorithm $(clusterseq.algorithm) requires power >= 0 for exclusive jets(power=$(clusterseq.power))"))
elseif clusterseq.algorithm ∉
(JetAlgorithm.CA, JetAlgorithm.Kt, JetAlgorithm.Durham, JetAlgorithm.GenKt,
JetAlgorithm.EEKt)
JetAlgorithm.EEKt, JetAlgorithm.Valencia)
throw(ArgumentError("Algorithm used is not suitable for exclusive jets ($(clusterseq.algorithm))"))
end

Expand Down
Loading
Loading