FastJet 3.4.1
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. More...
 
 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) More...
 
 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). More...
 
 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 More...
 
 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 More...
 
 JetDefinition ()
 a default constructor which creates a jet definition that is in a well-defined internal state, but not actually usable for jet clustering. More...
 
 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 More...
 
 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). More...
 
 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 More...
 
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 More...
 
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... More...
 
JetAlgorithm jet_finder () const
 same as above for backward compatibility More...
 
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 More...
 
void set_jet_finder (JetAlgorithm njf)
 same as above for backward compatibility More...
 
void set_extra_param (double xtra_param)
 (re)set the general purpose extra parameter More...
 
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 More...
 
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 More...
 
std::string description_no_recombiner () const
 returns a description not including the recombiner information More...
 

Static Public Member Functions

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

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 257 of file JetDefinition.hh.

Constructor & Destructor Documentation

◆ JetDefinition() [1/10]

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

constructor with alternative ordering or arguments – note that we have not provided a default jet finder, to avoid ambiguous JetDefinition() constructor.

Definition at line 274 of file JetDefinition.hh.

◆ JetDefinition() [2/10]

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 283 of file JetDefinition.hh.

◆ JetDefinition() [3/10]

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

constructor for algorithms that require R + one extra parameter to be set (the gen-kt series for example)

Definition at line 292 of file JetDefinition.hh.

◆ JetDefinition() [4/10]

fastjet::JetDefinition::JetDefinition ( JetAlgorithm  jet_algorithm_in,
double  R_in,
const Recombiner recombiner_in,
Strategy  strategy_in = Best 
)
inline

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

Definition at line 305 of file JetDefinition.hh.

◆ JetDefinition() [5/10]

fastjet::JetDefinition::JetDefinition ( JetAlgorithm  jet_algorithm_in,
const Recombiner recombiner_in,
Strategy  strategy_in = Best 
)
inline

constructor for case with 0 parameters (ee_kt_algorithm) and and external recombiner

Definition at line 316 of file JetDefinition.hh.

◆ JetDefinition() [6/10]

fastjet::JetDefinition::JetDefinition ( JetAlgorithm  jet_algorithm_in,
double  R_in,
double  xtra_param_in,
const Recombiner recombiner_in,
Strategy  strategy_in = Best 
)
inline

constructor allowing the extra parameter to be set and a pointer to a recombiner

Definition at line 325 of file JetDefinition.hh.

◆ JetDefinition() [7/10]

fastjet::JetDefinition::JetDefinition ( )
inline

a default constructor which creates a jet definition that is in a well-defined internal state, but not actually usable for jet clustering.

Definition at line 337 of file JetDefinition.hh.

◆ JetDefinition() [8/10]

fastjet::JetDefinition::JetDefinition ( const Plugin plugin_in)
inline

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

Definition at line 350 of file JetDefinition.hh.

◆ JetDefinition() [9/10]

fastjet::JetDefinition::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).

Definition at line 45 of file JetDefinition.cc.

◆ JetDefinition() [10/10]

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 377 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 1047 of file ClusterSequence.hh.

◆ set_recombination_scheme()

void fastjet::JetDefinition::set_recombination_scheme ( RecombinationScheme  recomb_scheme)

set the recombination scheme to the one provided

Definition at line 182 of file JetDefinition.cc.

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

◆ plugin()

const Plugin * fastjet::JetDefinition::plugin ( ) const
inline

return a pointer to the plugin

Definition at line 432 of file JetDefinition.hh.

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

◆ jet_algorithm()

JetAlgorithm fastjet::JetDefinition::jet_algorithm ( ) const
inline

return information about the definition...

Definition at line 439 of file JetDefinition.hh.

◆ jet_finder()

JetAlgorithm fastjet::JetDefinition::jet_finder ( ) const
inline

same as above for backward compatibility

Definition at line 441 of file JetDefinition.hh.

◆ R()

double fastjet::JetDefinition::R ( ) const
inline

Definition at line 442 of file JetDefinition.hh.

◆ extra_param()

double fastjet::JetDefinition::extra_param ( ) const
inline

Definition at line 445 of file JetDefinition.hh.

◆ strategy()

Strategy fastjet::JetDefinition::strategy ( ) const
inline

Definition at line 446 of file JetDefinition.hh.

◆ recombination_scheme()

RecombinationScheme fastjet::JetDefinition::recombination_scheme ( ) const
inline

Definition at line 447 of file JetDefinition.hh.

◆ set_jet_algorithm()

void fastjet::JetDefinition::set_jet_algorithm ( JetAlgorithm  njf)
inline

(re)set the jet finder

Definition at line 451 of file JetDefinition.hh.

◆ set_jet_finder()

void fastjet::JetDefinition::set_jet_finder ( JetAlgorithm  njf)
inline

same as above for backward compatibility

Definition at line 453 of file JetDefinition.hh.

◆ set_extra_param()

void fastjet::JetDefinition::set_extra_param ( double  xtra_param)
inline

(re)set the general purpose extra parameter

Definition at line 455 of file JetDefinition.hh.

◆ 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 467 of file JetDefinition.hh.

◆ has_same_recombiner()

bool fastjet::JetDefinition::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

Definition at line 222 of file JetDefinition.cc.

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

◆ description()

string fastjet::JetDefinition::description ( ) const

return a textual description of the current jet definition

Definition at line 106 of file JetDefinition.cc.

◆ description_no_recombiner()

string fastjet::JetDefinition::description_no_recombiner ( ) const

returns a description not including the recombiner information

Definition at line 125 of file JetDefinition.cc.

◆ algorithm_description()

string fastjet::JetDefinition::algorithm_description ( const JetAlgorithm  jet_alg)
static

a short textual description of the algorithm jet_alg

Definition at line 154 of file JetDefinition.cc.

◆ n_parameters_for_algorithm()

unsigned int fastjet::JetDefinition::n_parameters_for_algorithm ( const JetAlgorithm  jet_alg)
static

the number of parameters associated to a given jet algorithm

Definition at line 172 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 395 of file JetDefinition.hh.


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