FastJet 3.4.1
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
fastjet Namespace Reference

the FastJet namespace More...

Namespaces

namespace  gas
 namespace to hold default parameters for the active area spec
 

Classes

struct  __inheritance_helper
 
class  _NoInfo
 internal dummy class, used as a default template argument More...
 
class  AreaDefinition
 class that holds a generic area definition More...
 
class  ATLASConePlugin
 Implementation of the ATLAS Cone (plugin for fastjet v2.4 upwards) More...
 
class  BackgroundEstimate
 /// a class that holds the result of the calculation More...
 
class  BackgroundEstimatorBase
 Abstract base class that provides the basic interface for classes that estimate levels of background radiation in hadron and heavy-ion collider events. More...
 
class  BackgroundJetPtDensity
 Class that implements pt/area_4vector.perp() for background estimation (this is a preliminary class). More...
 
class  BackgroundJetPtMDensity
 Class that implements $  \frac{1}{A} \sum_{i \in jet} (\sqrt{p_{ti}^2+m^2} - p_{ti}) $ for background estimation (this is a preliminary class). More...
 
class  BackgroundJetScalarPtDensity
 Class that implements (scalar pt sum of jet)/(scalar area of jet) for background estimation (this is a preliminary class). More...
 
class  BackgroundRescalingYPolynomial
 A background rescaling that is a simple polynomial in y. More...
 
class  BasicRandom
 
class  BasicRandom< double >
 
class  BasicRandom< int >
 
class  Boost
 Class to boost a PseudoJet. More...
 
class  CASubJetTagger
 clean (almost parameter-free) tagger searching for the element in the clustering history that maximises a chosen distance More...
 
class  CASubJetTaggerStructure
 the structure returned by a CASubJetTagger More...
 
class  CDFJetCluPlugin
 Implementation of the JetClu algorithm from CDF (plugin for fastjet-v2.1 upwards) More...
 
class  CDFMidPointPlugin
 Implementation of the MidPoint algorithm from CDF (plugin for fastjet-v2.1 upwards) More...
 
class  ClosestPair2D
 
class  ClosestPair2DBase
 
class  ClusterSequence
 deals with clustering More...
 
class  ClusterSequence1GhostPassiveArea
 Like ClusterSequence with computation of the passive jet area by adding a single ghost. More...
 
class  ClusterSequenceActiveArea
 Like ClusterSequence with computation of the active jet area. More...
 
class  ClusterSequenceActiveAreaExplicitGhosts
 Like ClusterSequence with computation of the active jet area with the addition of explicit ghosts. More...
 
class  ClusterSequenceArea
 General class for user to obtain ClusterSequence with additional area information. More...
 
class  ClusterSequenceAreaBase
 base class that sets interface for extensions of ClusterSequence that provide information about the area of each jet More...
 
class  ClusterSequencePassiveArea
 Like ClusterSequence with computation of the passive jet area. More...
 
class  ClusterSequenceStructure
 Contains any information related to the clustering that should be directly accessible to PseudoJet. More...
 
class  ClusterSequenceVoronoiArea
 Like ClusterSequence with computation of the Voronoi jet area. More...
 
class  CMSIterativeConePlugin
 Implementation of the CMS Iterative Cone (plugin for fastjet v2.4 upwards) More...
 
class  CompositeJetStructure
 The structure for a jet made of pieces. More...
 
class  Coord2D
 
class  D0RunIBaseConePlugin
 D0RunIBaseConePlugin is base class for a plugin for FastJet (v3.0 or later) that provides an interface to the D0 version of Run-I cone algorithm. More...
 
class  D0RunIConePlugin
 A plugin for FastJet (v3.0 or later) that provides an interface to the D0 version of Run-I cone algorithm. More...
 
class  D0RunIIConePlugin
 Implementation of the D0 Run II Cone (plugin for fastjet v2.1 upwards) More...
 
class  D0RunIpre96ConePlugin
 A plugin for FastJet (v3.0 or later) that provides an interface to the pre 1996 D0 version of Run-I cone algorithm. More...
 
class  Dnn2piCylinder
 
class  Dnn3piCylinder
 
class  Dnn4piCylinder
 
class  DnnError
 
class  DnnPlane
 
class  DynamicNearestNeighbours
 
class  EECambridgePlugin
 Implementation of the e+e- Cambridge algorithm (plugin for fastjet v2.4 upwards) More...
 
class  Error
 base class corresponding to errors that can be thrown by FastJet More...
 
class  EtaPhi
 Shortcut for dealing with eta-phi coordinates. More...
 
class  Filter
 Class that helps perform filtering (Butterworth, Davison, Rubin and Salam, arXiv:0802.2470) and trimming (Krohn, Thaler and Wang, arXiv:0912.1342) on jets, optionally in conjunction with subtraction (Cacciari and Salam, arXiv:0707.1378). More...
 
class  FilterStructure
 Class to contain structure information for a filtered jet. More...
 
class  FunctionOfPseudoJet
 base class providing interface for a generic function of a PseudoJet More...
 
class  GhostedAreaSpec
 Parameters to configure the computation of jet areas using ghosts. More...
 
class  GraphEdge
 
class  GridJetPlugin
 plugin for fastjet (v3.0 upwards) that clusters particles such that all particles in a given cell of a rectangular rapidity-phi grid end up in a common "jet". More...
 
class  GridMedianBackgroundEstimator
 Background Estimator based on the median pt/area of a set of grid cells. More...
 
class  IndexedSortHelper
 
class  InitialisedInt
 
struct  integral_type
 
class  InternalError
 class corresponding to critical internal errors More...
 
struct  IsBaseAndDerived
 
class  JadePlugin
 Implementation of the e+e- Jade algorithm (plugin for fastjet v2.4 upwards) More...
 
class  JetDefinition
 class that is intended to hold a full definition of the jet clusterer More...
 
class  JetMedianBackgroundEstimator
 Class to estimate the pt density of the background per unit area, using the median of the distribution of pt/area from jets that pass some selection criterion. More...
 
class  JHTopTagger
 Class that helps perform boosted top tagging using the "Johns Hopkins" method from arXiv:0806.0848 (Kaplan, Rehermann, Schwartz and Tweedie) More...
 
class  JHTopTaggerStructure
 the structure returned by the JHTopTagger transformer. More...
 
struct  K
 
class  LimitedWarning
 class to provide facilities for giving warnings up to some maximum number of times and to provide global summaries of warnings that have been issued. More...
 
class  MassDropTagger
 Class that helps perform 2-pronged boosted tagging using the "mass-drop" technique (with asymmetry cut) introduced by Jonathan Butterworth, Adam Davison, Mathieu Rubin and Gavin Salam in arXiv:0802.2470 in the context of a boosted Higgs search. More...
 
class  MassDropTaggerStructure
 the structure returned by the MassDropTagger transformer. More...
 
class  MinHeap
 
class  NestedDefsPlugin
 Plugin to run multiple jet definitions successively (plugin for fastjet v2.4 upwards) More...
 
class  NNBase
 Helps solve closest pair problems with generic interparticle and particle-beam distances. More...
 
class  NNFJN2Plain
 Helps solve closest pair problems with factorised interparticle and beam distances (ie satisfying the FastJet lemma) More...
 
class  NNFJN2Tiled
 Helps solve closest pair problems with factorised interparticle and beam distances (ie satisfying the FastJet lemma) that are on a cylindrical geometry and allow tiling. More...
 
class  NNH
 Help solve closest pair problems with generic interparticle and beam distance (generic case) More...
 
class  NNInfo
 internal helper template class to facilitate initialisation of a BJ with a PseudoJet and extra information. More...
 
class  NNInfo< _NoInfo >
 for cases where there is no extra info More...
 
class  Pruner
 Transformer that prunes a jet. More...
 
class  PrunerStructure
 The structure associated with a PseudoJet thas has gone through a Pruner transformer. More...
 
class  PruningPlugin
 
class  PruningRecombiner
 
class  PseudoJet
 Class to contain pseudojets, including minimal information of use to jet-clustering routines. More...
 
class  PseudoJetStructureBase
 Contains any information related to the clustering that should be directly accessible to PseudoJet. More...
 
class  PxConePlugin
 Implementation of the PxCone algorithm (plugin for fastjet v2.1 upwards) More...
 
class  RangeDefinition
 class for holding a range definition specification, given by limits on rapidity and azimuth. More...
 
class  Recluster
 Recluster a jet's constituents with a new jet definition. More...
 
class  RectangularGrid
 Class that holds a generic rectangular tiling. More...
 
class  RestFrameNSubjettinessTagger
 Class that helps perform 2-pronged boosted tagging using a reclustering in the jet's rest frame, supplemented with a cut on N-subjettiness (and a decay angle), as discussed by Ji-Hun Kim in arXiv:1011.1493. More...
 
class  RestFrameNSubjettinessTaggerStructure
 the structure returned by the RestFrameNSubjettinessTagger transformer. More...
 
class  SearchTree
 
class  Selector
 Class that encodes information about cuts and other selection criteria that can be applied to PseudoJet(s). More...
 
class  SelectorWorker
 default selector worker is an abstract virtual base class More...
 
class  SharedPtr
 An implementation of shared pointers that is broadly similar to C++11 shared_ptr (https://en.cppreference.com/w/cpp/memory/shared_ptr). More...
 
class  SISConeBaseExtras
 Class that provides extra information about a SISCone clustering. More...
 
class  SISConeBasePlugin
 
class  SISConeExtras
 Class that provides extra information about a SISCone clustering. More...
 
class  SISConePlugin
 Implementation of the SISCone algorithm (plugin for fastjet v2.1 upwards) More...
 
class  SISConeSphericalExtras
 Class that provides extra information about a SISCone clustering. More...
 
class  SISConeSphericalPlugin
 Implementation of the spherical version of the SISCone algorithm (plugin for fastjet v2.1 upwards) More...
 
class  Site
 
class  Subtractor
 Class that helps perform jet background subtraction. More...
 
class  TiledJet
 structure analogous to BriefJet, but with the extra information needed for dealing with tiles More...
 
class  TilingBase
 Class to indicate generic structure of tilings. More...
 
class  TilingExtent
 class to perform a fast analysis of the appropriate rapidity range in which to perform tiling More...
 
class  TopTaggerBase
 A base class that provides a common interface for top taggers that are able to return a W (in addition to the top itself). More...
 
class  TopTaggerBaseStructure
 class that specifies the structure common to all top taggers More...
 
class  TrackJetPlugin
 Implementation of the TrackJet algorithm (plugin for fastjet v2.4 upwards) More...
 
class  Transformer
 Base (abstract) class for a jet transformer. More...
 
class  Unboost
 Class to un-boost a PseudoJet. More...
 
class  VoronoiAreaSpec
 Specification for the computation of the Voronoi jet area. More...
 
class  VoronoiDiagramGenerator
 
class  VPoint
 
class  WrappedStructure
 This wraps a (shared) pointer to an underlying structure. More...
 

Typedefs

typedef ClusterSequenceActiveAreaExplicitGhosts ClustSeqActAreaEG
 
typedef ClusterSequenceVoronoiArea::VoronoiAreaCalc VAC
 
typedef ClusterSequenceAreaBase ClusterSequenceWithArea
 
typedef GhostedAreaSpec ActiveAreaSpec
 just provide a typedef for backwards compatibility with programs based on versions 2.0 and 2.1 of fastjet. More...
 
typedef JetAlgorithm JetFinder
 make standard Les Houches nomenclature JetAlgorithm (algorithm is general recipe without the parameters) backward-compatible with old JetFinder More...
 
typedef integral_type< bool, true > true_type
 the bool 'true' value promoted to a type More...
 
typedef integral_type< bool, false > false_type
 the bool 'false' value promoted to a type More...
 
typedef char(& __yes_type)[1]
 
typedef char(& __no_type)[2]
 
typedef Tile2Base< 25 > Tile25
 
typedef Tile2Base< 9 > Tile2
 
typedef CGAL::Triangulation_vertex_base_with_info_2< InitialisedInt, KVbb
 
typedef CGAL::Triangulation_hierarchy_vertex_base_2< Vbb > Vb
 
typedef CGAL::Triangulation_face_base_2< KFb
 
typedef CGAL::Triangulation_data_structure_2< Vb, Fb > Tds
 
typedef CGAL::Delaunay_triangulation_2< K, Tds > Dt
 
typedef CGAL::Triangulation_hierarchy_2< Dt > Triangulation
 
typedef Triangulation::Vertex_handle Vertex_handle
 
typedef Triangulation::Point Point
 
typedef Triangulation::Vertex_circulator Vertex_circulator
 CGAL Point structure. More...
 
typedef Triangulation::Face_circulator Face_circulator
 
typedef Triangulation::Face_handle Face_handle
 

Enumerations

enum  AreaType {
  invalid_area = -1 , active_area = 0 , active_area_explicit_ghosts = 1 , one_ghost_passive_area = 10 ,
  passive_area = 11 , voronoi_area =20
}
 the different types of area that are supported More...
 
enum  Strategy {
  N2MHTLazy9AntiKtSeparateGhosts = -10 , N2MHTLazy9 = -7 , N2MHTLazy25 = -6 , N2MHTLazy9Alt = -5 ,
  N2MinHeapTiled = -4 , N2Tiled = -3 , N2PoorTiled = -2 , N2Plain = -1 ,
  N3Dumb = 0 , Best = 1 , NlnN = 2 , NlnN3pi = 3 ,
  NlnN4pi = 4 , NlnNCam4pi = 14 , NlnNCam2pi2R = 13 , NlnNCam = 12 ,
  BestFJ30 = 21 , N2PlainEEAccurate = 31 , plugin_strategy = 999
}
 the various options for the algorithmic strategy to adopt in clustering events with kt and cambridge style algorithms. More...
 
enum  JetAlgorithm {
  kt_algorithm =0 , cambridge_algorithm =1 , antikt_algorithm =2 , genkt_algorithm =3 ,
  cambridge_for_passive_algorithm =11 , genkt_for_passive_algorithm =13 , ee_kt_algorithm =50 , ee_genkt_algorithm =53 ,
  plugin_algorithm = 99 , undefined_jet_algorithm = 999
}
 the various families of jet-clustering algorithm More...
 
enum  RecombinationScheme {
  E_scheme =0 , pt_scheme =1 , pt2_scheme =2 , Et_scheme =3 ,
  Et2_scheme =4 , BIpt_scheme =5 , BIpt2_scheme =6 , WTA_pt_scheme =7 ,
  WTA_modp_scheme =8 , external_scheme = 99
}
 The various recombination schemes. More...
 

Functions

int __default_random_generator (int *__iseed)
 
string fastjet_version_string ()
 return a string containing information about the release More...
 
PseudoJet join (const vector< PseudoJet > &pieces, const JetDefinition::Recombiner &recombiner)
 
PseudoJet join (const PseudoJet &j1, const JetDefinition::Recombiner &recombiner)
 build a MergedJet from a single PseudoJet More...
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const JetDefinition::Recombiner &recombiner)
 build a MergedJet from 2 PseudoJet More...
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3, const JetDefinition::Recombiner &recombiner)
 build a MergedJet from 3 PseudoJet More...
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3, const PseudoJet &j4, const JetDefinition::Recombiner &recombiner)
 build a MergedJet from 4 PseudoJet More...
 
