126 int _n_pass_max, Esplit_merge_scale _split_merge_scale,
129 vector<Cmomentum> all_particles;
142 int n_hard = _particles.size();
143 all_particles = _particles;
147 double eta_g,phi_g,pt_g;
154 all_particles.push_back(
Cmomentum(pt_g*cos(phi_g),pt_g*sin(phi_g),pt_g*sinh(eta_g),pt_g*cosh(eta_g)));
161 int n_jets =
compute_jets(all_particles, _radius, _f, _n_pass_max, 0.0, _split_merge_scale);
170 for (i=0;i<(int)
jets.size();i++){
173 while ((j<
jets[i].
n) && (
jets[i].contents[j]<n_hard)) j++;
183 for (i=0;i<(int)
jets.size();i++){
185 while ((j<
jets[i].
n) && (
jets[i].contents[j]<n_hard)) j++;
218 int _n_pass_max, Esplit_merge_scale _split_merge_scale){
220 vector<Cmomentum> all_particles;
232 int n_hard = _particles.size();
233 all_particles = _particles;
237 double eta_g,phi_g,pt_g;
244 all_particles.push_back(
Cmomentum(pt_g*cos(phi_g),pt_g*sin(phi_g),pt_g*sinh(eta_g),pt_g*cosh(eta_g)));
259 for (i=0;i<(int)
jets.size();i++){
261 while ((j<
jets[i].
n) && (
jets[i].contents[j]<n_hard)) j++;
292 int _n_pass_max, Esplit_merge_scale _split_merge_scale,
295 vector<Cmomentum> all_particles;
308 int n_hard = _particles.size();
309 all_particles = _particles;
313 double eta_g,phi_g,pt_g;
320 all_particles.push_back(
Cmomentum(pt_g*cos(phi_g),pt_g*sin(phi_g),pt_g*sinh(eta_g),pt_g*cosh(eta_g)));
327 int n_jets =
compute_jets(all_particles, _radius, _f, _n_pass_max, 0.0, _split_merge_scale);
336 for (i=0;i<(int)
jets.size();i++){
339 while ((j<
jets[i].
n) && (
jets[i].contents[j]<n_hard)) j++;
int grid_size
size of the grid we add soft particles on (N_soft=(grid_size^2))
double pt_soft
pt of the soft particles added
double grid_eta_max
maximal value of eta we add soft particles on
double grid_shift
fractional (random) displacement of the points om the grid
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.
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.
double pt_soft_min
pt_min used in SM to compute passive areas
std::vector< Cjet_area > jet_areas
jets with their areas
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.
double pt_shift
amplitude of the pt random shift
double passive_area
passive area
double active_area
active area
double pt_tilde
p-scheme pt
double sm_var2
ordering variable used for ordering and overlap in the split–merge.
int n
number of particles inside
int pass
pass at which the jet has been found It starts at 0 (first pass), -1 means infinite rapidity (it will...
std::vector< int > contents
particle contents (list of indices)
base class for dynamic coordinates management
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.
double SM_var2_hardest_cut_off
stop split–merge or progressive-removal when the squared SM_var of the hardest protojet is below this...
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 ...
std::vector< Cjet > jets
list of jets
const double twopi
definition of 2*M_PI which is useful a bit everyhere!