ATLAS Offline Software
|
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designed to store the information about the trajectory fitted to the VxCandidate. More...
#include <VxTrackAtVertex.h>
Public Member Functions | |
VxTrackAtVertex () | |
Default constructor. More... | |
virtual | ~VxTrackAtVertex () |
dtor More... | |
VxTrackAtVertex (const VxTrackAtVertex &rhs) | |
Copy constructor. More... | |
VxTrackAtVertex (VxTrackAtVertex &&) noexcept | |
Move constructor operator. More... | |
VxTrackAtVertex & | operator= (const VxTrackAtVertex &) |
Assignment operator. More... | |
VxTrackAtVertex & | operator= (VxTrackAtVertex &&) noexcept |
Move assignment operator. More... | |
VxTrackAtVertex (double chi2PerTrk, TrackParameters *perigeeAtVertex, NeutralParameters *neutralPerigeeAtVertex=nullptr) | |
Constructor taking the perigee parameters and corresponding Chi2 value. More... | |
VxTrackAtVertex (double chi2PerTrk, TrackParameters *perigeeAtVertex, NeutralParameters *neutralPerigeeAtVertex, const TrackParameters *initialPerigee, const NeutralParameters *initialNeutralPerigee) | |
Constructor taking the perigee parameters of the track, chi2, and the initial TrackParameters of the track. More... | |
VxTrackAtVertex (double chi2PerTrk, TrackParameters *perigeeAtVertex, const TrackParameters *initialPerigee) | |
VxTrackAtVertex (double chi2PerTrk, TrackParameters *perigeeAtVertex, NeutralParameters *neutralPerigeeAtVertex, double ndfPerTrk, LinearizedTrack *linState=nullptr) | |
Constructor required for iterative vertex fitters only (with and without link to original track). More... | |
VxTrackAtVertex (double chi2PerTrk, TrackParameters *perigeeAtVertex, double ndfPerTrk, LinearizedTrack *linState=nullptr) | |
VxTrackAtVertex (double chi2PerTrk, TrackParameters *perigeeAtVertex, NeutralParameters *neutralPerigeeAtVertex, const TrackParameters *initialPerigee, const NeutralParameters *initialNeutralPerigee, double ndfPerTrk, LinearizedTrack *linState=nullptr) | |
Constructor required for iterative vertex fitters only (with and without link to original track). More... | |
VxTrackAtVertex (double chi2PerTrk, TrackParameters *perigeeAtVertex, const TrackParameters *initialPerigee, double ndfPerTrk, LinearizedTrack *linState=nullptr) | |
VxTrackAtVertex (ITrackLink *trackOrParticleLink) | |
virtual VxTrackAtVertex * | clone () const |
Clone method. More... | |
virtual MsgStream & | dump (MsgStream &sl) const |
Output Method for MsgStream, to be overloaded by child classes. More... | |
virtual std::ostream & | dump (std::ostream &sl) const |
Output Method for std::ostream, to be overloaded by child classes. More... | |
FitQuality | trackQuality (void) const |
Returns a pointer to the original track if any. More... | |
const TrackParameters * | perigeeAtVertex (void) const |
Perigee parameters with respect to fitted vertex d_0 and z_0 are equal to 0 in case the trajectory was refitted with the knowledge of the reconstructed vertex. More... | |
const TrackParameters * | initialPerigee (void) const |
Access to the initial perigee parameters of trajectory. More... | |
const NeutralParameters * | neutralPerigeeAtVertex (void) const |
Perigee parameters with respect to fitted vertex d_0 and z_0 are equal to 0 in case the trajectory was refitted with the knowledge of the reconstructed vertex. More... | |
const NeutralParameters * | initialNeutralPerigee (void) const |
Access to the initial perigee parameters of trajectory. More... | |
void | setTrackQuality (const FitQuality &trkQuality) |
Set methods for various components. More... | |
void | setOrigTrack (ITrackLink *trk) |
Setting up the initial track. More... | |
void | setOrigTrackNoCache (ITrackLink *trk) |
Setting up the initial track, without caching parameters. More... | |
void | setLinTrack (LinearizedTrack *myLinTrack) |
Setting up the linearized track. More... | |
void | setPerigeeAtVertex (TrackParameters *perigee) |
Setting up parameters at vertex. More... | |
void | setPerigeeAtVertex (NeutralParameters *perigee) |
void | setInitialPerigee (const TrackParameters *perigee) |
This method changes a pointer to original perigee of the track. More... | |
void | setInitialPerigee (const NeutralParameters *perigee) |
This method changes a pointer to original perigee of the neutral. More... | |
bool | operator== (const VxTrackAtVertex &data) const |
Equality operator required when working with vectors Compares only the equality of the parameters of the Perigee with which this object was created. More... | |
LinearizedTrack * | linState (void) |
Access method for the perigee linearized track. More... | |
const LinearizedTrack * | linState (void) const |
double | vtxCompatibility (void) const |
Information about fast compatibility estimation, to be given to the annealing. More... | |
void | setVtxCompatibility (const double) |
double | weight (void) const |
Information about the weight of track in fit (given back by annealing): weight=ndf/2. More... | |
void | setWeight (const double) |
Set method for a weight. More... | |
void | setImpactPoint3dAtaPlane (const AtaPlane *myIP3dAtaPlane) |
Set method for ImpactPoint3dAtaPlane. More... | |
const AtaPlane * | ImpactPoint3dAtaPlane (void) const |
Returns ImpactPoint3dAtaPlane. More... | |
void | setImpactPoint3dNeutralAtaPlane (const NeutralAtaPlane *myIP3dNeutralAtaPlane) |
Set method for ImpactPoint3dNeutralAtaPlane. More... | |
const NeutralAtaPlane * | ImpactPoint3dNeutralAtaPlane (void) const |
Returns ImpactPoint3dNeutralAtaPlane. More... | |
const ITrackLink * | trackOrParticleLink (void) const |
ITrackLink * | trackOrParticleLink (void) |
Static Public Member Functions | |
static std::size_t | numberOfInstantiations () |
Static Public Attributes | |
static std::atomic_size_t | s_numberOfInstantiations |
Protected Attributes | |
FitQuality | m_fitQuality |
The chi2 and number of degrees of freedom of the track. More... | |
double | m_trkWeight |
Weight of the track with respect to vertex. More... | |
double | m_VertexCompatibility |
Value of the compatibility of the track to the actual vertex, based on the estimation on the distance between the track and the vertex through the IP3dAtaPlane or IP3dNeutralAtaPlane. More... | |
TrackParameters * | m_perigeeAtVertex |
The perigee parameters of tracks used in the fit wrt. More... | |
NeutralParameters * | m_neutralPerigeeAtVertex |
The perigee parameters of neutrals used in the fit wrt. More... | |
LinearizedTrack * | m_linState |
Linearized track, required for the iterative vertex fitting. More... | |
const TrackParameters * | m_initialPerigee |
Pointer to initial (before fit) perigee state of the track. More... | |
const NeutralParameters * | m_initialNeutralPerigee |
const AtaPlane * | m_ImpactPoint3dAtaPlane |
Pointer to the TrackParameters defined on the Plane with center the actual vertex estimate and passing through the point of closest approach in 3d from this vertex to the track, with direction of track perpendicular to the plane. More... | |
const NeutralAtaPlane * | m_ImpactPoint3dNeutralAtaPlane |
ITrackLink * | m_trackOrParticleLink |
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designed to store the information about the trajectory fitted to the VxCandidate.
The values of VxTrackAtVertex's datamembers are set in different ways, depending on which Vertex Fitter was used in the reconstruction. The general functionality is the following:
– const initialPerigee(void) const: always returns the initial (before vertex fit) perigee state of the trajectory
– const Trk::Track* origTrack(void) const: returns a pointer to the original track if tracks were used for the vertex fit. In case the vertex was fitted directly out of a vector of ParametersBase, this pointer will be zero.
– const Trk::ParametersBase* perigeeAtVertex(void) const: returns a perigee parameters of the trajectory defined with respect to the fitted vertex. In the case of Full Billoir Vertex Fit or any iterative vertex fit (Sequential, Kalman, etc) with subsequent smoothing, the trajectory is defined at the vertex position: d0 = 0.; z_0 = 0.
In the case no refit of trajectory with the knowledge of the vertex was performed (Billoir Fast fit, iterative vertex fits without smoothing), the trajectory is just extrapolated to the point of the closest approach in the transverse plane to the fitted vertex and perigee parameters with respect to that vertex are calculated.
Definition at line 76 of file VxTrackAtVertex.h.
Trk::VxTrackAtVertex::VxTrackAtVertex | ( | ) |
|
virtual |
Trk::VxTrackAtVertex::VxTrackAtVertex | ( | const VxTrackAtVertex & | rhs | ) |
|
noexcept |
Trk::VxTrackAtVertex::VxTrackAtVertex | ( | double | chi2PerTrk, |
Trk::TrackParameters * | perigeeAtVertex, | ||
Trk::NeutralParameters * | neutralPerigeeAtVertex = nullptr |
||
) |
Constructor taking the perigee parameters and corresponding Chi2 value.
NOTE: using this constructor does not allow to store the initial (before refit) Perigee parameters of the track.
Definition at line 46 of file VxTrackAtVertex.cxx.
Trk::VxTrackAtVertex::VxTrackAtVertex | ( | double | chi2PerTrk, |
Trk::TrackParameters * | perigeeAtVertex, | ||
Trk::NeutralParameters * | neutralPerigeeAtVertex, | ||
const TrackParameters * | initialPerigee, | ||
const NeutralParameters * | initialNeutralPerigee | ||
) |
Constructor taking the perigee parameters of the track, chi2, and the initial TrackParameters of the track.
Definition at line 104 of file VxTrackAtVertex.cxx.
Trk::VxTrackAtVertex::VxTrackAtVertex | ( | double | chi2PerTrk, |
Trk::TrackParameters * | perigeeAtVertex, | ||
const TrackParameters * | initialPerigee | ||
) |
Definition at line 125 of file VxTrackAtVertex.cxx.
Trk::VxTrackAtVertex::VxTrackAtVertex | ( | double | chi2PerTrk, |
Trk::TrackParameters * | perigeeAtVertex, | ||
Trk::NeutralParameters * | neutralPerigeeAtVertex, | ||
double | ndfPerTrk, | ||
Trk::LinearizedTrack * | linState = nullptr |
||
) |
Constructor required for iterative vertex fitters only (with and without link to original track).
In addition to the previous ones, it asks for a pointer to the LinearizedTrack
Definition at line 64 of file VxTrackAtVertex.cxx.
Trk::VxTrackAtVertex::VxTrackAtVertex | ( | double | chi2PerTrk, |
Trk::TrackParameters * | perigeeAtVertex, | ||
double | ndfPerTrk, | ||
Trk::LinearizedTrack * | linState = nullptr |
||
) |
Definition at line 83 of file VxTrackAtVertex.cxx.
Trk::VxTrackAtVertex::VxTrackAtVertex | ( | double | chi2PerTrk, |
Trk::TrackParameters * | perigeeAtVertex, | ||
Trk::NeutralParameters * | neutralPerigeeAtVertex, | ||
const TrackParameters * | initialPerigee, | ||
const NeutralParameters * | initialNeutralPerigee, | ||
double | ndfPerTrk, | ||
Trk::LinearizedTrack * | linState = nullptr |
||
) |
Constructor required for iterative vertex fitters only (with and without link to original track).
In addition to the previous ones, it asks for a pointer to the LinearizedTrack, but also needs an initial track parameters.
Definition at line 143 of file VxTrackAtVertex.cxx.
Trk::VxTrackAtVertex::VxTrackAtVertex | ( | double | chi2PerTrk, |
Trk::TrackParameters * | perigeeAtVertex, | ||
const TrackParameters * | initialPerigee, | ||
double | ndfPerTrk, | ||
Trk::LinearizedTrack * | linState = nullptr |
||
) |
Definition at line 165 of file VxTrackAtVertex.cxx.
Trk::VxTrackAtVertex::VxTrackAtVertex | ( | Trk::ITrackLink * | trackOrParticleLink | ) |
Definition at line 185 of file VxTrackAtVertex.cxx.
|
virtual |
Clone method.
Reimplemented in Trk::MVFVxTrackAtVertex.
Definition at line 373 of file VxTrackAtVertex.cxx.
|
virtual |
Output Method for MsgStream, to be overloaded by child classes.
Reimplemented in Trk::MVFVxTrackAtVertex.
Definition at line 453 of file VxTrackAtVertex.cxx.
|
virtual |
Output Method for std::ostream, to be overloaded by child classes.
Reimplemented in Trk::MVFVxTrackAtVertex.
Definition at line 479 of file VxTrackAtVertex.cxx.
Returns ImpactPoint3dAtaPlane.
(const access)
const NeutralAtaPlane* Trk::VxTrackAtVertex::ImpactPoint3dNeutralAtaPlane | ( | void | ) | const |
Returns ImpactPoint3dNeutralAtaPlane.
(const access)
const NeutralParameters * Trk::VxTrackAtVertex::initialNeutralPerigee | ( | void | ) | const |
Access to the initial perigee parameters of trajectory.
Definition at line 362 of file VxTrackAtVertex.cxx.
const TrackParameters * Trk::VxTrackAtVertex::initialPerigee | ( | void | ) | const |
Access to the initial perigee parameters of trajectory.
Definition at line 351 of file VxTrackAtVertex.cxx.
LinearizedTrack* Trk::VxTrackAtVertex::linState | ( | void | ) |
Access method for the perigee linearized track.
const LinearizedTrack* Trk::VxTrackAtVertex::linState | ( | void | ) | const |
const NeutralParameters* Trk::VxTrackAtVertex::neutralPerigeeAtVertex | ( | void | ) | const |
Perigee parameters with respect to fitted vertex d_0 and z_0 are equal to 0 in case the trajectory was refitted with the knowledge of the reconstructed vertex.
|
inlinestaticinherited |
Definition at line 25 of file TrkObjectCounter.h.
VxTrackAtVertex & Trk::VxTrackAtVertex::operator= | ( | const VxTrackAtVertex & | rhs | ) |
|
noexcept |
bool Trk::VxTrackAtVertex::operator== | ( | const VxTrackAtVertex & | data | ) | const |
Equality operator required when working with vectors Compares only the equality of the parameters of the Perigee with which this object was created.
Definition at line 344 of file VxTrackAtVertex.cxx.
const TrackParameters* Trk::VxTrackAtVertex::perigeeAtVertex | ( | void | ) | const |
Perigee parameters with respect to fitted vertex d_0 and z_0 are equal to 0 in case the trajectory was refitted with the knowledge of the reconstructed vertex.
void Trk::VxTrackAtVertex::setImpactPoint3dNeutralAtaPlane | ( | const NeutralAtaPlane * | myIP3dNeutralAtaPlane | ) |
void Trk::VxTrackAtVertex::setInitialPerigee | ( | const NeutralParameters * | perigee | ) |
This method changes a pointer to original perigee of the neutral.
If the object has EL to Neutral, the pointer will not be changed. Use setOrigTrack() method for that.
void Trk::VxTrackAtVertex::setInitialPerigee | ( | const TrackParameters * | perigee | ) |
This method changes a pointer to original perigee of the track.
If the object has EL to Track, the pointer will not be changed. Use setOrigTrack() method for that.
void Trk::VxTrackAtVertex::setLinTrack | ( | LinearizedTrack * | myLinTrack | ) |
void Trk::VxTrackAtVertex::setOrigTrack | ( | ITrackLink * | trk | ) |
void Trk::VxTrackAtVertex::setOrigTrackNoCache | ( | ITrackLink * | trk | ) |
Setting up the initial track, without caching parameters.
Definition at line 442 of file VxTrackAtVertex.cxx.
void Trk::VxTrackAtVertex::setPerigeeAtVertex | ( | NeutralParameters * | perigee | ) |
Definition at line 404 of file VxTrackAtVertex.cxx.
void Trk::VxTrackAtVertex::setPerigeeAtVertex | ( | TrackParameters * | perigee | ) |
void Trk::VxTrackAtVertex::setTrackQuality | ( | const FitQuality & | trkQuality | ) |
Set methods for various components.
void Trk::VxTrackAtVertex::setVtxCompatibility | ( | const double | ) |
void Trk::VxTrackAtVertex::setWeight | ( | const double | ) |
Set method for a weight.
ITrackLink* Trk::VxTrackAtVertex::trackOrParticleLink | ( | void | ) |
const ITrackLink* Trk::VxTrackAtVertex::trackOrParticleLink | ( | void | ) | const |
FitQuality Trk::VxTrackAtVertex::trackQuality | ( | void | ) | const |
Returns a pointer to the original track if any.
Track Quality (Chi2 and ndf per track in a veretx fit)
double Trk::VxTrackAtVertex::vtxCompatibility | ( | void | ) | const |
Information about fast compatibility estimation, to be given to the annealing.
double Trk::VxTrackAtVertex::weight | ( | void | ) | const |
Information about the weight of track in fit (given back by annealing): weight=ndf/2.
|
protected |
The chi2 and number of degrees of freedom of the track.
Definition at line 317 of file VxTrackAtVertex.h.
Pointer to the TrackParameters defined on the Plane with center the actual vertex estimate and passing through the point of closest approach in 3d from this vertex to the track, with direction of track perpendicular to the plane.
Needed by the IVertexTrackCompatibilityEstimator to estimate in a faster way the compatibility of a vertex with the track.
Definition at line 370 of file VxTrackAtVertex.h.
|
protected |
Definition at line 371 of file VxTrackAtVertex.h.
|
protected |
Definition at line 361 of file VxTrackAtVertex.h.
|
protected |
Pointer to initial (before fit) perigee state of the track.
It is stored separately for the back-compatibility issues: in some cases the vertex fit may be done directly on the vector of TrackParameterss, instead of vector of tracks.
Definition at line 360 of file VxTrackAtVertex.h.
|
protected |
Linearized track, required for the iterative vertex fitting.
Definition at line 352 of file VxTrackAtVertex.h.
|
protected |
The perigee parameters of neutrals used in the fit wrt.
the fitted vertex. In case the vertex fitter used includes smoothing, this perigee state is set to refitted neutral state after the fit. These values are written to the VxPrimary part of the CBNT.
Definition at line 347 of file VxTrackAtVertex.h.
|
protected |
The perigee parameters of tracks used in the fit wrt.
the fitted vertex. In case the vertex fitter used includes smoothing, this perigee state is set to refitted track state after the fit. These values are written to the VxPrimary part of the CBNT.
Definition at line 338 of file VxTrackAtVertex.h.
|
protected |
Definition at line 374 of file VxTrackAtVertex.h.
|
protected |
Weight of the track with respect to vertex.
Definition at line 322 of file VxTrackAtVertex.h.
|
protected |
Value of the compatibility of the track to the actual vertex, based on the estimation on the distance between the track and the vertex through the IP3dAtaPlane or IP3dNeutralAtaPlane.
Definition at line 329 of file VxTrackAtVertex.h.
|
inlinestaticinherited |
Definition at line 22 of file TrkObjectCounter.h.