ostream & operator<< (ostream &ostr, const TiledJet &jet)
 
PseudoJet operator+ (const PseudoJet &jet1, const PseudoJet &jet2)
 
PseudoJet operator- (const PseudoJet &jet1, const PseudoJet &jet2)
 
PseudoJet operator* (double coeff, const PseudoJet &jet)
 
PseudoJet operator* (const PseudoJet &jet, double coeff)
 
PseudoJet operator/ (const PseudoJet &jet, double coeff)
 
bool operator== (const PseudoJet &, const PseudoJet &)
 returns true if the 4 momentum components of the two PseudoJets are identical and all the internal indices (user, cluster_history) More...
 
bool operator== (const PseudoJet &jet, const double val)
 Can only be used with val=0 and tests whether all four momentum components are equal to val (=0.0) More...
 
bool have_same_momentum (const PseudoJet &jeta, const PseudoJet &jetb)
 returns true if the momenta of the two input jets are identical More...
 
PseudoJet PtYPhiM (double pt, double y, double phi, double m)
 return a pseudojet with the given pt, y, phi and mass More...
 
void sort_indices (vector< int > &indices, const vector< double > &values)
 
vector< PseudoJetsorted_by_pt (const vector< PseudoJet > &jets)
 return a vector of jets sorted into decreasing kt2 More...
 
vector< PseudoJetsorted_by_rapidity (const vector< PseudoJet > &jets)
 return a vector of jets sorted into increasing rapidity More...
 
vector< PseudoJetsorted_by_E (const vector< PseudoJet > &jets)
 return a vector of jets sorted into decreasing energy More...
 
vector< PseudoJetsorted_by_pz (const vector< PseudoJet > &jets)
 return a vector of jets sorted into increasing pz More...
 
PseudoJet join (const vector< PseudoJet > &pieces)
 
PseudoJet join (const PseudoJet &j1)
 build a MergedJet from a single PseudoJet More...
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2)
 build a MergedJet from 2 PseudoJet More...
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3)
 build a MergedJet from 3 PseudoJet More...
 
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3, const PseudoJet &j4)
 build a MergedJet from 4 PseudoJet More...
 
Selector SelectorIdentity ()
 
Selector operator! (const Selector &s)
 logical not applied on a selector More...
 
Selector operator&& (const Selector &s1, const Selector &s2)
 logical and between two selectors More...
 
Selector operator|| (const Selector &s1, const Selector &s2)
 logical or between two selectors More...
 
Selector operator* (const Selector &s1, const Selector &s2)
 successive application of 2 selectors More...
 
Selector SelectorPtMin (double ptmin)
 select objects with pt >= ptmin More...
 
Selector SelectorPtMax (double ptmax)
 select objects with pt <= ptmax More...
 
Selector SelectorPtRange (double ptmin, double ptmax)
 select objects with ptmin <= pt <= ptmax More...
 
Selector SelectorEtMin (double Etmin)
 select objects with Et >= Etmin More...
 
Selector SelectorEtMax (double Etmax)
 select objects with Et <= Etmax More...
 
Selector SelectorEtRange (double Etmin, double Etmax)
 select objects with Etmin <= Et <= Etmax More...
 
Selector SelectorEMin (double Emin)
 select objects with E >= Emin More...
 
Selector SelectorEMax (double Emax)
 select objects with E <= Emax More...
 
Selector SelectorERange (double Emin, double Emax)
 select objects with Emin <= E <= Emax More...
 
Selector SelectorMassMin (double Mmin)
 select objects with Mass >= Mmin More...
 
Selector SelectorMassMax (double Mmax)
 select objects with Mass <= Mmax More...
 
Selector SelectorMassRange (double Mmin, double Mmax)
 select objects with Mmin <= Mass <= Mmax More...
 
Selector SelectorRapMin (double rapmin)
 select objects with rap >= rapmin More...
 
Selector SelectorRapMax (double rapmax)
 select objects with rap <= rapmax More...
 
Selector SelectorRapRange (double rapmin, double rapmax)
 select objects with rapmin <= rap <= rapmax More...
 
Selector SelectorAbsRapMin (double absrapmin)
 select objects with |rap| >= absrapmin More...
 
Selector SelectorAbsRapMax (double absrapmax)
 select objects with |rap| <= absrapmax More...
 
Selector SelectorAbsRapRange (double absrapmin, double absrapmax)
 select objects with absrapmin <= |rap| <= absrapmax More...
 
Selector SelectorEtaMin (double etamin)
 select objects with eta >= etamin More...
 
Selector SelectorEtaMax (double etamax)
 select objects with eta <= etamax More...
 
Selector SelectorEtaRange (double etamin, double etamax)
 select objects with etamin <= eta <= etamax More...
 
Selector SelectorAbsEtaMin (double absetamin)
 select objects with |eta| >= absetamin More...
 
Selector SelectorAbsEtaMax (double absetamax)
 select objects with |eta| <= absetamax More...
 
Selector SelectorAbsEtaRange (double absetamin, double absetamax)
 select objects with absetamin <= |eta| <= absetamax More...
 
Selector SelectorPhiRange (double phimin, double phimax)
 select objects with phimin <= phi <= phimax More...
 
Selector SelectorRapPhiRange (double rapmin, double rapmax, double phimin, double phimax)
 select objects with rapmin <= rap <= rapmax && phimin <= phi <= phimax More...
 
Selector SelectorNHardest (unsigned int n)
 select the n hardest objects More...
 
Selector SelectorCircle (const double radius)
 select objets within a distance 'radius' from the location of the reference jet, set by Selector::set_reference(...) More...
 
Selector SelectorDoughnut (const double radius_in, const double radius_out)
 select objets with distance from the reference jet is between 'radius_in' and 'radius_out'; the reference jet is set by Selector::set_reference(...) More...
 
Selector SelectorStrip (const double half_width)
 select objets within a rapidity distance 'half_width' from the location of the reference jet, set by Selector::set_reference(...) More...
 
Selector SelectorRectangle (const double half_rap_width, const double half_phi_width)
 select objets within rapidity distance 'half_rap_width' from the reference jet and azimuthal-angle distance within 'half_phi_width'; the reference jet is set by Selector::set_reference(...) More...
 
Selector SelectorPtFractionMin (double fraction)
 select objects that carry at least a fraction "fraction" of the reference jet. More...
 
Selector SelectorIsZero ()
 select PseudoJet with 0 momentum More...
 
Selector SelectorIsPureGhost ()
 select objects that are (or are only made of) ghosts. More...
 
int scomp (const void *p1, const void *p2)
 
template<typename T >
PseudoJet join (const std::vector< PseudoJet > &pieces)
 build a "CompositeJet" from the vector of its pieces with an extended structure of type T derived from CompositeJetStructure More...
 
template<typename T >
PseudoJet join (const PseudoJet &j1)
 build a "CompositeJet" from a single PseudoJet with an extended structure of type T derived from CompositeJetStructure More...
 
template<typename T >
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2)
 build a "CompositeJet" from two PseudoJet with an extended structure of type T derived from CompositeJetStructure More...
 
template<typename T >
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3)
 build a "CompositeJet" from 3 PseudoJet with an extended structure of type T derived from CompositeJetStructure More...
 
template<typename T >
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3, const PseudoJet &j4)
 build a "CompositeJet" from 4 PseudoJet with an extended structure of type T derived from CompositeJetStructure More...
 
template<typename T >
PseudoJet join (const std::vector< PseudoJet > &pieces, const JetDefinition::Recombiner &recombiner)
 build a "CompositeJet" from the vector of its pieces with an extended structure of type T derived from CompositeJetStructure More...
 
template<typename T >
PseudoJet join (const PseudoJet &j1, const JetDefinition::Recombiner &recombiner)
 build a "CompositeJet" from a single PseudoJet with an extended structure of type T derived from CompositeJetStructure More...
 
template<typename T >
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const JetDefinition::Recombiner &recombiner)
 build a "CompositeJet" from two PseudoJet with an extended structure of type T derived from CompositeJetStructure More...
 
template<typename T >
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3, const JetDefinition::Recombiner &recombiner)
 build a "CompositeJet" from 3 PseudoJet with an extended structure of type T derived from CompositeJetStructure More...
 
template<typename T >
PseudoJet join (const PseudoJet &j1, const PseudoJet &j2, const PseudoJet &j3, const PseudoJet &j4, const JetDefinition::Recombiner &recombiner)
 build a "CompositeJet" from 4 PseudoJet with an extended structure of type T derived from CompositeJetStructure More...
 
PseudoJet join (const std::vector< PseudoJet > &pieces, const JetDefinition::Recombiner &recombiner)
 build a "CompositeJet" from the vector of its pieces More...
 
bool operator!= (const PseudoJet &a, const PseudoJet &b)
 inequality test which is exact opposite of operator== More...
 
bool operator== (const double val, const PseudoJet &jet)
 
bool operator!= (const PseudoJet &a, const double val)
 Can only be used with val=0 and tests whether at least one of the four momentum components is different from val (=0.0) More...
 
bool operator!= (const double val, const PseudoJet &a)
 
double dot_product (const PseudoJet &a, const PseudoJet &b)
 returns the 4-vector dot product of a and b More...
 
double cos_theta (const PseudoJet &a, const PseudoJet &b)
 returns the cosine of the angle between a and b More...
 
double theta (const PseudoJet &a, const PseudoJet &b)
 returns the angle between a and b More...
 
std::vector< PseudoJetsorted_by_pt (const std::vector< PseudoJet > &jets)
 return a vector of jets sorted into decreasing transverse momentum
 
std::vector< PseudoJetsorted_by_rapidity (const std::vector< PseudoJet > &jets)
 return a vector of jets sorted into increasing rapidity
 
std::vector< PseudoJetsorted_by_E (const std::vector< PseudoJet > &jets)
 return a vector of jets sorted into decreasing energy
 
std::vector< PseudoJetsorted_by_pz (const std::vector< PseudoJet > &jets)
 return a vector of jets sorted into increasing pz
 
void sort_indices (std::vector< int > &indices, const std::vector< double > &values)
 sort the indices so that values[indices[0->n-1]] is sorted into increasing order

 
template<class T >
std::vector< T > objects_sorted_by_values (const std::vector< T > &objects, const std::vector< double > &values)
 given a vector of values with a one-to-one correspondence with the vector of objects, sort objects into an order such that the associated values would be in increasing order (but don't actually touch the values vector in the process). More...
 
PseudoJet join (const std::vector< PseudoJet > &pieces)
 build a "CompositeJet" from the vector of its pieces More...
 
template<class T , class U >
bool operator== (SharedPtr< T > const &t, SharedPtr< U > const &u)
 comparison: equality More...
 
template<class T , class U >
bool operator!= (SharedPtr< T > const &t, SharedPtr< U > const &u)
 comparison: difference More...
 
template<class T , class U >
bool operator< (SharedPtr< T > const &t, SharedPtr< U > const &u)
 comparison: ordering More...
 
template<class T >
void swap (SharedPtr< T > &a, SharedPtr< T > &b)
 swapping More...
 
template<class T >
T * get_pointer (SharedPtr< T > const &t)
 getting the pointer More...
 
bool floor_ln2_less (unsigned x, unsigned y)
 returns true if floor(ln_base2(x)) < floor(ln_base2(y)), using Chan's neat trick... More...
 
template<class B , class D >
B * cast_if_derived (D *d)
 a little helper that returns a pointer to d of type B* if D is derived from B and NULL otherwise More...
 
double norm (const VPoint p)
 norm of a vector More...
 
double vector_product (const VPoint &p1, const VPoint &p2)
 2D vector product More...
 
double scalar_product (const VPoint &p1, const VPoint &p2)
 scalar product More...
 
template<class T >
deltaPhi (T phi1, T phi2)
 
template<class T >
deltaR2 (T eta1, T phi1, T eta2, T phi2)
 

Variables

BasicRandom< int > _G_random_int
 
BasicRandom< double > _G_random_double
 
const unsigned int twopow31 = 2147483648U
 
const JetAlgorithm aachen_algorithm = cambridge_algorithm
 provide other possible names for the Cambridge/Aachen algorithm More...
 
const JetAlgorithm cambridge_aachen_algorithm = cambridge_algorithm
 
const double MaxRap = 1e5
 Used to protect against parton-level events where pt can be zero for some partons, giving rapidity=infinity. More...
 
const double pseudojet_invalid_phi = -100.0
 default value for phi, meaning it (and rapidity) have yet to be calculated) More...
 
const double pseudojet_invalid_rap = -1e200
 
const double tile_edge_security_margin =1.0e-7
 Rounding errors in the Lazy strategies may cause the following problem: when browsing tiles in the vicinity of the particles being clustered in order to decide which of these tiles may contain particles that need to be updated (because theit NN is one of the particles that are currently clustered), we discard tiles that are deemed "too far from the cell" by the "max_NN_dist" criterion. More...
 
const int n_tile_neighbours = 9
 
const double pi = 3.141592653589793238462643383279502884197
 
const double twopi = 6.283185307179586476925286766559005768394
 
const double pisq = 9.869604401089358618834490999876151135314
 
