rivet is hosted by Hepforge, IPPP Durham
Rivet Namespace Reference

Namespaces

namespace  BWHelpers
namespace  Cuts
 

Namespace used for ambiguous identifiers.


namespace  mT2
namespace  mt2_bisect
namespace  PID

Classes

class  MC_JetAnalysis
 Base class providing common functionality for MC jet validation analyses. More...
class  MC_JetSplittings
 Base class providing common functionality for MC jet validation analyses. More...
class  Analysis
 This is the base class of all analysis classes in Rivet. More...
struct  AnaHandleLess
class  AnalysisHandler
class  AnalysisInfo
class  AnalysisLoader
 Internal class which loads and registers analyses from plugin libs. More...
class  Cmp
class  Cmp< Projection >
 Specialization of Cmp for checking the ordering of two {Projection}s. More...
class  Cmp< double >
 Specialization of Cmp for checking the ordering of two floating point numbers. More...
class  CutBase
class  Event
class  Error
 Generic runtime Rivet error. More...
class  RangeError
 Error for e.g. use of invalid bin ranges. More...
class  LogicError
 Error specialisation for places where alg logic has failed. More...
class  PidError
 Error specialisation for failures relating to particle ID codes. More...
class  InfoError
 Error specialisation for failures relating to analysis info. More...
class  WeightError
 Errors relating to event/bin weights. More...
class  UserError
 Error specialisation for where the problem is between the chair and computer. More...
class  Jet
 Representation of a clustered jet of particles. More...
class  LorentzTransform
 Object implementing Lorentz transform calculations and boosts. More...
class  Matrix3
 Specialisation of MatrixN to aid 3 dimensional rotations. More...
class  EigenSystem
 Handy object containing results of a diagonalization. More...
struct  EigenPairCmp
 Comparison functor for "eigen-pairs". More...
class  Matrix
 General $ N $-dimensional mathematical matrix object. More...
class  Vector3
 Three-dimensional specialisation of Vector. More...
class  FourVector
 Specialisation of VectorN to a general (non-momentum) Lorentz 4-vector. More...
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
 Base class for particle-like things like Particle and Jet. More...
class  Projection
 Base class for all Rivet projections. More...
class  ProjectionApplier
 Common base class for Projection and Analysis, used for internal polymorphism. More...
class  ProjectionHandler
 The projection handler is a central repository for projections to be used in a Rivet analysis run. More...
class  AxesDefinition
 Base class for projections which define a spatial basis. More...
class  Beam
 Project out the incoming beams. More...
class  BeamThrust
class  CentralEtHCM
 Summed $ E_\perp $ of central particles in HCM system. More...
class  ChargedFinalState
 Project only charged final state particles. More...
class  ChargedLeptons
 Get charged final-state leptons. More...
class  ConstRandomFilter
 Functor used to implement constant random lossiness. More...
class  ConstLossyFinalState
 Randomly lose a constant fraction of particles. More...
class  DISFinalState
 Final state particles boosted to the hadronic center of mass system. More...
class  DISKinematics
 Get the DIS kinematic variables and relevant boosts for an event. More...
class  DISLepton
 Get the incoming and outgoing leptons in a DIS event. More...
class  ClusteredLepton
 A charged lepton meta-particle created by clustering photons close to the bare lepton. More...
class  DressedLeptons
 Cluster photons from a given FS to all charged particles (typically leptons) More...
class  FastJets
 Project out jets found using the FastJet package jet algorithms. More...
class  FinalState
 Project out all final-state particles in an event. Probably the most important projection in Rivet! More...
class  FoxWolframMoments
 Calculate Fox-Wolfram moments. More...
class  FParameter
class  HadronicFinalState
 Project only hadronic final state particles. More...
class  HeavyHadrons
 Project out the last pre-decay b and c hadrons. 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
 Project out quarks from the hard process in $ e^+ e^- \to Z^0 $ events. More...
class  InvMassFinalState
 Identify particles which can be paired to fit within a given invariant mass window. More...
class  JetAlg
 Abstract base class for projections which can return a set of Jets. More...
class  JetShape
 Calculate the jet shape. More...
class  LeadingParticlesFinalState
 Get the highest-pT occurrences of FS particles with the specified PDG IDs. More...
class  LossyFinalState
 Templated FS projection which can lose some of the supplied particles. More...
class  MergedFinalState
 Get final state particles merged from two FinalState projections. More...
class  MissingMomentum
 Calculate missing $ E $, $ E_\perp $ etc. More...
class  NeutralFinalState
 Project only neutral final state particles. More...
class  NonHadronicFinalState
 Project only hadronic final state particles. More...
class  ParisiTensor
 Calculate the Parisi event shape tensor (or linear momentum tensor). More...
class  PrimaryHadrons
 Project out the first hadrons from hadronisation. More...
class  Sphericity
 Calculate the sphericity event shape. More...
class  Spherocity
 Get the transverse spherocity scalars for hadron-colliders. More...
class  Thrust
 Get the e+ e- thrust basis and the thrust, thrust major and thrust minor scalars. More...
class  TriggerCDFRun0Run1
 Access to the min bias triggers used by CDF in Run 0 and Run 1. More...
class  TriggerCDFRun2
 Access to the min bias triggers used by CDF in Run 0 and Run 1. More...
class  TriggerUA5
 Access to the min bias triggers used by UA5. More...
class  UnstableFinalState
 Project out all physical-but-decayed particles in an event. More...
class  VetoedFinalState
 FS modifier to exclude classes of particles from the final state. More...
class  VisibleFinalState
 Final state modifier excluding particles which are not experimentally visible. More...
class  WFinder
 Convenience finder of leptonically decaying Ws. More...
class  ZFinder
 Convenience finder of leptonically decaying Zs. More...
class  Run
 Interface to handle a run of events read from a HepMC stream or file. More...
class  BinnedHistogram
class  Log
class  ALEPH_1991_S2435284
 ALEPH LEP1 charged multiplicity in hadronic Z decay. More...
class  ALEPH_1996_S3196992
 ALEPH measurement of quark-to-photon fragmentation function. More...
class  ALEPH_1996_S3486095
 ALEPH QCD study with event shapes and identified particles. More...
class  ALEPH_1999_S4193598
class  ALEPH_2001_S4656318
 DELPHI b-fragmentation measurement. More...
class  ALEPH_2002_S4823664
 ALEPH eta/omega fragmentation function paper. More...
class  ALEPH_2004_S5765862
 ALEPH jet rates and event shapes at LEP 1 and 2. More...
class  ALICE_2010_S8624100
class  ALICE_2010_S8625980
class  ALICE_2010_S8706239
class  ALICE_2011_S8909580
class  ALICE_2011_S8945144
class  ALICE_2012_I1181770
class  ARGUS_1993_S2653028
 BELLE pi+/-, K+/- and proton/antiproton spectrum at Upsilon(4S) More...
class  ARGUS_1993_S2669951
 Production of the $'(958)$ and $f_0(980)$ in $e^+e^-$ annihilation in the Upsilon region. More...
class  ARGUS_1993_S2789213
 ARGUS vector meson production. More...
class  ATLAS_2010_CONF_2010_049
class  ATLAS_2010_S8591806
 ATLAS minimum bias analysis at 900 GeV. More...
class  ATLAS_2010_S8817804
 ATLAS inclusive jet pT spectrum, di-jet Mass and di-jet chi. More...
class  ATLAS_2010_S8894728
class  ATLAS_2010_S8914702
class  ATLAS_2010_S8918562
 Rivet analysis class for ATLAS 2010 minimum bias analysis. More...
class  ATLAS_2010_S8919674
 W + jets jet multiplicities and pT. More...
class  ATLAS_2011_CONF_2011_090
class  ATLAS_2011_CONF_2011_098
class  ATLAS_2011_I894867
class  ATLAS_2011_I919017
class  ATLAS_2011_I925932
class  ATLAS_2011_I926145
 Measurement of electron and muon differential cross section from heavy flavour production. More...
class  ATLAS_2011_I930220
 ATLAS inclusive b-jet pT spectrum, di-jet mass and di-jet chi. More...
class  ATLAS_2011_I944826
class  ATLAS_2011_I945498
 ATLAS Z+jets in pp at 7 TeV. More...
class  ATLAS_2011_I954993
 WZ fiducial cross-section measurement. More...
class  ATLAS_2011_S8924791
 ATLAS jet shape analysis. More...
class  ATLAS_2011_S8971293
class  ATLAS_2011_S8983313
class  ATLAS_2011_S8994773
class  ATLAS_2011_S9002537
class  ATLAS_2011_S9019561
class  ATLAS_2011_S9035664
 J/psi production at ATLAS. More...
class  ATLAS_2011_S9041966
class  ATLAS_2011_S9108483
class  ATLAS_2011_S9120807
 Measurement of isolated diphoton + X differential cross-sections. More...
struct  ATLAS_2011_S9126244_Plots
class  ATLAS_2011_S9126244
class  ATLAS_2011_S9128077
class  ATLAS_2011_S9131140
 ATLAS Z pT in Drell-Yan events at 7 TeV. More...
class  ATLAS_2011_S9212183
class  ATLAS_2011_S9212353
class  ATLAS_2011_S9225137
class  ATLAS_2012_CONF_2012_001
class  ATLAS_2012_CONF_2012_103
class  ATLAS_2012_CONF_2012_104
class  ATLAS_2012_CONF_2012_105
class  ATLAS_2012_CONF_2012_109
class  ATLAS_2012_CONF_2012_153
class  ATLAS_2012_I1082009
class  ATLAS_2012_I1082936
class  ATLAS_2012_I1083318
 ATLAS W + jets production at 7 TeV. More...
class  ATLAS_2012_I1084540
class  ATLAS_2012_I1091481
class  ATLAS_2012_I1093734
 Forward-backward and azimuthal correlations in minimum bias events. More...
class  ATLAS_2012_I1093738
 Measurement of isolated gamma + jet + X differential cross-sections. More...
class  ATLAS_2012_I1094564
 ATLAS jet substructure measurement. More...
struct  ATLAS_2012_I1094568_Plots
class  ATLAS_2012_I1094568
 Top pair production with central jet veto. More...
class  ATLAS_2012_I1095236
class  ATLAS_2012_I1112263
class  ATLAS_2012_I1117704
class  ATLAS_2012_I1118269
class  ATLAS_2012_I1119557
class  ATLAS_2012_I1125575
 ATLAS charged particle jet underlying event and jet radius dependence. More...
class  ATLAS_2012_I1125961
class  ATLAS_2012_I1126136
class  ATLAS_2012_I1180197
class  ATLAS_2012_I1183818
class  ATLAS_2012_I1186556
class  ATLAS_2012_I1188891
class  ATLAS_2012_I1190891
class  ATLAS_2012_I1204784
 ATLAS Z phi* measurement. More...
class  ATLAS_2012_I943401
class  ATLAS_2012_I946427
class  ATLAS_2013_I1217867
class  ATLAS_2013_I1230812
class  ATLAS_2013_I1230812_EL
class  ATLAS_2013_I1230812_MU
class  ATLAS_2013_I1243871
class  BABAR_2003_I593379
 Babar charmonium spectra. More...
class  BABAR_2005_S6181155
 BABAR Xi_c baryons from fragmentation. More...
class  BABAR_2007_S6895344
 BABAR Lambda_c from fragmentation. More...
class  BABAR_2007_S7266081
 BABAR tau lepton to three charged hadrons. More...
class  BELLE_2001_S4598261
 BELLE pi0 spectrum at Upsilon(4S) More...
class  BELLE_2006_S6265367
 BELLE charmed mesons and baryons from fragmentation. More...
class  CDF_1988_S1865951
 CDF track $ p_\perp $ distributions at 630 and 1800 GeV. More...
class  CDF_1990_S2089246
 CDF pseudorapidity analysis at 630 and 1800 GeV. More...
class  CDF_1993_S2742446
 CDF <what is this analysis doing?> More...
class  CDF_1994_S2952106
 CDF Run I color coherence analysis. More...
class  CDF_1996_S3108457
 CDF properties of high-mass multi-jet events. More...
class  CDF_1996_S3349578
 CDF properties of high-mass multi-jet events. More...
class  CDF_1996_S3418421
 CDF dijet angular distributions. More...
class  CDF_1997_S3541940
 CDF properties of 6-jet events with large 6-jet mass. More...
class  CDF_1998_S3618439
 CDF diff cross-section in events with large missing energy. More...
class  CDF_2000_S4155203
 CDF Run I Z $ p_\perp $ in Drell-Yan events. More...
class  CDF_2000_S4266730
 CDF dijet cross-section, differential in dijet mass. More...
class  CDF_2001_S4517016
 CDF two jet tripply-differential cross-section. More...
class  CDF_2001_S4563131
 CDF Run I inclusive jet cross-section. More...
class  CDF_2001_S4751469
 "Field-Stuart" CDF Run I track-jet underlying event analysis More...
class  CDF_2004_S5839831
 CDF calo jet underlying event analysis at 630 and 1800 GeV. More...
class  CDF_2005_S6080774
 CDF diff cross-sections for prompt di-photon production. More...
class  CDF_2005_S6217184
 CDF Run II jet shape analysis. More...
class  CDF_2006_S6450792
 CDF Inclusive jet cross-section differential in $ p_\perp $. More...
class  CDF_2006_S6653332
 CDF Run II analysis: jet $ p_T $ and $ \eta $ distributions in Z + (b) jet production. More...
class  CDF_2007_S7057202
 CDF inclusive jet cross-section using the $ k_\perp $ algorithm. More...
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
 CDF Run II b-jet shape paper. More...
class  CDF_2008_S7828950
 CDF Run II inclusive jet cross-section using the Midpoint algorithm. More...
class  CDF_2008_S8093652
 CDF dijet mass spectrum. More...
class  CDF_2008_S8095620
 CDF Run II Z + b-jet cross-section measurement. More...
class  CDF_2009_NOTE_9936
class  CDF_2009_S8057893
 CDF in-jet kT distribution analysis. More...
class  CDF_2009_S8233977
 CDF Run II min-bias cross-section. More...
class  CDF_2009_S8383952
 CDF Z boson rapidity measurement. More...
class  CDF_2009_S8436959
 CDF inclusive isolated prompt photon cross-section. More...
class  CDF_2010_S8591881_DY
 CDF Run II underlying event in Drell-Yan. More...
class  CDF_2010_S8591881_QCD
 CDF Run II underlying event in leading jet events. More...
class  CDF_2012_NOTE10874
class  CLEO_2004_S5809304
 CLEO charmed mesons and baryons from fragmentation. More...
class  CMS_2010_S8547297
class  CMS_2010_S8656010
class  CMS_2011_I954992
class  CMS_2011_S8884919
class  CMS_2011_S8941262
class  CMS_2011_S8950903
class  CMS_2011_S8957746
 Rivet analysis class for CMS_2011_S8957746 dataset. More...
class  CMS_2011_S8968497
class  CMS_2011_S8973270
class  CMS_2011_S8978280
 CMS strange particle spectra (Ks, Lambda, Cascade) in pp at 900 and 7000 GeV. More...
class  CMS_2011_S9086218
class  CMS_2011_S9088458
 CMS ratio of 3-jet to 2-jet cross-sections. More...
class  CMS_2011_S9120041
class  CMS_2011_S9215166
class  CMS_2012_I1087342
class  CMS_2012_I1102908
 CMS inclusive and exclusive dijet production ratio at large rapidity intervals. More...
class  CMS_2012_I1107658
 Underlying event activity in the Drell-Yan process at 7 TeV. More...
class  CMS_2012_I1184941
class  CMS_2012_I1193338
class  CMS_2012_I941555
 CMS Z pT and rapidity in Drell-Yan events at 7 TeV. More...
class  CMS_2012_PAS_QCD_11_010
class  CMS_2013_I1209721
 CMS Z+jets delta(phi) and jet thrust measurement at 7 TeV. More...
class  CMS_2013_I1218372
class  CMS_2013_I1224539_DIJET
class  CMS_2013_I1224539_WJET
class  CMS_2013_I1224539_ZJET
class  CMS_2013_I1258128
 CMS Z rapidity measurement. More...
class  CMS_QCD_10_024
class  D0_1996_S3214044
 D0 topological distributions of 3- and 4-jet events. More...
class  D0_1996_S3324664
 D0 azimuthal correlation of jets widely separated in rapidity. More...
class  D0_2000_S4480767
class  D0_2001_S4674421
 D0 Run I differential W/Z boson cross-section analysis. More...
class  D0_2004_S5992206
class  D0_2006_S6438750
 D0 inclusive isolated photon cross-section vs. $ p_\perp(gamma) $. More...
class  D0_2007_S7075677
 Measurement of D0 Run II Z $ p_\perp $ diff cross-section shape. More...
class  D0_2008_S6879055
 D0 measurement of the ratio $ \sigma(Z/\gamma^* + n \text{ jets})/\sigma(Z/\gamma^*) $. More...
class  D0_2008_S7554427
 D0 Run II Z $ p_\perp $ differential cross-section shape. More...
class  D0_2008_S7662670
 D0 differential jet cross sections. More...
class  D0_2008_S7719523
 Measurement of isolated gamma + jet + X differential cross-sections. More...
class  D0_2008_S7837160
 D0 Run II measurement of W charge asymmetry. More...
class  D0_2008_S7863608
 D0 differential Z/ $ \gamma^* $ + jet + $ X $ cross sections. More...
class  D0_2009_S8202443
 D0 Z + jet + $ X $ cross-section / $ p_\perp $ distributions. More...
class  D0_2009_S8320160
 D0 dijet angular distributions. More...
class  D0_2009_S8349509
 D0 Z+jets angular distributions. More...
class  D0_2010_S8566488
 D0 dijet invariant mass measurement. More...
class  D0_2010_S8570965
 D0 direct photon pair production. More...
class  D0_2010_S8671338
 Measurement of Z(->muon muon) pT differential cross-section. More...
class  D0_2010_S8821313
class  D0_2011_I895662
class  DELPHI_1995_S3137023
 DELPHI strange baryon paper. More...
class  DELPHI_1996_S3430090
 DELPHI event shapes and identified particle spectra. More...
class  DELPHI_1999_S3960137
 DELPHI rho,f_0 and f_2 fragmentation function paper. More...
class  DELPHI_2000_S4328825
 OPAL multiplicities at various energies. More...
class  DELPHI_2002_069_CONF_603
 DELPHI b-fragmentation measurement. More...
class  DELPHI_2003_WUD_03_11
 DELPHI 4-jet angular distributions. More...
class  E735_1998_S3905616
 E735 charged multiplicity in NSD-triggered events. More...
class  EXAMPLE
 Just measures a few random things as an example. More...
class  EXAMPLE_CUTS
 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
class  H1_2000_S4129130
 H1 energy flow and charged particle spectra. More...
class  JADE_1998_S3612880
class  JADE_OPAL_2000_S4300807
 Jet rates in $ e^+ e^- $ at OPAL and JADE. More...
class  LHCB_2010_I867355
class  LHCB_2010_S8758301
class  LHCB_2011_I917009
class  LHCB_2011_I919315
class  LHCB_2012_I1119400
class  LHCB_2013_I1208105
class  LHCB_2013_I1218996
 LHCb prompt charm hadron pT and rapidity spectra. More...
class  LHCF_2012_I1115479
class  MC_DIJET
 MC validation analysis for di-jet events. More...
class  MC_DIPHOTON
 MC validation analysis for isolated di-photon events. More...
class  MC_GENERIC
 Generic analysis looking at various distributions of final state particles. More...
class  MC_HINC
 MC validation analysis for higgs [-> tau tau] events. More...
class  MC_HJETS
 MC validation analysis for higgs [-> tau tau] + jets events. More...
class  MC_HKTSPLITTINGS
 MC validation analysis for higgs [-> tau tau] + jets events. More...
class  MC_IDENTIFIED
 Generic analysis looking at various distributions of final state particles. More...
class  MC_JETS
 MC validation analysis for jet events. More...
class  MC_KTSPLITTINGS
 MC validation analysis for jet events. More...
class  MC_LEADJETUE
 MC validation analysis for underlying event in jet events. More...
class  MC_PDFS
 Generic analysis looking at various distributions of final state particles. More...
class  MC_PHOTONINC
 MC validation analysis for single photon events. More...
class  MC_PHOTONJETS
 MC validation analysis for photon + jets events. More...
class  MC_PHOTONJETUE
 MC validation analysis for underlying event in jet + isolated photon events. More...
class  MC_PHOTONKTSPLITTINGS
 MC validation analysis for photon + jets events. More...
class  MC_PHOTONS
class  MC_PRINTEVENT
class  MC_QCD_PARTONS
 Generic analysis looking at kt splitting scales of partons. More...
class  MC_SUSY
 MC validation analysis for SUSY events. More...
class  MC_TTBAR
class  MC_VH2BB
class  MC_WINC
 MC validation analysis for inclusive W events. More...
class  MC_WJETS
 MC validation analysis for W + jets events. More...
class  MC_WKTSPLITTINGS
 MC validation analysis for kt splitting scales in W + jets events. More...
class  MC_WPOL
 MC validation analysis for W polarisation. More...
class  MC_WWINC
 MC validation analysis for W^+[enu]W^-[munu] events. More...
class  MC_WWJETS
 MC validation analysis for W^+[enu]W^-[munu] + jets events. More...
class  MC_WWKTSPLITTINGS
 MC validation analysis for W^+[enu]W^-[munu] + jets events. More...
class  MC_XS
 Analysis for the generated cross section. More...
class  MC_ZINC
 MC validation analysis for Z events. More...
class  MC_ZJETS
 MC validation analysis for Z + jets events. More...
class  MC_ZKTSPLITTINGS
 MC validation analysis for Z + jets events. More...
class  MC_ZZINC
 MC validation analysis for Z[ee]Z[mumu] events. More...
class  MC_ZZJETS
 MC validation analysis for Z[ee]Z[mumu] + jets events. More...
class  MC_ZZKTSPLITTINGS
 MC validation analysis for Z[ee]Z[mumu] + jets events. More...
class  OPAL_1993_S2692198
 OPAL photon production. More...
class  OPAL_1994_S2927284
 OPAL charged particle fragmentation functions. More...
class  OPAL_1995_S3198391
 OPAL Delta++ fragmentation function paper. More...
class  OPAL_1996_S3257789
 OPAL J/Psi fragmentation function paper. More...
class  OPAL_1997_S3396100
 OPAL strange baryon paper. More...
class  OPAL_1997_S3608263
 OPAL K*0 fragmentation function paper. More...
class  OPAL_1998_S3702294
 OPAL f0,f2 and phi fragmentation function paper. More...
class  OPAL_1998_S3749908
 OPAL photon/light meson paper. More...
class  OPAL_1998_S3780481
 OPAL flavour-dependent fragmentation paper. More...
class  OPAL_2000_S4418603
 OPAL K0 fragmentation function paper. More...
class  OPAL_2001_S4553896
class  OPAL_2002_S5361494
 OPAL multiplicities at various energies. More...
class  OPAL_2004_S6132243
 OPAL event shapes and moments at 91, 133, 177, and 197 GeV. More...
class  PDG_HADRON_MULTIPLICITIES
 Implementation of PDG hadron multiplicities. More...
class  PDG_HADRON_MULTIPLICITIES_RATIOS
 Implementation of PDG hadron multiplicities as ratios to $ \pi^\pm $ multiplicity. More...
class  SFM_1984_S1178091
 SFM charged multiplicities in NSD and inelastic minbias events. More...
class  SLD_1996_S3398250
 SLD multiplicities at mZ. More...
class  SLD_1999_S3743934
 SLD flavour-dependent fragmentation paper. More...
class  SLD_2002_S4869273
 SLD b-fragmentation measurement. More...
class  SLD_2004_S5693039
 SLD flavour-dependent fragmentation paper. More...
class  STAR_2006_S6500200
 STAR identified hadron spectra in pp at 200 GeV. More...
class  STAR_2006_S6860818
 STAR strange particle spectra in pp at 200 GeV. More...
class  STAR_2006_S6870392
 STAR inclusive jet cross-section in pp at 200 GeV. More...
class  STARRandomFilter
class  STAR_2008_S7869363
class  STAR_2008_S7993412
 STAR di-hadron correlations in d-Au at 200 GeV. More...
class  STAR_2009_UE_HELEN
 STAR underlying event. More...
class  TASSO_1990_S2148048
class  TOTEM_2012_002
 TOTEM elastic and total cross-section measurement. More...
class  TOTEM_2012_I1115294
class  UA1_1990_S2044935
 UA1 minbias track multiplicities, $ p_\perp $ and $ E_\perp $. More...
class  UA5_1982_S875503
 UA5 multiplicity and $ \eta $ distributions. More...
class  UA5_1986_S1583476
 UA5 $ \eta $ distributions at 200 and 900 GeV. More...
class  UA5_1987_S1640666
class  UA5_1988_S1867512
 UA5 charged particle correlations at 200, 546 and 900 GeV. More...
class  UA5_1989_S1926373
 UA5 min bias charged multiplicities in central $ \eta $ ranges. More...
class  ZEUS_2001_S4815815
 ZEUS dijet photoproduction study used in the ZEUS Jets PDF fit. More...
class  CuttableBase
class  Open_Cut
class  Cut_GtrEq
class  Cut_Less
class  Cut_Gtr
class  Cut_LessEq
class  CutsOr
 AND, OR, NOT, and XOR objects for combining cuts. More...
class  CutsAnd
class  CutInvert
class  CutsXor
class  Cuttable< Particle >
class  Cuttable< FourMomentum >
class  Cuttable< Jet >
class  Cuttable< fastjet::PseudoJet >
class  Cuttable< HepMC::FourVector >

Typedefs

typedef shared_ptr< AnalysisAnaHandle
typedef Cmp< ProjectionPCmp
 Typedef for Cmp<Projection>
typedef boost::shared_ptr
< CutBase
Cut
 Main cut object.
typedef Error Exception
 Rivet::Exception is a synonym for Rivet::Error.
typedef vector< JetJets
 Typedef for a collection of Jet objects.
typedef Matrix< 4 > Matrix4
typedef Vector3 ThreeVector
typedef FourVector Vector4
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 shared_ptr
< YODA::AnalysisObject > 
AnalysisObjectPtr
typedef shared_ptr< YODA::Histo1D > Histo1DPtr
typedef shared_ptr
< YODA::Profile1D > 
Profile1DPtr
typedef shared_ptr
< YODA::Scatter2D > 
Scatter2DPtr
typedef YODA::Histo1D Histo1D
typedef YODA::Profile1D Profile1D
typedef YODA::Scatter2D Scatter2D
typedef YODA::Point2D Point2D
Particle declarations
typedef std::vector< ParticleParticles
 Typedefs for a vector of Particle objects.
typedef std::vector< ParticleParticleVector
typedef std::pair< Particle,
Particle
ParticlePair
 Typedef for a pair of Particle objects.
PdgId declarations
typedef int PdgId
 Typedef for a PDG ID code.
typedef std::pair< PdgId, PdgIdPdgIdPair
 Typedef for a pair of particle names.

Enumerations

enum  CmpState {
  UNDEFINED = -2, ASC = -1, ORDERED = -1, EQUIVALENT = 0,
  DESC = 1, UNORDERED = 1, ANTIORDERED = 1
}
 Enumerate the possible states of a Cmp object. More...
enum  Sign { MINUS = -1, ZERO = 0, PLUS = 1 }
 Enum for signs of numbers. More...
enum  RapScheme { PSEUDORAPIDITY = 0, ETARAP = 0, RAPIDITY = 1, YRAP = 1 }
 Enum for rapidity variable to be used in calculating $ R $, applying rapidity cuts, etc. More...
enum  PhiMapping { MINUSPI_PLUSPI, ZERO_2PI, ZERO_PI }
 Enum for range of $ \phi $ to be mapped into. 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 PdgIdPair &pair, const PdgIdPair &allowedpair)
bool compatible (const ParticlePair &ppair, const PdgIdPair &allowedpair)
 Check particle compatibility of Particle pairs.
bool compatible (const PdgIdPair &allowedpair, const ParticlePair &ppair)
 Check particle compatibility of Particle pairs (for symmetric completeness)
bool compatible (const PdgIdPair &pair, const set< PdgIdPair > &allowedpairs)
set< PdgIdPairintersection (const set< PdgIdPair > &a, const set< PdgIdPair > &b)
 Return the intersection of two sets of {PdgIdPair}s.
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)
bool operator== (const Cut &a, const Cut &b)
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 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 abspseudorapidity (const FourVector &v)
 Calculate absolute pseudorapidity of a Lorentz vector.
double abseta (const FourVector &v)
 Synonym for absolute pseudorapidity.
FourMomentum multiply (const double a, const FourMomentum &v)
FourMomentum multiply (const FourMomentum &v, const double a)
FourMomentum operator* (const double a, const FourMomentum &v)
FourMomentum operator* (const FourMomentum &v, const double a)
FourMomentum operator/ (const FourMomentum &v, const double a)
FourMomentum add (const FourMomentum &a, const FourMomentum &b)
FourMomentum operator+ (const FourMomentum &a, const FourMomentum &b)
FourMomentum operator- (const FourMomentum &a, const FourMomentum &b)
double mass (const FourMomentum &v)
 Get the mass $ m = \sqrt{E^2 - p^2} $ (the Lorentz self-invariant) of a momentum 4-vector.
double mass2 (const FourMomentum &v)
 Get the squared mass $ m^2 = E^2 - p^2 $ (the Lorentz self-invariant) of a momentum 4-vector.
double rapidity (const FourMomentum &v)
 Calculate the rapidity of a momentum 4-vector.
double rap (const FourMomentum &v)
 Calculate the rapidity of a momentum 4-vector.
double absrapidity (const FourMomentum &v)
 Calculate the absolute rapidity of a momentum 4-vector.
double absrap (const FourMomentum &v)
 Calculate the absolute rapidity of a momentum 4-vector.
double pT2 (const FourMomentum &v)
 Calculate the squared transverse momentum $ p_T^2 $ of a momentum 4-vector.
double pT (const FourMomentum &v)
 Calculate the transverse momentum $ p_T $ of a momentum 4-vector.
double Et2 (const FourMomentum &v)
 Calculate the transverse energy squared, $ E_T^2 = E^2 \sin^2{\theta} $ of a momentum 4-vector.
double Et (const FourMomentum &v)
 Calculate the transverse energy $ E_T = E \sin{\theta} $ of a momentum 4-vector.
Vector3 boostVector (const FourMomentum &v)
 Calculate the velocity boost vector of a momentum 4-vector.
template<size_t N>
double mod2 (const Vector< N > &v)
template<size_t N>
double mod (const Vector< N > &v)
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.
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.
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.
std::ostream & operator<< (Log &log, int level)
 Streaming output to a logger must have a Log::Level/int as its first argument.
std::vector< GenParticle * > particles (const GenEvent &ge)
std::vector< GenParticle * > particles (const GenEvent *ge)
std::vector< GenVertex * > vertices (const GenEvent &ge)
std::vector< GenVertex * > vertices (const GenEvent *ge)
std::pair
< GenVertex::particles_in_const_iterator,
GenVertex::particles_in_const_iterator > 
particles_in (const GenVertex *gv)
std::pair
< GenVertex::particles_out_const_iterator,
GenVertex::particles_out_const_iterator > 
particles_out (const GenVertex *gv)
std::vector< GenParticle * > particles (GenVertex *gv, HepMC::IteratorRange range=HepMC::relatives)
std::vector< GenParticle * > particles_in (const GenParticle *gp, HepMC::IteratorRange range=HepMC::ancestors)
 Get the direct parents or all-ancestors of GenParticle gp.
std::vector< GenParticle * > particles_out (const GenParticle *gp, HepMC::IteratorRange range=HepMC::descendants)
 Get the direct children or all-descendents of GenParticle gp.
bool fileexists (const std::string &path)
 Convenience function for determining if a filesystem path exists.
map< string, Scatter2DPtrgetRefData (const string &papername)
string getDatafilePath (const string &papername)
 Get the file system path to the reference file for this paper.
double integral (Histo1DPtr histo)
 DECLARE_RIVET_PLUGIN (ALEPH_1991_S2435284)
 DECLARE_RIVET_PLUGIN (ALEPH_1996_S3196992)
 DECLARE_RIVET_PLUGIN (ALEPH_1996_S3486095)
 DECLARE_RIVET_PLUGIN (ALEPH_1999_S4193598)
 DECLARE_RIVET_PLUGIN (ALEPH_2001_S4656318)
 DECLARE_RIVET_PLUGIN (ALEPH_2002_S4823664)
 DECLARE_RIVET_PLUGIN (ALEPH_2004_S5765862)
 DECLARE_RIVET_PLUGIN (ALICE_2010_S8624100)
 DECLARE_RIVET_PLUGIN (ALICE_2010_S8625980)
 DECLARE_RIVET_PLUGIN (ALICE_2010_S8706239)
 DECLARE_RIVET_PLUGIN (ALICE_2011_S8909580)
 DECLARE_RIVET_PLUGIN (ALICE_2011_S8945144)
 DECLARE_RIVET_PLUGIN (ALICE_2012_I1181770)
 DECLARE_RIVET_PLUGIN (ARGUS_1993_S2653028)
 DECLARE_RIVET_PLUGIN (ARGUS_1993_S2669951)
 DECLARE_RIVET_PLUGIN (ARGUS_1993_S2789213)
 DECLARE_RIVET_PLUGIN (ATLAS_2010_CONF_2010_049)
 DECLARE_RIVET_PLUGIN (ATLAS_2010_S8591806)
 DECLARE_RIVET_PLUGIN (ATLAS_2010_S8817804)
 DECLARE_RIVET_PLUGIN (ATLAS_2010_S8894728)
 DECLARE_RIVET_PLUGIN (ATLAS_2010_S8914702)
 DECLARE_RIVET_PLUGIN (ATLAS_2010_S8918562)
 DECLARE_RIVET_PLUGIN (ATLAS_2010_S8919674)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_CONF_2011_090)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_CONF_2011_098)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_I894867)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_I919017)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_I925932)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_I926145)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_I930220)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_I944826)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_I945498)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_I954993)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S8924791)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S8971293)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S8983313)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S8994773)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9002537)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9019561)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9035664)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9041966)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9108483)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9120807)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9126244)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9128077)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9131140)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9212183)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9212353)
 DECLARE_RIVET_PLUGIN (ATLAS_2011_S9225137)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_CONF_2012_001)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_CONF_2012_103)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_CONF_2012_104)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_CONF_2012_105)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_CONF_2012_109)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_CONF_2012_153)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1082009)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1082936)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1083318)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1084540)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1091481)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1093734)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1093738)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1094564)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1094568)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1095236)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1112263)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1117704)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1118269)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1119557)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1125575)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1125961)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1126136)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1180197)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1183818)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1186556)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1188891)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1190891)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I1204784)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I943401)
 DECLARE_RIVET_PLUGIN (ATLAS_2012_I946427)
 DECLARE_RIVET_PLUGIN (ATLAS_2013_I1217867)
 DECLARE_RIVET_PLUGIN (ATLAS_2013_I1230812)
 DECLARE_RIVET_PLUGIN (ATLAS_2013_I1230812_EL)
 DECLARE_RIVET_PLUGIN (ATLAS_2013_I1230812_MU)
 DECLARE_RIVET_PLUGIN (ATLAS_2013_I1243871)
 DECLARE_RIVET_PLUGIN (BABAR_2003_I593379)
 DECLARE_RIVET_PLUGIN (BABAR_2005_S6181155)
 DECLARE_RIVET_PLUGIN (BABAR_2007_S6895344)
 DECLARE_RIVET_PLUGIN (BABAR_2007_S7266081)
 DECLARE_RIVET_PLUGIN (BELLE_2001_S4598261)
 DECLARE_RIVET_PLUGIN (BELLE_2006_S6265367)
 DECLARE_RIVET_PLUGIN (CDF_1988_S1865951)
 DECLARE_RIVET_PLUGIN (CDF_1990_S2089246)
 DECLARE_RIVET_PLUGIN (CDF_1993_S2742446)
 DECLARE_RIVET_PLUGIN (CDF_1994_S2952106)
 DECLARE_RIVET_PLUGIN (CDF_1996_S3108457)
 DECLARE_RIVET_PLUGIN (CDF_1996_S3349578)
 DECLARE_RIVET_PLUGIN (CDF_1996_S3418421)
 DECLARE_RIVET_PLUGIN (CDF_1997_S3541940)
 DECLARE_RIVET_PLUGIN (CDF_1998_S3618439)
 DECLARE_RIVET_PLUGIN (CDF_2000_S4155203)
 DECLARE_RIVET_PLUGIN (CDF_2000_S4266730)
 DECLARE_RIVET_PLUGIN (CDF_2001_S4517016)
 DECLARE_RIVET_PLUGIN (CDF_2001_S4563131)
 DECLARE_RIVET_PLUGIN (CDF_2001_S4751469)
 DECLARE_RIVET_PLUGIN (CDF_2004_S5839831)
 DECLARE_RIVET_PLUGIN (CDF_2005_S6080774)
 DECLARE_RIVET_PLUGIN (CDF_2005_S6217184)
 DECLARE_RIVET_PLUGIN (CDF_2006_S6450792)
 DECLARE_RIVET_PLUGIN (CDF_2006_S6653332)
 DECLARE_RIVET_PLUGIN (CDF_2007_S7057202)
 DECLARE_RIVET_PLUGIN (CDF_2008_S7540469)
 DECLARE_RIVET_PLUGIN (CDF_2008_S7541902)
 DECLARE_RIVET_PLUGIN (CDF_2008_S7782535)
 DECLARE_RIVET_PLUGIN (CDF_2008_S7828950)
 DECLARE_RIVET_PLUGIN (CDF_2008_S8093652)
 DECLARE_RIVET_PLUGIN (CDF_2008_S8095620)
 DECLARE_RIVET_PLUGIN (CDF_2009_NOTE_9936)
 DECLARE_RIVET_PLUGIN (CDF_2009_S8057893)
 DECLARE_RIVET_PLUGIN (CDF_2009_S8233977)
 DECLARE_RIVET_PLUGIN (CDF_2009_S8383952)
 DECLARE_RIVET_PLUGIN (CDF_2009_S8436959)
 DECLARE_RIVET_PLUGIN (CDF_2010_S8591881_DY)
 DECLARE_RIVET_PLUGIN (CDF_2010_S8591881_QCD)
 DECLARE_RIVET_PLUGIN (CDF_2012_NOTE10874)
 DECLARE_RIVET_PLUGIN (CLEO_2004_S5809304)
 DECLARE_RIVET_PLUGIN (CMS_2010_S8547297)
 DECLARE_RIVET_PLUGIN (CMS_2010_S8656010)
 DECLARE_RIVET_PLUGIN (CMS_2011_I954992)
 DECLARE_RIVET_PLUGIN (CMS_2011_S8884919)
 DECLARE_RIVET_PLUGIN (CMS_2011_S8941262)
 DECLARE_RIVET_PLUGIN (CMS_2011_S8950903)
 DECLARE_RIVET_PLUGIN (CMS_2011_S8957746)
 DECLARE_RIVET_PLUGIN (CMS_2011_S8968497)
 DECLARE_RIVET_PLUGIN (CMS_2011_S8973270)
 DECLARE_RIVET_PLUGIN (CMS_2011_S8978280)
 DECLARE_RIVET_PLUGIN (CMS_2011_S9086218)
 DECLARE_RIVET_PLUGIN (CMS_2011_S9088458)
 DECLARE_RIVET_PLUGIN (CMS_2011_S9120041)
 DECLARE_RIVET_PLUGIN (CMS_2011_S9215166)
 DECLARE_RIVET_PLUGIN (CMS_2012_I1087342)
 DECLARE_RIVET_PLUGIN (CMS_2012_I1102908)
 DECLARE_RIVET_PLUGIN (CMS_2012_I1107658)
 DECLARE_RIVET_PLUGIN (CMS_2012_I1184941)
 DECLARE_RIVET_PLUGIN (CMS_2012_I1193338)
 DECLARE_RIVET_PLUGIN (CMS_2012_I941555)
 DECLARE_RIVET_PLUGIN (CMS_2012_PAS_QCD_11_010)
 DECLARE_RIVET_PLUGIN (CMS_2013_I1209721)
 DECLARE_RIVET_PLUGIN (CMS_2013_I1218372)
 DECLARE_RIVET_PLUGIN (CMS_2013_I1224539_DIJET)
 DECLARE_RIVET_PLUGIN (CMS_2013_I1224539_WJET)
 DECLARE_RIVET_PLUGIN (CMS_2013_I1224539_ZJET)
 DECLARE_RIVET_PLUGIN (CMS_2013_I1258128)
 DECLARE_RIVET_PLUGIN (CMS_QCD_10_024)
 DECLARE_RIVET_PLUGIN (D0_1996_S3214044)
 DECLARE_RIVET_PLUGIN (D0_1996_S3324664)
 DECLARE_RIVET_PLUGIN (D0_2000_S4480767)
 DECLARE_RIVET_PLUGIN (D0_2001_S4674421)
 DECLARE_RIVET_PLUGIN (D0_2004_S5992206)
 DECLARE_RIVET_PLUGIN (D0_2006_S6438750)
 DECLARE_RIVET_PLUGIN (D0_2007_S7075677)
 DECLARE_RIVET_PLUGIN (D0_2008_S6879055)
 DECLARE_RIVET_PLUGIN (D0_2008_S7554427)
 DECLARE_RIVET_PLUGIN (D0_2008_S7662670)
 DECLARE_RIVET_PLUGIN (D0_2008_S7719523)
 DECLARE_RIVET_PLUGIN (D0_2008_S7837160)
 DECLARE_RIVET_PLUGIN (D0_2008_S7863608)
 DECLARE_RIVET_PLUGIN (D0_2009_S8202443)
 DECLARE_RIVET_PLUGIN (D0_2009_S8320160)
 DECLARE_RIVET_PLUGIN (D0_2009_S8349509)
 DECLARE_RIVET_PLUGIN (D0_2010_S8566488)
 DECLARE_RIVET_PLUGIN (D0_2010_S8570965)
 DECLARE_RIVET_PLUGIN (D0_2010_S8671338)
 DECLARE_RIVET_PLUGIN (D0_2010_S8821313)
 DECLARE_RIVET_PLUGIN (D0_2011_I895662)
 DECLARE_RIVET_PLUGIN (DELPHI_1995_S3137023)
 DECLARE_RIVET_PLUGIN (DELPHI_1996_S3430090)
 DECLARE_RIVET_PLUGIN (DELPHI_1999_S3960137)
 DECLARE_RIVET_PLUGIN (DELPHI_2000_S4328825)
 DECLARE_RIVET_PLUGIN (DELPHI_2002_069_CONF_603)
 DECLARE_RIVET_PLUGIN (DELPHI_2003_WUD_03_11)
 DECLARE_RIVET_PLUGIN (E735_1998_S3905616)
 DECLARE_RIVET_PLUGIN (EXAMPLE)
 DECLARE_RIVET_PLUGIN (EXAMPLE_CUTS)
 DECLARE_RIVET_PLUGIN (H1_1994_S2919893)
 DECLARE_RIVET_PLUGIN (H1_1995_S3167097)
 DECLARE_RIVET_PLUGIN (H1_2000_S4129130)
 DECLARE_RIVET_PLUGIN (JADE_1998_S3612880)
 DECLARE_RIVET_PLUGIN (JADE_OPAL_2000_S4300807)
 DECLARE_RIVET_PLUGIN (LHCB_2010_I867355)
 DECLARE_RIVET_PLUGIN (LHCB_2010_S8758301)
 DECLARE_RIVET_PLUGIN (LHCB_2011_I917009)
 DECLARE_RIVET_PLUGIN (LHCB_2011_I919315)
 DECLARE_RIVET_PLUGIN (LHCB_2012_I1119400)
 DECLARE_RIVET_PLUGIN (LHCB_2013_I1208105)
 DECLARE_RIVET_PLUGIN (LHCB_2013_I1218996)
 DECLARE_RIVET_PLUGIN (LHCF_2012_I1115479)
 DECLARE_RIVET_PLUGIN (MC_DIJET)
 DECLARE_RIVET_PLUGIN (MC_DIPHOTON)
 DECLARE_RIVET_PLUGIN (MC_GENERIC)
 DECLARE_RIVET_PLUGIN (MC_HINC)
 DECLARE_RIVET_PLUGIN (MC_HJETS)
 DECLARE_RIVET_PLUGIN (MC_HKTSPLITTINGS)
 DECLARE_RIVET_PLUGIN (MC_IDENTIFIED)
 DECLARE_RIVET_PLUGIN (MC_JETS)
 DECLARE_RIVET_PLUGIN (MC_KTSPLITTINGS)
 DECLARE_RIVET_PLUGIN (MC_LEADJETUE)
 DECLARE_RIVET_PLUGIN (MC_PDFS)
 DECLARE_RIVET_PLUGIN (MC_PHOTONINC)
 DECLARE_RIVET_PLUGIN (MC_PHOTONJETS)
 DECLARE_RIVET_PLUGIN (MC_PHOTONJETUE)
 DECLARE_RIVET_PLUGIN (MC_PHOTONKTSPLITTINGS)
 DECLARE_RIVET_PLUGIN (MC_PHOTONS)
 DECLARE_RIVET_PLUGIN (MC_PRINTEVENT)
 DECLARE_RIVET_PLUGIN (MC_QCD_PARTONS)
 DECLARE_RIVET_PLUGIN (MC_SUSY)
 DECLARE_RIVET_PLUGIN (MC_TTBAR)
 DECLARE_RIVET_PLUGIN (MC_VH2BB)
 DECLARE_RIVET_PLUGIN (MC_WINC)
 DECLARE_RIVET_PLUGIN (MC_WJETS)
 DECLARE_RIVET_PLUGIN (MC_WKTSPLITTINGS)
 DECLARE_RIVET_PLUGIN (MC_WPOL)
 DECLARE_RIVET_PLUGIN (MC_WWINC)
 DECLARE_RIVET_PLUGIN (MC_WWJETS)
 DECLARE_RIVET_PLUGIN (MC_WWKTSPLITTINGS)
 DECLARE_RIVET_PLUGIN (MC_XS)
 DECLARE_RIVET_PLUGIN (MC_ZINC)
 DECLARE_RIVET_PLUGIN (MC_ZJETS)
 DECLARE_RIVET_PLUGIN (MC_ZKTSPLITTINGS)
 DECLARE_RIVET_PLUGIN (MC_ZZINC)
 DECLARE_RIVET_PLUGIN (MC_ZZJETS)
 DECLARE_RIVET_PLUGIN (MC_ZZKTSPLITTINGS)
 DECLARE_RIVET_PLUGIN (OPAL_1993_S2692198)
 DECLARE_RIVET_PLUGIN (OPAL_1994_S2927284)
 DECLARE_RIVET_PLUGIN (OPAL_1995_S3198391)
 DECLARE_RIVET_PLUGIN (OPAL_1996_S3257789)
 DECLARE_RIVET_PLUGIN (OPAL_1997_S3396100)
 DECLARE_RIVET_PLUGIN (OPAL_1997_S3608263)
 DECLARE_RIVET_PLUGIN (OPAL_1998_S3702294)
 DECLARE_RIVET_PLUGIN (OPAL_1998_S3749908)
 DECLARE_RIVET_PLUGIN (OPAL_1998_S3780481)
 DECLARE_RIVET_PLUGIN (OPAL_2000_S4418603)
 DECLARE_RIVET_PLUGIN (OPAL_2001_S4553896)
 DECLARE_RIVET_PLUGIN (OPAL_2002_S5361494)
 DECLARE_RIVET_PLUGIN (OPAL_2004_S6132243)
 DECLARE_RIVET_PLUGIN (PDG_HADRON_MULTIPLICITIES)
 DECLARE_RIVET_PLUGIN (PDG_HADRON_MULTIPLICITIES_RATIOS)
 DECLARE_RIVET_PLUGIN (SFM_1984_S1178091)
 DECLARE_RIVET_PLUGIN (SLD_1996_S3398250)
 DECLARE_RIVET_PLUGIN (SLD_1999_S3743934)
 DECLARE_RIVET_PLUGIN (SLD_2002_S4869273)
 DECLARE_RIVET_PLUGIN (SLD_2004_S5693039)
 DECLARE_RIVET_PLUGIN (STAR_2006_S6500200)
 DECLARE_RIVET_PLUGIN (STAR_2006_S6860818)
 DECLARE_RIVET_PLUGIN (STAR_2006_S6870392)
 DECLARE_RIVET_PLUGIN (STAR_2008_S7869363)
 DECLARE_RIVET_PLUGIN (STAR_2008_S7993412)
 DECLARE_RIVET_PLUGIN (STAR_2009_UE_HELEN)
 DECLARE_RIVET_PLUGIN (TASSO_1990_S2148048)
 DECLARE_RIVET_PLUGIN (TOTEM_2012_002)
 DECLARE_RIVET_PLUGIN (TOTEM_2012_I1115294)
 DECLARE_RIVET_PLUGIN (UA1_1990_S2044935)
 DECLARE_RIVET_PLUGIN (UA5_1982_S875503)
 DECLARE_RIVET_PLUGIN (UA5_1986_S1583476)
 DECLARE_RIVET_PLUGIN (UA5_1987_S1640666)
Point2D correlation_helper (double x, double xerr, const vector< int > &nf, const vector< int > &nb, double sumWPassed)
 helper function to fill correlation points into scatter plot
 DECLARE_RIVET_PLUGIN (UA5_1988_S1867512)
 DECLARE_RIVET_PLUGIN (UA5_1989_S1926373)
 DECLARE_RIVET_PLUGIN (ZEUS_2001_S4815815)
template<typename T >
Cut make_cut (T t)
void qty_not_found ()
bool hadronFilter (const Particle &p)
bool nonHadronFilter (const Particle &p)
void _calcS (const vector< Vector3 > &perpmomenta, double &sphero, Vector3 &saxis)
bool mod2Cmp (const Vector3 &a, const Vector3 &b)
void _calcT (const vector< Vector3 > &momenta, double &t, Vector3 &taxis)
bool isInvisibleFilter (const Particle &p)
void _updateLevels (const Log::LevelMap &defaultLevels, Log::LogMap &existingLogs)
string _findFile (const string &filename, const vector< string > &paths)
Cut constructors
Cut operator< (Cuts::Quantity, double)
Cut operator> (Cuts::Quantity, double)
Cut operator<= (Cuts::Quantity, double)
Cut operator>= (Cuts::Quantity, double)
Shortcuts for common cuts
Cut Range (Cuts::Quantity, double m, double n)
Cut EtaIn (double m, double n)
Cut operator< (Cuts::Quantity qty, int i)
Cut operator> (Cuts::Quantity qty, int i)
Cut operator<= (Cuts::Quantity qty, int i)
Cut operator>= (Cuts::Quantity qty, int i)
Cut combiners
Cut operator& (const Cut aptr, const Cut bptr)
 Logical AND operation on two cuts.
Cut operator| (const Cut aptr, const Cut bptr)
 Logical OR operation on two cuts.
Cut operator~ (const Cut cptr)
 Logical NOT operation on a cut.
Cut operator^ (const Cut aptr, const Cut bptr)
 Logical XOR operation on two cuts.
deltaR, deltaEta, deltaPhi functions specifically for Jet arguments
double deltaR (const Jet &j1, const Jet &j2, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const Jet &j, const Particle &p, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const Particle &p, const Jet &j, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const Jet &j, const FourMomentum &v, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const Jet &j, const FourVector &v, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const Jet &j, const Vector3 &v)
double deltaR (const Jet &j, double eta, double phi)
double deltaR (const FourMomentum &v, const Jet &j, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const FourVector &v, const Jet &j, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const Vector3 &v, const Jet &j)
double deltaR (double eta, double phi, const Jet &j)
double deltaPhi (const Jet &j1, const Jet &j2)
double deltaPhi (const Jet &j, const Particle &p)
double deltaPhi (const Particle &p, const Jet &j)
double deltaPhi (const Jet &j, const FourMomentum &v)
double deltaPhi (const Jet &j, const FourVector &v)
double deltaPhi (const Jet &j, const Vector3 &v)
double deltaPhi (const Jet &j, double phi)
double deltaPhi (const FourMomentum &v, const Jet &j)
double deltaPhi (const FourVector &v, const Jet &j)
double deltaPhi (const Vector3 &v, const Jet &j)
double deltaPhi (double phi, const Jet &j)
double deltaEta (const Jet &j1, const Jet &j2)
double deltaEta (const Jet &j, const Particle &p)
double deltaEta (const Particle &p, const Jet &j)
double deltaEta (const Jet &j, const FourMomentum &v)
double deltaEta (const Jet &j, const FourVector &v)
double deltaEta (const Jet &j, const Vector3 &v)
double deltaEta (const Jet &j, double eta)
double deltaEta (const FourMomentum &v, const Jet &j)
double deltaEta (const FourVector &v, const Jet &j)
double deltaEta (const Vector3 &v, const Jet &j)
double deltaEta (double eta, const Jet &j)
Comparison functions for safe (floating point) equality tests
template<typename NUM >
boost::enable_if_c
< boost::is_floating_point
< NUM >::value, bool >::type 
isZero (NUM val, double tolerance=1e-8)
 Compare a number to zero.
template<typename NUM >
boost::enable_if_c
< boost::is_integral< NUM >
::value, bool >::type 
isZero (NUM val, double UNUSED(tolerance)=1e-8)
 Compare a number to zero.
template<typename N1 , typename N2 >
boost::enable_if_c
< boost::is_arithmetic< N1 >
::value &&boost::is_arithmetic
< N2 >::value
&&(boost::is_floating_point
< N1 >::value||boost::is_floating_point
< N2 >::value), bool >::type 
fuzzyEquals (N1 a, N2 b, double tolerance=1e-5)
 Compare two numbers for equality with a degree of fuzziness.
template<typename N1 , typename N2 >
boost::enable_if_c
< boost::is_integral< N1 >
::value &&boost::is_integral
< N2 >::value, bool >::type 
fuzzyEquals (N1 a, N2 b, double UNUSED(tolerance)=1e-5)
 Compare two numbers for equality with a degree of fuzziness.
template<typename N1 , typename N2 >
boost::enable_if_c
< boost::is_arithmetic< N1 >
::value &&boost::is_arithmetic
< N2 >::value, bool >::type 
fuzzyGtrEquals (N1 a, N2 b, double tolerance=1e-5)
 Compare two numbers for >= with a degree of fuzziness.
template<typename N1 , typename N2 >
boost::enable_if_c
< boost::is_arithmetic< N1 >
::value &&boost::is_arithmetic
< N2 >::value, bool >::type 
fuzzyLessEquals (N1 a, N2 b, double tolerance=1e-5)
 Compare two floating point numbers for <= with a degree of fuzziness.
Miscellaneous numerical helpers
template<typename NUM >
boost::enable_if_c
< boost::is_arithmetic< NUM >
::value, NUM >::type 
sqr (NUM a)
 Named number-type squaring operation.
template<typename NUM >
boost::enable_if_c
< boost::is_arithmetic< NUM >
::value, NUM >::type 
add_quad (NUM a, NUM b)
 Named number-type addition in quadrature operation.
template<typename NUM >
boost::enable_if_c
< boost::is_arithmetic< NUM >
::value, NUM >::type 
add_quad (NUM a, NUM b, NUM c)
double safediv (double num, double den, double fail=0.0)
template<typename NUM >
boost::enable_if_c
< boost::is_arithmetic< NUM >
::value, NUM >::type 
intpow (NUM val, unsigned int exp)
 A more efficient version of pow for raising numbers to integer powers.
template<typename NUM >
boost::enable_if_c
< boost::is_arithmetic< NUM >
::value, int >::type 
sign (NUM val)
 Find the sign of a number.
Binning helper functions
vector< double > linspace (size_t nbins, double start, double end, bool include_end=true)
 Make a list of nbins + 1 values equally spaced between start and end inclusive.
vector< double > logspace (size_t nbins, double start, double end, bool include_end=true)
 Make a list of nbins + 1 values exponentially spaced between start and end inclusive.
vector< double > BWspace (size_t nbins, double start, double end, double mu, double gamma)
 Make a list of nbins + 1 values spaced for equal area Breit-Wigner binning between start and end inclusive. mu and gamma are the Breit-Wigner parameters.
template<typename NUM >
int index_between (const NUM &val, const vector< NUM > &binedges)
 Return the bin index of the given value, val, given a vector of bin edges.
Statistics functions
double mean (const vector< int > &sample)
 Calculate the mean of a sample.
double mean_err (const vector< int > &sample)
double covariance (const vector< int > &sample1, const vector< int > &sample2)
 Calculate the covariance (variance) between two samples.
double covariance_err (const vector< int > &sample1, const vector< int > &sample2)
 Calculate the error on the covariance (variance) of two samples, assuming poissonian errors.
double correlation (const vector< int > &sample1, const vector< int > &sample2)
 Calculate the correlation strength between two samples.
double correlation_err (const vector< int > &sample1, const vector< int > &sample2)
 Calculate the error of the correlation strength between two samples assuming Poissonian errors.
Angle range mappings
double _mapAngleM2PITo2Pi (double angle)
 Reduce any number to the range [-2PI, 2PI].
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].
double mapAngle (double angle, PhiMapping mapping)
 Map an angle into the enum-specified range.
Phase space measure helpers
double deltaPhi (double phi1, double phi2)
 Calculate the difference between two angles in radians.
double deltaEta (double eta1, double eta2)
double deltaRap (double y1, double y2)
double deltaR (double rap1, double phi1, double rap2, double phi2)
double rapidity (double E, double pz)
 Calculate a rapidity value from the supplied energy E and longitudinal momentum pz.
\f$ |\Delta eta| \f$ calculations from 3-vectors
double deltaEta (const Vector3 &a, const Vector3 &b)
 Calculate the difference in pseudorapidity between two spatial vectors.
double deltaEta (const Vector3 &v, double eta2)
 Calculate the difference in pseudorapidity between two spatial vectors.
double deltaEta (double eta1, const Vector3 &v)
 Calculate the difference in pseudorapidity between two spatial vectors.
\f$ \Delta phi \f$ calculations from 3-vectors
double deltaPhi (const Vector3 &a, const Vector3 &b)
 Calculate the difference in azimuthal angle between two spatial vectors.
double deltaPhi (const Vector3 &v, double phi2)
 Calculate the difference in azimuthal angle between two spatial vectors.
double deltaPhi (double phi1, const Vector3 &v)
 Calculate the difference in azimuthal angle between two spatial vectors.
\f$ \Delta R \f$ calculations from 3-vectors
double deltaR (const Vector3 &a, const Vector3 &b)
 Calculate the 2D rapidity-azimuthal ("eta-phi") distance between two spatial vectors.
double deltaR (const Vector3 &v, double eta2, double phi2)
 Calculate the 2D rapidity-azimuthal ("eta-phi") distance between two spatial vectors.
double deltaR (double eta1, double phi1, const Vector3 &v)
 Calculate the 2D rapidity-azimuthal ("eta-phi") distance between two spatial vectors.
\f$ \Delta R \f$ calculations from 4-vectors
double deltaR (const FourVector &a, const FourVector &b, RapScheme scheme=PSEUDORAPIDITY)
 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. Use of this scheme option is discouraged in this case since RAPIDITY is only a valid option for vectors whose type is really the FourMomentum derived class.
double deltaR (const FourVector &v, double eta2, double phi2, RapScheme scheme=PSEUDORAPIDITY)
 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.
double deltaR (double eta1, double phi1, const FourVector &v, RapScheme scheme=PSEUDORAPIDITY)
 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.
double deltaR (const FourMomentum &a, const FourMomentum &b, RapScheme scheme=PSEUDORAPIDITY)
 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.
double deltaR (const FourMomentum &v, double eta2, double phi2, RapScheme scheme=PSEUDORAPIDITY)
 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.
double deltaR (double eta1, double phi1, const FourMomentum &v, RapScheme scheme=PSEUDORAPIDITY)
 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.
double deltaR (const FourMomentum &a, const FourVector &b, RapScheme scheme=PSEUDORAPIDITY)
 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.
double deltaR (const FourVector &a, const FourMomentum &b, RapScheme scheme=PSEUDORAPIDITY)
 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.
double deltaR (const FourMomentum &a, const Vector3 &b)
 Calculate the 2D rapidity-azimuthal ("eta-phi") distance between a three-vector and a four-vector.
double deltaR (const Vector3 &a, const FourMomentum &b)
 Calculate the 2D rapidity-azimuthal ("eta-phi") distance between a three-vector and a four-vector.
double deltaR (const FourVector &a, const Vector3 &b)
 Calculate the 2D rapidity-azimuthal ("eta-phi") distance between a three-vector and a four-vector.
double deltaR (const Vector3 &a, const FourVector &b)
 Calculate the 2D rapidity-azimuthal ("eta-phi") distance between a three-vector and a four-vector.
\f$ \Delta phi \f$ calculations from 4-vectors
double deltaPhi (const FourMomentum &a, const FourMomentum &b)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (const FourMomentum &v, double phi2)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (double phi1, const FourMomentum &v)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (const FourVector &a, const FourVector &b)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (const FourVector &v, double phi2)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (double phi1, const FourVector &v)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (const FourVector &a, const FourMomentum &b)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (const FourMomentum &a, const FourVector &b)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (const FourVector &a, const Vector3 &b)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (const Vector3 &a, const FourVector &b)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (const FourMomentum &a, const Vector3 &b)
 Calculate the difference in azimuthal angle between two vectors.
double deltaPhi (const Vector3 &a, const FourMomentum &b)
 Calculate the difference in azimuthal angle between two vectors.
\f$ |\Delta eta| \f$ calculations from 4-vectors
double deltaEta (const FourMomentum &a, const FourMomentum &b)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (const FourMomentum &v, double eta2)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (double eta1, const FourMomentum &v)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (const FourVector &a, const FourVector &b)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (const FourVector &v, double eta2)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (double eta1, const FourVector &v)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (const FourVector &a, const FourMomentum &b)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (const FourMomentum &a, const FourVector &b)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (const FourVector &a, const Vector3 &b)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (const Vector3 &a, const FourVector &b)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (const FourMomentum &a, const Vector3 &b)
 Calculate the difference in pseudorapidity between two vectors.
double deltaEta (const Vector3 &a, const FourMomentum &b)
 Calculate the difference in pseudorapidity between two vectors.
\f$ |\Delta y| \f$ calculations from 4-momentum vectors
double deltaRap (const FourMomentum &a, const FourMomentum &b)
 Calculate the difference in rapidity between two 4-momentum vectors.
double deltaRap (const FourMomentum &v, double y2)
 Calculate the difference in rapidity between two 4-momentum vectors.
double deltaRap (double y1, const FourMomentum &v)
 Calculate the difference in rapidity between two 4-momentum vectors.
4-vector comparison functions (for sorting)
bool cmpMomByPt (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByAscPt (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByP (const FourMomentum &a, const FourMomentum &b)
bool cmpMomByAscP (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)
4-vector string representations
std::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.
String representations of vectors
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.
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.
deltaR, deltaEta, deltaPhi functions specifically for Particle arguments
double deltaR (const Particle &p1, const Particle &p2, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const Particle &p, const FourMomentum &v, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const Particle &p, const FourVector &v, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const Particle &p, const Vector3 &v)
double deltaR (const Particle &p, double eta, double phi)
double deltaR (const FourMomentum &v, const Particle &p, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const FourVector &v, const Particle &p, RapScheme scheme=PSEUDORAPIDITY)
double deltaR (const Vector3 &v, const Particle &p)
double deltaR (double eta, double phi, const Particle &p)
double deltaPhi (const Particle &p1, const Particle &p2)
double deltaPhi (const Particle &p, const FourMomentum &v)
double deltaPhi (const Particle &p, const FourVector &v)
double deltaPhi (const Particle &p, const Vector3 &v)
double deltaPhi (const Particle &p, double phi)
double deltaPhi (const FourMomentum &v, const Particle &p)
double deltaPhi (const FourVector &v, const Particle &p)
double deltaPhi (const Vector3 &v, const Particle &p)
double deltaPhi (double phi, const Particle &p)
double deltaEta (const Particle &p1, const Particle &p2)
double deltaEta (const Particle &p, const FourMomentum &v)
double deltaEta (const Particle &p, const FourVector &v)
double deltaEta (const Particle &p, const Vector3 &v)
double deltaEta (const Particle &p, double eta)
double deltaEta (const FourMomentum &v, const Particle &p)
double deltaEta (const FourVector &v, const Particle &p)
double deltaEta (const Vector3 &v, const Particle &p)
double deltaEta (double eta, const Particle &p)
Stand-alone functions
ParticlePair beams (const Event &e)
 Function to get beam particles from an event.
PdgIdPair beamIds (const Event &e)
 Function to get beam particle IDs from an event.
PdgIdPair 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.
Installation directory paths
std::string getLibPath ()
 Get library install path.
std::string getDataPath ()
 Get data install path.
std::string getRivetDataPath ()
 Get Rivet data install path.
Analysis library search paths
std::vector< std::string > getAnalysisLibPaths ()
 Get Rivet analysis plugin library search paths.
void setAnalysisLibPaths (const std::vector< std::string > &paths)
 Set the Rivet analysis plugin library search paths.
void addAnalysisLibPath (const std::string &extrapath)
 Set the Rivet analysis plugin library search paths.
std::string findAnalysisLibFile (const std::string &filename)
 Find the first file of the given name in the analysis library search dirs.
Analysis data/metadata paths and search functions
std::vector< std::string > getAnalysisRefPaths ()
 Get Rivet analysis reference data search paths.
std::string findAnalysisRefFile (const std::string &filename, const std::vector< std::string > &pathprepend=std::vector< std::string >(), const std::vector< std::string > &pathappend=std::vector< std::string >())
 Find the first file of the given name in the ref data file search dirs.
std::vector< std::string > getAnalysisInfoPaths ()
 Get Rivet analysis info metadata search paths.
std::string findAnalysisInfoFile (const std::string &filename, const std::vector< std::string > &pathprepend=std::vector< std::string >(), const std::vector< std::string > &pathappend=std::vector< std::string >())
 Find the first file of the given name in the analysis info file search dirs.
std::vector< std::string > getAnalysisPlotPaths ()
 Get Rivet analysis plot style search paths.
std::string findAnalysisPlotFile (const std::string &filename, const std::vector< std::string > &pathprepend=std::vector< std::string >(), const std::vector< std::string > &pathappend=std::vector< std::string >())
 Find the first file of the given name in the analysis plot file search dirs.
String utils
template<typename T >
std::string to_str (const T &x)
 Convert any object to a string.
template<typename T >
std::string toString (const T &x)
 Convert any object to a string.
int nocase_cmp (const std::string &s1, const std::string &s2)
bool nocase_equals (const std::string &s1, const std::string &s2)
 Case-insensitive string equality function.
std::string toLower (const std::string &s)
std::string toUpper (const std::string &s)
bool startsWith (const std::string &s, const std::string &start)
 Check whether a string start is found at the start of s.
bool endsWith (const std::string &s, const std::string &end)
 Check whether a string end is found at the end of s.
template<typename T >
std::string join (const vector< T > &v, const std::string &sep=" ")
 Make a string containing the string representations of each item in v, separated by sep.
template<typename T >
std::string join (const set< T > &s, const std::string &sep=" ")
 Make a string containing the string representations of each item in s, separated by sep.
Path utils
vector< std::string > pathsplit (const std::string &path)
 Split a path string with colon delimiters.
std::string pathjoin (const vector< std::string > &paths)
 Join several filesystem paths together with the standard ':' delimiter.

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.

Ranges and intervals

enum  RangeBoundary { OPEN = 0, SOFT = 0, CLOSED = 1, HARD = 1 }
template<typename N1 , typename N2 , typename N3 >
boost::enable_if_c
< boost::is_arithmetic< N1 >
::value &&boost::is_arithmetic
< N2 >::value
&&boost::is_arithmetic< N3 >
::value, bool >::type 
inRange (N1 value, N2 low, N3 high, RangeBoundary lowbound=CLOSED, RangeBoundary highbound=OPEN)
 Determine if value is in the range low to high, for floating point numbers.
template<typename N1 , typename N2 , typename N3 >
boost::enable_if_c
< boost::is_arithmetic< N1 >
::value &&boost::is_arithmetic
< N2 >::value
&&boost::is_arithmetic< N3 >
::value, bool >::type 
inRange (N1 value, pair< N2, N3 > lowhigh, RangeBoundary lowbound=CLOSED, RangeBoundary highbound=OPEN)
 Alternative version of inRange which accepts a pair for the range arguments.

Detailed Description

Todo:
Is there a reason that this stuff can't go into Projection.hh?
Author:
Andy Buckley
Date:
2009-01-30
Author:
David Grellscheid
Date:
2011-07-18
Author:
Peter Wijeratne <paw@hep.ucl.ac.uk>
Robindra Prabhu <prabhu@cern.ch>
Todo:
Include more projections as required, e.g. ChargedFinalState, FastJets, ZFinder...
Todo:
Include more projections as required, e.g. ChargedFinalState, FastJets, ZFinder...

Typedef Documentation

typedef shared_ptr<Analysis> AnaHandle

Definition at line 14 of file AnalysisHandler.hh.

typedef shared_ptr<YODA::AnalysisObject> AnalysisObjectPtr

Definition at line 24 of file RivetYODA.hh.

Definition at line 13 of file Projection.fhh.

typedef boost::shared_ptr< CutBase > Cut

Main cut object.

Definition at line 12 of file Cuts.hh.

typedef Error Exception

Rivet::Exception is a synonym for Rivet::Error.

Definition at line 19 of file Exceptions.hh.

typedef YODA::Histo1D Histo1D

Definition at line 30 of file RivetYODA.hh.

typedef shared_ptr<YODA::Histo1D> Histo1DPtr

Definition at line 25 of file RivetYODA.hh.

typedef vector<Jet> Jets

Typedef for a collection of Jet objects.

Definition at line 111 of file Jet.hh.

typedef Matrix<4> Matrix4

Definition at line 14 of file MatrixN.hh.

typedef std::pair<Particle, Particle> ParticlePair

Typedef for a pair of Particle objects.

Definition at line 21 of file Particle.fhh.

typedef std::vector<Particle> Particles

Typedefs for a vector of Particle objects.

Definition at line 14 of file Particle.fhh.

typedef std::vector<Particle> ParticleVector

Definition at line 18 of file Particle.fhh.

typedef Cmp<Projection> PCmp

Typedef for Cmp<Projection>

Definition at line 291 of file Cmp.hh.

typedef int PdgId

Typedef for a PDG ID code.

Definition at line 30 of file Particle.fhh.

typedef std::pair<PdgId, PdgId> PdgIdPair

Typedef for a pair of particle names.

Definition at line 33 of file Particle.fhh.

typedef YODA::Point2D Point2D

Definition at line 33 of file RivetYODA.hh.

typedef YODA::Profile1D Profile1D

Definition at line 31 of file RivetYODA.hh.

typedef shared_ptr<YODA::Profile1D> Profile1DPtr

Definition at line 26 of file RivetYODA.hh.

Definition at line 11 of file Projection.fhh.

typedef shared_ptr<const Projection> ProjHandle

Typedef for Projection (smart) pointer.

Definition at line 14 of file ProjectionHandler.hh.

typedef vector<fastjet::PseudoJet> PseudoJets

Typedef for a collection of PseudoJets.

Definition at line 42 of file FastJets.hh.

typedef YODA::Scatter2D Scatter2D

Definition at line 32 of file RivetYODA.hh.

typedef shared_ptr<YODA::Scatter2D> Scatter2DPtr

Definition at line 27 of file RivetYODA.hh.

Definition at line 11 of file Vector3.hh.

Definition at line 14 of file Vector4.hh.


Enumeration Type Documentation

enum CmpState

Enumerate the possible states of a Cmp object.

Enumerator:
UNDEFINED 
ASC 
ORDERED 
EQUIVALENT 
DESC 
UNORDERED 
ANTIORDERED 

Definition at line 14 of file Cmp.fhh.

                {
    UNDEFINED = -2,  //< Undefined state.
    ASC = -1,    //< The two corresponding objects are in ascending order.
    ORDERED = -1,    //< The two corresponding objects are ordered.
    EQUIVALENT = 0,  //< The two corresponding objects are equivalent.
    DESC = 1,    //< The two corresponding objects are in descending order.
    UNORDERED = 1,    //< The two corresponding objects are anti-ordered.
    ANTIORDERED = 1    //< The two corresponding objects are anti-ordered.
  };
enum PhiMapping

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

Enumerator:
MINUSPI_PLUSPI 
ZERO_2PI 
ZERO_PI 

Definition at line 63 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 95 of file MathUtils.hh.

{ OPEN=0, SOFT=0, CLOSED=1, HARD=1 };
enum RapScheme

Enum for rapidity variable to be used in calculating $ R $, applying rapidity cuts, etc.

Enumerator:
PSEUDORAPIDITY 
ETARAP 
RAPIDITY 
YRAP 

Definition at line 60 of file MathHeader.hh.

{ PSEUDORAPIDITY = 0, ETARAP = 0, RAPIDITY = 1, YRAP = 1 };
enum Sign

Enum for signs of numbers.

Enumerator:
MINUS 
ZERO 
PLUS 

Definition at line 57 of file MathHeader.hh.

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

Function Documentation

void Rivet::_calcS ( const vector< Vector3 > &  perpmomenta,
double &  sphero,
Vector3 &  saxis 
)

Definition at line 44 of file Spherocity.cc.

References cross(), mod(), s, Vector< N >::size(), Vector3::unit(), Vector3::x(), and Vector3::y().

Referenced by Spherocity::_calcSpherocity().

                                                                                   {
    // According to the Salam paper, p5, footnote 4, the
    // axis n that minimises the Spherocity value ALWAYS coincides with the
    // direction of one of the transverse momentum vectors of the events particles.
    // Thus we carry out the calculation of Sphero for all particles and pick the
    // one that yields the smallerst values

    vector<Vector3> p = perpmomenta;
    vector<double> sval;

    // Prepare vector to store unit vector representation of all particle momenta
    vector<Vector3> units;
    foreach (const Vector3& p, perpmomenta) {
      units.push_back(Vector3(p.x(), p.y(), 0.0).unit());
    }

    // Spherocity calculation
    //
    // Pick the solution with the smallest spherocity
    sphero = 99999.;
    // The outer loop is for iteration over all unit vectors
    foreach (const Vector3& u, units){
      double s =0.0;
      for (unsigned int k=0 ; k<p.size() ; k++) {
        s += fabs( p[k].cross(u).mod() );
      }
      if (s < sphero) {
        sphero = s;
        saxis = u;
      }
    }
  }
void Rivet::_calcT ( const vector< Vector3 > &  momenta,
double &  t,
Vector3 &  taxis 
)

Definition at line 47 of file Thrust.cc.

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

Referenced by Thrust::_calcThrust().

                                                                         {
    // This function implements the iterative algorithm as described in the
    // Pythia manual. We take eight (four) different starting vectors
    // constructed from the four (three) leading particles to make sure that
    // we don't find a local maximum.
    vector<Vector3> p = momenta;
    assert(p.size() >= 3);
    unsigned int n = 3;
    if (p.size() == 3) n = 3;
    vector<Vector3> tvec;
    vector<double> tval;
    std::sort(p.begin(), p.end(), mod2Cmp);
    for (int i = 0 ; i < intpow(2, n-1); ++i) {
      // Create an initial vector from the leading four jets
      Vector3 foo(0,0,0);
      int sign = i;
      for (unsigned int k = 0 ; k < n ; ++k) {
        (sign % 2) == 1 ? foo += p[k] : foo -= p[k];
        sign /= 2;
      }
      foo=foo.unit();

      // Iterate
      double diff=999.;
      while (diff>1e-5) {
        Vector3 foobar(0,0,0);
        for (unsigned int k=0 ; k<p.size() ; k++)
          foo.dot(p[k])>0 ? foobar+=p[k] : foobar-=p[k];
        diff=(foo-foobar.unit()).mod();
        foo=foobar.unit();
      }

      // Calculate the thrust value for the vector we found
      t=0.;
      for (unsigned int k=0 ; k<p.size() ; k++)
        t+=fabs(foo.dot(p[k]));

      // Store everything
      tval.push_back(t);
      tvec.push_back(foo);
    }

    // Pick the solution with the largest thrust
    t=0.;
    for (unsigned int i=0 ; i<tvec.size() ; i++)
      if (tval[i]>t){
        t=tval[i];
        taxis=tvec[i];
      }
  }
string Rivet::_findFile ( const string &  filename,
const vector< string > &  paths 
) [inline]

Definition at line 10 of file RivetPaths.cc.

References fileexists().

Referenced by findAnalysisInfoFile(), findAnalysisLibFile(), findAnalysisPlotFile(), and findAnalysisRefFile().

                                                                               {
    foreach (const string& dir, paths) {
      const string path = dir + "/" + filename;
      if (fileexists(path)) return path;
    }
    return "";
  }
double Rivet::_mapAngleM2PITo2Pi ( double  angle) [inline]

Reduce any number to the range [-2PI, 2PI].

Achieved by repeated addition or subtraction of 2PI as required. Used to normalise angular measures.

Definition at line 392 of file MathUtils.hh.

References isZero(), and TWOPI.

Referenced by mapAngle0To2Pi(), and mapAngleMPiToPi().

                                                 {
    double rtn = fmod(angle, TWOPI);
    if (isZero(rtn)) return 0;
    assert(rtn >= -TWOPI && rtn <= TWOPI);
    return rtn;
  }
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::setLevel(), and Log::setLevels().

                                                                                {
    /// @todo Check ordering - "Foo" should come before "Foo.Bar"
    for (Log::LevelMap::const_iterator lev = defaultLevels.begin(); lev != defaultLevels.end(); ++lev) {
      for (Log::LogMap::iterator log = existingLogs.begin(); log != existingLogs.end(); ++log) {
        if (log->first.find(lev->first) == 0) {
          log->second->setLevel(lev->second);
        }
      }
    }
  }
double Rivet::abseta ( const FourVector &  v) [inline]

Synonym for absolute pseudorapidity.

Definition at line 329 of file Vector4.hh.

References FourVector::abseta().

                                            {
    return v.abseta();
  }
double Rivet::abspseudorapidity ( const FourVector &  v) [inline]

Calculate absolute pseudorapidity of a Lorentz vector.

Definition at line 325 of file Vector4.hh.

References FourVector::abspseudorapidity().

                                                       {
    return v.abspseudorapidity();
  }
double Rivet::absrap ( const FourMomentum &  v) [inline]

Calculate the absolute rapidity of a momentum 4-vector.

Definition at line 605 of file Vector4.hh.

References FourMomentum::absrap().

Referenced by ALICE_2011_S8909580::analyze().

                                              {
    return v.absrap();
  }
double Rivet::absrapidity ( const FourMomentum &  v) [inline]

Calculate the absolute rapidity of a momentum 4-vector.

Definition at line 600 of file Vector4.hh.

References FourMomentum::absrapidity().

                                                   {
    return v.absrapidity();
  }
Vector3 add ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 221 of file Vector3.hh.

References Vector< N >::_vec.

                                                         {
    Vector3 result;
    result._vec = a._vec + b._vec;
    return result;
  }
FourVector Rivet::add ( const FourVector &  a,
const FourVector &  b 
) [inline]

Definition at line 234 of file Vector4.hh.

References Vector< N >::_vec.

                                                                  {
    FourVector result;
    result._vec = a._vec + b._vec;
    return result;
  }
Matrix<N> Rivet::add ( const Matrix< N > &  a,
const Matrix< N > &  b 
) [inline]

Definition at line 262 of file MatrixN.hh.

References Matrix< N >::_matrix.

Referenced by operator+(), operator-(), and subtract().

                                                               {
    Matrix<N> result;
    result._matrix = a._matrix + b._matrix;
    return result;
  }
FourMomentum Rivet::add ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 563 of file Vector4.hh.

References Vector< N >::_vec.

                                                                        {
    FourMomentum result;
    result._vec = a._vec + b._vec;
    return result;
  }
boost::enable_if_c<boost::is_arithmetic<NUM>::value, NUM>::type Rivet::add_quad ( NUM  a,
NUM  b 
) [inline]

Named number-type addition in quadrature operation.

Note:
Result has the sqrt operation applied.
Todo:
When std::common_type can be used, generalise to multiple numeric types with appropriate return type.

Definition at line 147 of file MathUtils.hh.

Referenced by D0_2008_S7719523::finalize(), and ATLAS_2011_I944826::getPerpFlightDistance().

                         {
    return sqrt(a*a + b*b);
  }
boost::enable_if_c<boost::is_arithmetic<NUM>::value, NUM>::type Rivet::add_quad ( NUM  a,
NUM  b,
NUM  c 
) [inline]

Named number-type addition in quadrature operation.

Note:
Result has the sqrt operation applied.
Todo:
When std::common_type can be used, generalise to multiple numeric types with appropriate return type.

Definition at line 159 of file MathUtils.hh.

                                {
    return sqrt(a*a + b*b + c*c);
  }
void addAnalysisLibPath ( const std::string &  extrapath)

Set the Rivet analysis plugin library search paths.

Definition at line 48 of file RivetPaths.cc.

References getAnalysisLibPaths(), and setAnalysisLibPaths().

                                                   {
    vector<string> paths = getAnalysisLibPaths();
    paths.push_back(extrapath);
    setAnalysisLibPaths(paths);
  }
double Rivet::angle ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Angle (in radians) between two 3-vectors.

Definition at line 244 of file Vector3.hh.

References Vector3::angle().

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

                                                          {
    return a.angle(b);
  }
double Rivet::angle ( const FourVector &  a,
const FourVector &  b 
) [inline]

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

Definition at line 255 of file Vector4.hh.

References FourVector::angle().

                                                                {
    return a.angle(b);
  }
double Rivet::angle ( const Vector3 &  a,
const FourVector &  b 
) [inline]

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

Definition at line 260 of file Vector4.hh.

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

                                                             {
    return angle( a, b.vector3() );
  }
double Rivet::angle ( const FourVector &  a,
const Vector3 &  b 
) [inline]

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

Definition at line 265 of file Vector4.hh.

References FourVector::angle().

                                                             {
    return a.angle(b);
  }
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 277 of file Vector3.hh.

References Vector3::azimuthalAngle().

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

                                                                                      {
    return v.azimuthalAngle(mapping);
  }
double Rivet::azimuthalAngle ( const FourVector &  v,
const PhiMapping  mapping = ZERO_2PI 
) [inline]

Calculate azimuthal angle of a Lorentz vector.

Definition at line 296 of file Vector4.hh.

References FourVector::azimuthalAngle().

                                                                                         {
    return v.azimuthalAngle(mapping);
  }
PdgIdPair 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().

                                    {
    Beam beamproj;
    beamproj.project(e);
    return beamproj.beamIds();
  }
PdgIdPair beamIds ( const ParticlePair &  beams)

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

Definition at line 21 of file Beam.cc.

                                               {
    return make_pair(beams.first.pdgId(), beams.second.pdgId());
  }
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().

                                     {
    Beam beamproj;
    beamproj.project(e);
    return beamproj.beams();
  }
Vector3 Rivet::boostVector ( const FourMomentum &  v) [inline]

Calculate the velocity boost vector of a momentum 4-vector.

Definition at line 629 of file Vector4.hh.

References FourMomentum::boostVector().

                                                    {
    return v.boostVector();
  }
vector<double> Rivet::BWspace ( size_t  nbins,
double  start,
double  end,
double  mu,
double  gamma 
) [inline]

Make a list of nbins + 1 values spaced for equal area Breit-Wigner binning between start and end inclusive. mu and gamma are the Breit-Wigner parameters.

NB. The arg ordering and the meaning of the nbins variable is "histogram-like", as opposed to the Numpy/Matlab version, and the start and end arguments are expressed in "normal" space.

Definition at line 261 of file MathUtils.hh.

References Rivet::BWHelpers::antiCDF(), Rivet::BWHelpers::CDF(), and linspace().

                                                                                                 {
    assert(end >= start);
    assert(nbins > 0);
    const double pmin = BWHelpers::CDF(start,mu,gamma);
    const double pmax = BWHelpers::CDF(end,  mu,gamma);
    const vector<double> edges = linspace(nbins, pmin, pmax);
    assert(edges.size() == nbins+1);
    vector<double> rtn;
    foreach (double edge, edges) {
      rtn.push_back(BWHelpers::antiCDF(edge,mu,gamma));
    }
    assert(rtn.size() == nbins+1);
    return rtn;
  }
bool Rivet::cmpMomByAscAbsPseudorapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1026 of file Vector4.hh.

References FourVector::pseudorapidity().

Referenced by FinalState::particlesByModEta().

                                                                                         {
    return fabs(a.pseudorapidity()) < fabs(b.pseudorapidity());
  }
bool Rivet::cmpMomByAscAbsRapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1038 of file Vector4.hh.

References FourMomentum::rapidity().

Referenced by FinalState::particlesByModRapidity().

                                                                                   {
    return fabs(a.rapidity()) < fabs(b.rapidity());
  }
bool Rivet::cmpMomByAscE ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1014 of file Vector4.hh.

References FourMomentum::E().

                                                                         {
    return a.E() < b.E();
  }
bool Rivet::cmpMomByAscEt ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1008 of file Vector4.hh.

References FourMomentum::Et().

                                                                          {
    return a.Et() < b.Et();
  }
bool Rivet::cmpMomByAscP ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1002 of file Vector4.hh.

References Vector< N >::mod(), and FourVector::vector3().

                                                                         {
    return a.vector3().mod() < b.vector3().mod();
  }
bool Rivet::cmpMomByAscPseudorapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1020 of file Vector4.hh.

References FourVector::pseudorapidity().

Referenced by FinalState::particlesByEta().

                                                                                      {
    return a.pseudorapidity() < b.pseudorapidity();
  }
bool Rivet::cmpMomByAscPt ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 996 of file Vector4.hh.

References FourMomentum::pt().

                                                                          {
    return a.pt() < b.pt();
  }
bool Rivet::cmpMomByAscRapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1032 of file Vector4.hh.

References FourMomentum::rapidity().

Referenced by FinalState::particlesByRapidity().

                                                                                {
    return a.rapidity() < b.rapidity();
  }
bool Rivet::cmpMomByDescAbsPseudorapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1023 of file Vector4.hh.

References FourVector::pseudorapidity().

                                                                                          {
    return fabs(a.pseudorapidity()) > fabs(b.pseudorapidity());
  }
bool Rivet::cmpMomByDescAbsRapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1035 of file Vector4.hh.

References FourMomentum::rapidity().

                                                                                    {
    return fabs(a.rapidity()) > fabs(b.rapidity());
  }
bool Rivet::cmpMomByDescPseudorapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1017 of file Vector4.hh.

References FourVector::pseudorapidity().

                                                                                       {
    return a.pseudorapidity() > b.pseudorapidity();
  }
bool Rivet::cmpMomByDescRapidity ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1029 of file Vector4.hh.

References FourMomentum::rapidity().

                                                                                 {
    return a.rapidity() > b.rapidity();
  }
bool Rivet::cmpMomByE ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1011 of file Vector4.hh.

References FourMomentum::E().

Referenced by JetAlg::jetsByE(), and FinalState::particlesByE().

                                                                      {
    return a.E() > b.E();
  }
bool Rivet::cmpMomByEt ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 1005 of file Vector4.hh.

References FourMomentum::Et().

Referenced by JetAlg::jetsByEt(), and FinalState::particlesByEt().

                                                                       {
    return a.Et() > b.Et();
  }
bool Rivet::cmpMomByP ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 999 of file Vector4.hh.

References Vector< N >::mod(), and FourVector::vector3().

Referenced by JetAlg::jetsByP(), and FinalState::particlesByP().

                                                                      {
    return a.vector3().mod() > b.vector3().mod();
  }
LorentzTransform Rivet::combine ( const LorentzTransform &  a,
const LorentzTransform &  b 
) [inline]

Definition at line 153 of file LorentzTrans.hh.

References LorentzTransform::combine().

Referenced by EXAMPLE_CUTS::analyze().

                                                                                        {
    return a.combine(b);
  }
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 Rivet::PID::ANY.

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

                                                 {
    return (allowed == PID::ANY || p == allowed);
  }
bool Rivet::compatible ( const PdgIdPair &  pair,
const PdgIdPair &  allowedpair 
) [inline]

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

Definition at line 23 of file BeamConstraint.hh.

References compatible().

                                                                              {
    bool oneToOne = compatible(pair.first, allowedpair.first);
    bool twoToTwo = compatible(pair.second, allowedpair.second);
    bool oneToTwo = compatible(pair.first, allowedpair.second);
    bool twoToOne = compatible(pair.second, allowedpair.first);
    return (oneToOne && twoToTwo) || (oneToTwo && twoToOne);
  }
bool Rivet::compatible ( const ParticlePair &  ppair,
const PdgIdPair &  allowedpair 
) [inline]

Check particle compatibility of Particle pairs.

Definition at line 33 of file BeamConstraint.hh.

References compatible(), and Rivet::PID::make_pdgid_pair().

                                                       {
    return compatible(PID::make_pdgid_pair(ppair.first.pdgId(),
                                           ppair.second.pdgId()), allowedpair);
  }
bool Rivet::compatible ( const PdgIdPair &  allowedpair,
const ParticlePair &  ppair 
) [inline]

Check particle compatibility of Particle pairs (for symmetric completeness)

Definition at line 39 of file BeamConstraint.hh.

References compatible().

                                                    {
    return compatible(ppair, allowedpair);
  }
bool Rivet::compatible ( const PdgIdPair &  pair,
const set< PdgIdPair > &  allowedpairs 
) [inline]

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

Definition at line 47 of file BeamConstraint.hh.

References compatible().

                                                                                    {
    for (set<PdgIdPair>::const_iterator bp = allowedpairs.begin(); bp != allowedpairs.end(); ++bp) {
      if (compatible(pair, *bp)) return true;
    }
    return false;
  }
double Rivet::contract ( const FourVector &  a,
const FourVector &  b 
) [inline]

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

Definition at line 203 of file Vector4.hh.

References FourVector::contract().

Referenced by dot().

                                                                   {
    return a.contract(b);
  }
double Rivet::correlation ( const vector< int > &  sample1,
const vector< int > &  sample2 
) [inline]

Calculate the correlation strength between two samples.

Definition at line 351 of file MathUtils.hh.

References covariance().

Referenced by correlation_err(), and correlation_helper().

                                                                                    {
    const double cov = covariance(sample1, sample2);
    const double var1 = covariance(sample1, sample1);
    const double var2 = covariance(sample2, sample2);
    const double correlation = cov/sqrt(var1*var2);
    const double corr_strength = correlation*sqrt(var2/var1);
    return corr_strength;
  }
double Rivet::correlation_err ( const vector< int > &  sample1,
const vector< int > &  sample2 
) [inline]

Calculate the error of the correlation strength between two samples assuming Poissonian errors.

Definition at line 361 of file MathUtils.hh.

References correlation(), covariance(), and covariance_err().

Referenced by correlation_helper().

                                                                                        {
    const double cov = covariance(sample1, sample2);
    const double var1 = covariance(sample1, sample1);
    const double var2 = covariance(sample2, sample2);
    const double cov_e = covariance_err(sample1, sample2);
    const double var1_e = covariance_err(sample1, sample1);
    const double var2_e = covariance_err(sample2, sample2);

    // Calculate the correlation
    const double correlation = cov/sqrt(var1*var2);
    // Calculate the error on the correlation
    const double correlation_err = cov_e/sqrt(var1*var2) -
      cov/(2*pow(3./2., var1*var2)) * (var1_e * var2 + var1 * var2_e);


    // Calculate the error on the correlation strength
    const double corr_strength_err = correlation_err*sqrt(var2/var1) +
      correlation/(2*sqrt(var2/var1)) * (var2_e/var1 - var2*var1_e/pow(2, var2));

    return corr_strength_err;
  }
Point2D Rivet::correlation_helper ( double  x,
double  xerr,
const vector< int > &  nf,
const vector< int > &  nb,
double  sumWPassed 
)

helper function to fill correlation points into scatter plot

Definition at line 11 of file UA5_1988_S1867512.cc.

References correlation(), and correlation_err().

Referenced by UA5_1988_S1867512::finalize().

  {
    return Point2D( x,  correlation(nf, nb),
            xerr,   correlation_err(nf, nb)/sqrt(sumWPassed)  );
  }
double Rivet::covariance ( const vector< int > &  sample1,
const vector< int > &  sample2 
) [inline]

Calculate the covariance (variance) between two samples.

Definition at line 319 of file MathUtils.hh.

References mean().

Referenced by correlation(), and correlation_err().

                                                                                   {
    const double mean1 = mean(sample1);
    const double mean2 = mean(sample2);
    const size_t N = sample1.size();
    double cov = 0.0;
    for (size_t i = 0; i < N; i++) {
      const double cov_i = (sample1[i] - mean1)*(sample2[i] - mean2);
      cov += cov_i;
    }
    if (N > 1) return cov/(N-1);
    else return 0.0;
  }
double Rivet::covariance_err ( const vector< int > &  sample1,
const vector< int > &  sample2 
) [inline]

Calculate the error on the covariance (variance) of two samples, assuming poissonian errors.

Definition at line 333 of file MathUtils.hh.

References mean(), and mean_err().

Referenced by correlation_err().

                                                                                       {
    const double mean1 = mean(sample1);
    const double mean2 = mean(sample2);
    const double mean1_e = mean_err(sample1);
    const double mean2_e = mean_err(sample2);
    const size_t N = sample1.size();
    double cov_e = 0.0;
    for (size_t i = 0; i < N; i++) {
      const double cov_i = (sqrt(sample1[i]) - mean1_e)*(sample2[i] - mean2) +
        (sample1[i] - mean1)*(sqrt(sample2[i]) - mean2_e);
      cov_e += cov_i;
    }
    if (N > 1) return cov_e/(N-1);
    else return 0.0;
  }
Vector3 Rivet::cross ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 195 of file Vector3.hh.

References Vector3::cross().

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

                                                           {
    return a.cross(b);
  }
Rivet::DECLARE_RIVET_PLUGIN ( MC_KTSPLITTINGS  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S9086218  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_HKTSPLITTINGS  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_WKTSPLITTINGS  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_ZKTSPLITTINGS  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S8950903  )
Rivet::DECLARE_RIVET_PLUGIN ( TOTEM_2012_002  )
Rivet::DECLARE_RIVET_PLUGIN ( ALEPH_1991_S2435284  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S9088458  )
Rivet::DECLARE_RIVET_PLUGIN ( TOTEM_2012_I1115294  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2006_S6450792  )
Rivet::DECLARE_RIVET_PLUGIN ( LHCF_2012_I1115479  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_QCD_PARTONS  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S8968497  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2010_S8671338  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2008_S7828950  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_ZZKTSPLITTINGS  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2000_S4155203  )
Rivet::DECLARE_RIVET_PLUGIN ( UA5_1987_S1640666  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2009_NOTE_9936  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_I954992  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2010_S8591806  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2008_S8093652  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2012_I1184941  )
Rivet::DECLARE_RIVET_PLUGIN ( ZEUS_2001_S4815815  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2007_S7075677  )
Rivet::DECLARE_RIVET_PLUGIN ( E735_1998_S3905616  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S8941262  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2012_I1087342  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2000_S4480767  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_WWKTSPLITTINGS  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1118269  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2001_S4563131  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2008_S7554427  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_1998_S3618439  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_I894867  )
Rivet::DECLARE_RIVET_PLUGIN ( EXAMPLE_CUTS  )
Rivet::DECLARE_RIVET_PLUGIN ( STAR_2008_S7993412  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_1995_S3198391  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_QCD_10_024  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_1997_S3608263  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_1988_S1865951  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_1990_S2089246  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2007_S7057202  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_2000_S4418603  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2000_S4266730  )
Rivet::DECLARE_RIVET_PLUGIN ( STAR_2006_S6870392  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2009_S8057893  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2009_S8383952  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2012_I1193338  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_1994_S2927284  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2010_S8656010  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2010_S8566488  )
Rivet::DECLARE_RIVET_PLUGIN ( BABAR_2007_S6895344  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2009_S8436959  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2012_I1102908  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2012_PAS_QCD_11_010  )
Rivet::DECLARE_RIVET_PLUGIN ( LHCB_2010_I867355  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2001_S4517016  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_PHOTONKTSPLITTINGS  )
Rivet::DECLARE_RIVET_PLUGIN ( ALEPH_2002_S4823664  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S8971293  )
Rivet::DECLARE_RIVET_PLUGIN ( UA5_1982_S875503  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2009_S8320160  )
Rivet::DECLARE_RIVET_PLUGIN ( LHCB_2011_I919315  )
Rivet::DECLARE_RIVET_PLUGIN ( ALICE_2010_S8624100  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2012_NOTE10874  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2011_I895662  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_1996_S3418421  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_1996_S3257789  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2010_S8547297  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9002537  )
Rivet::DECLARE_RIVET_PLUGIN ( DELPHI_1999_S3960137  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_1998_S3702294  )
Rivet::DECLARE_RIVET_PLUGIN ( ALICE_2010_S8625980  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_1993_S2742446  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S8957746  )
Rivet::DECLARE_RIVET_PLUGIN ( ALICE_2010_S8706239  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1119557  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2006_S6438750  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_IDENTIFIED  )
Rivet::DECLARE_RIVET_PLUGIN ( ALICE_2011_S8909580  )
Rivet::DECLARE_RIVET_PLUGIN ( ALICE_2011_S8945144  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2005_S6080774  )
Rivet::DECLARE_RIVET_PLUGIN ( DELPHI_1995_S3137023  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_PHOTONINC  )
Rivet::DECLARE_RIVET_PLUGIN ( SLD_2002_S4869273  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2010_S8821313  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_DIPHOTON  )
Rivet::DECLARE_RIVET_PLUGIN ( STAR_2006_S6500200  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2008_S7837160  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9131140  )
Rivet::DECLARE_RIVET_PLUGIN ( BELLE_2001_S4598261  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S9215166  )
Rivet::DECLARE_RIVET_PLUGIN ( UA5_1989_S1926373  )
Rivet::DECLARE_RIVET_PLUGIN ( ALICE_2012_I1181770  )
Rivet::DECLARE_RIVET_PLUGIN ( H1_1995_S3167097  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_I954993  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_1996_S3324664  )
Rivet::DECLARE_RIVET_PLUGIN ( UA5_1986_S1583476  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_PHOTONJETS  )
Rivet::DECLARE_RIVET_PLUGIN ( ALEPH_1999_S4193598  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_ZZJETS  )
Rivet::DECLARE_RIVET_PLUGIN ( SFM_1984_S1178091  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2010_S8817804  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_I925932  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2009_S8233977  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S8884919  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2008_S7662670  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2008_S6879055  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2010_CONF_2010_049  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_WWJETS  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S8924791  )
Rivet::DECLARE_RIVET_PLUGIN ( ALEPH_2001_S4656318  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_1996_S3108457  )
Rivet::DECLARE_RIVET_PLUGIN ( DELPHI_2002_069_CONF_603  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1082936  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2008_S7863608  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2005_S6217184  )
Rivet::DECLARE_RIVET_PLUGIN ( JADE_1998_S3612880  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S8978280  )
Rivet::DECLARE_RIVET_PLUGIN ( LHCB_2013_I1218996  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2009_S8202443  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S8994773  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9035664  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2008_S7782535  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2004_S5992206  )
Rivet::DECLARE_RIVET_PLUGIN ( DELPHI_2000_S4328825  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_2002_S5361494  )
Rivet::DECLARE_RIVET_PLUGIN ( SLD_1996_S3398250  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_I930220  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I946427  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2013_I1224539_DIJET  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2010_S8570965  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1204784  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_PHOTONS  )
Rivet::DECLARE_RIVET_PLUGIN ( BABAR_2005_S6181155  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S9120041  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1082009  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_1998_S3749908  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2012_I941555  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_2001_S4553896  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2013_I1217867  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2010_S8919674  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2013_I1209721  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1091481  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_1993_S2692198  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_1997_S3396100  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2013_I1218372  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2011_S8973270  )
Rivet::DECLARE_RIVET_PLUGIN ( ALEPH_1996_S3196992  )
Rivet::DECLARE_RIVET_PLUGIN ( CLEO_2004_S5809304  )
Rivet::DECLARE_RIVET_PLUGIN ( TASSO_1990_S2148048  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1188891  )
Rivet::DECLARE_RIVET_PLUGIN ( STAR_2008_S7869363  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_LEADJETUE  )
Rivet::DECLARE_RIVET_PLUGIN ( STAR_2009_UE_HELEN  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2009_S8349509  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2012_I1107658  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2013_I1258128  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_GENERIC  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_I926145  )
Rivet::DECLARE_RIVET_PLUGIN ( UA1_1990_S2044935  )
Rivet::DECLARE_RIVET_PLUGIN ( ARGUS_1993_S2653028  )
Rivet::DECLARE_RIVET_PLUGIN ( BABAR_2007_S7266081  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2006_S6653332  )
Rivet::DECLARE_RIVET_PLUGIN ( JADE_OPAL_2000_S4300807  )
Rivet::DECLARE_RIVET_PLUGIN ( BABAR_2003_I593379  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2008_S8095620  )
Rivet::DECLARE_RIVET_PLUGIN ( ARGUS_1993_S2669951  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2001_S4674421  )
Rivet::DECLARE_RIVET_PLUGIN ( STAR_2006_S6860818  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2008_S7540469  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2008_S7541902  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2010_S8591881_QCD  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2013_I1224539_WJET  )
Rivet::DECLARE_RIVET_PLUGIN ( CMS_2013_I1224539_ZJET  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_1998_S3780481  )
Rivet::DECLARE_RIVET_PLUGIN ( UA5_1988_S1867512  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2010_S8914702  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_2008_S7719523  )
Rivet::DECLARE_RIVET_PLUGIN ( DELPHI_2003_WUD_03_11  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9108483  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_1994_S2952106  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2010_S8591881_DY  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2010_S8918562  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9128077  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9120807  )
Rivet::DECLARE_RIVET_PLUGIN ( LHCB_2013_I1208105  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_CONF_2012_105  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_CONF_2012_104  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1084540  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1125575  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1183818  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1186556  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_PHOTONJETUE  )
Rivet::DECLARE_RIVET_PLUGIN ( H1_1994_S2919893  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_1997_S3541940  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1083318  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_I944826  )
Rivet::DECLARE_RIVET_PLUGIN ( MC_PRINTEVENT  )
Rivet::DECLARE_RIVET_PLUGIN ( H1_2000_S4129130  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_CONF_2012_103  )
Rivet::DECLARE_RIVET_PLUGIN ( OPAL_2004_S6132243  )
Rivet::DECLARE_RIVET_PLUGIN ( D0_1996_S3214044  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2001_S4751469  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2013_I1243871  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1117704  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1093738  )
Rivet::DECLARE_RIVET_PLUGIN ( ARGUS_1993_S2789213  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_I945498  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1190891  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1126136  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9019561  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1093734  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1125961  )
Rivet::DECLARE_RIVET_PLUGIN ( ALEPH_2004_S5765862  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9212183  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S8983313  )
Rivet::DECLARE_RIVET_PLUGIN ( LHCB_2011_I917009  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_CONF_2011_098  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1095236  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9126244  )
Rivet::DECLARE_RIVET_PLUGIN ( LHCB_2010_S8758301  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2010_S8894728  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1094564  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1112263  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2013_I1230812  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2013_I1230812_EL  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2013_I1230812_MU  )
Rivet::DECLARE_RIVET_PLUGIN ( SLD_2004_S5693039  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_CONF_2011_090  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1094568  )
Rivet::DECLARE_RIVET_PLUGIN ( LHCB_2012_I1119400  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_CONF_2012_109  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_2004_S5839831  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_CONF_2012_001  )
Rivet::DECLARE_RIVET_PLUGIN ( BELLE_2006_S6265367  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_CONF_2012_153  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I1180197  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9225137  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2012_I943401  )
Rivet::DECLARE_RIVET_PLUGIN ( CDF_1996_S3349578  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9212353  )
Rivet::DECLARE_RIVET_PLUGIN ( DELPHI_1996_S3430090  )
Rivet::DECLARE_RIVET_PLUGIN ( ALEPH_1996_S3486095  )
Rivet::DECLARE_RIVET_PLUGIN ( SLD_1999_S3743934  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_S9041966  )
Rivet::DECLARE_RIVET_PLUGIN ( PDG_HADRON_MULTIPLICITIES_RATIOS  )
Rivet::DECLARE_RIVET_PLUGIN ( PDG_HADRON_MULTIPLICITIES  )
Rivet::DECLARE_RIVET_PLUGIN ( ATLAS_2011_I919017  )
double Rivet::deltaEta ( const Jet &  j1,
const Jet &  j2 
) [inline]

Definition at line 214 of file Jet.hh.

References Jet::momentum().

Referenced by deltaEta().

                                                       {
    return deltaEta(j1.momentum(), j2.momentum());
  }
double Rivet::deltaEta ( const Jet &  j,
const Particle &  p 
) [inline]

Definition at line 218 of file Jet.hh.

References deltaEta(), Particle::momentum(), and Jet::momentum().

                                                          {
    return deltaEta(j.momentum(), p.momentum());
  }
double Rivet::deltaEta ( const Particle &  p,
const Jet &  j 
) [inline]

Definition at line 222 of file Jet.hh.

References deltaEta(), Particle::momentum(), and Jet::momentum().

                                                          {
    return deltaEta(p.momentum(), j.momentum());
  }
double Rivet::deltaEta ( const Jet &  j,
const FourMomentum &  v 
) [inline]

Definition at line 226 of file Jet.hh.

References deltaEta(), and Jet::momentum().

                                                              {
    return deltaEta(j.momentum(), v);
  }
double Rivet::deltaEta ( const Jet &  j,
const FourVector &  v 
) [inline]

Definition at line 230 of file Jet.hh.

References deltaEta(), and Jet::momentum().

                                                            {
    return deltaEta(j.momentum(), v);
  }
double Rivet::deltaEta ( const Jet &  j,
const Vector3 &  v 
) [inline]

Definition at line 234 of file Jet.hh.

References deltaEta(), and Jet::momentum().

                                                         {
    return deltaEta(j.momentum(), v);
  }
double Rivet::deltaEta ( const Jet &  j,
double  eta 
) [inline]

Definition at line 238 of file Jet.hh.

References deltaEta(), eta(), and Jet::momentum().

                                                   {
    return deltaEta(j.momentum(), eta);
  }
double Rivet::deltaEta ( const FourMomentum &  v,
const Jet &  j 
) [inline]

Definition at line 242 of file Jet.hh.

References deltaEta(), and Jet::momentum().

                                                              {
    return deltaEta(v, j.momentum());
  }
double Rivet::deltaEta ( const FourVector &  v,
const Jet &  j 
) [inline]

Definition at line 246 of file Jet.hh.

References deltaEta(), and Jet::momentum().

                                                            {
    return deltaEta(v, j.momentum());
  }
double Rivet::deltaEta ( const Vector3 &  v,
const Jet &  j 
) [inline]

Definition at line 250 of file Jet.hh.

References deltaEta(), and Jet::momentum().

                                                         {
    return deltaEta(v, j.momentum());
  }
double Rivet::deltaEta ( double  eta,
const Jet &  j 
) [inline]

Definition at line 254 of file Jet.hh.

References deltaEta(), and Jet::momentum().

                                                   {
    return deltaEta(eta, j.momentum());
  }
double Rivet::deltaEta ( const Particle &  p1,
const Particle &  p2 
) [inline]

Definition at line 306 of file Particle.hh.

References deltaEta(), and Particle::momentum().

                                                                 {
    return deltaEta(p1.momentum(), p2.momentum());
  }
double Rivet::deltaEta ( const Particle &  p,
const FourMomentum &  v 
) [inline]

Definition at line 310 of file Particle.hh.

References deltaEta(), and Particle::momentum().

                                                                   {
    return deltaEta(p.momentum(), v);
  }
double Rivet::deltaEta ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Calculate the difference in pseudorapidity between two spatial vectors.

Definition at line 310 of file Vector3.hh.

References deltaEta(), and Vector3::pseudorapidity().

                                                             {
    return deltaEta(a.pseudorapidity(), b.pseudorapidity());
  }
double Rivet::deltaEta ( const Particle &  p,
const FourVector &  v 
) [inline]

Definition at line 314 of file Particle.hh.

References deltaEta(), and Particle::momentum().

                                                                 {
    return deltaEta(p.momentum(), v);
  }
double Rivet::deltaEta ( const Vector3 &  v,
double  eta2 
) [inline]

Calculate the difference in pseudorapidity between two spatial vectors.

Definition at line 315 of file Vector3.hh.

References deltaEta(), and Vector3::pseudorapidity().

                                                        {
    return deltaEta(v.pseudorapidity(), eta2);
  }
double Rivet::deltaEta ( const Particle &  p,
const Vector3 &  v 
) [inline]

Definition at line 318 of file Particle.hh.

References deltaEta(), and Particle::momentum().

                                                              {
    return deltaEta(p.momentum(), v);
  }
double Rivet::deltaEta ( double  eta1,
const Vector3 &  v 
) [inline]

Calculate the difference in pseudorapidity between two spatial vectors.

Definition at line 320 of file Vector3.hh.

References deltaEta(), and Vector3::pseudorapidity().

                                                        {
    return deltaEta(eta1, v.pseudorapidity());
  }
double Rivet::deltaEta ( const Particle &  p,
double  eta 
) [inline]

Definition at line 322 of file Particle.hh.

References deltaEta(), eta(), and Particle::momentum().

                                                        {
    return deltaEta(p.momentum(), eta);
  }
double Rivet::deltaEta ( const FourMomentum &  v,
const Particle &  p 
) [inline]

Definition at line 326 of file Particle.hh.

References deltaEta(), and Particle::momentum().

                                                                   {
    return deltaEta(v, p.momentum());
  }
double Rivet::deltaEta ( const FourVector &  v,
const Particle &  p 
) [inline]

Definition at line 330 of file Particle.hh.

References deltaEta(), and Particle::momentum().

                                                                 {
    return deltaEta(v, p.momentum());
  }
double Rivet::deltaEta ( const Vector3 &  v,
const Particle &  p 
) [inline]

Definition at line 334 of file Particle.hh.

References deltaEta(), and Particle::momentum().

                                                              {
    return deltaEta(v, p.momentum());
  }
double Rivet::deltaEta ( double  eta,
const Particle &  p 
) [inline]

Definition at line 338 of file Particle.hh.

References deltaEta(), and Particle::momentum().

                                                        {
    return deltaEta(eta, p.momentum());
  }
double Rivet::deltaEta ( double  eta1,
double  eta2 
) [inline]

Calculate the abs difference between two pseudorapidities

Note:
Just a cosmetic name for analysis code clarity.

Definition at line 457 of file MathUtils.hh.

                                                   {
    return fabs(eta1 - eta2);
  }
double Rivet::deltaEta ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 904 of file Vector4.hh.

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

                                                                       {
    return deltaEta(a.vector3(), b.vector3());
  }
double Rivet::deltaEta ( const FourMomentum &  v,
double  eta2 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 909 of file Vector4.hh.

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

                                                             {
    return deltaEta(v.vector3(), eta2);
  }
double Rivet::deltaEta ( double  eta1,
const FourMomentum &  v 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 914 of file Vector4.hh.

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

                                                             {
    return deltaEta(eta1, v.vector3());
  }
double Rivet::deltaEta ( const FourVector &  a,
const FourVector &  b 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 919 of file Vector4.hh.

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

                                                                   {
    return deltaEta(a.vector3(), b.vector3());
  }
double Rivet::deltaEta ( const FourVector &  v,
double  eta2 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 924 of file Vector4.hh.

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

                                                           {
    return deltaEta(v.vector3(), eta2);
  }
double Rivet::deltaEta ( double  eta1,
const FourVector &  v 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 929 of file Vector4.hh.

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

                                                           {
    return deltaEta(eta1, v.vector3());
  }
double Rivet::deltaEta ( const FourVector &  a,
const FourMomentum &  b 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 934 of file Vector4.hh.

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

                                                                     {
    return deltaEta(a.vector3(), b.vector3());
  }
double Rivet::deltaEta ( const FourMomentum &  a,
const FourVector &  b 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 939 of file Vector4.hh.

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

                                                                     {
    return deltaEta(a.vector3(), b.vector3());
  }
double Rivet::deltaEta ( const FourVector &  a,
const Vector3 &  b 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 944 of file Vector4.hh.

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

                                                                {
    return deltaEta(a.vector3(), b);
  }
double Rivet::deltaEta ( const Vector3 &  a,
const FourVector &  b 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 949 of file Vector4.hh.

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

                                                                {
    return deltaEta(a, b.vector3());
  }
double Rivet::deltaEta ( const FourMomentum &  a,
const Vector3 &  b 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 954 of file Vector4.hh.

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

                                                                  {
    return deltaEta(a.vector3(), b);
  }
double Rivet::deltaEta ( const Vector3 &  a,
const FourMomentum &  b 
) [inline]

Calculate the difference in pseudorapidity between two vectors.

Definition at line 959 of file Vector4.hh.

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

                                                                  {
    return deltaEta(a, b.vector3());
  }
double Rivet::deltaPhi ( const Jet &  j1,
const Jet &  j2 
) [inline]

Definition at line 169 of file Jet.hh.

References Jet::momentum().

Referenced by MC_JetAnalysis::analyze(), CMS_2011_S8950903::analyze(), CMS_2012_PAS_QCD_11_010::analyze(), STAR_2008_S7993412::analyze(), CMS_2011_I954992::analyze(), ATLAS_2011_S9002537::analyze(), MC_DIPHOTON::analyze(), ATLAS_2011_S8994773::analyze(), ATLAS_2012_I1188891::analyze(), CDF_2012_NOTE10874::analyze(), ATLAS_2011_I930220::analyze(), CMS_2011_S8973270::analyze(), CMS_2011_S9215166::analyze(), MC_LEADJETUE::analyze(), CMS_2013_I1209721::analyze(), CDF_1994_S2952106::analyze(), CMS_2011_S9120041::analyze(), CMS_2012_I1107658::analyze(), D0_2009_S8349509::analyze(), STAR_2009_UE_HELEN::analyze(), D0_2004_S5992206::analyze(), ATLAS_2012_I1183818::analyze(), MC_PHOTONJETUE::analyze(), MC_ZZINC::analyze(), CDF_2010_S8591881_DY::analyze(), CDF_2010_S8591881_QCD::analyze(), ATLAS_2012_I1126136::analyze(), ATLAS_2011_S9212183::analyze(), ATLAS_2011_S9120807::analyze(), MC_TTBAR::analyze(), ATLAS_2011_CONF_2011_098::analyze(), CDF_2001_S4751469::analyze(), ATLAS_2012_I1095236::analyze(), ATLAS_2012_I1125961::analyze(), ATLAS_2012_CONF_2012_109::analyze(), ATLAS_2011_S8983313::analyze(), ATLAS_2011_CONF_2011_090::analyze(), ATLAS_2012_I1083318::analyze(), ATLAS_2010_S8894728::analyze(), ATLAS_2013_I1230812::analyze(), ATLAS_2012_I1125575::analyze(), ATLAS_2011_I945498::analyze(), ATLAS_2011_S9212353::analyze(), ATLAS_2011_S9041966::analyze(), MC_VH2BB::analyze(), ATLAS_2012_I1093734::analyze(), deltaPhi(), deltaR(), ATLAS_2012_I1204784::fillPlots(), CMS_2013_I1224539_WJET::isBackToBack_wj(), CMS_2013_I1224539_ZJET::isBackToBack_zj(), and WFinder::mT().

                                                       {
    return deltaPhi(j1.momentum(), j2.momentum());
  }
double Rivet::deltaPhi ( const Jet &  j,
const Particle &  p 
) [inline]

Definition at line 173 of file Jet.hh.

References deltaPhi(), Particle::momentum(), and Jet::momentum().

                                                          {
    return deltaPhi(j.momentum(), p.momentum());
  }
double Rivet::deltaPhi ( const Particle &  p,
const Jet &  j 
) [inline]

Definition at line 177 of file Jet.hh.

References deltaPhi(), Particle::momentum(), and Jet::momentum().

                                                          {
    return deltaPhi(p.momentum(), j.momentum());
  }
double Rivet::deltaPhi ( const Jet &  j,
const FourMomentum &  v 
) [inline]

Definition at line 181 of file Jet.hh.

References deltaPhi(), and Jet::momentum().

                                                              {
    return deltaPhi(j.momentum(), v);
  }
double Rivet::deltaPhi ( const Jet &  j,
const FourVector &  v 
) [inline]

Definition at line 185 of file Jet.hh.

References deltaPhi(), and Jet::momentum().

                                                            {
    return deltaPhi(j.momentum(), v);
  }
double Rivet::deltaPhi ( const Jet &  j,
const Vector3 &  v 
) [inline]

Definition at line 189 of file Jet.hh.

References deltaPhi(), and Jet::momentum().

                                                         {
    return deltaPhi(j.momentum(), v);
  }
double Rivet::deltaPhi ( const Jet &  j,
double  phi 
) [inline]

Definition at line 193 of file Jet.hh.

References deltaPhi(), Jet::momentum(), and phi().

                                                   {
    return deltaPhi(j.momentum(), phi);
  }
double Rivet::deltaPhi ( const FourMomentum &  v,
const Jet &  j 
) [inline]

Definition at line 197 of file Jet.hh.

References deltaPhi(), and Jet::momentum().

                                                              {
    return deltaPhi(v, j.momentum());
  }
double Rivet::deltaPhi ( const FourVector &  v,
const Jet &  j 
) [inline]

Definition at line 201 of file Jet.hh.

References deltaPhi(), and Jet::momentum().

                                                            {
    return deltaPhi(v, j.momentum());
  }
double Rivet::deltaPhi ( const Vector3 &  v,
const Jet &  j 
) [inline]

Definition at line 205 of file Jet.hh.

References deltaPhi(), and Jet::momentum().

                                                         {
    return deltaPhi(v, j.momentum());
  }
double Rivet::deltaPhi ( double  phi,
const Jet &  j 
) [inline]

Definition at line 209 of file Jet.hh.

References deltaPhi(), and Jet::momentum().

                                                   {
    return deltaPhi(phi, j.momentum());
  }
double Rivet::deltaPhi ( const Particle &  p1,
const Particle &  p2 
) [inline]

Definition at line 269 of file Particle.hh.

References deltaPhi(), and Particle::momentum().

                                                                 {
    return deltaPhi(p1.momentum(), p2.momentum());
  }
double Rivet::deltaPhi ( const Particle &  p,
const FourMomentum &  v 
) [inline]

Definition at line 273 of file Particle.hh.

References deltaPhi(), and Particle::momentum().

                                                                   {
    return deltaPhi(p.momentum(), v);
  }
double Rivet::deltaPhi ( const Particle &  p,
const FourVector &  v 
) [inline]

Definition at line 277 of file Particle.hh.

References deltaPhi(), and Particle::momentum().

                                                                 {
    return deltaPhi(p.momentum(), v);
  }
double Rivet::deltaPhi ( const Particle &  p,
const Vector3 &  v 
) [inline]

Definition at line 281 of file Particle.hh.

References deltaPhi(), and Particle::momentum().

                                                              {
    return deltaPhi(p.momentum(), v);
  }
double Rivet::deltaPhi ( const Particle &  p,
double  phi 
) [inline]

Definition at line 285 of file Particle.hh.

References deltaPhi(), Particle::momentum(), and phi().

                                                        {
    return deltaPhi(p.momentum(), phi);
  }
double Rivet::deltaPhi ( const FourMomentum &  v,
const Particle &  p 
) [inline]

Definition at line 289 of file Particle.hh.

References deltaPhi(), and Particle::momentum().

                                                                   {
    return deltaPhi(v, p.momentum());
  }
double Rivet::deltaPhi ( const FourVector &  v,
const Particle &  p 
) [inline]

Definition at line 293 of file Particle.hh.

References deltaPhi(), and Particle::momentum().

                                                                 {
    return deltaPhi(v, p.momentum());
  }
double Rivet::deltaPhi ( const Vector3 &  v,
const Particle &  p 
) [inline]

Definition at line 297 of file Particle.hh.

References deltaPhi(), and Particle::momentum().

                                                              {
    return deltaPhi(v, p.momentum());
  }
double Rivet::deltaPhi ( double  phi,
const Particle &  p 
) [inline]

Definition at line 301 of file Particle.hh.

References deltaPhi(), and Particle::momentum().

                                                        {
    return deltaPhi(phi, p.momentum());
  }
double Rivet::deltaPhi ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Calculate the difference in azimuthal angle between two spatial vectors.

Definition at line 331 of file Vector3.hh.

References Vector3::azimuthalAngle(), and deltaPhi().

                                                             {
    return deltaPhi(a.azimuthalAngle(), b.azimuthalAngle());
  }
double Rivet::deltaPhi ( const Vector3 &  v,
double  phi2 
) [inline]

Calculate the difference in azimuthal angle between two spatial vectors.

Definition at line 336 of file Vector3.hh.

References Vector3::azimuthalAngle(), and deltaPhi().

                                                        {
    return deltaPhi(v.azimuthalAngle(), phi2);
  }
double Rivet::deltaPhi ( double  phi1,
const Vector3 &  v 
) [inline]

Calculate the difference in azimuthal angle between two spatial vectors.

Definition at line 341 of file Vector3.hh.

References Vector3::azimuthalAngle(), and deltaPhi().

                                                        {
    return deltaPhi(phi1, v.azimuthalAngle());
  }
double Rivet::deltaPhi ( double  phi1,
double  phi2 
) [inline]

Calculate the difference between two angles in radians.

Returns in the range [0, PI].

Definition at line 450 of file MathUtils.hh.

References mapAngle0ToPi().

                                                   {
    return mapAngle0ToPi(phi1 - phi2);
  }
double Rivet::deltaPhi ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 835 of file Vector4.hh.

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

                                                                       {
    return deltaPhi(a.vector3(), b.vector3());
  }
double Rivet::deltaPhi ( const FourMomentum &  v,
double  phi2 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 840 of file Vector4.hh.

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

                                                             {
    return deltaPhi(v.vector3(), phi2);
  }
double Rivet::deltaPhi ( double  phi1,
const FourMomentum &  v 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 845 of file Vector4.hh.

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

                                                             {
    return deltaPhi(phi1, v.vector3());
  }
double Rivet::deltaPhi ( const FourVector &  a,
const FourVector &  b 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 850 of file Vector4.hh.

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

                                                                   {
    return deltaPhi(a.vector3(), b.vector3());
  }
double Rivet::deltaPhi ( const FourVector &  v,
double  phi2 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 855 of file Vector4.hh.

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

                                                           {
    return deltaPhi(v.vector3(), phi2);
  }
double Rivet::deltaPhi ( double  phi1,
const FourVector &  v 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 860 of file Vector4.hh.

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

                                                           {
    return deltaPhi(phi1, v.vector3());
  }
double Rivet::deltaPhi ( const FourVector &  a,
const FourMomentum &  b 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 865 of file Vector4.hh.

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

                                                                     {
    return deltaPhi(a.vector3(), b.vector3());
  }
double Rivet::deltaPhi ( const FourMomentum &  a,
const FourVector &  b 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 870 of file Vector4.hh.

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

                                                                     {
    return deltaPhi(a.vector3(), b.vector3());
  }
double Rivet::deltaPhi ( const FourVector &  a,
const Vector3 &  b 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 875 of file Vector4.hh.

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

                                                                {
    return deltaPhi(a.vector3(), b);
  }
double Rivet::deltaPhi ( const Vector3 &  a,
const FourVector &  b 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 880 of file Vector4.hh.

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

                                                                {
    return deltaPhi(a, b.vector3());
  }
double Rivet::deltaPhi ( const FourMomentum &  a,
const Vector3 &  b 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 885 of file Vector4.hh.

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

                                                                  {
    return deltaPhi(a.vector3(), b);
  }
double Rivet::deltaPhi ( const Vector3 &  a,
const FourMomentum &  b 
) [inline]

Calculate the difference in azimuthal angle between two vectors.

Definition at line 890 of file Vector4.hh.

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

                                                                  {
    return deltaPhi(a, b.vector3());
  }
double Rivet::deltaR ( const Jet &  j1,
const Jet &  j2,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 117 of file Jet.hh.

References Jet::momentum().

Referenced by CDF_2004_S5839831::_calcTransCones(), MC_JetAnalysis::analyze(), D0_2011_I895662::analyze(), ATLAS_2011_S9002537::analyze(), MC_DIPHOTON::analyze(), CDF_2005_S6080774::analyze(), MC_HJETS::analyze(), MC_WJETS::analyze(), MC_ZJETS::analyze(), D0_2008_S6879055::analyze(), CDF_1993_S2742446::analyze(), ATLAS_2012_I1188891::analyze(), CDF_2009_S8436959::analyze(), ATLAS_2011_I930220::analyze(), CDF_2008_S7540469::analyze(), CMS_2011_S8973270::analyze(), MC_PHOTONINC::analyze(), MC_PHOTONKTSPLITTINGS::analyze(), D0_2010_S8570965::analyze(), D0_2006_S6438750::analyze(), CDF_1997_S3541940::analyze(), MC_PHOTONJETS::analyze(), CDF_1994_S2952106::analyze(), CMS_2013_I1209721::analyze(), MC_PHOTONS::analyze(), MC_WWJETS::analyze(), MC_ZZJETS::analyze(), ATLAS_2012_I1082009::analyze(), CDF_2008_S8095620::analyze(), ATLAS_2012_I946427::analyze(), CDF_2006_S6653332::analyze(), ATLAS_2013_I1243871::analyze(), ATLAS_2010_S8919674::analyze(), MC_PHOTONJETUE::analyze(), MC_ZZINC::analyze(), MC_WWINC::analyze(), D0_1996_S3214044::analyze(), ATLAS_2012_CONF_2012_104::analyze(), ATLAS_2012_I1190891::analyze(), ATLAS_2012_I1126136::analyze(), ATLAS_2012_I1186556::analyze(), ATLAS_2011_S9212183::analyze(), ATLAS_2012_CONF_2012_105::analyze(), ATLAS_2011_S9120807::analyze(), MC_TTBAR::analyze(), ATLAS_2011_CONF_2011_098::analyze(), CDF_1996_S3349578::analyze(), ATLAS_2012_CONF_2012_103::analyze(), ATLAS_2012_I1112263::analyze(), ATLAS_2010_S8914702::analyze(), ATLAS_2012_I1117704::analyze(), D0_2008_S7719523::analyze(), ATLAS_2012_I1095236::analyze(), ATLAS_2012_I1125961::analyze(), ATLAS_2012_CONF_2012_001::analyze(), ATLAS_2012_CONF_2012_109::analyze(), ATLAS_2011_S8983313::analyze(), ATLAS_2012_I1180197::analyze(), ATLAS_2011_CONF_2011_090::analyze(), ATLAS_2011_S9019561::analyze(), ATLAS_2012_I1083318::analyze(), ATLAS_2012_CONF_2012_153::analyze(), ATLAS_2013_I1230812::analyze(), MC_SUSY::analyze(), ATLAS_2011_I945498::analyze(), ATLAS_2011_S9212353::analyze(), ATLAS_2012_I943401::analyze(), ATLAS_2011_S9225137::analyze(), ATLAS_2012_I1093738::analyze(), ATLAS_2011_S9041966::analyze(), MC_VH2BB::analyze(), ATLAS_2012_I1094568::analyze(), CDF_2004_S5839831::analyze(), JetShape::calc(), deltaR(), CMS_2013_I1224539_WJET::isBackToBack_wj(), CMS_2013_I1224539_ZJET::isBackToBack_zj(), CMS_2013_I1258128::makePhotonCut(), CMS_2013_I1258128::makeZCut(), DressedLeptons::project(), and ATLAS_2011_I945498::selectJets().

                                                          {
    return deltaR(j1.momentum(), j2.momentum(), scheme);
  }
double Rivet::deltaR ( const Jet &  j,
const Particle &  p,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 122 of file Jet.hh.

References deltaR(), Particle::momentum(), and Jet::momentum().

                                                          {
    return deltaR(j.momentum(), p.momentum(), scheme);
  }
double Rivet::deltaR ( const Particle &  p,
const Jet &  j,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 127 of file Jet.hh.

References deltaR(), Particle::momentum(), and Jet::momentum().

                                                          {
    return deltaR(p.momentum(), j.momentum(), scheme);
  }
double Rivet::deltaR ( const Jet &  j,
const FourMomentum &  v,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 132 of file Jet.hh.

References deltaR(), and Jet::momentum().

                                                          {
    return deltaR(j.momentum(), v, scheme);
  }
double Rivet::deltaR ( const Jet &  j,
const FourVector &  v,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 137 of file Jet.hh.

References deltaR(), and Jet::momentum().

                                                          {
    return deltaR(j.momentum(), v, scheme);
  }
double Rivet::deltaR ( const Jet &  j,
const Vector3 &  v 
) [inline]

Definition at line 142 of file Jet.hh.

References deltaR(), and Jet::momentum().

                                                       {
    return deltaR(j.momentum(), v);
  }
double Rivet::deltaR ( const Jet &  j,
double  eta,
double  phi 
) [inline]

Definition at line 146 of file Jet.hh.

References deltaR(), eta(), Jet::momentum(), and phi().

                                                             {
    return deltaR(j.momentum(), eta, phi);
  }
double Rivet::deltaR ( const FourMomentum &  v,
const Jet &  j,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 150 of file Jet.hh.

References deltaR(), and Jet::momentum().

                                                          {
    return deltaR(v, j.momentum(), scheme);
  }
double Rivet::deltaR ( const FourVector &  v,
const Jet &  j,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 155 of file Jet.hh.

References deltaR(), and Jet::momentum().

                                                          {
    return deltaR(v, j.momentum(), scheme);
  }
double Rivet::deltaR ( const Vector3 &  v,
const Jet &  j 
) [inline]

Definition at line 160 of file Jet.hh.

References deltaR(), and Jet::momentum().

                                                       {
    return deltaR(v, j.momentum());
  }
double Rivet::deltaR ( double  eta,
double  phi,
const Jet &  j 
) [inline]

Definition at line 164 of file Jet.hh.

References deltaR(), and Jet::momentum().

                                                             {
    return deltaR(eta, phi, j.momentum());
  }
double Rivet::deltaR ( const Particle &  p1,
const Particle &  p2,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 227 of file Particle.hh.

References deltaR(), and Particle::momentum().

                                                          {
    return deltaR(p1.momentum(), p2.momentum(), scheme);
  }
double Rivet::deltaR ( const Particle &  p,
const FourMomentum &  v,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 232 of file Particle.hh.

References deltaR(), and Particle::momentum().

                                                          {
    return deltaR(p.momentum(), v, scheme);
  }
double Rivet::deltaR ( const Particle &  p,
const FourVector &  v,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 237 of file Particle.hh.

References deltaR(), and Particle::momentum().

                                                          {
    return deltaR(p.momentum(), v, scheme);
  }
double Rivet::deltaR ( const Particle &  p,
const Vector3 &  v 
) [inline]

Definition at line 242 of file Particle.hh.

References deltaR(), and Particle::momentum().

                                                            {
    return deltaR(p.momentum(), v);
  }
double Rivet::deltaR ( const Particle &  p,
double  eta,
double  phi 
) [inline]

Definition at line 246 of file Particle.hh.

References deltaR(), eta(), Particle::momentum(), and phi().

                                                                  {
    return deltaR(p.momentum(), eta, phi);
  }
double Rivet::deltaR ( const FourMomentum &  v,
const Particle &  p,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 250 of file Particle.hh.

References deltaR(), and Particle::momentum().

                                                          {
    return deltaR(v, p.momentum(), scheme);
  }
double Rivet::deltaR ( const FourVector &  v,
const Particle &  p,
RapScheme  scheme = PSEUDORAPIDITY 
) [inline]

Definition at line 255 of file Particle.hh.

References deltaR(), and Particle::momentum().

                                                          {
    return deltaR(v, p.momentum(), scheme);
  }
double Rivet::deltaR ( const Vector3 &  v,
const Particle &  p 
) [inline]

Definition at line 260 of file Particle.hh.

References deltaR(), and Particle::momentum().

                                                            {
    return deltaR(v, p.momentum());
  }
double Rivet::deltaR ( double  eta,
double  phi,
const Particle &  p 
) [inline]

Definition at line 264 of file Particle.hh.

References deltaR(), and Particle::momentum().

                                                                  {
    return deltaR(eta, phi, p.momentum());
  }
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 352 of file Vector3.hh.

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

                                                           {
    return deltaR(a.pseudorapidity(), a.azimuthalAngle(),
                  b.pseudorapidity(), b.azimuthalAngle());
  }
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 358 of file Vector3.hh.

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

                                                                   {
    return deltaR(v.pseudorapidity(), v.azimuthalAngle(), eta2, phi2);
  }
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 363 of file Vector3.hh.

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

                                                                   {
    return deltaR(eta1, phi1, v.pseudorapidity(), v.azimuthalAngle());
  }
double Rivet::deltaR ( double  rap1,
double  phi1,
double  rap2,
double  phi2 
) [inline]

Calculate the distance between two points in 2D rapidity-azimuthal ("\f$ \eta-\phi \f$") space. The phi values are given in radians.

Definition at line 470 of file MathUtils.hh.

References deltaPhi(), and sqr().

                                                                           {
    const double dphi = deltaPhi(phi1, phi2);
    return sqrt( sqr(rap1-rap2) + sqr(dphi) );
  }
double Rivet::deltaR ( const FourVector &  a,
const FourVector &  b,
RapScheme  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. Use of this scheme option 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 647 of file Vector4.hh.

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

                                                          {
    switch (scheme) {
    case PSEUDORAPIDITY :
      return deltaR(a.vector3(), b.vector3());
    case RAPIDITY:
      {
        const FourMomentum* ma = dynamic_cast<const FourMomentum*>(&a);
        const FourMomentum* mb = dynamic_cast<const FourMomentum*>(&b);
        if (!ma || !mb) {
          string err = "deltaR with scheme RAPIDITY can only be called with FourMomentum objects, not FourVectors";
          throw std::runtime_error(err);
        }
        return deltaR(*ma, *mb, scheme);
      }
    default:
      throw std::runtime_error("The specified deltaR scheme is not yet implemented");
    }
  }
double Rivet::deltaR ( const FourVector &  v,
double  eta2,
double  phi2,
RapScheme  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 673 of file Vector4.hh.

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

                                                          {
    switch (scheme) {
    case PSEUDORAPIDITY :
      return deltaR(v.vector3(), eta2, phi2);
    case RAPIDITY:
      {
        const FourMomentum* mv = dynamic_cast<const FourMomentum*>(&v);
        if (!mv) {
          string err = "deltaR with scheme RAPIDITY can only be called with FourMomentum objects, not FourVectors";
          throw std::runtime_error(err);
        }
        return deltaR(*mv, eta2, phi2, scheme);
      }
    default:
      throw std::runtime_error("The specified deltaR scheme is not yet implemented");
    }
  }
double Rivet::deltaR ( double  eta1,
double  phi1,
const FourVector &  v,
RapScheme  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 699 of file Vector4.hh.

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

                                                          {
    switch (scheme) {
    case PSEUDORAPIDITY :
      return deltaR(eta1, phi1, v.vector3());
    case RAPIDITY:
      {
        const FourMomentum* mv = dynamic_cast<const FourMomentum*>(&v);
        if (!mv) {
          string err = "deltaR with scheme RAPIDITY can only be called with FourMomentum objects, not FourVectors";
          throw std::runtime_error(err);
        }
        return deltaR(eta1, phi1, *mv, scheme);
      }
    default:
      throw std::runtime_error("The specified deltaR scheme is not yet implemented");
    }
  }
double Rivet::deltaR ( const FourMomentum &  a,
const FourMomentum &  b,
RapScheme  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 725 of file Vector4.hh.

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

                                                          {
    switch (scheme) {
    case PSEUDORAPIDITY:
      return deltaR(a.vector3(), b.vector3());
    case RAPIDITY:
      return deltaR(a.rapidity(), a.azimuthalAngle(), b.rapidity(), b.azimuthalAngle());
    default:
      throw std::runtime_error("The specified deltaR scheme is not yet implemented");
    }
  }
double Rivet::deltaR ( const FourMomentum &  v,
double  eta2,
double  phi2,
RapScheme  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 742 of file Vector4.hh.

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

                                                          {
    switch (scheme) {
    case PSEUDORAPIDITY:
      return deltaR(v.vector3(), eta2, phi2);
    case RAPIDITY:
      return deltaR(v.rapidity(), v.azimuthalAngle(), eta2, phi2);
    default:
      throw std::runtime_error("The specified deltaR scheme is not yet implemented");
    }
  }
double Rivet::deltaR ( double  eta1,
double  phi1,
const FourMomentum &  v,
RapScheme  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 761 of file Vector4.hh.

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

                                                          {
    switch (scheme) {
    case PSEUDORAPIDITY:
      return deltaR(eta1, phi1, v.vector3());
    case RAPIDITY:
      return deltaR(eta1, phi1, v.rapidity(), v.azimuthalAngle());
    default:
      throw std::runtime_error("The specified deltaR scheme is not yet implemented");
    }
  }
double Rivet::deltaR ( const FourMomentum &  a,
const FourVector &  b,
RapScheme  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 779 of file Vector4.hh.

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

                                                          {
    switch (scheme) {
    case PSEUDORAPIDITY:
      return deltaR(a.vector3(), b.vector3());
    case RAPIDITY:
      return deltaR(a.rapidity(), a.azimuthalAngle(), FourMomentum(b).rapidity(), b.azimuthalAngle());
    default:
      throw std::runtime_error("The specified deltaR scheme is not yet implemented");
    }
  }
double Rivet::deltaR ( const FourVector &  a,
const FourMomentum &  b,
RapScheme  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 796 of file Vector4.hh.

References deltaR().

                                                          {
    return deltaR(b, a, scheme);
  }
double Rivet::deltaR ( const FourMomentum &  a,
const Vector3 &  b 
) [inline]

Calculate the 2D rapidity-azimuthal ("eta-phi") distance between a three-vector and a four-vector.

Definition at line 803 of file Vector4.hh.

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

                                                                {
    return deltaR(a.vector3(), b);
  }
double Rivet::deltaR ( const Vector3 &  a,
const FourMomentum &  b 
) [inline]

Calculate the 2D rapidity-azimuthal ("eta-phi") distance between a three-vector and a four-vector.

Definition at line 809 of file Vector4.hh.

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

                                                                {
    return deltaR(a, b.vector3());
  }
double Rivet::deltaR ( const FourVector &  a,
const Vector3 &  b 
) [inline]

Calculate the 2D rapidity-azimuthal ("eta-phi") distance between a three-vector and a four-vector.

Definition at line 815 of file Vector4.hh.

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

                                                              {
    return deltaR(a.vector3(), b);
  }
double Rivet::deltaR ( const Vector3 &  a,
const FourVector &  b 
) [inline]

Calculate the 2D rapidity-azimuthal ("eta-phi") distance between a three-vector and a four-vector.

Definition at line 821 of file Vector4.hh.

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

                                                              {
    return deltaR(a, b.vector3());
  }
double Rivet::deltaRap ( double  y1,
double  y2 
) [inline]

Calculate the abs difference between two rapidities

Note:
Just a cosmetic name for analysis code clarity.

Definition at line 464 of file MathUtils.hh.

Referenced by D0_2009_S8349509::analyze(), and deltaRap().

                                               {
    return fabs(y1 - y2);
  }
double Rivet::deltaRap ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Calculate the difference in rapidity between two 4-momentum vectors.

Definition at line 970 of file Vector4.hh.

References deltaRap(), and FourMomentum::rapidity().

                                                                       {
    return deltaRap(a.rapidity(), b.rapidity());
  }
double Rivet::deltaRap ( const FourMomentum &  v,
double  y2 
) [inline]

Calculate the difference in rapidity between two 4-momentum vectors.

Definition at line 975 of file Vector4.hh.

References deltaRap(), and FourMomentum::rapidity().

                                                           {
    return deltaRap(v.rapidity(), y2);
  }
double Rivet::deltaRap ( double  y1,
const FourMomentum &  v 
) [inline]

Calculate the difference in rapidity between two 4-momentum vectors.

Definition at line 980 of file Vector4.hh.

References deltaRap(), and FourMomentum::rapidity().

                                                           {
    return deltaRap(y1, v.rapidity());
  }
double Rivet::det ( const Matrix< N > &  m) [inline]

Definition at line 353 of file MatrixN.hh.

                                        {
    return m.determinant();
  }
EigenSystem< N > diagonalize ( const Matrix< N > &  m)

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

Definition at line 88 of file MatrixDiag.hh.

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

Referenced by FParameter::_calcFParameter(), and Sphericity::_calcSphericity().

                                               {
  EigenSystem<N> esys;

  // Make a GSL matrix.
  gsl_matrix* A = gsl_matrix_alloc(N, N);
  for (size_t i = 0; i < N; ++i) {
    for (size_t j = 0; j < N; ++j) {
      gsl_matrix_set(A, i, j, m.get(i, j));
    }
  }

  // Use GSL diagonalization.
  gsl_matrix* vecs = gsl_matrix_alloc(N, N);
  gsl_vector* vals = gsl_vector_alloc(N);
  gsl_eigen_symmv_workspace* workspace = gsl_eigen_symmv_alloc(N);
  gsl_eigen_symmv(A, vals, vecs, workspace);
  gsl_eigen_symmv_sort(vals, vecs, GSL_EIGEN_SORT_VAL_DESC);

  // Build the vector of "eigen-pairs".
  typename EigenSystem<N>::EigenPairs eigensolns;
  for (size_t i = 0; i < N; ++i) {
    typename EigenSystem<N>::EigenPair ep;
    ep.first = gsl_vector_get(vals, i);
    Vector<N> ev;
    for (size_t j = 0; j < N; ++j) {
      ev.set(j, gsl_matrix_get(vecs, j, i));
    }
    ep.second = ev;
    eigensolns.push_back(ep);
  }

  // Free GSL memory.
  gsl_eigen_symmv_free(workspace);
  gsl_matrix_free(A);
  gsl_matrix_free(vecs);
  gsl_vector_free(vals);

  // Populate the returned object.
  esys._eigenPairs = eigensolns;
  return esys;
}
Matrix< N > divide ( const Matrix< N > &  m,
const double  a 
) [inline]

Definition at line 296 of file MatrixN.hh.

References multiply().

                                                              {
    return multiply(1/a, m);
  }
double Rivet::dot ( const FourVector &  a,
const FourVector &  b 
) [inline]

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

Definition at line 208 of file Vector4.hh.

References contract().

                                                              {
    return contract(a, b);
  }
bool Rivet::endsWith ( const std::string &  s,
const std::string &  end 
) [inline]

Check whether a string end is found at the end of s.

Definition at line 92 of file Utils.hh.

                                                                 {
    if (s.length() < end.length()) return false;
    return s.substr(s.length() - end.length()) == end;
  }
double Rivet::Et ( const FourMomentum &  v) [inline]

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

Definition at line 624 of file Vector4.hh.

References FourMomentum::Et().

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

                                          {
    return v.Et();
  }
double Rivet::Et2 ( const FourMomentum &  v) [inline]

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

Definition at line 620 of file Vector4.hh.

References FourMomentum::Et2().

                                           {
    return v.Et2();}
double Rivet::eta ( const Vector3 &  v) [inline]
double Rivet::eta ( const FourVector &  v) [inline]

Synonym for pseudorapidity.

Definition at line 319 of file Vector4.hh.

References FourVector::eta().

                                         {
    return v.eta();
  }
Cut Rivet::EtaIn ( double  m,
double  n 
) [inline]

Definition at line 55 of file Cuts.hh.

References Rivet::Cuts::eta, and Range().

Referenced by FinalState::FinalState(), CMS_2013_I1209721::init(), ATLAS_2012_I1204784::init(), CMS_2013_I1258128::init(), MC_HINC::init(), MC_WINC::init(), MC_ZINC::init(), MC_ZZINC::init(), MC_ZKTSPLITTINGS::init(), MC_ZZJETS::init(), MC_ZZKTSPLITTINGS::init(), D0_2010_S8821313::init(), MC_HJETS::init(), MC_HKTSPLITTINGS::init(), MC_WWINC::init(), MC_ZJETS::init(), MC_WKTSPLITTINGS::init(), CMS_2012_I1107658::init(), D0_2008_S7863608::init(), D0_2010_S8671338::init(), ATLAS_2011_I944826::init(), MC_WJETS::init(), MC_WWJETS::init(), MC_WWKTSPLITTINGS::init(), D0_2009_S8202443::init(), EXAMPLE_CUTS::init(), ATLAS_2011_I954993::init(), ATLAS_2011_I945498::init(), D0_2008_S7837160::init(), ATLAS_2011_S9131140::init(), CMS_2012_I941555::init(), ATLAS_2011_I925932::init(), D0_2000_S4480767::init(), ATLAS_2011_I926145::init(), D0_2009_S8349509::init(), ATLAS_2010_S8919674::init(), ATLAS_2013_I1230812::init(), ATLAS_2012_I1083318::init(), ATLAS_2012_I1095236::init(), ATLAS_2011_S9212183::init(), ATLAS_2012_CONF_2012_109::init(), ATLAS_2012_I1125961::init(), ATLAS_2012_I1112263::init(), ATLAS_2011_S9212353::init(), ATLAS_2013_I1217867::init(), ATLAS_2012_CONF_2012_103::init(), ATLAS_2012_CONF_2012_001::init(), ATLAS_2012_CONF_2012_104::init(), ATLAS_2012_CONF_2012_105::init(), ATLAS_2011_S9019561::init(), ATLAS_2012_I943401::init(), ATLAS_2011_S8983313::init(), ATLAS_2012_I1117704::init(), ATLAS_2012_I1190891::init(), ATLAS_2011_CONF_2011_090::init(), ATLAS_2012_I1180197::init(), ATLAS_2011_S9225137::init(), CMS_2013_I1224539_WJET::init(), ATLAS_2011_CONF_2011_098::init(), CMS_2013_I1224539_ZJET::init(), ATLAS_2012_I1186556::init(), ATLAS_2012_I1126136::init(), ATLAS_2012_CONF_2012_153::init(), ATLAS_2011_S9041966::init(), and MC_VH2BB::init().

{ return Range(Cuts::eta,m,n); }
bool Rivet::fileexists ( const std::string &  path) [inline]

Convenience function for determining if a filesystem path exists.

Definition at line 9 of file RivetPaths.hh.

Referenced by _findFile().

                                                {
    return (access(path.c_str(), R_OK) == 0);
  }
string findAnalysisInfoFile ( const std::string &  filename,
const std::vector< std::string > &  pathprepend = std::vector<std::string>(),
const std::vector< std::string > &  pathappend = std::vector<std::string>() 
)

Find the first file of the given name in the analysis info file search dirs.

Note:
If none found, returns an empty string

Definition at line 117 of file RivetPaths.cc.

References _findFile(), and getAnalysisInfoPaths().

Referenced by AnalysisInfo::make().

                                                                                                   {
    const vector<string> paths = pathprepend + getAnalysisInfoPaths() + pathappend;
    return _findFile(filename, paths);
  }
string findAnalysisLibFile ( const std::string &  filename)

Find the first file of the given name in the analysis library search dirs.

Note:
If none found, returns an empty string

Definition at line 69 of file RivetPaths.cc.

References _findFile(), and getAnalysisLibPaths().

                                                     {
    return _findFile(filename, getAnalysisLibPaths());
  }
string findAnalysisPlotFile ( const std::string &  filename,
const std::vector< std::string > &  pathprepend = std::vector<std::string>(),
const std::vector< std::string > &  pathappend = std::vector<std::string>() 
)

Find the first file of the given name in the analysis plot file search dirs.

Note:
If none found, returns an empty string

Definition at line 142 of file RivetPaths.cc.

References _findFile(), and getAnalysisPlotPaths().

                                                                                                   {
    const vector<string> paths = pathprepend + getAnalysisPlotPaths() + pathappend;
    return _findFile(filename, paths);
  }
string findAnalysisRefFile ( const std::string &  filename,
const std::vector< std::string > &  pathprepend = std::vector<std::string>(),
const std::vector< std::string > &  pathappend = std::vector<std::string>() 
)

Find the first file of the given name in the ref data file search dirs.

Note:
If none found, returns an empty string

Definition at line 92 of file RivetPaths.cc.

References _findFile(), and getAnalysisRefPaths().

Referenced by getDatafilePath().

                                                                                                  {
    const vector<string> paths = pathprepend + getAnalysisRefPaths() + pathappend;
    return _findFile(filename, paths);
  }
boost::enable_if_c< boost::is_arithmetic<N1>::value && boost::is_arithmetic<N2>::value && (boost::is_floating_point<N1>::value || boost::is_floating_point<N2>::value), bool>::type Rivet::fuzzyEquals ( N1  a,
N2  b,
double  tolerance = 1e-5 
) [inline]

Compare two numbers for equality with a degree of fuzziness.

This version for floating point types (if any argument is FP) has a degree of fuzziness expressed by the fractional tolerance parameter, for floating point safety.

Definition at line 45 of file MathUtils.hh.

References isZero().

Referenced by Sphericity::_calcSphericity(), Cmp< double >::_compare(), BABAR_2007_S6895344::analyze(), BABAR_2005_S6181155::analyze(), BELLE_2006_S6265367::analyze(), ALICE_2012_I1181770::analyze(), CMS_2011_S9215166::analyze(), ALICE_2010_S8625980::analyze(), CMS_2011_S9120041::analyze(), UA1_1990_S2044935::analyze(), CMS_2013_I1218372::analyze(), ATLAS_2012_I1084540::analyze(), ATLAS_2010_S8894728::analyze(), ATLAS_2010_S8918562::analyze(), ALEPH_2004_S5765862::analyze(), CDF_2004_S5839831::analyze(), AnalysisHandler::analyze(), Vector3::angle(), Sphericity::compare(), ALICE_2010_S8625980::finalize(), CMS_2011_S9120041::finalize(), UA1_1990_S2044935::finalize(), ATLAS_2010_S8918562::finalize(), ATLAS_2012_I1093734::finalize(), CDF_2004_S5839831::finalize(), ATLAS_2012_I1094568::finalizeGapFraction(), fuzzyEquals(), fuzzyGtrEquals(), fuzzyLessEquals(), OPAL_2004_S6132243::getHistIndex(), CMS_2010_S8547297::init(), ATLAS_2010_S8894728::init(), ALICE_2012_I1181770::init(), ATLAS_2011_S8994773::init(), CMS_2011_S8884919::init(), CMS_2011_S8978280::init(), CMS_2011_S9215166::init(), CDF_2012_NOTE10874::init(), CMS_QCD_10_024::init(), CMS_2011_S9120041::init(), SFM_1984_S1178091::init(), ATLAS_2012_I1091481::init(), UA5_1989_S1926373::init(), ATLAS_2011_I944826::init(), UA5_1986_S1583476::init(), CDF_1988_S1865951::init(), CDF_1990_S2089246::init(), UA1_1990_S2044935::init(), ALICE_2010_S8624100::init(), ALICE_2010_S8625980::init(), CMS_2013_I1218372::init(), UA5_1988_S1867512::init(), LHCB_2011_I917009::init(), ATLAS_2010_S8918562::init(), LHCB_2012_I1119400::init(), CDF_2004_S5839831::init(), ATLAS_2012_I1093734::init(), ALEPH_1996_S3196992::particleInJet(), and Run::readEvent().

                                                 {
    const double absavg = (fabs(a) + fabs(b))/2.0;
    const double absdiff = fabs(a - b);
    const bool rtn = (isZero(a) && isZero(b)) || absdiff < tolerance*absavg;
    return rtn;
  }
boost::enable_if_c< boost::is_integral<N1>::value && boost::is_integral<N2>::value, bool>::type Rivet::fuzzyEquals ( N1  a,
N2  b,
double   UNUSEDtolerance = 1e-5 
) [inline]

Compare two numbers for equality with a degree of fuzziness.

Simpler SFINAE template specialisation for integers, since there is no FP precision issue.

Definition at line 59 of file MathUtils.hh.

                                                         {
    return a == b;
  }
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 189 of file VectorN.hh.

References fuzzyEquals(), and Vector< N >::get().

                                                                                           {
    for (size_t i = 0; i < N; ++i) {
      const double a = va.get(i);
      const double b = vb.get(i);
      if (!Rivet::fuzzyEquals(a, b, tolerance)) return false;
    }
    return true;
  }
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< N >::get().

                                                                                           {
    for (size_t i = 0; i < N; ++i) {
      for (size_t j = 0; j < N; ++j) {
        const double a = ma.get(i, j);
        const double b = mb.get(i, j);
        if (!Rivet::fuzzyEquals(a, b, tolerance)) return false;
      }
    }
    return true;
  }
boost::enable_if_c< boost::is_arithmetic<N1>::value && boost::is_arithmetic<N2>::value, bool>::type Rivet::fuzzyGtrEquals ( N1  a,
N2  b,
double  tolerance = 1e-5 
) [inline]

Compare two numbers for >= with a degree of fuzziness.

The tolerance parameter on the equality test is as for fuzzyEquals.

Definition at line 70 of file MathUtils.hh.

References fuzzyEquals().

Referenced by inRange().

                                                    {
    return a > b || fuzzyEquals(a, b, tolerance);
  }
boost::enable_if_c< boost::is_arithmetic<N1>::value && boost::is_arithmetic<N2>::value, bool>::type Rivet::fuzzyLessEquals ( N1  a,
N2  b,
double  tolerance = 1e-5 
) [inline]

Compare two floating point numbers for <= with a degree of fuzziness.

The tolerance parameter on the equality test is as for fuzzyEquals.

Definition at line 81 of file MathUtils.hh.

References fuzzyEquals().

Referenced by ATLAS_2010_S8894728::_moments_to_stddev(), and inRange().

                                                     {
    return a < b || fuzzyEquals(a, b, tolerance);
  }
vector< string > getAnalysisInfoPaths ( )

Get Rivet analysis info metadata search paths.

Definition at line 99 of file RivetPaths.cc.

References getAnalysisLibPaths(), getRivetDataPath(), and pathsplit().

Referenced by findAnalysisInfoFile().

                                        {
    vector<string> dirs;
    char* env = 0;
    env = getenv("RIVET_INFO_PATH");
    if (env) {
      // Use the Rivet analysis path variable if set...
      dirs += pathsplit(env);
    }
    // ... then, unless the path ends in :: ...
    if (!env || strlen(env) < 2 || string(env).substr(strlen(env)-2) != "::") {
      // ... fall back to the Rivet data install path...
      dirs += getRivetDataPath();
      // ... and also add any analysis plugin search dirs for convenience
      dirs += getAnalysisLibPaths();
    }
    return dirs;
  }
vector< string > getAnalysisLibPaths ( )

Get Rivet analysis plugin library search paths.

Definition at line 54 of file RivetPaths.cc.

References getLibPath(), and pathsplit().

Referenced by AnalysisLoader::_loadAnalysisPlugins(), addAnalysisLibPath(), findAnalysisLibFile(), getAnalysisInfoPaths(), getAnalysisPlotPaths(), and getAnalysisRefPaths().

                                       {
    vector<string> dirs;
    char* env = 0;
    env = getenv("RIVET_ANALYSIS_PATH");
    if (env) {
      // Use the Rivet analysis path variable if set...
      dirs += pathsplit(env);
    }
    // ... otherwise fall back to the Rivet library install path unless the path ends in ::
    if (!env || strlen(env) < 2 || string(env).substr(strlen(env)-2) != "::") {
      dirs += getLibPath();
    }
    return dirs;
  }
vector< string > getAnalysisPlotPaths ( )

Get Rivet analysis plot style search paths.

Definition at line 124 of file RivetPaths.cc.

References getAnalysisLibPaths(), getRivetDataPath(), and pathsplit().

Referenced by findAnalysisPlotFile().

                                        {
    vector<string> dirs;
    char* env = 0;
    env = getenv("RIVET_PLOT_PATH");
    if (env) {
      // Use the Rivet analysis path variable if set...
      dirs += pathsplit(env);
    }
    // ... then, unless the path ends in :: ...
    if (!env || strlen(env) < 2 || string(env).substr(strlen(env)-2) != "::") {
      // ... fall back to the Rivet data install path...
      dirs += getRivetDataPath();
      // ... and also add any analysis plugin search dirs for convenience
      dirs += getAnalysisLibPaths();
    }
    return dirs;
  }
vector< string > getAnalysisRefPaths ( )

Get Rivet analysis reference data search paths.

Definition at line 74 of file RivetPaths.cc.

References getAnalysisLibPaths(), getRivetDataPath(), and pathsplit().

Referenced by findAnalysisRefFile().

                                       {
    vector<string> dirs;
    char* env = 0;
    env = getenv("RIVET_REF_PATH");
    if (env) {
      // Use the Rivet analysis path variable if set...
      dirs += pathsplit(env);
    }
    // ... then, unless the path ends in :: ...
    if (!env || strlen(env) < 2 || string(env).substr(strlen(env)-2) != "::") {
      // ... fall back to the Rivet data install path...
      dirs += getRivetDataPath();
      // ... and also add any analysis plugin search dirs for convenience
      dirs += getAnalysisLibPaths();
    }
    return dirs;
  }
string getDatafilePath ( const string &  papername)

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

Try to find YODA otherwise fall back to try AIDA

Try to find YODA otherwise fall back to try AIDA

Definition at line 13 of file RivetYODA.cc.

References findAnalysisRefFile(), and getRivetDataPath().

Referenced by getRefData().

                                                  {
    /// Try to find YODA otherwise fall back to try AIDA
    const string path1 = findAnalysisRefFile(papername + ".yoda");
    if (!path1.empty()) return path1;
    const string path2 = findAnalysisRefFile(papername + ".aida");
    if (!path2.empty()) return path2;
    throw Rivet::Error("Couldn't find ref data file '" + papername + ".yoda/aida" +
                       " in $RIVET_REF_PATH, '" + getRivetDataPath() + "', or '.'");
  }
string getDataPath ( )

Get data install path.

Definition at line 28 of file RivetPaths.cc.

Referenced by getRivetDataPath().

                       {
    BrInitError error;
    br_init_lib(&error);
    char* temp = br_find_data_dir(DEFAULTDATADIR);
    const string sharedir(temp);
    free (temp);
    return sharedir;
  }
string getLibPath ( )

Get library install path.

Definition at line 19 of file RivetPaths.cc.

Referenced by getAnalysisLibPaths().

                      {
    BrInitError error;
    br_init_lib(&error);
    char* temp = br_find_lib_dir(DEFAULTLIBDIR);
    const string libdir(temp);
    free (temp);
    return libdir;
  }
std::map< std::string, Scatter2DPtr > getRefData ( const string &  papername)

Function to get a map of all the refdata in a paper with the given papername.

Definition at line 24 of file RivetYODA.cc.

References getDatafilePath().

Referenced by Analysis::_cacheRefData().

                                                                      {
    const string datafile = getDatafilePath(papername);

    // Make an appropriate data file reader and read the data objects
    YODA::Reader& reader = (datafile.find(".yoda") != string::npos) ? \
      YODA::ReaderYODA::create() : YODA::ReaderAIDA::create();
    vector<YODA::AnalysisObject *> aovec;
    reader.read(datafile, aovec);

    // Return value, to be populated
    std::map<std::string, Scatter2DPtr> rtn;
    foreach ( YODA::AnalysisObject* ao, aovec ) {
      Scatter2DPtr refdata( dynamic_cast<Scatter2D *>(ao) );
      if (!refdata) continue;
      string plotpath = refdata->path();

      // Split path at "/" and only return the last field, i.e. the histogram ID
      std::vector<string> pathvec;
      split( pathvec, plotpath, is_any_of("/"), token_compress_on );
      plotpath = pathvec.back();

      rtn[plotpath] = refdata;
    }
    return rtn;
  }
string getRivetDataPath ( )

Get Rivet data install path.

Definition at line 37 of file RivetPaths.cc.

References getDataPath().

Referenced by getAnalysisInfoPaths(), getAnalysisPlotPaths(), getAnalysisRefPaths(), and getDatafilePath().

                            {
    return getDataPath() + "/Rivet";
  }
bool Rivet::hadronFilter ( const Particle &  p)

Definition at line 12 of file HadronicFinalState.cc.

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

Referenced by HadronicFinalState::project().

                                       {
    return ! PID::isHadron(p.pdgId());
  }
int Rivet::index_between ( const NUM &  val,
const vector< NUM > &  binedges 
) [inline]

Return the bin index of the given value, val, given a vector of bin edges.

NB. The binedges vector must be sorted

Definition at line 281 of file MathUtils.hh.

References inRange().

Referenced by CDF_2008_S7782535::analyze(), and JetShape::calc().

                                                                        {
    if (!inRange(val, binedges.front(), binedges.back())) return -1; //< Out of histo range
    int index = -1;
    for (size_t i = 1; i < binedges.size(); ++i) {
      if (val < binedges[i]) {
        index = i-1;
        break;
      }
    }
    assert(inRange(index, -1, binedges.size()-1));
    return index;
  }
boost::enable_if_c< boost::is_arithmetic<N1>::value && boost::is_arithmetic<N2>::value && boost::is_arithmetic<N3>::value, bool>::type Rivet::inRange ( N1  value,
N2  low,
N3  high,
RangeBoundary  lowbound = CLOSED,
RangeBoundary  highbound = OPEN 
) [inline]

Determine if value is in the range low to high, for floating point numbers.

Interval boundary types are defined by lowbound and highbound.

Definition at line 104 of file MathUtils.hh.

References CLOSED, fuzzyGtrEquals(), fuzzyLessEquals(), and OPEN.

Referenced by H1_1995_S3167097::_getbin(), ATLAS_2012_I1118269::analyze(), H1_2000_S4129130::analyze(), CDF_2006_S6450792::analyze(), STAR_2008_S7993412::analyze(), STAR_2006_S6870392::analyze(), CDF_2008_S7540469::analyze(), ATLAS_2011_I930220::analyze(), ATLAS_2012_I1119557::analyze(), ATLAS_2013_I1243871::analyze(), UA1_1990_S2044935::analyze(), D0_2001_S4674421::analyze(), D0_2004_S5992206::analyze(), CDF_2010_S8591881_DY::analyze(), LHCB_2011_I917009::analyze(), MC_TTBAR::analyze(), D0_2008_S7719523::analyze(), ATLAS_2012_I1094568::analyze(), ATLAS_2011_I944826::analyze(), CDF_2004_S5839831::analyze(), ATLAS_2011_I919017::analyze(), ATLAS_2011_S9126244::analyzeJets(), InvMassFinalState::calc(), JetShape::calc(), JetShape::diffJetShape(), OPAL_2002_S5361494::finalize(), DELPHI_2000_S4328825::finalize(), ALEPH_2004_S5765862::finalize(), CMS_2013_I1224539_DIJET::findPtBin(), CMS_2013_I1224539_WJET::findPtBin(), CMS_2013_I1224539_ZJET::findPtBin(), ATLAS_2011_S9120807::getEtaBin(), OPAL_2004_S6132243::getHistIndex(), index_between(), inRange(), JetShape::intJetShape(), JetAlg::jets(), linspace(), TriggerCDFRun2::project(), TriggerCDFRun0Run1::project(), InitialQuarks::project(), TriggerUA5::project(), JetShape::rBinMax(), JetShape::rBinMid(), JetShape::rBinMin(), CDF_2012_NOTE10874::region_index(), ATLAS_2010_S8894728::region_index(), ATLAS_2011_S8994773::region_index(), and ATLAS_2012_I1125575::region_index().

                                                                       {
    if (lowbound == OPEN && highbound == OPEN) {
      return (value > low && value < high);
    } else if (lowbound == OPEN && highbound == CLOSED) {
      return (value > low && fuzzyLessEquals(value, high));
    } else if (lowbound == CLOSED && highbound == OPEN) {
      return (fuzzyGtrEquals(value, low) && value < high);
    } else { // if (lowbound == CLOSED && highbound == CLOSED) {
      return (fuzzyGtrEquals(value, low) && fuzzyLessEquals(value, high));
    }
  }
boost::enable_if_c< boost::is_arithmetic<N1>::value && boost::is_arithmetic<N2>::value && boost::is_arithmetic<N3>::value, bool>::type Rivet::inRange ( N1  value,
pair< N2, N3 >  lowhigh,
RangeBoundary  lowbound = CLOSED,
RangeBoundary  highbound = OPEN 
) [inline]

Alternative version of inRange which accepts a pair for the range arguments.

Definition at line 121 of file MathUtils.hh.

References inRange().

                                                                       {
    return inRange(value, lowhigh.first, lowhigh.second, lowbound, highbound);
  }
double Rivet::integral ( Histo1DPtr  histo) [inline]

Return the integral over the histogram bins

Deprecated:
Prefer to directly use the histo's integral() method.

Definition at line 44 of file RivetYODA.hh.

Referenced by JetShape::calc(), D0_2001_S4674421::finalize(), and CMS_2012_I1107658::finalize().

                                           {
    return histo->integral();
  }
set<PdgIdPair> Rivet::intersection ( const set< PdgIdPair > &  a,
const set< PdgIdPair > &  b 
) [inline]

Return the intersection of two sets of {PdgIdPair}s.

Definition at line 55 of file BeamConstraint.hh.

References compatible().

Referenced by Projection::beamPairs().

                                                                                       {
    set<PdgIdPair> ret;
    for (set<PdgIdPair>::const_iterator bp = a.begin(); bp != a.end(); ++bp) {
      if (compatible(*bp, b)) ret.insert(*bp);
    }
    return ret;
  }
boost::enable_if_c<boost::is_arithmetic<NUM>::value, NUM>::type Rivet::intpow ( NUM  val,
unsigned int  exp 
) [inline]

A more efficient version of pow for raising numbers to integer powers.

Definition at line 172 of file MathUtils.hh.

Referenced by _calcT(), ATLAS_2010_S8894728::_moments_to_stddev(), and ATLAS_2010_S8894728::analyze().

                                    {
    assert(exp >= 0);
    if (exp == 0) return (NUM) 1;
    else if (exp == 1) return val;
    return val * intpow(val, exp-1);
  }
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 250 of file Vector4.hh.

References FourVector::invariant().

Referenced by DISKinematics::project().

                                                {
    return lv.invariant();
  }
LorentzTransform Rivet::inverse ( const LorentzTransform &  lt) [inline]

Definition at line 149 of file LorentzTrans.hh.

References LorentzTransform::inverse().

                                                              {
    return lt.inverse();
  }
Matrix<N> Rivet::inverse ( const Matrix< N > &  m) [inline]

Definition at line 348 of file MatrixN.hh.

References Matrix< N >::inverse().

                                               {
    return m.inverse();
  }
bool Rivet::isInvisibleFilter ( const Particle &  p)

Definition at line 14 of file VisibleFinalState.cc.

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

Referenced by VisibleFinalState::project().

                                            {
    // Charged particles are visible
    if ( PID::threeCharge( p.pdgId() ) != 0 )
      return false;

    // Neutral hadrons are visible
    if ( PID::isHadron( p.pdgId() ) )
      return false;

    // Photons are visible
    if ( p.pdgId() == PID::PHOTON )
      return false;

    // Gluons are visible (for parton level analyses)
    if ( p.pdgId() == PID::GLUON )
      return false;

    // Everything else is invisible
    return true;
  }
boost::enable_if_c<boost::is_floating_point<NUM>::value, bool>::type Rivet::isZero ( NUM  val,
double  tolerance = 1e-8 
) [inline]

Compare a number to zero.

This version for floating point types has a degree of fuzziness expressed by the absolute tolerance parameter, for floating point safety.

Definition at line 21 of file MathUtils.hh.

Referenced by _mapAngleM2PITo2Pi(), CDF_2004_S5839831::analyze(), Vector3::azimuthalAngle(), FinalState::FinalState(), fuzzyEquals(), Matrix< 4 >::isDiag(), Matrix< 4 >::isEqual(), Vector< 4 >::isZero(), Matrix< 4 >::isZero(), mapAngle0To2Pi(), mapAngle0ToPi(), mapAngleMPiToPi(), DISKinematics::project(), UnstableFinalState::project(), rapidity(), safediv(), Hemispheres::scaledM2high(), Hemispheres::scaledM2low(), Matrix3::setAsRotation(), sign(), and toString().

                                         {
    return fabs(val) < tolerance;
  }
boost::enable_if_c<boost::is_integral<NUM>::value, bool>::type Rivet::isZero ( NUM  val,
double   UNUSEDtolerance = 1e-8 
) [inline]

Compare a number to zero.

SFINAE template specialisation for integers, since there is no FP precision issue.

Definition at line 31 of file MathUtils.hh.

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

External form of numerically safe nullness check.

Definition at line 201 of file VectorN.hh.

References Vector< N >::isZero().

                                                                {
    return v.isZero(tolerance);
  }
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< N >::isZero().

                                                                {
    return m.isZero(tolerance);
  }
std::string Rivet::join ( const vector< T > &  v,
const std::string &  sep = " " 
) [inline]

Make a string containing the string representations of each item in v, separated by sep.

Definition at line 100 of file Utils.hh.

References to_str().

Referenced by pathjoin(), and VetoedFinalState::project().

                                                                        {
    string rtn;
    for (size_t i = 0; i < v.size(); ++i) {
      if (i != 0) rtn += sep;
      rtn += to_str(v[i]);
    }
    return rtn;
  }
std::string Rivet::join ( const set< T > &  s,
const std::string &  sep = " " 
) [inline]

Make a string containing the string representations of each item in s, separated by sep.

Definition at line 111 of file Utils.hh.

References to_str().

                                                                     {
    string rtn;
    foreach (const T& x, s) {
      if (rtn.size() > 0) rtn += sep;
      rtn += to_str(x);
    }
    return rtn;
  }
vector<double> Rivet::linspace ( size_t  nbins,
double  start,
double  end,
bool  include_end = true 
) [inline]

Make a list of nbins + 1 values equally spaced between start and end inclusive.

NB. The arg ordering and the meaning of the nbins variable is "histogram-like", as opposed to the Numpy/Matlab version.

Definition at line 198 of file MathUtils.hh.

References CLOSED, and inRange().

Referenced by BWspace(), JetShape::JetShape(), and logspace().

                                                                                                {
    assert(end >= start);
    assert(nbins > 0);
    vector<double> rtn;
    const double interval = (end-start)/static_cast<double>(nbins);
    double edge = start;
    while (inRange(edge, start, end, CLOSED, CLOSED)) {
      rtn.push_back(edge);
      edge += interval;
    }
    assert(rtn.size() == nbins+1);
    if (!include_end) rtn.pop_back();
    return rtn;
  }
vector<double> Rivet::logspace ( size_t  nbins,
double  start,
double  end,
bool  include_end = true 
) [inline]

Make a list of nbins + 1 values exponentially spaced between start and end inclusive.

NB. The arg ordering and the meaning of the nbins variable is "histogram-like", as opposed to the Numpy/Matlab version, and the start and end arguments are expressed in "normal" space, rather than as the logarithms of the start/end values as in Numpy/Matlab.

Definition at line 219 of file MathUtils.hh.

References linspace().

Referenced by MC_DIPHOTON::init(), MC_HINC::init(), MC_WINC::init(), MC_ZINC::init(), MC_ZZINC::init(), MC_PHOTONINC::init(), MC_WWINC::init(), MC_ZZJETS::init(), MC_PDFS::init(), MC_JetAnalysis::init(), MC_WWJETS::init(), MC_TTBAR::init(), MC_PHOTONS::init(), and MC_WPOL::init().

                                                                                                {
    assert(end >= start);
    assert(start > 0);
    assert(nbins > 0);
    const double logstart = std::log(start);
    const double logend = std::log(end);
    const vector<double> logvals = linspace(nbins, logstart, logend);
    assert(logvals.size() == nbins+1);
    vector<double> rtn;
    foreach (double logval, logvals) {
      rtn.push_back(std::exp(logval));
    }
    assert(rtn.size() == nbins+1);
    if (!include_end) rtn.pop_back();
    return rtn;
  }
double Rivet::lorentzGamma ( const double  beta) [inline]

Definition at line 15 of file LorentzTrans.hh.

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

                                                {
    return 1.0 / sqrt(1 - beta*beta);
  }
Cut Rivet::make_cut ( t) [inline]

Definition at line 118 of file Cuts.cc.

Referenced by operator&(), operator<(), operator<=(), operator>(), operator>=(), operator^(), operator|(), and operator~().

                           {
    return boost::make_shared<T>(t);
  }
double Rivet::mapAngle ( double  angle,
PhiMapping  mapping 
) [inline]

Map an angle into the enum-specified range.

Definition at line 428 of file MathUtils.hh.

References mapAngle0To2Pi(), mapAngleMPiToPi(), MINUSPI_PLUSPI, ZERO_2PI, and ZERO_PI.

Referenced by Vector3::azimuthalAngle().

                                                           {
    switch (mapping) {
    case MINUSPI_PLUSPI:
      return mapAngleMPiToPi(angle);
    case ZERO_2PI:
      return mapAngle0To2Pi(angle);
    case ZERO_PI:
      return mapAngle0To2Pi(angle);
    default:
      throw Rivet::UserError("The specified phi mapping scheme is not implemented");
    }
  }
double Rivet::mapAngle0To2Pi ( double  angle) [inline]

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

Definition at line 410 of file MathUtils.hh.

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

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

                                             {
    double rtn = _mapAngleM2PITo2Pi(angle);
    if (isZero(rtn)) return 0;
    if (rtn < 0) rtn += TWOPI;
    if (rtn == TWOPI) rtn = 0;
    assert(rtn >= 0 && rtn < TWOPI);
    return rtn;
  }
double Rivet::mapAngle0ToPi ( double  angle) [inline]

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

Definition at line 420 of file MathUtils.hh.

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

Referenced by CDF_1997_S3541940::_psi(), CDF_1996_S3349578::_psi(), CDF_2005_S6080774::analyze(), D0_2010_S8570965::analyze(), ATLAS_2011_S8971293::analyze(), D0_2010_S8821313::analyze(), MC_PHOTONJETS::analyze(), MC_WWINC::analyze(), deltaPhi(), and Vector3::polarAngle().

                                            {
    double rtn = fabs(mapAngleMPiToPi(angle));
    if (isZero(rtn)) return 0;
    assert(rtn > 0 && rtn <= PI);
    return rtn;
  }
double Rivet::mapAngleMPiToPi ( double  angle) [inline]

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

Definition at line 400 of file MathUtils.hh.

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

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

                                              {
    double rtn = _mapAngleM2PITo2Pi(angle);
    if (isZero(rtn)) return 0;
    rtn = (rtn >   PI ? rtn-TWOPI :
           rtn <= -PI ? rtn+TWOPI : rtn);
    assert(rtn > -PI && rtn <= PI);
    return rtn;
  }
double Rivet::mass2 ( const FourMomentum &  v) [inline]

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

Definition at line 585 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(), D0_2001_S4674421::analyze(), and VetoedFinalState::project().

                                             {
    return v.mass2();
  }
double Rivet::mean ( const vector< int > &  sample) [inline]

Calculate the mean of a sample.

Definition at line 301 of file MathUtils.hh.

Referenced by ATLAS_2010_S8894728::_moments_to_stddev(), ATLAS_2011_S8994773::analyze(), ATLAS_2010_S8894728::analyze(), covariance(), and covariance_err().

                                                {
    double mean = 0.0;
    for (size_t i=0; i<sample.size(); ++i) {
      mean += sample[i];
    }
    return mean/sample.size();
  }
double Rivet::mean_err ( const vector< int > &  sample) [inline]

Definition at line 310 of file MathUtils.hh.

Referenced by covariance_err().

                                                    {
    double mean_e = 0.0;
    for (size_t i=0; i<sample.size(); ++i) {
      mean_e += sqrt(sample[i]);
    }
    return mean_e/sample.size();
  }
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< N >::mod().

Referenced by FParameter::_calcFParameter(), _calcS(), Spherocity::_calcSpherocity(), _calcT(), Thrust::_calcThrust(), D0_1996_S3214044::_fourJetAnalysis(), and Hemispheres::project().

                                        {
    return v.mod();
  }
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< N >::mod2().

                                         {
    return v.mod2();
  }
bool Rivet::mod2Cmp ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 41 of file Thrust.cc.

References Vector< N >::mod2().

Referenced by _calcT().

                                                          {
    return a.mod2() > b.mod2();
  }
FourMomentum Rivet::momentum ( const fastjet::PseudoJet &  pj) [inline]

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

Definition at line 36 of file FastJets.hh.

Referenced by D0_1996_S3214044::_fourJetAnalysis(), D0_1996_S3214044::_threeJetAnalysis(), BABAR_2003_I593379::analyze(), BELLE_2001_S4598261::analyze(), ARGUS_1993_S2653028::analyze(), MC_JetAnalysis::analyze(), OPAL_1993_S2692198::analyze(), SLD_2004_S5693039::analyze(), CMS_2011_S8950903::analyze(), SLD_1999_S3743934::analyze(), D0_2011_I895662::analyze(), CMS_2011_I954992::analyze(), CDF_2008_S8093652::analyze(), CMS_2011_S8968497::analyze(), BABAR_2007_S7266081::analyze(), MC_DIPHOTON::analyze(), CDF_2005_S6080774::analyze(), MC_HJETS::analyze(), MC_WJETS::analyze(), MC_ZJETS::analyze(), CDF_2008_S7540469::analyze(), CMS_2011_S9215166::analyze(), D0_2010_S8566488::analyze(), MC_DIJET::analyze(), MC_LEADJETUE::analyze(), ATLAS_2011_S8971293::analyze(), D0_2009_S8320160::analyze(), CDF_1994_S2952106::analyze(), MC_PHOTONJETS::analyze(), MC_PHOTONS::analyze(), MC_WWJETS::analyze(), ATLAS_2012_I946427::analyze(), STAR_2009_UE_HELEN::analyze(), D0_2004_S5992206::analyze(), D0_1996_S3214044::analyze(), ATLAS_2012_CONF_2012_104::analyze(), ATLAS_2012_I1126136::analyze(), ATLAS_2012_I1186556::analyze(), ATLAS_2012_CONF_2012_105::analyze(), MC_TTBAR::analyze(), ATLAS_2012_I1112263::analyze(), ATLAS_2012_I1095236::analyze(), ATLAS_2012_CONF_2012_001::analyze(), ATLAS_2012_I1180197::analyze(), ATLAS_2011_CONF_2011_090::analyze(), ATLAS_2013_I1230812::analyze(), ATLAS_2012_CONF_2012_153::analyze(), ATLAS_2011_I945498::analyze(), ATLAS_2011_S9212353::analyze(), ATLAS_2012_I943401::analyze(), CDF_2004_S5839831::analyze(), and CMS_2013_I1258128::makeZCut().

                                                           {
    return FourMomentum(pj.E(), pj.px(), pj.py(), pj.pz());
  }
Vector3 Rivet::momentum3 ( const fastjet::PseudoJet &  pj) [inline]

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

Definition at line 31 of file FastJets.hh.

                                                       {
    return Vector3(pj.px(), pj.py(), pj.pz());
  }
Vector3 multiply ( const double  a,
const Vector3 &  v 
) [inline]

Definition at line 199 of file Vector3.hh.

References Vector< N >::_vec.

                                                            {
    Vector3 result;
    result._vec = a * v._vec;
    return result;
  }
Vector3 multiply ( const Vector3 &  v,
const double  a 
) [inline]

Definition at line 205 of file Vector3.hh.

References multiply().

                                                            {
    return multiply(a, v);
  }
Matrix< N > multiply ( const Matrix< N > &  a,
const Matrix< N > &  b 
) [inline]

Definition at line 311 of file MatrixN.hh.

References Matrix< N >::_matrix.

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

                                                                    {
    Matrix<N> tmp;
    tmp._matrix = a._matrix * b._matrix;
    return tmp;
  }
FourVector Rivet::multiply ( const double  a,
const FourVector &  v 
) [inline]

Definition at line 212 of file Vector4.hh.

References Vector< N >::_vec.

                                                                  {
    FourVector result;
    result._vec = a * v._vec;
    return result;
  }
FourVector Rivet::multiply ( const FourVector &  v,
const double  a 
) [inline]

Definition at line 218 of file Vector4.hh.

References multiply().

                                                                  {
    return multiply(a, v);
  }
Matrix<N> Rivet::multiply ( const double  a,
const Matrix< N > &  m 
) [inline]

Definition at line 284 of file MatrixN.hh.

References Matrix< N >::_matrix.

                                                                {
    Matrix<N> rtn;
    rtn._matrix = a * m._matrix;
    return rtn;
  }
Matrix<N> Rivet::multiply ( const Matrix< N > &  m,
const double  a 
) [inline]

Definition at line 291 of file MatrixN.hh.

References multiply().

                                                                {
    return multiply(a, m);
  }
Vector< N > multiply ( const Matrix< N > &  a,
const Vector< N > &  b 
) [inline]

Definition at line 324 of file MatrixN.hh.

References Matrix< N >::_matrix, and Vector< N >::_vec.

                                                                    {
    Vector<N> tmp;
    tmp._vec = a._matrix * b._vec;
    return tmp;
  }
FourMomentum Rivet::multiply ( const double  a,
const FourMomentum &  v 
) [inline]

Definition at line 541 of file Vector4.hh.

References Vector< N >::_vec.

                                                                      {
    FourMomentum result;
    result._vec = a * v._vec;
    return result;
  }
FourMomentum Rivet::multiply ( const FourMomentum &  v,
const double  a 
) [inline]

Definition at line 547 of file Vector4.hh.

References multiply().

                                                                      {
    return multiply(a, v);
  }
int Rivet::nocase_cmp ( const std::string &  s1,
const std::string &  s2 
) [inline]

Case-insensitive string comparison function

Todo:
Replace with something from the Boost string library

Definition at line 39 of file Utils.hh.

Referenced by nocase_equals().

                                                                  {
    string::const_iterator it1 = s1.begin();
    string::const_iterator it2 = s2.begin();
    while ( (it1 != s1.end()) && (it2 != s2.end()) ) {
      if(::toupper(*it1) != ::toupper(*it2)) { // < Letters differ?
        // Return -1 to indicate smaller than, 1 otherwise
        return (::toupper(*it1) < ::toupper(*it2)) ? -1 : 1;
      }
      // Proceed to the next character in each string
      ++it1;
      ++it2;
    }
    size_t size1 = s1.size(), size2 = s2.size(); // Cache lengths
    // Return -1,0 or 1 according to strings' lengths
    if (size1 == size2) return 0;
    return (size1 < size2) ? -1 : 1;
  }
bool Rivet::nocase_equals ( const std::string &  s1,
const std::string &  s2 
) [inline]

Case-insensitive string equality function.

Definition at line 59 of file Utils.hh.

References nocase_cmp().

                                                                      {
    return nocase_cmp(s1, s2) == 0;
  }
bool Rivet::nonHadronFilter ( const Particle &  p)

Definition at line 12 of file NonHadronicFinalState.cc.

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

Referenced by NonHadronicFinalState::project().

                                          {
    return PID::isHadron(p.pdgId());
  }
Cut operator& ( const Cut  aptr,
const Cut  bptr 
)

Logical AND operation on two cuts.

Operators

Definition at line 220 of file Cuts.cc.

References make_cut().

                                                  {
    return make_cut(CutsAnd(aptr,bptr));
  }
Vector3 operator* ( const double  a,
const Vector3 &  v 
) [inline]

Definition at line 209 of file Vector3.hh.

References multiply().

                                                             {
    return multiply(a, v);
  }
Vector3 operator* ( const Vector3 &  v,
const double  a 
) [inline]

Definition at line 213 of file Vector3.hh.

References multiply().

                                                             {
    return multiply(a, v);
  }
Matrix< N > operator* ( const Matrix< N > &  a,
const Matrix< N > &  b 
) [inline]

Definition at line 318 of file MatrixN.hh.

References multiply().

                                                                     {
    return multiply(a, b);
  }
FourVector Rivet::operator* ( const double  a,
const FourVector &  v 
) [inline]

Definition at line 222 of file Vector4.hh.

References multiply().

                                                                   {
    return multiply(a, v);
  }
FourVector Rivet::operator* ( const FourVector &  v,
const double  a 
) [inline]

Definition at line 226 of file Vector4.hh.

References multiply().

                                                                   {
    return multiply(a, v);
  }
Matrix<N> Rivet::operator* ( const double  a,
const Matrix< N > &  m 
) [inline]

Definition at line 301 of file MatrixN.hh.

References multiply().

                                                                 {
    return multiply(a, m);
  }
Matrix<N> Rivet::operator* ( const Matrix< N > &  m,
const double  a 
) [inline]

Definition at line 306 of file MatrixN.hh.

References multiply().

                                                                 {
    return multiply(a, m);
  }
Vector<N> Rivet::operator* ( const Matrix< N > &  a,
const Vector< N > &  b 
) [inline]

Definition at line 331 of file MatrixN.hh.

References multiply().

                                                                     {
    return multiply(a, b);
  }
FourMomentum Rivet::operator* ( const double  a,
const FourMomentum &  v 
) [inline]

Definition at line 551 of file Vector4.hh.

References multiply().

                                                                       {
    return multiply(a, v);
  }
FourMomentum Rivet::operator* ( const FourMomentum &  v,
const double  a 
) [inline]

Definition at line 555 of file Vector4.hh.

References multiply().

                                                                       {
    return multiply(a, v);
  }
Vector3 operator+ ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 233 of file Vector3.hh.

References add().

                                                               {
    return add(a, b);
  }
FourVector Rivet::operator+ ( const FourVector &  a,
const FourVector &  b 
) [inline]

Definition at line 240 of file Vector4.hh.

References add().

                                                                        {
    return add(a, b);
  }
Matrix<N> Rivet::operator+ ( const Matrix< N >  a,
const Matrix< N > &  b 
) [inline]

Definition at line 274 of file MatrixN.hh.

References add().

                                                                    {
    return add(a, b);
  }
FourMomentum Rivet::operator+ ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 569 of file Vector4.hh.

References add().

                                                                              {
    return add(a, b);
  }
Vector3 operator- ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 237 of file Vector3.hh.

References subtract().

                                                               {
    return subtract(a, b);
  }
FourVector Rivet::operator- ( const FourVector &  a,
const FourVector &  b 
) [inline]

Definition at line 244 of file Vector4.hh.

References add().

                                                                        {
    return add(a, -b);
  }
Matrix<N> Rivet::operator- ( const Matrix< N >  a,
const Matrix< N > &  b 
) [inline]

Definition at line 279 of file MatrixN.hh.

References subtract().

                                                                    {
    return subtract(a, b);
  }
FourMomentum Rivet::operator- ( const FourMomentum &  a,
const FourMomentum &  b 
) [inline]

Definition at line 573 of file Vector4.hh.

References add().

                                                                              {
    return add(a, -b);
  }
Vector3 operator/ ( const Vector3 &  v,
const double  a 
) [inline]

Definition at line 217 of file Vector3.hh.

References multiply().

                                                             {
    return multiply(1.0/a, v);
  }
FourVector Rivet::operator/ ( const FourVector &  v,
const double  a 
) [inline]

Definition at line 230 of file Vector4.hh.

References multiply().

                                                                   {
    return multiply(1.0/a, v);
  }
FourMomentum Rivet::operator/ ( const FourMomentum &  v,
const double  a 
) [inline]

Definition at line 559 of file Vector4.hh.

References multiply().

                                                                       {
    return multiply(1.0/a, v);
  }
Cut operator< ( Cuts::Quantity  qty,
double  n 
)

Definition at line 122 of file Cuts.cc.

References make_cut().

                                              {
    return make_cut(Cut_Less(qty, n));
  }
Cut Rivet::operator< ( Cuts::Quantity  qty,
int  i 
) [inline]
Todo:
Can do more here: AbsEtaLess, PtGtr

Definition at line 61 of file Cuts.hh.

{ return qty <  double(i); }
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 52 of file Rivet.hh.

                                                                         {
    os << "[ ";
    for (size_t i=0; i<vec.size(); ++i) {
      os << vec[i] << " ";
    }
    os << "]";
    return os;
  }
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 64 of file Rivet.hh.

                                                                       {
    os << "[ ";
    for (size_t i=0; i<vec.size(); ++i) {
      os << vec[i] << " ";
    }
    os << "]";
    return os;
  }
ostream& Rivet::operator<< ( std::ostream &  out,
const typename EigenSystem< N >::EigenPair &  e 
) [inline]

Definition at line 142 of file MatrixDiag.hh.

References toString().

                                                                                       {
  out << toString(e);
  return out;
}
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 189 of file Logging.cc.

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

                                           {
    if (log.isActive(level)) {
      cout << log.formatMessage(level, "");
      return cout;
    } else {
      return *(log._nostream);
    }
  }
ostream& Rivet::operator<< ( std::ostream &  out,
const LorentzTransform &  lt 
) [inline]

Definition at line 169 of file LorentzTrans.hh.

References toString().

                                                                          {
    out << toString(lt);
    return out;
  }
std::ostream& Rivet::operator<< ( std::ostream &  out,
const Vector< N > &  v 
) [inline]

Stream out string representation.

Definition at line 176 of file VectorN.hh.

References toString().

                                                                     {
    out << toString(v);
    return out;
  }
std::ostream& Rivet::operator<< ( std::ostream &  os,
const ParticlePair &  pp 
) [inline]

Allow ParticlePair to be passed to an ostream.

Definition at line 216 of file Particle.hh.

References toString().

                                                                        {
    os << toString(pp);
    return os;
  }
std::ostream& Rivet::operator<< ( std::ostream &  os,
const AnalysisInfo &  ai 
) [inline]

Stream an AnalysisInfo as a text description.

Definition at line 239 of file AnalysisInfo.hh.

References toString().

                                                                        {
    os << toString(ai);
    return os;
  }
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().

                                                                  {
    out << toString(m);
    return out;
  }
std::ostream& Rivet::operator<< ( std::ostream &  out,
const FourVector &  lv 
) [inline]

Write a 4-vector to an ostream.

Definition at line 1063 of file Vector4.hh.

References toString().

                                                                       {
    out << toString(lv);
    return out;
  }
Cut operator<= ( Cuts::Quantity  qty,
double  n 
)

Definition at line 130 of file Cuts.cc.

References make_cut().

                                               {
    return make_cut(Cut_LessEq(qty, n));
  }
Cut Rivet::operator<= ( Cuts::Quantity  qty,
int  i 
) [inline]

Definition at line 63 of file Cuts.hh.

{ return qty <= double(i); }
bool Rivet::operator== ( const Cut &  a,
const Cut &  b 
) [inline]

Definition at line 35 of file Cuts.hh.

{ return *a == b; }
Cut operator> ( Cuts::Quantity  qty,
double  n 
)

Definition at line 134 of file Cuts.cc.

References make_cut().

                                              {
    return make_cut(Cut_Gtr(qty, n));
  }
Cut Rivet::operator> ( Cuts::Quantity  qty,
int  i 
) [inline]

Definition at line 62 of file Cuts.hh.

{ return qty >  double(i); }
Cut operator>= ( Cuts::Quantity  qty,
double  n 
)

Definition at line 126 of file Cuts.cc.

References make_cut().

                                               {
    return make_cut(Cut_GtrEq(qty, n));
  }
Cut Rivet::operator>= ( Cuts::Quantity  qty,
int  i 
) [inline]

Definition at line 64 of file Cuts.hh.

{ return qty >= double(i); }
Cut operator^ ( const Cut  aptr,
const Cut  bptr 
)

Logical XOR operation on two cuts.

Definition at line 232 of file Cuts.cc.

References make_cut().

                                                  {
    return make_cut(CutsXor(aptr,bptr));
  }
Cut operator| ( const Cut  aptr,
const Cut  bptr 
)

Logical OR operation on two cuts.

Definition at line 224 of file Cuts.cc.

References make_cut().

                                                  {
    return make_cut(CutsOr(aptr,bptr));
  }
Cut operator~ ( const Cut  cptr)

Logical NOT operation on a cut.

Definition at line 228 of file Cuts.cc.

References make_cut().

                                  {
    return make_cut(CutInvert(cptr));
  }
std::vector<GenParticle*> Rivet::particles ( const GenEvent &  ge) [inline]
Todo:
Add functions from mcutils

Definition at line 24 of file RivetHepMC.hh.

References pi.

Referenced by ATLAS_2012_I1118269::analyze(), BABAR_2003_I593379::analyze(), BELLE_2001_S4598261::analyze(), ARGUS_1993_S2653028::analyze(), H1_2000_S4129130::analyze(), LHCB_2010_I867355::analyze(), CMS_2011_S8941262::analyze(), CMS_2011_I954992::analyze(), ARGUS_1993_S2669951::analyze(), H1_1994_S2919893::analyze(), MC_DIPHOTON::analyze(), CDF_2005_S6080774::analyze(), SLD_2002_S4869273::analyze(), ATLAS_2011_S9035664::analyze(), ALEPH_2001_S4656318::analyze(), CDF_1993_S2742446::analyze(), DELPHI_2002_069_CONF_603::analyze(), ATLAS_2012_I1188891::analyze(), CDF_2009_S8436959::analyze(), CDF_2012_NOTE10874::analyze(), MC_PHOTONINC::analyze(), MC_PHOTONKTSPLITTINGS::analyze(), D0_2010_S8570965::analyze(), MC_IDENTIFIED::analyze(), D0_2006_S6438750::analyze(), ALEPH_1996_S3196992::analyze(), MC_PHOTONJETS::analyze(), MC_PHOTONS::analyze(), EXAMPLE::analyze(), CDF_2008_S8095620::analyze(), CMS_2011_S9120041::analyze(), ATLAS_2012_I946427::analyze(), CMS_2012_I1107658::analyze(), JADE_OPAL_2000_S4300807::analyze(), ATLAS_2013_I1243871::analyze(), ARGUS_1993_S2789213::analyze(), ATLAS_2012_I1183818::analyze(), ATLAS_2012_CONF_2012_104::analyze(), ATLAS_2012_I1126136::analyze(), ATLAS_2012_I1190891::analyze(), ATLAS_2011_S9108483::analyze(), ATLAS_2012_I1186556::analyze(), ATLAS_2011_S9212183::analyze(), ATLAS_2012_CONF_2012_105::analyze(), ATLAS_2011_S9120807::analyze(), ATLAS_2011_CONF_2011_098::analyze(), ATLAS_2012_CONF_2012_103::analyze(), ATLAS_2012_I1112263::analyze(), ATLAS_2010_S8914702::analyze(), ATLAS_2012_I1117704::analyze(), ATLAS_2012_I1125961::analyze(), D0_2008_S7719523::analyze(), ATLAS_2012_I1095236::analyze(), ATLAS_2012_CONF_2012_001::analyze(), ATLAS_2012_CONF_2012_109::analyze(), ATLAS_2012_I1180197::analyze(), ATLAS_2011_S8983313::analyze(), ATLAS_2011_CONF_2011_090::analyze(), ATLAS_2011_S9019561::analyze(), ATLAS_2012_CONF_2012_153::analyze(), OPAL_2001_S4553896::analyze(), ATLAS_2011_S9212353::analyze(), ATLAS_2012_I943401::analyze(), ATLAS_2011_S9225137::analyze(), ATLAS_2012_I1093738::analyze(), ATLAS_2011_S9041966::analyze(), ATLAS_2012_I1094568::analyze(), CDF_2004_S5839831::analyze(), ATLAS_2012_I1093734::analyze(), Jet::containsBottom(), Jet::containsCharm(), ATLAS_2011_I944826::daughtersSurviveCuts(), Particle::fromBottom(), Particle::fromCharm(), Particle::fromDecay(), Particle::fromTau(), Particle::hasAncestor(), particles(), particles_in(), particles_out(), BeamThrust::project(), FParameter::project(), InitialQuarks::project(), UnstableFinalState::project(), Spherocity::project(), Thrust::project(), Sphericity::project(), Hemispheres::project(), FinalState::project(), and FastJets::project().

                                                               {
    std::vector<GenParticle*> rtn;
    for (GenEvent::particle_const_iterator pi = ge.particles_begin(); pi != ge.particles_end(); ++pi) {
      rtn.push_back(*pi);
    }
    return rtn;
  }
std::vector<GenParticle*> Rivet::particles ( const GenEvent *  ge) [inline]

Definition at line 31 of file RivetHepMC.hh.

References particles().

                                                               {
    assert(ge);
    return particles(*ge);
  }
std::vector<GenParticle*> Rivet::particles ( GenVertex *  gv,
HepMC::IteratorRange  range = HepMC::relatives 
) [inline]

Definition at line 80 of file RivetHepMC.hh.

References pi.

                                                                                                   {
    std::vector<GenParticle*> rtn;
    for (GenVertex::particle_iterator pi = gv->particles_begin(range); pi != gv->particles_end(range); ++pi) {
      rtn.push_back(*pi);
    }
    return rtn;
  }
std::pair<GenVertex::particles_in_const_iterator, GenVertex::particles_in_const_iterator> Rivet::particles_in ( const GenVertex *  gv) [inline]

Definition at line 69 of file RivetHepMC.hh.

Referenced by PrimaryHadrons::project(), and InitialQuarks::project().

                                    {
    return make_pair(gv->particles_in_const_begin(), gv->particles_in_const_end());
  }
std::vector<GenParticle*> Rivet::particles_in ( const GenParticle *  gp,
HepMC::IteratorRange  range = HepMC::ancestors 
) [inline]

Get the direct parents or all-ancestors of GenParticle gp.

Definition at line 96 of file RivetHepMC.hh.

References particles().

                                                                                                              {
    if (range != HepMC::parents && range != HepMC::ancestors)
      throw UserError("Requested particles_in(GenParticle*) with a non-'in' iterator range");
    return (gp->production_vertex()) ? particles(gp->production_vertex(), range) : std::vector<GenParticle*>();
  }
std::pair<GenVertex::particles_out_const_iterator, GenVertex::particles_out_const_iterator> Rivet::particles_out ( const GenVertex *  gv) [inline]

Definition at line 75 of file RivetHepMC.hh.

Referenced by InitialQuarks::project(), and HeavyHadrons::project().

                                     {
    return make_pair(gv->particles_out_const_begin(), gv->particles_out_const_end());
  }
std::vector<GenParticle*> Rivet::particles_out ( const GenParticle *  gp,
HepMC::IteratorRange  range = HepMC::descendants 
) [inline]

Get the direct children or all-descendents of GenParticle gp.

Definition at line 104 of file RivetHepMC.hh.

References particles().

                                                                                                                 {
    if (range != HepMC::children && range != HepMC::descendants)
      throw UserError("Requested particles_out(GenParticle*) with a non-'out' iterator range");
    return (gp->end_vertex()) ? particles(gp->end_vertex(), range) : std::vector<GenParticle*>();
  }
std::string Rivet::pathjoin ( const vector< std::string > &  paths) [inline]

Join several filesystem paths together with the standard ':' delimiter.

Note that this does NOT join path elements together with a platform-portable directory delimiter, cf. the Python {os.path.join}!

Definition at line 149 of file Utils.hh.

References join().

Referenced by setAnalysisLibPaths().

                                                            {
    return join(paths, ":");
  }
vector<std::string> Rivet::pathsplit ( const std::string &  path) [inline]

Split a path string with colon delimiters.

Ignores zero-length substrings. Designed for getting elements of filesystem paths, naturally.

Definition at line 129 of file Utils.hh.

Referenced by getAnalysisInfoPaths(), getAnalysisLibPaths(), getAnalysisPlotPaths(), and getAnalysisRefPaths().

                                                            {
    const string delim = ":";
    vector<string> dirs;
    string tmppath = path;
    while (true) {
      const size_t delim_pos = tmppath.find(delim);
      if (delim_pos == string::npos) break;
      const string dir = tmppath.substr(0, delim_pos);
      if (dir.length()) dirs.push_back(dir); // Don't insert "empties"
      tmppath.replace(0, delim_pos+1, "");
    }
    if (tmppath.length()) dirs.push_back(tmppath); // Don't forget the trailing component!
    return dirs;
  }
const PROJ& Rivet::pcast ( const Projection &  p) [inline]

Convenience method for casting to a const Projection reference.

Definition at line 33 of file Projection.fhh.

                                                {
    return dynamic_cast<const PROJ&>(p);
  }
const PROJ* Rivet::pcast ( const Projection *  p) [inline]

Convenience method for casting to a const Projection pointer.

Definition at line 40 of file Projection.fhh.

                                                {
    return dynamic_cast<const PROJ*>(p);
  }
Cmp<Projection> Rivet::pcmp ( const Projection &  p1,
const Projection &  p2 
) [inline]

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

Definition at line 295 of file Cmp.hh.

Referenced by ProjectionHandler::_getEquiv(), Projection::mkNamedPCmp(), and Projection::mkPCmp().

                                                                          {
    return Cmp<Projection>(p1, p2);
  }
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 301 of file Cmp.hh.

References ProjectionApplier::getProjection().

                                                                                                         {
    return Cmp<Projection>(parent1.getProjection(pname), parent2.getProjection(pname));
  }
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 308 of file Cmp.hh.

References ProjectionApplier::getProjection().

                                                                                                         {
    assert(parent1);
    return Cmp<Projection>(parent1->getProjection(pname), parent2.getProjection(pname));
  }
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 316 of file Cmp.hh.

References ProjectionApplier::getProjection().

                                                                                                         {
    assert(parent2);
    return Cmp<Projection>(parent1.getProjection(pname), parent2->getProjection(pname));
  }
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 323 of file Cmp.hh.

References ProjectionApplier::getProjection().

                                                                                                         {
    assert(parent1);
    assert(parent2);
    return Cmp<Projection>(parent1->getProjection(pname), parent2->getProjection(pname));
  }
double Rivet::perp ( const FourVector &  v) [inline]

Synonym for polarRadius.

Definition at line 287 of file Vector4.hh.

References FourVector::perp().

                                          {
    return v.perp();
  }
double Rivet::perp2 ( const Vector3 &  v) [inline]

Synonym for polarRadius2.

Definition at line 253 of file Vector3.hh.

References Vector3::perp2().

                                        {
    return v.perp2();
  }
double Rivet::perp2 ( const FourVector &  v) [inline]

Synonym for polarRadius2.

Definition at line 274 of file Vector4.hh.

References FourVector::perp2().

                                           {
    return v.perp2();
  }
double Rivet::phi ( const FourVector &  v,
const PhiMapping  mapping = ZERO_2PI 
) [inline]

Synonym for azimuthalAngle.

Definition at line 300 of file Vector4.hh.

References FourVector::phi().

                                                                              {
    return v.phi(mapping);
  }
double Rivet::polarAngle ( const Vector3 &  v) [inline]

Calculate polar angle of a 3-vector.

Definition at line 286 of file Vector3.hh.

References Vector3::polarAngle().

                                             {
    return v.polarAngle();
  }
double Rivet::polarAngle ( const FourVector &  v) [inline]

Calculate polar angle of a Lorentz vector.

Definition at line 306 of file Vector4.hh.

References FourVector::polarAngle().

                                                {
    return v.polarAngle();
  }
double Rivet::polarRadius ( const Vector3 &  v) [inline]

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

Definition at line 262 of file Vector3.hh.

References Vector3::polarRadius().

                                              {
    return v.polarRadius();
  }
double Rivet::polarRadius ( const FourVector &  v) [inline]

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

Definition at line 283 of file Vector4.hh.

References FourVector::polarRadius().

                                                 {
    return v.polarRadius();
  }
double Rivet::polarRadius2 ( const Vector3 &  v) [inline]

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

Definition at line 249 of file Vector3.hh.

References Vector3::polarRadius2().

                                               {
    return v.polarRadius2();
  }
double Rivet::polarRadius2 ( const FourVector &  v) [inline]

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

Definition at line 270 of file Vector4.hh.

References FourVector::polarRadius2().

                                                  {
    return v.polarRadius2();
  }
double Rivet::pseudorapidity ( const Vector3 &  v) [inline]

Calculate pseudorapidity of a 3-vector.

Definition at line 295 of file Vector3.hh.

References Vector3::pseudorapidity().

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

                                                 {
    return v.pseudorapidity();
  }
double Rivet::pseudorapidity ( const FourVector &  v) [inline]

Calculate pseudorapidity of a Lorentz vector.

Definition at line 315 of file Vector4.hh.

References FourVector::pseudorapidity().

                                                    {
    return v.pseudorapidity();
  }
double Rivet::pT ( const FourMomentum &  v) [inline]

Calculate the transverse momentum $ p_T $ of a momentum 4-vector.

Definition at line 615 of file Vector4.hh.

References FourMomentum::pT().

Referenced by MC_JetAnalysis::analyze(), CMS_2012_I1087342::analyze(), CMS_2010_S8656010::analyze(), CMS_2011_S8950903::analyze(), ATLAS_2010_S8591806::analyze(), CMS_2012_PAS_QCD_11_010::analyze(), LHCF_2012_I1115479::analyze(), CMS_2011_I954992::analyze(), D0_2011_I895662::analyze(), ALICE_2011_S8909580::analyze(), CMS_2011_S8957746::analyze(), H1_1994_S2919893::analyze(), D0_2007_S7075677::analyze(), CMS_2010_S8547297::analyze(), MC_DIPHOTON::analyze(), ATLAS_2011_S8994773::analyze(), D0_2008_S6879055::analyze(), ALICE_2010_S8706239::analyze(), ATLAS_2012_I1188891::analyze(), CDF_2012_NOTE10874::analyze(), LHCB_2011_I919315::analyze(), MC_LEADJETUE::analyze(), MC_DIJET::analyze(), ATLAS_2011_S8971293::analyze(), D0_2008_S7863608::analyze(), STAR_2006_S6500200::analyze(), CDF_2009_S8233977::analyze(), CDF_1994_S2952106::analyze(), CMS_2011_S8978280::analyze(), MC_PHOTONS::analyze(), STAR_2006_S6860818::analyze(), ATLAS_2010_S8817804::analyze(), LHCB_2010_S8758301::analyze(), STAR_2009_UE_HELEN::analyze(), CMS_2012_I1107658::analyze(), ATLAS_2010_S8919674::analyze(), D0_2001_S4674421::analyze(), CMS_2013_I1218372::analyze(), ATLAS_2012_I1082936::analyze(), LHCB_2013_I1218996::analyze(), MC_PHOTONJETUE::analyze(), CDF_2010_S8591881_DY::analyze(), CDF_2010_S8591881_QCD::analyze(), ATLAS_2012_CONF_2012_104::analyze(), LHCB_2011_I917009::analyze(), ATLAS_2012_I1190891::analyze(), ATLAS_2011_S9108483::analyze(), ATLAS_2011_S9128077::analyze(), STAR_2008_S7869363::analyze(), MC_TTBAR::analyze(), ATLAS_2011_CONF_2011_098::analyze(), ATLAS_2012_CONF_2012_103::analyze(), CDF_2001_S4751469::analyze(), ATLAS_2012_I1117704::analyze(), ATLAS_2012_CONF_2012_001::analyze(), LHCB_2012_I1119400::analyze(), ATLAS_2012_CONF_2012_109::analyze(), ATLAS_2012_I1180197::analyze(), ATLAS_2011_CONF_2011_090::analyze(), ATLAS_2012_I1083318::analyze(), ATLAS_2010_S8894728::analyze(), ATLAS_2012_CONF_2012_153::analyze(), ATLAS_2011_I945498::analyze(), ATLAS_2011_S9212353::analyze(), ATLAS_2011_S9225137::analyze(), ATLAS_2011_S9041966::analyze(), ATLAS_2011_I944826::analyze(), DELPHI_1996_S3430090::analyze(), ATLAS_2011_S9126244::analyze(), ATLAS_2011_S9126244::analyzeJets(), CMS_2013_I1258128::makeZCut(), and InitialQuarks::project().

                                          {
    return v.pT();
  }
double Rivet::pT2 ( const FourMomentum &  v) [inline]

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

Definition at line 610 of file Vector4.hh.

References FourMomentum::pT2().

Referenced by H1_1994_S2919893::analyze(), and ATLAS_2011_S9128077::analyze().

                                           {
    return v.pT2();
  }
Cut Range ( Cuts::Quantity  qty,
double  m,
double  n 
)

Definition at line 138 of file Cuts.cc.

References Rivet::PID::n.

Referenced by EXAMPLE_CUTS::analyze(), and EtaIn().

                                                  {
    if (m > n) swap(m,n);
    return (qty >= m) & (qty < n);
  }
double Rivet::rap ( const FourMomentum &  v) [inline]

Calculate the rapidity of a momentum 4-vector.

Definition at line 595 of file Vector4.hh.

References FourMomentum::rap().

Referenced by H1_1995_S3167097::analyze().

                                           {
    return v.rap();
  }
double Rivet::rapidity ( double  E,
double  pz 
) [inline]

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

Definition at line 476 of file MathUtils.hh.

References isZero(), and MAXDOUBLE.

Referenced by D0_2011_I895662::analyze(), CMS_2012_I1102908::analyze(), ATLAS_2011_S9035664::analyze(), ATLAS_2011_S8971293::analyze(), D0_2008_S7863608::analyze(), CDF_2008_S8095620::analyze(), CDF_2006_S6653332::analyze(), MC_GENERIC::analyze(), ATLAS_2012_I1083318::analyze(), ATLAS_2013_I1230812::analyze(), ATLAS_2011_I945498::analyze(), ATLAS_2012_I1094568::analyze(), ATLAS_2011_S9126244::analyze(), and ATLAS_2011_S9126244::analyzeJets().

                                              {
    if (isZero(E - pz)) {
      throw std::runtime_error("Divergent positive rapidity");
      return MAXDOUBLE;
    }
    if (isZero(E + pz)) {
      throw std::runtime_error("Divergent negative rapidity");
      return -MAXDOUBLE;
    }
    return 0.5*log((E+pz)/(E-pz));
  }
double Rivet::rapidity ( const FourMomentum &  v) [inline]

Calculate the rapidity of a momentum 4-vector.

Definition at line 590 of file Vector4.hh.

References FourMomentum::rapidity().

                                                {
    return v.rapidity();
  }
double Rivet::rho ( const Vector3 &  v) [inline]

Synonym for polarRadius.

Definition at line 270 of file Vector3.hh.

References Vector3::rho().

                                      {
    return v.rho();
  }
double Rivet::rho ( const FourVector &  v) [inline]

Synonym for polarRadius.

Definition at line 291 of file Vector4.hh.

References FourVector::rho().

                                         {
    return v.rho();
  }
double Rivet::rho2 ( const Vector3 &  v) [inline]

Synonym for polarRadius2.

Definition at line 257 of file Vector3.hh.

References Vector3::rho2().

                                       {
    return v.rho2();
  }
double Rivet::rho2 ( const FourVector &  v) [inline]

Synonym for polarRadius2.

Definition at line 278 of file Vector4.hh.

References FourVector::rho2().

                                          {
    return v.rho2();
  }
double Rivet::safediv ( double  num,
double  den,
double  fail = 0.0 
) [inline]

Return a/b, or fail if b = 0

Todo:
When std::common_type can be used, generalise to multiple numeric types with appropriate return type.

Definition at line 165 of file MathUtils.hh.

References isZero().

Referenced by CMS_2012_I941555::finalize(), and ATLAS_2012_I1094564::jetTauValue().

                                                                 {
    return (!isZero(den)) ? num/den : fail;
  }
void setAnalysisLibPaths ( const std::vector< std::string > &  paths)

Set the Rivet analysis plugin library search paths.

Definition at line 43 of file RivetPaths.cc.

References pathjoin().

Referenced by addAnalysisLibPath().

                                                        {
    const string pathstr = pathjoin(paths);
    setenv("RIVET_ANALYSIS_PATH", pathstr.c_str(), 1);
  }
boost::enable_if_c<boost::is_arithmetic<NUM>::value, int>::type Rivet::sign ( NUM  val) [inline]

Find the sign of a number.

Definition at line 182 of file MathUtils.hh.

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

Referenced by _calcT(), D0_2008_S7837160::analyze(), CDF_1994_S2952106::analyze(), MC_PHOTONJETUE::analyze(), D0_2008_S7719523::analyze(), ATLAS_2012_I943401::analyze(), ATLAS_2012_I1093738::analyze(), and FourMomentum::mass().

                {
    if (isZero(val)) return ZERO;
    const int valsign = (val > 0) ? PLUS : MINUS;
    return valsign;
  }
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 CMS_2011_S9120041::analyze(), CMS_2011_S9120041::finalize(), CMS_2011_S8884919::init(), CMS_2011_S9120041::init(), and sqrtS().

                               {
    Beam beamproj;
    beamproj.project(e);
    return beamproj.sqrtS();
  }
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().

                                          {
    return sqrtS(beams.first.momentum(), beams.second.momentum());
  }
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().

                                                               {
    const double mom1 = pa.pz();
    const double e1 = pa.E();
    const double mom2 = pb.pz();
    const double e2 = pb.E();
    double sqrts = sqrt( sqr(e1+e2) - sqr(mom1+mom2) );
    return sqrts;
  }
bool Rivet::startsWith ( const std::string &  s,
const std::string &  start 
) [inline]

Check whether a string start is found at the start of s.

Definition at line 85 of file Utils.hh.

                                                                     {
    if (s.length() < start.length()) return false;
    return s.substr(0, start.length()) == start;
  }
Vector3 Rivet::subtract ( const Vector3 &  a,
const Vector3 &  b 
) [inline]

Definition at line 227 of file Vector3.hh.

References Vector< N >::_vec.

                                                              {
    Vector3 result;
    result._vec = a._vec - b._vec;
    return result;
  }
Matrix<N> Rivet::subtract ( const Matrix< N > &  a,
const Matrix< N > &  b 
) [inline]

Definition at line 269 of file MatrixN.hh.

References add().

Referenced by operator-().

                                                                    {
    return add(a, -b);
  }
double Rivet::theta ( const Vector3 &  v) [inline]

Synonym for polarAngle.

Definition at line 290 of file Vector3.hh.

References Vector3::theta().

Referenced by JADE_1998_S3612880::analyze(), mt2::mt2_massless(), and Matrix3::setAsRotation().

                                        {
    return v.theta();
  }
double Rivet::theta ( const FourVector &  v) [inline]

Synonym for polarAngle.

Definition at line 310 of file Vector4.hh.

References FourVector::theta().

                                           {
    return v.theta();
  }
std::string Rivet::to_str ( const T &  x) [inline]

Convert any object to a string.

Just a convenience wrapper for the more general Boost lexical_cast

Definition at line 22 of file Utils.hh.

Referenced by MC_JetSplittings::init(), MC_JetAnalysis::init(), ATLAS_2011_S8924791::init(), ATLAS_2012_I1094568::initializePlots(), ATLAS_2011_S9126244::initializePlots(), join(), and toString().

                                      {
    return lexical_cast<string>(x);
  }
std::string Rivet::toLower ( const std::string &  s) [inline]

Convert a string to lower-case

Todo:
Replace with something from the Boost string library

Definition at line 67 of file Utils.hh.

References s, and transform().

                                               {
    string out = s;
    transform(out.begin(), out.end(), out.begin(), (int(*)(int)) tolower);
    return out;
  }
std::string Rivet::toString ( const T &  x) [inline]

Convert any object to a string.

An alias for to_str() with a more "Rivety" mixedCase name.

Definition at line 31 of file Utils.hh.

References to_str().

                                        {
    return to_str(x);
  }
const string Rivet::toString ( const typename EigenSystem< N >::EigenPair &  e) [inline]

Definition at line 132 of file MatrixDiag.hh.

                                                                        {
  ostringstream ss;
  //for (typename EigenSystem<N>::EigenPairs::const_iterator i = e.begin(); i != e.end(); ++i) {
  ss << e->first << " -> " << e->second;
  //  if (i+1 != e.end()) ss << endl;
  //}
  return ss.str();
}
const string Rivet::toString ( const Vector< N > &  v) [inline]

Make string representation.

Definition at line 163 of file VectorN.hh.

References Vector< N >::size().

                                                   {
    ostringstream out;
    out << "(";
    for (size_t i = 0; i < v.size(); ++i) {
      out << (fabs(v[i]) < 1E-30 ? 0.0 : v[i]);
      if (i < v.size()-1) out << ", ";
    }
    out << ")";
    return out.str();
  }
string Rivet::toString ( const LorentzTransform &  lt) [inline]

Definition at line 165 of file LorentzTrans.hh.

References LorentzTransform::_boostMatrix, and toString().

                                                     {
    return toString(lt._boostMatrix);
  }
std::string Rivet::toString ( const ParticlePair &  pair) [inline]

Print a ParticlePair as a string.

Definition at line 205 of file Particle.hh.

References GeV, and Rivet::PID::toParticleName().

                                                      {
    stringstream out;
    out << "["
        << PID::toParticleName(pair.first.pdgId()) << " @ "
        << pair.first.momentum().E()/GeV << " GeV, "
        << PID::toParticleName(pair.second.pdgId()) << " @ "
        << pair.second.momentum().E()/GeV << " GeV]";
    return out.str();
  }
string toString ( const AnalysisInfo &  ai)

String representation.

Definition at line 236 of file AnalysisInfo.cc.

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

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

                                          {
    stringstream ss;
    ss << ai.name();
    ss << " - " << ai.summary();
    // ss << " - " << ai.beams();
    // ss << " - " << ai.energies();
    ss << " (" << ai.status() << ")";
    return ss.str();
  }
string Rivet::toString ( const Matrix< N > &  m) [inline]

Make string representation.

Definition at line 368 of file MatrixN.hh.

References Matrix< N >::get(), isZero(), and Matrix< N >::size().

                                             {
    ostringstream ss;
    ss << "[ ";
    for (size_t i = 0; i < m.size(); ++i) {
      ss << "( ";
      for (size_t j = 0; j < m.size(); ++j) {
        const double e = m.get(i, j);
        ss << (Rivet::isZero(e) ? 0.0 : e) << " ";
      }
      ss << ") ";
    }
    ss << "]";
    return ss.str();
  }
std::string Rivet::toString ( const FourVector &  lv) [inline]

Render a 4-vector as a string.

Definition at line 1052 of file Vector4.hh.

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

                                                  {
    ostringstream out;
    out << "("  << (fabs(lv.t()) < 1E-30 ? 0.0 : lv.t())
        << "; " << (fabs(lv.x()) < 1E-30 ? 0.0 : lv.x())
        << ", " << (fabs(lv.y()) < 1E-30 ? 0.0 : lv.y())
        << ", " << (fabs(lv.z()) < 1E-30 ? 0.0 : lv.z())
        << ")";
    return out.str();
  }
std::string Rivet::toUpper ( const std::string &  s) [inline]

Convert a string to upper-case

Todo:
Replace with something from the Boost string library

Definition at line 77 of file Utils.hh.

References s, and transform().

Referenced by ParticleNames::_particleId(), and AnalysisHandler::init().

                                               {
    string out = s;
    std::transform(out.begin(), out.end(), out.begin(), (int(*)(int)) toupper);
    return out;
  }
double Rivet::trace ( const Matrix< N > &  m) [inline]

Definition at line 358 of file MatrixN.hh.

References Matrix< N >::trace().

                                          {
    return m.trace();
  }
FourVector transform ( const LorentzTransform &  lt,
const FourVector &  v4 
) [inline]

Definition at line 157 of file LorentzTrans.hh.

References LorentzTransform::transform().

Referenced by toLower(), and toUpper().

                                                                                {
      return lt.transform(v4);
  }
Matrix<N> Rivet::transpose ( const Matrix< N > &  m) [inline]

Definition at line 336 of file MatrixN.hh.

References Matrix< N >::transpose().

                                                 {
    // Matrix<N> tmp;
    // for (size_t i = 0; i < N; ++i) {
    //   for (size_t j = 0; j < N; ++j) {
    //     tmp.set(i, j, m.get(j, i));
    //   }
    // }
    // return tmp;
    return m.transpose();
  }
string version ( )

A function to get the Rivet version string.

Definition at line 9 of file Utils.cc.

                   {
    return RIVET_VERSION;
  }
std::vector<GenVertex*> Rivet::vertices ( const GenEvent &  ge) [inline]

Definition at line 45 of file RivetHepMC.hh.

Referenced by vertices().

                                                            {
    std::vector<GenVertex*> rtn;
    for (GenEvent::vertex_const_iterator vi = ge.vertices_begin(); vi != ge.vertices_end(); ++vi) {
      rtn.push_back(*vi);
    }
    return rtn;
  }
std::vector<GenVertex*> Rivet::vertices ( const GenEvent *  ge) [inline]

Definition at line 52 of file RivetHepMC.hh.

References vertices().

                                                            {
    assert(ge);
    return vertices(*ge);
  }

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

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

Referenced by D0_2010_S8821313::analyze().

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 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(), CDF_1996_S3349578::_fourJetAnalysis(), D0_1996_S3214044::_fourJetAnalysis(), Event::_geNormAlignment(), CDF_1996_S3349578::_threeJetAnalysis(), D0_1996_S3214044::_threeJetAnalysis(), ATLAS_2012_I1118269::analyze(), ATLAS_2011_I894867::analyze(), PDG_HADRON_MULTIPLICITIES::analyze(), H1_2000_S4129130::analyze(), MC_JetAnalysis::analyze(), PDG_HADRON_MULTIPLICITIES_RATIOS::analyze(), TOTEM_2012_002::analyze(), CMS_2012_I1087342::analyze(), CMS_2010_S8656010::analyze(), CMS_2012_I1184941::analyze(), ATLAS_2010_S8591806::analyze(), CDF_2006_S6450792::analyze(), CMS_2011_S8941262::analyze(), CMS_2011_S9088458::analyze(), CMS_2012_PAS_QCD_11_010::analyze(), LHCF_2012_I1115479::analyze(), STAR_2008_S7993412::analyze(), D0_2011_I895662::analyze(), ALICE_2011_S8909580::analyze(), CMS_2011_I954992::analyze(), ALICE_2011_S8945144::analyze(), H1_1994_S2919893::analyze(), CDF_2000_S4155203::analyze(), CMS_2011_S8957746::analyze(), CMS_2011_S9086218::analyze(), ALICE_2012_I1181770::analyze(), D0_2007_S7075677::analyze(), D0_2010_S8671338::analyze(), CDF_2007_S7057202::analyze(), ATLAS_2011_S9002537::analyze(), MC_DIPHOTON::analyze(), MC_HINC::analyze(), CDF_2005_S6080774::analyze(), CMS_2010_S8547297::analyze(), ATLAS_2011_S8994773::analyze(), D0_1996_S3324664::analyze(), D0_2000_S4480767::analyze(), CDF_1998_S3618439::analyze(), CDF_2000_S4266730::analyze(), CDF_2001_S4563131::analyze(), CMS_2012_I1102908::analyze(), CDF_1988_S1865951::analyze(), ATLAS_2010_CONF_2010_049::analyze(), MC_ZINC::analyze(), CDF_2008_S7828950::analyze(), D0_2008_S6879055::analyze(), CDF_1993_S2742446::analyze(), ATLAS_2012_I1188891::analyze(), CDF_2001_S4517016::analyze(), CDF_2009_S8436959::analyze(), ALICE_2010_S8706239::analyze(), CDF_2008_S7540469::analyze(), ATLAS_2011_I930220::analyze(), CDF_2012_NOTE10874::analyze(), CMS_2011_S8973270::analyze(), CMS_2011_S9215166::analyze(), D0_2010_S8570965::analyze(), LHCB_2011_I919315::analyze(), MC_WINC::analyze(), CDF_2008_S7782535::analyze(), D0_2010_S8566488::analyze(), MC_DIJET::analyze(), ALICE_2010_S8625980::analyze(), MC_LEADJETUE::analyze(), D0_2008_S7863608::analyze(), CDF_1996_S3108457::analyze(), CDF_1996_S3418421::analyze(), ALEPH_1996_S3196992::analyze(), ATLAS_2011_S8971293::analyze(), ATLAS_2012_I1119557::analyze(), D0_2008_S7837160::analyze(), CDF_1997_S3541940::analyze(), STAR_2006_S6500200::analyze(), CDF_1994_S2952106::analyze(), ATLAS_2011_I925932::analyze(), CDF_2009_S8233977::analyze(), CMS_2013_I1209721::analyze(), ATLAS_2011_S9131140::analyze(), ATLAS_2011_I954993::analyze(), MC_PHOTONS::analyze(), STAR_2006_S6860818::analyze(), CMS_2011_S8884919::analyze(), EXAMPLE::analyze(), ATLAS_2010_S8817804::analyze(), D0_2008_S7662670::analyze(), MC_WWJETS::analyze(), MC_ZZJETS::analyze(), ATLAS_2012_I1082009::analyze(), D0_2009_S8202443::analyze(), CMS_2011_S9120041::analyze(), CDF_2005_S6217184::analyze(), D0_2009_S8349509::analyze(), CMS_2012_I1107658::analyze(), CMS_2012_I941555::analyze(), ATLAS_2013_I1243871::analyze(), LHCB_2013_I1208105::analyze(), ATLAS_2011_S8924791::analyze(), UA1_1990_S2044935::analyze(), ALEPH_1999_S4193598::analyze(), ATLAS_2010_S8919674::analyze(), D0_2001_S4674421::analyze(), D0_2004_S5992206::analyze(), H1_1995_S3167097::analyze(), LHCB_2013_I1218996::analyze(), ATLAS_2012_I1082936::analyze(), CMS_2013_I1218372::analyze(), MC_PHOTONJETUE::analyze(), ATLAS_2012_I1183818::analyze(), JADE_1998_S3612880::analyze(), MC_WPOL::analyze(), MC_ZZINC::analyze(), CMS_2013_I1224539_DIJET::analyze(), CDF_2010_S8591881_DY::analyze(), D0_1996_S3214044::analyze(), CDF_2010_S8591881_QCD::analyze(), ATLAS_2012_CONF_2012_104::analyze(), ATLAS_2011_S9108483::analyze(), ATLAS_2012_I1190891::analyze(), MC_GENERIC::analyze(), ATLAS_2012_I1126136::analyze(), ATLAS_2012_I1186556::analyze(), TASSO_1990_S2148048::analyze(), ATLAS_2011_S9212183::analyze(), ATLAS_2013_I1217867::analyze(), ATLAS_2011_S9120807::analyze(), ATLAS_2011_S9128077::analyze(), ATLAS_2012_CONF_2012_105::analyze(), STAR_2008_S7869363::analyze(), MC_TTBAR::analyze(), ATLAS_2011_CONF_2011_098::analyze(), CDF_1996_S3349578::analyze(), ATLAS_2012_CONF_2012_103::analyze(), ATLAS_2012_I1112263::analyze(), CDF_2001_S4751469::analyze(), ATLAS_2010_S8914702::analyze(), ATLAS_2012_I1117704::analyze(), ATLAS_2012_I1095236::analyze(), ATLAS_2012_I1125961::analyze(), D0_2008_S7719523::analyze(), ATLAS_2011_I926145::analyze(), CMS_2013_I1224539_WJET::analyze(), ATLAS_2012_CONF_2012_001::analyze(), CMS_2013_I1224539_ZJET::analyze(), ATLAS_2012_CONF_2012_109::analyze(), ATLAS_2011_S8983313::analyze(), ATLAS_2012_I1180197::analyze(), ATLAS_2011_CONF_2011_090::analyze(), ATLAS_2011_S9019561::analyze(), ATLAS_2012_I1083318::analyze(), ATLAS_2010_S8894728::analyze(), ATLAS_2013_I1230812::analyze(), ATLAS_2012_CONF_2012_153::analyze(), OPAL_2001_S4553896::analyze(), ATLAS_2012_I1125575::analyze(), ATLAS_2012_I1091481::analyze(), MC_SUSY::analyze(), ATLAS_2011_I945498::analyze(), ATLAS_2011_S9212353::analyze(), ATLAS_2012_I943401::analyze(), ATLAS_2011_S9225137::analyze(), ATLAS_2012_I1093738::analyze(), ATLAS_2011_S9041966::analyze(), MC_VH2BB::analyze(), ATLAS_2010_S8918562::analyze(), ATLAS_2012_I1094568::analyze(), ATLAS_2011_I944826::analyze(), ALEPH_1996_S3486095::analyze(), ALEPH_2004_S5765862::analyze(), DELPHI_1996_S3430090::analyze(), CDF_2004_S5839831::analyze(), AnalysisHandler::analyze(), ATLAS_2011_S9126244::analyze(), ATLAS_2012_I1094564::analyze(), ATLAS_2011_I919017::analyze(), ATLAS_2011_S9126244::analyzeJets(), InvMassFinalState::calc(), CDF_2009_S8057893::CDF_2009_S8057893::init(), ATLAS_2011_I944826::daughtersSurviveCuts(), ATLAS_2012_I1084540::fillMap(), ATLAS_2010_S8918562::fillPtEtaNch(), ALICE_2010_S8625980::finalize(), OPAL_2002_S5361494::finalize(), DELPHI_2000_S4328825::finalize(), JADE_1998_S3612880::finalize(), UA1_1990_S2044935::finalize(), ATLAS_2010_S8918562::finalize(), ATLAS_2012_I1093734::finalize(), ALEPH_2004_S5765862::finalize(), CDF_2004_S5839831::finalize(), PDG_HADRON_MULTIPLICITIES_RATIOS::finalize(), PDG_HADRON_MULTIPLICITIES::finalize(), OPAL_2004_S6132243::getHistIndex(), ATLAS_2012_I1091481::getPionEnergy(), ATLAS_2010_S8894728::init(), CMS_2010_S8547297::init(), CMS_2010_S8656010::init(), ALICE_2012_I1181770::init(), ATLAS_2011_S8994773::init(), CMS_2012_PAS_QCD_11_010::init(), ATLAS_2010_CONF_2010_049::init(), CMS_2011_S8884919::init(), CMS_2011_S8941262::init(), CMS_2011_S8978280::init(), CMS_2011_S9215166::init(), CMS_2012_I1184941::init(), CMS_2012_I1193338::init(), D0_2011_I895662::init(), ATLAS_2010_S8591806::init(), CMS_2011_I954992::init(), CMS_2011_S8957746::init(), ATLAS_2011_I930220::init(), ATLAS_2011_S9002537::init(), D0_2010_S8570965::init(), CDF_2012_NOTE10874::init(), STAR_2008_S7993412::init(), STAR_2006_S6500200::init(), CMS_2013_I1209721::init(), CMS_QCD_10_024::init(), ATLAS_2012_I1204784::init(), CDF_1993_S2742446::init(), MC_DIJET::init(), MC_DIPHOTON::init(), MC_HINC::init(), CDF_2000_S4155203::init(), MC_WINC::init(), CDF_2005_S6080774::init(), MC_ZZINC::init(), SFM_1984_S1178091::init(), CMS_2013_I1258128::init(), MC_ZINC::init(), MC_PHOTONINC::init(), MC_JetSplittings::init(), MC_HJETS::init(), MC_WKTSPLITTINGS::init(), MC_WWINC::init(), MC_ZJETS::init(), MC_HKTSPLITTINGS::init(), UA5_1989_S1926373::init(), MC_ZKTSPLITTINGS::init(), ATLAS_2012_I1091481::init(), MC_ZZJETS::init(), MC_ZZKTSPLITTINGS::init(), D0_2010_S8821313::init(), D0_2008_S6879055::init(), D0_2008_S7863608::init(), D0_2010_S8671338::init(), ATLAS_2013_I1243871::init(), MC_JetAnalysis::init(), MC_PHOTONJETS::init(), MC_WJETS::init(), MC_PHOTONKTSPLITTINGS::init(), MC_WWJETS::init(), ATLAS_2011_I944826::init(), CMS_2012_I1107658::init(), MC_WWKTSPLITTINGS::init(), MC_TTBAR::init(), CDF_1988_S1865951::init(), MC_LEADJETUE::init(), D0_2009_S8202443::init(), UA5_1986_S1583476::init(), MC_PHOTONJETUE::init(), D0_2007_S7075677::init(), CDF_1990_S2089246::init(), ATLAS_2011_I945498::init(), ATLAS_2011_I954993::init(), D0_2008_S7554427::init(), ATLAS_2011_S9131140::init(), D0_2008_S7837160::init(), UA1_1990_S2044935::init(), CDF_2008_S7540469::init(), STAR_2009_UE_HELEN::init(), ALICE_2010_S8624100::init(), ATLAS_2011_I925932::init(), EXAMPLE::init(), ALEPH_2004_S5765862::init(), STAR_2006_S6860818::init(), CDF_2008_S8095620::init(), CMS_2012_I941555::init(), MC_SUSY::init(), MC_PHOTONS::init(), JADE_1998_S3612880::init(), JADE_OPAL_2000_S4300807::init(), CMS_2013_I1218372::init(), ALICE_2010_S8625980::init(), CDF_2009_NOTE_9936::init(), ATLAS_2012_I1125575::init(), D0_2000_S4480767::init(), ATLAS_2011_I926145::init(), D0_2009_S8349509::init(), CDF_2009_S8383952::init(), CDF_2009_S8436959::init(), ATLAS_2010_S8919674::init(), MC_WPOL::init(), D0_2006_S6438750::init(), UA5_1988_S1867512::init(), CDF_2006_S6653332::init(), CDF_2008_S7541902::init(), ATLAS_2011_S9108483::init(), ATLAS_2013_I1230812::init(), ATLAS_2011_S9212183::init(), ATLAS_2012_I1095236::init(), ATLAS_2012_CONF_2012_109::init(), ATLAS_2012_I1125961::init(), ATLAS_2012_I1083318::init(), ATLAS_2012_I1112263::init(), ATLAS_2012_CONF_2012_105::init(), ATLAS_2011_S9019561::init(), ATLAS_2012_I1190891::init(), ATLAS_2013_I1217867::init(), ATLAS_2012_I1180197::init(), ATLAS_2012_I1117704::init(), TASSO_1990_S2148048::init(), ATLAS_2011_S8983313::init(), ATLAS_2012_I943401::init(), ATLAS_2012_CONF_2012_001::init(), ATLAS_2012_CONF_2012_103::init(), ATLAS_2011_CONF_2011_090::init(), ATLAS_2011_S9212353::init(), ATLAS_2012_CONF_2012_104::init(), ATLAS_2011_S9225137::init(), ATLAS_2012_I946427::init(), CMS_2013_I1224539_ZJET::init(), ATLAS_2012_I1126136::init(), ATLAS_2011_CONF_2011_098::init(), CMS_2013_I1224539_WJET::init(), ATLAS_2012_I1186556::init(), ATLAS_2012_I1084540::init(), CMS_2013_I1224539_DIJET::init(), CDF_2009_S8233977::init(), CDF_2010_S8591881_DY::init(), ATLAS_2012_CONF_2012_153::init(), CDF_2010_S8591881_QCD::init(), D0_2004_S5992206::init(), ATLAS_2010_S8914702::init(), ATLAS_2010_S8918562::init(), CDF_2001_S4751469::init(), ATLAS_2011_S9120807::init(), D0_2008_S7719523::init(), LHCB_2012_I1119400::init(), ATLAS_2012_I1094568::init(), ATLAS_2011_S9041966::init(), ATLAS_2012_I1093738::init(), STAR_2008_S7869363::init(), MC_VH2BB::init(), ATLAS_2011_I919017::init(), CDF_2004_S5839831::init(), ATLAS_2012_I1093734::init(), ATLAS_2012_I1094564::init(), PDG_HADRON_MULTIPLICITIES::init(), PDG_HADRON_MULTIPLICITIES_RATIOS::init(), JetAlg::jets(), CMS_2013_I1258128::makePhotonCut(), CMS_2013_I1258128::makeZCut(), NeutralFinalState::NeutralFinalState(), WFinder::project(), ATLAS_2011_I945498::selectJets(), AnalysisHandler::setRunBeams(), and toString().

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 = pi/2 [static]

Definition at line 14 of file Constants.hh.

const double HALFPI = M_PI_2

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

Definition at line 54 of file MathHeader.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 m3 = meter3 [static]

Definition at line 48 of file Units.hh.

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

Definition at line 45 of file MathHeader.hh.

const double MAXRAPIDITY = 100000.0 [static]
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 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 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 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 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 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 pi2 = pi*pi [static]

Definition at line 15 of file Constants.hh.

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.

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 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 TeV2 = TeV*TeV [static]

Definition at line 129 of file Units.hh.

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.