Skip to content

Commit 43612fb

Browse files
Fix paramaterised types for substructure
1 parent 89421bf commit 43612fb

File tree

4 files changed

+14
-12
lines changed

4 files changed

+14
-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: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ 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, tag::MassDropTagger) where {T <: Real}
146146
all_jets = clusterseq.jets
147147
hist = clusterseq.history
148148

@@ -188,11 +188,11 @@ This function reclusters the jet and iteratively checks the soft-drop condition
188188
# Returns:
189189
- `PseudoJet`: Groomed jet or zero-momentum PseudoJet if grooming fails
190190
"""
191-
function soft_drop(jet::PseudoJet, clusterseq::ClusterSequence,
192-
tag::SoftDropTagger)
191+
function soft_drop(jet::PseudoJet{T}, clusterseq::ClusterSequence,
192+
tag::SoftDropTagger) where {T <: Real}
193193
rad = tag.cluster_rad
194194
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]
195+
new_jet = sort!(inclusive_jets(new_clusterseq; T = PseudoJet{T}), by = pt2, rev = true)[1]
196196

197197
all_jets = new_clusterseq.jets
198198
hist = new_clusterseq.history
@@ -238,10 +238,12 @@ Filters a jet to retain only the hardest subjets based on a specified radius and
238238
# Returns:
239239
- `PseudoJet`: Filtered jet composed of the hardest subjets
240240
"""
241-
function jet_filtering(jet::PseudoJet, clusterseq::ClusterSequence, filter::JetFilter)
241+
function jet_filtering(jet::PseudoJet{T}, clusterseq::ClusterSequence,
242+
filter::JetFilter) where {T <: Real}
242243
rad = filter.filter_radius
243244
new_clusterseq = recluster(jet, clusterseq; R = rad, algorithm = JetAlgorithm.CA)
244-
reclustered = sort!(inclusive_jets(new_clusterseq; T = PseudoJet), by = pt2, rev = true)
245+
reclustered = sort!(inclusive_jets(new_clusterseq; T = PseudoJet{T}), by = pt2,
246+
rev = true)
245247

246248
n = length(reclustered) <= filter.num_hardest_jets ? length(reclustered) :
247249
filter.num_hardest_jets
@@ -265,13 +267,15 @@ Trims a jet by removing subjets with transverse momentum below a specified fract
265267
# Returns:
266268
- `PseudoJet`: Trimmed jet composed of retained subjets
267269
"""
268-
function jet_trimming(jet::PseudoJet, clusterseq::ClusterSequence, trim::JetTrim)
270+
function jet_trimming(jet::PseudoJet{T}, clusterseq::ClusterSequence,
271+
trim::JetTrim) where {T <: Real}
269272
rad = trim.trim_radius
270273
alg = trim.recluster_method
271274
frac2 = trim.trim_fraction^2
272275

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

276280
hard = Vector{PseudoJet}(undef, 0)
277281
for item in reclustered

test/test-constituents.jl

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ input_file = joinpath(dirname(pathof(JetReconstruction)), "..", "test", "data",
1515
"events.pp13TeV.hepmc3.gz")
1616
events = read_final_state_particles(input_file)
1717

18-
println(typeof(events))
19-
2018
# Event to pick
2119
event_no = 1
2220

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)