const double zeta2 = 1.644934066848226436472415166646025189219
 
const double zeta3 = 1.202056903159594285399738161511449990765
 
const double eulergamma = 0.577215664901532860606512090082402431042
 
const double ln2 = 0.693147180559945309417232121458176568076
 
const int INFINITE_VERTEX =-1
 
const int NEW_VERTEX =-2
 
const double HUGE_DOUBLE =1e300
 

Detailed Description

the FastJet namespace

The code in this file is supposed to help writing code that will automatically provide thread-safe features when available and come revert back to "old/standard" C++ if thread-safety is not switched on.

all the fastjet-related material is put under that namespace

\TODO fix doxygen comments (declare things as internal; make sure doxygen doc is not duplicate — if necessary, keep only doxygen comments in the thread-safe versions)

Typedef Documentation

◆ ClustSeqActAreaEG

Definition at line 39 of file ClusterSequenceActiveAreaExplicitGhosts.cc.

◆ VAC

typedef ClusterSequenceVoronoiArea::VoronoiAreaCalc fastjet::VAC

Definition at line 45 of file ClusterSequenceVoronoiArea.cc.

◆ ClusterSequenceWithArea

Definition at line 51 of file ClusterSequenceWithArea.hh.

◆ ActiveAreaSpec

just provide a typedef for backwards compatibility with programs based on versions 2.0 and 2.1 of fastjet.

Since there is no easy way of telling people this is deprecated at compile or run time, we should be careful before removing this in the future.

Definition at line 381 of file GhostedAreaSpec.hh.

◆ JetFinder

make standard Les Houches nomenclature JetAlgorithm (algorithm is general recipe without the parameters) backward-compatible with old JetFinder

Definition at line 184 of file JetDefinition.hh.

◆ true_type

typedef integral_type<bool, true> fastjet::true_type

the bool 'true' value promoted to a type

Definition at line 74 of file IsBase.hh.

◆ false_type

typedef integral_type<bool, false> fastjet::false_type

the bool 'false' value promoted to a type

Definition at line 75 of file IsBase.hh.

◆ __yes_type

typedef char(& fastjet::__yes_type)[1]

Definition at line 81 of file IsBase.hh.

◆ __no_type

typedef char(& fastjet::__no_type)[2]

Definition at line 82 of file IsBase.hh.

◆ Tile25

typedef Tile2Base<25> fastjet::Tile25

Definition at line 46 of file LazyTiling25.hh.

◆ Tile2

typedef Tile2Base<9> fastjet::Tile2

Definition at line 80 of file LazyTiling9.hh.

◆ Vbb

typedef CGAL::Triangulation_vertex_base_with_info_2<InitialisedInt,K> fastjet::Vbb

Definition at line 89 of file Triangulation.hh.

◆ Vb

typedef CGAL::Triangulation_hierarchy_vertex_base_2<Vbb> fastjet::Vb

Definition at line 90 of file Triangulation.hh.

◆ Fb

typedef CGAL::Triangulation_face_base_2<K> fastjet::Fb

Definition at line 91 of file Triangulation.hh.

◆ Tds

typedef CGAL::Triangulation_data_structure_2<Vb,Fb> fastjet::Tds

Definition at line 92 of file Triangulation.hh.

◆ Dt

typedef CGAL::Delaunay_triangulation_2<K,Tds> fastjet::Dt

Definition at line 93 of file Triangulation.hh.

◆ Triangulation

typedef CGAL::Triangulation_hierarchy_2<Dt> fastjet::Triangulation

Definition at line 94 of file Triangulation.hh.

◆ Vertex_handle

typedef Triangulation::Vertex_handle fastjet::Vertex_handle

Definition at line 97 of file Triangulation.hh.

◆ Point

typedef Triangulation::Point fastjet::Point

Definition at line 98 of file Triangulation.hh.

◆ Vertex_circulator

typedef Triangulation::Vertex_circulator fastjet::Vertex_circulator

CGAL Point structure.

Definition at line 99 of file Triangulation.hh.

◆ Face_circulator

typedef Triangulation::Face_circulator fastjet::Face_circulator

Definition at line 100 of file Triangulation.hh.

◆ Face_handle

typedef Triangulation::Face_handle fastjet::Face_handle

Definition at line 101 of file Triangulation.hh.

Enumeration Type Documentation

◆ AreaType

the different types of area that are supported

Definition at line 72 of file AreaDefinition.hh.

◆ Strategy

the various options for the algorithmic strategy to adopt in clustering events with kt and cambridge style algorithms.

Enumerator
N2MHTLazy9AntiKtSeparateGhosts 

Like N2MHTLazy9 in a number of respects, but does not calculate ghost-ghost distances and so does not carry out ghost-ghost recombination.

If you want active ghosted areas, then this is only suitable for use with the anti-kt algorithm (or genkt with negative p), and does not produce any pure ghost jets. If used with active areas with Kt or Cam algorithms it will actually produce a passive area.

Particles are deemed to be ghosts if their pt is below a threshold (currently 1e-50, hard coded as ghost_limit in LazyTiling9SeparateGhosts).

Currently for events with a couple of thousand normal particles and O(10k) ghosts, this can be quicker than N2MHTLazy9, which would otherwise be the best strategy.

New in FJ3.1

N2MHTLazy9 

only looks into a neighbouring tile for a particle's nearest neighbour (NN) if that particle's in-tile NN is further than the distance to the edge of the neighbouring tile.

Uses tiles of size R and a 3x3 tile grid around the particle. New in FJ3.1

N2MHTLazy25 

Similar to N2MHTLazy9, but uses tiles of size R/2 and a 5x5 tile grid around the particle.

New in FJ3.1

N2MHTLazy9Alt 

Like to N2MHTLazy9 but uses slightly different optimizations, e.g.

for calculations of distance to nearest tile; as of 2014-07-18 it is slightly slower and not recommended for production use. To considered deprecated. New in FJ3.1

N2MinHeapTiled 

faster that N2Tiled above about 500 particles; differs from it by retainig the di(closest j) distances in a MinHeap (sort of priority queue) rather than a simple vector.


N2Tiled 

fastest from about 50..500

N2PoorTiled 

legacy

N2Plain 

fastest below 50

N3Dumb 

worse even than the usual N^3 algorithms

Best 

automatic selection of the best (based on N), including the LazyTiled strategies that are new to FJ3.1

NlnN 

best of the NlnN variants – best overall for N>10^4.

(Does not work for R>=2pi)

NlnN3pi 

legacy N ln N using 3pi coverage of cylinder.

(Does not work for R>=2pi)

NlnN4pi 

legacy N ln N using 4pi coverage of cylinder

NlnNCam4pi 

Chan's closest pair method (in a variant with 4pi coverage), for use exclusively with the Cambridge algorithm.

(Does not work for R>=2pi)

NlnNCam2pi2R 

Chan's closest pair method (in a variant with 2pi+2R coverage), for use exclusively with the Cambridge algorithm.

(Does not work for R>=2pi)

NlnNCam 

Chan's closest pair method (in a variant with 2pi+minimal extra variant), for use exclusively with the Cambridge algorithm.

(Does not work for R>=2pi)

BestFJ30 

