fastjet 2.4.5
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
fastjet Namespace Reference

Namespaces

namespace  atlas
namespace  cms
namespace  d0
namespace  gas
 

namespace to hold default parameters for the active area spec


namespace  Private

Classes

class  VoronoiAreaSpec
 class for holding a "Voronoi area" specification; an area will be assigned to each particle, which is the area of the intersection of the particle's Voronoi cell with a circle of radius R*effective_Rfact. More...
class  AreaDefinition
 class that holds a generic area definition More...
class  CircularRange
class  ClusterSequence
 deals with clustering More...
class  ClusterSequence1GhostPassiveArea
 Class that behaves essentially like ClusterSequence except that it also provides access to the area of a jet (which will be a random quantity... More...
class  ClusterSequenceActiveArea
 Class that behaves essentially like ClusterSequence except that it also provides access to the area of a jet (which will be a random quantity... More...
class  ClusterSequenceActiveAreaExplicitGhosts
 Class that behaves essentially like ClusterSequence except that it also provides access to the area of a jet (which will be a random quantity... 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
 Class that behaves essentially like ClusterSequence except that it also provides access to the area of a jet (which will be a random quantity... More...
class  ClusterSequenceVoronoiArea
 Handle the computation of Voronoi jet area. More...
class  Error
 class corresponding to errors that will be thrown by fastjet More...
class  GhostedAreaSpec
 Class that defines the parameters that go into the measurement of active jet areas. More...
class  JetDefinition
 class that is intended to hold a full definition of the jet clusterer More...
class  _NoInfo
 dummy class, used as a default template argument More...
class  NNHInfo
 template that will help initialise a BJ with a PseudoJet and extra information More...
class  NNHInfo< _NoInfo >
 Specialisation of NNHInfo for cases where there is no extra info. More...
class  NNH
 Class to help solve closest pair problems with generic interparticle distances and a beam distance, using Anderberg's Nearest Neighbour Heuristic. More...
class  PseudoJet
 Class to contain pseudojets, including minimal information of use to to jet-clustering routines. More...
class  IndexedSortHelper
 a class that helps us carry out indexed sorting. More...
class  RangeDefinition
 class for holding a range definition specification, given by limits on rapidity and azimuth. More...
class  BasicRandom
class  BasicRandom< int >
class  BasicRandom< double >
 template specialization (double) for the BasicRandom template class. More...
class  ClosestPair2D
 concrete implementation for finding closest pairs in 2D -- will use Chan's (hopefully efficient) shuffle based structures More...
class  Coord2D
 class for representing 2d coordinates and carrying out some basic operations on them More...
class  ClosestPair2DBase
 abstract base class for finding closest pairs in 2D More...
class  Dnn2piCylinder
 class derived from DynamicNearestNeighbours that provides an implementation for the surface of cylinder (using one DnnPlane object spanning 0--2pi). More...
class  Dnn3piCylinder
 class derived from DynamicNearestNeighbours that provides an implementation for the surface of cylinder (using one DnnPlane object spanning 0--3pi). More...
class  Dnn4piCylinder
 class derived from DynamicNearestNeighbours that provides an implementation for the surface of cylinder (using two copies of DnnPlane, one running from 0--2pi, the other from pi--3pi). More...
class  DnnPlane
 class derived from DynamicNearestNeighbours that provides an implementation for the Euclidean plane More...
class  EtaPhi
 Shortcut for dealing with eta-phi coordinates. More...
class  DnnError
 class corresponding to errors that will be thrown by Dynamic Nearest Neighbours code More...
class  DynamicNearestNeighbours
 Abstract base class for quick location of nearest neighbours in a set of points, with facilities for adding and removing points from the set after initialisation. More...
class  MinHeap
 A class which provides a "heap"-like structure that allows access to a the minimal value of a dynamically changing set of numbers. More...
class  SearchTree
 This is the class for a search tree designed to be especially efficient when looking for successors and predecessors (to be used in Chan's CP algorithm). More...
struct  K
 the basic geometrical kernel that lies at the base of all CGAL operations More...
class  InitialisedInt
 A class to provide an "int" with an initial value. More...
class  Point
 class to handle a 2d point More...
class  GraphEdge
 handle an edge of the Voronoi Diagram. More...
class  Site
 structure used both for particle sites and for vertices. More...
class  Freenode
class  FreeNodeArrayList
class  Freelist
class  Edge
class  Halfedge
class  VoronoiDiagramGenerator
class  ATLASConePlugin
 ATLASConePlugin is a plugin for fastjet (v2.4 upwards) More...
class  CMSIterativeConePlugin
 CMSIterativeConePlugin is a plugin for fastjet (v2.4 upwards) More...
class  CDFJetCluPlugin
 a plugin for fastjet-v2.1 that provides an interface to the CDF jetclu algorithm More...
class  CDFMidPointPlugin
 CDFMidPointPlugin is a plugin for fastjet (v2.1 upwards) that provides an interface to the CDF version of Run-II iterative cone algorithm with midpoint seeds (also known as the Iterative Legacy Cone Algorithm, ILCA). More...
class  D0RunIIConePlugin
 D0RunIIConePlugin is a plugin for fastjet (v2.1 upwards) that provides an interface to the D0 version of Run-II iterative cone algorithm with midpoint seeds (also known as the Iterative Legacy Cone Algorithm, ILCA). More...
class  EECamBriefJet
 class to help run an e+e- Cambridge algorithm More...
class  EECambridgePlugin
 EECambridgePlugin is a plugin for fastjet (v2.4 upwards) More...
class  JadeBriefJet
 class to help run a JADE algorithm More...
class  JadePlugin
 JadePlugin is a plugin for fastjet (v2.4 upwards) More...
class  NestedDefsPlugin
 NestedAglsPlugin is a plugin for fastjet (v2.4 upwards) that, given a list of jet definitions, performs the clustering by feeding the particles to the first algorithm and then, successively feeding the output to the next algorithm in the list. More...
class  SISConeBasePlugin
 SISConeBasePlugin is a plugin for fastjet (v2.1 upwards) that provides a base interface to SISCone-type cone jet finder by Gregory Soyez and Gavin Salam. More...
class  SISConeBaseExtras
 Class that provides extra information about a SISCone clustering the only thing that needs to be done for thee derived classes is to define '_jet_def_plugin', implement jet_def_plugin(); and add the corresponding plugin class as a friend. More...
class  SISConePlugin
 SISConePlugin 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. More...
class  SISConeExtras
 Class that provides extra information about a SISCone clustering. More...
class  SISConeSphericalPlugin
 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. More...
class  SISConeSphericalExtras
 Class that provides extra information about a SISCone clustering. More...
class  PxConePlugin
 PxConePlugin is a plugin for fastjet (v2.1 upwards) that provides an interface to the fortran pxcone iterative cone algorithm with midpoint seeds. More...
class  TrackJetParticlePtr
class  TrackJetPlugin

Typedefs

typedef
ClusterSequenceActiveAreaExplicitGhosts 
ClustSeqActAreaEG
typedef
ClusterSequenceVoronoiArea::VoronoiAreaCalc 
VAC
typedef GhostedAreaSpec ActiveAreaSpec
 just provide a typedef for backwards compatibility with programs based on versions 2.0 and 2.1 of fastjet
typedef ClusterSequenceAreaBase ClusterSequenceWithArea
typedef JetAlgorithm JetFinder
 make standard Les Houches nomenclature JetAlgorithm (algorithm is general recipe without the parameters) backward-compatible with old JetFinder
typedef
CGAL::Triangulation_vertex_base_with_info_2
< InitialisedInt, K
Vbb
typedef
CGAL::Triangulation_hierarchy_vertex_base_2
< Vbb
Vb
typedef
CGAL::Triangulation_face_base_2
< K
Fb
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.
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 {
  N2MinHeapTiled = -4, N2Tiled = -3, N2PoorTiled = -2, N2Plain = -1,
  N3Dumb = 0, Best = 1, NlnN = 2, NlnN3pi = 3,
  NlnN4pi = 4, NlnNCam4pi = 14, NlnNCam2pi2R = 13, NlnNCam = 12,
  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
}
 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, 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
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 have_same_momentum (const PseudoJet &jeta, const PseudoJet &jetb)
 returns true if the momenta of the two input jets are identical
PseudoJet PtYPhiM (double pt, double y, double phi, double m)
 return a pseudojet with the given pt, y, phi and mass
void sort_indices (vector< int > &indices, const vector< double > &values)
template<class T >
vector< T > objects_sorted_by_values (const vector< T > &objects, const 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
vector< PseudoJetsorted_by_pt (const vector< PseudoJet > &jets)
 return a vector of jets sorted into decreasing kt2
vector< PseudoJetsorted_by_rapidity (const vector< PseudoJet > &jets)
 return a vector of jets sorted into increasing rapidity
vector< PseudoJetsorted_by_E (const vector< PseudoJet > &jets)
 return a vector of jets sorted into decreasing energy
vector< PseudoJetsorted_by_pz (const vector< PseudoJet > &jets)
 return a vector of jets sorted into increasing pz
int scomp (const void *p1, const void *p2)
double dot_product (const PseudoJet &a, const PseudoJet &b)
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).
bool floor_ln2_less (unsigned x, unsigned y)
 returns true if floor(ln_base2(x)) < floor(ln_base2(y)), using Chan's neat trick...
double norm (const Point p)
 norm of a vector
double vector_product (const Point &p1, const Point &p2)
 2D vector product
double scalar_product (const Point &p1, const Point &p2)
 scalar product
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 huge_unsigned = 4294967295U
const unsigned int twopow31 = 2147483648U
const JetAlgorithm aachen_algorithm = cambridge_algorithm
 provide other possible names for the Cambridge/Aachen algorithm?
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.
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

Typedef Documentation

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

Definition at line 41 of file ActiveAreaSpec.hh.

Definition at line 39 of file ClusterSequenceWithArea.hh.

Definition at line 39 of file ClusterSequenceActiveAreaExplicitGhosts.cc.

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

Definition at line 85 of file Triangulation.hh.

typedef Triangulation::Face_circulator fastjet::Face_circulator

Definition at line 92 of file Triangulation.hh.

typedef Triangulation::Face_handle fastjet::Face_handle

Definition at line 93 of file Triangulation.hh.

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

Definition at line 83 of file Triangulation.hh.

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

Definition at line 114 of file JetDefinition.hh.

typedef Triangulation::Point fastjet::Point

Definition at line 90 of file Triangulation.hh.

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

Definition at line 84 of file Triangulation.hh.

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

Definition at line 86 of file Triangulation.hh.

Definition at line 45 of file ClusterSequenceVoronoiArea.cc.

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

Definition at line 82 of file Triangulation.hh.

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

Definition at line 81 of file Triangulation.hh.

typedef Triangulation::Vertex_circulator fastjet::Vertex_circulator

CGAL Point structure.

Definition at line 91 of file Triangulation.hh.

typedef Triangulation::Vertex_handle fastjet::Vertex_handle

Definition at line 89 of file Triangulation.hh.


Enumeration Type Documentation

the different types of area that are supported

Enumerator:
invalid_area 
active_area 
active_area_explicit_ghosts 
one_ghost_passive_area 
passive_area 
voronoi_area 

Definition at line 68 of file AreaDefinition.hh.

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

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]

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

Definition at line 81 of file JetDefinition.hh.

                  {
  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
};

the various recombination schemes

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=| p|

pt2_scheme 

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

Et_scheme 

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

Et2_scheme 

pt^2 weighted recombination of y,phi (and summing of pt's) with preprocessing to make things massless by rescaling | 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

external_scheme 

for the user's external scheme

Definition at line 122 of file JetDefinition.hh.

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

Enumerator:
N2MinHeapTiled 

fastest form about 500..10^4

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)

NlnN 

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

NlnN3pi 

legacy N ln N using 3pi coverage of cylinder

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.

NlnNCam2pi2R 
NlnNCam 
plugin_strategy 

the plugin has been used...

Definition at line 50 of file JetDefinition.hh.

              {
  N2MinHeapTiled   = -4, 
  N2Tiled     = -3, 
  N2PoorTiled = -2, 
  N2Plain     = -1, 
  N3Dumb      =  0, 
  Best        =  1, 
  NlnN        =  2, 
  NlnN3pi     =  3, 
  NlnN4pi     =  4,
  NlnNCam4pi   = 14,
  NlnNCam2pi2R = 13,
  NlnNCam      = 12, // 2piMultD
  plugin_strategy = 999
};

Function Documentation

int fastjet::__default_random_generator ( int *  __iseed)

Definition at line 31 of file BasicRandom.cc.

Referenced by fastjet::BasicRandom< double >::operator()(), and fastjet::BasicRandom< int >::operator()().

{
  int __k = __iseed[0]/53668;
  __iseed[0] = (__iseed[0] - __k*53668)*40014 - __k*12211;
  if(__iseed[0] < 0) __iseed[0] += 2147483563;
  
  __k = __iseed[1]/52774;
  __iseed[1] = (__iseed[1] - __k*52774)*40692 - __k*3791;
  if(__iseed[1] < 0) __iseed[1] += 2147483399;
  
  int __iz = __iseed[0] - __iseed[1];
  if(__iz < 1) __iz += 2147483562;
  
  return __iz;
}
template<class T >
T fastjet::deltaPhi ( phi1,
phi2 
)

Definition at line 51 of file CMSIterativeConePlugin.cc.

References M_PI.

Referenced by fastjet::atlas::JetDistances::deltaR(), and deltaR2().

                            { 
  T result = phi1 - phi2;
  while (result > M_PI) result -= 2*M_PI;
  while (result <= -M_PI) result += 2*M_PI;
  return result;
}
template<class T >
T fastjet::deltaR2 ( eta1,
phi1,
eta2,
phi2 
)

Definition at line 59 of file CMSIterativeConePlugin.cc.

References deltaPhi().

Referenced by fastjet::CMSIterativeConePlugin::run_clustering().

                                           {
  T deta = eta1 - eta2;
  T dphi = deltaPhi (phi1, phi2);
  return deta*deta + dphi*dphi;
}
double fastjet::dot_product ( const PseudoJet &  a,
const PseudoJet &  b 
) [inline]

Definition at line 228 of file PseudoJet.hh.

References fastjet::PseudoJet::E(), fastjet::PseudoJet::px(), fastjet::PseudoJet::py(), and fastjet::PseudoJet::pz().

                                                                    {
  return a.E()*b.E() - a.px()*b.px() - a.py()*b.py() - a.pz()*b.pz();
}
std::string fastjet::fastjet_version_string ( )

return a string containing information about the release

Definition at line 190 of file ClusterSequence.cc.

References fastjet_version.

Referenced by main().

                                {
  return "FastJet version "+string(fastjet_version);
}
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 212 of file ClosestPair2D.hh.

Referenced by fastjet::ClosestPair2D::Shuffle::operator<().

                                                   {
  if (x>y) return false;
  return (x < (x^y)); // beware of operator precedence...
}
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 284 of file PseudoJet.cc.

References fastjet::PseudoJet::E(), fastjet::PseudoJet::px(), fastjet::PseudoJet::py(), and fastjet::PseudoJet::pz().

Referenced by fastjet::SISConeSphericalPlugin::run_clustering(), and fastjet::SISConePlugin::run_clustering().

                                                                        {
  return jeta.px() == jetb.px()
    &&   jeta.py() == jetb.py()
    &&   jeta.pz() == jetb.pz()
    &&   jeta.E()  == jetb.E();
}
double fastjet::norm ( const Point  p) [inline]
template<class T >
vector<T> fastjet::objects_sorted_by_values ( const vector< T > &  objects,
const 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

Definition at line 345 of file PseudoJet.cc.

References sort_indices().

Referenced by sorted_by_E(), sorted_by_pt(), sorted_by_pz(), and sorted_by_rapidity().

                                                      {

  assert(objects.size() == values.size());

  // get a vector of indices
  vector<int> indices(values.size());
  for (size_t i = 0; i < indices.size(); i++) {indices[i] = i;}
  
  // sort the indices
  sort_indices(indices, values);
  
  // copy the objects 
  vector<T> objects_sorted(objects.size());
  
  // place the objects in the correct order
  for (size_t i = 0; i < indices.size(); i++) {
    objects_sorted[i] = objects[indices[i]];
  }

  return objects_sorted;
}
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).

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

Definition at line 168 of file PseudoJet.cc.

                                                          {
  //return PseudoJet(coeff*jet.four_mom());
  // the following code is hopefully more efficient
  PseudoJet coeff_times_jet(jet);
  coeff_times_jet *= coeff;
  return coeff_times_jet;
} 
PseudoJet fastjet::operator* ( const PseudoJet &  jet,
double  coeff 
)

Definition at line 178 of file PseudoJet.cc.

                                                          {
  return coeff*jet;
} 
PseudoJet fastjet::operator+ ( const PseudoJet &  jet1,
const PseudoJet &  jet2 
)

Definition at line 148 of file PseudoJet.cc.

References fastjet::PseudoJet::E(), fastjet::PseudoJet::px(), fastjet::PseudoJet::py(), and fastjet::PseudoJet::pz().

                                                                     {
  //return PseudoJet(jet1.four_mom()+jet2.four_mom());
  return PseudoJet(jet1.px()+jet2.px(),
                   jet1.py()+jet2.py(),
                   jet1.pz()+jet2.pz(),
                   jet1.E() +jet2.E()  );
} 
PseudoJet fastjet::operator- ( const PseudoJet &  jet1,
const PseudoJet &  jet2 
)

Definition at line 158 of file PseudoJet.cc.

References fastjet::PseudoJet::E(), fastjet::PseudoJet::px(), fastjet::PseudoJet::py(), and fastjet::PseudoJet::pz().

                                                                     {
  //return PseudoJet(jet1.four_mom()-jet2.four_mom());
  return PseudoJet(jet1.px()-jet2.px(),
                   jet1.py()-jet2.py(),
                   jet1.pz()-jet2.pz(),
                   jet1.E() -jet2.E()  );
} 
PseudoJet fastjet::operator/ ( const PseudoJet &  jet,
double  coeff 
)

Definition at line 184 of file PseudoJet.cc.

                                                          {
  return (1.0/coeff)*jet;
} 
PseudoJet fastjet::PtYPhiM ( double  pt,
double  y,
double  phi,
double  m 
)

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

Definition at line 294 of file PseudoJet.cc.

                                                             {
  double ptm = sqrt(pt*pt+m*m);
  return PseudoJet(pt*cos(phi), pt*sin(phi), ptm*sinh(y), ptm*cosh(y));
}
double fastjet::scalar_product ( const Point &  p1,
const Point &  p2 
) [inline]

scalar product

Definition at line 120 of file Voronoi.hh.

References fastjet::Point::x, and fastjet::Point::y.

Referenced by fastjet::ClusterSequenceVoronoiArea::VoronoiAreaCalc::edge_circle_intersection().

                                                              {
  return p1.x*p2.x+p1.y*p2.y;
}
int fastjet::scomp ( const void *  p1,
const void *  p2 
)

Definition at line 1146 of file Voronoi.cc.

References fastjet::Point::x, and fastjet::Point::y.

Referenced by fastjet::VoronoiDiagramGenerator::generateVoronoi().

{
  Point *s1 = (Point*)p1, *s2=(Point*)p2;
  if(s1->y < s2->y) return(-1);
  if(s1->y > s2->y) return(1);
  if(s1->x < s2->x) return(-1);
  if(s1->x > s2->x) return(1);
  return(0);
}
void fastjet::sort_indices ( vector< int > &  indices,
const vector< double > &  values 
)

Definition at line 335 of file PseudoJet.cc.

Referenced by objects_sorted_by_values(), and fastjet::CDFJetCluPlugin::run_clustering().

                                                        {
  IndexedSortHelper index_sort_helper(&values);
  sort(indices.begin(), indices.end(), index_sort_helper);
}
void fastjet::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

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

return a vector of jets sorted into decreasing energy

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

return a vector of jets sorted into decreasing energy

Definition at line 387 of file PseudoJet.cc.

References objects_sorted_by_values().

Referenced by main(), and print_jets().

                                                              {
  vector<double> energies(jets.size());
  for (size_t i = 0; i < jets.size(); i++) {energies[i] = -jets[i].E();}
  return objects_sorted_by_values(jets, energies);
}
std::vector<PseudoJet> fastjet::sorted_by_pt ( const std::vector< PseudoJet > &  jets)

return a vector of jets sorted into decreasing transverse momentum

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

return a vector of jets sorted into decreasing kt2

Definition at line 371 of file PseudoJet.cc.

References objects_sorted_by_values().

Referenced by main(), print_jets(), print_jets_and_sub(), and fastjet::ClusterSequenceAreaBase::subtracted_jets().

                                                               {
  vector<double> minus_kt2(jets.size());
  for (size_t i = 0; i < jets.size(); i++) {minus_kt2[i] = -jets[i].kt2();}
  return objects_sorted_by_values(jets, minus_kt2);
}
vector<PseudoJet> fastjet::sorted_by_pz ( const vector< PseudoJet > &  jets)

return a vector of jets sorted into increasing pz

Definition at line 395 of file PseudoJet.cc.

References objects_sorted_by_values().

                                                               {
  vector<double> pz(jets.size());
  for (size_t i = 0; i < jets.size(); i++) {pz[i] = jets[i].pz();}
  return objects_sorted_by_values(jets, pz);
}
std::vector<PseudoJet> fastjet::sorted_by_pz ( const std::vector< PseudoJet > &  jets)

return a vector of jets sorted into increasing pz

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

return a vector of jets sorted into increasing rapidity

Definition at line 379 of file PseudoJet.cc.

References objects_sorted_by_values().

Referenced by main().

                                                                     {
  vector<double> rapidities(jets.size());
  for (size_t i = 0; i < jets.size(); i++) {rapidities[i] = jets[i].rap();}
  return objects_sorted_by_values(jets, rapidities);
}
std::vector<PseudoJet> fastjet::sorted_by_rapidity ( const std::vector< PseudoJet > &  jets)

return a vector of jets sorted into increasing rapidity

double fastjet::vector_product ( const Point &  p1,
const Point &  p2 
) [inline]

2D vector product

Definition at line 114 of file Voronoi.hh.

References fastjet::Point::x, and fastjet::Point::y.

Referenced by fastjet::ClusterSequenceVoronoiArea::VoronoiAreaCalc::edge_circle_intersection().

                                                              {
  return p1.x*p2.y-p1.y*p2.x;
}

Variable Documentation

Definition at line 49 of file BasicRandom.cc.

Definition at line 48 of file BasicRandom.cc.

const JetAlgorithm fastjet::aachen_algorithm = cambridge_algorithm

provide other possible names for the Cambridge/Aachen algorithm?

Definition at line 117 of file JetDefinition.hh.

Definition at line 118 of file JetDefinition.hh.

const double fastjet::eulergamma = 0.577215664901532860606512090082402431042

Definition at line 47 of file numconsts.hh.

const double fastjet::HUGE_DOUBLE = 1e300
const unsigned int fastjet::huge_unsigned = 4294967295U

Definition at line 40 of file ClosestPair2D.cc.

const int fastjet::INFINITE_VERTEX = -1
const double fastjet::ln2 = 0.693147180559945309417232121458176568076

Definition at line 48 of file numconsts.hh.

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 48 of file PseudoJet.hh.

Referenced by fastjet::PseudoJet::_finish_init(), and fastjet::PseudoJet::pseudorapidity().

const int fastjet::NEW_VERTEX = -2
const double fastjet::pi = 3.141592653589793238462643383279502884197
const double fastjet::pisq = 9.869604401089358618834490999876151135314

Definition at line 44 of file numconsts.hh.

const double fastjet::twopi = 6.283185307179586476925286766559005768394

Definition at line 43 of file numconsts.hh.

Referenced by fastjet::JetDefinition::DefaultRecombiner::recombine().

const unsigned int fastjet::twopow31 = 2147483648U
const double fastjet::zeta2 = 1.644934066848226436472415166646025189219

Definition at line 45 of file numconsts.hh.

const double fastjet::zeta3 = 1.202056903159594285399738161511449990765

Definition at line 46 of file numconsts.hh.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines