siscone is hosted by Hepforge, IPPP Durham

The SISCone Jet Algorithm

Version 3.0.6



SISCone 3.0.6

class for the computation of jet areas. More...

#include <area.h>

Inheritance diagram for siscone::Carea:
Collaboration diagram for siscone::Carea:

Public Member Functions

 Carea ()
 default ctor More...
 
 ~Carea ()
 default dtor More...
 
int compute_areas (std::vector< Cmomentum > &_particles, double _radius, double _f, int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde, bool _hard_only=false)
 compute the jet areas from a given particle set. More...
 
int compute_active_areas (std::vector< Cmomentum > &_particles, double _radius, double _f, int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde, bool _hard_only=false)
 compute the jet active areas from a given particle set. More...
 
int compute_passive_areas (std::vector< Cmomentum > &_particles, double _radius, double _f, int _n_pass_max=0, Esplit_merge_scale _split_merge_scale=SM_pttilde)
 compute the jet passive areas from a given particle set. More...
 
- Public Member Functions inherited from siscone::Csiscone
 Csiscone ()
 default ctor More...
 
 ~Csiscone ()
 default dtor More...
 
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 compute_jets_progressive_removal (std::vector< Cmomentum > &_particles, double _radius, int _n_pass_max=0, double _ptmin=0.0, Esplit_merge_scale _ordering_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...
 
- Public Member Functions inherited from siscone::Cstable_cones
 Cstable_cones ()
 default ctor More...
 
 Cstable_cones (std::vector< Cmomentum > &_particle_list)
 ctor with initialisation (sse init for details)
 
 ~Cstable_cones ()
 default dtor More...
 
void init (std::vector< Cmomentum > &_particle_list)
 initialisation More...
 
int get_stable_cones (double _radius)
 compute stable cones. More...
 
- Public Member Functions inherited from siscone::Cvicinity
 Cvicinity ()
 default constructor More...
 
 Cvicinity (std::vector< Cmomentum > &_particle_list)
 constructor with initialisation (see set_particle_list)
 
 ~Cvicinity ()
 default destructor More...
 
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...
 
- Public Member Functions inherited from siscone::Csplit_merge
 Csplit_merge ()
 default ctor More...
 
 ~Csplit_merge ()
 default dtor More...
 
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 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_baseuser_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 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 More...
 
int add_protocones (std::vector< Cmomentum > *protocones, double R2, double ptmin=0.0)
 add a list of protocones More...
 
int add_hardest_protocone_to_jets (std::vector< Cmomentum > *protocones, double R2, double ptmin=0.0)
 remove the hardest protocone and declare it a jet 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 More...
 

Public Attributes

int grid_size
 size of the grid we add soft particles on (N_soft=(grid_size^2)) More...
 
double grid_eta_max
 maximal value of eta we add soft particles on More...
 
double grid_shift
 fractional (random) displacement of the points om the grid More...
 
double pt_soft
 pt of the soft particles added More...
 
double pt_shift
 amplitude of the pt random shift More...
 
double pt_soft_min
 pt_min used in SM to compute passive areas More...
 
std::vector< Cjet_areajet_areas
 jets with their areas More...
 
- Public Attributes inherited from siscone::Csiscone
std::vector< std::vector< Cmomentum > > protocones_list
 list of protocones found pass-by-pass (not filled by compute_jets_progressive_removal) More...
 
- Public Attributes inherited from siscone::Cstable_cones
std::vector< Cmomentumprotocones
 list of stable cones More...
 
hash_coneshc
 list of candidates More...
 
int nb_tot
 total number of tested cones More...
 
- Public Attributes inherited from siscone::Cvicinity
Cmomentumparent
 parent vector More...
 
double VR
 radius of the vicinity More...
 
double VR2
 squared radius of the vicinity More...
 
double R
 normal radius More...
 
double R2
 squared normal radius 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< Cmomentumplist
 the list of particles More...
 
std::vector< Cvicinity_inclusionpincluded
 the inclusion state of particles More...
 
Cvicinity_elmve_list
 list of vicinity elements built from particle list (size=2*n) More...
 
std::vector< Cvicinity_elm * > vicinity
 list of points in parent's vicinity More...
 
unsigned int vicinity_size
 number of elements in vicinity More...
 
- Public Attributes inherited from siscone::Csplit_merge
int n
 number of particles More...
 
std::vector< Cmomentumparticles
 list of particles More...
 
std::vector< double > pt
 list of particles' pt More...
 
int n_left
 numer of particles that does not belong to any jet More...
 
std::vector< Cmomentump_remain
 list of particles remaining to deal with More...
 
std::vector< Cmomentump_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< Cjetjets
 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...
 
Csplit_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_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...
 

Additional Inherited Members

- Static Public Member Functions inherited from siscone::Csiscone
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...
 
- Static Public Attributes inherited from siscone::Csiscone
static bool init_done =false
 check random generator initialisation More...
 
- 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 More...
 
- Protected Attributes inherited from siscone::Cstable_cones
double R
 cone radius More...
 
double R2
 cone radius SQUARED More...
 
- Protected Attributes inherited from siscone::Cvicinity
double pcx
 parent centre (eta) More...
 
double pcy
 parent centre (phi) More...
 

Detailed Description

class for the computation of jet areas.

This is the class user should use whenever you want to compute the jet area (passive and active). . It uses the SISCone algorithm to perform the jet analysis.

Definition at line 72 of file area.h.

Constructor & Destructor Documentation

◆ Carea()

siscone::Carea::Carea ( )

default ctor

Definition at line 88 of file area.cpp.

References grid_eta_max, grid_shift, grid_size, pt_shift, pt_soft, and pt_soft_min.

◆ ~Carea()

siscone::Carea::~Carea ( )

default dtor

Definition at line 100 of file area.cpp.

Member Function Documentation

◆ compute_active_areas()

int siscone::Carea::compute_active_areas ( std::vector< Cmomentum > &  _particles,
double  _radius,
double  _f,
int  _n_pass_max = 0,
Esplit_merge_scale  _split_merge_scale = SM_pttilde,
bool  _hard_only = false 
)

compute the jet active areas from a given particle set.

The parameters of this method are the ones which control the jet clustering alghorithn. Note that the pt_min is not allowed here soince the jet-area determination involves soft particles/jets and thus is used internally. See compute_areas for paramters definition.

Returns
the number of jets (including pure-ghost ones if they are included)

Definition at line 291 of file area.cpp.

References siscone::Csiscone::compute_jets(), grid_eta_max, grid_shift, grid_size, jet_areas, siscone::Csplit_merge::jets, siscone::Csplit_merge::n, pt_shift, pt_soft, pt_soft_min, siscone::Csplit_merge::SM_var2_hardest_cut_off, and twopi.

◆ compute_areas()

int siscone::Carea::compute_areas ( std::vector< Cmomentum > &  _particles,
double  _radius,
double  _f,
int  _n_pass_max = 0,
Esplit_merge_scale  _split_merge_scale = SM_pttilde,
bool  _hard_only = false 
)

compute the jet areas from a given particle set.

The parameters of this method are the ones which control the jet clustering alghorithn. Note that the pt_min is not allowed here soince the jet-area determination involves soft particles/jets and thus is used internally.

Parameters
_particleslist of particles
_radiuscone radius
_fshared energy threshold for splitting&merging
_n_pass_maxmaximum number of passes (0=full search, the default)
_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)
_hard_onlywhen this is set on, only hard jets are computed and not the purely ghosted jets (default: false)
Returns
the number of jets (including pure-ghost ones if they are included)

Definition at line 125 of file area.cpp.

References siscone::Csiscone::compute_jets(), grid_eta_max, grid_shift, grid_size, jet_areas, siscone::Csplit_merge::jets, siscone::Csplit_merge::n, pt_shift, pt_soft, pt_soft_min, siscone::Csiscone::recompute_jets(), siscone::Csplit_merge::SM_var2_hardest_cut_off, and twopi.

◆ compute_passive_areas()

int siscone::Carea::compute_passive_areas ( std::vector< Cmomentum > &  _particles,
double  _radius,
double  _f,
int  _n_pass_max = 0,
Esplit_merge_scale  _split_merge_scale = SM_pttilde 
)

compute the jet passive areas from a given particle set.

The parameters of this method are the ones which control the jet clustering alghorithn. Note that the pt_min is not allowed here soince the jet-area determination involves soft particles/jets and thus is used internally. See compute_areas for paramters definition.

Definition at line 217 of file area.cpp.

References siscone::Csiscone::compute_jets(), grid_eta_max, grid_shift, grid_size, jet_areas, siscone::Csplit_merge::jets, siscone::Csplit_merge::n, pt_shift, pt_soft, pt_soft_min, siscone::Csplit_merge::stable_cone_soft_pt2_cutoff, and twopi.

Member Data Documentation

◆ grid_eta_max

double siscone::Carea::grid_eta_max

maximal value of eta we add soft particles on

Definition at line 127 of file area.h.

Referenced by Carea(), compute_active_areas(), compute_areas(), and compute_passive_areas().

◆ grid_shift

double siscone::Carea::grid_shift

fractional (random) displacement of the points om the grid

Definition at line 128 of file area.h.

Referenced by Carea(), compute_active_areas(), compute_areas(), and compute_passive_areas().

◆ grid_size

int siscone::Carea::grid_size

size of the grid we add soft particles on (N_soft=(grid_size^2))

Definition at line 126 of file area.h.

Referenced by Carea(), compute_active_areas(), compute_areas(), and compute_passive_areas().

◆ jet_areas

std::vector<Cjet_area> siscone::Carea::jet_areas

jets with their areas

Definition at line 135 of file area.h.

Referenced by compute_active_areas(), compute_areas(), and compute_passive_areas().

◆ pt_shift

double siscone::Carea::pt_shift

amplitude of the pt random shift

Definition at line 131 of file area.h.

Referenced by Carea(), compute_active_areas(), compute_areas(), and compute_passive_areas().

◆ pt_soft

double siscone::Carea::pt_soft

pt of the soft particles added

Definition at line 130 of file area.h.

Referenced by Carea(), compute_active_areas(), compute_areas(), and compute_passive_areas().

◆ pt_soft_min

double siscone::Carea::pt_soft_min

pt_min used in SM to compute passive areas

Definition at line 132 of file area.h.

Referenced by Carea(), compute_active_areas(), compute_areas(), and compute_passive_areas().


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