the automatic strategy choice that was being made in FJ 3.0 (restricted to strategies that were present in FJ 3.0)

N2PlainEEAccurate 

a variant of N2Plain strategy for native $e^+e^-$ algorithms (eekt, ee_genkt) that uses a more accurate calculation of the distance measure when angles between PseudoJets are smaller than $\epsilon^{1/4}$, where $\epsilon$ is the machine precision.

It shifts the breakdown point from $\theta\sim
  \sqrt{\epsilon}$ to $\theta \sim \epsilon$.

plugin_strategy 

the plugin has been used...

Definition at line 51 of file JetDefinition.hh.

◆ JetAlgorithm

the various families of jet-clustering algorithm

Enumerator
kt_algorithm 

the longitudinally invariant kt algorithm

cambridge_algorithm 

the longitudinally invariant variant of the cambridge algorithm (aka Aachen algoithm).

antikt_algorithm 

like the k_t but with distance measures dij = min(1/kti^2,1/ktj^2) Delta R_{ij}^2 / R^2 diB = 1/kti^2

genkt_algorithm 

like the k_t but with distance measures dij = min(kti^{2p},ktj^{2p}) Delta R_{ij}^2 / R^2 diB = 1/kti^{2p} where p = extra_param()

cambridge_for_passive_algorithm 

a version of cambridge with a special distance measure for particles whose pt is < extra_param(); this is not usually intended for end users, but is instead automatically selected when requesting a passive Cambridge area.

genkt_for_passive_algorithm 

a version of genkt with a special distance measure for particles whose pt is < extra_param() [relevant for passive areas when p<=0] ***** NB: THERE IS CURRENTLY NO IMPLEMENTATION FOR THIS ALG *******

ee_kt_algorithm 

the e+e- kt algorithm

ee_genkt_algorithm 

the e+e- genkt algorithm (R > 2 and p=1 gives ee_kt)

plugin_algorithm 

any plugin algorithm supplied by the user

undefined_jet_algorithm 

the value for the jet algorithm in a JetDefinition for which no algorithm has yet been defined

Definition at line 144 of file JetDefinition.hh.

◆ RecombinationScheme

The various recombination schemes.

Note that the schemes that recombine with non-linear weighting of the directions (e.g. pt2, winner-takes-all) are collinear safe only for algorithms with a suitable ordering of the recombinations: orderings in which, for particles of comparable energies, small-angle clusterings take place before large-angle clusterings. This property is satisfied by all gen-kt algorithms.

Enumerator
E_scheme 

summing the 4-momenta

pt_scheme 

pt weighted recombination of y,phi (and summing of pt's) with preprocessing to make things massless by rescaling E=|\vec p|

pt2_scheme 

pt^2 weighted recombination of y,phi (and summing of pt's) with preprocessing to make things massless by rescaling E=|\vec p|

Et_scheme 

pt weighted recombination of y,phi (and summing of pt's) with preprocessing to make things massless by rescaling |\vec p|->=E

Et2_scheme 

pt^2 weighted recombination of y,phi (and summing of pt's) with preprocessing to make things massless by rescaling |\vec p|->=E

BIpt_scheme 

pt weighted recombination of y,phi (and summing of pt's), with no preprocessing

BIpt2_scheme 

pt^2 weighted recombination of y,phi (and summing of pt's) no preprocessing

WTA_pt_scheme 

pt-based Winner-Takes-All (WTA) recombination: the result of the recombination has the rapidity, azimuth and mass of the PseudoJet with the larger pt, and a pt equal to the sum of the two pt's

WTA_modp_scheme 

mod-p-based Winner-Takes-All (WTA) recombination: the result of the recombination gets the 3-vector direction and mass of the PseudoJet with the larger |3-momentum| (modp), and a |3-momentum| equal to the scalar sum of the two |3-momenta|.

external_scheme 

for the user's external scheme

Definition at line 200 of file JetDefinition.hh.

Function Documentation

◆ __default_random_generator()

int fastjet::__default_random_generator ( int *  __iseed)

Definition at line 44 of file BasicRandom.cc.

◆ fastjet_version_string()

std::string fastjet::fastjet_version_string ( )

return a string containing information about the release

Definition at line 462 of file ClusterSequence.cc.

◆ join() [1/22]

PseudoJet fastjet::join ( const vector< PseudoJet > &  pieces,
const JetDefinition::Recombiner recombiner 
)

Definition at line 456 of file JetDefinition.cc.

◆ join() [2/22]

PseudoJet fastjet::join ( const PseudoJet j1,
const JetDefinition::Recombiner recombiner 
)

build a MergedJet from a single PseudoJet

Definition at line 476 of file JetDefinition.cc.

◆ join() [3/22]

PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2,
const JetDefinition::Recombiner recombiner 
)

build a MergedJet from 2 PseudoJet

Definition at line 482 of file JetDefinition.cc.

◆ join() [4/22]

PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3,
const JetDefinition::Recombiner recombiner 
)

build a MergedJet from 3 PseudoJet

Definition at line 491 of file JetDefinition.cc.

◆ join() [5/22]

PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3,
const PseudoJet j4,
const JetDefinition::Recombiner recombiner 
)

build a MergedJet from 4 PseudoJet

Definition at line 501 of file JetDefinition.cc.

◆ operator<<()

ostream & fastjet::operator<< ( ostream &  ostr,
const TiledJet jet 
)

Definition at line 338 of file LazyTiling9Alt.cc.

◆ operator+()

PseudoJet fastjet::operator+ ( const PseudoJet jet1,
const PseudoJet jet2 
)

Definition at line 249 of file PseudoJet.cc.

◆ operator-()

PseudoJet fastjet::operator- ( const PseudoJet jet1,
const PseudoJet jet2 
)

Definition at line 259 of file PseudoJet.cc.

◆ operator*() [1/2]

PseudoJet fastjet::operator* ( double  coeff,
const PseudoJet jet 
)

Definition at line 269 of file PseudoJet.cc.

◆ operator*() [2/2]

PseudoJet fastjet::operator* ( const PseudoJet jet,
double  coeff 
)

Definition at line 283 of file PseudoJet.cc.

◆ operator/()

PseudoJet fastjet::operator/ ( const PseudoJet jet,
double  coeff 
)

Definition at line 289 of file PseudoJet.cc.

◆ operator==() [1/4]

bool fastjet::operator== ( const PseudoJet ,
const PseudoJet  
)

returns true if the 4 momentum components of the two PseudoJets are identical and all the internal indices (user, cluster_history)

  • structure and user-info shared pointers are too

Definition at line 345 of file PseudoJet.cc.

◆ operator==() [2/4]

bool fastjet::operator== ( const PseudoJet jet,
const double  val 
)

Can only be used with val=0 and tests whether all four momentum components are equal to val (=0.0)

Definition at line 361 of file PseudoJet.cc.

◆ have_same_momentum()

bool fastjet::have_same_momentum ( const PseudoJet jeta,
const PseudoJet jetb 
)

returns true if the momenta of the two input jets are identical

Definition at line 426 of file PseudoJet.cc.

◆ PtYPhiM()

PseudoJet fastjet::PtYPhiM ( double  pt,
double  y,
double  phi,
double  m 
)

return a pseudojet with the given pt, y, phi and mass

return a pseudojet with the given pt, y, phi and mass (phi should satisfy -2pi<phi<4pi)

Definition at line 458 of file PseudoJet.cc.

◆ sort_indices()

void fastjet::sort_indices ( vector< int > &  indices,
const vector< double > &  values 
)

Definition at line 862 of file PseudoJet.cc.

◆ sorted_by_pt()

vector< PseudoJet > fastjet::sorted_by_pt ( const vector< PseudoJet > &  jets)

return a vector of jets sorted into decreasing kt2

Definition at line 871 of file PseudoJet.cc.

◆ sorted_by_rapidity()

vector< PseudoJet > fastjet::sorted_by_rapidity ( const vector< PseudoJet > &  jets)

return a vector of jets sorted into increasing rapidity

Definition at line 879 of file PseudoJet.cc.

◆ sorted_by_E()

vector< PseudoJet > fastjet::sorted_by_E ( const vector< PseudoJet > &  jets)

return a vector of jets sorted into decreasing energy

Definition at line 887 of file PseudoJet.cc.

◆ sorted_by_pz()

vector< PseudoJet > fastjet::sorted_by_pz ( const vector< PseudoJet > &  jets)

return a vector of jets sorted into increasing pz

Definition at line 895 of file PseudoJet.cc.

◆ join() [6/22]

PseudoJet fastjet::join ( const vector< PseudoJet > &  pieces)

Definition at line 911 of file PseudoJet.cc.

◆ join() [7/22]

PseudoJet fastjet::join ( const PseudoJet j1)

build a MergedJet from a single PseudoJet

Definition at line 928 of file PseudoJet.cc.

◆ join() [8/22]

PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2 
)

build a MergedJet from 2 PseudoJet

Definition at line 933 of file PseudoJet.cc.

◆ join() [9/22]

PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3 
)

build a MergedJet from 3 PseudoJet

Definition at line 942 of file PseudoJet.cc.

◆ join() [10/22]

PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3,
const PseudoJet j4 
)

