siscone_spherical::CSphsplit_merge Class Reference Class used to split and merge jets. More...
Inheritance diagram for siscone_spherical::CSphsplit_merge:
Collaboration diagram for siscone_spherical::CSphsplit_merge:
Detailed DescriptionClass used to split and merge jets. Definition at line 175 of file split_merge.h. Constructor & Destructor Documentation◆ CSphsplit_merge()
default ctor Definition at line 232 of file split_merge.cpp. References indices, merge_identical_protocones, siscone_spherical::CSphsplit_merge_ptcomparison::particles, particles, siscone_spherical::CSphsplit_merge_ptcomparison::particles_norm2, particles_norm2, ptcomparison, SM_var2_hardest_cut_off, and stable_cone_soft_E2_cutoff. ◆ ~CSphsplit_merge()
Member Function Documentation◆ add_hardest_protocone_to_jets()
remove the hardest protocone and declare it a a jet
The list of remaining particles (and the uncollinear-hard ones) is updated. Definition at line 580 of file split_merge.cpp. References siscone_spherical::CSph3vector::_phi, siscone_spherical::CSph3vector::_theta, siscone_spherical::CSph3vector::build_thetaphi(), siscone_spherical::CSphjet::contents, siscone_spherical::CSphmomentum::E, siscone_spherical::CSphjet::E_tilde, siscone_spherical::CSphmomentum::index, siscone_spherical::CSphsplit_merge::Cuser_scale_base::is_larger(), jets, merge_collinear_and_remove_soft(), siscone_spherical::CSphjet::n, n_left, n_pass, p_remain, siscone_spherical::CSphmomentum::parent_index, particles, ptcomparison, siscone_spherical::CSphjet::range, siscone_spherical::CSphjet::sm_var2, and siscone_spherical::CSphjet::v. Referenced by siscone_spherical::CSphsiscone::compute_jets_progressive_removal(). ◆ add_protocones()
add a list of protocones
Definition at line 462 of file split_merge.cpp. References siscone_spherical::CSph3vector::_phi, siscone_spherical::CSph3vector::_theta, siscone_spherical::CSph3vector::build_thetaphi(), siscone_spherical::CSphjet::contents, siscone_spherical::CSphmomentum::index, merge_collinear_and_remove_soft(), siscone_spherical::CSphjet::n, n_left, n_pass, p_remain, siscone_spherical::CSphmomentum::parent_index, particles, siscone_spherical::CSphtheta_phi_range::phi_range, siscone_spherical::CSphjet::range, siscone_spherical::CSphtheta_phi_range::theta_range, and siscone_spherical::CSphjet::v. Referenced by siscone_spherical::CSphsiscone::compute_jets(), init(), and siscone_spherical::CSphsiscone::recompute_jets(). ◆ full_clear()
full clearance Definition at line 386 of file split_merge.cpp. References indices, partial_clear(), and particles. Referenced by init_particles(), and ~CSphsplit_merge(). ◆ init()
initialisation function
Definition at line 271 of file split_merge.cpp. References add_protocones(). ◆ init_particles()
initialisation function for particle list
Definition at line 280 of file split_merge.cpp. References full_clear(), indices, init_pleft(), n, siscone_spherical::CSphsplit_merge_ptcomparison::particles, particles, siscone_spherical::CSphsplit_merge_ptcomparison::particles_norm2, particles_norm2, and ptcomparison. Referenced by siscone_spherical::CSphsiscone::compute_jets(), and siscone_spherical::CSphsiscone::compute_jets_progressive_removal(). ◆ init_pleft()
build initial list of left particles Definition at line 310 of file split_merge.cpp. References merge_collinear_and_remove_soft(), n, n_left, n_pass, p_remain, and particles. Referenced by init_particles(), and siscone_spherical::CSphsiscone::recompute_jets(). ◆ merge_collinear_and_remove_soft()
build the list 'p_uncol_hard' from p_remain by clustering collinear particles note that thins in only used for stable-cone detection so the parent_index field is unnecessary Note that soft particles are not removed here This is just a remnant from the trunk version Definition at line 403 of file split_merge.cpp. References EPSILON_COLLINEAR, n_left, p_remain, p_uncol_hard, stable_cone_soft_E2_cutoff, and twopi. Referenced by add_hardest_protocone_to_jets(), add_protocones(), and init_pleft(). ◆ partial_clear()
partial clearance Definition at line 361 of file split_merge.cpp. References jets, merge_identical_protocones, most_ambiguous_split, p_remain, and ptcomparison. Referenced by siscone_spherical::CSphsiscone::compute_jets(), siscone_spherical::CSphsiscone::compute_jets_progressive_removal(), full_clear(), and siscone_spherical::CSphsiscone::recompute_jets(). ◆ perform()
really do the splitting and merging At the end, the vector jets is filled with the jets found. the 'contents' field of each jets contains the indices of the particles included in that jet.
Definition at line 715 of file split_merge.cpp. References jets, particles, show(), and SM_var2_hardest_cut_off. Referenced by siscone_spherical::CSphsiscone::compute_jets(), and siscone_spherical::CSphsiscone::recompute_jets(). ◆ save_contents()
save final jets
Definition at line 832 of file split_merge.cpp. References siscone_spherical::CSphjet::contents, siscone_spherical::CSphmomentum::E, jets, siscone_spherical::CSphjet::n, particles, siscone_spherical::CSph3vector::px, siscone_spherical::CSph3vector::py, siscone_spherical::CSph3vector::pz, and siscone_spherical::CSphjet::v. ◆ set_E_weighted_splitting()
use an energy-dependent boundary for splitting When called with true, the criterium for splitting two protojets will be to compare D1^2/kt1^2 vs. D2^2/kt2^2, the (anti-)kt-weighted distance instead of the plain distance D1^2 vs. D2^2. This can be set in order to produce more circular hard jets, with the same underlying philosophy as for the anti-kt algorithm. We thus expect a behaviour closer to the IterativeCone one. By default, we use the standard D1^2 vs. D2^2 comparison and this function is not called. Definition at line 221 of file split_merge.h. ◆ set_user_scale()
associate a user-defined scale to order the stable cones Note that this is only used in "progressive-removal mode", e.g. in add_hardest_protocone_to_jets(). Definition at line 275 of file split_merge.h. ◆ show()
show jets/candidates status Definition at line 862 of file split_merge.cpp. References siscone_spherical::CSphjet::contents, siscone_spherical::CSphmomentum::E, jets, siscone_spherical::CSphjet::n, siscone_spherical::CSphtheta_phi_range::phi_range, siscone_spherical::CSph3vector::px, siscone_spherical::CSph3vector::py, siscone_spherical::CSph3vector::pz, siscone_spherical::CSphjet::range, siscone_spherical::CSphjet::sm_var2, siscone_spherical::CSphtheta_phi_range::theta_range, and siscone_spherical::CSphjet::v. Referenced by perform(). ◆ user_scale()
return the user-defined scale (NULL if none) Definition at line 280 of file split_merge.h. Member Data Documentation◆ idx_size
number of elements in indices1 Definition at line 361 of file split_merge.h. ◆ indices
maximal size array for indices works Definition at line 360 of file split_merge.h. Referenced by CSphsplit_merge(), full_clear(), and init_particles(). ◆ jets
list of jets Definition at line 357 of file split_merge.h. Referenced by add_hardest_protocone_to_jets(), siscone_spherical::CSphsiscone::compute_jets_progressive_removal(), partial_clear(), perform(), save_contents(), and show(). ◆ merge_identical_protocones
The following flag indicates that identical protocones are to be merged automatically each time around the split-merge loop and before anything else happens. This flag is only effective if ALLOW_MERGE_IDENTICAL_PROTOCONES is set in 'defines.h' Note that this lead to infrared-unsafety so it is disabled by default Definition at line 371 of file split_merge.h. Referenced by CSphsplit_merge(), and partial_clear(). ◆ most_ambiguous_split
minimal difference in squared distance between a particle and two overlapping protojets when doing a split (useful when testing approx. collinear safety) Definition at line 354 of file split_merge.h. Referenced by partial_clear(). ◆ n
number of particles Definition at line 343 of file split_merge.h. Referenced by init_particles(), and init_pleft(). ◆ n_left
numer of particles that does not belong to any jet Definition at line 346 of file split_merge.h. Referenced by add_hardest_protocone_to_jets(), add_protocones(), siscone_spherical::CSphsiscone::compute_jets(), siscone_spherical::CSphsiscone::compute_jets_progressive_removal(), init_pleft(), and merge_collinear_and_remove_soft(). ◆ n_pass
index of the run Definition at line 349 of file split_merge.h. Referenced by add_hardest_protocone_to_jets(), add_protocones(), and init_pleft(). ◆ p_remain
list of particles remaining to deal with Definition at line 347 of file split_merge.h. Referenced by add_hardest_protocone_to_jets(), add_protocones(), init_pleft(), merge_collinear_and_remove_soft(), and partial_clear(). ◆ p_uncol_hard
list of particles remaining with collinear clustering Definition at line 348 of file split_merge.h. Referenced by siscone_spherical::CSphsiscone::compute_jets(), siscone_spherical::CSphsiscone::compute_jets_progressive_removal(), and merge_collinear_and_remove_soft(). ◆ particles
list of particles Definition at line 344 of file split_merge.h. Referenced by add_hardest_protocone_to_jets(), add_protocones(), CSphsplit_merge(), full_clear(), init_particles(), init_pleft(), perform(), and save_contents(). ◆ particles_norm2
norm^2 of the particle (3-vect part) Definition at line 345 of file split_merge.h. Referenced by CSphsplit_merge(), and init_particles(). ◆ ptcomparison
member used for detailed comparisons of pt's Definition at line 374 of file split_merge.h. Referenced by add_hardest_protocone_to_jets(), siscone_spherical::CSphsiscone::compute_jets(), siscone_spherical::CSphsiscone::compute_jets_progressive_removal(), CSphsplit_merge(), init_particles(), partial_clear(), and siscone_spherical::CSphsiscone::recompute_jets(). ◆ SM_var2_hardest_cut_off
stop split–merge or progressive-removal when the squared SM_var of the hardest protojet is below this cut-off. Note that this is a signed square (ie SM_var*|SM_var|) to be able to handle negative values. Note that the cut-off is set on the variable squared. Definition at line 382 of file split_merge.h. Referenced by CSphsplit_merge(), and perform(). ◆ stable_cone_soft_E2_cutoff
Energy cutoff for the particles to put in p_uncol_hard this is meant to allow removing soft particles in the stable-cone search. This is not collinear-safe so you should not use this variable unless you really know what you are doing Note that the cut-off is set on the variable squared. Definition at line 391 of file split_merge.h. Referenced by CSphsplit_merge(), and merge_collinear_and_remove_soft(). The documentation for this class was generated from the following files:
The SISCone project has been developed by Gavin Salam and Gregory Soyez Documentation generated on Tue Jun 20 2023 18:08:37 for SISCone by Doxygen 1.9.4 |