Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TLorentzVector Class Reference

Attention

TLorentzVector is a legacy class. It is slower and worse for serialization than the recommended superior alternative ROOT::Math::LorentzVector. ROOT provides specialisations of the ROOT::Math::LorentzVector template which offer superior runtime performance, i.e.:

More details can be found in the documentation of the Physics Vectors package.

Description

TLorentzVector is a general four-vector class, which can be used either for the description of position and time (x,y,z,t) or momentum and energy (px,py,pz,E).

Declaration

TLorentzVector has been implemented as a set a TVector3 and a Double_t variable. By default all components are initialized by zero.

TLorentzVector v1; // initialized by (0., 0., 0., 0.)
TLorentzVector v2(1., 1., 1., 1.);
TLorentzVector v4(TVector3(1., 2., 3.),4.);

For backward compatibility there are two constructors from an Double_t and Float_t C array.

Access to the components

There are two sets of access functions to the components of a LorentzVector: X(), Y(), Z(), T() and Px(), Py(), Pz() and E(). Both sets return the same values but the first set is more relevant for use where TLorentzVector describes a combination of position and time and the second set is more relevant where TLorentzVector describes momentum and energy:

Double_t xx =v.X();
...
Double_t tt = v.T();
Double_t px = v.Px();
...
Double_t ee = v.E();
auto * tt
Definition textangle.C:16

The components of TLorentzVector can also accessed by index:

xx = v(0); or xx = v[0];
yy = v(1); yy = v[1];
zz = v(2); zz = v[2];
tt = v(3); tt = v[3];

You can use the Vect() member function to get the vector component of TLorentzVector:

TVector3 p = v.Vect();
winID h TVirtualViewer3D TVirtualGLPainter p

For setting components also two sets of member functions can be used:

v.SetX(1.); or v.SetPx(1.);
... ...
v.SetT(1.); v.SetE(1.);

To set more the one component by one call you can use the SetVect() function for the TVector3 part or SetXYZT(), SetPxPyPzE(). For convenience there is

also a SetXYZM():

v.SetVect(TVector3(1,2,3));
v.SetXYZT(x,y,z,t);
v.SetPxPyPzE(px,py,pz,e);
v.SetXYZM(x,y,z,m); // -> v=(x,y,z,e=Sqrt(x*x+y*y+z*z+m*m))
#define e(i)
Definition RSha256.hxx:103
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
TMarker m
Definition textangle.C:8

Vector components in non-cartesian coordinate systems

There are a couple of member functions to get and set the TVector3 part of the parameters in spherical coordinate systems:

Double_t m, theta, cost, phi, pp, pp2, ppv2, pp2v2;
m = v.Rho();
t = v.Theta();
cost = v.CosTheta();
phi = v.Phi();
v.SetRho(10.);
v.SetTheta(TMath::Pi()*.3);
v.SetPhi(TMath::Pi());
constexpr Double_t Pi()
Definition TMath.h:37

or get information about the r-coordinate in cylindrical systems:

Double_t pp, pp2, ppv2, pp2v2;
pp = v.Perp(); // get transvers component
pp2 = v.Perp2(); // get transverse component squared
ppv2 = v.Perp(v1); // get transvers component with
// respect to another vector
pp2v2 = v.Perp(v1);

for convenience there are two more set functions SetPtEtaPhiE(pt,eta,phi,e); and SetPtEtaPhiM(pt,eta,phi,m);

Arithmetic and comparison operators

The TLorentzVector class provides operators to add, subtract or compare four-vectors:

v3 = -v1;
v1 = v2+v3;
v1+= v3;
v1 = v2 + v3;
v1-= v3;
if (v1 == v2) {...}
if(v1 != v3) {...}

Magnitude/Invariant mass, beta, gamma, scalar product

The scalar product of two four-vectors is calculated with the (-,-,-,+) metric,

i.e. s = v1*v2 = t1*t2-x1*x2-y1*y2-z1*z2 The magnitude squared mag2 of a four-vector is therefore:

mag2 = v*v = t*t-x*x-y*y-z*z

It mag2 is negative mag = -Sqrt(-mag*mag). The member functions are:

Double_t s, s2;
s = v1.Dot(v2); // scalar product
s = v1*v2; // scalar product
s2 = v.Mag2(); or s2 = v.M2();
s = v.Mag(); s = v.M();

