siscone::Csplit_merge Class Reference

Class used to split and merge jets. More...

#include <split_merge.h>

Inheritance diagram for siscone::Csplit_merge:

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

Collaboration graph
[legend]

List of all members.

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


Detailed Description

Class used to split and merge jets.

Definition at line 171 of file split_merge.h.


Member Function Documentation

int siscone::Csplit_merge::init ( std::vector< Cmomentum > &  _particles,
std::vector< Cmomentum > *  protocones,
double  R2,
double  ptmin = 0.0 
)

initialisation function

Parameters:
_particles list of particles
protocones list of protocones (initial jet candidates)
R2 cone radius (squared)
ptmin minimal pT allowed for jets
Returns:
0 on success, 1 on error

int siscone::Csplit_merge::init_particles ( std::vector< Cmomentum > &  _particles  ) 

initialisation function for particle list

Parameters:
_particles list of particles
Returns:
0 on success, 1 on error

int siscone::Csplit_merge::add_protocones ( std::vector< Cmomentum > *  protocones,
double  R2,
double  ptmin = 0.0 
)

add a list of protocones

Parameters:
protocones list of protocones (initial jet candidates)
R2 cone radius (squared)
ptmin minimal pT allowed for jets
Returns:
0 on success, 1 on error

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.

Parameters:
overlap_tshold threshold for splitting/merging transition
ptmin minimal pT allowed for jets
Returns:
the number of jets is returned

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

Parameters:
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.


Member Data Documentation

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


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 Thu Apr 3 10:22:52 2008 for SISCone by  Doxygen 1.5.5