FastJet  3.4.0
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
fastjet::JetDefinition Class Reference

class that is intended to hold a full definition of the jet clusterer More...

#include <fastjet/JetDefinition.hh>

Classes

class  DefaultRecombiner
 A class that will provide the recombination scheme facilities and/or allow a user to extend these facilities. More...
 
class  Plugin
 a class that allows a user to introduce their own "plugin" jet finder More...
 
class  Recombiner
 An abstract base class that will provide the recombination scheme facilities and/or allow a user to extend these facilities. More...
 

Public Member Functions

 JetDefinition (JetAlgorithm jet_algorithm_in, double R_in, RecombinationScheme recomb_scheme_in=E_scheme, Strategy strategy_in=Best)
 constructor with alternative ordering or arguments – note that we have not provided a default jet finder, to avoid ambiguous JetDefinition() constructor.
 
 JetDefinition (JetAlgorithm jet_algorithm_in, RecombinationScheme recomb_scheme_in=E_scheme, Strategy strategy_in=Best)
 constructor for algorithms that have no free parameters (e.g. More...
 
 JetDefinition (JetAlgorithm jet_algorithm_in, double R_in, double xtra_param_in, RecombinationScheme recomb_scheme_in=E_scheme, Strategy strategy_in=Best)
 constructor for algorithms that require R + one extra parameter to be set (the gen-kt series for example)
 
 JetDefinition (JetAlgorithm jet_algorithm_in, double R_in, const Recombiner *recombiner_in, Strategy strategy_in=Best)
 constructor in a form that allows the user to provide a pointer to an external recombiner class (which must remain valid for the life of the JetDefinition object).
 
 JetDefinition (JetAlgorithm jet_algorithm_in, const Recombiner *recombiner_in, Strategy strategy_in=Best)
 constructor for case with 0 parameters (ee_kt_algorithm) and and external recombiner
 
 JetDefinition (JetAlgorithm jet_algorithm_in, double R_in, double xtra_param_in, const Recombiner *recombiner_in, Strategy strategy_in=Best)
 constructor allowing the extra parameter to be set and a pointer to a recombiner
 
 JetDefinition ()
 a default constructor which creates a jet definition that is in a well-defined internal state, but not actually usable for jet clustering.
 
 JetDefinition (const Plugin *plugin_in)
 constructor based on a pointer to a user's plugin; the object pointed to must remain valid for the whole duration of existence of the JetDefinition and any related ClusterSequences
 
 JetDefinition (JetAlgorithm jet_algorithm_in, double R_in, RecombinationScheme recomb_scheme_in, Strategy strategy_in, int nparameters_in)
 constructor to fully specify a jet-definition (together with information about how algorithically to run it).
 
 JetDefinition (JetAlgorithm jet_algorithm_in, double R_in, Strategy strategy_in, RecombinationScheme recomb_scheme_in=E_scheme, int nparameters_in=1)
 constructor to fully specify a jet-definition (together with information about how algorithically to run it). More...
 
template<class L >
std::vector< PseudoJetoperator() (const std::vector< L > &particles) const
 cluster the supplied particles and returns a vector of resulting jets, sorted by pt (or energy in the case of spherical, i.e. More...
 
void set_recombination_scheme (RecombinationScheme)
 set the recombination scheme to the one provided
 
void set_recombiner (const Recombiner *recomb)
 set the recombiner class to the one provided More...
 
void set_recombiner (const JetDefinition &other_jet_def)
 set the recombiner to be the same as the one of 'other_jet_def' More...
 
void delete_recombiner_when_unused ()
 calling this tells the JetDefinition to handle the deletion of the recombiner when it is no longer used. More...
 
const Pluginplugin () const
 return a pointer to the plugin
 
void delete_plugin_when_unused ()
 calling this causes the JetDefinition to handle the deletion of the plugin when it is no longer used More...
 
JetAlgorithm jet_algorithm () const
 return information about the definition...
 
JetAlgorithm jet_finder () const
 same as above for backward compatibility
 
double R () const
 
double extra_param () const
 
Strategy strategy () const
 
RecombinationScheme recombination_scheme () const
 
void set_jet_algorithm (JetAlgorithm njf)
 (re)set the jet finder
 
void set_jet_finder (JetAlgorithm njf)
 same as above for backward compatibility
 
void set_extra_param (double xtra_param)
 (re)set the general purpose extra parameter
 
const Recombinerrecombiner () const
 returns a pointer to the currently defined recombiner. More...
 
bool has_same_recombiner (const JetDefinition &other_jd) const
 returns true if the current jet definitions shares the same recombiner as the one passed as an argument
 
bool is_spherical () const
 returns true if the jet definition involves an algorithm intended for use on a spherical geometry (e.g. More...
 
std::string description () const
 return a textual description of the current jet definition
 
std::string description_no_recombiner () const
 returns a description not including the recombiner information
 

Static Public Member Functions

static std::string algorithm_description (const JetAlgorithm jet_alg)
 a short textual description of the algorithm jet_alg
 
static unsigned int n_parameters_for_algorithm (const JetAlgorithm jet_alg)
 the number of parameters associated to a given jet algorithm
 

Static Public Attributes

static const double max_allowable_R = 1000.0
 R values larger than max_allowable_R are not allowed. More...
 

Detailed Description

class that is intended to hold a full definition of the jet clusterer

Definition at line 250 of file JetDefinition.hh.

Constructor & Destructor Documentation

◆ JetDefinition() [1/2]

fastjet::JetDefinition::JetDefinition ( JetAlgorithm  jet_algorithm_in,
RecombinationScheme  recomb_scheme_in = E_scheme,
Strategy  strategy_in = Best 
)
inline

constructor for algorithms that have no free parameters (e.g.

ee_kt_algorithm)

Definition at line 276 of file JetDefinition.hh.

◆ JetDefinition() [2/2]

fastjet::JetDefinition::JetDefinition ( JetAlgorithm  jet_algorithm_in,
double  R_in,
Strategy  strategy_in,
RecombinationScheme  recomb_scheme_in = E_scheme,
int  nparameters_in = 1 
)
inline

constructor to fully specify a jet-definition (together with information about how algorithically to run it).

the ordering of arguments here is old and deprecated (except as the common constructor for internal use)

Definition at line 370 of file JetDefinition.hh.

Member Function Documentation

◆ operator()()

template<class L >
std::vector< PseudoJet > fastjet::JetDefinition::operator() ( const std::vector< L > &  particles) const

cluster the supplied particles and returns a vector of resulting jets, sorted by pt (or energy in the case of spherical, i.e.

e+e-, algorithms). This routine currently only makes sense for "inclusive" type algorithms.

Definition at line 1018 of file ClusterSequence.hh.

◆ set_recombiner() [1/2]

void fastjet::JetDefinition::set_recombiner ( const Recombiner recomb)
inline

set the recombiner class to the one provided

Note that in order to associate to a jet definition a recombiner from another jet definition, it is strongly recommended to use the set_recombiner(const JetDefinition &) method below. The latter correctly handles the situations where the jet definition owns the recombiner (i.e. where delete_recombiner_when_unused has been called). In such cases, using set_recombiner(const Recombiner *) may lead to memory corruption.

Definition at line 402 of file JetDefinition.hh.

◆ set_recombiner() [2/2]

void fastjet::JetDefinition::set_recombiner ( const JetDefinition other_jet_def)

set the recombiner to be the same as the one of 'other_jet_def'

Note that this is the recommended method to associate to a jet definition the recombiner from another jet definition. Compared to the set_recombiner(const Recombiner *) above, it correctly handles the case where the jet definition owns the recombiner (i.e. where delete_recombiner_when_unused has been called)

Definition at line 192 of file JetDefinition.cc.

◆ delete_recombiner_when_unused()

void fastjet::JetDefinition::delete_recombiner_when_unused ( )

calling this tells the JetDefinition to handle the deletion of the recombiner when it is no longer used.

causes the JetDefinition to handle the deletion of the recombiner when it is no longer used

(Should not be called if the recombiner was initialised from a JetDef whose recombiner was already scheduled to delete itself - memory handling will already be automatic across both JetDef's in that case).

Definition at line 235 of file JetDefinition.cc.

◆ delete_plugin_when_unused()

void fastjet::JetDefinition::delete_plugin_when_unused ( )

calling this causes the JetDefinition to handle the deletion of the plugin when it is no longer used

allows to let the JetDefinition handle the deletion of the plugin when it is no longer used

Definition at line 247 of file JetDefinition.cc.

◆ recombiner()

const Recombiner* fastjet::JetDefinition::recombiner ( ) const
inline

returns a pointer to the currently defined recombiner.

Warning: the pointer may be to an internal recombiner (for default recombination schemes), in which case if the JetDefinition becomes invalid (e.g. is deleted), the pointer will then point to an object that no longer exists.

Note also that if you copy a JetDefinition with a default recombination scheme, then the two copies will have distinct recombiners, and return different recombiner() pointers.

Definition at line 460 of file JetDefinition.hh.

◆ is_spherical()

bool fastjet::JetDefinition::is_spherical ( ) const

returns true if the jet definition involves an algorithm intended for use on a spherical geometry (e.g.

e+e- algorithms, as opposed to most pp algorithms, which use a cylindrical, rapidity-phi geometry).

Definition at line 95 of file JetDefinition.cc.

Member Data Documentation

◆ max_allowable_R

const double fastjet::JetDefinition::max_allowable_R = 1000.0
static

R values larger than max_allowable_R are not allowed.

We use a value of 1000, substantially smaller than numeric_limits<double>::max(), to leave room for the convention within PseudoJet of setting unphysical (infinite) rapidities to +-(MaxRap + abs(pz())), where MaxRap is 10^5.

Definition at line 388 of file JetDefinition.hh.


The documentation for this class was generated from the following files: