SISCone
2.0.6
|
final class: gather everything to compute the jet contents. More...
#include <siscone.h>
Public Member Functions | |
Csiscone () | |
default ctor | |
~Csiscone () | |
default dtor | |
int | compute_jets (std::vector< Cmomentum > &_particles, double _radius, double _f, int _n_pass_max=0, double _ptmin=0.0, Esplit_merge_scale _split_merge_scale=SM_pttilde) |
compute the jets from a given particle set. More... | |
int | recompute_jets (double _f, double _ptmin=0.0, Esplit_merge_scale _split_merge_scale=SM_pttilde) |
recompute the jets with a different overlap parameter. More... | |
![]() | |
Cstable_cones () | |
default ctor | |
Cstable_cones (std::vector< Cmomentum > &_particle_list) | |
ctor with initialisation (sse init for details) | |
~Cstable_cones () | |
default dtor | |
void | init (std::vector< Cmomentum > &_particle_list) |
initialisation More... | |
int | get_stable_cones (double _radius) |
compute stable cones. More... | |
![]() | |
Cvicinity () | |
default constructor | |
Cvicinity (std::vector< Cmomentum > &_particle_list) | |
constructor with initialisation (see set_particle_list) | |
~Cvicinity () | |
default destructor | |
void | set_particle_list (std::vector< Cmomentum > &_particle_list) |
set the particle_list More... | |
void | build (Cmomentum *_parent, double _VR) |
build the vicinity list from the list of points. More... | |
![]() | |
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 More... | |
int | init_particles (std::vector< Cmomentum > &_particles) |
initialisation function for particle list More... | |
int | init_pleft () |
build initial list of left particles More... | |
int | set_pt_weighted_splitting (bool _use_pt_weighted_splitting) |
use a pt-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 | |
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 More... | |
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. More... | |
int | save_contents (FILE *flux) |
save final jets More... | |
int | show () |
show jets/candidates status | |
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) | |
Public Attributes | |
std::vector< std::vector < Cmomentum > > | protocones_list |
list of protocones found pass-by-pass | |
![]() | |
std::vector< Cmomentum > | protocones |
list of stable cones | |
hash_cones * | hc |
list of candidates | |
int | nb_tot |
total number of tested cones | |
![]() | |
Cmomentum * | parent |
parent vector | |
double | VR |
radius of the vicinity | |
double | VR2 |
squared radius of the vicinity | |
double | R |
normal radius | |
double | R2 |
squared normal radius | |
double | inv_R_EPS_COCIRC |
R / EPSILON_COCIRCULAR. | |
double | inv_R_2EPS_COCIRC |
R / (2*EPSILON_COCIRCULAR) | |
int | n_part |
number of particles | |
std::vector< Cmomentum > | plist |
the list of particles | |
std::vector< Cvicinity_inclusion > | pincluded |
the inclusion state of particles | |
Cvicinity_elm * | ve_list |
list of vicinity elements built from particle list (size=2*n) | |
std::vector< Cvicinity_elm * > | vicinity |
list of points in parent's vicinity | |
unsigned int | vicinity_size |
number of elements in vicinity | |
![]() | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
Static Public Attributes | |
static bool | init_done =false |
check random generator initialisation | |
Additional Inherited Members | |
![]() | |
void | append_to_vicinity (Cmomentum *v) |
append a particle to the 'vicinity' list after having tested it and computed the angular-ordering quantities More... | |
![]() | |
double | R |
cone radius | |
double | R2 |
cone radius SQUARED | |
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.
int siscone::Csiscone::compute_jets | ( | std::vector< Cmomentum > & | _particles, |
double | _radius, | ||
double | _f, | ||
int | _n_pass_max = 0 , |
||
double | _ptmin = 0.0 , |
||
Esplit_merge_scale | _split_merge_scale = SM_pttilde |
||
) |
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) |
_ptmin | minimum pT of the protojets |
_split_merge_scale | the scale choice for the split-merge procedure NOTE: SM_pt leads to IR unsafety for some events with momentum conservation. SM_Et is IR safe but not boost invariant and not implemented(!) SM_mt is IR safe for hadronic events, but not for decays of two back-to-back particles of identical mass SM_pttilde is always IR safe, and also boost invariant (default) |
Definition at line 86 of file siscone.cpp.
References siscone::Cstable_cones::init().
int siscone::Csiscone::recompute_jets | ( | double | _f, |
double | _ptmin = 0.0 , |
||
Esplit_merge_scale | _split_merge_scale = SM_pttilde |
||
) |
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 |
_ptmin | minimum pT 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 187 of file siscone.cpp.
|
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.