SISCone 3.0.5
|
final class: gather everything to compute the jet contents. More...
#include <siscone.h>
Public Member Functions | |
CSphsiscone () | |
default ctor More... | |
~CSphsiscone () | |
default dtor More... | |
int | compute_jets (std::vector< CSphmomentum > &_particles, double _radius, double _f, int _n_pass_max=0, double _Emin=0.0, Esplit_merge_scale _split_merge_scale=SM_Etilde) |
compute the jets from a given particle set. More... | |
int | compute_jets_progressive_removal (std::vector< CSphmomentum > &_particles, double _radius, int _n_pass_max=0, double _Emin=0.0, Esplit_merge_scale _ordering_scale=SM_Etilde) |
compute the jets from a given particle set. More... | |
int | recompute_jets (double _f, double _Emin=0.0, Esplit_merge_scale _split_merge_scale=SM_Etilde) |
recompute the jets with a different overlap parameter. More... | |
![]() | |
CSphstable_cones () | |
default ctor More... | |
CSphstable_cones (std::vector< CSphmomentum > &_particle_list) | |
ctor with initialisation (sse init for details) | |
~CSphstable_cones () | |
default dtor More... | |
void | init (std::vector< CSphmomentum > &_particle_list) |
initialisation More... | |
int | get_stable_cones (double _radius) |
compute stable cones. More... | |
![]() | |
CSphvicinity () | |
default constructor More... | |
CSphvicinity (std::vector< CSphmomentum > &_particle_list) | |
constructor with initialisation (see set_particle_list) | |
~CSphvicinity () | |
default destructor More... | |
void | set_particle_list (std::vector< CSphmomentum > &_particle_list) |
set the particle_list More... | |
void | build (CSphmomentum *_parent, double _VR) |
build the vicinity list from the list of points. More... | |
![]() | |
CSphsplit_merge () | |
default ctor More... | |
~CSphsplit_merge () | |
default dtor More... | |
int | init (std::vector< CSphmomentum > &_particles, std::vector< CSphmomentum > *protocones, double R2, double Emin=0.0) |
initialisation function More... | |
int | init_particles (std::vector< CSphmomentum > &_particles) |
initialisation function for particle list More... | |
int | init_pleft () |
build initial list of left particles More... | |
int | set_E_weighted_splitting (bool _use_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. More... | |
int | partial_clear () |
partial clearance More... | |
int | full_clear () |
full clearance More... | |
void | set_user_scale (const Cuser_scale_base *user_scale_in) |
associate a user-defined scale to order the stable cones More... | |
const Cuser_scale_base * | user_scale () const |
return the user-defined scale (NULL if none) More... | |
int | 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 More... | |
int | add_protocones (std::vector< CSphmomentum > *protocones, double R2, double Emin=0.0) |
add a list of protocones More... | |
int | add_hardest_protocone_to_jets (std::vector< CSphmomentum > *protocones, double R2, double Emin=0.0) |
remove the hardest protocone and declare it a a jet More... | |
int | perform (double overlap_tshold, double Emin=0.0) |
really do the splitting and merging At the end, the vector jets is filled with the jets found. More... | |
int | save_contents (FILE *flux) |
save final jets More... | |
int | show () |
show jets/candidates status More... | |
Static Public Member Functions | |
static void | set_banner_stream (std::ostream *ostr) |
A call to this function modifies the stream used to print banners (by default cout). More... | |
static std::ostream * | banner_stream () |
returns a pointer to the stream to be used to print banners (cout by default) More... | |
Public Attributes | |
std::vector< std::vector< CSphmomentum > > | protocones_list |
list of protocones found pass-by-pass More... | |
![]() | |
std::vector< CSphmomentum > | protocones |
list of stable cones More... | |
sph_hash_cones * | hc |
list of candidates More... | |
int | nb_tot |
total number of tested cones More... | |
![]() | |
CSphmomentum * | parent |
parent vector More... | |
double | VR |
radius of the vicinity More... | |
double | VR2 |
squared radius of the vicinity More... | |
double | cosVR |
cosine of the radius of the vicinity More... | |
double | R |
normal radius More... | |
double | R2 |
squared normal radius More... | |
double | tan2R |
squared tangent of the normal radius More... | |
double | D2_R |
euclidian distance (squared) corresp. to the arc R More... | |
double | inv_R_EPS_COCIRC |
R / EPSILON_COCIRCULAR. More... | |
double | inv_R_2EPS_COCIRC |
R / (2*EPSILON_COCIRCULAR) More... | |
int | n_part |
number of particles More... | |
std::vector< CSphmomentum > | plist |
the list of particles More... | |
std::vector< siscone::Cvicinity_inclusion > | pincluded |
the inclusion state of particles More... | |
CSphvicinity_elm * | ve_list |
list of vicinity elements built from particle list (size=2*n) More... | |
std::vector< CSphvicinity_elm * > | vicinity |
list of points in parent's vicinity More... | |
unsigned int | vicinity_size |
number of elements in vicinity More... | |
![]() | |
int | n |
number of particles More... | |
std::vector< CSphmomentum > | particles |
list of particles More... | |
std::vector< double > | particles_norm2 |
norm^2 of the particle (3-vect part) More... | |
int | n_left |
numer of particles that does not belong to any jet More... | |
std::vector< CSphmomentum > | p_remain |
list of particles remaining to deal with More... | |
std::vector< CSphmomentum > | p_uncol_hard |
list of particles remaining with collinear clustering More... | |
int | n_pass |
index of the run More... | |
double | most_ambiguous_split |
minimal difference in squared distance between a particle and two overlapping protojets when doing a split (useful when testing approx. More... | |
std::vector< CSphjet > | jets |
list of jets More... | |
int * | indices |
maximal size array for indices works More... | |
int | idx_size |
number of elements in indices1 More... | |
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. More... | |
CSphsplit_merge_ptcomparison | ptcomparison |
member used for detailed comparisons of pt's More... | |
double | 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. More... | |
double | 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. More... | |
Static Public Attributes | |
static bool | init_done =false |
check random generator initialisation More... | |
Additional Inherited Members | |
![]() | |
void | append_to_vicinity (CSphmomentum *v) |
append a particle to the 'vicinity' list after having tested it and computed the angular-ordering quantities More... | |
![]() | |
double | R |
cone radius More... | |
double | R2 |
cone radius SQUARED More... | |
double | tan2R |
squared tangent of the cone radius More... | |
![]() | |
CSph3vector | parent_centre |
parent centre More... | |
CSph3vector | angular_dir1 |
main direction to measure angles More... | |
CSph3vector | angular_dir2 |
second direction to measure angles (sign) More... | |
final class: gather everything to compute the jet contents.
This is the class user should use. It computes the jet contents of a list of particles given a cone radius and a threshold for splitting/merging.
After the call to 'perform', 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.
siscone_spherical::CSphsiscone::CSphsiscone | ( | ) |
default ctor
Definition at line 53 of file siscone.cpp.
siscone_spherical::CSphsiscone::~CSphsiscone | ( | ) |
default dtor
Definition at line 59 of file siscone.cpp.
|
inlinestatic |
int siscone_spherical::CSphsiscone::compute_jets | ( | std::vector< CSphmomentum > & | _particles, |
double | _radius, | ||
double | _f, | ||
int | _n_pass_max = 0 , |
||
double | _Emin = 0.0 , |
||
Esplit_merge_scale | _split_merge_scale = SM_Etilde |
||
) |
compute the jets from a given particle set.
We are doing multiple passes such pass n_pass looks for jets among all particles not put into jets during previous passes. By default the number of passes is infinite (0).
_particles | list of particles |
_radius | cone radius |
_f | shared energy threshold for splitting&merging |
_n_pass_max | maximum number of passes (0=full search) |
_Emin | minimum energy of the protojets |
_split_merge_scale | the scale choice for the split-merge procedure NOTE: SM_Etilde is always IR safe SM_E is IR unsafe for events with mom. conservation |
Definition at line 81 of file siscone.cpp.
References siscone_spherical::CSphsplit_merge::add_protocones(), siscone_spherical::CSphstable_cones::get_stable_cones(), siscone_spherical::CSphstable_cones::init(), siscone_spherical::CSphsplit_merge::init_particles(), siscone_spherical::CSphsplit_merge::n_left, siscone_spherical::CSphsplit_merge::p_uncol_hard, siscone_spherical::CSphsplit_merge::partial_clear(), siscone_spherical::CSphsplit_merge::perform(), siscone_spherical::CSphstable_cones::protocones, protocones_list, siscone_spherical::CSphsplit_merge::ptcomparison, siscone_spherical::CSphstable_cones::R2, and siscone_spherical::CSphsplit_merge_ptcomparison::split_merge_scale.
int siscone_spherical::CSphsiscone::compute_jets_progressive_removal | ( | std::vector< CSphmomentum > & | _particles, |
double | _radius, | ||
int | _n_pass_max = 0 , |
||
double | _Emin = 0.0 , |
||
Esplit_merge_scale | _ordering_scale = SM_Etilde |
||
) |
compute the jets from a given particle set.
We are doing multiple passes such pass n_pass looks for jets among all particles not put into jets during previous passes. By default the number of passes is infinite (0).
_particles | list of particles |
_radius | cone radius |
_n_pass_max | maximum number of passes (0=full search) |
_Emin | minimum energy of the protojets |
_ordering_scale | the ordering scale to decide which stable cone is removed |
Definition at line 156 of file siscone.cpp.
References siscone_spherical::CSphsplit_merge::add_hardest_protocone_to_jets(), siscone_spherical::CSphstable_cones::get_stable_cones(), siscone_spherical::CSphstable_cones::init(), siscone_spherical::CSphsplit_merge::init_particles(), siscone_spherical::CSphsplit_merge::jets, siscone_spherical::CSphsplit_merge::n_left, siscone_spherical::CSphsplit_merge::p_uncol_hard, siscone_spherical::CSphsplit_merge::partial_clear(), siscone_spherical::CSphstable_cones::protocones, protocones_list, siscone_spherical::CSphsplit_merge::ptcomparison, siscone_spherical::CSphstable_cones::R2, and siscone_spherical::CSphsplit_merge_ptcomparison::split_merge_scale.
int siscone_spherical::CSphsiscone::recompute_jets | ( | double | _f, |
double | _Emin = 0.0 , |
||
Esplit_merge_scale | _split_merge_scale = SM_Etilde |
||
) |
recompute the jets with a different overlap parameter.
we use the same particles and R as in the preceeding call.
_f | shared energy threshold for splitting&merging |
_Emin | minimum energy of the protojets |
_split_merge_scale | the scale choice for the split-merge procedure split–merge variable NOTE: using pt leads to IR unsafety for some events with momentum conservation. So we strongly advise not to change the default value. |
Definition at line 215 of file siscone.cpp.
References siscone_spherical::CSphsplit_merge::add_protocones(), siscone_spherical::CSphsplit_merge::init_pleft(), siscone_spherical::CSphsplit_merge::partial_clear(), siscone_spherical::CSphsplit_merge::perform(), protocones_list, siscone_spherical::CSphsplit_merge::ptcomparison, siscone_spherical::CSphstable_cones::R2, and siscone_spherical::CSphsplit_merge_ptcomparison::split_merge_scale.
|
inlinestatic |
A call to this function modifies the stream used to print banners (by default cout).
Please note that if you distribute 3rd party code that links with SISCone, that 3rd party code must not use this call turn off the printing of thw banner by default. This requirement reflects the spirit of clause 2c of the GNU Public License (v2), under which SISCone is distributed.
|
static |
std::vector<std::vector<CSphmomentum> > siscone_spherical::CSphsiscone::protocones_list |
list of protocones found pass-by-pass
Definition at line 114 of file siscone.h.
Referenced by compute_jets(), compute_jets_progressive_removal(), and recompute_jets().