build a MergedJet from 4 PseudoJet

Definition at line 952 of file PseudoJet.cc.

◆ scomp()

int fastjet::scomp ( const void *  p1,
const void *  p2 
)

Definition at line 1209 of file Voronoi.cc.

◆ join() [11/22]

template<typename T >
PseudoJet fastjet::join ( const std::vector< PseudoJet > &  pieces)

build a "CompositeJet" from the vector of its pieces with an extended structure of type T derived from CompositeJetStructure

Definition at line 155 of file CompositeJetStructure.hh.

◆ join() [12/22]

template<typename T >
PseudoJet fastjet::join ( const PseudoJet j1)

build a "CompositeJet" from a single PseudoJet with an extended structure of type T derived from CompositeJetStructure

Definition at line 171 of file CompositeJetStructure.hh.

◆ join() [13/22]

template<typename T >
PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2 
)

build a "CompositeJet" from two PseudoJet with an extended structure of type T derived from CompositeJetStructure

Definition at line 177 of file CompositeJetStructure.hh.

◆ join() [14/22]

template<typename T >
PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3 
)

build a "CompositeJet" from 3 PseudoJet with an extended structure of type T derived from CompositeJetStructure

Definition at line 186 of file CompositeJetStructure.hh.

◆ join() [15/22]

template<typename T >
PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3,
const PseudoJet j4 
)

build a "CompositeJet" from 4 PseudoJet with an extended structure of type T derived from CompositeJetStructure

Definition at line 197 of file CompositeJetStructure.hh.

◆ join() [16/22]

template<typename T >
PseudoJet fastjet::join ( const std::vector< PseudoJet > &  pieces,
const JetDefinition::Recombiner recombiner 
)

build a "CompositeJet" from the vector of its pieces with an extended structure of type T derived from CompositeJetStructure

Definition at line 218 of file CompositeJetStructure.hh.

◆ join() [17/22]

template<typename T >
PseudoJet fastjet::join ( const PseudoJet j1,
const JetDefinition::Recombiner recombiner 
)

build a "CompositeJet" from a single PseudoJet with an extended structure of type T derived from CompositeJetStructure

Definition at line 236 of file CompositeJetStructure.hh.

◆ join() [18/22]

template<typename T >
PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2,
const JetDefinition::Recombiner recombiner 
)

build a "CompositeJet" from two PseudoJet with an extended structure of type T derived from CompositeJetStructure

Definition at line 243 of file CompositeJetStructure.hh.

◆ join() [19/22]

template<typename T >
PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3,
const JetDefinition::Recombiner recombiner 
)

build a "CompositeJet" from 3 PseudoJet with an extended structure of type T derived from CompositeJetStructure

Definition at line 254 of file CompositeJetStructure.hh.

◆ join() [20/22]

template<typename T >
PseudoJet fastjet::join ( const PseudoJet j1,
const PseudoJet j2,
const PseudoJet j3,
const PseudoJet j4,
const JetDefinition::Recombiner recombiner 
)

build a "CompositeJet" from 4 PseudoJet with an extended structure of type T derived from CompositeJetStructure

Definition at line 267 of file CompositeJetStructure.hh.

◆ join() [21/22]

PseudoJet fastjet::join ( const std::vector< PseudoJet > &  pieces,
const JetDefinition::Recombiner recombiner 
)

build a "CompositeJet" from the vector of its pieces

In this case, E-scheme recombination is assumed to compute the total momentum

◆ operator!=() [1/4]

bool fastjet::operator!= ( const PseudoJet a,
const PseudoJet b 
)
inline

inequality test which is exact opposite of operator==

Definition at line 926 of file PseudoJet.hh.

◆ operator==() [3/4]

bool fastjet::operator== ( const double  val,
const PseudoJet jet 
)
inline

Definition at line 931 of file PseudoJet.hh.

◆ operator!=() [2/4]

bool fastjet::operator!= ( const PseudoJet a,
const double  val 
)
inline

Can only be used with val=0 and tests whether at least one of the four momentum components is different from val (=0.0)

Definition at line 935 of file PseudoJet.hh.

◆ operator!=() [3/4]

bool fastjet::operator!= ( const double  val,
const PseudoJet a 
)
inline

Definition at line 936 of file PseudoJet.hh.

◆ dot_product()

double fastjet::dot_product ( const PseudoJet a,
const PseudoJet b 
)
inline

returns the 4-vector dot product of a and b

Definition at line 939 of file PseudoJet.hh.

◆ cos_theta()

double fastjet::cos_theta ( const PseudoJet a,
const PseudoJet b 
)
inline

returns the cosine of the angle between a and b

Definition at line 944 of file PseudoJet.hh.

◆ theta()

double fastjet::theta ( const PseudoJet a,
const PseudoJet b 
)
inline

returns the angle between a and b

Definition at line 950 of file PseudoJet.hh.

◆ objects_sorted_by_values()

template<class T >
std::vector< T > fastjet::objects_sorted_by_values ( const std::vector< T > &  objects,
const std::vector< double > &  values 
)