Since in case of momentum and energy the magnitude has the meaning of invariant mass TLorentzVector provides the more meaningful aliases M2() and M(); The member functions Beta() and Gamma() returns beta and gamma = 1/Sqrt(1-beta*beta).

Lorentz boost

A boost in a general direction can be parameterised with three parameters which can be taken as the components of a three vector b = (bx,by,bz). With x = (x,y,z) and gamma = 1/Sqrt(1-beta*beta) (beta being the module of vector b), an arbitrary active Lorentz boost transformation (from the rod frame to the original frame) can be written as:

x = x' + (gamma-1)/(beta*beta) * (b*x') * b + gamma * t' * b
t = gamma (t'+ b*x').
#define b(i)
Definition RSha256.hxx:100

The member function Boost() performs a boost transformation from the rod frame to the original frame. BoostVector() returns a TVector3 of the spatial components divided by the time component:

v.Boost(bx,by,bz);
v.Boost(b);
b = v.BoostVector(); // b=(x/t,y/t,z/t)

Rotations

There are four sets of functions to rotate the TVector3 component of a TLorentzVector:

rotation around axes

v.RotateX(TMath::Pi()/2.);
v.RotateY(.5);
v.RotateZ(.99);

rotation around an arbitrary axis

v.Rotate(TMath::Pi()/4., v1); // rotation around v1

transformation from rotated frame

v.RotateUz(direction); // direction must be a unit TVector3

by TRotation (see TRotation)

v.Transform(r); or v *= r; // Attention v=M*v
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
<div class="legacybox"><h2>Legacy Code</h2> TRotation is a legacy interface: there will be no bug fix...
Definition TRotation.h:20

Misc

Angle between two vectors

Double_t a = v1.Angle(v2.Vect()); // get angle between v1 and v2
#define a(i)
Definition RSha256.hxx:99

Light-cone components

Member functions Plus() and Minus() return the positive and negative light-cone components:

Double_t pcone = v.Plus();
Double_t mcone = v.Minus();

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.

Transformation by TLorentzRotation

A general Lorentz transformation see class TLorentzRotation can be used by the Transform() member function, the *= or operator of the TLorentzRotation class:

v.Transform(l);
v = l*v; or v *= l; // Attention v = l*v
<div class="legacybox"><h2>Legacy Code</h2> TLorentzRotation is a legacy interface: there will be no ...
TLine l
Definition textangle.C:4

Definition at line 31 of file TLorentzVector.h.

Public Types

enum  {
  kX =0 , kY =1 , kZ =2 , kT =3 ,
  kNUM_COORDINATES =4 , kSIZE =kNUM_COORDINATES
}
 
typedef Double_t Scalar
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 

Public Member Functions

 TLorentzVector ()
 
 TLorentzVector (const Double_t *carray)
 
 TLorentzVector (const Float_t *carray)
 
 TLorentzVector (const TLorentzVector &lorentzvector)
 
 TLorentzVector (const TVector3 &vector3, Double_t t)
 
 TLorentzVector (Double_t x, Double_t y, Double_t z, Double_t t)
 
 ~TLorentzVector () override
 
Double_t Angle (const TVector3 &v) const
 
Double_t Beta () const
 
void Boost (const TVector3 &)
 
void Boost (Double_t, Double_t, Double_t)
 
TVector3 BoostVector () const
 
Double_t CosTheta () const
 
Double_t DeltaPhi (const TLorentzVector &) const
 
Double_t DeltaR (const TLorentzVector &, Bool_t useRapidity=kFALSE) const
 
Double_t Dot (const TLorentzVector &) const
 
Double_t DrEtaPhi (const TLorentzVector &) const
 
Double_t DrRapidityPhi (const TLorentzVector &) const
 
Double_t E () const
 
Double_t Energy () const
 
Double_t Et () const
 
Double_t Et (const TVector3 &) const
 
Double_t Et2 () const
 
Double_t Et2 (const TVector3 &) const
 
Double_t Eta () const
 
TVector2 EtaPhiVector ()
 
Double_t Gamma () const
 
void GetXYZT (Double_t *carray) const
 
void GetXYZT (Float_t *carray) const
 
