12#ifndef ROOT_TLorentzVector
13#define ROOT_TLorentzVector
260 return {
Px(),
Py(),
Pz(),
E()};
310 return fP.CosTheta();
410 return (
Vect() ==
q.Vect() &&
T() ==
q.T());
414 return (
Vect() !=
q.Vect() ||
T() !=
q.T());
441 return pt2 == 0 ? 0 :
E()*
E() * pt2/(pt2+
Z()*
Z());
446 return E() < 0.0 ? -sqrt(etet) : sqrt(etet);
452 return pt2 == 0 ? 0 :
E()*
E() * pt2/(pt2+pv*pv);
457 return E() < 0.0 ? -sqrt(etet) : sqrt(etet);
498 return T()*
T() -
fP.Mag2();
510 return E()*
E() -
Z()*
Z();
519 return fP.Mag() /
fE;
528 SetXYZM(spatial.
X(), spatial.
Y(), spatial.
Z(), magnitude);
536 return T()*
q.T() -
Z()*
q.Z() -
Y()*
q.Y() -
X()*
q.X();
571 return fP.PseudoRapidity();
587 fP.RotateUz(newUzVector);
615 :
fP(x0),
fE(x0[3]) {}
618 :
fP(x0),
fE(x0[3]) {}
624 ,
fP(p.Vect()),
fE(p.T()) {}
641 Error(
"operator()()",
"bad index (%d) returning 0",i);
659 Error(
"operator()()",
"bad index (%d) returning &fE",i);
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
float Float_t
Float 4 bytes (float).
const char Option_t
Option string (const char).
#define ClassDefOverride(name, id)
TLorentzVector operator*(Double_t a, const TLorentzVector &)
<div class="legacybox"><h2>Legacy Code</h2> TLorentzRotation is a legacy interface: there will be no ...
void RotateZ(Double_t angle)
void Rotate(Double_t, const TVector3 &)
Bool_t operator!=(const TLorentzVector &) const
Double_t Rapidity() const
TLorentzVector & operator+=(const TLorentzVector &)
TLorentzVector operator+(const TLorentzVector &) const
void RotateX(Double_t angle)
TLorentzVector & operator*=(Double_t a)
Bool_t operator==(const TLorentzVector &) const
void Print(Option_t *option="") const override
Print the TLorentz vector components as (x,y,z,t) and (P,eta,phi,E) representations.
Double_t Angle(const TVector3 &v) const
void GetXYZT(Double_t *carray) const
Double_t CosTheta() const
Double_t operator[](int i) const
void SetXYZT(Double_t x, Double_t y, Double_t z, Double_t t)
void RotateUz(const TVector3 &newUzVector)
~TLorentzVector() override=default
Double_t Dot(const TLorentzVector &) const
TLorentzVector operator*(Double_t a) const
void SetPtEtaPhiE(Double_t pt, Double_t eta, Double_t phi, Double_t e)
Double_t DrRapidityPhi(const TLorentzVector &) const
void SetPtEtaPhiM(Double_t pt, Double_t eta, Double_t phi, Double_t m)
void SetPhi(Double_t phi)
void RotateY(Double_t angle)
void Boost(Double_t, Double_t, Double_t)
TLorentzVector operator-() const
void SetRho(Double_t rho)
TLorentzVector & Transform(const TRotation &)
void SetVectMag(const TVector3 &spatial, Double_t magnitude)
Double_t PseudoRapidity() const
void SetPxPyPzE(Double_t px, Double_t py, Double_t pz, Double_t e)
void SetTheta(Double_t theta)
Double_t operator()(int i) const
Double_t DeltaPhi(const TLorentzVector &) const
void SetVect(const TVector3 &vect3)
TLorentzVector & operator=(const TLorentzVector &) noexcept
void SetVectM(const TVector3 &spatial, Double_t mass)
void SetXYZM(Double_t x, Double_t y, Double_t z, Double_t m)
Double_t DeltaR(const TLorentzVector &, Bool_t useRapidity=kFALSE) const
TVector3 BoostVector() const
Double_t DrEtaPhi(const TLorentzVector &) const
TLorentzVector & operator-=(const TLorentzVector &)
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
TObject()
TObject constructor.
<div class="legacybox"><h2>Legacy Code</h2> TRotation is a legacy interface: there will be no bug fix...
static Double_t Phi_mpi_pi(Double_t x)
Returns phi angle in the interval [-PI,PI).
LorentzVector< PxPyPzE4D< double > > PxPyPzEVector
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
Double_t Sqrt(Double_t x)
Returns the square root of x.
Double_t Cos(Double_t)
Returns the cosine of an angle of x radians.
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.