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

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 | |
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 35 of file TMBLorentzVector.hpp.
|
|
Safe indexing of the coordinates when using with matrices, arrays, etc.
Definition at line 40 of file TMBLorentzVector.hpp. |
|
|
Initializer sets for the constructor.
Definition at line 50 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 59 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 70 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 79 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 87 of file TMBLorentzVector.hpp. References Set(). |
|
|
Copy constructor. Definition at line 94 of file TMBLorentzVector.hpp. |
|
|
Conversion constructor from a TLorentzVector Definition at line 99 of file TMBLorentzVector.hpp. |
|
|
Definition at line 103 of file TMBLorentzVector.hpp. |
|
|
get beta Definition at line 257 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 116 of file TMBLorentzVector.hpp. References E(). |
|
|
get gamma Definition at line 261 of file TMBLorentzVector.hpp. References Beta(). |
|
|
Getters into an arry (no checking of array bounds!) Definition at line 129 of file TMBLorentzVector.hpp. References E(), and TMBVector3::GetXYZ(). |
|
|
Getters into an arry (no checking of array bounds!) Definition at line 126 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 110 of file TMBLorentzVector.hpp. References fM. Referenced by TMBTrack::propagate(). |
|
|
get invariant mass squared. See remark on mass in TMBLorentzVector class description Definition at line 242 of file TMBLorentzVector.hpp. References Mag2(). |
|
|
get invariant mass. See remark on mass in TMBLorentzVector class description Definition at line 245 of file TMBLorentzVector.hpp. References fM. |
|
|
get invariant mass squared. See remark on mass in TMBLorentzVector class description Definition at line 240 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 253 of file TMBLorentzVector.hpp. References Mt2(). |
|
|
transverse mass squared Definition at line 249 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 220 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 223 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 231 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 202 of file TMBLorentzVector.hpp. References E(), TMBLorentzVector(), and Vect(). |
|
|
4vector addition Definition at line 205 of file TMBLorentzVector.hpp. |
|
|
unary minus Reimplemented from TMBVector3. Definition at line 216 of file TMBLorentzVector.hpp. References E(), TMBLorentzVector(), and Vect(). |
|
|
4vector substraction Definition at line 209 of file TMBLorentzVector.hpp. References E(), TMBLorentzVector(), and Vect(). |
|
|
4vector substraction Definition at line 212 of file TMBLorentzVector.hpp. |
|
|
assignment Definition at line 197 of file TMBLorentzVector.hpp. |
|
|
Comparison, equality operator. Two lorentz vectors are equal if all their componens are equal. Definition at line 227 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 134 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 144 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 167 of file TMBLorentzVector.hpp. References SetT(). Referenced by operator+=(), operator-=(), SetPEtaPhiE(), SetPtEtaPhiE(), SetVectE(), SetVectMag(), SetXYZT(), and TMBLorentzVector(). |
|
|
set mass Definition at line 160 of file TMBLorentzVector.hpp. References fM. Referenced by SetXYZM(). |
|
||||||||||||||||||||
|
set all members using |momentum|, eta, phi and energy Definition at line 188 of file TMBLorentzVector.hpp. References SetE(), and TMBVector3::SetPtEtaPhi(). Referenced by Set(). |
|
||||||||||||||||||||
|
set all members using |momentum|, eta, phi and mass Definition at line 191 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 182 of file TMBLorentzVector.hpp. References SetE(), and TMBVector3::SetPtEtaPhi(). Referenced by ClassImp(), Set(), TMBEMCluster::Set(), TMBParticleJet::Set0(), and TMBJet::Set0(). |
|
||||||||||||||||||||
|
set all members using transverse momentum, eta, phi and mass Definition at line 185 of file TMBLorentzVector.hpp. References fM, and TMBVector3::SetPtEtaPhi(). Referenced by Set(). |
|
||||||||||||||||||||
|
set all members using Cartesian coordinates and energy Definition at line 173 of file TMBLorentzVector.hpp. References SetXYZT(). Referenced by TMBMuon::CorrectPt(), TMBTau::Set(), and TMBTrackCalJet::TMBTrackCalJet(). |
|
|
set E component. See remark on mass in TMBLorentzVector class description Definition at line 163 of file TMBLorentzVector.hpp. References fM, and TMBVector3::Mag32(). Referenced by SetE(). |
|
|
Set spatial component. Definition at line 170 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 179 of file TMBLorentzVector.hpp. References SetM(), and TMBVector3::SetXYZ(). Referenced by Set(). |
|
||||||||||||||||||||
|
set all members using Cartesian coordinates and energy Definition at line 176 of file TMBLorentzVector.hpp. References SetE(), and TMBVector3::SetXYZ(). Referenced by Set(), and SetPxPyPzE(). |
|
|
get energy / time component Definition at line 118 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 123 of file TMBLorentzVector.hpp. |
|
|
Get spatial component (const). Definition at line 121 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