Skip to content

Commit 23e7869

Browse files
Fix tests for parametrised types
1 parent a8ea8f8 commit 23e7869

File tree

5 files changed

+17
-12
lines changed

5 files changed

+17
-12
lines changed

src/ClusterSequence.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ function inclusive_jets(clusterseq::ClusterSequence{U}; ptmin = 0.0,
266266
jet = clusterseq.jets[iparent_jet]
267267
if pt2(jet) >= pt2min
268268
@debug "Added inclusive jet index $iparent_jet"
269-
if T == U
269+
if T <: U
270270
push!(jets_local, jet)
271271
else
272272
push!(jets_local,

src/Substructure.jl

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,8 @@ The method stops at the first jet satisfying the mass and distance thresholds.
142142
# Returns:
143143
- `PseudoJet`: The jet (or subjet) satisfying the mass drop conditions, if tagging is successful, otherwise a zero-momentum PseudoJet
144144
"""
145-
function mass_drop(jet::PseudoJet, clusterseq::ClusterSequence, tag::MassDropTagger)
145+
function mass_drop(jet::PseudoJet{T}, clusterseq::ClusterSequence,
146+
tag::MassDropTagger) where {T <: Real}
146147
all_jets = clusterseq.jets
147148
hist = clusterseq.history
148149

@@ -188,11 +189,11 @@ This function reclusters the jet and iteratively checks the soft-drop condition
188189
# Returns:
189190
- `PseudoJet`: Groomed jet or zero-momentum PseudoJet if grooming fails
190191
"""
191-
function soft_drop(jet::PseudoJet, clusterseq::ClusterSequence,
192-
tag::SoftDropTagger)
192+
function soft_drop(jet::PseudoJet{T}, clusterseq::ClusterSequence,
193+
tag::SoftDropTagger) where {T <: Real}
193194
rad = tag.cluster_rad
194195
new_clusterseq = recluster(jet, clusterseq; R = rad, algorithm = JetAlgorithm.CA)
195-
new_jet = sort!(inclusive_jets(new_clusterseq; T = PseudoJet), by = pt2, rev = true)[1]
196+
new_jet = sort!(inclusive_jets(new_clusterseq; T = PseudoJet{T}), by = pt2, rev = true)[1]
196197

197198
all_jets = new_clusterseq.jets
198199
hist = new_clusterseq.history
@@ -238,10 +239,12 @@ Filters a jet to retain only the hardest subjets based on a specified radius and
238239
# Returns:
239240
- `PseudoJet`: Filtered jet composed of the hardest subjets
240241
"""
241-
function jet_filtering(jet::PseudoJet, clusterseq::ClusterSequence, filter::JetFilter)
242+
function jet_filtering(jet::PseudoJet{T}, clusterseq::ClusterSequence,
243+
filter::JetFilter) where {T <: Real}
242244
rad = filter.filter_radius
243245
new_clusterseq = recluster(jet, clusterseq; R = rad, algorithm = JetAlgorithm.CA)
244-
reclustered = sort!(inclusive_jets(new_clusterseq; T = PseudoJet), by = pt2, rev = true)
246+
reclustered = sort!(inclusive_jets(new_clusterseq; T = PseudoJet{T}), by = pt2,
247+
rev = true)
245248

246249
n = length(reclustered) <= filter.num_hardest_jets ? length(reclustered) :
247250
filter.num_hardest_jets
@@ -265,13 +268,15 @@ Trims a jet by removing subjets with transverse momentum below a specified fract
265268
# Returns:
266269
- `PseudoJet`: Trimmed jet composed of retained subjets
267270
"""
268-
function jet_trimming(jet::PseudoJet, clusterseq::ClusterSequence, trim::JetTrim)
271+
function jet_trimming(jet::PseudoJet{T}, clusterseq::ClusterSequence,
272+
trim::JetTrim) where {T <: Real}
269273
rad = trim.trim_radius
270274
alg = trim.recluster_method
271275
frac2 = trim.trim_fraction^2
272276

273277
new_clusterseq = recluster(jet, clusterseq; R = rad, algorithm = alg)
274-
reclustered = sort!(inclusive_jets(new_clusterseq; T = PseudoJet), by = pt2, rev = true)
278+
reclustered = sort!(inclusive_jets(new_clusterseq; T = PseudoJet{T}), by = pt2,
279+
rev = true)
275280

276281
hard = Vector{PseudoJet}(undef, 0)
277282
for item in reclustered

test/runtests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ function do_test_compare_types(strategy::RecoStrategy.Strategy;
158158

159159
# Now run our jet reconstruction...
160160
# From PseudoJets
161-
events::Vector{Vector{PseudoJet}} = read_final_state_particles(events_file_pp)
161+
events::Vector{Vector{PseudoJet{Float64}}} = read_final_state_particles(events_file_pp)
162162
jet_collection = FinalJets[]
163163
for (ievt, event) in enumerate(events)
164164
finaljets = final_jets(inclusive_jets(jet_reconstruction(event, R = distance,

test/test-constituents.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ event_no = 1
2121
cluster_seq = jet_reconstruct(events[event_no], p = 1, R = 1.0)
2222

2323
# Retrieve the exclusive pj_jets, but as `PseudoJet` types
24-
pj_jets = inclusive_jets(cluster_seq; ptmin = 5.0, T = PseudoJet)
24+
pj_jets = inclusive_jets(cluster_seq; ptmin = 5.0, T = PseudoJet{Float64})
2525

2626
@testset "Jet constituents" begin
2727
@testset "Constituents of jet number $(event_no)" begin

test/test-substructure.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ for m in keys(methods)
3636
@testset "$testname" begin
3737
for (ievt, evt) in enumerate(events)
3838
cluster_seq = jet_reconstruct(evt, p = 0, R = 1.0)
39-
jets = inclusive_jets(cluster_seq; ptmin = 5.0, T = PseudoJet)
39+
jets = inclusive_jets(cluster_seq; ptmin = 5.0, T = PseudoJet{Float64})
4040
groomed = sort!([methods[m](jet, cluster_seq, groomer)
4141
for jet in jets], by = JetReconstruction.pt2, rev = true)
4242

0 commit comments

Comments
 (0)