Rivet Namespace Reference


Detailed Description

Author:
Andy Buckley
Date:
2009-01-30
Todo:
Include more projections as required, e.g. ChargedFinalState, FastJets, ZFinder...
Todo:
Include more projections as required, e.g. ChargedFinalState, FastJets, ZFinder...


Classes

class  MC_JetAnalysis
class  Analysis
 This is the base class of all analysis classes in Rivet. More...
class  AnalysisBuilderBase
class  AnalysisBuilder
class  AnalysisHandler
class  AnalysisInfo
class  AnalysisLoader
class  Cmp
class  Rivet::Cmp< Projection >
class  Rivet::Cmp< double >
class  Event
class  Error
 Generic runtime Rivet error. More...
class  RangeError
 Error for e.g. use of invalid bin ranges. More...
class  LogicError
class  WeightError
 Errors relating to event/bin weights Arises in computing statistical quantities because e.g. the bin weight is zero or negative. More...
class  HistoHandler
 The projection handler is a central repository for histograms (and other analysis stats objects) to be used in a Rivet analysis run. This eliminates the need for analysis classes to contain large numbers of histogram pointer members, and allows histograms to be accessed via more user-friendly names than C++ variable names allow. More...
class  LorentzTransform
class  Matrix3
class  EigenSystem
 Handy object containing results of a diagonalization. More...
struct  EigenPairCmp
 Comparison functor for "eigen-pairs". More...
class  Matrix
class  Vector3
class  FourVector
class  FourMomentum
 Specialized version of the FourVector with momentum/energy functionality. More...
class  Vector
 A minimal base class for $ N $-dimensional vectors. More...
class  Particle
 Representation of particles from a HepMC::GenEvent. More...
class  ParticleBase
class  Projection
class  ProjectionApplier
class  ProjectionHandler
 The projection handler is a central repository for projections to be used in a Rivet analysis run. More...
class  AxesDefinition
 A pure virtual interface for projections which define a set of 3 basis vectors. This allows e.g. Thrust and Sphericity to be used interchangeably as defining bases for e.g. hemisphere mass and broadening calculations. More...
class  Beam
 Project out the incoming beams. More...
class  CentralEtHCM
class  ChargedFinalState
 Project only charged final state particles. More...
class  ChargedLeptons
class  ClusteredPhotons
class  DISKinematics
class  DISLepton
class  FastJets
 Project out jets found using fastJet package. More...
class  FinalState
 Project out all final-state particles in an event. More...
class  FinalStateHCM
class  FoxWolframMoments
class  HadronicFinalState
 Project only charged final state particles. More...
class  Hemispheres
 Calculate the hemisphere masses and broadenings. More...
class  IdentifiedFinalState
 Produce a final state which only contains specified particle IDs. More...
class  InitialQuarks
class  InvMassFinalState
 Identify particles which can be paired to make an invariant mass within a given mass window. More...
class  IsolationEstimator
class  PtInConeEstimator
class  MultiplicityInConeEstimator
struct  isohelper
class  IsolationProjection
class  JetAlg
 Abstract base class for projections which can return a set of Jets. More...
class  JetShape
 Calculate the jet shape. More...
class  KtJets
 Project out jets based on configurable kT algorithm. More...
class  LeadingParticlesFinalState
 Project only the highest-pT occurrences of FS particles with the specified PDG IDs. More...
class  LossyFinalState
class  MergedFinalState
 Provide access to final state particles merged from two FinalState projections. More...
class  Multiplicity
 Count the final-state particles in an event. More...
class  NeutralFinalState
 Project only neutral final state particles. More...
class  ParisiTensor
 Calculate the Parisi event shape tensor (or linear momentum tensor). More...
class  PVertex
 Get the position of the primary vertex of an event. More...
class  Sphericity
 Calculate the sphericity event shape. More...
class  SVertex
 Determine secondary vertices. More...
class  Thrust
 Obtain the e+ e- thrust event shape, consisting of the thrust basis and the thrust scalar values in each direction (the thrust, thrust major and thrust minor). More...
class  TotalVisibleMomentum
class  TriggerCDFRun0Run1
 Project out the incoming beams. More...
class  TriggerUA5
 Project out the incoming beams. More...
class  UnstableFinalState
 Project out all final-state particles in an event. More...
class  VetoedFinalState
 Specify that classes of particles are to be excluded from the final state. More...
class  WFinder
class  ZFinder
struct  DPSXPoint
 Container for x-axis point details. More...
class  Run
class  BinnedHistogram
class  Configuration
class  Log
struct  RefType
struct  PtrType
struct  Rivet::TypeTraits< const U & >
struct  Rivet::TypeTraits< const U * >
class  ALEPH_1991_S2435284
 Measurement of ALEPH LEP1 charged multiplicity. More...
class  ALEPH_1996_S3196992
class  ALEPH_1996_S3486095
 ALEPH QCD study with event shapes and identified particles. More...
class  ALEPH_2004_S5765862
class  ATLAS_2010_S8591806
class  BELLE_2006_S6265367
 BELLE charmed mesons and baryons from fragmentation. More...
class  CDF_1988_S1865951
class  CDF_1990_S2089246
class  CDF_1991_S2313472
class  CDF_1994_S2952106
class  CDF_1996_S3108457
class  CDF_1996_S3349578
class  CDF_1996_S3418421
class  CDF_1997_S3541940
class  CDF_1998_S3618439
class  CDF_2000_S4155203
class  CDF_2000_S4266730
class  CDF_2001_S4517016
class  CDF_2001_S4563131
class  CDF_2001_S4751469
class  CDF_2002_S4796047
class  CDF_2004_S5839831
 "Acosta" CDF underlying event analysis More...
class  CDF_2005_S6080774
class  CDF_2005_S6217184
class  CDF_2006_S6450792
class  CDF_2006_S6653332
class  CDF_2007_S7057202
 CDF Run II inclusive jet cross-section using the kT algorithm. More...
class  CDF_2008_LEADINGJETS
class  CDF_2008_NOTE_9351
class  CDF_2008_S7540469
 Measurement differential Z/gamma* + jet + X cross sections. More...
class  CDF_2008_S7541902
 CDF jet pT and multiplicity distributions in W + jets events. More...
class  CDF_2008_S7782535
 Implementation of CDF RunII b-jet shape paper. More...
class  CDF_2008_S7828950
class  CDF_2008_S8093652
class  CDF_2008_S8095620
 Implementation of CDF Run II Z + b-jet cross section paper. More...
class  CDF_2009_S8057893
 CDF in-jet kT distribution analysis. More...
class  CDF_2009_S8233977
class  CDF_2009_S8383952
class  CDF_2009_S8436959
class  D0_1996_S3214044
class  D0_1996_S3324664
class  D0_1998_S3711838
class  D0_2001_S4674421
 D0 Run I differential W/Z boson cross-section analysis. More...
class  D0_2004_S5992206
class  D0_2006_S6438750
 Inclusive isolated photon cross-section, differential in $ p_\perp(gamma) $. More...
class  D0_2007_S7075677
 Measurement of D0 Run II Z pT diff cross-section shape. More...
class  D0_2008_S6879055
 Measurement of the ratio sigma(Z/gamma* + n jets)/sigma(Z/gamma*). More...
class  D0_2008_S7554427
 Measurement of D0 Run II Z pT differential cross-section shape. More...
class  D0_2008_S7662670
 Measurement of D0 differential jet cross sections. More...
class  D0_2008_S7719523
 Measurement of isolated gamma + jet + X differential cross-sections Inclusive isolated gamma + jet cross-sections, differential in pT(gamma), for various photon and jet rapidity bins. More...
class  D0_2008_S7837160
 Measurement of W charge asymmetry from D0 Run II. More...
class  D0_2008_S7863608
 Measurement differential Z/gamma* + jet +X cross sections. More...
class  D0_2009_S8202443
class  D0_2009_S8320160
class  D0_2009_S8349509
class  D0_2010_S8566488
class  D0_2010_S8570965
class  DELPHI_1995_S3137023
 DELPHI strange baryon paper. More...
class  DELPHI_2002_069_CONF_603
 DELPHI b-fragmentation measurement. More...
class  E735_1998_S3905616
class  ExampleAnalysis
 Just measures a few random things as an example. More...
class  H1_1994_S2919893
 H1 energy flow and charged particle spectra. More...
class  H1_1995_S3167097
 Measures energy flow in DIS? To be checked! More...
class  H1_2000_S4129130
 H1 energy flow and charged particle spectra. More...
class  JADE_OPAL_2000_S4300807
 Jet rates in e+e- at OPAL and JADE. More...
class  MC_DIJET
class  MC_DIPHOTON
class  MC_JETS
class  MC_LEADINGJETS
class  MC_PHOTONJETS
class  MC_PHOTONJETUE
class  MC_SUSY
class  MC_TTBAR
class  MC_WJETS
class  MC_ZJETS
class  OPAL_1998_S3780481
 OPAL flavour dependent fragmentation paper. More...
class  OPAL_2004_S6132243
class  PDG_HADRON_MULTIPLICITIES
 Implementation of PDG hadron multiplicities. More...
class  PDG_HADRON_MULTIPLICITIES_RATIOS
 Implementation of PDG hadron multiplicities as ratios to pi+- multiplicity. More...
class  SFM_1984_S1178091
class  STAR_2006_S6500200
 identified hadron spectra in pp at 200 GeV More...
class  STAR_2006_S6860818
 strange particle spectra in pp at 200 GeV More...
class  STAR_2006_S6870392
 inclusive jet cross-section in pp at 200 GeV More...
class  STAR_2008_S7993412
 di-hadron correlations in d-Au at 200 GeV More...
class  STAR_2009_UE_HELEN
class  UA1_1990_S2044935
 Minimum bias track analysis from UA1. More...
class  UA5_1982_S875503
class  UA5_1986_S1583476
class  UA5_1988_S1867512
class  UA5_1989_S1926373
class  ZEUS_2001_S4815815
 ZEUS dijet photoproduction study used in the ZEUS Jets PDF fit. More...

Namespaces

namespace  Commandline
namespace  PID

Number comparisons etc.

enum  RangeBoundary { OPEN = 0, SOFT = 0, CLOSED = 1, HARD = 1 }
bool isZero (double val, double tolerance=1E-8)
bool isZero (long val, double UNUSED(tolerance)=1E-8)
int sign (double val)
 Find the sign of a number.
int sign (int val)
 Find the sign of a number.
int sign (long val)
 Find the sign of a number.
bool fuzzyEquals (double a, double b, double tolerance=1E-5)
bool fuzzyEquals (long a, long b, double UNUSED(tolerance)=1E-5)
template<typename NUM>
bool inRange (NUM value, NUM low, NUM high, RangeBoundary lowbound=CLOSED, RangeBoundary highbound=OPEN)
bool inRange (int value, int low, int high, RangeBoundary lowbound=CLOSED, RangeBoundary highbound=CLOSED)
template<typename Num>
Num sqr (Num a)
 Named number-type squaring operation.

Typedefs

typedef AnalysisAnalysisPtr
 Smart (shared) pointer for handling projections.
typedef Cmp< ProjectionPCmp
 Typedef for Cmp<Projection>.
typedef Error Exception
 Also typedef Exception, so that it's there.
typedef std::map< HistoFormat,
std::string > 
HistoFormatMap
 Typedef for a map of histogram format enums to strings.
typedef std::map< std::string,
HistoFormat
HistoFormatMapR
 Typedef for a map of histogram format name strings to enums.
typedef std::vector< HistoFormatHistoFormatList
 Typedef for a collection of histogram format name enums.
typedef Matrix< 4 > Matrix4
typedef Vector3 ThreeVector
typedef FourVector Vector4
typedef std::vector< ParticleParticleVector
typedef std::pair< Particle,
Particle
ParticlePair
typedef int PdgId
 Typedef for a PDG ID code.
typedef std::pair< PdgId, PdgIdPidPair
 Typedef for a pair of particle names.
typedef std::pair< PdgId, PdgIdBeamPair
 Typedef for a pair of beam particle names.
typedef std::map< PdgId,
std::string > 
ParticleNameMap
 Typedef for a map of beam particle name enums to strings.
typedef std::map< std::string,
PdgId
ParticleNameMapR
 Typedef for a map of beam particle name strings to enums.
typedef std::vector< PdgIdParticleNameList
 Typedef for a collection of beam particle name enums.
typedef ProjectionProjectionPtr
typedef const ProjectionConstProjectionPtr
typedef shared_ptr< const
Projection
ProjHandle
 Typedef for Projection (smart) pointer.
typedef vector
< fastjet::PseudoJet > 
PseudoJets
 Typedef for a collection of PseudoJets.
typedef
MultiplicityInConeEstimator
< Jet, std::vector< Jet > > 
JetIsoEstimatorByMultiplicity
 Typedefs.
typedef
MultiplicityInConeEstimator
< Particle, std::vector< Jet > > 
ParticleFromJetIsoEstimatorByMultiplicity
typedef
MultiplicityInConeEstimator
< Particle, std::vector
< Particle > > 
ParticleIsoEstimatorByMultiplicity
typedef PtInConeEstimator< Jet,
std::vector< Jet > > 
JetIsoEstimatorByPt
typedef PtInConeEstimator
< Particle, std::vector< Jet > > 
ParticleFromJetIsoEstimatorByPt
typedef PtInConeEstimator
< Particle, std::vector
< Particle > > 
ParticleIsoEstimatorByPt
typedef IsolationProjection
< JetAlg, JetAlg
AllJetsIso
typedef IsolationProjection
< FinalState, FinalState
AllParticleIso
typedef IsolationProjection
< FinalState, JetAlg
ParticleFromJetIso
typedef std::vector< double > BinEdges
 Typedef for a collection of bin edges.
typedef boost::minstd_rand RngBase
typedef boost::uniform_real UniformRealDist
typedef
boost::variate_generator
< RngBase &, UniformRealDist
UniformRealRNG
typedef boost::uniform_int UniformIntDist
typedef
boost::variate_generator
< RngBase &, UniformIntDist
UniformIntRNG
typedef pair< string, string > Param
 Typedef for a parameter name:value pair.
typedef const pair< string,
string > 
cParam
typedef vector< ParamParamMap
 Typedef for a parameter container.
typedef const vector< ParamcParamMap
typedef std::pair< double, double > doublepair

Enumerations

enum  CmpState { UNDEFINED = -2, ORDERED = -1, EQUIVALENT = 0, UNORDERED = 1 }
 Enumerate the possible states of a Cmp object. More...
enum  HistoFormat { AIDAML, FLAT, ROOT }
 Enumeration of available histogram output formats. More...
enum  Sign { MINUS = -1, ZERO = 0, PLUS = 1 }
 Enum for signs of numbers. More...
enum  DeltaRScheme { PSEUDORAPIDITY, RAPIDITY }
 Enum for longitudinal variable to be used in calculating $ R $. More...
enum  PhiMapping { MINUSPI_PLUSPI, ZERO_2PI }
 Enum for range of $ \phi $ to be mapped into. More...
enum  ParticleName {
  ELECTRON = 11, POSITRON = -11, PROTON = 2212, ANTIPROTON = -2212,
  PHOTON = 22, NEUTRON = 2112, ANTINEUTRON = -2112, MUON = 13,
  ANTIMUON = -13, NU_E = 12, NU_EBAR = -12, NU_MU = 14,
  NU_MUBAR = -14, NU_TAU = 16, NU_TAUBAR = -16, PIPLUS = 211,
  PIMINUS = -211, K0L = 130, K0S = 310, KPLUS = 321,
  KMINUS = -321, LAMBDA = 3122, LAMBDABAR = -3122, XIMINUS = 3312,
  XIPLUS = -3312, OMEGAMINUS = 3334, OMEGAPLUS = -3334, TAU = 15,
  ANTITAU = -15, EMINUS = 11, EPLUS = -11, P = 2212,
  PBAR = -2212, GLUON = 21, GAMMA = 22, WPLUSBOSON = 24,
  WMINUSBOSON = -24, ZBOSON = 23, HIGGS = 25, DQUARK = 1,
  UQUARK = 2, SQUARK = 3, CQUARK = 4, BQUARK = 5,
  TQUARK = 6, ANY = 10000, PHOTOELECTRON, PHOTOPOSITRON,
  PHOTOMUON, PHOTOANTIMUON, PHOTOTAU, PHOTOANTITAU
}
 Enumeration of available beam particles (using PDG IDs where available). More...

Functions

std::string toString (const AnalysisInfo &ai)
 String representation.
std::ostream & operator<< (std::ostream &os, const AnalysisInfo &ai)
 Stream an AnalysisInfo as a text description.
bool compatible (PdgId p, PdgId allowed)
bool compatible (const BeamPair &pair, const BeamPair &allowedpair)
bool compatible (const ParticlePair &ppair, const BeamPair &allowedpair)
 Check particle compatibility of Particle pairs.
bool compatible (const BeamPair &allowedpair, const ParticlePair &ppair)
 Check particle compatibility of Particle pairs (for symmetric completeness).
bool compatible (const BeamPair &pair, const set< BeamPair > &allowedpairs)
set< BeamPairintersection (const set< BeamPair > &a, const set< BeamPair > &b)
 Return the intersection of two sets of BeamPairs.
template<typename T>
Cmp< T > cmp (const T &t1, const T &t2)
 Global helper function for easy creation of Cmp objects.
Cmp< Projectionpcmp (const Projection &p1, const Projection &p2)
 Global helper function for easy creation of Cmp<Projection> objects.
Cmp< Projectionpcmp (const Projection &parent1, const Projection &parent2, const string &pname)
Cmp< Projectionpcmp (const Projection *parent1, const Projection &parent2, const string &pname)
Cmp< Projectionpcmp (const Projection &parent1, const Projection *parent2, const string &pname)
Cmp< Projectionpcmp (const Projection *parent1, const Projection *parent2, const string &pname)
HistoFormatMap getKnownHistoFormats ()
 Function which returns a map from histogram format enums to the corresponding name strings.
HistoFormatMapR getKnownHistoFormatsR ()
 Function which returns a map from histogram format name strings to the corresponding enums.
HistoFormatList getKnownHistoFormatEnums ()
std::vector< std::string > getKnownHistoFormatNames ()
 Function which returns a vector of all the histogram format name strings.
double lorentzGamma (const double beta)
LorentzTransform inverse (const LorentzTransform &lt)
LorentzTransform combine (const LorentzTransform &a, const LorentzTransform &b)
FourVector transform (const LorentzTransform &lt, const FourVector &v4)
string toString (const LorentzTransform &lt)
ostream & operator<< (std::ostream &out, const LorentzTransform &lt)
template<size_t N>
EigenSystem< N > diagonalize (const Matrix< N > &m)
template<size_t N>
const string toString (const typename EigenSystem< N >::EigenPair &e)
template<size_t N>
ostream & operator<< (std::ostream &out, const typename EigenSystem< N >::EigenPair &e)
template<size_t N>
Matrix< N > multiply (const Matrix< N > &a, const Matrix< N > &b)
template<size_t N>
Matrix< N > divide (const Matrix< N > &, const double)
template<size_t N>
Matrix< N > operator* (const Matrix< N > &a, const Matrix< N > &b)
template<size_t N>
Matrix< N > add (const Matrix< N > &a, const Matrix< N > &b)
template<size_t N>
Matrix< N > subtract (const Matrix< N > &a, const Matrix< N > &b)
template<size_t N>
Matrix< N > operator+ (const Matrix< N > a, const Matrix< N > &b)
template<size_t N>
Matrix< N > operator- (const Matrix< N > a, const Matrix< N > &b)
template<size_t N>
Matrix< N > multiply (const double a, const Matrix< N > &m)
template<size_t N>
Matrix< N > multiply (const Matrix< N > &m, const double a)
template<size_t N>
Matrix< N > operator* (const double a, const Matrix< N > &m)
template<size_t N>
Matrix< N > operator* (const Matrix< N > &m, const double a)
template<size_t N>
Vector< N > multiply (const Matrix< N > &a, const Vector< N > &b)
template<size_t N>
Vector< N > operator* (const Matrix< N > &a, const Vector< N > &b)
template<size_t N>
Matrix< N > transpose (const Matrix< N > &m)
template<size_t N>
Matrix< N > inverse (const Matrix< N > &m)
template<size_t N>
double det (const Matrix< N > &m)
template<size_t N>
double trace (const Matrix< N > &m)
template<size_t N>
string toString (const Matrix< N > &m)
 Make string representation.
template<size_t N>
ostream & operator<< (std::ostream &out, const Matrix< N > &m)
 Stream out string representation.
template<size_t N>
bool fuzzyEquals (const Matrix< N > &ma, const Matrix< N > &mb, double tolerance=1E-5)
 Compare two matrices by index, allowing for numerical precision.
template<size_t N>
bool isZero (const Matrix< N > &m, double tolerance=1E-5)
 External form of numerically safe nullness check.
Vector3 multiply (const double, const Vector3 &)
Vector3 multiply (const Vector3 &, const double)
Vector3 add (const Vector3 &, const Vector3 &)
Vector3 operator* (const double, const Vector3 &)
Vector3 operator* (const Vector3 &, const double)
Vector3 operator/ (const Vector3 &, const double)
Vector3 operator+ (const Vector3 &, const Vector3 &)
Vector3 operator- (const Vector3 &, const Vector3 &)
double dot (const Vector3 &a, const Vector3 &b)
Vector3 cross (const Vector3 &a, const Vector3 &b)
Vector3 subtract (const Vector3 &a, const Vector3 &b)
double angle (const Vector3 &a, const Vector3 &b)
 Angle (in radians) between two 3-vectors.
double polarRadius2 (const Vector3 &v)
 Calculate transverse length sq. $ \rho^2 $ of a 3-vector.
double perp2 (const Vector3 &v)
 Synonym for polarRadius2.
double rho2 (const Vector3 &v)
 Synonym for polarRadius2.
double polarRadius (const Vector3 &v)
 Calculate transverse length $ \rho $ of a 3-vector.
double perp (const Vector3 &v)
 Synonym for polarRadius.
double rho (const Vector3 &v)
 Synonym for polarRadius.
double azimuthalAngle (const Vector3 &v, const PhiMapping mapping=ZERO_2PI)
 Calculate azimuthal angle of a 3-vector. Returns a number in (-pi, pi] or in [0, 2pi) according to the mapping scheme selected.
double phi (const Vector3 &v, const PhiMapping mapping=ZERO_2PI)
 Synonym for azimuthalAngle.
double polarAngle (const Vector3 &v)
 Calculate polar angle of a 3-vector.
double theta (const Vector3 &v)
 Synonym for polarAngle.
double pseudorapidity (const Vector3 &v)
 Calculate pseudorapidity of a 3-vector.
double eta (const Vector3 &v)
 Synonym for pseudorapidity.
double deltaR (const Vector3 &a, const Vector3 &b)
double deltaR (const Vector3 &v, double eta2, double phi2)
double deltaR (double eta1, double phi1, const Vector3 &v)
double contract (const FourVector &a, const FourVector &b)
 Contract two 4-vectors, with metric signature (+ - - -).
double dot (const FourVector &a, const FourVector &b)
 Contract two 4-vectors, with metric signature (+ - - -).
FourVector multiply (const double a, const FourVector &v)
FourVector multiply (const FourVector &v, const double a)
FourVector operator* (const double a, const FourVector &v)
FourVector operator* (const FourVector &v, const double a)
FourVector operator/ (const FourVector &v, const double a)
FourVector add (const FourVector &a, const FourVector &b)
FourVector operator+ (const FourVector &a, const FourVector &b)
FourVector operator- (const FourVector &a, const FourVector &b)
double invariant (const FourVector &lv)
double angle (const FourVector &a, const FourVector &b)
 Angle (in radians) between spatial parts of two Lorentz vectors.
double angle (const Vector3 &a, const FourVector &b)
 Angle (in radians) between spatial parts of two Lorentz vectors.
double angle (const FourVector &a, const Vector3 &b)
 Angle (in radians) between spatial parts of two Lorentz vectors.
double polarRadius2 (const FourVector &v)
 Calculate transverse length sq. $ \rho^2 $ of a Lorentz vector.
double perp2 (const FourVector &v)
 Synonym for polarRadius2.
double rho2 (const FourVector &v)
 Synonym for polarRadius2.
double polarRadius (const FourVector &v)
 Calculate transverse length $ \rho $ of a Lorentz vector.