TClassIsA () const override
 
Double_t M () const
 
Double_t M2 () const
 
Double_t Mag () const
 
Double_t Mag2 () const
 
Double_t Minus () const
 
Double_t Mt () const
 
Double_t Mt2 () const
 
 operator ROOT::Math::PxPyPzEVector () const
 
Bool_t operator!= (const TLorentzVector &) const
 
Double_toperator() (int i)
 
Double_t operator() (int i) const
 
Double_t operator* (const TLorentzVector &) const
 
TLorentzVector operator* (Double_t a) const
 
TLorentzVectoroperator*= (const TLorentzRotation &)
 
TLorentzVectoroperator*= (const TRotation &)
 
TLorentzVectoroperator*= (Double_t a)
 
TLorentzVector operator+ (const TLorentzVector &) const
 
TLorentzVectoroperator+= (const TLorentzVector &)
 
TLorentzVector operator- () const
 
TLorentzVector operator- (const TLorentzVector &) const
 
TLorentzVectoroperator-= (const TLorentzVector &)
 
TLorentzVectoroperator= (const TLorentzVector &)
 
Bool_t operator== (const TLorentzVector &) const
 
Double_toperator[] (int i)
 
Double_t operator[] (int i) const
 
Double_t P () const
 
Double_t Perp () const
 
Double_t Perp (const TVector3 &v) const
 
Double_t Perp2 () const
 
Double_t Perp2 (const TVector3 &v) const
 
Double_t Phi () const
 
Double_t Plus () 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 PseudoRapidity () const
 
Double_t Pt () const
 
Double_t Pt (const TVector3 &v) const
 
Double_t Px () const
 
Double_t Py () const
 
Double_t Pz () const
 
Double_t Rapidity () const
 
Double_t Rho () const
 
void Rotate (Double_t, const TVector3 &)
 
void RotateUz (const TVector3 &newUzVector)
 
void RotateX (Double_t angle)
 
void RotateY (Double_t angle)
 
void RotateZ (Double_t angle)
 
void SetE (Double_t a)
 
void SetPerp (Double_t)
 
void SetPhi (Double_t phi)
 
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 SetPx (Double_t a)
 
void SetPxPyPzE (Double_t px, Double_t py, Double_t pz, Double_t e)
 
void SetPy (Double_t a)
 
void SetPz (Double_t a)
 
void SetRho (Double_t rho)
 
void SetT (Double_t a)
 
void SetTheta (Double_t theta)
 
void SetVect (const TVector3 &vect3)
 
void SetVectM (const TVector3 &spatial, Double_t mass)
 
void SetVectMag (const TVector3 &spatial, Double_t magnitude)
 
void SetX (Double_t a)
 
void SetXYZM (Double_t x, Double_t y, Double_t z, Double_t m)
 
void SetXYZT (Double_t x, Double_t y, Double_t z, Double_t t)
 
void SetY (Double_t a)
 
void SetZ (Double_t a)
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
Double_t T () const
 
Double_t Theta () const
 
TLorentzVectorTransform (const TLorentzRotation &)
 
TLorentzVectorTransform (const TRotation &)
 
TVector3 Vect () const
 
Double_t X () const
 
Double_t Y () const
 
Double_t Z () const
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility.
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method.
 
virtual void Copy (TObject &object) const
 Copy this to obj.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual const char * GetName () const
 Returns name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object.
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
virtual ULong_t Hash () const
 Return hash value for this object.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout.
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 

Private Attributes

Double_t fE
 
TVector3 fP
 

Additional Inherited Members

- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

#include <TLorentzVector.h>

Inheritance diagram for TLorentzVector:
[legend]

Member Typedef Documentation

◆ Scalar

Definition at line 40 of file TLorentzVector.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kX 
kY 
kZ 
kT 
kNUM_COORDINATES 
kSIZE 

Definition at line 42 of file TLorentzVector.h.

Constructor & Destructor Documentation

◆ TLorentzVector() [1/6]

TLorentzVector::TLorentzVector ( )
inline

Definition at line 608 of file TLorentzVector.h.

◆ TLorentzVector() [2/6]

TLorentzVector::TLorentzVector ( Double_t  x,
Double_t  y,
Double_t  z,
Double_t  t 
)
inline

Definition at line 611 of file TLorentzVector.h.

◆ TLorentzVector() [3/6]

TLorentzVector::TLorentzVector ( const Double_t carray)
inline

Definition at line 614 of file TLorentzVector.h.

◆ TLorentzVector() [4/6]

TLorentzVector::TLorentzVector ( const Float_t carray)
inline

Definition at line 617 of file TLorentzVector.h.

◆ TLorentzVector() [5/6]

TLorentzVector::TLorentzVector ( const TVector3 vector3,
Double_t  t 
)
inline

Definition at line 620 of file TLorentzVector.h.

◆ TLorentzVector() [6/6]

TLorentzVector::TLorentzVector ( const TLorentzVector lorentzvector)
inline

Definition at line 623 of file TLorentzVector.h.

◆ ~TLorentzVector()

TLorentzVector::~TLorentzVector ( )
inlineoverride

Definition at line 60 of file TLorentzVector.h.

Member Function Documentation

◆ Angle()

Double_t TLorentzVector::Angle ( const TVector3 v) const
inline

Definition at line 493 of file TLorentzVector.h.

◆ Beta()

Double_t TLorentzVector::Beta ( ) const
inline

Definition at line 518 of file TLorentzVector.h.

◆ Boost() [1/2]

void TLorentzVector::Boost ( const TVector3 b)
inline

Definition at line 566 of file TLorentzVector.h.

◆ Boost() [2/2]

void TLorentzVector::Boost ( Double_t  bx,
Double_t  by,
Double_t  bz 
)

Definition at line 267 of file TLorentzVector.cxx.

◆ BoostVector()

TVector3 TLorentzVector::BoostVector ( ) const
inline

Definition at line 562 of file TLorentzVector.h.

◆ Class()

static TClass * TLorentzVector::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TLorentzVector::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TLorentzVector::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 265 of file TLorentzVector.h.

◆ CosTheta()

Double_t TLorentzVector::CosTheta ( ) const
inline

Definition at line 309 of file TLorentzVector.h.

◆ DeclFileName()

static const char * TLorentzVector::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 265 of file TLorentzVector.h.

◆ DeltaPhi()

Double_t TLorentzVector::DeltaPhi ( const TLorentzVector v) const
inline

Definition at line 460 of file TLorentzVector.h.

◆ DeltaR()

Double_t TLorentzVector::DeltaR ( const TLorentzVector v,
Bool_t  useRapidity = kFALSE 
) const
inline

Definition at line 468 of file TLorentzVector.h.

◆ Dot()

Double_t TLorentzVector::Dot ( const TLorentzVector q) const
inline

Definition at line 535 of file TLorentzVector.h.

◆ DrEtaPhi()

Double_t TLorentzVector::DrEtaPhi ( const TLorentzVector v) const
inline

Definition at line 480 of file TLorentzVector.h.

◆ DrRapidityPhi()

Double_t TLorentzVector::DrRapidityPhi ( const TLorentzVector v) const
inline

Definition at line 484 of file TLorentzVector.h.

◆ E()

Double_t TLorentzVector::E ( ) const
inline

Definition at line 289 of file TLorentzVector.h.

◆ Energy()

Double_t TLorentzVector::Energy ( ) const
inline

Definition at line 290 of file TLorentzVector.h.

◆ Et() [1/2]

Double_t TLorentzVector::Et ( ) const
inline

Definition at line 444 of file TLorentzVector.h.

◆ Et() [2/2]

Double_t TLorentzVector::Et ( const TVector3 v) const
inline

Definition at line 455 of file TLorentzVector.h.

◆ Et2() [1/2]

Double_t TLorentzVector::Et2 ( ) const
inline

Definition at line 439 of file TLorentzVector.h.

◆ Et2() [2/2]

Double_t TLorentzVector::Et2 ( const TVector3 v) const
inline

Definition at line 449 of file TLorentzVector.h.

◆ Eta()

Double_t TLorentzVector::Eta ( ) const
inline

Definition at line 464 of file TLorentzVector.h.

◆ EtaPhiVector()

TVector2 TLorentzVector::EtaPhiVector ( )
inline

Definition at line 488 of file TLorentzVector.h.

◆ Gamma()

