SISCone  2.0.6
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
siscone::Csiscone Class Reference

final class: gather everything to compute the jet contents. More...

#include <siscone.h>

Inheritance diagram for siscone::Csiscone:
Inheritance graph
[legend]
Collaboration diagram for siscone::Csiscone:
Collaboration graph
[legend]

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.
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.
- Public Member Functions inherited from siscone::Cstable_cones
 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
int get_stable_cones (double _radius)
 compute stable cones.
- Public Member Functions inherited from siscone::Cvicinity
 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
void build (Cmomentum *_parent, double _VR)
 build the vicinity list from the list of points.
- Public Member Functions inherited from siscone::Csplit_merge
 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 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.
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

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).
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
- Public Attributes inherited from siscone::Cstable_cones
std::vector< Cmomentumprotocones
 list of stable cones
hash_coneshc
 list of candidates
int nb_tot
 total number of tested cones
- Public Attributes inherited from siscone::Cvicinity
Cmomentumparent
 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< Cmomentumplist
 the list of particles
std::vector< Cvicinity_inclusionpincluded
 the inclusion state of particles
Cvicinity_elmve_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
- Public Attributes inherited from siscone::Csplit_merge
int n
 number of particles
std::vector< Cmomentumparticles
 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< Cmomentump_remain
 list of particles remaining to deal with
std::vector< Cmomentump_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< Cjetjets
 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.

Static Public Attributes

static bool init_done = false
 check random generator initialisation

Additional Inherited Members

- Protected Member Functions inherited from siscone::Cvicinity
void append_to_vicinity (Cmomentum *v)
 append a particle to the 'vicinity' list after having tested it and computed the angular-ordering quantities
- Protected Attributes inherited from siscone::Cstable_cones
double R
 cone radius
double R2
 cone radius SQUARED

Detailed Description

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.

Definition at line 48 of file siscone.h.

Member Function Documentation

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).

Parameters
_particleslist of particles
_radiuscone radius
_fshared energy threshold for splitting&merging
_n_pass_maxmaximum number of passes (0=full search)
_ptminminimum pT of the protojets
_split_merge_scalethe 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)
Returns
the number of jets found.

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.

Parameters
_fshared energy threshold for splitting&merging
_ptminminimum pT of the protojets
_split_merge_scalethe 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.
Returns
the number of jets found, -1 if recomputation not allowed.

Definition at line 187 of file siscone.cpp.

static void siscone::Csiscone::set_banner_stream ( std::ostream *  ostr)
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.

Definition at line 116 of file siscone.h.


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 Mon May 6 2013 04:18:17 for SISCone by  Doxygen 1.8.1.2