@@ -17,9 +17,9 @@ Calculate the angular distance between two jets `i` and `j` using the formula
1717- `Float64`: The angular distance between `i` and `j`, which is ``1 -
1818 cos\t heta``.
1919"""
20- @inline function angular_distance (eereco, i, j)
21- @inbounds @ muladd 1.0 - eereco[i]. nx * eereco[j]. nx - eereco[i]. ny * eereco[j]. ny -
22- eereco[i]. nz * eereco[j]. nz
20+ Base . @propagate_inbounds @inline function angular_distance (eereco, i, j)
21+ @muladd 1.0 - eereco[i]. nx * eereco[j]. nx - eereco[i]. ny * eereco[j]. ny -
22+ eereco[i]. nz * eereco[j]. nz
2323end
2424
2525"""
@@ -37,7 +37,7 @@ Calculate the Valencia distance between two jets `i` and `j` as
3737# Returns
3838- `Float64`: The Valencia distance between `i` and `j`.
3939"""
40- Base. @propagate_inbounds function valencia_distance (eereco, i, j, R)
40+ Base. @propagate_inbounds @inline function valencia_distance (eereco, i, j, R)
4141 angular_dist = angular_distance (eereco, i, j)
4242 # Valencia dij : min(E_i^{2β}, E_j^{2β}) * 2 * (1 - cos θ) / R²
4343 # Note that β plays the role of p in other algorithms, so E2p can be used.
@@ -61,11 +61,12 @@ for unit direction cosines. Since ``sin^2 θ = 1 - nz^2``, we implement
6161# Returns
6262- `Float64`: The Valencia beam distance for jet `i`.
6363"""
64- Base. @propagate_inbounds function valencia_beam_distance (eereco, i, γ, β)
65- nz = @inbounds eereco[i]. nz
64+ Base. @propagate_inbounds @inline function valencia_beam_distance (eereco, i, γ, β)
65+ nz = eereco[i]. nz
6666 # sin^2(theta) = 1 - nz^2; beam distance independent of R
6767 sin2 = 1 - nz * nz
68- return eereco[i]. E2p * sin2^ γ
68+ E2p = eereco[i]. E2p
69+ return E2p * sin2^ γ
6970end
7071
7172"""
@@ -141,9 +142,9 @@ function get_angular_nearest_neighbours!(eereco, algorithm, dij_factor, p, γ =
141142 end
142143 end
143144 # Nearest neighbour dij distance
144- for i in 1 : N
145+ @inbounds for i in 1 : N
145146 if algorithm == JetAlgorithm. Valencia
146- eereco. dijdist[i] = @inbounds valencia_distance (eereco, i, eereco[i]. nni, R)
147+ eereco. dijdist[i] = valencia_distance (eereco, i, eereco[i]. nni, R)
147148 else
148149 eereco. dijdist[i] = dij_dist (eereco, i, eereco[i]. nni, dij_factor, algorithm, R)
149150 end
@@ -158,7 +159,7 @@ function get_angular_nearest_neighbours!(eereco, algorithm, dij_factor, p, γ =
158159 end
159160 elseif algorithm == JetAlgorithm. Valencia
160161 @inbounds for i in 1 : N
161- valencia_beam_dist = @inbounds valencia_beam_distance (eereco, i, γ, p)
162+ valencia_beam_dist = valencia_beam_distance (eereco, i, γ, p)
162163 beam_closer = valencia_beam_dist < eereco[i]. dijdist
163164 eereco. dijdist[i] = beam_closer ? valencia_beam_dist : eereco. dijdist[i]
164165 eereco. nni[i] = beam_closer ? 0 : eereco. nni[i]
@@ -182,7 +183,7 @@ function update_nn_no_cross!(eereco, i, N, algorithm, dij_factor, β = 1.0, γ =
182183 end
183184 end
184185 if algorithm == JetAlgorithm. Valencia
185- eereco. dijdist[i] = @inbounds valencia_distance (eereco, i, eereco[i]. nni, R)
186+ eereco. dijdist[i] = valencia_distance (eereco, i, eereco[i]. nni, R)
186187 else
187188 eereco. dijdist[i] = dij_dist (eereco, i, eereco[i]. nni, dij_factor, algorithm, R)
188189 end
@@ -191,7 +192,7 @@ function update_nn_no_cross!(eereco, i, N, algorithm, dij_factor, β = 1.0, γ =
191192 eereco. dijdist[i] = beam_close ? eereco[i]. E2p : eereco. dijdist[i]
192193 eereco. nni[i] = beam_close ? 0 : eereco. nni[i]
193194 elseif algorithm == JetAlgorithm. Valencia
194- valencia_beam_dist = @inbounds valencia_beam_distance (eereco, i, γ, β)
195+ valencia_beam_dist = valencia_beam_distance (eereco, i, γ, β)
195196 beam_close = valencia_beam_dist < eereco[i]. dijdist
196197 eereco. dijdist[i] = beam_close ? valencia_beam_dist : eereco. dijdist[i]
197198 eereco. nni[i] = beam_close ? 0 : eereco. nni[i]
0 commit comments