#include <TMBLorentzVector.hpp>
Inheritance diagram for TMBLorentzVector:

Changes compared to TLorentzVector: derives from TMBVector3 (instead of having a TVector3 member) mass is stored as member, not energy constructor allows several parameter sets, not just xyzE Rapidity() is rapidity, not pseudo-rapidity Some protections against divisions by zero some virtual methods
NOTE on mass: by setting an energy < |momentum|, Mag2() is negative. In that case, M() will return -sqrt(-Mag2()).
Definition at line 36 of file TMBLorentzVector.hpp.
Public Types | |
| enum | ECoordinates { kX = 0, kY = 1, kZ = 2, kE = 3, kNUM_COORDINATES = 4, kSIZE = kNUM_COORDINATES } |
| Safe indexing of the coordinates when using with matrices, arrays, etc. More... | |
| enum | EInitializer { kXYZE, kXYZM, kPEtaPhiE, kPEtaPhiM, kPtEtaPhiE, kPtEtaPhiM } |
| Initializer sets for the constructor. More... | |
Public Member Functions | |
| TMBLorentzVector (Double_t a=0.0, Double_t b=0.0, Double_t c=0.0, Double_t d=0.0, EInitializer init=kXYZE) | |
| TMBLorentzVector (const TVector3 &vect, Double_t v4, EInitializer init=kXYZE) | |
| TMBLorentzVector (const Double_t *a, EInitializer init=kXYZE) | |
| TMBLorentzVector (const Float_t *a, EInitializer init=kXYZE) | |
| TMBLorentzVector (const TMBLorentzVector &lv) | |
| TMBLorentzVector (const TLorentzVector &lv) | |
| virtual | ~TMBLorentzVector () |
| TMBLorentzVector & | operator= (const TMBLorentzVector &lv) |
| TMBLorentzVector | operator+ (const TMBLorentzVector &lv) const |
| TMBLorentzVector & | operator+= (const TMBLorentzVector &lv) |
| TMBLorentzVector | operator- (const TMBLorentzVector &lv) const |
| TMBLorentzVector & | operator-= (const TMBLorentzVector &lv) |
| TMBLorentzVector | operator- () const |
| TMBLorentzVector | operator * (Double_t a) const |
| TMBLorentzVector & | operator *= (Double_t a) |
| Bool_t | operator== (const TMBLorentzVector &lv) const |
| Bool_t | operator!= (const TMBLorentzVector &lv) const |
| Bool_t | is_equal (const TMBLorentzVector &lv) const |
| Equivalence operator. | |
| Double_t | Mag2 () const |
| Double_t | M2 () const |
| Double_t | Mag () const |
| Double_t | Mt2 () const |
| Double_t | Mt () const |
| Double_t | Beta () const |
| Double_t | Gamma () const |
| Double_t | Dot (const TMBLorentzVector &lv) const |
| Double_t | operator * (const TMBLorentzVector &lv) const |
| void | SetVectMag (const TVector3 &spatial, Double_t magnitude) |
| void | SetVectM (const TVector3 &spatial, Double_t mass) |
| void | SetVectE (const TVector3 &spatial, Double_t e) |
| Double_t | Plus () const |
| Double_t | Minus () const |
| TVector3 | BoostVector () const |
| void | Boost (Double_t x, Double_t y, Double_t z) |
| void | Boost (const TVector3 &b) |
| Double_t | Rapidity () const |
| TMBLorentzVector & | operator *= (const TRotation &m) |
| TMBLorentzVector & | Transform (const TRotation &m) |
| TMBLorentzVector & | operator *= (const TLorentzRotation &) |
| TMBLorentzVector & | Transform (const TLorentzRotation &) |
| operator TLorentzVector () const | |
| Transformation with HepLorenzRotation. | |
Getters | |
| Double_t | M () const |
| virtual Double_t | E () const |
| Double_t | Energy () const |
| Double_t | T () const |
| virtual const TMBVector3 & | Vect () const |
| virtual TMBVector3 & | Vect () |
| void | GetXYZT (Double_t *carray) const |
| void | GetXYZT (Float_t *carray) const |
| Double_t | operator() (int i) const |
| Double_t | operator[] (int i) const |
Setters | |
| void | Set (Double_t a=0.0, Double_t b=0.0, Double_t c=0.0, Double_t d=0.0, EInitializer init=kXYZE) |
| void | SetM (Double_t a) |
| void | SetT (Double_t a) |
| void | SetE (Double_t a) |
| void | SetVect (const TVector3 &vect3) |
| void | SetPxPyPzE (Double_t px, Double_t py, Double_t pz, Double_t e) |
| void | SetXYZT (Double_t x, Double_t y, Double_t z, Double_t t) |
| void | SetXYZM (Double_t x, Double_t y, Double_t z, Double_t m) |
| void | SetPtEtaPhiE (Double_t pt, Double_t eta, Double_t phi, Double_t e) |
| void | SetPtEtaPhiM (Double_t pt, Double_t eta, Double_t phi, Double_t m) |
| void | SetPEtaPhiE (Double_t p, Double_t eta, Double_t phi, Double_t e) |
| void | SetPEtaPhiM (Double_t p, Double_t eta, Double_t phi, Double_t m) |
Private Attributes | |
| Double32_t | fM |
| mass | |
|
|
Safe indexing of the coordinates when using with matrices, arrays, etc.
Definition at line 41 of file TMBLorentzVector.hpp. |
|
|
Initializer sets for the constructor.
Definition at line 51 of file TMBLorentzVector.hpp. |
|
||||||||||||||||||||||||
|
Initialize a TMBLorentzVector. The meaning of a,b,c,d depends on the value of init, see EInitializer Definition at line 60 of file TMBLorentzVector.hpp. References Set(). Referenced by operator *(), operator+(), operator-(), and TMBTrack::propagate(). |
|
||||||||||||||||
|
Initialize a TMBLorentzVector with a 3 vector and energy or mass, depending on the value of init (e.g. it's the mass for init==kPtEtaPhiM) Definition at line 71 of file TMBLorentzVector.hpp. References fM, kPEtaPhiM, kPtEtaPhiM, kXYZM, and SetE(). |
|
||||||||||||
|
Initialize a TMBLorentzVector with an array (array size not checked!) The meaning of the array values depends on the value of init, see EInitializer Definition at line 80 of file TMBLorentzVector.hpp. References Set(). |
|
||||||||||||
|
Initialize a TMBLorentzVector with an array (array size not checked!) The meaning of the array values depends on the value of init, see EInitializer Definition at line 88 of file TMBLorentzVector.hpp. References Set(). |
|
|
Copy constructor. Definition at line 95 of file TMBLorentzVector.hpp. |
|
|
Conversion constructor from a TLorentzVector Definition at line 100 of file TMBLorentzVector.hpp. |
|
|
Definition at line 104 of file TMBLorentzVector.hpp. |
|
|
get beta Definition at line 258 of file TMBLorentzVector.hpp. References E(), and TMBVector3::Mag3(). Referenced by Gamma(). |
|
|
Definition at line 18 of file TMBLorentzVector.cpp. |
|
||||||||||||||||
|
Lorentz boost by vector xyz Definition at line 309 of file TMBLorentzVector.hpp. |
|
|
Returns the spatial components divided by the time component. Definition at line 304 of file TMBLorentzVector.hpp. |
|
|
scalar (dot) product Definition at line 268 of file TMBLorentzVector.hpp. References TMBVector3::Dot(), E(), and Vect(). Referenced by operator *(). |
|
|
|
get energy Definition at line 117 of file TMBLorentzVector.hpp. References E(). |
|
|
get gamma Definition at line 262 of file TMBLorentzVector.hpp. References Beta(). |
|
|
Getters into an arry (no checking of array bounds!) Definition at line 130 of file TMBLorentzVector.hpp. References E(), and TMBVector3::GetXYZ(). |
|
|
Getters into an arry (no checking of array bounds!) Definition at line 127 of file TMBLorentzVector.hpp. References E(), and TMBVector3::GetXYZ(). |
|
|
Equivalence operator. True if all components are equivalent within machine precision. Definition at line 40 of file TMBLorentzVector.cpp. References E(), TMBVector3::is_equal(), and Vect(). |
|
|
get mass, see remark on mass in TMBLorentzVector class description Definition at line 111 of file TMBLorentzVector.hpp. References fM. Referenced by TMBMuon::ActAsSmeared(), and TMBTrack::propagate(). |
|
|
get invariant mass squared. See remark on mass in TMBLorentzVector class description Definition at line 243 of file TMBLorentzVector.hpp. References Mag2(). |
|
|
get invariant mass. See remark on mass in TMBLorentzVector class description Definition at line 246 of file TMBLorentzVector.hpp. References fM. |
|
|
get invariant mass squared. See remark on mass in TMBLorentzVector class description Definition at line 241 of file TMBLorentzVector.hpp. References fM. Referenced by M2(). |
|
|
Returns t - z. Related to the positive/negative light-cone component, which some define this way and others define as (t +/- z)/sqrt(2) CAVEAT: The values returned are T{+,-}Z. It is known that some authors find it easier to define these components as (T{+,-}Z)/sqrt(2). Thus check what definition is used in the physics you're working in and adapt your code accordingly. Definition at line 294 of file TMBLorentzVector.hpp. References E(), Vect(), and TMBVector3::Z(). |
|
|
Transverse mass. If Mt2() is negative then -sqrt(-Mt2()) is returned. Definition at line 254 of file TMBLorentzVector.hpp. References Mt2(). |
|
|
transverse mass squared Definition at line 250 of file TMBLorentzVector.hpp. References E(), and TMBVector3::Z(). Referenced by Mt(). |
|
|
scalar (dot) product Definition at line 271 of file TMBLorentzVector.hpp. References Dot(). |
|
|
scaling with real numbers (const) Definition at line 221 of file TMBLorentzVector.hpp. References E(), TMBLorentzVector(), and Vect(). |
|
|
Definition at line 28 of file TMBLorentzVector.cpp. |
|
|
rotate using a TRotation Reimplemented from TMBVector3. Definition at line 320 of file TMBLorentzVector.hpp. References Vect(). |
|
|
scaling with real numbers (non-const) Reimplemented from TMBVector3. Definition at line 224 of file TMBLorentzVector.hpp. |
|
|
Transformation with HepLorenzRotation. cast to a TLorentzVector Definition at line 330 of file TMBLorentzVector.hpp. References E(), TMBVector3::X(), TMBVector3::Y(), and TMBVector3::Z(). |
|
|
Comparison, in-equality operator. Two lorentz vectors are not equal if any of their componens are not equal. Definition at line 232 of file TMBLorentzVector.hpp. References operator==(). |
|
|
Get components by index. Reimplemented from TMBVector3. Definition at line 4 of file TMBLorentzVector.cpp. References E(), kE, kX, kY, kZ, and Vect(). Referenced by operator[](). |
|
|
4vector addition Definition at line 203 of file TMBLorentzVector.hpp. References E(), TMBLorentzVector(), and Vect(). |
|
|
4vector addition Definition at line 206 of file TMBLorentzVector.hpp. |
|
|
unary minus Reimplemented from TMBVector3. Definition at line 217 of file TMBLorentzVector.hpp. References E(), TMBLorentzVector(), and Vect(). |
|
|
4vector substraction Definition at line 210 of file TMBLorentzVector.hpp. References E(), TMBLorentzVector(), and Vect(). |
|
|
4vector substraction Definition at line 213 of file TMBLorentzVector.hpp. |
|
|
assignment Definition at line 198 of file TMBLorentzVector.hpp. |
|
|
Comparison, equality operator. Two lorentz vectors are equal if all their componens are equal. Definition at line 228 of file TMBLorentzVector.hpp. Referenced by operator!=(). |
|
|
Get components by index (as if it was an array). You can use ECoordinates to index a dimension. Reimplemented from TMBVector3. Definition at line 135 of file TMBLorentzVector.hpp. References operator()(). |
|
|
Returns t + z. Related to the positive/negative light-cone component, which some define this way and others define as (t +/- z)/sqrt(2) CAVEAT: The values returned are T{+,-}Z. It is known that some authors find it easier to define these components as (T{+,-}Z)/sqrt(2). Thus check what definition is used in the physics you're working in and adapt your code accordingly. Definition at line 285 of file TMBLorentzVector.hpp. References E(), Vect(), and TMBVector3::Z(). |
|
|
get rapidity (i.e. NOT pseudo-rapidity!) Definition at line 314 of file TMBLorentzVector.hpp. References E(), and TMBVector3::Pz(). |
|
||||||||||||||||||||||||
|
Initialize a TMBLorentzVector. The meaning of a,b,c,d depends on the value of init, see EInitializer Definition at line 145 of file TMBLorentzVector.hpp. References kPEtaPhiE, kPEtaPhiM, kPtEtaPhiE, kPtEtaPhiM, kXYZM, SetPEtaPhiE(), SetPEtaPhiM(), SetPtEtaPhiE(), SetPtEtaPhiM(), SetXYZM(), and SetXYZT(). Referenced by TMBLorentzVector(). |
|
|
set E component. See remark on mass in TMBLorentzVector class description Definition at line 168 of file TMBLorentzVector.hpp. References SetT(). Referenced by operator+=(), operator-=(), SetPEtaPhiE(), SetPtEtaPhiE(), SetVectE(), SetVectMag(), SetXYZT(), and TMBLorentzVector(). |
|
|
set mass Definition at line 161 of file TMBLorentzVector.hpp. References fM. Referenced by SetXYZM(). |
|
||||||||||||||||||||
|
set all members using |momentum|, eta, phi and energy Definition at line 189 of file TMBLorentzVector.hpp. References SetE(), and TMBVector3::SetPtEtaPhi(). Referenced by Set(). |
|
||||||||||||||||||||
|
set all members using |momentum|, eta, phi and mass Definition at line 192 of file TMBLorentzVector.hpp. References fM, and TMBVector3::SetPtEtaPhi(). Referenced by Set(). |
|
||||||||||||||||||||
|
set all members using transverse momentum, eta, phi and energy Definition at line 183 of file TMBLorentzVector.hpp. References SetE(), and TMBVector3::SetPtEtaPhi(). Referenced by ClassImp(), Set(), TMBEMCluster::Set(), TMBParticleJet::Set0(), TMBJet::Set0(), and TMBParticleJet::TMBParticleJet(). |
|
||||||||||||||||||||
|
set all members using transverse momentum, eta, phi and mass Definition at line 186 of file TMBLorentzVector.hpp. References fM, and TMBVector3::SetPtEtaPhi(). Referenced by TMBMuon::ActAsSmeared(), and Set(). |
|
||||||||||||||||||||
|
set all members using Cartesian coordinates and energy Definition at line 174 of file TMBLorentzVector.hpp. References SetXYZT(). Referenced by TMBMuon::CorrectPt(), TMBMuon::FixMuonPt(), TMBTau::Set(), and TMBTrackCalJet::TMBTrackCalJet(). |
|
|
set E component. See remark on mass in TMBLorentzVector class description Definition at line 164 of file TMBLorentzVector.hpp. References fM, and TMBVector3::Mag32(). Referenced by SetE(). |
|
|
Set spatial component. Definition at line 171 of file TMBLorentzVector.hpp. References Vect(). |
|
||||||||||||
|
set vector and energy Definition at line 281 of file TMBLorentzVector.hpp. |
|
||||||||||||
|
set vector and mass Definition at line 278 of file TMBLorentzVector.hpp. References SetVectMag(). |
|
||||||||||||
|
set vector and mass Definition at line 275 of file TMBLorentzVector.hpp. References SetE(), and Vect(). Referenced by SetVectM(). |
|
||||||||||||||||||||
|
set all members using Cartesian coordinates and mass Definition at line 180 of file TMBLorentzVector.hpp. References SetM(), and TMBVector3::SetXYZ(). Referenced by Set(). |
|
||||||||||||||||||||
|
set all members using Cartesian coordinates and energy Definition at line 177 of file TMBLorentzVector.hpp. References SetE(), and TMBVector3::SetXYZ(). Referenced by Set(), and SetPxPyPzE(). |
|
|
get energy / time component Definition at line 119 of file TMBLorentzVector.hpp. References E(). |
|
|
Definition at line 33 of file TMBLorentzVector.cpp. |
|
|
transform using a TRotation, see TVector3::Transform() Reimplemented from TMBVector3. Definition at line 323 of file TMBLorentzVector.hpp. References TMBVector3::Transform(), and Vect(). |
|
|
Get spatial component (non-const). Definition at line 124 of file TMBLorentzVector.hpp. |
|
|
Get spatial component (const). Definition at line 122 of file TMBLorentzVector.hpp. Referenced by Boost(), BoostVector(), Dot(), is_equal(), Minus(), operator *(), operator *(), operator *=(), operator()(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator==(), Plus(), SetVect(), SetVectE(), SetVectMag(), TMBLorentzVector(), and Transform(). |
|
|
mass
Definition at line 335 of file TMBLorentzVector.hpp. Referenced by E(), M(), Mag(), Mag2(), operator *=(), operator=(), operator==(), SetM(), SetPEtaPhiM(), SetPtEtaPhiM(), SetT(), and TMBLorentzVector(). |
1.3.4