1#ifndef __SISCONEPLUGIN_HH__ 
    2#define __SISCONEPLUGIN_HH__ 
    4#include "SISConeBasePlugin.hh" 
   13FASTJET_BEGIN_NAMESPACE      
 
   98                 double overlap_threshold_in,
 
   99                 int    n_pass_max_in = 0,
 
  100                 double protojet_ptmin_in = 0.0, 
 
  101                 bool   caching_in = 
false,
 
  103                 double split_merge_stopping_scale_in = 0.0){
 
  104    _cone_radius           = cone_radius_in;
 
  105    _overlap_threshold     = overlap_threshold_in;
 
  106    _n_pass_max            = n_pass_max_in;
 
  107    _protojet_ptmin        = protojet_ptmin_in;
 
  108    _caching               = caching_in;   
 
  109    _split_merge_scale     = split_merge_scale_in;
 
  110    _split_merge_stopping_scale = split_merge_stopping_scale_in;
 
  111    _ghost_sep_scale       = 0.0;
 
  112    _use_pt_weighted_splitting = 
false;
 
  118                 double overlap_threshold_in,
 
  120                 double protojet_ptmin_in, 
 
  122                 bool   split_merge_on_transverse_mass_in){
 
  123    _cone_radius           = cone_radius_in;
 
  124    _overlap_threshold     = overlap_threshold_in;
 
  125    _n_pass_max            = n_pass_max_in;
 
  126    _protojet_ptmin        = protojet_ptmin_in;
 
  127    _caching               = caching_in;
 
  128    _split_merge_stopping_scale = 0.0;
 
  129    _split_merge_scale     = split_merge_on_transverse_mass_in ? SM_mt : SM_pttilde;
 
  130    _ghost_sep_scale       = 0.0;
 
  136                 double overlap_threshold_in,
 
  139    _cone_radius           = cone_radius_in;
 
  140    _overlap_threshold     = overlap_threshold_in;
 
  141    _n_pass_max            = n_pass_max_in;
 
  142    _protojet_ptmin        = 0.0;
 
  143    _caching               = caching_in;   
 
  144    _split_merge_scale     = SM_mt;
 
  145    _split_merge_stopping_scale = 0.0;
 
  146    _ghost_sep_scale       = 0.0;
 
  147    _use_pt_weighted_splitting = 
false;
 
  169  void set_split_merge_on_transverse_mass(
bool val) {
 
  170    _split_merge_scale = val  ? SM_mt : SM_pt;}
 
  175  void set_split_merge_use_pt_weighted_splitting(
bool val) {
 
  176    _use_pt_weighted_splitting = val;}
 
  179  virtual std::string description () 
const;
 
  180  virtual void run_clustering(ClusterSequence &) 
const ;
 
  183  virtual void reset_stored_plugin() 
const;
 
  186  double _protojet_ptmin;
 
  187  SplitMergeScale _split_merge_scale;
 
  189  bool _use_pt_weighted_splitting;
 
  193  static SharedPtr<SISConePlugin          > stored_plugin;
 
  194  static SharedPtr<std::vector<PseudoJet> > stored_particles;
 
  195  static SharedPtr<siscone::Csiscone      > stored_siscone;
 
Implementation of the SISCone algorithm (plugin for fastjet v2.1 upwards)
 
double protojet_or_ghost_ptmin() const
return the scale to be passed to SISCone as the protojet_ptmin – if we have a ghost separation scale ...
 
SISConePlugin(double cone_radius_in, double overlap_threshold_in, int n_pass_max_in, bool caching_in)
backwards compatible constructor for the SISCone Plugin class (avoid using this in future).
 
bool split_merge_use_pt_weighted_splitting() const
indicates whether the split-merge orders on transverse mass or not.
 
void set_split_merge_scale(SplitMergeScale sms)
sets scale used in split-merge
 
SISConePlugin(double cone_radius_in, double overlap_threshold_in, int n_pass_max_in, double protojet_ptmin_in, bool caching_in, bool split_merge_on_transverse_mass_in)
Backwards compatible constructor for the SISCone Plugin class.
 
SISConePlugin(double cone_radius_in, double overlap_threshold_in, int n_pass_max_in=0, double protojet_ptmin_in=0.0, bool caching_in=false, SplitMergeScale split_merge_scale_in=SM_pttilde, double split_merge_stopping_scale_in=0.0)
Main constructor for the SISCone Plugin class.
 
double protojet_ptmin() const
minimum pt for a protojet to be considered in the split-merge step of the algorithm
 
SplitMergeScale split_merge_scale() const
indicates scale used in split-merge
 
bool split_merge_on_transverse_mass() const
indicates whether the split-merge orders on transverse mass or not.
 
SplitMergeScale
enum for the different split-merge scale choices; Note that order must be the same as in siscone
 
@ SM_pt
transverse momentum (E-scheme), IR unsafe