Double_t TLorentzVector::Gamma ( ) const
inline

Definition at line 522 of file TLorentzVector.h.

◆ GetXYZT() [1/2]

void TLorentzVector::GetXYZT ( Double_t carray) const
inline

Definition at line 356 of file TLorentzVector.h.

◆ GetXYZT() [2/2]

void TLorentzVector::GetXYZT ( Float_t carray) const
inline

Definition at line 361 of file TLorentzVector.h.

◆ IsA()

TClass * TLorentzVector::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TObject.

Definition at line 265 of file TLorentzVector.h.

◆ M()

Double_t TLorentzVector::M ( ) const
inline

Definition at line 507 of file TLorentzVector.h.

◆ M2()

Double_t TLorentzVector::M2 ( ) const
inline

Definition at line 506 of file TLorentzVector.h.

◆ Mag()

Double_t TLorentzVector::Mag ( ) const
inline

Definition at line 501 of file TLorentzVector.h.

◆ Mag2()

Double_t TLorentzVector::Mag2 ( ) const
inline

Definition at line 497 of file TLorentzVector.h.

◆ Minus()

Double_t TLorentzVector::Minus ( ) const
inline

Definition at line 558 of file TLorentzVector.h.

◆ Mt()

Double_t TLorentzVector::Mt ( ) const
inline

Definition at line 513 of file TLorentzVector.h.

◆ Mt2()

Double_t TLorentzVector::Mt2 ( ) const
inline

Definition at line 509 of file TLorentzVector.h.

◆ operator ROOT::Math::PxPyPzEVector()

TLorentzVector::operator ROOT::Math::PxPyPzEVector ( ) const
inline

Definition at line 259 of file TLorentzVector.h.

◆ operator!=()

Bool_t TLorentzVector::operator!= ( const TLorentzVector q) const
inline

Definition at line 413 of file TLorentzVector.h.

◆ operator()() [1/2]

Double_t & TLorentzVector::operator() ( int  i)
inline

Definition at line 646 of file TLorentzVector.h.

◆ operator()() [2/2]

Double_t TLorentzVector::operator() ( int  i) const
inline

Definition at line 628 of file TLorentzVector.h.

◆ operator*() [1/2]

Double_t TLorentzVector::operator* ( const TLorentzVector q) const
inline

Definition at line 539 of file TLorentzVector.h.

◆ operator*() [2/2]

TLorentzVector TLorentzVector::operator* ( Double_t  a) const
inline

Definition at line 405 of file TLorentzVector.h.

◆ operator*=() [1/3]

TLorentzVector & TLorentzVector::operator*= ( const TLorentzRotation m)

Definition at line 287 of file TLorentzVector.cxx.

◆ operator*=() [2/3]

TLorentzVector & TLorentzVector::operator*= ( const TRotation m)
inline

Definition at line 594 of file TLorentzVector.h.

◆ operator*=() [3/3]

TLorentzVector & TLorentzVector::operator*= ( Double_t  a)
inline

Definition at line 399 of file TLorentzVector.h.

◆ operator+()

TLorentzVector TLorentzVector::operator+ ( const TLorentzVector q) const
inline

Definition at line 375 of file TLorentzVector.h.

◆ operator+=()

TLorentzVector & TLorentzVector::operator+= ( const TLorentzVector q)
inline

Definition at line 379 of file TLorentzVector.h.

◆ operator-() [1/2]

TLorentzVector TLorentzVector::operator- ( ) const
inline

Definition at line 395 of file TLorentzVector.h.

◆ operator-() [2/2]

TLorentzVector TLorentzVector::operator- ( const TLorentzVector q) const
inline

Definition at line 385 of file TLorentzVector.h.

◆ operator-=()

TLorentzVector & TLorentzVector::operator-= ( const TLorentzVector q)
inline

Definition at line 389 of file TLorentzVector.h.

◆ operator=()

TLorentzVector & TLorentzVector::operator= ( const TLorentzVector q)
inline

Definition at line 369 of file TLorentzVector.h.

◆ operator==()

Bool_t TLorentzVector::operator== ( const TLorentzVector q) const
inline

Definition at line 409 of file TLorentzVector.h.

◆ operator[]() [1/2]

Double_t & TLorentzVector::operator[] ( int  i)
inline