double perp (const FourVector &v)
 Synonym for polarRadius.
double rho (const FourVector &v)
 Synonym for polarRadius.
double azimuthalAngle (const FourVector &v, const PhiMapping mapping=ZERO_2PI)
 Calculate azimuthal angle of a Lorentz vector.
double phi (const FourVector &v, const PhiMapping mapping=ZERO_2PI)
 Synonym for azimuthalAngle.
double polarAngle (const FourVector &v)
 Calculate polar angle of a Lorentz vector.
double theta (const FourVector &v)
 Synonym for polarAngle.
double pseudorapidity (const FourVector &v)
 Calculate pseudorapidity of a Lorentz vector.
double eta (const FourVector &v)
 Synonym for pseudorapidity.
double mass2 (const FourMomentum &v)
 Get squared mass $ m^2 = E^2 - p^2 $ (the Lorentz self-invariant) of a momentum 4-vector.
double mass (const FourMomentum &v)
 Get mass $ m = \sqrt{E^2 - p^2} $ (the Lorentz self-invariant) of a momentum 4-vector.
double rapidity (const FourMomentum &v)
 Calculate rapidity of a momentum 4-vector.
double pT2 (const FourMomentum &v)
 Calculate squared transverse momentum $ p_T^2 $ of a momentum 4-vector.
double pT (const FourMomentum &v)
 Calculate transverse momentum $ p_T $ of a momentum 4-vector.
double Et2 (const FourMomentum &v)
 Calculate transverse energy squared, $ E_T^2 = E^2 \sin^2{\theta} $ of a momentum 4-vector.
double Et (const FourMomentum &v)
 Calculate transverse energy $ E_T = E \sin{\theta} $ of a momentum 4-vector.
Vector3 boostVector (const FourMomentum &v)
 Calculate velocity boost vector of a momentum 4-vector.
double deltaR (const FourVector &a, const FourVector &b, DeltaRScheme scheme=PSEUDORAPIDITY)
double deltaR (const FourVector &v, double eta2, double phi2, DeltaRScheme scheme=PSEUDORAPIDITY)
double deltaR (double eta1, double phi1, const FourVector &v, DeltaRScheme scheme=PSEUDORAPIDITY)
double deltaR (const FourMomentum &a, const FourMomentum &b, DeltaRScheme scheme=PSEUDORAPIDITY)
double deltaR (const FourMomentum &v, double eta2, double phi2, DeltaRScheme scheme=PSEUDORAPIDITY)
double deltaR (double eta1, double phi1, const FourMomentum &v, DeltaRScheme scheme=PSEUDORAPIDITY)
const string toString (const FourVector &lv)
 Render a 4-vector as a string.
std::ostream & operator<< (std::ostream &out, const FourVector &lv)
 Write a 4-vector to an ostream.
template<size_t N>
double mod2 (const Vector< N > &v)
template<size_t N>
double mod (const Vector< N > &v)
template<size_t N>
const string toString (const Vector< N > &v)
 Make string representation.
template<size_t N>
std::ostream & operator<< (std::ostream &out, const Vector< N > &v)
 Stream out string representation.
template<size_t N>
bool fuzzyEquals (const Vector< N > &va, const Vector< N > &vb, double tolerance=1E-5)
 Compare two vectors by index, allowing for numerical precision.
template<size_t N>
bool isZero (const Vector< N > &v, double tolerance=1E-5)
 External form of numerically safe nullness check.
std::pair< PdgId, PdgIdmake_pdgid_pair (PdgId a, PdgId b)
 Convenience maker of particle ID pairs.
std::pair< PdgId, PdgIdmake_pdgid_pair (std::pair< ParticleName, ParticleName > pnamepair)
 Convenience maker of particle ID pairs.
ParticleNameMap getParticleNamesMap ()
 Function which returns a map from beam particle enums to the corresponding name strings.
ParticleNameMapR getParticleNamesRMap ()
 Function which returns a map from beam particle name strings to the corresponding enums.
ParticleNameList getParticleNameEnums ()
ParticleName getParticleNameEnum (const std::string &pname)
 Function which converts a particle name string to a ParticleName enum.
std::vector< std::string > getParticleNames ()
 Function which returns a vector of all the beam particle name strings.
std::string toString (const ParticleName &p)
 Print a ParticleName as a string.
std::string toParticleName (PdgId p)
 Print a PdgId as a named string.
std::ostream & operator<< (std::ostream &os, const ParticleName &p)
 Allow ParticleName to be passed to an iostream.
std::string toString (const BeamPair &pair)
 Print a BeamPair as a string.
std::ostream & operator<< (std::ostream &os, const BeamPair &bp)
 Allow BeamPair to be passed to an ostream.
template<typename PROJ>
const PROJ & pcast (const Projection &p)
 Convenience method for casting to a const Projection reference.
template<typename PROJ>
const PROJ * pcast (const Projection *p)
 Convenience method for casting to a const Projection pointer.
Vector3 momentum3 (const fastjet::PseudoJet &pj)
 Make a 3-momentum vector from a FastJet pseudo-jet.
FourMomentum momentum (const fastjet::PseudoJet &pj)
 Make a 4-momentum vector from a FastJet pseudo-jet.
bool cmpMomByPt (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByAscPt (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByEt (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByAscEt (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByE (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByAscE (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByDescPseudorapidity (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByAscPseudorapidity (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByDescAbsPseudorapidity (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByAscAbsPseudorapidity (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByDescRapidity (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByAscRapidity (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByDescAbsRapidity (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByAscAbsRapidity (const FourMomentum &a, const FourMomentum &b)
string version ()
 A function to get the Rivet version string.
template<typename T>
std::ostream & operator<< (std::ostream &os, const std::vector< T > &vec)
 Convenient function for streaming out vectors of any streamable object.
template<typename T>
std::ostream & operator<< (std::ostream &os, const std::list< T > &vec)
 Convenient function for streaming out lists of any streamable object.
AIDA::IAnalysisFactory * createAnalysisFactory ()
 Get an AIDA system (LWH impl.).
const map< string, BinEdgesgetBinEdges (string papername)
const map< string, BinEdgesgetBinEdges (const map< string, vector< DPSXPoint > > &xpoints)
const map< string, vector
< DPSXPoint > > 
getDPSXValsErrs (string papername)
const string getDataPath (string papername)
 Get the file system path to the AIDA reference file for this paper.
void normalize (AIDA::IHistogram1D *histo, const double norm=1.0)
 Normalize the histogram to norm .
double integral (AIDA::IHistogram1D *histo)
 Return the integral over the histogram bins assuming it has been.
vector< GenParticle * > particles (const GenEvent &ge)
vector< GenParticle * > particles (const GenEvent *ge)
vector< GenVertex * > vertices (const GenEvent &ge)
vector< GenVertex * > vertices (const GenEvent *ge)
const vector< GenParticle * > particles_in (const GenVertex *gv)
const vector< GenParticle * > particles_out (const GenVertex *gv)
vector< GenParticle * > particles (GenVertex *gv, HepMC::IteratorRange range=HepMC::relatives)
std::ostream & operator<< (Log &log, int level)
 Streaming output to a logger must have a Log::Level/int as its first argument.
int nocase_cmp (const string &s1, const string &s2)
string toLower (const string &s)
string toUpper (const string &s)
bool startsWith (const string &s, const string &start)
bool endsWith (const string &s, const string &end)
vector< string > split (string path, const string delim=":")
const string getLibPath ()
 Get library install path.
const string getDataPath ()
 Get data install path.
const string getRivetDataPath ()
 Get Rivet data install path.
const string getRivetgunDataPath ()
 Get RivetGun data install path.
double get2dClosestApproach (const HepMC::GenParticle &track, const Vector3 &vtx3pos)
double get3dClosestApproach (const HepMC::GenParticle &track, const Vector3 &vtx3pos)
double get2dDecayLength (const Vector3 &vtx1, const Vector3 &vtx2, const FourMomentum &jetaxis)
 Return 2-dimensional decay length between two vertices in transverse plane.
double get3dDecayLength (const Vector3 &vtx1, const Vector3 &vtx2, const FourMomentum &jetaxis)
 Return 3-dimensional decay length between vertices.
string makeAxisCode (const size_t datasetId, const size_t xAxisId, const size_t yAxisId)
void _geNormUnits (GenEvent &ge)
void _geRot180x (GenEvent &ge)
void _geNormAlignment (GenEvent &ge)
bool chargedParticleFilter (const Particle &p)
bool hadronFilter (const Particle &p)
bool mod2Cmp (const Vector3 &a, const Vector3 &b)
void _calcT (const vector< Vector3 > &momenta, double &t, Vector3 &taxis)
void _setup_vfs (VetoedFinalState &vfs)
void _updateLevels (const Log::LevelMap &defaultLevels, Log::LogMap &existingLogs)
const string getDatafilePath (string papername)
Statistics functions
double mean (const vector< int > &sample)
 Calculate the mean of a sample.
double covariance (const vector< int > &sample1, const vector< int > &sample2)
 Calculate the covariance (variance) between two samples.
double correlation (const vector< int > &sample1, const vector< int > &sample2)
 Calculate the correlation strength between two samples.
Angle range mappings
double _mapAngleM2PITo2Pi (double angle)
double mapAngleMPiToPi (double angle)
 Map an angle into the range (-PI, PI].
double mapAngle0To2Pi (double angle)
 Map an angle into the range [0, 2PI).
double mapAngle0ToPi (double angle)
 Map an angle into the range [0, PI].
Phase space measure helpers
double deltaPhi (double phi1, double phi2)
double deltaR (double y1, double phi1, double y2, double phi2)
double rapidity (double E, double pz)
 Calculate a rapidity value from the supplied energy E and longitudinal momentum .
String representation
std::string toString (const ParticlePair &pair)
 Print a ParticlePair as a string.
std::ostream & operator<< (std::ostream &os, const ParticlePair &pp)
 Allow ParticlePair to be passed to an ostream.
Comparison functors
bool cmpParticleByPt (const Particle &a, const Particle &b)
 Sort by descending transverse momentum, $ p_\perp $.
bool cmpParticleByAscPt (const Particle &a, const Particle &b)
 Sort by ascending transverse momentum, $ p_\perp $.
bool cmpParticleByEt (const Particle &a, const Particle &b)
 Sort by descending transverse energy, $ E_\perp $.
bool cmpParticleByAscEt (const Particle &a, const Particle &b)
 Sort by ascending transverse energy, $ E_\perp $.
bool cmpParticleByE (const Particle &a, const Particle &b)
 Sort by descending energy, $ E $.
bool cmpParticleByAscE (const Particle &a, const Particle &b)
 Sort by ascending energy, $ E $.
bool cmpParticleByDescPseudorapidity (const Particle &a, const Particle &b)
 Sort by descending pseudorapidity, $ \eta $.
bool cmpParticleByAscPseudorapidity (const Particle &a, const Particle &b)
 Sort by ascending pseudorapidity, $ \eta $.
bool cmpParticleByDescAbsPseudorapidity (const Particle &a, const Particle &b)
 Sort by descending absolute pseudorapidity, $ |\eta| $.
bool cmpParticleByAscAbsPseudorapidity (const Particle &a, const Particle &b)
 Sort by ascending absolute pseudorapidity, $ |\eta| $.
bool cmpParticleByDescRapidity (const Particle &a, const Particle &b)
 Sort by descending rapidity, $ y $.
bool cmpParticleByAscRapidity (const Particle &a, const Particle &b)
 Sort by ascending rapidity, $ y $.
bool cmpParticleByDescAbsRapidity (const Particle &a, const Particle &b)
 Sort by descending absolute rapidity, $ |y| $.
bool cmpParticleByAscAbsRapidity (const Particle &a, const Particle &b)
 Sort by ascending absolute rapidity, $ |y| $.
Stand-alone functions
ParticlePair beams (const Event &e)
 Function to get beam particles from an event.
BeamPair beamIds (const Event &e)
 Function to get beam particle IDs from an event.
BeamPair beamIds (const ParticlePair &beams)
 Function to get beam particle IDs from a pair of particles.
double sqrtS (const Event &e)
 Function to get beam centre of mass energy from an event.
double sqrtS (const ParticlePair &beams)
 Function to get beam centre of mass energy from a pair of particles.
double sqrtS (const FourMomentum &pa, const FourMomentum &pb)
 Function to get beam centre of mass energy from a pair of beam momenta.
Jet angle calculator functions
double calc_BZ (const vector< fastjet::PseudoJet > &jets)
double calc_KSW (const vector< fastjet::PseudoJet > &jets)
double calc_NR (const vector< fastjet::PseudoJet > &jets)
double calc_ALPHA34 (const vector< fastjet::PseudoJet > &jets)

Variables

static const double pi = 3.14159265358979323846
static const double twopi = 2*pi
static const double halfpi = pi/2
static const double pi2 = pi*pi
static const double Avogadro = 6.0221367e+23/mole
static const double c_light = 2.99792458e+8 * m/s
static const double c_squared = c_light * c_light
static const double h_Planck = 6.6260755e-34 * joule*s
static const double hbar_Planck = h_Planck/twopi
static const double hbarc = hbar_Planck * c_light
static const double hbarc_squared = hbarc * hbarc
static const double electron_charge = - eplus
static const double e_squared = eplus * eplus
static const double electron_mass_c2 = 0.51099906 * MeV
static const double proton_mass_c2 = 938.27231 * MeV
static const double neutron_mass_c2 = 939.56563 * MeV
static const double amu_c2 = 931.49432 * MeV
static const double amu = amu_c2/c_squared
static const double mu0 = 4*pi*1.e-7 * henry/m
static const double epsilon0 = 1./(c_squared*mu0)
static const double elm_coupling = e_squared/(4*pi*epsilon0)
static const double fine_structure_const = elm_coupling/hbarc
static const double classic_electr_radius = elm_coupling/electron_mass_c2
static const double electron_Compton_length = hbarc/electron_mass_c2
static const double Bohr_radius = electron_Compton_length/fine_structure_const
static const double alpha_rcl2
static const double twopi_mc2_rcl2
static const double k_Boltzmann = 8.617385e-11 * MeV/kelvin
static const double STP_Temperature = 273.15*kelvin
static const double STP_Pressure = 1.*atmosphere
static const double kGasThreshold = 10.*mg/cm3
static const double universe_mean_density = 1.e-25*g/cm3
const double MAXDOUBLE = std::numeric_limits<double>::max()
const double MAXINT = std::numeric_limits<int>::max()
const double PI = M_PI
 A pre-defined value of $ \pi $.
const double TWOPI = 2*M_PI
 A pre-defined value of $ 2\pi $.
const double HALFPI = M_PI_2
 A pre-defined value of $ \pi/2 $.
static const double millimeter = 1.
static const double millimeter2 = millimeter*millimeter
static const double millimeter3 = millimeter*millimeter*millimeter
static const double centimeter = 10.*millimeter
static const double centimeter2 = centimeter*centimeter
static const double centimeter3 = centimeter*centimeter*centimeter
static const double meter = 1000.*millimeter
static const double meter2 = meter*meter
static const double meter3 = meter*meter*meter
static const double kilometer = 1000.*meter
static const double kilometer2 = kilometer*kilometer
static const double kilometer3 = kilometer*kilometer*kilometer
static const double parsec = 3.0856775807e+16*meter
static const double micrometer = 1.e-6 *meter
static const double nanometer = 1.e-9 *meter
static const double angstrom = 1.e-10*meter
static const double picometer = 1.e-12*meter
static const double femtometer = 1.e-15*meter
static const double attometer = 1.e-18*meter
static const double fermi = femtometer
static const double mm = millimeter
static const double mm2 = millimeter2
static const double mm3 = millimeter3
static const double cm = centimeter
static const double cm2 = centimeter2
static const double cm3 = centimeter3
static const double m = meter
static const double m2 = meter2
static const double m3 = meter3
static const double km = kilometer
static const double km2 = kilometer2
static const double km3 = kilometer3
static const double pc = parsec
static const double picobarn = 1.0
static const double barn = 1.0e+12* picobarn
static const double millibarn = 1.0e-3 * barn
static const double microbarn = 1.0e-6 * barn
static const double nanobarn = 1.0e-9 * barn
static const double femtobarn = 1.0e-15 * barn
static const double attobarn = 1.0e-18 * barn
static const double radian = 1.
static const double milliradian = 1.e-3*radian
static const double degree = (3.14159265358979323846/180.0)*radian
static const double steradian = 1.
static const double rad = radian
static const double mrad = milliradian
static const double sr = steradian
static const double deg = degree
static const double nanosecond = 1.0
static const double second = 1.e+9 *nanosecond
static const double millisecond = 1.e-3 *second
static const double microsecond = 1.e-6 *second
static const double picosecond = 1.e-12*second
static const double hertz = 1.0/second
static const double kilohertz = 1.e+3*hertz
static const double megahertz = 1.e+6*hertz
static const double ns = nanosecond
static const double s = second
static const double ms = millisecond
static const double eplus = 1.0
static const double e_SI = 1.60217733e-19
static const double coulomb = eplus/e_SI
static const double gigaelectronvolt = 1.
static const double electronvolt = 1.e-9*gigaelectronvolt
static const double kiloelectronvolt = 1.e-6*gigaelectronvolt
static const double megaelectronvolt = 1.e-3*gigaelectronvolt
static const double teraelectronvolt = 1.e+3*gigaelectronvolt
static const double petaelectronvolt = 1.e+6*gigaelectronvolt
static const double joule = electronvolt/e_SI
static const double eV = electronvolt
static const double keV = kiloelectronvolt
static const double MeV = megaelectronvolt
static const double GeV = gigaelectronvolt
static const double TeV = teraelectronvolt
static const double PeV = petaelectronvolt
static const double eV2 = eV*eV
static const double keV2 = keV*keV
static const double MeV2 = MeV*MeV
static const double GeV2 = GeV*GeV
static const double TeV2 = TeV*TeV
static const double PeV2 = PeV*PeV
static const double kilogram = joule*second*second/(meter*meter)
static const double gram = 1.e-3*kilogram
static const double milligram = 1.e-3*gram
static const double kg = kilogram
static const double g = gram
static const double mg = milligram
static const double watt = joule/second
static const double newton = joule/meter
static const double hep_pascal = newton/m2
static const double bar = 100000*pascal
static const double atmosphere = 101325*pascal
static const double ampere = coulomb/second
static const double milliampere = 1.e-3*ampere
static const double microampere = 1.e-6*ampere
static const double nanoampere = 1.e-9*ampere
static const double megavolt = megaelectronvolt/eplus
static const double kilovolt = 1.e-3*megavolt
static const double volt = 1.e-6*megavolt
static const double ohm = volt/ampere
static const double farad = coulomb/volt
static const double millifarad = 1.e-3*farad
static const double microfarad = 1.e-6*farad
static const double nanofarad = 1.e-9*farad
static const double picofarad = 1.e-12*farad
static const double weber = volt*second
static const double tesla = volt*second/meter2
static const double gauss = 1.e-4*tesla
static const double kilogauss = 1.e-1*tesla
static const double henry = weber/ampere
static const double kelvin = 1.
static const double mole = 1.
static const double becquerel = 1./second
static const double curie = 3.7e+10 * becquerel
static const double gray = joule/kilogram
static const double candela = 1.
static const double lumen = candela*steradian
static const double lux = lumen/meter2
static const double perCent = 0.01
static const double perThousand = 0.001
static const double perMillion = 0.000001
static const double MAXRAPIDITY = 100000.0
 A sensible default maximum value of rapidity for Rivet analyses to use.
static const double MaxRapidity = 100000.0
AnalysisBuilder
< ALEPH_1991_S2435284
plugin_ALEPH_1991_S2435284
AnalysisBuilder
< ALEPH_1996_S3196992
plugin_ALEPH_1996_S3196992
AnalysisBuilder
< ALEPH_1996_S3486095
plugin_ALEPH_1996_S3486095
AnalysisBuilder
< ALEPH_2004_S5765862
plugin_ALEPH_2004_S5765862
AnalysisBuilder
< ATLAS_2010_S8591806
plugin_ATLAS_2010_S8591806
AnalysisBuilder
< BELLE_2006_S6265367
plugin_BELLE_2006_S6265367
AnalysisBuilder
< CDF_1988_S1865951
plugin_CDF_1988_S1865951
AnalysisBuilder
< CDF_1990_S2089246
plugin_CDF_1990_S2089246
AnalysisBuilder
< CDF_1991_S2313472
plugin_CDF_1991_S2313472
AnalysisBuilder
< CDF_1994_S2952106
plugin_CDF_1994_S2952106
AnalysisBuilder
< CDF_1996_S3108457
plugin_CDF_1996_S3108457
AnalysisBuilder
< CDF_1996_S3349578
plugin_CDF_1996_S3349578
AnalysisBuilder
< CDF_1996_S3418421
plugin_CDF_1996_S3418421
AnalysisBuilder
< CDF_1997_S3541940
plugin_CDF_1997_S3541940
AnalysisBuilder
< CDF_1998_S3618439
plugin_CDF_1998_S3618439
AnalysisBuilder
< CDF_2000_S4155203
plugin_CDF_2000_S4155203
AnalysisBuilder
< CDF_2000_S4266730
plugin_CDF_2000_S4266730
AnalysisBuilder
< CDF_2001_S4517016
plugin_CDF_2001_S4517016
AnalysisBuilder
< CDF_2001_S4563131
plugin_CDF_2001_S4563131
AnalysisBuilder
< CDF_2001_S4751469
plugin_CDF_2001_S4751469
AnalysisBuilder
< CDF_2002_S4796047
plugin_CDF_2002_S4796047
AnalysisBuilder
< CDF_2004_S5839831
plugin_CDF_2004_S5839831
AnalysisBuilder
< CDF_2005_S6080774
plugin_CDF_2005_S6080774
AnalysisBuilder
< CDF_2005_S6217184
plugin_CDF_2005_S6217184
AnalysisBuilder
< CDF_2006_S6450792
plugin_CDF_2006_S6450792
AnalysisBuilder
< CDF_2006_S6653332
plugin_CDF_2006_S6653332
AnalysisBuilder
< CDF_2007_S7057202
plugin_CDF_2007_S7057202
AnalysisBuilder
< CDF_2008_LEADINGJETS
plugin_CDF_2008_LEADINGJETS
AnalysisBuilder
< CDF_2008_NOTE_9351
plugin_CDF_2008_NOTE_9351
AnalysisBuilder
< CDF_2008_S7540469
plugin_CDF_2008_S7540469
AnalysisBuilder
< CDF_2008_S7541902
plugin_CDF_2008_S7541902
AnalysisBuilder
< CDF_2008_S7782535
plugin_CDF_2008_S7782535
AnalysisBuilder
< CDF_2008_S7828950
plugin_CDF_2008_S7828950
AnalysisBuilder
< CDF_2008_S8093652
plugin_CDF_2008_S8093652
AnalysisBuilder
< CDF_2008_S8095620
plugin_CDF_2008_S8095620
AnalysisBuilder
< CDF_2009_S8057893
plugin_CDF_2009_S8057893
AnalysisBuilder
< CDF_2009_S8233977
plugin_CDF_2009_S8233977
AnalysisBuilder
< CDF_2009_S8383952
plugin_CDF_2009_S8383952
AnalysisBuilder
< CDF_2009_S8436959
plugin_CDF_2009_S8436959
AnalysisBuilder< D0_1996_S3214044plugin_D0_1996_S3214044
AnalysisBuilder< D0_1996_S3324664plugin_D0_1996_S3324664
AnalysisBuilder< D0_1998_S3711838plugin_D0_1998_S3711838
AnalysisBuilder< D0_2001_S4674421plugin_D0_2001_S4674421
AnalysisBuilder< D0_2004_S5992206plugin_D0_2004_S5992206
AnalysisBuilder< D0_2006_S6438750plugin_D0_2006_S6438750
AnalysisBuilder< D0_2007_S7075677plugin_D0_2007_S7075677
AnalysisBuilder< D0_2008_S6879055plugin_D0_2008_S6879055
AnalysisBuilder< D0_2008_S7554427plugin_D0_2008_S7554427
AnalysisBuilder< D0_2008_S7662670plugin_D0_2008_S7662670
AnalysisBuilder< D0_2008_S7719523plugin_D0_2008_S7719523
AnalysisBuilder< D0_2008_S7837160plugin_D0_2008_S7837160
AnalysisBuilder< D0_2008_S7863608plugin_D0_2008_S7863608
AnalysisBuilder< D0_2009_S8202443plugin_D0_2009_S8202443
AnalysisBuilder< D0_2009_S8320160plugin_D0_2009_S8320160
AnalysisBuilder< D0_2009_S8349509plugin_D0_2009_S8349509
AnalysisBuilder< D0_2010_S8566488plugin_D0_2010_S8566488
AnalysisBuilder< D0_2010_S8570965plugin_D0_2010_S8570965
AnalysisBuilder
< DELPHI_1995_S3137023
plugin_DELPHI_1995_S3137023
AnalysisBuilder
< DELPHI_2002_069_CONF_603
plugin_DELPHI_2002_069_CONF_603
AnalysisBuilder
< E735_1998_S3905616
plugin_E735_1998_S3905616
AnalysisBuilder< ExampleAnalysisplugin_ExampleAnalysis
AnalysisBuilder< H1_1994_S2919893plugin_H1_1994_S2919893
AnalysisBuilder< H1_1995_S3167097plugin_H1_1995_S3167097
AnalysisBuilder< H1_2000_S4129130plugin_H1_2000_S4129130
AnalysisBuilder
< JADE_OPAL_2000_S4300807
plugin_JADE_OPAL_2000_S4300807
AnalysisBuilder< MC_DIJETplugin_MC_DIJET
AnalysisBuilder< MC_DIPHOTONplugin_MC_DIPHOTON
AnalysisBuilder< MC_JETSplugin_MC_JETS
AnalysisBuilder< MC_LEADINGJETSplugin_MC_LEADINGJETS
AnalysisBuilder< MC_PHOTONJETSplugin_MC_PHOTONJETS
AnalysisBuilder< MC_PHOTONJETUEplugin_MC_PHOTONJETUE
AnalysisBuilder< MC_SUSYplugin_MC_SUSY
AnalysisBuilder< MC_TTBARplugin_MC_TTBAR
AnalysisBuilder< MC_WJETSplugin_MC_WJETS
AnalysisBuilder< MC_ZJETSplugin_MC_ZJETS
AnalysisBuilder
< OPAL_1998_S3780481
plugin_OPAL_1998_S3780481
AnalysisBuilder
< OPAL_2004_S6132243
plugin_OPAL_2004_S6132243
AnalysisBuilder
< PDG_HADRON_MULTIPLICITIES
plugin_PDG_HADRON_MULTIPLICITIES
AnalysisBuilder
< PDG_HADRON_MULTIPLICITIES_RATIOS
plugin_PDG_HADRON_MULTIPLICITIES_RATIOS
AnalysisBuilder
< SFM_1984_S1178091
plugin_SFM_1984_S1178091
AnalysisBuilder
< STAR_2006_S6500200
plugin_STAR_2006_S6500200
AnalysisBuilder
< STAR_2006_S6860818
plugin_STAR_2006_S6860818
AnalysisBuilder
< STAR_2006_S6870392
plugin_STAR_2006_S6870392
AnalysisBuilder
< STAR_2008_S7993412
plugin_STAR_2008_S7993412
AnalysisBuilder
< STAR_2009_UE_HELEN
plugin_STAR_2009_UE_HELEN
AnalysisBuilder
< UA1_1990_S2044935
plugin_UA1_1990_S2044935
AnalysisBuilder< UA5_1982_S875503plugin_UA5_1982_S875503
AnalysisBuilder
< UA5_1986_S1583476
plugin_UA5_1986_S1583476
AnalysisBuilder
< UA5_1988_S1867512
plugin_UA5_1988_S1867512
AnalysisBuilder
< UA5_1989_S1926373
plugin_UA5_1989_S1926373
AnalysisBuilder
< ZEUS_2001_S4815815
plugin_ZEUS_2001_S4815815

Typedef Documentation

Definition at line 11 of file IsolationTools.hh.

Definition at line 13 of file IsolationTools.hh.

Smart (shared) pointer for handling projections.

Definition at line 10 of file Analysis.fhh.

typedef std::pair<PdgId, PdgId> BeamPair

Typedef for a pair of beam particle names.

Definition at line 25 of file Particle.fhh.

typedef std::vector<double> BinEdges

Typedef for a collection of bin edges.

Definition at line 26 of file RivetAIDA.fhh.

Definition at line 11 of file Projection.fhh.

typedef const pair<string, string> cParam

Definition at line 15 of file Configuration.hh.

typedef const vector<Param> cParamMap

Definition at line 19 of file Configuration.hh.

typedef std::pair<double, double> doublepair

Definition at line 12 of file D0_2010_S8570965.cc.

typedef Error Exception

Also typedef Exception, so that it's there.

Definition at line 18 of file Exceptions.hh.

typedef std::vector<HistoFormat> HistoFormatList

Typedef for a collection of histogram format name enums.

Definition at line 44 of file HistoFormat.hh.

typedef std::map<HistoFormat, std::string> HistoFormatMap

Typedef for a map of histogram format enums to strings.

Definition at line 14 of file HistoFormat.hh.

typedef std::map<std::string, HistoFormat> HistoFormatMapR

Typedef for a map of histogram format name strings to enums.

Definition at line 18 of file HistoFormat.hh.

typedef MultiplicityInConeEstimator< Jet, std::vector < Jet > > JetIsoEstimatorByMultiplicity

Typedefs.

Definition at line 132 of file IsolationEstimators.hh.

typedef PtInConeEstimator< Jet, std::vector < Jet > > JetIsoEstimatorByPt

Definition at line 136 of file IsolationEstimators.hh.

typedef Matrix<4> Matrix4

Definition at line 14 of file MatrixN.hh.

typedef pair<string, string> Param

Typedef for a parameter name:value pair.

Definition at line 14 of file Configuration.hh.

typedef vector<Param> ParamMap

Typedef for a parameter container.

Definition at line 18 of file Configuration.hh.

Definition at line 15 of file IsolationTools.hh.

Definition at line 133 of file IsolationEstimators.hh.

Definition at line 137 of file IsolationEstimators.hh.

Definition at line 134 of file IsolationEstimators.hh.

Definition at line 138 of file IsolationEstimators.hh.

typedef std::vector<PdgId> ParticleNameList

Typedef for a collection of beam particle name enums.

Definition at line 139 of file ParticleName.hh.

typedef std::map<PdgId, std::string> ParticleNameMap

Typedef for a map of beam particle name enums to strings.

Definition at line 83 of file ParticleName.hh.

typedef std::map<std::string, PdgId> ParticleNameMapR

Typedef for a map of beam particle name strings to enums.

Definition at line 87 of file ParticleName.hh.

typedef std::pair<Particle, Particle> ParticlePair

Typedef a pair of Particle objects.

Definition at line 16 of file Particle.fhh.

typedef std::vector<Particle> ParticleVector

Typedef a vector of Particle objects.

Definition at line 10 of file Particle.fhh.

typedef Cmp<Projection> PCmp

Typedef for Cmp<Projection>.

Definition at line 286 of file Cmp.hh.

typedef int PdgId

Typedef for a PDG ID code.

Definition at line 19 of file Particle.fhh.

typedef std::pair<PdgId, PdgId> PidPair

Typedef for a pair of particle names.

Definition at line 22 of file Particle.fhh.

Definition at line 9 of file Projection.fhh.

typedef shared_ptr<const Projection> ProjHandle

Typedef for Projection (smart) pointer.

Definition at line 15 of file ProjectionHandler.hh.

typedef vector<fastjet::PseudoJet> PseudoJets

Typedef for a collection of PseudoJets.

Definition at line 29 of file FastJets.hh.

typedef boost::minstd_rand RngBase

Definition at line 30 of file RivetBoost.hh.

Definition at line 11 of file Vector3.hh.

typedef boost::uniform_int UniformIntDist

Definition at line 33 of file RivetBoost.hh.

typedef boost::variate_generator<RngBase&, UniformIntDist> UniformIntRNG

Definition at line 34 of file RivetBoost.hh.

typedef boost::uniform_real UniformRealDist

Definition at line 31 of file RivetBoost.hh.

typedef boost::variate_generator<RngBase&, UniformRealDist> UniformRealRNG

Definition at line 32 of file RivetBoost.hh.

Definition at line 14 of file Vector4.hh.


Enumeration Type Documentation

enum CmpState

Enumerate the possible states of a Cmp object.

Enumerator:
UNDEFINED 
ORDERED 
EQUIVALENT 
UNORDERED 

Definition at line 14 of file Cmp.fhh.

00014                 {
00015     UNDEFINED = -2,  //< Undefined state.
00016     ORDERED = -1,    //< The two corresponding objects are ordered.
00017     EQUIVALENT = 0,  //< The two corresponding objects are equivalent.
00018     UNORDERED = 1    //< The two corresponding objects are unordered.
00019   };

Enum for longitudinal variable to be used in calculating $ R $.

Enumerator:
PSEUDORAPIDITY 
RAPIDITY 

Definition at line 55 of file MathHeader.hh.

Enumeration of available histogram output formats.

Enumerator:
AIDAML 
FLAT 
ROOT 

Definition at line 11 of file HistoFormat.hh.

00011 { AIDAML, FLAT, ROOT };

Enumeration of available beam particles (using PDG IDs where available).

Enumerator:
ELECTRON 
POSITRON 
PROTON 
ANTIPROTON 
PHOTON 
NEUTRON 
ANTINEUTRON 
MUON 
ANTIMUON 
NU_E 
NU_EBAR 
NU_MU 
NU_MUBAR 
NU_TAU 
NU_TAUBAR 
PIPLUS 
PIMINUS 
K0L 
K0S 
KPLUS 
KMINUS 
LAMBDA 
LAMBDABAR 
XIMINUS 
XIPLUS 
OMEGAMINUS 
OMEGAPLUS 
TAU 
ANTITAU 
EMINUS 
EPLUS 
P 
PBAR 
GLUON 
GAMMA 
WPLUSBOSON 
WMINUSBOSON 
ZBOSON 
HIGGS 
DQUARK 
UQUARK 
SQUARK 
CQUARK 
BQUARK 
TQUARK 
ANY 
PHOTOELECTRON 
PHOTOPOSITRON 
PHOTOMUON 
PHOTOANTIMUON 
PHOTOTAU 
PHOTOANTITAU 

Definition at line 11 of file ParticleName.hh.

00011                     {
00012     ELECTRON = 11,
00013     POSITRON = -11,
00014     PROTON = 2212,
00015     ANTIPROTON = -2212,
00016     PHOTON = 22,
00017     NEUTRON = 2112,
00018     ANTINEUTRON = -2112,
00019     MUON = 13,
00020     ANTIMUON = -13,
00021     NU_E = 12,
00022     NU_EBAR = -12,
00023     NU_MU = 14,
00024     NU_MUBAR = -14,
00025     NU_TAU = 16,
00026     NU_TAUBAR = -16,
00027     PIPLUS = 211,
00028     PIMINUS = -211,
00029     K0L = 130,
00030     K0S = 310,
00031     KPLUS = 321,
00032     KMINUS = -321,
00033     LAMBDA = 3122,
00034     LAMBDABAR = -3122,
00035     XIMINUS = 3312,
00036     XIPLUS = -3312,
00037     OMEGAMINUS = 3334,
00038     OMEGAPLUS = -3334,
00039     TAU = 15,
00040     ANTITAU = -15,
00041     EMINUS = 11,
00042     EPLUS = -11,
00043     P = 2212,
00044     PBAR = -2212,
00045     GLUON = 21,
00046     GAMMA = 22,
00047     WPLUSBOSON = 24,
00048     WMINUSBOSON = -24,
00049     ZBOSON = 23,
00050     HIGGS = 25,
00051     DQUARK = 1,
00052     UQUARK = 2,
00053     SQUARK = 3,
00054     CQUARK = 4,
00055     BQUARK = 5,
00056     TQUARK = 6,
00057     ANY = 10000,
00058     PHOTOELECTRON,
00059     PHOTOPOSITRON,
00060     PHOTOMUON,
00061     PHOTOANTIMUON,
00062     PHOTOTAU,
00063     PHOTOANTITAU
00064   };

enum PhiMapping

Enum for range of $ \phi $ to be mapped into.

Enumerator:
MINUSPI_PLUSPI 
ZERO_2PI 

Definition at line 58 of file MathHeader.hh.

Represents whether an interval is open (non-inclusive) or closed (inclusive). For example, the interval $ [0, \pi) $ is closed (an inclusive boundary) at 0, and open (a non-inclusive boundary) at $ \pi $.

Enumerator:
OPEN 
SOFT 
CLOSED 
HARD 

Definition at line 68 of file MathUtils.hh.

00068 { OPEN=0, SOFT=0, CLOSED=1, HARD=1 };

enum Sign

Enum for signs of numbers.

Enumerator:
MINUS 
ZERO 
PLUS 

Definition at line 52 of file MathHeader.hh.

00052 { MINUS = -1, ZERO = 0, PLUS = 1 };


Function Documentation

void Rivet::_calcT ( const vector< Vector3 > &  momenta,
double &  t,
Vector3 &  taxis 
)

Definition at line 48 of file Thrust.cc.

References Vector3::dot(), mod(), mod2Cmp(), Rivet::PID::n, sign(), and Vector3::unit().

Referenced by Thrust::_calcThrust().

00048                                                                          {
00049     /* This function implements the iterative algorithm as described in the
00050      * Pythia manual. We take eight (four) different starting vectors
00051      * constructed from the four (three) leading particles to make sure that
00052      * we don't find a local maximum.
00053      */
00054     vector<Vector3> p = momenta;
00055     assert(p.size() >= 3);
00056     unsigned int n = 3;
00057     if (p.size() == 3) n = 3;
00058     vector<Vector3> tvec;
00059     vector<double> tval;
00060     std::sort(p.begin(), p.end(), mod2Cmp);
00061     for (unsigned int i=0 ; i<pow(2,n-1) ; i++) {
00062       // Create an initial vector from the leading four jets
00063       Vector3 foo(0,0,0);
00064       int sign=i;
00065       for (unsigned int k=0 ; k<n ; k++) {
00066         (sign%2)==1 ? foo+=p[k] : foo-=p[k];
00067         sign/=2;
00068       }
00069       foo=foo.unit();
00070 
00071       // Iterate
00072       double diff=999.;
00073       while (diff>1e-5) {
00074         Vector3 foobar(0,0,0);
00075         for (unsigned int k=0 ; k<p.size() ; k++)
00076           foo.dot(p[k])>0 ? foobar+=p[k] : foobar-=p[k];
00077         diff=(foo-foobar.unit()).mod();
00078         foo=foobar.unit();
00079       }
00080 
00081       // Calculate the thrust value for the vector we found
00082       t=0.;
00083       for (unsigned int k=0 ; k<p.size() ; k++)
00084         t+=fabs(foo.dot(p[k]));
00085 
00086       // Store everything
00087       tval.push_back(t);
00088       tvec.push_back(foo);
00089     }
00090 
00091     // Pick the solution with the largest thrust
00092     t=0.;
00093     for (unsigned int i=0 ; i<tvec.size() ; i++)
00094       if (tval[i]>t){
00095         t=tval[i];
00096         taxis=tvec[i];
00097       }
00098   }

void Rivet::_geNormAlignment ( GenEvent &  ge  ) 

Todo:
e+ e- convention? B-factories different from LEP?

Definition at line 35 of file Event.cc.

References _geRot180x(), Log::getLog(), GeV, Log::isActive(), make_pdgid_pair(), PROTON, and Log::TRACE.

Referenced by Event::Event().

00035                                       {
00036     if (!ge.valid_beam_particles()) return;
00037     typedef pair<HepMC::GenParticle*, HepMC::GenParticle*> GPPair;
00038     GPPair bps = ge.beam_particles();
00039     const BeamPair beamids = make_pdgid_pair(bps.first->pdg_id(), bps.second->pdg_id());
00040     Log::getLog("Rivet.Event") << Log::TRACE << "Beam IDs: " << beamids << endl;
00041     const HepMC::GenParticle* plusgp = 0;
00042     bool rot = false;
00043 
00044     // Rotate e+- p and ppbar to put p along +z
00045     /// @todo e+ e- convention? B-factories different from LEP?
00046     // if (compatible(beamids, make_pdgid_pair(ELECTRON, PROTON)) ||
00047     //     compatible(beamids, make_pdgid_pair(POSITRON, PROTON)) ||
00048     //     compatible(beamids, make_pdgid_pair(ANTIPROTON, PROTON)) ) {
00049     //   Log::getLog("Rivet.Event") << Log::TRACE << "May need to rotate event..." << endl;
00050     if (bps.first->pdg_id() != PROTON || bps.second->pdg_id() != PROTON) {
00051       if (bps.first->pdg_id() == PROTON) {
00052         plusgp = bps.first;
00053       } else if (bps.second->pdg_id() == PROTON) {
00054         plusgp = bps.second;
00055       }
00056       if (plusgp && plusgp->momentum().pz() < 0) {
00057         rot = true;
00058       }
00059     }
00060 
00061     // Do the rotation
00062     if (rot) {
00063       if (Log::getLog("Rivet.Event").isActive(Log::TRACE)) {
00064         Log::getLog("Rivet.Event") << Log::TRACE << "Rotating event" << endl;
00065         Log::getLog("Rivet.Event") << Log::TRACE << "Before rotation: "
00066                                    << bps.first->pdg_id() << "@pz=" << bps.first->momentum().pz()/GeV << ", "
00067                                    << bps.second->pdg_id() << "@pz=" << bps.second->momentum().pz()/GeV << endl;
00068       }
00069       _geRot180x(ge);
00070     }
00071   }

void Rivet::_geNormUnits ( GenEvent &  ge  ) 

Definition at line 11 of file Event.cc.

Referenced by Event::Event().

00011                                   {
00012     // Specify units if supported
00013     #ifdef HEPMC_HAS_UNITS
00014     ge.use_units(HepMC::Units::GEV, HepMC::Units::MM);
00015     #endif
00016   }

void Rivet::_geRot180x ( GenEvent &  ge  ) 

Definition at line 19 of file Event.cc.

Referenced by _geNormAlignment().

00019                                 {
00020     for (HepMC::GenEvent::particle_iterator ip = ge.particles_begin(); ip != ge.particles_end(); ++ip) {
00021       const HepMC::FourVector& mom = (*ip)->momentum();
00022       (*ip)->set_momentum(HepMC::FourVector(mom.px(), -mom.py(), -mom.pz(), mom.e()));
00023     }
00024     for (HepMC::GenEvent::vertex_iterator iv = ge.vertices_begin(); iv != ge.vertices_end(); ++iv) {
00025       const HepMC::FourVector& pos = (*iv)->position();
00026       (*iv)->set_position(HepMC::FourVector(pos.x(), -pos.y(), -pos.z(), pos.t()));
00027     }
00028   }

double Rivet::_mapAngleM2PITo2Pi ( double  angle  )  [inline]

Reduce any number to the range [-2PI, 2PI] by repeated addition or subtraction of 2PI as required. Used to normalise angular measures.

Definition at line 161 of file MathUtils.hh.

References isZero(), and TWOPI.

Referenced by mapAngle0To2Pi(), and mapAngleMPiToPi().

00161                                                  {
00162     double rtn = fmod(angle, TWOPI);
00163     if (isZero(rtn)) return 0;
00164     assert(rtn >= -TWOPI && rtn <= TWOPI);
00165     return rtn;
00166   }

void Rivet::@241::_setup_vfs ( VetoedFinalState &  vfs  )  [static]

Todo:
More?

Definition at line 12 of file VisibleFinalState.cc.

References VetoedFinalState::addVetoId(), and VetoedFinalState::vetoNeutrinos().

00012                                            {
00013       vfs.vetoNeutrinos();
00014       vfs.addVetoId(1000022); // lightest neutralino
00015       vfs.addVetoId(1000039); // gravitino
00016       /// @todo More?
00017     }

void Rivet::_updateLevels ( const Log::LevelMap &  defaultLevels,
Log::LogMap &  existingLogs 
)

Todo:
Add single static setLevel

Todo:
Check ordering - "Foo" should come before "Foo.Bar"

Definition at line 28 of file Logging.cc.

Referenced by Log::setLevels().

00028                                                                                 {
00029     /// @todo Check ordering - "Foo" should come before "Foo.Bar"
00030     for (Log::LevelMap::const_iterator lev = defaultLevels.begin(); lev != defaultLevels.end(); ++lev) {
00031       for (Log::LogMap::iterator log = existingLogs.begin(); log != existingLogs.end(); ++log) {
00032         if (log->first.find(lev->first) == 0) {
00033           log->second->setLevel(lev->second);
00034         }
00035       }
00036     }
00037   }

FourVector Rivet::add ( const FourVector &  a,
const FourVector &  b 
) [inline]

Definition at line 212 of file Vector4.hh.

References Vector::_vec.

00212                                                                   {
00213     FourVector result;
00214     result._vec = a._vec + b._vec;
00215     return result;
00216   }

Vector3 add ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 246 of file Vector3.hh.

References Vector::_vec.

00246                                                          {
00247     Vector3 result;
00248     result._vec = a._vec + b._vec;
00249     return result;
00250   }

Matrix<N> Rivet::add ( const Matrix< N > &  a,
const Matrix< N > &  b 
) [inline]

Definition at line 262 of file MatrixN.hh.

References Matrix::_matrix.

00262                                                                {
00263     Matrix<N> result;
00264     result._matrix = a._matrix + b._matrix;
00265     return result;
00266   }

double Rivet::angle ( const FourVector &  a,
const Vector3 &  b 
) [inline]

Angle (in radians) between spatial parts of two Lorentz vectors.

Definition at line 243 of file Vector4.hh.

References FourVector::angle().

00243                                                              {
00244     return a.angle(b);
00245   }

double Rivet::angle ( const Vector3 &  a,
const FourVector &  b 
) [inline]

Angle (in radians) between spatial parts of two Lorentz vectors.

Definition at line 238 of file Vector4.hh.

References angle(), and FourVector::vector3().

00238                                                              {
00239     return angle( a, b.vector3() );
00240   }

double Rivet::angle ( const FourVector &  a,
const FourVector &  b 
) [inline]

Angle (in radians) between spatial parts of two Lorentz vectors.

Definition at line 233 of file Vector4.hh.

References FourVector::angle().

00233                                                                 {
00234     return a.angle(b);
00235   }

double Rivet::angle ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Angle (in radians) between two 3-vectors.

Definition at line 269 of file Vector3.hh.

References Vector3::angle().

Referenced by MC_DIJET::analyze(), angle(), DISKinematics::project(), and Matrix3::setAsRotation().

00269                                                           {
00270     return a.angle(b);
00271   }

double Rivet::azimuthalAngle ( const FourVector &  v,
const PhiMapping  mapping = ZERO_2PI 
) [inline]

Calculate azimuthal angle of a Lorentz vector.

Definition at line 274 of file Vector4.hh.

References FourVector::azimuthalAngle().

00274                                                                                          {
00275     return v.azimuthalAngle(mapping);
00276   }

double Rivet::azimuthalAngle ( const Vector3 &  v,
const PhiMapping  mapping = ZERO_2PI 
) [inline]

Calculate azimuthal angle of a 3-vector. Returns a number in (-pi, pi] or in [0, 2pi) according to the mapping scheme selected.

Definition at line 302 of file Vector3.hh.

References Vector3::azimuthalAngle().

Referenced by MC_DIJET::analyze(), and CDF_2008_NOTE_9351::analyze().

00302                                                                                       {
00303     return v.azimuthalAngle(mapping);
00304   }

BeamPair beamIds ( const ParticlePair &  beams  ) 

Function to get beam particle IDs from a pair of particles.

Definition at line 21 of file Beam.cc.

00021                                               {
00022     return make_pair(beams.first.pdgId(), beams.second.pdgId());
00023   }

BeamPair beamIds ( const Event &  e  ) 

Function to get beam particle IDs from an event.

Definition at line 15 of file Beam.cc.

References Beam::beamIds(), and Beam::project().

Referenced by AnalysisHandler::analyze(), Beam::beamIds(), and AnalysisHandler::beamIds().

00015                                    {
00016     Beam beamproj;
00017     beamproj.project(e);
00018     return beamproj.beamIds();
00019   }

ParticlePair beams ( const Event &  e  ) 

Function to get beam particles from an event.

Definition at line 9 of file Beam.cc.

References Beam::beams(), and Beam::project().

Referenced by AnalysisHandler::init(), DISLepton::project(), and DISKinematics::project().

00009                                      {
00010     Beam beamproj;
00011     beamproj.project(e);
00012     return beamproj.beams();
00013   }

Vector3 Rivet::boostVector ( const FourMomentum &  v  )  [inline]

Calculate velocity boost vector of a momentum 4-vector.

Definition at line 476 of file Vector4.hh.

References FourMomentum::boostVector().

00476                                                     {
00477     return v.boostVector();
00478   }

double Rivet::@159::calc_ALPHA34 ( const vector< fastjet::PseudoJet > &  jets  )  [static]

Todo:
Use Jet or FourMomentum interface rather than PseudoJet
Todo:
Move to utils?

Definition at line 52 of file DELPHI_2003_WUD_03_11.cc.

References dot(), Vector::mod(), and momentum3().

00052                                                               {
00053       assert(jets.size() == 4);
00054       Vector3 p3 = momentum3(jets[2]);
00055       Vector3 p4 = momentum3(jets[3]);
00056       return dot(p3,p4) / (p3.mod()*p4.mod());
00057     }

double Rivet::@159::calc_BZ ( const vector< fastjet::PseudoJet > &  jets  )  [static]

Todo:
Move to utils?
Todo:
Use Jet or FourMomentum interface rather than PseudoJet
Todo:
Move to utils?

Definition at line 20 of file DELPHI_2003_WUD_03_11.cc.

References cross(), dot(), Vector::mod(), and momentum3().

00020                                                          {
00021       assert(jets.size() == 4);
00022       Vector3 p12 = cross( momentum3(jets[0]), momentum3(jets[1]));
00023       Vector3 p34 = cross( momentum3(jets[2]), momentum3(jets[3]));
00024       return dot(p12,p34) / (p12.mod()*p34.mod());
00025     }

double Rivet::@159::calc_KSW ( const vector< fastjet::PseudoJet > &  jets  )  [static]

Todo:
Use Jet or FourMomentum interface rather than PseudoJet
Todo:
Move to utils?

Definition at line 30 of file DELPHI_2003_WUD_03_11.cc.

References cross(), dot(), Vector::mod(), and momentum3().

00030                                                           {
00031       assert(jets.size() == 4);
00032       Vector3 p13 = cross( momentum3(jets[0]), momentum3(jets[2]));
00033       Vector3 p24 = cross( momentum3(jets[1]), momentum3(jets[3]));
00034       Vector3 p14 = cross( momentum3(jets[0]), momentum3(jets[3]));
00035       Vector3 p23 = cross( momentum3(jets[1]), momentum3(jets[2]));
00036       return cos (0.5*( acos (dot(p14,p23) / (p14.mod()*p23.mod())) +
00037                         acos (dot(p13,p24) / (p13.mod()*p24.mod())) ));
00038     }

double Rivet::@159::calc_NR ( const vector< fastjet::PseudoJet > &  jets  )  [static]

Todo:
Use Jet or FourMomentum interface rather than PseudoJet
Todo:
Move to utils?

Definition at line 43 of file DELPHI_2003_WUD_03_11.cc.

References dot(), Vector::mod(), and momentum3().

00043                                                          {
00044       assert(jets.size() == 4);
00045       Vector3 p12 = momentum3(jets[0]) - momentum3(jets[1]);
00046       Vector3 p34 = momentum3(jets[2]) - momentum3(jets[3]);
00047       return dot(p12,p34) / (p12.mod()*p34.mod());
00048     }

bool Rivet::chargedParticleFilter ( const Particle &  p  ) 

Definition at line 35 of file ChargedFinalState.cc.

References Particle::pdgId(), and Rivet::PID::threeCharge().

Referenced by ChargedFinalState::project().

00035                                                 {
00036     return PID::threeCharge(p.pdgId()) == 0;
00037   }

Cmp<T> Rivet::cmp ( const T &  t1,
const T &  t2 
) [inline]

bool Rivet::cmpMomByAscAbsPseudorapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 41 of file JetAlg.hh.

References FourVector::pseudorapidity().

00041                                                                                          {
00042     return fabs(a.pseudorapidity()) < fabs(b.pseudorapidity());
00043   }

bool Rivet::cmpMomByAscAbsRapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 53 of file JetAlg.hh.

References FourMomentum::rapidity().

00053                                                                                    {
00054     return fabs(a.rapidity()) < fabs(b.rapidity());
00055   }

bool Rivet::cmpMomByAscE ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 29 of file JetAlg.hh.

References FourMomentum::E().

00029                                                                          {
00030     return a.E() < b.E();
00031   }

bool Rivet::cmpMomByAscEt ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 23 of file JetAlg.hh.

References FourMomentum::Et().

00023                                                                           {
00024     return a.Et() < b.Et();
00025   }

bool Rivet::cmpMomByAscPseudorapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 35 of file JetAlg.hh.

References FourVector::pseudorapidity().

00035                                                                                       {
00036     return a.pseudorapidity() < b.pseudorapidity();
00037   }

bool Rivet::cmpMomByAscPt ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 17 of file JetAlg.hh.

References FourMomentum::pT().

00017                                                                           {
00018     return a.pT() < b.pT();
00019   }

bool Rivet::cmpMomByAscRapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 47 of file JetAlg.hh.

References FourMomentum::rapidity().

00047                                                                                 {
00048     return a.rapidity() < b.rapidity();
00049   }

bool Rivet::cmpMomByDescAbsPseudorapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 38 of file JetAlg.hh.

References FourVector::pseudorapidity().

00038                                                                                           {
00039     return fabs(a.pseudorapidity()) > fabs(b.pseudorapidity());
00040   }

bool Rivet::cmpMomByDescAbsRapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 50 of file JetAlg.hh.

References FourMomentum::rapidity().

00050                                                                                     {
00051     return fabs(a.rapidity()) > fabs(b.rapidity());
00052   }

bool Rivet::cmpMomByDescPseudorapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 32 of file JetAlg.hh.

References FourVector::pseudorapidity().

00032                                                                                        {
00033     return a.pseudorapidity() > b.pseudorapidity();
00034   }

bool Rivet::cmpMomByDescRapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 44 of file JetAlg.hh.

References FourMomentum::rapidity().

00044                                                                                  {
00045     return a.rapidity() > b.rapidity();
00046   }

bool Rivet::cmpMomByE ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 26 of file JetAlg.hh.

References FourMomentum::E().

00026                                                                       {
00027     return a.E() > b.E();
00028   }

bool Rivet::cmpMomByEt ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 20 of file JetAlg.hh.

References FourMomentum::Et().

00020                                                                        {
00021     return a.Et() > b.Et();
00022   }

bool Rivet::cmpMomByPt ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 14 of file JetAlg.hh.

References FourMomentum::pT().

00014                                                                        {
00015     return a.pT() > b.pT();
00016   }

bool Rivet::cmpParticleByAscAbsPseudorapidity ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by ascending absolute pseudorapidity, $ |\eta| $.

Definition at line 166 of file Particle.hh.

References Particle::momentum(), and FourVector::pseudorapidity().

00166                                                                                       {
00167     return fabs(a.momentum().pseudorapidity()) < fabs(b.momentum().pseudorapidity());
00168   }

bool Rivet::cmpParticleByAscAbsRapidity ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by ascending absolute rapidity, $ |y| $.

Definition at line 182 of file Particle.hh.

References Particle::momentum(), and FourMomentum::rapidity().

00182                                                                                 {
00183     return fabs(a.momentum().rapidity()) < fabs(b.momentum().rapidity());
00184   }

bool Rivet::cmpParticleByAscE ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by ascending energy, $ E $.

Definition at line 150 of file Particle.hh.

References FourMomentum::E(), and Particle::momentum().

00150                                                                       {
00151     return a.momentum().E() < b.momentum().E();
00152   }

bool Rivet::cmpParticleByAscEt ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by ascending transverse energy, $ E_\perp $.

Definition at line 142 of file Particle.hh.

References FourMomentum::Et(), and Particle::momentum().

00142                                                                        {
00143     return a.momentum().Et() < b.momentum().Et();
00144   }

bool Rivet::cmpParticleByAscPseudorapidity ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by ascending pseudorapidity, $ \eta $.

Definition at line 158 of file Particle.hh.

References Particle::momentum(), and FourVector::pseudorapidity().

00158                                                                                    {
00159     return a.momentum().pseudorapidity() < b.momentum().pseudorapidity();
00160   }

bool Rivet::cmpParticleByAscPt ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by ascending transverse momentum, $ p_\perp $.

Definition at line 134 of file Particle.hh.

References Particle::momentum(), and FourMomentum::pT().

00134                                                                        {
00135     return a.momentum().pT() < b.momentum().pT();
00136   }

bool Rivet::cmpParticleByAscRapidity ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by ascending rapidity, $ y $.

Definition at line 174 of file Particle.hh.

References Particle::momentum(), and FourMomentum::rapidity().

00174                                                                              {
00175     return a.momentum().rapidity() < b.momentum().rapidity();
00176   }

bool Rivet::cmpParticleByDescAbsPseudorapidity ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by descending absolute pseudorapidity, $ |\eta| $.

Definition at line 162 of file Particle.hh.

References Particle::momentum(), and FourVector::pseudorapidity().

00162                                                                                        {
00163     return fabs(a.momentum().pseudorapidity()) > fabs(b.momentum().pseudorapidity());
00164   }

bool Rivet::cmpParticleByDescAbsRapidity ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by descending absolute rapidity, $ |y| $.

Definition at line 178 of file Particle.hh.

References Particle::momentum(), and FourMomentum::rapidity().

00178                                                                                  {
00179     return fabs(a.momentum().rapidity()) > fabs(b.momentum().rapidity());
00180   }

bool Rivet::cmpParticleByDescPseudorapidity ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by descending pseudorapidity, $ \eta $.

Definition at line 154 of file Particle.hh.

References Particle::momentum(), and FourVector::pseudorapidity().

00154                                                                                     {
00155     return a.momentum().pseudorapidity() > b.momentum().pseudorapidity();
00156   }

bool Rivet::cmpParticleByDescRapidity ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by descending rapidity, $ y $.

Definition at line 170 of file Particle.hh.

References Particle::momentum(), and FourMomentum::rapidity().

00170                                                                               {
00171     return a.momentum().rapidity() > b.momentum().rapidity();
00172   }

bool Rivet::cmpParticleByE ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by descending energy, $ E $.

Definition at line 146 of file Particle.hh.

References FourMomentum::E(), and Particle::momentum().

Referenced by FinalState::particlesByE().

00146                                                                    {
00147     return a.momentum().E() > b.momentum().E();
00148   }

bool Rivet::cmpParticleByEt ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by descending transverse energy, $ E_\perp $.

Definition at line 138 of file Particle.hh.

References FourMomentum::Et(), and Particle::momentum().

Referenced by FinalState::particlesByEt().

00138                                                                     {
00139     return a.momentum().Et() > b.momentum().Et();
00140   }

bool Rivet::cmpParticleByPt ( const Particle &  a,
const Particle &  b 
) [inline]

Sort by descending transverse momentum, $ p_\perp $.

Definition at line 130 of file Particle.hh.

References Particle::momentum(), and FourMomentum::pT().

Referenced by FinalState::particlesByPt().

00130                                                                     {
00131     return a.momentum().pT() > b.momentum().pT();
00132   }

LorentzTransform Rivet::combine ( const LorentzTransform &  a,
const LorentzTransform &  b 
) [inline]

Definition at line 152 of file LorentzTrans.hh.

References LorentzTransform::combine().

00152                                                                                         {
00153     return a.combine(b);
00154   }

bool Rivet::compatible ( const BeamPair &  pair,
const set< BeamPair > &  allowedpairs 
) [inline]

Find whether a BeamPair pair is compatible with at least one template beam pair in a set allowedpairs.

Definition at line 48 of file BeamConstraint.hh.

References compatible().

00048                                                                                   {
00049     for (set<BeamPair>::const_iterator bp = allowedpairs.begin(); bp != allowedpairs.end(); ++bp) {
00050       if (compatible(pair, *bp)) return true;
00051     }
00052     return false;
00053   }

bool Rivet::compatible ( const BeamPair &  allowedpair,
const ParticlePair &  ppair 
) [inline]

Check particle compatibility of Particle pairs (for symmetric completeness).

Definition at line 40 of file BeamConstraint.hh.

References compatible().

00041                                                     {
00042     return compatible(ppair, allowedpair);
00043   }

bool Rivet::compatible ( const ParticlePair &  ppair,
const BeamPair &  allowedpair 
) [inline]

Check particle compatibility of Particle pairs.

Definition at line 34 of file BeamConstraint.hh.

References compatible(), and make_pdgid_pair().

00035                                                       {
00036     return compatible(make_pdgid_pair(ppair.first.pdgId(),
00037                                       ppair.second.pdgId()), allowedpair);
00038   }

bool Rivet::compatible ( const BeamPair &  pair,
const BeamPair &  allowedpair 
) [inline]

Find whether BeamPair pair is compatible with the template BeamPair allowedpair. This assesses whether either of the two possible pairings of pair's constituents is compatible.

Definition at line 24 of file BeamConstraint.hh.

References compatible().

00024                                                                             {
00025     bool oneToOne = compatible(pair.first, allowedpair.first);
00026     bool twoToTwo = compatible(pair.second, allowedpair.second);
00027     bool oneToTwo = compatible(pair.first, allowedpair.second);
00028     bool twoToOne = compatible(pair.second, allowedpair.first);
00029     return (oneToOne && twoToTwo) || (oneToTwo && twoToOne);
00030   }

bool Rivet::compatible ( PdgId  p,
PdgId  allowed 
) [inline]

Find whether ParticleName p is compatible with the template ParticleName allowed. Effectively this is asking whether p is a subset of allowed.

Definition at line 16 of file BeamConstraint.hh.

References ANY.

Referenced by AnalysisHandler::analyze(), compatible(), intersection(), and Analysis::isCompatible().

00016                                                  {
00017     //assert(p != ANY);
00018     return (allowed == ANY || p == allowed);
00019   }

double Rivet::contract ( const FourVector &  a,
const FourVector &  b 
) [inline]

Contract two 4-vectors, with metric signature (+ - - -).

Definition at line 181 of file Vector4.hh.

References FourVector::contract().

Referenced by dot().

00181                                                                    {
00182     return a.contract(b);
00183   }

double Rivet::correlation ( const vector< int > &  sample1,
const vector< int > &  sample2 
) [inline]

Calculate the correlation strength between two samples.

Definition at line 144 of file MathUtils.hh.

References covariance().

Referenced by UA5_1988_S1867512::finalize().

00144                                                                                     {
00145     const double cov = covariance(sample1, sample2);
00146     const double var1 = covariance(sample1, sample1);
00147     const double var2 = covariance(sample2, sample2);
00148     const double correlation = cov/sqrt(var1*var2);
00149     const double corr_strength = correlation*sqrt(var2/var1);
00150     return corr_strength;
00151   }

double Rivet::covariance ( const vector< int > &  sample1,
const vector< int > &  sample2 
) [inline]

Calculate the covariance (variance) between two samples.

Definition at line 129 of file MathUtils.hh.

References mean().

Referenced by correlation().

00129                                                                                    {
00130     double mean1 = mean(sample1);
00131     double mean2 = mean(sample2);
00132     int N = sample1.size();
00133     double cov = 0.0;
00134     for (int i = 0; i < N; i++) {
00135       double cov_i = (sample1[i] - mean1)*(sample2[i] - mean2);
00136       cov += cov_i;
00137     }
00138     if (N > 1) return cov/(N-1);
00139     else return 0.0;
00140   }

AIDA::IAnalysisFactory * createAnalysisFactory (  ) 

Get an AIDA system (LWH impl.).

Definition at line 15 of file RivetAIDA.cc.

Referenced by AnalysisHandler::AnalysisHandler().

00015                                                 {
00016     return new LWH::AnalysisFactory();
00017   }

Vector3 Rivet::cross ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 220 of file Vector3.hh.

References Vector3::cross().

Referenced by Thrust::_calcThrust(), calc_BZ(), calc_KSW(), and Matrix3::setAsRotation().

00220                                                            {
00221     return a.cross(b);
00222   }

double Rivet::deltaPhi ( double  phi1,
double  phi2 
) [inline]

double Rivet::deltaR ( double  eta1,
double  phi1,
const FourMomentum &  v,
DeltaRScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 585 of file Vector4.hh.

References FourVector::azimuthalAngle(), deltaR(), PSEUDORAPIDITY, FourMomentum::rapidity(), RAPIDITY, and FourVector::vector3().

00587                                                              {
00588     switch (scheme) {
00589     case PSEUDORAPIDITY:
00590       return deltaR(eta1, phi1, v.vector3());
00591     case RAPIDITY:
00592       return deltaR(eta1, phi1, v.rapidity(), v.azimuthalAngle());
00593     default:
00594       throw std::runtime_error("The specified deltaR scheme is not yet implemented");
00595     }
00596   }

double Rivet::deltaR ( const FourMomentum &  v,
double  eta2,
double  phi2,
DeltaRScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 571 of file Vector4.hh.

References FourVector::azimuthalAngle(), deltaR(), PSEUDORAPIDITY, FourMomentum::rapidity(), RAPIDITY, and FourVector::vector3().

00573                                                              {
00574     switch (scheme) {
00575     case PSEUDORAPIDITY:
00576       return deltaR(v.vector3(), eta2, phi2);
00577     case RAPIDITY:
00578       return deltaR(v.rapidity(), v.azimuthalAngle(), eta2, phi2);
00579     default:
00580       throw std::runtime_error("The specified deltaR scheme is not yet implemented");
00581     }
00582   }

double Rivet::deltaR ( const FourMomentum &  a,
const FourMomentum &  b,
DeltaRScheme  scheme = PSEUDORAPIDITY 
) [inline]

Calculate the 2D rapidity-azimuthal ("eta-phi") distance between two four-vectors. There is a scheme ambiguity for momentum-type four vectors as to whether the pseudorapidity (a purely geometric concept) or the rapidity (a relativistic energy-momentum quantity) is to be used: this can be chosen via the optional scheme parameter.

Definition at line 559 of file Vector4.hh.

References FourVector::azimuthalAngle(), deltaR(), PSEUDORAPIDITY, FourMomentum::rapidity(), RAPIDITY, and FourVector::vector3().

00560                                                              {
00561     switch (scheme) {
00562     case PSEUDORAPIDITY:
00563       return deltaR(a.vector3(), b.vector3());
00564     case RAPIDITY:
00565       return deltaR(a.rapidity(), a.azimuthalAngle(), b.rapidity(), b.azimuthalAngle());
00566     default:
00567       throw std::runtime_error("The specified deltaR scheme is not yet implemented");
00568     }
00569   }

double Rivet::deltaR ( double  eta1,
double  phi1,
const FourVector &  v,
DeltaRScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 533 of file Vector4.hh.

References deltaR(), PSEUDORAPIDITY, RAPIDITY, and FourVector::vector3().

00535                                                              {
00536     switch (scheme) {
00537     case PSEUDORAPIDITY :
00538       return deltaR(eta1, phi1, v.vector3());
00539     case RAPIDITY:
00540       {
00541         const FourMomentum* mv = dynamic_cast<const FourMomentum*>(&v);
00542         if (!mv) {
00543           string err = "deltaR with scheme RAPIDITY, can be called with FourMomenta only";
00544           throw std::runtime_error(err);
00545         }
00546         return deltaR(eta1, phi1, *mv, scheme);
00547       }
00548     default:
00549       throw std::runtime_error("The specified deltaR scheme is not yet implemented");
00550     }
00551   }

double Rivet::deltaR ( const FourVector &  v,
double  eta2,
double  phi2,
DeltaRScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 512 of file Vector4.hh.

References deltaR(), PSEUDORAPIDITY, RAPIDITY, and FourVector::vector3().

00514                                                              {
00515     switch (scheme) {
00516     case PSEUDORAPIDITY :
00517       return deltaR(v.vector3(), eta2, phi2);
00518     case RAPIDITY:
00519       {
00520         const FourMomentum* mv = dynamic_cast<const FourMomentum*>(&v);
00521         if (!mv) {
00522           string err = "deltaR with scheme RAPIDITY, can be called with FourMomenta only";
00523           throw std::runtime_error(err);
00524         }
00525         return deltaR(*mv, eta2, phi2, scheme);
00526       }
00527     default:
00528       throw std::runtime_error("The specified deltaR scheme is not yet implemented");
00529     }
00530   }

double Rivet::deltaR ( const FourVector &  a,
const FourVector &  b,
DeltaRScheme  scheme = PSEUDORAPIDITY 
) [inline]

Calculate the 2D rapidity-azimuthal ("eta-phi") distance between two four-vectors. There is a scheme ambiguity for momentum-type four vectors as to whether the pseudorapidity (a purely geometric concept) or the rapidity (a relativistic energy-momentum quantity) is to be used: this can be chosen via the optional scheme parameter, which is discouraged in this case since RAPIDITY is only a valid option for vectors whose type is really the FourMomentum derived class.

Definition at line 491 of file Vector4.hh.

References deltaR(), PSEUDORAPIDITY, RAPIDITY, and FourVector::vector3().

00492                                                              {
00493     switch (scheme) {
00494     case PSEUDORAPIDITY :
00495       return deltaR(a.vector3(), b.vector3());
00496     case RAPIDITY:
00497       {
00498         const FourMomentum* ma = dynamic_cast<const FourMomentum*>(&a);
00499         const FourMomentum* mb = dynamic_cast<const FourMomentum*>(&b);
00500         if (!ma || !mb) {
00501           string err = "deltaR with scheme RAPIDITY, can be called with FourMomenta only";
00502           throw std::runtime_error(err);
00503         }
00504         return deltaR(*ma, *mb, scheme);
00505       }
00506     default:
00507       throw std::runtime_error("The specified deltaR scheme is not yet implemented");
00508     }
00509   }

double Rivet::deltaR ( double  eta1,
double  phi1,
const Vector3 &  v 
) [inline]

Calculate the 2D rapidity-azimuthal ("eta-phi") distance between two spatial vectors.

Definition at line 347 of file Vector3.hh.

References Vector3::azimuthalAngle(), deltaR(), and Vector3::pseudorapidity().

00347                                                                    {
00348     return deltaR(eta1, phi1, v.pseudorapidity(), v.azimuthalAngle());
00349   }

double Rivet::deltaR ( const Vector3 &  v,
double  eta2,
double  phi2 
) [inline]

Calculate the 2D rapidity-azimuthal ("eta-phi") distance between two spatial vectors.

Definition at line 341 of file Vector3.hh.

References Vector3::azimuthalAngle(), deltaR(), and Vector3::pseudorapidity().

00341                                                                    {
00342     return deltaR(v.pseudorapidity(), v.azimuthalAngle(), eta2, phi2);
00343   }

double Rivet::deltaR ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Calculate the 2D rapidity-azimuthal ("eta-phi") distance between two spatial vectors.

Definition at line 334 of file Vector3.hh.

References Vector3::azimuthalAngle(), deltaR(), and Vector3::pseudorapidity().

00334                                                            {
00335     return deltaR(a.pseudorapidity(), a.azimuthalAngle(),
00336                   b.pseudorapidity(), b.azimuthalAngle());
00337   }

double Rivet::deltaR ( double  y1,
double  phi1,
double  y2,
double  phi2 
) [inline]

double Rivet::det ( const Matrix< N > &  m  )  [inline]

Definition at line 353 of file MatrixN.hh.

00353                                         {
00354     return m.determinant();
00355   }

EigenSystem< N > diagonalize ( const Matrix< N > &  m  )  [inline]

Diagonalize an NxN matrix, returning a collection of pairs of eigenvalues and eigenvectors, ordered decreasing in eigenvalue.

Definition at line 112 of file MatrixDiag.hh.

References EigenSystem::_eigenPairs, Rivet::PID::A(), Matrix::get(), and Vector::set().

Referenced by Sphericity::_calcSphericity().

00112                                                {
00113   EigenSystem<N> esys;
00114 
00115   // Make a GSL matrix.
00116   gsl_matrix* A = gsl_matrix_alloc(N, N);
00117   for (size_t i = 0; i < N; ++i) {
00118     for (size_t j = 0; j < N; ++j) {
00119       gsl_matrix_set(A, i, j, m.get(i, j));
00120     }
00121   }
00122 
00123   // Use GSL diagonalization.
00124   gsl_matrix* vecs = gsl_matrix_alloc(N, N);
00125   gsl_vector* vals = gsl_vector_alloc(N);
00126   gsl_eigen_symmv_workspace* workspace = gsl_eigen_symmv_alloc(N);
00127   gsl_eigen_symmv(A, vals, vecs, workspace);
00128   gsl_eigen_symmv_sort(vals, vecs, GSL_EIGEN_SORT_VAL_DESC);
00129 
00130   // Build the vector of "eigen-pairs".
00131   typename EigenSystem<N>::EigenPairs eigensolns;
00132   for (size_t i = 0; i < N; ++i) {
00133     typename EigenSystem<N>::EigenPair ep;
00134     ep.first = gsl_vector_get(vals, i);
00135     Vector<N> ev;
00136     for (size_t j = 0; j < N; ++j) {
00137       ev.set(j, gsl_matrix_get(vecs, j, i));
00138     }
00139     ep.second = ev;
00140     eigensolns.push_back(ep);
00141   }
00142 
00143   // Free GSL memory.
00144   gsl_eigen_symmv_free(workspace);
00145   gsl_matrix_free(A);
00146   gsl_matrix_free(vecs);
00147   gsl_vector_free(vals);
00148 
00149   // Populate the returned object.
00150   esys._eigenPairs = eigensolns;
00151   return esys;
00152 }

Matrix< N > divide ( const Matrix< N > &  m,
const   double 
) [inline]

Definition at line 296 of file MatrixN.hh.

References multiply().

00296                                                               {
00297     return multiply(1/a, m);
00298   }

double Rivet::dot ( const FourVector &  a,
const FourVector &  b 
) [inline]

Contract two 4-vectors, with metric signature (+ - - -).

Definition at line 186 of file Vector4.hh.

References contract().

00186                                                               {
00187     return contract(a, b);
00188   }

double Rivet::dot ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

bool Rivet::endsWith ( const string &  s,
const string &  end 
) [inline]

Definition at line 54 of file Utils.hh.

Referenced by AnalysisHandler::_setupFactories().

00054                                                            {
00055     if (s.length() < end.length()) return false;
00056     return s.substr(s.length() - end.length()) == end;
00057   }

double Rivet::Et ( const FourMomentum &  v  )  [inline]

Calculate transverse energy $ E_T = E \sin{\theta} $ of a momentum 4-vector.

Definition at line 471 of file Vector4.hh.

References FourMomentum::Et().

Referenced by H1_2000_S4129130::analyze(), H1_1994_S2919893::analyze(), CDF_2009_S8436959::analyze(), CDF_1997_S3541940::analyze(), CDF_1996_S3349578::analyze(), and CDF_1996_S3108457::analyze().

00471                                           {
00472     return v.Et();
00473   }

double Rivet::Et2 ( const FourMomentum &  v  )  [inline]

Calculate transverse energy squared, $ E_T^2 = E^2 \sin^2{\theta} $ of a momentum 4-vector.

Definition at line 467 of file Vector4.hh.

References FourMomentum::Et2().

00467                                            {
00468     return v.Et2();}

double Rivet::eta ( const FourVector &  v  )  [inline]

Synonym for pseudorapidity.

Definition at line 297 of file Vector4.hh.

References FourVector::eta().

00297                                          {
00298     return v.eta();
00299   }

double Rivet::eta ( const Vector3 &  v  )  [inline]

bool Rivet::fuzzyEquals ( const Vector< N > &  va,
const Vector< N > &  vb,
double  tolerance = 1E-5 
) [inline]

Compare two vectors by index, allowing for numerical precision.

Definition at line 184 of file VectorN.hh.

References fuzzyEquals(), and Vector::get().

00184                                                                                            {
00185     for (size_t i = 0; i < N; ++i) {
00186       const double a = va.get(i);
00187       const double b = vb.get(i);
00188       if (!Rivet::fuzzyEquals(a, b, tolerance)) return false;
00189     }
00190     return true;
00191   }

bool Rivet::fuzzyEquals ( const Matrix< N > &  ma,
const Matrix< N > &  mb,
double  tolerance = 1E-5 
) [inline]

Compare two matrices by index, allowing for numerical precision.

Definition at line 397 of file MatrixN.hh.

References fuzzyEquals(), and Matrix::get().

00397                                                                                            {
00398     for (size_t i = 0; i < N; ++i) {
00399       for (size_t j = 0; j < N; ++j) {
00400         const double a = ma.get(i, j);
00401         const double b = mb.get(i, j);
00402         if (!Rivet::fuzzyEquals(a, b, tolerance)) return false;
00403       }
00404     }
00405     return true;
00406   }

bool Rivet::fuzzyEquals ( long  a,
long  b,
double   UNUSEDtolerance = 1E-5 
) [inline]

Compare two integral-type numbers with a degree of fuzziness. Since there is no risk of floating point error with integral types, this function just exists in case fuzzyEquals is accidentally used on an integer type, to avoid implicit type conversion. The tolerance parameter is ignored, even if it would have an absolute magnitude greater than 1.

Definition at line 61 of file MathUtils.hh.

00061                                                                          {
00062     return a == b;
00063   }

bool Rivet::fuzzyEquals ( double  a,
double  b,
double  tolerance = 1E-5 
) [inline]

Compare two floating point numbers with a degree of fuzziness expressed by the fractional tolerance parameter.

Definition at line 48 of file MathUtils.hh.

Referenced by Sphericity::_calcSphericity(), Cmp< double >::_compare(), UA1_1990_S2044935::analyze(), CDF_2004_S5839831::analyze(), AnalysisHandler::analyze(), ALEPH_2004_S5765862::analyze(), Sphericity::compare(), UA1_1990_S2044935::finalize(), CDF_2004_S5839831::finalize(), CDF_2002_S4796047::finalize(), fuzzyEquals(), getBinEdges(), OPAL_2004_S6132243::getHistIndex(), UA5_1989_S1926373::init(), UA5_1988_S1867512::init(), UA5_1986_S1583476::init(), UA1_1990_S2044935::init(), SFM_1984_S1178091::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), and ALEPH_1996_S3196992::particleInJet().

00048                                                                      {
00049     const double absavg = fabs(a + b)/2.0;
00050     const double absdiff = fabs(a - b);
00051     const bool rtn = (absavg == 0.0 && absdiff == 0.0) || absdiff/absavg < tolerance;
00052     return rtn;
00053   }

double get2dClosestApproach ( const HepMC::GenParticle &  track,
const Vector3 &  vtx3pos 
)

Todo:
Whoa! - implicit constructors from hell!

Definition at line 18 of file Utils.cc.

References sqr(), Vector3::x(), Vector3::y(), and Vector3::z().

Referenced by SVertex::_applyVtxTrackCuts().

00018                                                                                      {
00019     /// @todo Whoa! - implicit constructors from hell!
00020     HepMC::FourVector trkvec = track;
00021     HepMC::ThreeVector trk3vec = trkvec;
00022     HepMC::ThreeVector trk3pos = track.production_vertex()->position();
00023  
00024     Vector3 diff(vtx3pos.x()-trk3pos.x(), vtx3pos.y()-trk3pos.y(), vtx3pos.z()-trk3pos.z());
00025  
00026     // Impact parameter in the transverse plane
00027     const double d = fabs( trk3vec.x()*diff.y() - trk3vec.y()*diff.x() )
00028       / sqrt( sqr(trk3vec.x()) + sqr(trk3vec.y()) );
00029     return d;
00030   }

double get2dDecayLength ( const Vector3 &  vtx1,
const Vector3 &  vtx2,
const FourMomentum &  jetaxis 
)

Return 2-dimensional decay length between two vertices in transverse plane.

Return Decay Length Significance between two vertices in transverse plane.

Definition at line 51 of file Utils.cc.

References FourMomentum::px(), FourMomentum::py(), sqr(), Vector3::x(), and Vector3::y().

Referenced by SVertex::project().

00051                                                                                                  {
00052     Vector3 diff = vtx1 - vtx2;
00053     const double l = (jetaxis.px()*diff.x() + jetaxis.py()*diff.y() )
00054       / sqrt(sqr(jetaxis.px())+sqr(jetaxis.py()));
00055     return l;
00056   }

double get3dClosestApproach ( const HepMC::GenParticle &  track,
const Vector3 &  vtx3pos 
)

Definition at line 34 of file Utils.cc.

References sqr(), Vector3::x(), Vector3::y(), and Vector3::z().

00034                                                                                      {
00035     HepMC::FourVector trkvec = track;
00036     HepMC::ThreeVector trk3vec = trkvec;
00037     HepMC::FourVector trkpos = track.production_vertex()->position();
00038     HepMC::ThreeVector trk3pos = trkpos;
00039     Vector3 diff(vtx3pos.x()-trk3pos.x(), vtx3pos.y()-trk3pos.y(), vtx3pos.z()-trk3pos.z());
00040  
00041     // Impact parameter in 3 dimensions
00042     const double mag = sqrt( sqr(trk3vec.x()) + sqr(trk3vec.y()) + sqr(trk3vec.z()) );
00043     const double d = sqrt( sqr(trk3vec.y()*diff.z()-trk3vec.z()*diff.y()) -
00044                            sqr(trk3vec.x()*diff.z()-trk3vec.z()*diff.x()) +
00045                            sqr(trk3vec.x()*diff.y()-trk3vec.y()*diff.x()) ) / mag;
00046     return d;
00047   }

double get3dDecayLength ( const Vector3 &  vtx1,
const Vector3 &  vtx2,
const FourMomentum &  jetaxis 
)

Return 3-dimensional decay length between vertices.

Return 3 dimensional Decay Length Significance between vertices.

Definition at line 61 of file Utils.cc.

References FourMomentum::px(), FourMomentum::py(), FourMomentum::pz(), sqr(), Vector3::x(), Vector3::y(), and Vector3::z().

00061                                                                                                  {
00062     Vector3 diff = vtx1 - vtx2;
00063     const double l = (jetaxis.px()*diff.x() +jetaxis.py()*diff.y() +jetaxis.pz()*diff.z())
00064       / sqrt(sqr(jetaxis.px())+sqr(jetaxis.py())+sqr(jetaxis.pz()));
00065     return l;
00066   }

const map< string, BinEdges > getBinEdges ( const map< string, vector< DPSXPoint > > &  xpoints  ) 

Definition at line 130 of file RivetAIDA.cc.

References DPSXPoint::errminus, DPSXPoint::errplus, fuzzyEquals(), and DPSXPoint::val.

00130                                                               {
00131 
00132     map<string, BinEdges> rtn;
00133     for (map<string, vector<DPSXPoint> >::const_iterator dsit = xpoints.begin(); dsit != xpoints.end(); ++dsit) {
00134       const string plotname = dsit->first;
00135       list<double> edges;
00136       foreach (const DPSXPoint& xpt, dsit->second) {
00137         const double lowedge = xpt.val - xpt.errminus;
00138         const double highedge = xpt.val + xpt.errplus;
00139         edges.push_back(lowedge);
00140         edges.push_back(highedge);
00141       }
00142 
00143       //cout << "*** " << edges << endl;
00144 
00145       // Remove duplicates (the careful testing is why we haven't used a set)
00146       //cout << edges.size() << " edges -> " << edges.size()/2 << " bins" << endl;
00147       for (list<double>::iterator e = edges.begin(); e != edges.end(); ++e) {
00148         list<double>::iterator e2 = e;
00149         while (e2 != edges.end()) {
00150           if (e != e2) {
00151             if (fuzzyEquals(*e, *e2)) {
00152               edges.erase(e2++);
00153             }
00154           }
00155           ++e2;
00156         }
00157       }
00158       //cout << edges.size() << " edges after dups removal (should be #bins+1)" << endl;
00159       //cout << "@@@ " << edges << endl;
00160 
00161       // Add to the map
00162       rtn[plotname] = BinEdges(edges.begin(), edges.end());
00163     }
00164 
00165     // Return
00166     return rtn;
00167   }

const map< string, BinEdges > getBinEdges ( string  papername  ) 

Function to get a map of all the bin edge vectors in a paper with the given papername.

Definition at line 122 of file RivetAIDA.cc.

References getDPSXValsErrs().

Referenced by Analysis::_cacheBinEdges().

00122                                 {
00123     const map<string, vector<DPSXPoint> > xpoints = getDPSXValsErrs(papername);
00124     return getBinEdges(xpoints);
00125   }

const string Rivet::getDatafilePath ( string  papername  ) 

Definition at line 24 of file RivetAIDA.cc.

References getRivetDataPath(), and split().

Referenced by getDPSXValsErrs().

00024                                                  {
00025     char* env = getenv("RIVET_REF_PATH");
00026     vector<string> searchpaths;
00027     if (env) {
00028       searchpaths = split(env);
00029     }
00030     searchpaths.push_back(getRivetDataPath());
00031     searchpaths.push_back(".");
00032     foreach (const string& dir, searchpaths) {
00033       std::ifstream in;
00034       const string file = dir + "/" + papername + ".aida";
00035       if (access(file.c_str(), R_OK) == 0) {
00036         return file;
00037       }
00038     }
00039     throw Rivet::Error("Couldn't find ref data file '" + papername + ".aida" +
00040                        " in $RIVET_REF_PATH, " + getRivetDataPath() + ", or .");
00041     return "";
00042   }

const string getDataPath (  ) 

Get data install path.

Definition at line 14 of file RivetPaths.cc.

00014                              {
00015     BrInitError error;
00016     br_init_lib(&error);
00017     const string sharedir = br_find_data_dir(DEFAULTDATADIR);
00018     return sharedir;
00019   }

const string Rivet::getDataPath ( string  papername  ) 

Get the file system path to the AIDA reference file for this paper.

Referenced by getRivetDataPath(), and getRivetgunDataPath().

const map< string, vector< DPSXPoint > > getDPSXValsErrs ( string  papername  ) 

Check path to make sure that this is a reference histogram.

Todo:
Check that "path" matches filename

Todo:
Throw an exception here?

Todo:
Rethrow as a general XML failure.

Definition at line 46 of file RivetAIDA.cc.

References getDatafilePath().

Referenced by Analysis::_cacheXAxisData(), and getBinEdges().

00046                                                                           {
00047     // Get filename
00048     const string xmlfile = getDatafilePath(papername);
00049  
00050     // Open AIDA XML file
00051     TiXmlDocument doc(xmlfile);
00052     doc.LoadFile();
00053     if (doc.Error()) {
00054       string err = "Error in " + string(doc.Value());
00055       err += ": " + string(doc.ErrorDesc());
00056       cerr << err << endl;
00057       throw Error(err);
00058     }
00059  
00060     // Return value, to be populated
00061     map<string, vector<DPSXPoint> > rtn;
00062  
00063     try {
00064       // Walk down tree to get to the <paper> element
00065       const TiXmlNode* aidaN = doc.FirstChild("aida");
00066       if (!aidaN) throw Error("Couldn't get <aida> root element");
00067       for (const TiXmlNode* dpsN = aidaN->FirstChild("dataPointSet"); dpsN; dpsN = dpsN->NextSibling()) {
00068         const TiXmlElement* dpsE = dpsN->ToElement();
00069         const string plotname = dpsE->Attribute("name");
00070         const string plotpath = dpsE->Attribute("path");
00071         /// Check path to make sure that this is a reference histogram.
00072         if (plotpath.find("/REF") != 0) {
00073           cerr << "Skipping non-reference histogram " << plotname << endl;
00074           continue;
00075         }
00076      
00077         /// @todo Check that "path" matches filename
00078         vector<DPSXPoint> points;
00079         for (const TiXmlNode* dpN = dpsN->FirstChild("dataPoint"); dpN; dpN = dpN->NextSibling()) {
00080           const TiXmlNode* xMeasN = dpN->FirstChild("measurement");
00081           if (xMeasN) {
00082             const TiXmlElement* xMeasE = xMeasN->ToElement();
00083             const string centreStr = xMeasE->Attribute("value");
00084             const string errplusStr = xMeasE->Attribute("errorPlus");
00085             const string errminusStr = xMeasE->Attribute("errorMinus");
00086             //if (!centreStr) throw Error("Couldn't get a valid bin centre");
00087             //if (!errplusStr) throw Error("Couldn't get a valid bin err+");
00088             //if (!errminusStr) throw Error("Couldn't get a valid bin err-");
00089             istringstream ssC(centreStr);
00090             istringstream ssP(errplusStr);
00091             istringstream ssM(errminusStr);
00092             double centre, errplus, errminus;
00093             ssC >> centre; ssP >> errplus; ssM >> errminus;
00094             //cout << "  " << centre << " + " << errplus << " - " << errminus << endl;
00095             DPSXPoint pt(centre, errminus, errplus);
00096             points.push_back(pt);
00097           } else {
00098             cerr << "Couldn't get <measurement> tag" << endl;
00099             /// @todo Throw an exception here?
00100           }
00101         }
00102      
00103         // Add to the map
00104         rtn[plotname] = points;
00105       }
00106    
00107     }
00108     // Write out the error
00109     /// @todo Rethrow as a general XML failure.
00110     catch (std::exception& e) {
00111       cerr << e.what() << endl;
00112       throw;
00113     }
00114  
00115     // Return
00116     return rtn;
00117   }

HistoFormatList Rivet::getKnownHistoFormatEnums (  )  [inline]

Function which returns a vector of all the histogram format values in the HistoFormat enum.

Definition at line 49 of file HistoFormat.hh.

References getKnownHistoFormats().

00049                                                     {
00050     HistoFormatList names;
00051     HistoFormatMap hfmap = getKnownHistoFormats();
00052     for (HistoFormatMap::const_iterator hf = hfmap.begin(); hf != hfmap.end(); ++hf) {
00053       names.push_back(hf->first);
00054     }
00055     return names;
00056   }

std::vector<std::string> Rivet::getKnownHistoFormatNames (  )  [inline]

Function which returns a vector of all the histogram format name strings.

Definition at line 60 of file HistoFormat.hh.

References getKnownHistoFormats().

00060                                                          {
00061     vector<string> names;
00062     HistoFormatMap hfmap = getKnownHistoFormats();
00063     for (HistoFormatMap::const_iterator hf = hfmap.begin(); hf != hfmap.end(); ++hf) {
00064       names.push_back(hf->second);
00065     }
00066     return names;
00067   }

HistoFormatMap Rivet::getKnownHistoFormats (  )  [inline]

Function which returns a map from histogram format enums to the corresponding name strings.

Definition at line 22 of file HistoFormat.hh.

References AIDAML, FLAT, and ROOT.

Referenced by getKnownHistoFormatEnums(), getKnownHistoFormatNames(), and getKnownHistoFormatsR().

00022                                                {
00023     HistoFormatMap hfmap;
00024     hfmap[AIDAML] = "AIDA";
00025     hfmap[FLAT] = "FLAT";
00026 #ifdef HAVE_ROOT
00027     hfmap[ROOT] = "ROOT";
00028 #endif
00029     return hfmap;
00030   }

HistoFormatMapR Rivet::getKnownHistoFormatsR (  )  [inline]

Function which returns a map from histogram format name strings to the corresponding enums.

Definition at line 33 of file HistoFormat.hh.

References getKnownHistoFormats().

00033                                                  {
00034     HistoFormatMap hfmap = getKnownHistoFormats();
00035     HistoFormatMapR hfmapr;
00036     for (HistoFormatMap::const_iterator hf = hfmap.begin(); hf != hfmap.end(); ++hf) {
00037       hfmapr[hf->second] = hf->first;
00038     }
00039     return hfmapr;
00040   }

const string getLibPath (  ) 

Get library install path.

Definition at line 7 of file RivetPaths.cc.

Referenced by AnalysisLoader::_loadAnalysisPlugins().

00007                             {
00008     BrInitError error;
00009     br_init_lib(&error);
00010     const string libdir = br_find_lib_dir(DEFAULTLIBDIR);
00011     return libdir;
00012   }

ParticleName Rivet::getParticleNameEnum ( const std::string &  pname  )  [inline]

Function which converts a particle name string to a ParticleName enum.

Definition at line 155 of file ParticleName.hh.

References getParticleNamesRMap().

Referenced by AnalysisInfo::make().

00155                                                                   {
00156     return (ParticleName) Rivet::getParticleNamesRMap()[pname];
00157   }

ParticleNameList Rivet::getParticleNameEnums (  )  [inline]

Function which returns a vector of all the beam particle values in the ParticleName enum.

Definition at line 144 of file ParticleName.hh.

References getParticleNamesMap().

00144                                                  {
00145     ParticleNameList names;
00146     ParticleNameMap bpmap = getParticleNamesMap();
00147     for (ParticleNameMap::const_iterator bp = bpmap.begin(); bp != bpmap.end(); ++bp) {
00148       names.push_back(bp->first);
00149     }
00150     return names;
00151   }

std::vector<std::string> Rivet::getParticleNames (  )  [inline]

Function which returns a vector of all the beam particle name strings.

Definition at line 162 of file ParticleName.hh.

References getParticleNamesMap().

00162                                                  {
00163     vector<string> names;
00164     ParticleNameMap bpmap = getParticleNamesMap();
00165     for (ParticleNameMap::const_iterator bp = bpmap.begin(); bp != bpmap.end(); ++bp) {
00166       names.push_back(bp->second);
00167     }
00168     return names;
00169   }

ParticleNameMap Rivet::getParticleNamesMap (  )  [inline]

Function which returns a map from beam particle enums to the corresponding name strings.

Definition at line 91 of file ParticleName.hh.

References ANTIMUON, ANTINEUTRON, ANTIPROTON, ANTITAU, ANY, ELECTRON, HIGGS, MUON, NEUTRON, NU_E, NU_EBAR, NU_MU, NU_MUBAR, NU_TAU, NU_TAUBAR, PHOTOANTIMUON, PHOTOANTITAU, PHOTOELECTRON, PHOTOMUON, PHOTON, PHOTOPOSITRON, PHOTOTAU, PIMINUS, PIPLUS, POSITRON, PROTON, TAU, WMINUSBOSON, WPLUSBOSON, and ZBOSON.

Referenced by getParticleNameEnums(), getParticleNames(), getParticleNamesRMap(), toParticleName(), and toString().

00091                                                {
00092     ParticleNameMap bpmap;
00093     bpmap[ELECTRON] = "ELECTRON";
00094     bpmap[POSITRON] = "POSITRON";
00095     bpmap[PROTON] = "PROTON";
00096     bpmap[ANTIPROTON] = "ANTIPROTON";
00097     bpmap[PHOTON] = "PHOTON";
00098     bpmap[NEUTRON] = "NEUTRON";
00099     bpmap[ANTINEUTRON] = "ANTINEUTRON";
00100     bpmap[MUON] = "MUON";
00101     bpmap[ANTIMUON] = "ANTIMUON";
00102     bpmap[NU_E] = "NU_E";
00103     bpmap[NU_EBAR] = "NU_EBAR";
00104     bpmap[NU_MU] = "NU_MU";
00105     bpmap[NU_MUBAR] = "NU_MUBAR";
00106     bpmap[NU_TAU] = "NU_TAU";
00107     bpmap[NU_TAUBAR] = "NU_TAUBAR";
00108     bpmap[PIPLUS] = "PIPLUS";
00109     bpmap[PIMINUS] = "PIMINUS";
00110     bpmap[TAU] = "TAU";
00111     bpmap[WPLUSBOSON] = "WPLUSBOSON";
00112     bpmap[WMINUSBOSON] = "WMINUSBOSON";
00113     bpmap[ZBOSON] = "ZBOSON";
00114     bpmap[HIGGS] = "HIGGS";
00115     bpmap[ANTITAU] = "ANTITAU";
00116     bpmap[PHOTOELECTRON] = "PHOTOELECTRON";
00117     bpmap[PHOTOPOSITRON] = "PHOTOPOSITRON";
00118     bpmap[PHOTOMUON] = "PHOTOMUON";
00119     bpmap[PHOTOANTIMUON] = "PHOTOANTIMUON";
00120     bpmap[PHOTOTAU] = "PHOTOTAU";
00121     bpmap[PHOTOANTITAU] = "PHOTOANTITAU";
00122     bpmap[ANY] = "*";
00123     return bpmap;
00124   }

ParticleNameMapR Rivet::getParticleNamesRMap (  )  [inline]

Function which returns a map from beam particle name strings to the corresponding enums.

Definition at line 128 of file ParticleName.hh.

References getParticleNamesMap().

Referenced by getParticleNameEnum().

00128                                                  {
00129     ParticleNameMap bpmap = getParticleNamesMap();
00130     ParticleNameMapR bpmapr;
00131     for (ParticleNameMap::const_iterator bp = bpmap.begin(); bp != bpmap.end(); ++bp) {
00132       bpmapr[bp->second] = bp->first;
00133     }
00134     return bpmapr;
00135   }

const string getRivetDataPath (  ) 

Get Rivet data install path.

Definition at line 21 of file RivetPaths.cc.

References getDataPath().

Referenced by getDatafilePath(), and AnalysisInfo::make().

00021                                   {
00022     return getDataPath() + "/Rivet";
00023   }

const string getRivetgunDataPath (  ) 

Get RivetGun data install path.

Definition at line 25 of file RivetPaths.cc.

References getDataPath().

00025                                      {
00026     return getDataPath() + "/AGILe";
00027   }

bool Rivet::hadronFilter ( const Particle &  p  ) 

Definition at line 16 of file HadronicFinalState.cc.

References Rivet::PID::isHadron(), and Particle::pdgId().

Referenced by HadronicFinalState::project().

00016                                        {
00017     return ! PID::isHadron(p.pdgId());
00018   }

bool Rivet::inRange ( int  value,
int  low,
int  high,
RangeBoundary  lowbound = CLOSED,
RangeBoundary  highbound = CLOSED 
) [inline]

Determine if value is in the range low to high, with boundary types defined by lowbound and highbound.

Todo:
Optimise to one-line at compile time?

Definition at line 91 of file MathUtils.hh.

References CLOSED, and OPEN.

00092                                                                                      {
00093     if (lowbound == OPEN && highbound == OPEN) {
00094       return (value > low && value < high);
00095     } else if (lowbound == OPEN && highbound == CLOSED) {
00096       return (value > low && value <= high);
00097     } else if (lowbound == CLOSED && highbound == OPEN) {
00098       return (value >= low && value < high);
00099     } else { // if (lowbound == CLOSED && highbound == CLOSED) {
00100       return (value >= low && value <= high);
00101     }
00102   }

bool Rivet::inRange ( NUM  value,
NUM  low,
NUM  high,
RangeBoundary  lowbound = CLOSED,
RangeBoundary  highbound = OPEN 
) [inline]

Determine if value is in the range low to high, with boundary types defined by lowbound and highbound.

Todo:
Optimise to one-line at compile time?

Definition at line 74 of file MathUtils.hh.

References CLOSED, and OPEN.

Referenced by UA1_1990_S2044935::analyze(), STAR_2008_S7993412::analyze(), STAR_2006_S6870392::analyze(), H1_2000_S4129130::analyze(), D0_2008_S7719523::analyze(), D0_2004_S5992206::analyze(), D0_2001_S4674421::analyze(), CDF_2009_S8233977::analyze(), CDF_2008_S7782535::analyze(), CDF_2008_NOTE_9351::analyze(), CDF_2006_S6450792::analyze(), CDF_2005_S6217184::analyze(), CDF_2004_S5839831::analyze(), OPAL_2004_S6132243::getHistIndex(), WFinder::project(), TriggerUA5::project(), TriggerCDFRun0Run1::project(), and InitialQuarks::project().

00075                                                                                    {
00076     if (lowbound == OPEN && highbound == OPEN) {
00077       return (value > low && value < high);
00078     } else if (lowbound == OPEN && highbound == CLOSED) {
00079       return (value > low && value <= high);
00080     } else if (lowbound == CLOSED && highbound == OPEN) {
00081       return (value >= low && value < high);
00082     } else { // if (lowbound == CLOSED && highbound == CLOSED) {
00083       return (value >= low && value <= high);
00084     }
00085   }

double Rivet::integral ( AIDA::IHistogram1D *  histo  )  [inline]

Return the integral over the histogram bins assuming it has been.

Definition at line 54 of file RivetAIDA.hh.

Referenced by D0_2001_S4674421::finalize().

00054                                                   {
00055     double intg = 0.;
00056     for ( int i = 0; i < histo->axis().bins(); ++i )
00057       intg += histo->binHeight(i) * histo->axis().binWidth(i);
00058     return intg;
00059   }

set<BeamPair> Rivet::intersection ( const set< BeamPair > &  a,
const set< BeamPair > &  b 
) [inline]

Return the intersection of two sets of BeamPairs.

Definition at line 56 of file BeamConstraint.hh.

References compatible().

Referenced by Projection::beamPairs().

00056                                                                                     {
00057     set<BeamPair> ret;
00058     for (set<BeamPair>::const_iterator bp = a.begin(); bp != a.end(); ++bp) {
00059       if (compatible(*bp, b)) ret.insert(*bp);
00060     }
00061     return ret;
00062   }

double Rivet::invariant ( const FourVector &  lv  )  [inline]

Calculate the Lorentz self-invariant of a 4-vector. $ v_\mu v^\mu = g_{\mu\nu} x^\mu x^\nu $.

Definition at line 228 of file Vector4.hh.

References FourVector::invariant().

Referenced by DISKinematics::project().

00228                                                 {
00229     return lv.invariant();
00230   }

Matrix<N> Rivet::inverse ( const Matrix< N > &  m  )  [inline]

Definition at line 348 of file MatrixN.hh.

References Matrix::inverse().

00348                                                {
00349     return m.inverse();
00350   }

LorentzTransform Rivet::inverse ( const LorentzTransform &  lt  )  [inline]

Definition at line 148 of file LorentzTrans.hh.

References LorentzTransform::inverse().

00148                                                               {
00149     return lt.inverse();
00150   }

bool Rivet::isZero ( const Vector< N > &  v,
double  tolerance = 1E-5 
) [inline]

External form of numerically safe nullness check.

Definition at line 196 of file VectorN.hh.

References Vector::isZero().

00196                                                                 {
00197     return v.isZero(tolerance);
00198   }

bool Rivet::isZero ( const Matrix< N > &  m,
double  tolerance = 1E-5 
) [inline]

External form of numerically safe nullness check.

Definition at line 411 of file MatrixN.hh.

References Matrix::isZero().

00411                                                                 {
00412     return m.isZero(tolerance);
00413   }

bool Rivet::isZero ( long  val,
double   UNUSEDtolerance = 1E-8 
) [inline]

Compare an integral-type number to zero. Since there is no risk of floating point error, this function just exists in case isZero is accidentally used on an integer type, to avoid implicit type conversion. The tolerance parameter is ignored.

Definition at line 23 of file MathUtils.hh.

00023                                                               {
00024     return val == 0;
00025   }

bool Rivet::isZero ( double  val,
double  tolerance = 1E-8 
) [inline]

double Rivet::lorentzGamma ( const double  beta  )  [inline]

Definition at line 15 of file LorentzTrans.hh.

Referenced by LorentzTransform::gamma(), and LorentzTransform::setBoost().

00015                                                 {
00016     return 1.0 / sqrt(1 - beta*beta);
00017   }

std::pair<PdgId,PdgId> Rivet::make_pdgid_pair ( std::pair< ParticleName, ParticleName >  pnamepair  )  [inline]

Convenience maker of particle ID pairs.

Convenience maker of particle ID pairs.

Definition at line 78 of file ParticleName.hh.

References make_pdgid_pair().

00078                                                                                             {
00079     return make_pdgid_pair(pnamepair.first, pnamepair.second);
00080   }

std::pair<PdgId,PdgId> Rivet::make_pdgid_pair ( PdgId  a,
PdgId  b 
) [inline]

Convenience maker of particle ID pairs.

Definition at line 68 of file ParticleName.hh.

Referenced by _geNormAlignment(), compatible(), make_pdgid_pair(), and Analysis::requiredBeams().

00068                                                                 {
00069     return make_pair<PdgId,PdgId>(a, b);
00070   }

string Rivet::@193::makeAxisCode ( const size_t  datasetId,
const size_t  xAxisId,
const size_t  yAxisId 
) [static]

Definition at line 15 of file Analysis.cc.

Referenced by Analysis::binEdges().

00015                                                                                             {
00016       stringstream axisCode;
00017       axisCode << "d";
00018       if (datasetId < 10) axisCode << 0;
00019       axisCode << datasetId;
00020       axisCode << "-x";
00021       if (xAxisId < 10) axisCode << 0;
00022       axisCode << xAxisId;
00023       axisCode << "-y";
00024       if (yAxisId < 10) axisCode << 0;
00025       axisCode << yAxisId;
00026       return axisCode.str();
00027     }

double Rivet::mapAngle0To2Pi ( double  angle  )  [inline]

Map an angle into the range [0, 2PI).

Definition at line 179 of file MathUtils.hh.

References _mapAngleM2PITo2Pi(), isZero(), and TWOPI.

Referenced by CDF_2004_S5839831::_calcTransCones(), and D0_1996_S3324664::analyze().

00179                                              {
00180     double rtn = _mapAngleM2PITo2Pi(angle);
00181     if (isZero(rtn)) return 0;
00182     if (rtn < 0) rtn += TWOPI;
00183     if (rtn == TWOPI) rtn = 0;
00184     assert(rtn >= 0 && rtn < TWOPI);
00185     return rtn;
00186   }

double Rivet::mapAngle0ToPi ( double  angle  )  [inline]

Map an angle into the range [0, PI].

Definition at line 189 of file MathUtils.hh.

References isZero(), mapAngleMPiToPi(), and PI.

Referenced by CDF_1997_S3541940::_psi(), CDF_1996_S3349578::_psi(), MC_PHOTONJETS::analyze(), MC_DIPHOTON::analyze(), D0_2010_S8570965::analyze(), CDF_2005_S6080774::analyze(), and deltaPhi().

00189                                             {
00190     double rtn = fabs(mapAngleMPiToPi(angle));
00191     if (isZero(rtn)) return 0;
00192     assert(rtn > 0 && rtn <= PI);
00193     return rtn;
00194   }

double Rivet::mapAngleMPiToPi ( double  angle  )  [inline]

Map an angle into the range (-PI, PI].

Definition at line 169 of file MathUtils.hh.

References _mapAngleM2PITo2Pi(), isZero(), PI, and TWOPI.

Referenced by MC_SUSY::analyze(), and mapAngle0ToPi().

00169                                               {
00170     double rtn = _mapAngleM2PITo2Pi(angle);
00171     if (isZero(rtn)) return 0;
00172     rtn = (rtn >   PI ? rtn-TWOPI :
00173            rtn <= -PI ? rtn+TWOPI : rtn);
00174     assert(rtn > -PI && rtn <= PI);
00175     return rtn;
00176   }

double Rivet::mass ( const FourMomentum &  v  )  [inline]

Get mass $ m = \sqrt{E^2 - p^2} $ (the Lorentz self-invariant) of a momentum 4-vector.

Definition at line 447 of file Vector4.hh.

References FourMomentum::mass().

Referenced by D0_2001_S4674421::analyze(), CDF_2008_NOTE_9351::analyze(), CDF_1996_S3108457::analyze(), and VetoedFinalState::project().

00447                                             {
00448     return v.mass();
00449   }

double Rivet::mass2 ( const FourMomentum &  v  )  [inline]

Get squared mass $ m^2 = E^2 - p^2 $ (the Lorentz self-invariant) of a momentum 4-vector.

Definition at line 442 of file Vector4.hh.

References FourMomentum::mass2().

Referenced by CDF_1997_S3541940::_reduce(), CDF_1996_S3349578::_reduce(), D0_1996_S3214044::_safeMass(), CDF_1997_S3541940::_safeMass(), CDF_1996_S3349578::_safeMass(), and VetoedFinalState::project().

00442                                              {
00443     return v.mass2();
00444   }

double Rivet::mean ( const vector< int > &  sample  )  [inline]

Calculate the mean of a sample.

Definition at line 119 of file MathUtils.hh.

Referenced by covariance().

00119                                                 {
00120     double mean = 0.0;
00121     for (size_t i=0; i<sample.size(); ++i) {
00122       mean += sample[i];
00123     }
00124     return mean/sample.size();
00125   }

double Rivet::mod ( const Vector< N > &  v  )  [inline]

Calculate the modulus of a vector. $ \sqrt{\sum_{i=1}^N x_i^2} $.

Definition at line 150 of file VectorN.hh.

References Vector::mod().

Referenced by _calcT(), Thrust::_calcThrust(), D0_1996_S3214044::_fourJetAnalysis(), and Hemispheres::project().

00150                                         {
00151     return v.mod();
00152   }

double Rivet::mod2 ( const Vector< N > &  v  )  [inline]

Calculate the modulus-squared of a vector. $ \sum_{i=1}^N x_i^2 $.

Definition at line 143 of file VectorN.hh.

References Vector::mod2().

00143                                          {
00144     return v.mod2();
00145   }

bool Rivet::mod2Cmp ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 42 of file Thrust.cc.

References Vector::mod2().

Referenced by _calcT().

00042                                                           {
00043     return a.mod2() > b.mod2();
00044   }

FourMomentum Rivet::momentum ( const fastjet::PseudoJet &  pj  )  [inline]

Vector3 Rivet::momentum3 ( const fastjet::PseudoJet &  pj  )  [inline]

Make a 3-momentum vector from a FastJet pseudo-jet.

Definition at line 18 of file FastJets.hh.

Referenced by calc_ALPHA34(), calc_BZ(), calc_KSW(), and calc_NR().

00018                                                        {
00019     return Vector3(pj.px(), pj.py(), pj.pz());
00020   }

FourVector Rivet::multiply ( const FourVector &  v,
const double  a 
) [inline]

Definition at line 196 of file Vector4.hh.

References multiply().

00196                                                                   {
00197     return multiply(a, v);
00198   }

FourVector Rivet::multiply ( const double  a,
const FourVector &  v 
) [inline]

Definition at line 190 of file Vector4.hh.

References Vector::_vec.

00190                                                                   {
00191     FourVector result;
00192     result._vec = a * v._vec;
00193     return result;
00194   }

Vector3 multiply ( const Vector3 &  v,
const   double 
) [inline]

Definition at line 230 of file Vector3.hh.

References multiply().

00230                                                             {
00231     return multiply(a, v);
00232   }

Vector3 multiply ( const   double,
const Vector3 &  v 
) [inline]

Definition at line 224 of file Vector3.hh.

References Vector::_vec.

00224                                                             {
00225     Vector3 result;
00226     result._vec = a * v._vec;
00227     return result;
00228   }

Vector< N > multiply ( const Matrix< N > &  a,
const Vector< N > &  b 
) [inline]

Definition at line 324 of file MatrixN.hh.

References Matrix::_matrix, and Vector::_vec.

00324                                                                     {
00325     Vector<N> tmp;
00326     tmp._vec = a._matrix * b._vec;
00327     return tmp;
00328   }

Matrix<N> Rivet::multiply ( const Matrix< N > &  m,
const double  a 
) [inline]

Definition at line 291 of file MatrixN.hh.

References multiply().

00291                                                                 {
00292     return multiply(a, m);
00293   }

Matrix<N> Rivet::multiply ( const double  a,
const Matrix< N > &  m 
) [inline]

Definition at line 284 of file MatrixN.hh.

References Matrix::_matrix.

00284                                                                 {
00285     Matrix<N> rtn;
00286     rtn._matrix = a * m._matrix;
00287     return rtn;
00288   }

Matrix< N > multiply ( const Matrix< N > &  a,
const Matrix< N > &  b 
) [inline]

Definition at line 311 of file MatrixN.hh.

References Matrix::_matrix.

Referenced by divide(), multiply(), operator*(), operator/(), LorentzTransform::preMult(), and LorentzTransform::transform().

00311                                                                     {
00312     Matrix<N> tmp;
00313     tmp._matrix = a._matrix * b._matrix;
00314     return tmp;
00315   }

int Rivet::nocase_cmp ( const string &  s1,
const string &  s2 
) [inline]

Definition at line 15 of file Utils.hh.

00015                                                             {
00016     string::const_iterator it1 = s1.begin();
00017     string::const_iterator it2 = s2.begin();
00018     while ( (it1 != s1.end()) && (it2 != s2.end()) ) {
00019       if(::toupper(*it1) != ::toupper(*it2)) { // < Letters differ?
00020         // Return -1 to indicate smaller than, 1 otherwise
00021         return (::toupper(*it1) < ::toupper(*it2)) ? -1 : 1;
00022       }
00023       // Proceed to the next character in each string
00024       ++it1;
00025       ++it2;
00026     }
00027     size_t size1 = s1.size(), size2 = s2.size(); // Cache lengths
00028     // Return -1,0 or 1 according to strings' lengths
00029     if (size1 == size2) return 0;
00030     return (size1 < size2) ? -1 : 1;
00031   }

void Rivet::normalize ( AIDA::IHistogram1D *  histo,
const double  norm = 1.0 
) [inline]

Normalize the histogram to norm .

Definition at line 40 of file RivetAIDA.hh.

00040                                                                         {
00041     assert(norm != 0.0);
00042     double area = 0;
00043     for (int i=0; i < histo->axis().bins(); ++i) {
00044       area += histo->binHeight(i) * histo->axis().binWidth(i);
00045     }
00046     if (area != 0) {
00047       histo->scale(norm/area);
00048     }
00049   }

FourVector Rivet::operator* ( const FourVector &  v,
const double  a 
) [inline]

Definition at line 204 of file Vector4.hh.

References multiply().

00204                                                                    {
00205     return multiply(a, v);
00206   }

FourVector Rivet::operator* ( const double  a,
const FourVector &  v 
) [inline]

Definition at line 200 of file Vector4.hh.

References multiply().

00200                                                                    {
00201     return multiply(a, v);
00202   }

Vector3 operator* ( const Vector3 &  v,
const   double 
) [inline]

Definition at line 238 of file Vector3.hh.

References multiply().

00238                                                              {
00239     return multiply(a, v);
00240   }

Vector3 operator* ( const   double,
const Vector3 &  v 
) [inline]

Definition at line 234 of file Vector3.hh.

References multiply().

00234                                                              {
00235     return multiply(a, v);
00236   }

Vector<N> Rivet::operator* ( const Matrix< N > &  a,
const Vector< N > &  b 
) [inline]

Definition at line 331 of file MatrixN.hh.

References multiply().

00331                                                                      {
00332     return multiply(a, b);
00333   }

Matrix<N> Rivet::operator* ( const Matrix< N > &  m,
const double  a 
) [inline]

Definition at line 306 of file MatrixN.hh.

References multiply().

00306                                                                  {
00307     return multiply(a, m);
00308   }

Matrix<N> Rivet::operator* ( const double  a,
const Matrix< N > &  m 
) [inline]

Definition at line 301 of file MatrixN.hh.

References multiply().

00301                                                                  {
00302     return multiply(a, m);
00303   }

Matrix< N > operator* ( const Matrix< N > &  a,
const Matrix< N > &  b 
) [inline]

Definition at line 318 of file MatrixN.hh.

References multiply().

00318                                                                      {
00319     return multiply(a, b);
00320   }

FourVector Rivet::operator+ ( const FourVector &  a,
const FourVector &  b 
) [inline]

Definition at line 218 of file Vector4.hh.

00218                                                                         {
00219     return add(a, b);
00220   }

Vector3 operator+ ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 258 of file Vector3.hh.

00258                                                                {
00259     return add(a, b);
00260   }

Matrix<N> Rivet::operator+ ( const Matrix< N >  a,
const Matrix< N > &  b 
) [inline]

Definition at line 274 of file MatrixN.hh.

00274                                                                     {
00275     return add(a, b);
00276   }

FourVector Rivet::operator- ( const FourVector &  a,
const FourVector &  b 
) [inline]

Definition at line 222 of file Vector4.hh.

00222                                                                         {
00223     return add(a, -b);
00224   }

Vector3 operator- ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 262 of file Vector3.hh.

References subtract().

00262                                                                {
00263     return subtract(a, b);
00264   }

Matrix<N> Rivet::operator- ( const Matrix< N >  a,
const Matrix< N > &  b 
) [inline]

Definition at line 279 of file MatrixN.hh.

References subtract().

00279                                                                     {
00280     return subtract(a, b);
00281   }

FourVector Rivet::operator/ ( const FourVector &  v,
const double  a 
) [inline]

Definition at line 208 of file Vector4.hh.

References multiply().

00208                                                                    {
00209     return multiply(1.0/a, v);
00210   }

Vector3 operator/ ( const Vector3 &  v,
const   double 
) [inline]

Definition at line 242 of file Vector3.hh.

References multiply().

00242                                                              {
00243     return multiply(1.0/a, v);
00244   }

ostream & operator<< ( Log &  log,
int  level 
)

Streaming output to a logger must have a Log::Level/int as its first argument.

The streaming operator can use Log's internals.

Definition at line 188 of file Logging.cc.

References Log::_nostream, Log::formatMessage(), and Log::isActive().

00188                                            {
00189     if (log.isActive(level)) {
00190       cout << log.formatMessage(level, "");
00191       return cout;
00192     } else {
00193       return *(log._nostream);
00194     }
00195   }

std::ostream& Rivet::operator<< ( std::ostream &  os,
const std::list< T > &  vec 
) [inline]

Convenient function for streaming out lists of any streamable object.

Definition at line 106 of file Rivet.hh.

00106                                                                        {
00107     os << "[ ";
00108     for (size_t i=0; i<vec.size(); ++i) {
00109       os << vec[i] << " ";
00110     }
00111     os << "]";
00112     return os;
00113   }

std::ostream& Rivet::operator<< ( std::ostream &  os,
const std::vector< T > &  vec 
) [inline]

Convenient function for streaming out vectors of any streamable object.

Definition at line 94 of file Rivet.hh.

00094                                                                          {
00095     os << "[ ";
00096     for (size_t i=0; i<vec.size(); ++i) {
00097       os << vec[i] << " ";
00098     }
00099     os << "]";
00100     return os;
00101   }

std::ostream& Rivet::operator<< ( std::ostream &  os,
const BeamPair &  bp 
) [inline]

Allow BeamPair to be passed to an ostream.

Definition at line 208 of file ParticleName.hh.

References toString().

00208                                                                     {
00209     os << toString(bp);
00210     return os;
00211   }

std::ostream& Rivet::operator<< ( std::ostream &  os,
const ParticleName &  p 
) [inline]

Allow ParticleName to be passed to an iostream.

Definition at line 190 of file ParticleName.hh.

References toString().

00190                                                                        {
00191     os << toString(p);
00192     return os;
00193   }

std::ostream& Rivet::operator<< ( std::ostream &  os,
const ParticlePair &  pp 
) [inline]

Allow ParticlePair to be passed to an ostream.

Definition at line 119 of file Particle.hh.

References toString().

00119                                                                         {
00120     os << toString(pp);
00121     return os;
00122   }

std::ostream& Rivet::operator<< ( std::ostream &  out,
const Vector< N > &  v 
) [inline]

Stream out string representation.

Definition at line 173 of file VectorN.hh.

References toString().

00173                                                                      {
00174     out << toString(v);
00175     return out;
00176   }

std::ostream& Rivet::operator<< ( std::ostream &  out,
const FourVector &  lv 
) [inline]

Write a 4-vector to an ostream.

Definition at line 614 of file Vector4.hh.

References toString().

00614                                                                        {
00615     out << toString(lv);
00616     return out;
00617   }

ostream& Rivet::operator<< ( std::ostream &  out,
const Matrix< N > &  m 
) [inline]

Stream out string representation.

Definition at line 386 of file MatrixN.hh.

References m, and toString().

00386                                                                   {
00387     out << toString(m);
00388     return out;
00389   }

ostream& Rivet::operator<< ( std::ostream &  out,
const typename EigenSystem< N >::EigenPair &  e 
) [inline]

Definition at line 166 of file MatrixDiag.hh.

References toString().

00166                                                                                        {
00167   out << toString(e);
00168   return out;
00169 }

ostream& Rivet::operator<< ( std::ostream &  out,
const LorentzTransform &  lt 
) [inline]

Definition at line 168 of file LorentzTrans.hh.

References toString().

00168                                                                           {
00169     out << toString(lt);
00170     return out;
00171   }

std::ostream& Rivet::operator<< ( std::ostream &  os,
const AnalysisInfo &  ai 
) [inline]

Stream an AnalysisInfo as a text description.

Definition at line 131 of file AnalysisInfo.hh.

References toString().

00131                                                                         {
00132     os << toString(ai);
00133     return os;
00134   }

vector<GenParticle*> Rivet::particles ( GenVertex *  gv,
HepMC::IteratorRange  range = HepMC::relatives 
) [inline]

Definition at line 63 of file RivetHepMC.hh.

References pi.

00063                                                                                                 {
00064     vector<GenParticle*> rtn;
00065     for (GenVertex::particle_iterator pi = gv->particles_begin(range); pi != gv->particles_end(range); ++pi) {
00066       rtn.push_back(*pi);
00067     }
00068     return rtn;
00069   }

vector<GenParticle*> Rivet::particles ( const GenEvent *  ge  )  [inline]

Definition at line 26 of file RivetHepMC.hh.

References particles().

00026                                                             {
00027     assert(ge);
00028     return particles(*ge);
00029   }

vector<GenParticle*> Rivet::particles ( const GenEvent &  ge  )  [inline]

const vector<GenParticle*> Rivet::particles_in ( const GenVertex *  gv  )  [inline]

Definition at line 45 of file RivetHepMC.hh.

References pi.

Referenced by InitialQuarks::project().

00045                                                                       {
00046     vector<GenParticle*> rtn;
00047     for (GenVertex::particles_in_const_iterator pi = gv->particles_in_const_begin(); pi != gv->particles_in_const_end(); ++pi) {
00048       rtn.push_back(*pi);
00049     }
00050     return rtn;
00051   }

const vector<GenParticle*> Rivet::particles_out ( const GenVertex *  gv  )  [inline]

Definition at line 54 of file RivetHepMC.hh.

References pi.

Referenced by InitialQuarks::project().

00054                                                                        {
00055     vector<GenParticle*> rtn;
00056     for (GenVertex::particles_out_const_iterator pi = gv->particles_out_const_begin(); pi != gv->particles_out_const_end(); ++pi) {
00057       rtn.push_back(*pi);
00058     }
00059     return rtn;
00060   }

const PROJ* Rivet::pcast ( const Projection *  p  )  [inline]

Convenience method for casting to a const Projection pointer.

Definition at line 38 of file Projection.fhh.

00038                                                 {
00039     return dynamic_cast<const PROJ*>(p);
00040   }

const PROJ& Rivet::pcast ( const Projection &  p  )  [inline]

Convenience method for casting to a const Projection reference.

Definition at line 31 of file Projection.fhh.

00031                                                 {
00032     return dynamic_cast<const PROJ&>(p);
00033   }

Cmp<Projection> Rivet::pcmp ( const Projection *  parent1,
const Projection *  parent2,
const string &  pname 
) [inline]

Global helper function for easy creation of Cmp<Projection> objects from two parent projections and their common name for the projection to be compared.

Definition at line 317 of file Cmp.hh.

References ProjectionApplier::getProjection().

00317                                                                                                          {
00318     assert(parent1);
00319     assert(parent2);
00320     return Cmp<Projection>(parent1->getProjection(pname), parent2->getProjection(pname));
00321   }

Cmp<Projection> Rivet::pcmp ( const Projection &  parent1,
const Projection *  parent2,
const string &  pname 
) [inline]

Global helper function for easy creation of Cmp<Projection> objects from two parent projections and their common name for the projection to be compared. This version takes one parent as a pointer.

Definition at line 310 of file Cmp.hh.

References ProjectionApplier::getProjection().

00310                                                                                                          {
00311     assert(parent2);
00312     return Cmp<Projection>(parent1.getProjection(pname), parent2->getProjection(pname));
00313   }

Cmp<Projection> Rivet::pcmp ( const Projection *  parent1,
const Projection &  parent2,
const string &  pname 
) [inline]

Global helper function for easy creation of Cmp<Projection> objects from two parent projections and their common name for the projection to be compared. This version takes one parent as a pointer.

Definition at line 302 of file Cmp.hh.

References ProjectionApplier::getProjection().

00302                                                                                                          {
00303     assert(parent1);
00304     return Cmp<Projection>(parent1->getProjection(pname), parent2.getProjection(pname));
00305   }

Cmp<Projection> Rivet::pcmp ( const Projection &  parent1,
const Projection &  parent2,
const string &  pname 
) [inline]

Global helper function for easy creation of Cmp<Projection> objects from two parent projections and their common name for the projection to be compared.

Definition at line 295 of file Cmp.hh.

References ProjectionApplier::getProjection().

00295                                                                                                          {
00296     return Cmp<Projection>(parent1.getProjection(pname), parent2.getProjection(pname));
00297   }

Cmp<Projection> Rivet::pcmp ( const Projection &  p1,
const Projection &  p2 
) [inline]

Global helper function for easy creation of Cmp<Projection> objects.

Definition at line 289 of file Cmp.hh.

Referenced by ProjectionHandler::_getEquiv().

00289                                                                           {
00290     return Cmp<Projection>(p1, p2);
00291   }

double Rivet::perp ( const FourVector &  v  )  [inline]

Synonym for polarRadius.

Definition at line 265 of file Vector4.hh.

References FourVector::perp().

00265                                           {
00266     return v.perp();
00267   }

double Rivet::perp ( const Vector3 &  v  )  [inline]

Synonym for polarRadius.

Definition at line 291 of file Vector3.hh.

References Vector3::perp().

00291                                        {
00292     return v.perp();
00293   }

double Rivet::perp2 ( const FourVector &  v  )  [inline]

Synonym for polarRadius2.

Definition at line 252 of file Vector4.hh.

References FourVector::perp2().

00252                                            {
00253     return v.perp2();
00254   }

double Rivet::perp2 ( const Vector3 &  v  )  [inline]

Synonym for polarRadius2.

Definition at line 278 of file Vector3.hh.

References Vector3::perp2().

00278                                         {
00279     return v.perp2();
00280   }

double Rivet::phi ( const FourVector &  v,
const PhiMapping  mapping = ZERO_2PI 
) [inline]

Synonym for azimuthalAngle.

Definition at line 278 of file Vector4.hh.

References FourVector::phi().

00278                                                                               {
00279     return v.phi(mapping);
00280   }

double Rivet::phi ( const Vector3 &  v,
const PhiMapping  mapping = ZERO_2PI 
) [inline]

Synonym for azimuthalAngle.

Definition at line 306 of file Vector3.hh.

References Vector3::phi().

Referenced by STAR_2009_UE_HELEN::analyze(), MC_LEADINGJETS::analyze(), MC_DIPHOTON::analyze(), D0_2004_S5992206::analyze(), CDF_2008_LEADINGJETS::analyze(), and CDF_2005_S6080774::analyze().

00306                                                                            {
00307     return v.phi(mapping);
00308   }

double Rivet::polarAngle ( const FourVector &  v  )  [inline]

Calculate polar angle of a Lorentz vector.

Definition at line 284 of file Vector4.hh.

References FourVector::polarAngle().

00284                                                 {
00285     return v.polarAngle();
00286   }

double Rivet::polarAngle ( const Vector3 &  v  )  [inline]

Calculate polar angle of a 3-vector.

Definition at line 311 of file Vector3.hh.

References Vector3::polarAngle().

00311                                              {
00312     return v.polarAngle();
00313   }

double Rivet::polarRadius ( const FourVector &  v  )  [inline]

Calculate transverse length $ \rho $ of a Lorentz vector.

Definition at line 261 of file Vector4.hh.

References FourVector::polarRadius().

00261                                                  {
00262     return v.polarRadius();
00263   }

double Rivet::polarRadius ( const Vector3 &  v  )  [inline]

Calculate transverse length $ \rho $ of a 3-vector.

Definition at line 287 of file Vector3.hh.

References Vector3::polarRadius().

00287                                               {
00288     return v.polarRadius();
00289   }

double Rivet::polarRadius2 ( const FourVector &  v  )  [inline]

Calculate transverse length sq. $ \rho^2 $ of a Lorentz vector.

Definition at line 248 of file Vector4.hh.

References FourVector::polarRadius2().

00248                                                   {
00249     return v.polarRadius2();
00250   }

double Rivet::polarRadius2 ( const Vector3 &  v  )  [inline]

Calculate transverse length sq. $ \rho^2 $ of a 3-vector.

Definition at line 274 of file Vector3.hh.

References Vector3::polarRadius2().

00274                                                {
00275     return v.polarRadius2();
00276   }

double Rivet::pseudorapidity ( const FourVector &  v  )  [inline]

Calculate pseudorapidity of a Lorentz vector.

Definition at line 293 of file Vector4.hh.

References FourVector::pseudorapidity().

00293                                                     {
00294     return v.pseudorapidity();
00295   }

double Rivet::pseudorapidity ( const Vector3 &  v  )  [inline]

Calculate pseudorapidity of a 3-vector.

Definition at line 320 of file Vector3.hh.

References Vector3::pseudorapidity().

Referenced by MC_LEADINGJETS::analyze(), MC_DIJET::analyze(), CDF_2008_S7540469::analyze(), and CDF_2004_S5839831::analyze().

00320                                                  {
00321     return v.pseudorapidity();
00322   }

double Rivet::pT ( const FourMomentum &  v  )  [inline]

double Rivet::pT2 ( const FourMomentum &  v  )  [inline]

Calculate squared transverse momentum $ p_T^2 $ of a momentum 4-vector.

Definition at line 457 of file Vector4.hh.

References FourMomentum::pT2().

Referenced by H1_1994_S2919893::analyze().

00457                                            {
00458     return v.pT2();
00459   }

double Rivet::rapidity ( const FourMomentum &  v  )  [inline]

Calculate rapidity of a momentum 4-vector.

Definition at line 452 of file Vector4.hh.

References FourMomentum::rapidity().

00452                                                 {
00453     return v.rapidity();
00454   }

double Rivet::rapidity ( double  E,
double  pz 
) [inline]

Calculate a rapidity value from the supplied energy E and longitudinal momentum .

Definition at line 216 of file MathUtils.hh.

References isZero(), and MAXDOUBLE.

Referenced by D0_2008_S7863608::analyze().

00216                                               {
00217     if (isZero(E - pz)) {
00218       throw std::runtime_error("Divergent positive rapidity");
00219       return MAXDOUBLE;
00220     }
00221     if (isZero(E + pz)) {
00222       throw std::runtime_error("Divergent negative rapidity");
00223       return -MAXDOUBLE;
00224     }
00225     return 0.5*log((E+pz)/(E-pz));
00226   }

double Rivet::rho ( const FourVector &  v  )  [inline]

Synonym for polarRadius.

Definition at line 269 of file Vector4.hh.

References FourVector::rho().

00269                                          {
00270     return v.rho();
00271   }

double Rivet::rho ( const Vector3 &  v  )  [inline]

Synonym for polarRadius.

Definition at line 295 of file Vector3.hh.

References Vector3::rho().

00295                                       {
00296     return v.rho();
00297   }

double Rivet::rho2 ( const FourVector &  v  )  [inline]

Synonym for polarRadius2.

Definition at line 256 of file Vector4.hh.

References FourVector::rho2().

00256                                           {
00257     return v.rho2();
00258   }

double Rivet::rho2 ( const Vector3 &  v  )  [inline]

Synonym for polarRadius2.

Definition at line 282 of file Vector3.hh.

References Vector3::rho2().

00282                                        {
00283     return v.rho2();
00284   }

int Rivet::sign ( long  val  )  [inline]

Find the sign of a number.

Definition at line 41 of file MathUtils.hh.

References MINUS, PLUS, and ZERO.

00041                             {
00042     if (val == 0) return ZERO;
00043     return (val > 0) ? PLUS : MINUS;
00044   }

int Rivet::sign ( int  val  )  [inline]

Find the sign of a number.

Definition at line 35 of file MathUtils.hh.

References MINUS, PLUS, and ZERO.

00035                            {
00036     if (val == 0) return ZERO;
00037     return (val > 0) ? PLUS : MINUS;
00038   }

int Rivet::sign ( double  val  )  [inline]

Find the sign of a number.

Definition at line 28 of file MathUtils.hh.

References isZero(), MINUS, PLUS, and ZERO.

Referenced by _calcT(), MC_PHOTONJETUE::analyze(), D0_2008_S7719523::analyze(), and CDF_1994_S2952106::analyze().

00028                               {
00029     if (isZero(val)) return ZERO;
00030     const int valsign = (val > 0) ? PLUS : MINUS;
00031     return valsign;
00032   }

vector<string> Rivet::split ( string  path,
const string  delim = ":" 
) [inline]

Split a string with single-character delimiters, ignoring zero-length substrings. Designed for getting elements of filesystem paths, naturally.

Definition at line 61 of file Utils.hh.

Referenced by AnalysisLoader::_loadAnalysisPlugins(), getDatafilePath(), AnalysisInfo::make(), and FastJets::splitJet().

00061                                                                  :") {
00062     vector<string> dirs;
00063     if (delim.length() != 1) {
00064       throw Error("Rivet::split(string): delimiter must be a single character.");
00065     }
00066     while (true) {
00067       const size_t delim_pos = path.find(delim);
00068       if (delim_pos == string::npos) break;
00069       const string dir = path.substr(0, delim_pos);
00070       if (dir.length()) dirs.push_back(dir); // Don't insert "empties"
00071       path.replace(0, delim_pos+1, "");
00072     }
00073     if (path.length()) dirs.push_back(path); // Don't forget the trailing component!
00074     return dirs;
00075   }

Num Rivet::sqr ( Num  a  )  [inline]

Named number-type squaring operation.

Definition at line 107 of file MathUtils.hh.

Referenced by H1_1994_S2919893::analyze(), BELLE_2006_S6265367::analyze(), deltaR(), get2dClosestApproach(), get2dDecayLength(), get3dClosestApproach(), get3dDecayLength(), and sqrtS().

00107                         {
00108     return a*a;
00109   }

double sqrtS ( const FourMomentum &  pa,
const FourMomentum &  pb 
)

Function to get beam centre of mass energy from a pair of beam momenta.

Definition at line 35 of file Beam.cc.

References FourMomentum::E(), FourMomentum::pz(), and sqr().

00035                                                                {
00036     const double mom1 = pa.pz();
00037     const double e1 = pa.E();
00038     const double mom2 = pb.pz();
00039     const double e2 = pb.E();
00040     double sqrts = sqrt( sqr(e1+e2) - sqr(mom1+mom2) );
00041     return sqrts;
00042   }

double sqrtS ( const ParticlePair &  beams  ) 

Function to get beam centre of mass energy from a pair of particles.

Definition at line 31 of file Beam.cc.

References sqrtS().

00031                                           {
00032     return sqrtS(beams.first.momentum(), beams.second.momentum());
00033   }

double sqrtS ( const Event &  e  ) 

Function to get beam centre of mass energy from an event.

Definition at line 25 of file Beam.cc.

References Beam::project(), and Beam::sqrtS().

Referenced by AnalysisHandler::analyze(), Beam::sqrtS(), sqrtS(), and AnalysisHandler::sqrtS().

00025                                {
00026     Beam beamproj;
00027     beamproj.project(e);
00028     return beamproj.sqrtS();
00029   }

bool Rivet::startsWith ( const string &  s,
const string &  start 
) [inline]

Definition at line 48 of file Utils.hh.

00048                                                                {
00049     if (s.length() < start.length()) return false;
00050     return s.substr(0, start.length()) == start;
00051   }

Vector3 Rivet::subtract ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 252 of file Vector3.hh.

References Vector::_vec.

00252                                                               {
00253     Vector3 result;
00254     result._vec = a._vec - b._vec;
00255     return result;
00256   }

Matrix<N> Rivet::subtract ( const Matrix< N > &  a,
const Matrix< N > &  b 
) [inline]

Definition at line 269 of file MatrixN.hh.

Referenced by operator-().

00269                                                                     {
00270     return add(a, -b);
00271   }

double Rivet::theta ( const FourVector &  v  )  [inline]

Synonym for polarAngle.

Definition at line 288 of file Vector4.hh.

References FourVector::theta().

00288                                            {
00289     return v.theta();
00290   }

double Rivet::theta ( const Vector3 &  v  )  [inline]

Synonym for polarAngle.

Definition at line 315 of file Vector3.hh.

References Vector3::theta().

Referenced by Matrix3::setAsRotation().

00315                                         {
00316     return v.theta();
00317   }

string Rivet::toLower ( const string &  s  )  [inline]

Definition at line 34 of file Utils.hh.

References transform().

00034                                          {
00035     string out = s;
00036     transform(out.begin(), out.end(), out.begin(), (int(*)(int)) tolower);
00037     return out;
00038   }

std::string Rivet::toParticleName ( PdgId  p  )  [inline]

Print a PdgId as a named string.

Definition at line 179 of file ParticleName.hh.

References getParticleNamesMap().

Referenced by toString().

00179                                            {
00180     if (getParticleNamesMap().find(p) != getParticleNamesMap().end()) {
00181       return getParticleNamesMap()[p];
00182     }
00183     ostringstream ss;
00184     ss << p;
00185     return ss.str();
00186   }

std::string Rivet::toString ( const BeamPair &  pair  )  [inline]

Print a BeamPair as a string.

Definition at line 200 of file ParticleName.hh.

References toParticleName().

00200                                                   {
00201     string out = "[" +
00202       toParticleName(pair.first) + ", " +
00203       toParticleName(pair.second) + "]";
00204     return out;
00205   }

std::string Rivet::toString ( const ParticleName &  p  )  [inline]

Print a ParticleName as a string.

Definition at line 173 of file ParticleName.hh.

References getParticleNamesMap().

00173                                                    {
00174     return getParticleNamesMap()[p];
00175   }

std::string Rivet::toString ( const ParticlePair &  pair  )  [inline]

Print a ParticlePair as a string.

Definition at line 108 of file Particle.hh.

References GeV, and toParticleName().

00108                                                       {
00109     stringstream out;
00110     out << "[" 
00111         << toParticleName(pair.first.pdgId()) << " @ "
00112         << pair.first.momentum().E()/GeV << " GeV, "
00113         << toParticleName(pair.second.pdgId()) << " @ "
00114         << pair.second.momentum().E()/GeV << " GeV]";
00115     return out.str();
00116   }

const string Rivet::toString ( const Vector< N > &  v  )  [inline]

Make string representation.

Definition at line 160 of file VectorN.hh.

References Vector::size().

00160                                                    {
00161     ostringstream out;
00162     out << "(";
00163     for (size_t i = 0; i < v.size(); ++i) {
00164       out << (fabs(v[i]) < 1E-30 ? 0.0 : v[i]);
00165       if (i < v.size()-1) out << ", ";
00166     }
00167     out << ")";
00168     return out.str();
00169   }

const string Rivet::toString ( const FourVector &  lv  )  [inline]

Render a 4-vector as a string.

Definition at line 603 of file Vector4.hh.

References FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

00603                                                      {
00604     ostringstream out;
00605     out << "("  << (fabs(lv.t()) < 1E-30 ? 0.0 : lv.t())
00606         << "; " << (fabs(lv.x()) < 1E-30 ? 0.0 : lv.x())
00607         << ", " << (fabs(lv.y()) < 1E-30 ? 0.0 : lv.y())
00608         << ", " << (fabs(lv.z()) < 1E-30 ? 0.0 : lv.z())
00609         << ")";
00610     return out.str();
00611   }

string Rivet::toString ( const Matrix< N > &  m  )  [inline]

Make string representation.

Definition at line 368 of file MatrixN.hh.

References Matrix::get(), isZero(), and Matrix::size().

00368                                              {
00369     ostringstream ss;
00370     ss << "[ ";
00371     for (size_t i = 0; i < m.size(); ++i) {
00372       ss << "( ";
00373       for (size_t j = 0; j < m.size(); ++j) {
00374         const double e = m.get(i, j);
00375         ss << (Rivet::isZero(e) ? 0.0 : e) << " ";
00376       }
00377       ss << ") ";
00378     }
00379     ss << "]";
00380     return ss.str();
00381   }

const string Rivet::toString ( const typename EigenSystem< N >::EigenPair &  e  )  [inline]

Definition at line 156 of file MatrixDiag.hh.

00156                                                                         {
00157   ostringstream ss;
00158   //for (typename EigenSystem<N>::EigenPairs::const_iterator i = e.begin(); i != e.end(); ++i) {
00159   ss << e->first << " -> " << e->second;
00160   //  if (i+1 != e.end()) ss << endl;
00161   //}
00162   return ss.str();
00163 }

string Rivet::toString ( const LorentzTransform &  lt  )  [inline]

Definition at line 164 of file LorentzTrans.hh.

References LorentzTransform::_boostMatrix, and toString().

00164                                                      {
00165     return toString(lt._boostMatrix);
00166   }

string toString ( const AnalysisInfo &  ai  ) 

String representation.

Definition at line 163 of file AnalysisInfo.cc.

References AnalysisInfo::name(), AnalysisInfo::status(), and AnalysisInfo::summary().

Referenced by operator<<(), and toString().

00163                                           {
00164     stringstream ss;
00165     ss << ai.name();
00166     ss << " - " << ai.summary();
00167     // ss << " - " << ai.beams();
00168     // ss << " - " << ai.energies();
00169     ss << " (" << ai.status() << ")";
00170     return ss.str();
00171   }

string Rivet::toUpper ( const string &  s  )  [inline]

Definition at line 41 of file Utils.hh.

References transform().

Referenced by AnalysisHandler::init().

00041                                          {
00042     string out = s;
00043     std::transform(out.begin(), out.end(), out.begin(), (int(*)(int)) toupper);
00044     return out;
00045   }

double Rivet::trace ( const Matrix< N > &  m  )  [inline]

Definition at line 358 of file MatrixN.hh.

References Matrix::trace().

00358                                           {
00359     return m.trace();
00360   }

FourVector transform ( const LorentzTransform &  lt,
const FourVector &  v4 
) [inline]

Definition at line 156 of file LorentzTrans.hh.

References LorentzTransform::transform().

Referenced by toLower(), and toUpper().

00156                                                                                 {
00157       return lt.transform(v4);
00158   }

Matrix<N> Rivet::transpose ( const Matrix< N > &  m  )  [inline]

Definition at line 336 of file MatrixN.hh.

References Matrix::transpose().

00336                                                  {
00337     // Matrix<N> tmp;
00338     // for (size_t i = 0; i < N; ++i) {
00339     //   for (size_t j = 0; j < N; ++j) {
00340     //     tmp.set(i, j, m.get(j, i));
00341     //   }
00342     // }
00343     // return tmp;
00344     return m.transpose();
00345   }

string version (  ) 

A function to get the Rivet version string.

Definition at line 9 of file Utils.cc.

00009                    {
00010     return RIVET_VERSION;
00011   }

vector<GenVertex*> Rivet::vertices ( const GenEvent *  ge  )  [inline]

Definition at line 39 of file RivetHepMC.hh.

References vertices().

00039                                                          {
00040     assert(ge);
00041     return vertices(*ge);
00042   }

vector<GenVertex*> Rivet::vertices ( const GenEvent &  ge  )  [inline]

Definition at line 32 of file RivetHepMC.hh.

Referenced by vertices().

00032                                                          {
00033     vector<GenVertex*> rtn;
00034     for (GenEvent::vertex_const_iterator vi = ge.vertices_begin(); vi != ge.vertices_end(); ++vi) {
00035       rtn.push_back(*vi);
00036     }
00037     return rtn;
00038   }


Variable Documentation

const double alpha_rcl2 [static]

Initial value:

Definition at line 71 of file Constants.hh.

const double ampere = coulomb/second [static]

Definition at line 165 of file Units.hh.

const double amu = amu_c2/c_squared [static]

Definition at line 53 of file Constants.hh.

const double amu_c2 = 931.49432 * MeV [static]

Definition at line 52 of file Constants.hh.

const double angstrom = 1.e-10*meter [static]

Definition at line 31 of file Units.hh.

const double atmosphere = 101325*pascal [static]

Definition at line 160 of file Units.hh.

const double attobarn = 1.0e-18 * barn [static]

Definition at line 65 of file Units.hh.

const double attometer = 1.e-18*meter [static]

Definition at line 34 of file Units.hh.

const double Avogadro = 6.0221367e+23/mole [static]

Definition at line 20 of file Constants.hh.

const double bar = 100000*pascal [static]

Definition at line 159 of file Units.hh.

const double barn = 1.0e+12* picobarn [static]

Definition at line 60 of file Units.hh.

const double becquerel = 1./second [static]

Definition at line 222 of file Units.hh.

Definition at line 69 of file Constants.hh.

const double c_light = 2.99792458e+8 * m/s [static]

Definition at line 26 of file Constants.hh.

const double c_squared = c_light * c_light [static]

Definition at line 27 of file Constants.hh.

const double candela = 1. [static]

Definition at line 233 of file Units.hh.

const double centimeter = 10.*millimeter [static]

Definition at line 15 of file Units.hh.

const double centimeter2 = centimeter*centimeter [static]

Definition at line 16 of file Units.hh.

const double centimeter3 = centimeter*centimeter*centimeter [static]

Definition at line 17 of file Units.hh.

Definition at line 67 of file Constants.hh.

const double cm = centimeter [static]

Definition at line 42 of file Units.hh.

Referenced by ExampleAnalysis::analyze().

const double cm2 = centimeter2 [static]

Definition at line 43 of file Units.hh.

const double cm3 = centimeter3 [static]

Definition at line 44 of file Units.hh.

const double coulomb = eplus/e_SI [static]

Definition at line 104 of file Units.hh.

const double curie = 3.7e+10 * becquerel [static]

Definition at line 223 of file Units.hh.

const double deg = degree [static]

Definition at line 79 of file Units.hh.

const double degree = (3.14159265358979323846/180.0)*radian [static]

const double e_SI = 1.60217733e-19 [static]

Definition at line 103 of file Units.hh.

const double e_squared = eplus * eplus [static]

Definition at line 43 of file Constants.hh.

const double electron_charge = - eplus [static]

Definition at line 42 of file Constants.hh.

Definition at line 68 of file Constants.hh.

const double electron_mass_c2 = 0.51099906 * MeV [static]

Definition at line 49 of file Constants.hh.

const double electronvolt = 1.e-9*gigaelectronvolt [static]

Definition at line 110 of file Units.hh.

const double elm_coupling = e_squared/(4*pi*epsilon0) [static]

Definition at line 65 of file Constants.hh.

const double eplus = 1.0 [static]

Definition at line 102 of file Units.hh.

const double epsilon0 = 1./(c_squared*mu0) [static]

Definition at line 60 of file Constants.hh.

const double eV = electronvolt [static]

Definition at line 118 of file Units.hh.

const double eV2 = eV*eV [static]

Definition at line 125 of file Units.hh.

const double farad = coulomb/volt [static]

Definition at line 185 of file Units.hh.

const double femtobarn = 1.0e-15 * barn [static]

Definition at line 64 of file Units.hh.

Referenced by CDF_2008_S7540469::finalize().

const double femtometer = 1.e-15*meter [static]

Definition at line 33 of file Units.hh.

const double fermi = femtometer [static]

Definition at line 35 of file Units.hh.

const double fine_structure_const = elm_coupling/hbarc [static]

Definition at line 66 of file Constants.hh.

const double g = gram [static]

Definition at line 141 of file Units.hh.

const double gauss = 1.e-4*tesla [static]

Definition at line 201 of file Units.hh.

const double GeV = gigaelectronvolt [static]

Definition at line 121 of file Units.hh.

Referenced by CDF_2004_S5839831::_calcTransCones(), CDF_1996_S3349578::_fiveJetAnalysis(), D0_1996_S3214044::_fourJetAnalysis(), CDF_1996_S3349578::_fourJetAnalysis(), _geNormAlignment(), D0_1996_S3214044::_threeJetAnalysis(), CDF_1996_S3349578::_threeJetAnalysis(), UA1_1990_S2044935::analyze(), STAR_2008_S7993412::analyze(), STAR_2006_S6860818::analyze(), STAR_2006_S6500200::analyze(), PDG_HADRON_MULTIPLICITIES_RATIOS::analyze(), PDG_HADRON_MULTIPLICITIES::analyze(), MC_ZJETS::analyze(), MC_WJETS::analyze(), MC_SUSY::analyze(), MC_PHOTONJETUE::analyze(), MC_PHOTONJETS::analyze(), MC_LEADINGJETS::analyze(), MC_DIPHOTON::analyze(), MC_DIJET::analyze(), H1_2000_S4129130::analyze(), H1_1995_S3167097::analyze(), H1_1994_S2919893::analyze(), D0_2010_S8570965::analyze(), D0_2010_S8566488::analyze(), D0_2009_S8349509::analyze(), D0_2009_S8202443::analyze(), D0_2008_S7863608::analyze(), D0_2008_S7837160::analyze(), D0_2008_S7719523::analyze(), D0_2008_S7662670::analyze(), D0_2008_S6879055::analyze(), D0_2007_S7075677::analyze(), D0_2006_S6438750::analyze(), D0_2004_S5992206::analyze(), D0_2001_S4674421::analyze(), D0_1998_S3711838::analyze(), D0_1996_S3324664::analyze(), D0_1996_S3214044::analyze(), CDF_2009_S8436959::analyze(), CDF_2009_S8233977::analyze(), CDF_2008_S7828950::analyze(), CDF_2008_S7782535::analyze(), CDF_2008_S7540469::analyze(), CDF_2008_NOTE_9351::analyze(), CDF_2008_LEADINGJETS::analyze(), CDF_2006_S6450792::analyze(), CDF_2005_S6217184::analyze(), CDF_2005_S6080774::analyze(), CDF_2004_S5839831::analyze(), CDF_2002_S4796047::analyze(), CDF_2001_S4751469::analyze(), CDF_2001_S4563131::analyze(), CDF_2001_S4517016::analyze(), CDF_2000_S4266730::analyze(), CDF_2000_S4155203::analyze(), CDF_1998_S3618439::analyze(), CDF_1997_S3541940::analyze(), CDF_1996_S3418421::analyze(), CDF_1996_S3349578::analyze(), CDF_1996_S3108457::analyze(), CDF_1994_S2952106::analyze(), CDF_1991_S2313472::analyze(), ATLAS_2010_S8591806::analyze(), AnalysisHandler::analyze(), ALEPH_2004_S5765862::analyze(), ALEPH_1996_S3486095::analyze(), ALEPH_1996_S3196992::analyze(), CDF_2009_S8057893::CDF_2009_S8057893::init(), UA1_1990_S2044935::finalize(), PDG_HADRON_MULTIPLICITIES_RATIOS::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), CDF_2004_S5839831::finalize(), CDF_2002_S4796047::finalize(), OPAL_2004_S6132243::getHistIndex(), UA5_1989_S1926373::init(), UA5_1988_S1867512::init(), UA5_1986_S1583476::init(), UA1_1990_S2044935::init(), STAR_2009_UE_HELEN::init(), STAR_2008_S7993412::init(), STAR_2006_S6860818::init(), STAR_2006_S6500200::init(), SFM_1984_S1178091::init(), PDG_HADRON_MULTIPLICITIES_RATIOS::init(), PDG_HADRON_MULTIPLICITIES::init(), MC_ZJETS::init(), MC_WJETS::init(), MC_SUSY::init(), MC_PHOTONJETUE::init(), MC_LEADINGJETS::init(), MC_JetAnalysis::init(), MC_DIPHOTON::init(), MC_DIJET::init(), JADE_OPAL_2000_S4300807::init(), ExampleAnalysis::init(), D0_2010_S8570965::init(), D0_2009_S8349509::init(), D0_2009_S8202443::init(), D0_2008_S7863608::init(), D0_2008_S7837160::init(), D0_2008_S7554427::init(), D0_2008_S6879055::init(), D0_2007_S7075677::init(), D0_2006_S6438750::init(), D0_1998_S3711838::init(), CDF_2009_S8436959::init(), CDF_2009_S8383952::init(), CDF_2009_S8233977::init(), CDF_2008_S8095620::init(), CDF_2008_S7782535::init(), CDF_2008_S7541902::init(), CDF_2008_S7540469::init(), CDF_2008_NOTE_9351::init(), CDF_2008_LEADINGJETS::init(), CDF_2006_S6653332::init(), CDF_2005_S6217184::init(), CDF_2005_S6080774::init(), CDF_2004_S5839831::init(), CDF_2002_S4796047::init(), CDF_2001_S4751469::init(), CDF_2000_S4155203::init(), CDF_1994_S2952106::init(), CDF_1991_S2313472::init(), CDF_1990_S2089246::init(), CDF_1988_S1865951::init(), ATLAS_2010_S8591806::init(), ALEPH_2004_S5765862::init(), NeutralFinalState::NeutralFinalState(), WFinder::project(), InvMassFinalState::project(), AnalysisHandler::setRunBeams(), Beam::sqrtS(), and toString().

const double GeV2 = GeV*GeV [static]

const double gigaelectronvolt = 1. [static]

Definition at line 109 of file Units.hh.

const double gram = 1.e-3*kilogram [static]

Definition at line 136 of file Units.hh.

const double gray = joule/kilogram [static]

Definition at line 228 of file Units.hh.

const double h_Planck = 6.6260755e-34 * joule*s [static]

Definition at line 34 of file Constants.hh.

const double HALFPI = M_PI_2

A pre-defined value of $ \pi/2 $.

Definition at line 49 of file MathHeader.hh.

const double halfpi = pi/2 [static]

Definition at line 14 of file Constants.hh.

const double hbar_Planck = h_Planck/twopi [static]

Definition at line 35 of file Constants.hh.

const double hbarc = hbar_Planck * c_light [static]

Definition at line 36 of file Constants.hh.

const double hbarc_squared = hbarc * hbarc [static]

Definition at line 37 of file Constants.hh.

const double henry = weber/ampere [static]

Definition at line 207 of file Units.hh.

const double hep_pascal = newton/m2 [static]

Definition at line 158 of file Units.hh.

const double hertz = 1.0/second [static]

Definition at line 90 of file Units.hh.

const double joule = electronvolt/e_SI [static]

Definition at line 115 of file Units.hh.

const double k_Boltzmann = 8.617385e-11 * MeV/kelvin [static]

Definition at line 81 of file Constants.hh.

const double kelvin = 1. [static]

Definition at line 212 of file Units.hh.

const double keV = kiloelectronvolt [static]

Definition at line 119 of file Units.hh.

const double keV2 = keV*keV [static]

Definition at line 126 of file Units.hh.

const double kg = kilogram [static]

Definition at line 140 of file Units.hh.

const double kGasThreshold = 10.*mg/cm3 [static]

Definition at line 88 of file Constants.hh.

const double kiloelectronvolt = 1.e-6*gigaelectronvolt [static]

Definition at line 111 of file Units.hh.

const double kilogauss = 1.e-1*tesla [static]

Definition at line 202 of file Units.hh.

const double kilogram = joule*second*second/(meter*meter) [static]

Definition at line 135 of file Units.hh.

const double kilohertz = 1.e+3*hertz [static]

Definition at line 91 of file Units.hh.

const double kilometer = 1000.*meter [static]

Definition at line 23 of file Units.hh.

const double kilometer2 = kilometer*kilometer [static]

Definition at line 24 of file Units.hh.

const double kilometer3 = kilometer*kilometer*kilometer [static]

Definition at line 25 of file Units.hh.

const double kilovolt = 1.e-3*megavolt [static]

Definition at line 174 of file Units.hh.

const double km = kilometer [static]

Definition at line 50 of file Units.hh.

const double km2 = kilometer2 [static]

Definition at line 51 of file Units.hh.

const double km3 = kilometer3 [static]

Definition at line 52 of file Units.hh.

const double lumen = candela*steradian [static]

Definition at line 238 of file Units.hh.

const double lux = lumen/meter2 [static]

Definition at line 243 of file Units.hh.

const double m = meter [static]

const double m2 = meter2 [static]

const double m3 = meter3 [static]

Definition at line 48 of file Units.hh.

const double MAXDOUBLE = std::numeric_limits<double>::max()

const double MAXINT = std::numeric_limits<int>::max()

Definition at line 40 of file MathHeader.hh.

const double MaxRapidity = 100000.0 [static]

Deprecated:

Definition at line 64 of file Rivet.hh.

const double MAXRAPIDITY = 100000.0 [static]

A sensible default maximum value of rapidity for Rivet analyses to use.

Definition at line 62 of file Rivet.hh.

Referenced by FinalState::FinalState(), D0_2008_S7554427::init(), CDF_2009_S8383952::init(), and ALEPH_1996_S3196992::init().

const double megaelectronvolt = 1.e-3*gigaelectronvolt [static]

Definition at line 112 of file Units.hh.

const double megahertz = 1.e+6*hertz [static]

Definition at line 92 of file Units.hh.

const double megavolt = megaelectronvolt/eplus [static]

Definition at line 173 of file Units.hh.

const double meter = 1000.*millimeter [static]

Definition at line 19 of file Units.hh.

const double meter2 = meter*meter [static]

Definition at line 20 of file Units.hh.

const double meter3 = meter*meter*meter [static]

Definition at line 21 of file Units.hh.

const double MeV = megaelectronvolt [static]

Definition at line 120 of file Units.hh.

Referenced by CDF_2009_S8233977::analyze().

const double MeV2 = MeV*MeV [static]

Definition at line 127 of file Units.hh.

const double mg = milligram [static]

Definition at line 142 of file Units.hh.

const double microampere = 1.e-6*ampere [static]

Definition at line 167 of file Units.hh.

const double microbarn = 1.0e-6 * barn [static]

Definition at line 62 of file Units.hh.

const double microfarad = 1.e-6*farad [static]

Definition at line 187 of file Units.hh.

const double micrometer = 1.e-6 *meter [static]

Definition at line 29 of file Units.hh.

const double microsecond = 1.e-6 *second [static]

Definition at line 87 of file Units.hh.

const double milliampere = 1.e-3*ampere [static]

Definition at line 166 of file Units.hh.

const double millibarn = 1.0e-3 * barn [static]

const double millifarad = 1.e-3*farad [static]

Definition at line 186 of file Units.hh.

const double milligram = 1.e-3*gram [static]

Definition at line 137 of file Units.hh.

const double millimeter = 1. [static]

Definition at line 11 of file Units.hh.

const double millimeter2 = millimeter*millimeter [static]

Definition at line 12 of file Units.hh.

const double millimeter3 = millimeter*millimeter*millimeter [static]

Definition at line 13 of file Units.hh.

const double milliradian = 1.e-3*radian [static]

Definition at line 71 of file Units.hh.

const double millisecond = 1.e-3 *second [static]

Definition at line 86 of file Units.hh.

const double mm = millimeter [static]

Definition at line 38 of file Units.hh.

const double mm2 = millimeter2 [static]

Definition at line 39 of file Units.hh.

const double mm3 = millimeter3 [static]

Definition at line 40 of file Units.hh.

const double mole = 1. [static]

Definition at line 217 of file Units.hh.

const double mrad = milliradian [static]

Definition at line 77 of file Units.hh.

const double ms = millisecond [static]

Definition at line 97 of file Units.hh.

const double mu0 = 4*pi*1.e-7 * henry/m [static]

Definition at line 59 of file Constants.hh.

const double nanoampere = 1.e-9*ampere [static]

Definition at line 168 of file Units.hh.

const double nanobarn = 1.0e-9 * barn [static]

const double nanofarad = 1.e-9*farad [static]

Definition at line 188 of file Units.hh.

const double nanometer = 1.e-9 *meter [static]

Definition at line 30 of file Units.hh.

const double nanosecond = 1.0 [static]

Definition at line 84 of file Units.hh.

const double neutron_mass_c2 = 939.56563 * MeV [static]

Definition at line 51 of file Constants.hh.

const double newton = joule/meter [static]

Definition at line 152 of file Units.hh.

const double ns = nanosecond [static]

Definition at line 95 of file Units.hh.

const double ohm = volt/ampere [static]

Definition at line 180 of file Units.hh.

const double parsec = 3.0856775807e+16*meter [static]

Definition at line 27 of file Units.hh.

const double pc = parsec [static]

Definition at line 54 of file Units.hh.

const double perCent = 0.01 [static]

Definition at line 248 of file Units.hh.

const double perMillion = 0.000001 [static]

Definition at line 250 of file Units.hh.

const double perThousand = 0.001 [static]

Definition at line 249 of file Units.hh.

const double petaelectronvolt = 1.e+6*gigaelectronvolt [static]

Definition at line 114 of file Units.hh.

const double PeV = petaelectronvolt [static]

Definition at line 123 of file Units.hh.

const double PeV2 = PeV*PeV [static]

Definition at line 130 of file Units.hh.

const double PI = M_PI

const double pi = 3.14159265358979323846 [static]

const double pi2 = pi*pi [static]

Definition at line 15 of file Constants.hh.

const double picobarn = 1.0 [static]

const double picofarad = 1.e-12*farad [static]

Definition at line 189 of file Units.hh.

const double picometer = 1.e-12*meter [static]

Definition at line 32 of file Units.hh.

const double picosecond = 1.e-12*second [static]

Definition at line 88 of file Units.hh.

Definition at line 64 of file ALEPH_1991_S2435284.cc.

Definition at line 165 of file ALEPH_1996_S3196992.cc.

Definition at line 553 of file ALEPH_1996_S3486095.cc.

Definition at line 227 of file ALEPH_2004_S5765862.cc.

Definition at line 70 of file ATLAS_2010_S8591806.cc.

Definition at line 219 of file BELLE_2006_S6265367.cc.

Definition at line 84 of file CDF_1988_S1865951.cc.

Definition at line 87 of file CDF_1990_S2089246.cc.

Definition at line 109 of file CDF_1991_S2313472.cc.

Definition at line 178 of file CDF_1994_S2952106.cc.

Definition at line 130 of file CDF_1996_S3108457.cc.

Definition at line 471 of file CDF_1996_S3349578.cc.

Definition at line 123 of file CDF_1996_S3418421.cc.

Definition at line 274 of file CDF_1997_S3541940.cc.

Definition at line 80 of file CDF_1998_S3618439.cc.

Definition at line 76 of file CDF_2000_S4155203.cc.

Definition at line 88 of file CDF_2000_S4266730.cc.

Definition at line 97 of file CDF_2001_S4517016.cc.

Definition at line 79 of file CDF_2001_S4563131.cc.

Definition at line 286 of file CDF_2001_S4751469.cc.

Definition at line 126 of file CDF_2002_S4796047.cc.

Definition at line 380 of file CDF_2004_S5839831.cc.

Definition at line 106 of file CDF_2005_S6080774.cc.

Definition at line 135 of file CDF_2005_S6217184.cc.

Definition at line 62 of file CDF_2006_S6450792.cc.

Definition at line 170 of file CDF_2006_S6653332.cc.

Definition at line 171 of file CDF_2007_S7057202.cc.

Definition at line 234 of file CDF_2008_LEADINGJETS.cc.

Definition at line 224 of file CDF_2008_NOTE_9351.cc.

Definition at line 197 of file CDF_2008_S7540469.cc.

Definition at line 206 of file CDF_2008_S7541902.cc.

Definition at line 134 of file CDF_2008_S7782535.cc.

Definition at line 93 of file CDF_2008_S7828950.cc.

Definition at line 75 of file CDF_2008_S8093652.cc.

Definition at line 159 of file CDF_2008_S8095620.cc.

Definition at line 86 of file CDF_2009_S8057893.cc.

Definition at line 134 of file CDF_2009_S8233977.cc.

Definition at line 92 of file CDF_2009_S8383952.cc.

Definition at line 92 of file CDF_2009_S8436959.cc.

Definition at line 277 of file D0_1996_S3214044.cc.

Definition at line 117 of file D0_1996_S3324664.cc.

Definition at line 111 of file D0_1998_S3711838.cc.

Definition at line 177 of file D0_2001_S4674421.cc.

Definition at line 136 of file D0_2004_S5992206.cc.

Definition at line 133 of file D0_2006_S6438750.cc.

Definition at line 85 of file D0_2007_S7075677.cc.

Definition at line 157 of file D0_2008_S6879055.cc.

Definition at line 85 of file D0_2008_S7554427.cc.

Definition at line 128 of file D0_2008_S7662670.cc.

Definition at line 203 of file D0_2008_S7719523.cc.

Definition at line 158 of file D0_2008_S7837160.cc.

Definition at line 126 of file D0_2008_S7863608.cc.

Definition at line 156 of file D0_2009_S8202443.cc.

Definition at line 95 of file D0_2009_S8320160.cc.

Definition at line 148 of file D0_2009_S8349509.cc.

Definition at line 94 of file D0_2010_S8566488.cc.

Definition at line 142 of file D0_2010_S8570965.cc.

Definition at line 108 of file DELPHI_1995_S3137023.cc.

Definition at line 133 of file DELPHI_2002_069_CONF_603.cc.

Definition at line 75 of file E735_1998_S3905616.cc.

Definition at line 130 of file ExampleAnalysis.cc.

Definition at line 258 of file H1_1994_S2919893.cc.

Definition at line 152 of file H1_1995_S3167097.cc.

Definition at line 281 of file H1_2000_S4129130.cc.

Definition at line 206 of file JADE_OPAL_2000_S4300807.cc.

Definition at line 117 of file MC_DIJET.cc.

Definition at line 99 of file MC_DIPHOTON.cc.

Definition at line 43 of file MC_JETS.cc.

Definition at line 169 of file MC_LEADINGJETS.cc.

Definition at line 128 of file MC_PHOTONJETS.cc.

Definition at line 259 of file MC_PHOTONJETUE.cc.

Definition at line 324 of file MC_SUSY.cc.

Definition at line 75 of file MC_TTBAR.cc.

Definition at line 115 of file MC_WJETS.cc.

Definition at line 115 of file MC_ZJETS.cc.

Definition at line 198 of file OPAL_1998_S3780481.cc.

Definition at line 258 of file OPAL_2004_S6132243.cc.

Definition at line 771 of file PDG_Hadron_Multiplicities.cc.

Definition at line 765 of file PDG_Hadron_Multiplicities_Ratios.cc.

Definition at line 123 of file SFM_1984_S1178091.cc.

Definition at line 114 of file STAR_2006_S6500200.cc.

Definition at line 205 of file STAR_2006_S6860818.cc.

Definition at line 90 of file STAR_2006_S6870392.cc.

Definition at line 82 of file STAR_2008_S7993412.cc.

Definition at line 168 of file STAR_2009_UE_HELEN.cc.

Definition at line 169 of file UA1_1990_S2044935.cc.

Definition at line 91 of file UA5_1982_S875503.cc.

Definition at line 118 of file UA5_1986_S1583476.cc.

Definition at line 182 of file UA5_1988_S1867512.cc.

Definition at line 112 of file UA5_1989_S1926373.cc.

Definition at line 75 of file ZEUS_2001_S4815815.cc.

const double proton_mass_c2 = 938.27231 * MeV [static]

Definition at line 50 of file Constants.hh.

const double rad = radian [static]

Definition at line 76 of file Units.hh.

const double radian = 1. [static]

Definition at line 70 of file Units.hh.

const double s = second [static]

const double second = 1.e+9 *nanosecond [static]

const double sr = steradian [static]

Definition at line 78 of file Units.hh.

const double steradian = 1. [static]

Definition at line 73 of file Units.hh.

const double STP_Pressure = 1.*atmosphere [static]

Definition at line 87 of file Constants.hh.

const double STP_Temperature = 273.15*kelvin [static]

Definition at line 86 of file Constants.hh.

const double teraelectronvolt = 1.e+3*gigaelectronvolt [static]

Definition at line 113 of file Units.hh.

const double tesla = volt*second/meter2 [static]

Definition at line 199 of file Units.hh.

const double TeV = teraelectronvolt [static]

Definition at line 122 of file Units.hh.

Referenced by D0_2010_S8566488::analyze().

const double TeV2 = TeV*TeV [static]

Definition at line 129 of file Units.hh.

const double TWOPI = 2*M_PI

const double twopi = 2*pi [static]

Definition at line 13 of file Constants.hh.

const double twopi_mc2_rcl2 [static]

Initial value:

Definition at line 75 of file Constants.hh.

const double universe_mean_density = 1.e-25*g/cm3 [static]

Definition at line 93 of file Constants.hh.

const double volt = 1.e-6*megavolt [static]

Definition at line 175 of file Units.hh.

const double watt = joule/second [static]

Definition at line 147 of file Units.hh.

const double weber = volt*second [static]

Definition at line 194 of file Units.hh.