#include <split_merge.h>


Public Member Functions | |
| Csplit_merge () | |
| default ctor | |
| ~Csplit_merge () | |
| default dtor | |
| int | init (std::vector< Cmomentum > &_particles, std::vector< Cmomentum > *protocones, double R2, double ptmin=0.0) |
| initialisation function | |
| int | init_particles (std::vector< Cmomentum > &_particles) |
| initialisation function for particle list | |
| int | init_pleft () |
| build initial list of left particles | |
| int | partial_clear () |
| partial clearance | |
| int | full_clear () |
| full clearance | |
| int | merge_collinear_and_remove_soft () |
| build the list 'p_uncol_hard' from p_remain by clustering collinear particles and removing particles softer than stable_cone_soft_pt2_cutoff note that thins in only used for stable-cone detection so the parent_index field is unnecessary | |
| int | add_protocones (std::vector< Cmomentum > *protocones, double R2, double ptmin=0.0) |
| add a list of protocones | |
| int | perform (double overlap_tshold, double ptmin=0.0) |
| really do the splitting and merging At the end, the vector jets is filled with the jets found. | |
| int | save_contents (FILE *flux) |
| save final jets | |
| int | show () |
| show jets/candidates status | |
Public Attributes | |
| int | n |
| number of particles | |
| std::vector< Cmomentum > | particles |
| list of particles | |
| std::vector< double > | pt |
| list of particles' pt | |
| int | n_left |
| numer of particles that does not belong to any jet | |
| std::vector< Cmomentum > | p_remain |
| list of particles remaining to deal with | |
| std::vector< Cmomentum > | p_uncol_hard |
| list of particles remaining with collinear clustering | |
| int | n_pass |
| index of the run | |
| double | most_ambiguous_split |
| minimal difference in squared distance between a particle and two overlapping protojets when doing a split (useful when testing approx. | |
| std::vector< Cjet > | jets |
| list of jets | |
| int * | indices |
| maximal size array for indices works | |
| int | idx_size |
| number of elements in indices1 | |
| bool | 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. | |
| Csplit_merge_ptcomparison | ptcomparison |
| member used for detailed comparisons of pt's | |
| double | SM_var2_hardest_cut_off |
| stop split--merge when the SM_var of the hardest protojet is below this cut-off. | |
| double | stable_cone_soft_pt2_cutoff |
| pt cutoff for the particles to put in p_uncol_hard this is meant to allow removing soft particles in the stable-cone search. | |
Definition at line 171 of file split_merge.h.
| int siscone::Csplit_merge::init | ( | std::vector< Cmomentum > & | _particles, | |
| std::vector< Cmomentum > * | protocones, | |||
| double | R2, | |||
| double | ptmin = 0.0 | |||
| ) |
initialisation function
| _particles | list of particles | |
| protocones | list of protocones (initial jet candidates) | |
| R2 | cone radius (squared) | |
| ptmin | minimal pT allowed for jets |
| int siscone::Csplit_merge::init_particles | ( | std::vector< Cmomentum > & | _particles | ) |
initialisation function for particle list
| _particles | list of particles |
| int siscone::Csplit_merge::add_protocones | ( | std::vector< Cmomentum > * | protocones, | |
| double | R2, | |||
| double | ptmin = 0.0 | |||
| ) |
add a list of protocones
| protocones | list of protocones (initial jet candidates) | |
| R2 | cone radius (squared) | |
| ptmin | minimal pT allowed for jets |
Referenced by siscone::Csiscone::recompute_jets().
| int siscone::Csplit_merge::perform | ( | double | overlap_tshold, | |
| double | ptmin = 0.0 | |||
| ) |
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.
| overlap_tshold | threshold for splitting/merging transition | |
| ptmin | minimal pT allowed for jets |
Definition at line 562 of file split_merge.cpp.
References jets, particles, show(), and SM_var2_hardest_cut_off.
Referenced by siscone::Csiscone::recompute_jets().
| int siscone::Csplit_merge::save_contents | ( | FILE * | flux | ) |
save final jets
| flux | stream to save the jet contentss |
Definition at line 675 of file split_merge.cpp.
References siscone::Cmomentum::build_etaphi(), siscone::Cjet::contents, siscone::Cmomentum::eta, jets, siscone::Cjet::n, particles, siscone::Cmomentum::perp(), siscone::Cmomentum::phi, and siscone::Cjet::v.
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 275 of file split_merge.h.
Referenced by partial_clear().
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 292 of file split_merge.h.
Referenced by Csplit_merge(), and partial_clear().
stop split--merge when the SM_var of the hardest protojet is below this cut-off.
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 302 of file split_merge.h.
Referenced by Csplit_merge(), and perform().
pt cutoff for the particles to put in p_uncol_hard this is meant to allow removing soft particles in the stable-cone search.
Definition at line 307 of file split_merge.h.
Referenced by Csplit_merge(), and merge_collinear_and_remove_soft().