Definition at line 366 of file TLorentzVector.h.

◆ operator[]() [2/2]

Double_t TLorentzVector::operator[] ( int  i) const
inline

Definition at line 367 of file TLorentzVector.h.

◆ P()

Double_t TLorentzVector::P ( ) const
inline

Definition at line 288 of file TLorentzVector.h.

◆ Perp() [1/2]

Double_t TLorentzVector::Perp ( ) const
inline

Definition at line 419 of file TLorentzVector.h.

◆ Perp() [2/2]

Double_t TLorentzVector::Perp ( const TVector3 v) const
inline

Definition at line 431 of file TLorentzVector.h.

◆ Perp2() [1/2]

Double_t TLorentzVector::Perp2 ( ) const
inline

Definition at line 417 of file TLorentzVector.h.

◆ Perp2() [2/2]

Double_t TLorentzVector::Perp2 ( const TVector3 v) const
inline

Definition at line 427 of file TLorentzVector.h.

◆ Phi()

Double_t TLorentzVector::Phi ( ) const
inline

Definition at line 301 of file TLorentzVector.h.

◆ Plus()

Double_t TLorentzVector::Plus ( ) const
inline

Definition at line 554 of file TLorentzVector.h.

◆ Print()

void TLorentzVector::Print ( Option_t option = "") const
overridevirtual

Print the TLorentz vector components as (x,y,z,t) and (P,eta,phi,E) representations.

Reimplemented from TObject.

Definition at line 327 of file TLorentzVector.cxx.

◆ PseudoRapidity()

Double_t TLorentzVector::PseudoRapidity ( ) const
inline

Definition at line 570 of file TLorentzVector.h.

◆ Pt() [1/2]

Double_t TLorentzVector::Pt ( ) const
inline

Definition at line 421 of file TLorentzVector.h.

◆ Pt() [2/2]

Double_t TLorentzVector::Pt ( const TVector3 v) const
inline

Definition at line 435 of file TLorentzVector.h.

◆ Px()

Double_t TLorentzVector::Px ( ) const
inline

Definition at line 285 of file TLorentzVector.h.

◆ Py()

Double_t TLorentzVector::Py ( ) const
inline

Definition at line 286 of file TLorentzVector.h.

◆ Pz()

Double_t TLorentzVector::Pz ( ) const
inline

Definition at line 287 of file TLorentzVector.h.

◆ Rapidity()

Double_t TLorentzVector::Rapidity ( ) const

Definition at line 281 of file TLorentzVector.cxx.

◆ Rho()

Double_t TLorentzVector::Rho ( ) const
inline

Definition at line 314 of file TLorentzVector.h.

◆ Rotate()

void TLorentzVector::Rotate ( Double_t  a,
const TVector3 v 
)
inline

Definition at line 590 of file TLorentzVector.h.

◆ RotateUz()

void TLorentzVector::RotateUz ( const TVector3 newUzVector)
inline

Definition at line 586 of file TLorentzVector.h.

◆ RotateX()

void TLorentzVector::RotateX ( Double_t  angle)
inline

Definition at line 574 of file TLorentzVector.h.

◆ RotateY()

void TLorentzVector::RotateY ( Double_t  angle)
inline

Definition at line 578 of file TLorentzVector.h.

◆ RotateZ()

void TLorentzVector::RotateZ ( Double_t  angle)
inline

Definition at line 582 of file TLorentzVector.h.

◆ SetE()

void TLorentzVector::SetE ( Double_t  a)
inline

Definition at line 295 of file TLorentzVector.h.

◆ SetPerp()

void TLorentzVector::SetPerp ( Double_t  r)
inline

Definition at line 423 of file TLorentzVector.h.

◆ SetPhi()

void TLorentzVector::SetPhi ( Double_t  phi)
inline

Definition at line 322 of file TLorentzVector.h.

◆ SetPtEtaPhiE()

void TLorentzVector::SetPtEtaPhiE ( Double_t  pt,
Double_t  eta,
Double_t  phi,
Double_t  e 
)
inline

Definition at line 351 of file TLorentzVector.h.

◆ SetPtEtaPhiM()

void TLorentzVector::SetPtEtaPhiM ( Double_t  pt,
Double_t  eta,
Double_t  phi,
Double_t  m 
)
inline

