2 #ifndef RIVET_Particle_HH 3 #define RIVET_Particle_HH 5 #include "Rivet/Rivet.hh" 6 #include "Rivet/Particle.fhh" 7 #include "Rivet/ParticleBase.hh" 8 #include "Rivet/ParticleName.hh" 9 #include "Rivet/Math/Vectors.hh" 10 #include "Rivet/Tools/Logging.hh" 23 _original(0), _id(0), _momentum()
29 _original(0), _id(pid), _momentum(mom)
35 _original(&gp), _id(gp.pdg_id()),
51 return bool(_original);
118 const GenParticle* _original;
132 inline std::string
toString(
const ParticlePair& pair) {
136 << pair.first.momentum().E()/GeV <<
" GeV, " 138 << pair.second.momentum().E()/GeV <<
" GeV]";
143 inline std::ostream&
operator<<(std::ostream& os,
const ParticlePair& pp) {
226 return deltaR(p.
momentum(), v, scheme);
231 return deltaR(p.
momentum(), v, scheme);
244 return deltaR(v, p.
momentum(), scheme);
249 return deltaR(v, p.
momentum(), scheme);
256 inline double deltaR(
double eta,
double phi,
const Particle& p) {
257 return deltaR(eta, phi, p.
momentum());
277 inline double deltaPhi(
const Particle& p,
double phi) {
293 inline double deltaPhi(
double phi,
const Particle& p) {
314 inline double deltaEta(
const Particle& p,
double eta) {
330 inline double deltaEta(
double eta,
const Particle& p) {
Definition: MC_JetAnalysis.hh:9
double pT() const
Calculate the transverse momentum .
Definition: Vector4.hh:410
bool cmpParticleByAscP(const Particle &a, const Particle &b)
Sort by ascending momentum, .
Definition: Particle.hh:166
bool hasAncestor(PdgId pdg_id) const
Definition: Particle.cc:8
bool cmpParticleByEt(const Particle &a, const Particle &b)
Sort by descending transverse energy, .
Definition: Particle.hh:170
PdgId pdgId() const
The PDG ID code for this Particle.
Definition: Particle.hh:56
bool cmpParticleByAscAbsRapidity(const Particle &a, const Particle &b)
Sort by ascending absolute rapidity, .
Definition: Particle.hh:214
double Et() const
Calculate the transverse energy .
Definition: Vector4.hh:420
Particle(const GenParticle &gp)
Constructor from a HepMC GenParticle.
Definition: Particle.hh:33
bool cmpParticleByAscRapidity(const Particle &a, const Particle &b)
Sort by ascending rapidity, .
Definition: Particle.hh:206
double phi(const Vector3 &v, const PhiMapping mapping=ZERO_2PI)
Synonym for azimuthalAngle.
Definition: Vector3.hh:281
double rapidity() const
Calculate the rapidity.
Definition: Vector4.hh:400
Representation of particles from a HepMC::GenEvent.
Definition: Particle.hh:16
double mass() const
The mass of this Particle.
Definition: Particle.hh:78
double pseudorapidity() const
Pseudorapidity (defined purely by the 3-vector components)
Definition: Vector4.hh:129
bool cmpParticleByAscPt(const Particle &a, const Particle &b)
Sort by ascending transverse momentum, .
Definition: Particle.hh:158
bool hasGenParticle() const
Check if the particle corresponds to a GenParticle.
Definition: Particle.hh:50
bool cmpParticleByAscE(const Particle &a, const Particle &b)
Sort by ascending energy, .
Definition: Particle.hh:182
bool cmpParticleByDescRapidity(const Particle &a, const Particle &b)
Sort by descending rapidity, .
Definition: Particle.hh:202
double mass() const
Get the mass (the Lorentz self-invariant).
Definition: Vector4.hh:384
bool cmpParticleByDescAbsRapidity(const Particle &a, const Particle &b)
Sort by descending absolute rapidity, .
Definition: Particle.hh:210
double energy() const
The energy of this Particle.
Definition: Particle.hh:73
Specialisation of VectorN to a general (non-momentum) Lorentz 4-vector.
Definition: Vector4.hh:20
bool cmpParticleByAscPseudorapidity(const Particle &a, const Particle &b)
Sort by ascending pseudorapidity, .
Definition: Particle.hh:190
const FourMomentum & momentum() const
The momentum of this Particle.
Definition: Particle.hh:68
const std::string & toParticleName(PdgId p)
Print a PdgId as a named string.
Definition: ParticleName.hh:142
Base class for particle-like things like Particle and Jet.
Definition: ParticleBase.hh:11
double E() const
Get energy (time component of momentum).
Definition: Vector4.hh:355
bool cmpParticleByAscEt(const Particle &a, const Particle &b)
Sort by ascending transverse energy, .
Definition: Particle.hh:174
Particle()
Definition: Particle.hh:21
RapScheme
Enum for rapidity variable to be used in calculating , applying rapidity cuts, etc.
Definition: MathHeader.hh:60
Vector3 vector3() const
Get the spatial part of the 4-vector as a 3-vector.
Definition: Vector4.hh:139
bool cmpParticleByDescAbsPseudorapidity(const Particle &a, const Particle &b)
Sort by descending absolute pseudorapidity, .
Definition: Particle.hh:194
bool cmpParticleByE(const Particle &a, const Particle &b)
Sort by descending energy, .
Definition: Particle.hh:178
Particle & setMomentum(const FourMomentum &momentum)
Set the momentum of this Particle.
Definition: Particle.hh:62
std::string toString(const AnalysisInfo &ai)
String representation.
Definition: AnalysisInfo.cc:234
double eta(const Vector3 &v)
Synonym for pseudorapidity.
Definition: Vector3.hh:299
bool cmpParticleByP(const Particle &a, const Particle &b)
Sort by descending momentum, .
Definition: Particle.hh:162
bool cmpParticleByPt(const Particle &a, const Particle &b)
Sort by descending transverse momentum, .
Definition: Particle.hh:154
Three-dimensional specialisation of Vector.
Definition: Vector3.hh:26
bool cmpParticleByDescPseudorapidity(const Particle &a, const Particle &b)
Sort by descending pseudorapidity, .
Definition: Particle.hh:186
std::ostream & operator<<(std::ostream &os, const AnalysisInfo &ai)
Stream an AnalysisInfo as a text description.
Definition: AnalysisInfo.hh:239
Specialized version of the FourVector with momentum/energy functionality.
Definition: Vector4.hh:324
Particle(PdgId pid, const FourMomentum &mom)
Constructor without GenParticle.
Definition: Particle.hh:27
const GenParticle & genParticle() const
Get a const reference to the original GenParticle.
Definition: Particle.hh:43
double mod() const
Calculate the modulus of a vector. .
Definition: VectorN.hh:87
bool fromDecay() const
Determine whether the particle is from a hadron or tau decay.
Definition: Particle.cc:19
bool cmpParticleByAscAbsPseudorapidity(const Particle &a, const Particle &b)
Sort by ascending absolute pseudorapidity, .
Definition: Particle.hh:198