Rivet API documentation

Rivet 4.1.3
Beams.hh
1// -*- C++ -*-
2#ifndef RIVET_Beams_HH
3#define RIVET_Beams_HH
4
5#include "Rivet/Event.hh"
6#include "Rivet/Particle.hh"
7#include "Rivet/Math/LorentzTrans.hh"
8
9namespace Rivet {
10
11
14
17
18
21
23 inline bool validBeams(const Event& e) {
24 return validBeams(beams(e));
25 }
26
27
29 inline PdgIdPair beamIDs(const ParticlePair& beams) {
30 return pids(beams);
31 }
32
34 inline PdgIdPair beamIDs(const Event& e) {
35 return beamIDs(beams(e));
36 }
37
38
40 inline PdgIdPair beamEnergies(const ParticlePair& beams) {
41 return energies(beams);
42 }
43
45 inline PdgIdPair beamEnergies(const Event& e) {
46 return beamEnergies(beams(e));
47 }
48
49
54 double sqrtS(double ea, double eb);
55
60 inline double sqrtS(const pair<double, double>& energies) {
61 return sqrtS(energies.first, energies.second);
62 }
63
65 double sqrtS(const FourMomentum& pa, const FourMomentum& pb);
66
68 inline double sqrtS(const ParticlePair& beams) {
69 return sqrtS(beams.first.momentum(), beams.second.momentum());
70 }
71
73 inline double sqrtS(const Event& e) {
74 return sqrtS(beams(e));
75 }
76
77
80 double asqrtS(const FourMomentum& pa, const FourMomentum& pb);
81
84 double asqrtS(const ParticlePair& beams);
85
88 inline double asqrtS(const Event& e) {
89 return asqrtS(beams(e));
90 }
91
92
94 inline FourMomentum cmsBoostVec(const FourMomentum& pa, const FourMomentum& pb) {
95 return pa + pb;
96 }
97
100 return cmsBoostVec(beams.first, beams.second);
101 }
102
105
108
109
112
115 return cmsBetaVec(beams.first, beams.second);
116 }
117
118
122
126
127
130
133 return cmsGammaVec(beams.first, beams.second);
134 }
135
136
140
144
145
148
151 return cmsTransform(beams.first, beams.second);
152 }
153
154
158
162
164
165
166}
167
168#endif
Representation of a HepMC event, and enabler of Projection caching.
Definition Event.hh:22
Specialized version of the FourVector with momentum/energy functionality.
Definition Vector4.hh:363
Object implementing Lorentz transform calculations and boosts.
Definition LorentzTrans.hh:21
Three-dimensional specialisation of Vector.
Definition Vector3.hh:39
PdgIdPair beamIDs(const ParticlePair &beams)
Get beam particle IDs from a pair of Particles.
Definition Beams.hh:29
Vector3 cmsGammaVec(const FourMomentum &pa, const FourMomentum &pb)
Get the Lorentz boost to the beam centre-of-mass system (CMS) from a pair of beam momenta.
double sqrtS(double ea, double eb)
Get beam centre-of-mass energy from a pair of beam energies.
double asqrtS(const FourMomentum &pa, const FourMomentum &pb)
FourMomentum cmsBoostVec(const FourMomentum &pa, const FourMomentum &pb)
Get the Lorentz boost to the beam centre-of-mass system (CMS) from a pair of beam momenta.
Definition Beams.hh:94
FourMomentum acmsBoostVec(const FourMomentum &pa, const FourMomentum &pb)
Get the Lorentz boost to the beam centre-of-mass system (CMS) from a pair of beam momenta.
bool validBeams(const ParticlePair &beams)
Check if the given beam pair is valid.
Vector3 acmsBetaVec(const FourMomentum &pa, const FourMomentum &pb)
Vector3 acmsGammaVec(const FourMomentum &pa, const FourMomentum &pb)
Vector3 cmsBetaVec(const FourMomentum &pa, const FourMomentum &pb)
Get the Lorentz boost to the beam centre-of-mass system (CMS) from a pair of beam momenta.
PdgIdPair beamEnergies(const ParticlePair &beams)
Get beam particle energies from a pair of Particles.
Definition Beams.hh:40
LorentzTransform acmsTransform(const FourMomentum &pa, const FourMomentum &pb)
LorentzTransform cmsTransform(const FourMomentum &pa, const FourMomentum &pb)
Get the Lorentz transformation to the beam centre-of-mass system (CMS) from a pair of beam momenta.
ParticlePair beams(const Event &e)
Get beam particles from an event.
PdgIdPair pids(const ParticlePair &pp)
Get the PDG ID codes of a ParticlePair.
Definition ParticleUtils.hh:804
Definition LHCbCommon.hh:9
std::pair< Particle, Particle > ParticlePair
Typedef for a pair of Particle objects.
Definition Particle.hh:43