![]() |
ATLAS Offline Software
|
Class to describe the kinematics of an object that can have negative energies. More...
#include <SignedKinematics.h>
Public Member Functions | |
SignedKinematics () | |
SignedKinematics (double px, double py, double pz, double energy) | |
Constructor from px, py, pz and E. More... | |
SignedKinematics (const TLorentzVector &tlv) | |
Construct from a TLorentzVector. More... | |
SignedKinematics (const xAOD::IParticle &particle) | |
Construct from an IParticle. More... | |
int | sign () const |
The sign of the kinematics. More... | |
double | eta () const |
Direction. More... | |
double | phi () const |
double | sinPhi () const |
Provide accessors for sin and cos phi. More... | |
double | cosPhi () const |
double | sinhEta () const |
Provide accessors for sinh and cosh eta. More... | |
double | coshEta () const |
double | p () const |
Momentum values (signed) momentum. More... | |
double | absP () const |
unsigned momentum More... | |
double | p2 () const |
double | pt () const |
(signed) pt More... | |
double | absPt () const |
unsigned pt More... | |
double | pt2 () const |
double | px () const |
double | py () const |
double | pz () const |
double | energy () const |
Energy values (signed) energy. More... | |
double | absEnergy () const |
unsigned energy More... | |
double | energy2 () const |
double | et () const |
(signed) et More... | |
double | absEt () const |
Unsigned et. More... | |
double | et2 () const |
double | ex () const |
double | ey () const |
double | ez () const |
double | m2 () const |
The squared mass. There is no guarantee that this will be > 0. More... | |
operator ROOT::Math::PxPyPzEVector () const | |
SignedKinematics & | operator+= (const SignedKinematics &other) |
Add another SignedKinematics to this. More... | |
SignedKinematics & | operator-= (const SignedKinematics &other) |
Subtract a SignedKinematics from this (exact opposite of the above function. More... | |
Static Public Member Functions | |
static SignedKinematics | fromEnergyEtaPhi (double energy, double eta, double phi) |
Factory function to construct from energy, eta, phi (massless) More... | |
static SignedKinematics | fromEnergyEtaPhiM (double energy, double eta, double phi, double mass) |
Factory function to construct from energy eta, phi and m. More... | |
static SignedKinematics | fromEtEtaPhi (double et, double eta, double phi) |
Factory function to construct from et, eta, phi (massless) More... | |
static SignedKinematics | fromEtEtaPhiM (double et, double eta, double phi, double mass) |
Factory function to construct from et eta, phi and m. More... | |
Private Attributes | |
ROOT::Math::PxPyPzEVector | m_p4 |
The actual kinematics. More... | |
Class to describe the kinematics of an object that can have negative energies.
This class is used instead of TLorentzVector anywhere that there could be a negative energy. This is to get complete control of the behaviour in that case as TLorentzVector behaves oddly.
Algebraic operators are provided but it's worth noting that negative-energy objects behaviour a little oddly (they are not valid four-momenta after all). This should only really affect the mass.
The sign of the vector is defined as sign(E) where E is the scalar sum of all constituents energies
Definition at line 42 of file SignedKinematics.h.
HLT::MET::SignedKinematics::SignedKinematics | ( | ) |
Definition at line 11 of file SignedKinematics.cxx.
HLT::MET::SignedKinematics::SignedKinematics | ( | double | px, |
double | py, | ||
double | pz, | ||
double | energy | ||
) |
HLT::MET::SignedKinematics::SignedKinematics | ( | const TLorentzVector & | tlv | ) |
Construct from a TLorentzVector.
Definition at line 17 of file SignedKinematics.cxx.
HLT::MET::SignedKinematics::SignedKinematics | ( | const xAOD::IParticle & | particle | ) |
double HLT::MET::SignedKinematics::absEnergy | ( | ) | const |
unsigned energy
Definition at line 134 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::absEt | ( | ) | const |
Unsigned et.
Definition at line 143 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::absP | ( | ) | const |
unsigned momentum
Definition at line 106 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::absPt | ( | ) | const |
unsigned pt
Definition at line 115 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::coshEta | ( | ) | const |
Definition at line 92 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::cosPhi | ( | ) | const |
Definition at line 79 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::energy | ( | ) | const |
Energy values (signed) energy.
Definition at line 131 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::energy2 | ( | ) | const |
Definition at line 137 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::et | ( | ) | const |
(signed) et
Definition at line 140 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::et2 | ( | ) | const |
Definition at line 146 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::eta | ( | ) | const |
Direction.
Definition at line 62 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::ex | ( | ) | const |
Definition at line 149 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::ey | ( | ) | const |
Definition at line 152 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::ez | ( | ) | const |
Definition at line 155 of file SignedKinematics.cxx.
|
static |
Factory function to construct from energy, eta, phi (massless)
Definition at line 26 of file SignedKinematics.cxx.
|
static |
Factory function to construct from energy eta, phi and m.
Definition at line 32 of file SignedKinematics.cxx.
|
static |
Factory function to construct from et, eta, phi (massless)
Definition at line 46 of file SignedKinematics.cxx.
|
static |
Factory function to construct from et eta, phi and m.
Definition at line 52 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::m2 | ( | ) | const |
The squared mass. There is no guarantee that this will be > 0.
Definition at line 159 of file SignedKinematics.cxx.
|
explicit |
Definition at line 163 of file SignedKinematics.cxx.
SignedKinematics & HLT::MET::SignedKinematics::operator+= | ( | const SignedKinematics & | other | ) |
SignedKinematics & HLT::MET::SignedKinematics::operator-= | ( | const SignedKinematics & | other | ) |
Subtract a SignedKinematics from this (exact opposite of the above function.
Definition at line 175 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::p | ( | ) | const |
Momentum values (signed) momentum.
Definition at line 103 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::p2 | ( | ) | const |
Definition at line 109 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::phi | ( | ) | const |
double HLT::MET::SignedKinematics::pt | ( | ) | const |
(signed) pt
Definition at line 112 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::pt2 | ( | ) | const |
double HLT::MET::SignedKinematics::px | ( | ) | const |
Definition at line 121 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::py | ( | ) | const |
Definition at line 124 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::pz | ( | ) | const |
Definition at line 127 of file SignedKinematics.cxx.
int HLT::MET::SignedKinematics::sign | ( | ) | const |
The sign of the kinematics.
Definition at line 58 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::sinhEta | ( | ) | const |
Provide accessors for sinh and cosh eta.
Definition at line 86 of file SignedKinematics.cxx.
double HLT::MET::SignedKinematics::sinPhi | ( | ) | const |
Provide accessors for sin and cos phi.
Definition at line 73 of file SignedKinematics.cxx.
|
private |
The actual kinematics.
Definition at line 119 of file SignedKinematics.h.