Rest frame of a particle.
More...
#include <ReferenceFrame.h>
|
| RestFrame (const Particle *particle) |
| Create new rest frame.
|
|
virtual ROOT::Math::XYZVector | getVertex (const ROOT::Math::XYZVector &vector) const override |
| Get vertex 3-vector in rest frame system.
|
|
virtual ROOT::Math::PxPyPzEVector | getMomentum (const ROOT::Math::PxPyPzEVector &vector) const override |
| Get Lorentz vector in rest frame System.
|
|
virtual TMatrixFSym | getMomentumErrorMatrix (const TMatrixFSym &matrix) const override |
| Get Momentum error matrix in rest frame.
|
|
virtual TMatrixFSym | getVertexErrorMatrix (const TMatrixFSym &matrix) const override |
| Get Vertex error matrix in rest frame.
|
|
virtual ROOT::Math::XYZVector | getVertex (const Particle *particle) const |
| Wrapper for particles.
|
|
virtual ROOT::Math::PxPyPzEVector | getMomentum (const Particle *particle) const |
| Wrapper for particles.
|
|
virtual TMatrixFSym | getMomentumErrorMatrix (const Particle *particle) const |
| Wrapper for particles.
|
|
virtual TMatrixFSym | getVertexErrorMatrix (const Particle *particle) const |
| Wrapper for particles.
|
|
|
static void | Push (const ReferenceFrame *frame) |
| Push rest frame of given particle.
|
|
static void | Pop () |
| Pop current rest frame.
|
|
|
ROOT::Math::PxPyPzEVector | m_momentum |
| momentum of RF in the lab frame
|
|
ROOT::Math::XYZVector | m_displacement |
| displacement of RF origin in th lab frame
|
|
ROOT::Math::XYZVector | m_boost |
| boost of RF relative to the lab frame
|
|
ROOT::Math::Boost | m_lab2restframe |
| Lorentz transformation connecting lab and rest frame.
|
|
Rest frame of a particle.
Definition at line 132 of file ReferenceFrame.h.
◆ RestFrame()
Create new rest frame.
Definition at line 18 of file ReferenceFrame.cc.
18 :
23{
24}
ROOT::Math::XYZVector getVertex() const
Returns vertex position (POCA for charged, IP for neutral FS particles)
ROOT::Math::PxPyPzEVector get4Vector() const
Returns Lorentz vector.
ROOT::Math::PxPyPzEVector m_momentum
momentum of RF in the lab frame
ROOT::Math::XYZVector m_displacement
displacement of RF origin in th lab frame
ROOT::Math::XYZVector m_boost
boost of RF relative to the lab frame
ROOT::Math::Boost m_lab2restframe
Lorentz transformation connecting lab and rest frame.
◆ GetCurrent()
Get current rest frame.
- Returns
- RestFrame
Definition at line 26 of file ReferenceFrame.cc.
27{
30 return _default;
31 } else {
33 }
34}
static std::stack< const ReferenceFrame * > m_reference_frames
Stack of current rest frames.
◆ getMomentum() [1/2]
virtual ROOT::Math::PxPyPzEVector getMomentum |
( |
const Particle * |
particle | ) |
const |
|
inlinevirtualinherited |
Wrapper for particles.
- Parameters
-
- Returns
- momentum 4-vector in reference frame
Definition at line 60 of file ReferenceFrame.h.
61 {
63 }
virtual ROOT::Math::PxPyPzEVector getMomentum(const ROOT::Math::PxPyPzEVector &vector) const =0
Get momentum 4-vector in reference frame.
◆ getMomentum() [2/2]
ROOT::Math::PxPyPzEVector getMomentum |
( |
const ROOT::Math::PxPyPzEVector & |
vector | ) |
const |
|
overridevirtual |
Get Lorentz vector in rest frame System.
- Parameters
-
vector | Lorentz vector from particle |
- Returns
- Lorentz vector in rest frame System
Implements ReferenceFrame.
Definition at line 48 of file ReferenceFrame.cc.
◆ getMomentumErrorMatrix() [1/2]
virtual TMatrixFSym getMomentumErrorMatrix |
( |
const Particle * |
particle | ) |
const |
|
inlinevirtualinherited |
Wrapper for particles.
- Parameters
-
- Returns
- Covariance matrix in reference frame
Definition at line 77 of file ReferenceFrame.h.
78 {
80 }
virtual TMatrixFSym getMomentumErrorMatrix(const TMatrixFSym &matrix) const =0
Get Momentum error matrix in reference frame.
◆ getMomentumErrorMatrix() [2/2]
TMatrixFSym getMomentumErrorMatrix |
( |
const TMatrixFSym & |
matrix | ) |
const |
|
overridevirtual |
Get Momentum error matrix in rest frame.
- Parameters
-
matrix | Covariance matrix from particle |
- Returns
- Covariance matrix in rest frame
Implements ReferenceFrame.
Definition at line 54 of file ReferenceFrame.cc.
55{
56 double lorentzrotationvalues[16];
58 TMatrixD lorentzrot(4, 4, lorentzrotationvalues);
59
60 TMatrixFSym tmp_matrix(matrix);
61
62 return tmp_matrix.Similarity(lorentzrot);
63}
◆ getVertex() [1/2]
virtual ROOT::Math::XYZVector getVertex |
( |
const Particle * |
particle | ) |
const |
|
inlinevirtualinherited |
Wrapper for particles.
- Parameters
-
- Returns
- 3-vector in reference frame
Definition at line 43 of file ReferenceFrame.h.
44 {
46 }
virtual ROOT::Math::XYZVector getVertex(const ROOT::Math::XYZVector &vector) const =0
Get vertex 3-vector in reference frame.
◆ getVertex() [2/2]
ROOT::Math::XYZVector getVertex |
( |
const ROOT::Math::XYZVector & |
vector | ) |
const |
|
overridevirtual |
Get vertex 3-vector in rest frame system.
- Parameters
-
vector | 3-vector from particle |
- Returns
- 3-vector in rest frame System
Implements ReferenceFrame.
Definition at line 36 of file ReferenceFrame.cc.
37{
38
39
40
41
42
44 ROOT::Math::PxPyPzEVector a =
m_lab2restframe * ROOT::Math::PxPyPzEVector(v.X(), v.Y(), v.Z(), 0);
45 return a.Vect() -
m_boost * a.T();
46}
◆ getVertexErrorMatrix() [1/2]
virtual TMatrixFSym getVertexErrorMatrix |
( |
const Particle * |
particle | ) |
const |
|
inlinevirtualinherited |
Wrapper for particles.
- Parameters
-
- Returns
- Covariance matrix in reference frame
Definition at line 94 of file ReferenceFrame.h.
95 {
97 }
virtual TMatrixFSym getVertexErrorMatrix(const TMatrixFSym &matrix) const =0
Get Vertex error matrix in reference frame.
◆ getVertexErrorMatrix() [2/2]
TMatrixFSym getVertexErrorMatrix |
( |
const TMatrixFSym & |
matrix | ) |
const |
|
overridevirtual |
Get Vertex error matrix in rest frame.
- Parameters
-
matrix | Covariance matrix from particle |
- Returns
- Covariance matrix in rest frame
Implements ReferenceFrame.
Definition at line 65 of file ReferenceFrame.cc.
66{
67 double lorentzrotationvalues[16];
69 TMatrixD lorentzrot(4, 3);
70
71 for (int i = 0; i < 4; ++i)
72 for (int j = 0; j < 3; ++j)
73 lorentzrot(i, j) = lorentzrotationvalues[4 * i + j];
74
75 TMatrixFSym tmp_matrix(matrix);
76 auto rotated_error_matrix = tmp_matrix.Similarity(lorentzrot);
77
78 TMatrixD timeshift(3, 4);
79 timeshift.Zero();
80 timeshift(0, 0) = 1;
81 timeshift(1, 1) = 1;
82 timeshift(2, 2) = 1;
86
87 return rotated_error_matrix.Similarity(timeshift);
88}
◆ Pop()
|
inlinestaticprivateinherited |
◆ Push()
|
inlinestaticprivateinherited |
Push rest frame of given particle.
- Parameters
-
frame | Use this reference frame |
Definition at line 110 of file ReferenceFrame.h.
◆ m_boost
ROOT::Math::XYZVector m_boost |
|
private |
◆ m_displacement
ROOT::Math::XYZVector m_displacement |
|
private |
◆ m_lab2restframe
ROOT::Math::Boost m_lab2restframe |
|
private |
Lorentz transformation connecting lab and rest frame.
Definition at line 172 of file ReferenceFrame.h.
◆ m_momentum
ROOT::Math::PxPyPzEVector m_momentum |
|
private |
◆ m_reference_frames
The documentation for this class was generated from the following files: