FastJet 3.4.3
|
Implementation of the spherical version of the SISCone algorithm (plugin for fastjet v2.1 upwards) More...
#include <fastjet/SISConeSphericalPlugin.hh>
Public Types | |
enum | SplitMergeScale { SM_E , SM_Etilde } |
enum for the different split-merge scale choices; Note that order must be the same as in siscone More... | |
Public Member Functions | |
SISConeSphericalPlugin (double cone_radius_in, double overlap_threshold_in, int n_pass_max_in=0, double protojet_Emin_in=0.0, bool caching_in=false, SplitMergeScale split_merge_scale_in=SM_Etilde, double split_merge_stopping_scale_in=0.0) | |
Main constructor for the SISConeSpherical Plugin class. | |
double | protojet_Emin () const |
minimum energy for a protojet to be considered in the split-merge step of the algorithm | |
double | protojet_or_ghost_Emin () const |
return the scale to be passed to SISCone as the protojet_Emin – if we have a ghost separation scale that is above the protojet_ptmin, then the ghost_separation_scale becomes the relevant one to use here | |
SplitMergeScale | split_merge_scale () const |
indicates scale used in split-merge | |
void | set_split_merge_scale (SplitMergeScale sms) |
sets scale used in split-merge | |
bool | split_merge_use_E_weighted_splitting () const |
indicate if the splittings are done using the anti-kt distance | |
void | set_split_merge_use_E_weighted_splitting (bool val) |
virtual bool | supports_ghosted_passive_areas () const |
overload the default as we don't provide support for passive areas. | |
virtual std::string | description () const |
plugin description | |
virtual void | run_clustering (ClusterSequence &) const |
really do the clustering work | |
virtual bool | is_spherical () const |
returns true because this plugin is intended for spherical geometries (i.e. | |
Public Member Functions inherited from fastjet::SISConeBasePlugin | |
SISConeBasePlugin () | |
default ctor | |
SISConeBasePlugin (const SISConeBasePlugin &plugin) | |
copy constructor | |
void | set_progressive_removal (bool progressive_removal_in=true) |
set whether to use SISCone with progressive removal instead of the default split_merge step. | |
bool | progressive_removal () const |
returns true if progressive_removal is enabled | |
double | cone_radius () const |
the cone radius | |
double | overlap_threshold () const |
Fraction of overlap energy in a jet above which jets are merged and below which jets are split. | |
int | n_pass_max () const |
the maximum number of passes of stable-cone searching (<=0 is same as infinity). | |
void | set_split_merge_stopping_scale (double scale) |
set the "split_merge_stopping_scale": if the scale variable for all protojets is below this, then stop the split-merge procedure and keep only those jets found so far. | |
double | split_merge_stopping_scale () |
return the value of the split_merge_stopping_scale (see set_split_merge_stopping_scale(...) for description) | |
void | set_use_jet_def_recombiner (bool choice) |
allow the user to decide if one uses the jet_def's own recombination scheme | |
bool | use_jet_def_recombiner () const |
indicate if the jet_def's recombination scheme is being used | |
bool | caching () const |
indicates whether caching is turned on or not. | |
virtual double | R () const |
the plugin mechanism's standard way of accessing the jet radius | |
virtual void | set_ghost_separation_scale (double scale) const |
set the ghost separation scale for passive area determinations just in the next run (strictly speaking that makes the routine a non const, so related internal info must be stored as a mutable) | |
virtual double | ghost_separation_scale () const |
void | set_user_scale (const UserScaleBase *user_scale_in) |
set a user-defined scale for stable-cone ordering in progressive removal | |
const UserScaleBase * | user_scale () const |
returns the user-defined scale in use (0 if none) | |
Public Member Functions inherited from fastjet::JetDefinition::Plugin | |
virtual bool | exclusive_sequence_meaningful () const |
if this returns false then a warning will be given whenever the user requests "exclusive" jets from the cluster sequence | |
virtual | ~Plugin () |
a destructor to be replaced if necessary in derived classes... | |
Protected Member Functions | |
virtual void | reset_stored_plugin () const |
call the re-clustering itself | |
Additional Inherited Members | |
Protected Attributes inherited from fastjet::SISConeBasePlugin | |
double | _cone_radius |
double | _overlap_threshold |
int | _n_pass_max |
bool | _caching |
double | _split_merge_stopping_scale |
bool | _use_jet_def_recombiner |
bool | _progressive_removal |
double | _ghost_sep_scale |
const UserScaleBase * | _user_scale |
Implementation of the spherical version of the SISCone algorithm (plugin for fastjet v2.1 upwards)
SISConeSphericalPlugin is a plugin for fastjet (v2.1 upwards) that provides an interface to the seedless infrared safe cone jet finder by Gregory Soyez and Gavin Salam.
This is the version of SISCone using spherical coordinates. Compared to the original cylindrical version:
The IR safety of the split-merge step is not guaranteed for events consisting of two back-to-back identical heavy particles that decay. This is because of potential degeneracies in the ordering for the split-merge step.
For moderate values of R the problem should not be too severe (or may even be absent for some values of the overlap parameter), however the user should be aware of the issue.
The default split-merge scale may change at a later date to resolve this issue.
SISCone uses geometrical techniques to exhaustively consider all possible distinct cones. It then finds out which ones are stable and sends the result to the Tevatron Run-II type split-merge procedure for overlapping cones.
Four parameters govern the "physics" of the algorithm:
One parameter governs some internal algorithmic shortcuts:
The final jets can be accessed by requestion the inclusive_jets(...) from the ClusterSequence object. Note that these PseudoJets have their user_index() set to the index of the pass in which they were found (first pass = 0). NB: This does not currently work for jets that consist of a single particle.
For further information on the details of the algorithm see the SISCone paper, arXiv:0704.0292 [JHEP 0705:086,2007].
For documentation about the implementation, see the siscone/doc/html/index.html file.
Definition at line 94 of file SISConeSphericalPlugin.hh.
enum for the different split-merge scale choices; Note that order must be the same as in siscone
Enumerator | |
---|---|
SM_E | Energy (IR unsafe with momentum conservation) |
SM_Etilde | sum_{i \in jet} E_i [1+sin^2(theta_iJ)] |
Definition at line 99 of file SISConeSphericalPlugin.hh.
|
inline |
Main constructor for the SISConeSpherical Plugin class.
Definition at line 107 of file SISConeSphericalPlugin.hh.
|
inline |
minimum energy for a protojet to be considered in the split-merge step of the algorithm
Definition at line 127 of file SISConeSphericalPlugin.hh.
|
inline |
return the scale to be passed to SISCone as the protojet_Emin – if we have a ghost separation scale that is above the protojet_ptmin, then the ghost_separation_scale becomes the relevant one to use here
Definition at line 133 of file SISConeSphericalPlugin.hh.
|
inline |
indicates scale used in split-merge
Definition at line 137 of file SISConeSphericalPlugin.hh.
|
inline |
sets scale used in split-merge
Definition at line 139 of file SISConeSphericalPlugin.hh.
|
inline |
indicate if the splittings are done using the anti-kt distance
Definition at line 142 of file SISConeSphericalPlugin.hh.
|
inline |
Definition at line 143 of file SISConeSphericalPlugin.hh.
|
inlinevirtual |
overload the default as we don't provide support for passive areas.
Reimplemented from fastjet::SISConeBasePlugin.
Definition at line 148 of file SISConeSphericalPlugin.hh.
|
virtual |
plugin description
Implements fastjet::SISConeBasePlugin.
Definition at line 89 of file SISConeSphericalPlugin.cc.
|
virtual |
really do the clustering work
Implements fastjet::SISConeBasePlugin.
Definition at line 140 of file SISConeSphericalPlugin.cc.
|
inlinevirtual |
returns true because this plugin is intended for spherical geometries (i.e.
it's an e+e- algorithm).
Reimplemented from fastjet::JetDefinition::Plugin.
Definition at line 156 of file SISConeSphericalPlugin.hh.
|
protectedvirtual |
call the re-clustering itself
Implements fastjet::SISConeBasePlugin.
Definition at line 297 of file SISConeSphericalPlugin.cc.