given a vector of values with a one-to-one correspondence with the vector of objects, sort objects into an order such that the associated values would be in increasing order (but don't actually touch the values vector in the process).

Definition at line 988 of file PseudoJet.hh.

◆ join() [22/22]

PseudoJet fastjet::join ( const std::vector< PseudoJet > &  pieces)

build a "CompositeJet" from the vector of its pieces

In this case, E-scheme recombination is assumed to compute the total momentum

◆ operator==() [4/4]

template<class T , class U >
bool fastjet::operator== ( SharedPtr< T > const &  t,
SharedPtr< U > const &  u 
)
inline

comparison: equality

Definition at line 601 of file SharedPtr.hh.

◆ operator!=() [4/4]

template<class T , class U >
bool fastjet::operator!= ( SharedPtr< T > const &  t,
SharedPtr< U > const &  u 
)
inline

comparison: difference

Definition at line 607 of file SharedPtr.hh.

◆ operator<()

template<class T , class U >
bool fastjet::operator< ( SharedPtr< T > const &  t,
SharedPtr< U > const &  u 
)
inline

comparison: ordering

Definition at line 613 of file SharedPtr.hh.

◆ swap()

template<class T >
void fastjet::swap ( SharedPtr< T > &  a,
SharedPtr< T > &  b 
)
inline

swapping

Definition at line 619 of file SharedPtr.hh.

◆ get_pointer()

template<class T >
T * fastjet::get_pointer ( SharedPtr< T > const &  t)
inline

getting the pointer

Definition at line 625 of file SharedPtr.hh.

◆ floor_ln2_less()

bool fastjet::floor_ln2_less ( unsigned  x,
unsigned  y 
)
inline

returns true if floor(ln_base2(x)) < floor(ln_base2(y)), using Chan's neat trick...

Definition at line 221 of file ClosestPair2D.hh.

◆ cast_if_derived()

template<class B , class D >
B * fastjet::cast_if_derived ( D *  d)

a little helper that returns a pointer to d of type B* if D is derived from B and NULL otherwise

Definition at line 166 of file IsBase.hh.

◆ norm()

double fastjet::norm ( const VPoint  p)
inline

norm of a vector

Definition at line 155 of file Voronoi.hh.

◆ vector_product()

double fastjet::vector_product ( const VPoint p1,
const VPoint p2 
)
inline

2D vector product

Definition at line 161 of file Voronoi.hh.

◆ scalar_product()

double fastjet::scalar_product ( const VPoint p1,
const VPoint p2 
)
inline

scalar product

Definition at line 167 of file Voronoi.hh.

◆ deltaPhi()

template<class T >
T fastjet::deltaPhi ( phi1,
phi2 
)

Definition at line 70 of file CMSIterativeConePlugin.cc.

◆ deltaR2()

template<class T >
T fastjet::deltaR2 ( eta1,
phi1,
eta2,
phi2 
)

Definition at line 78 of file CMSIterativeConePlugin.cc.

Variable Documentation

◆ _G_random_int

BasicRandom< int > fastjet::_G_random_int

Definition at line 61 of file BasicRandom.cc.

◆ _G_random_double

BasicRandom< double > fastjet::_G_random_double

Definition at line 62 of file BasicRandom.cc.

◆ twopow31

const unsigned int fastjet::twopow31 = 2147483648U

Definition at line 40 of file ClosestPair2D.cc.

◆ aachen_algorithm

const JetAlgorithm fastjet::aachen_algorithm = cambridge_algorithm

provide other possible names for the Cambridge/Aachen algorithm

Definition at line 187 of file JetDefinition.hh.

◆ cambridge_aachen_algorithm

const JetAlgorithm fastjet::cambridge_aachen_algorithm = cambridge_algorithm

Definition at line 188 of file JetDefinition.hh.

◆ MaxRap

const double fastjet::MaxRap = 1e5

Used to protect against parton-level events where pt can be zero for some partons, giving rapidity=infinity.

KtJet fails in those cases.

Definition at line 53 of file PseudoJet.hh.

◆ pseudojet_invalid_phi

const double fastjet::pseudojet_invalid_phi = -100.0

default value for phi, meaning it (and rapidity) have yet to be calculated)

Definition at line 56 of file PseudoJet.hh.

◆ pseudojet_invalid_rap

const double fastjet::pseudojet_invalid_rap = -1e200

Definition at line 57 of file PseudoJet.hh.

◆ tile_edge_security_margin

const double fastjet::tile_edge_security_margin =1.0e-7

Rounding errors in the Lazy strategies may cause the following problem: when browsing tiles in the vicinity of the particles being clustered in order to decide which of these tiles may contain particles that need to be updated (because theit NN is one of the particles that are currently clustered), we discard tiles that are deemed "too far from the cell" by the "max_NN_dist" criterion.

Because of rounding error, this condition can sometimes miss cases where an update is needed.

An example of this happens if a particle '1' is, say, at the lower edge of the rapidity of a given tile, with a particle '2' in the tile directly on its left at the same rapidity. Assume also that max_NN_dist in 2's tile corresponds to the distance between 2 and teh tile of 1. If 2 is 1's NN then in case 2 gets clustered, 1's NN needs to be updated. However, rounding errors in the calculation of the distance between 1 and 2 may result is something slightly larger than the max_NN_dist in 2's tile.

This situation corresponds to the bug reported by Jochen Olt on February 12 2015 [see issue-tracker/2015-02-infinite-loop], causing an infinite loop.

To prevent this, the simplest solution is, when looking at tiles to browse for updateds, to add a margin of security close to the edges of the cell, i.e. instead of updating only tiles for which distance<=max_NN_dist, we will update tiles for which distance<=max_NN_dist+tile_edge_security_margin.

Note that this does not need to be done when computing nearest neighbours [rounding errors are tolerated there] but it is critical when tracking points that have to be updated.

Definition at line 71 of file LazyTiling9Alt.hh.

◆ n_tile_neighbours

const int fastjet::n_tile_neighbours = 9

Definition at line 89 of file LazyTiling9Alt.hh.

◆ pi

const double fastjet::pi = 3.141592653589793238462643383279502884197

Definition at line 42 of file numconsts.hh.

◆ twopi

const double fastjet::twopi = 6.283185307179586476925286766559005768394

Definition at line 43 of file numconsts.hh.

◆ pisq

const double fastjet::pisq = 9.869604401089358618834490999876151135314

Definition at line 44 of file numconsts.hh.

◆ zeta2

const double fastjet::zeta2 = 1.644934066848226436472415166646025189219

Definition at line 45 of file numconsts.hh.

◆ zeta3

const double fastjet::zeta3 = 1.202056903159594285399738161511449990765

Definition at line 46 of file numconsts.hh.

◆ eulergamma

const double fastjet::eulergamma = 0.577215664901532860606512090082402431042

Definition at line 47 of file numconsts.hh.

◆ ln2

const double fastjet::ln2 = 0.693147180559945309417232121458176568076

Definition at line 48 of file numconsts.hh.

◆ INFINITE_VERTEX

const int fastjet::INFINITE_VERTEX =-1

Definition at line 58 of file Triangulation.hh.

◆ NEW_VERTEX

const int fastjet::NEW_VERTEX =-2

Definition at line 59 of file Triangulation.hh.

◆ HUGE_DOUBLE

const double fastjet::HUGE_DOUBLE =1e300

Definition at line 60 of file Triangulation.hh.