Definition at line 346 of file TLorentzVector.h.

◆ SetPx()

void TLorentzVector::SetPx ( Double_t  a)
inline

Definition at line 292 of file TLorentzVector.h.

◆ SetPxPyPzE()

void TLorentzVector::SetPxPyPzE ( Double_t  px,
Double_t  py,
Double_t  pz,
Double_t  e 
)
inline

Definition at line 335 of file TLorentzVector.h.

◆ SetPy()

void TLorentzVector::SetPy ( Double_t  a)
inline

Definition at line 293 of file TLorentzVector.h.

◆ SetPz()

void TLorentzVector::SetPz ( Double_t  a)
inline

Definition at line 294 of file TLorentzVector.h.

◆ SetRho()

void TLorentzVector::SetRho ( Double_t  rho)
inline

Definition at line 326 of file TLorentzVector.h.

◆ SetT()

void TLorentzVector::SetT ( Double_t  a)
inline

Definition at line 283 of file TLorentzVector.h.

◆ SetTheta()

void TLorentzVector::SetTheta ( Double_t  theta)
inline

Definition at line 318 of file TLorentzVector.h.

◆ SetVect()

void TLorentzVector::SetVect ( const TVector3 vect3)
inline

Definition at line 299 of file TLorentzVector.h.

◆ SetVectM()

void TLorentzVector::SetVectM ( const TVector3 spatial,
Double_t  mass 
)
inline

Definition at line 531 of file TLorentzVector.h.

◆ SetVectMag()

void TLorentzVector::SetVectMag ( const TVector3 spatial,
Double_t  magnitude 
)
inline

Definition at line 527 of file TLorentzVector.h.

◆ SetX()

void TLorentzVector::SetX ( Double_t  a)
inline

Definition at line 280 of file TLorentzVector.h.

◆ SetXYZM()

void TLorentzVector::SetXYZM ( Double_t  x,
Double_t  y,
Double_t  z,
Double_t  m 
)
inline

Definition at line 339 of file TLorentzVector.h.

◆ SetXYZT()

void TLorentzVector::SetXYZT ( Double_t  x,
Double_t  y,
Double_t  z,
Double_t  t 
)
inline

Definition at line 330 of file TLorentzVector.h.

◆ SetY()

void TLorentzVector::SetY ( Double_t  a)
inline

Definition at line 281 of file TLorentzVector.h.

◆ SetZ()

void TLorentzVector::SetZ ( Double_t  a)
inline

Definition at line 282 of file TLorentzVector.h.

◆ Streamer()

void TLorentzVector::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TObject.

Reimplemented from TObject.

Definition at line 299 of file TLorentzVector.cxx.

◆ StreamerNVirtual()

void TLorentzVector::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 265 of file TLorentzVector.h.

◆ T()

Double_t TLorentzVector::T ( ) const
inline

Definition at line 278 of file TLorentzVector.h.

◆ Theta()

Double_t TLorentzVector::Theta ( ) const
inline

Definition at line 305 of file TLorentzVector.h.

◆ Transform() [1/2]

TLorentzVector & TLorentzVector::Transform ( const TLorentzRotation m)

Definition at line 293 of file TLorentzVector.cxx.

◆ Transform() [2/2]

TLorentzVector & TLorentzVector::Transform ( const TRotation m)
inline

Definition at line 599 of file TLorentzVector.h.

◆ Vect()

TVector3 TLorentzVector::Vect ( ) const
inline

Definition at line 297 of file TLorentzVector.h.

◆ X()

Double_t TLorentzVector::X ( ) const
inline

Definition at line 275 of file TLorentzVector.h.

◆ Y()

Double_t TLorentzVector::Y ( ) const
inline

Definition at line 276 of file TLorentzVector.h.

◆ Z()

Double_t TLorentzVector::Z ( ) const
inline

Definition at line 277 of file TLorentzVector.h.

Member Data Documentation

◆ fE

Double_t TLorentzVector::fE
private

Definition at line 36 of file TLorentzVector.h.

◆ fP

TVector3 TLorentzVector::fP
private

Definition at line 35 of file TLorentzVector.h.

Libraries for TLorentzVector:

The documentation for this class was generated from the following files: