ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Trk::VxTrackAtVertex Class Reference

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>

Inheritance diagram for Trk::VxTrackAtVertex:
Collaboration diagram for Trk::VxTrackAtVertex:

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...
 
VxTrackAtVertexoperator= (const VxTrackAtVertex &)
 Assignment operator. More...
 
VxTrackAtVertexoperator= (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 VxTrackAtVertexclone () 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 TrackParametersperigeeAtVertex (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 TrackParametersinitialPerigee (void) const
 Access to the initial perigee parameters of trajectory. More...
 
const NeutralParametersneutralPerigeeAtVertex (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 NeutralParametersinitialNeutralPerigee (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...
 
LinearizedTracklinState (void)
 Access method for the perigee linearized track. More...
 
const LinearizedTracklinState (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 AtaPlaneImpactPoint3dAtaPlane (void) const
 Returns ImpactPoint3dAtaPlane. More...
 
void setImpactPoint3dNeutralAtaPlane (const NeutralAtaPlane *myIP3dNeutralAtaPlane)
 Set method for ImpactPoint3dNeutralAtaPlane. More...
 
const NeutralAtaPlaneImpactPoint3dNeutralAtaPlane (void) const
 Returns ImpactPoint3dNeutralAtaPlane. More...
 
const ITrackLinktrackOrParticleLink (void) const
 
ITrackLinktrackOrParticleLink (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...
 
TrackParametersm_perigeeAtVertex
 The perigee parameters of tracks used in the fit wrt. More...
 
NeutralParametersm_neutralPerigeeAtVertex
 The perigee parameters of neutrals used in the fit wrt. More...
 
LinearizedTrackm_linState
 Linearized track, required for the iterative vertex fitting. More...
 
const TrackParametersm_initialPerigee
 Pointer to initial (before fit) perigee state of the track. More...
 
const NeutralParametersm_initialNeutralPerigee
 
const AtaPlanem_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 NeutralAtaPlanem_ImpactPoint3dNeutralAtaPlane
 
ITrackLinkm_trackOrParticleLink
 

Detailed Description

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.

Author
andre.nosp@m.as.w.nosp@m.ildau.nosp@m.er@c.nosp@m.ern.c.nosp@m.h, Kiril.nosp@m.l.Pr.nosp@m.okofi.nosp@m.ev@c.nosp@m.ern.c.nosp@m.h, Giaci.nosp@m.nto..nosp@m.Piacq.nosp@m.uadi.nosp@m.o@phy.nosp@m.sik..nosp@m.uni-f.nosp@m.reib.nosp@m.urg.d.nosp@m.e

Definition at line 76 of file VxTrackAtVertex.h.

Constructor & Destructor Documentation

◆ VxTrackAtVertex() [1/11]

Trk::VxTrackAtVertex::VxTrackAtVertex ( )

Default constructor.

Definition at line 30 of file VxTrackAtVertex.cxx.

◆ ~VxTrackAtVertex()

Trk::VxTrackAtVertex::~VxTrackAtVertex ( )
virtual

dtor

Definition at line 203 of file VxTrackAtVertex.cxx.

207  , m_fitQuality(rhs.m_fitQuality)
208  , m_trkWeight(rhs.m_trkWeight)
209  , m_VertexCompatibility(rhs.m_VertexCompatibility)
210  , m_perigeeAtVertex(rhs.m_perigeeAtVertex ? rhs.m_perigeeAtVertex->clone()
211  : nullptr)

◆ VxTrackAtVertex() [2/11]

Trk::VxTrackAtVertex::VxTrackAtVertex ( const VxTrackAtVertex rhs)

Copy constructor.

Definition at line 214 of file VxTrackAtVertex.cxx.

214  : nullptr)
215  , m_linState(rhs.m_linState ? rhs.m_linState->clone() : nullptr)
216  ,
217  m_initialPerigee(rhs.m_initialPerigee)
218  , m_initialNeutralPerigee(rhs.m_initialNeutralPerigee)
219  , m_ImpactPoint3dAtaPlane(rhs.m_ImpactPoint3dAtaPlane
220  ? new AtaPlane(*rhs.m_ImpactPoint3dAtaPlane)
221  : nullptr)
223  rhs.m_ImpactPoint3dNeutralAtaPlane
224  ? new NeutralAtaPlane(*rhs.m_ImpactPoint3dNeutralAtaPlane)
225  : nullptr)
227  rhs.m_trackOrParticleLink ? rhs.m_trackOrParticleLink->clone() : nullptr)
228 {
229 }
230 
231 // assignment operator changed
234 {
235  if (this != &rhs) {
236  m_fitQuality = rhs.m_fitQuality;
237  m_trkWeight = rhs.m_trkWeight;
238  delete m_perigeeAtVertex;

◆ VxTrackAtVertex() [3/11]

Trk::VxTrackAtVertex::VxTrackAtVertex ( VxTrackAtVertex &&  rhs)
noexcept

Move constructor operator.

Definition at line 278 of file VxTrackAtVertex.cxx.

298 {
299  if (this != &rhs) {
300  m_fitQuality = rhs.m_fitQuality;
301  m_trkWeight = rhs.m_trkWeight;
302 
303  delete m_perigeeAtVertex;

◆ VxTrackAtVertex() [4/11]

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.

52 {
53 }
54 
55 VxTrackAtVertex::VxTrackAtVertex(double chi2PerTrk,
58  double ndfPerTrk,
61  , m_fitQuality(Trk::FitQuality(chi2PerTrk, ndfPerTrk))
62  , m_trkWeight(1.)

◆ VxTrackAtVertex() [5/11]

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.

113 {
114 }
115 
116 VxTrackAtVertex::VxTrackAtVertex(double chi2PerTrk,
120  , m_fitQuality(Trk::FitQuality(chi2PerTrk, 2.))
121  , m_trkWeight(1.)

◆ VxTrackAtVertex() [6/11]

Trk::VxTrackAtVertex::VxTrackAtVertex ( double  chi2PerTrk,
Trk::TrackParameters perigeeAtVertex,
const TrackParameters initialPerigee 
)

Definition at line 125 of file VxTrackAtVertex.cxx.

◆ VxTrackAtVertex() [7/11]

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.

72 {
73 }
74 VxTrackAtVertex::VxTrackAtVertex(double chi2PerTrk,
76  double ndfPerTrk,
79  , m_fitQuality(Trk::FitQuality(chi2PerTrk, ndfPerTrk))
80  , m_trkWeight(1.)

◆ VxTrackAtVertex() [8/11]

Trk::VxTrackAtVertex::VxTrackAtVertex ( double  chi2PerTrk,
Trk::TrackParameters perigeeAtVertex,
double  ndfPerTrk,
Trk::LinearizedTrack linState = nullptr 
)

Definition at line 83 of file VxTrackAtVertex.cxx.

90 {
91 }
92 
93 // new constructors, including initial perigee state (refitting support)
94 // Kirill Prokofiev 27-03-06
96  double chi2PerTrk,

◆ VxTrackAtVertex() [9/11]

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.

154 {
155 }
156 VxTrackAtVertex::VxTrackAtVertex(double chi2PerTrk,
159  double ndfPerTrk,
162  , m_fitQuality(Trk::FitQuality(chi2PerTrk, ndfPerTrk))
163  , m_trkWeight(1.)

◆ VxTrackAtVertex() [10/11]

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.

173 {
174 }
175 
178  , m_fitQuality(Trk::FitQuality(0., 2.))
179  , m_trkWeight(1.)
181  , m_perigeeAtVertex(nullptr)
182  , m_neutralPerigeeAtVertex(nullptr)
183  , m_linState(nullptr)

◆ VxTrackAtVertex() [11/11]

Trk::VxTrackAtVertex::VxTrackAtVertex ( Trk::ITrackLink trackOrParticleLink)

Definition at line 185 of file VxTrackAtVertex.cxx.

189 {
190  this->setOrigTrack(trackOrParticleLink);
191 }
192 
193 // destructor
195 {
196  delete m_perigeeAtVertex;
198  delete m_linState;

Member Function Documentation

◆ clone()

VxTrackAtVertex * Trk::VxTrackAtVertex::clone ( ) const
virtual

Clone method.

Reimplemented in Trk::MVFVxTrackAtVertex.

Definition at line 373 of file VxTrackAtVertex.cxx.

◆ dump() [1/2]

MsgStream & Trk::VxTrackAtVertex::dump ( MsgStream &  sl) const
virtual

Output Method for MsgStream, to be overloaded by child classes.

Reimplemented in Trk::MVFVxTrackAtVertex.

Definition at line 453 of file VxTrackAtVertex.cxx.

454  {
455  sl << "Charged Refitted Perigee: " << *(this->perigeeAtVertex()) << endmsg;
456  } else {
457  sl << "Charged Refitted Perigee was not created/stored in pool file." << endmsg;
458  }
459  if (this->neutralPerigeeAtVertex() != nullptr) {
460  sl << "Neutral Refitted Perigee: " << *(this->neutralPerigeeAtVertex()) << std::endl;
461  } else {
462  sl << "Neutral Refitted Perigee was not created/stored in pool file." << std::endl;
463  }
464 
465  sl << m_fitQuality << "\tWeight: " << m_trkWeight << endmsg;
466  return sl;
467 }
468 
469 std::ostream&
470 VxTrackAtVertex::dump(std::ostream& sl) const
471 {
472  sl << "Printing VxTrackAtVertex:" << std::endl;
473  const Trk::TrackParameters* inPerigee = this->initialPerigee();
474  if (inPerigee) {
475  sl << "Original Perigee: " << *(inPerigee) << std::endl;
476  } else {

◆ dump() [2/2]

std::ostream & Trk::VxTrackAtVertex::dump ( std::ostream &  sl) const
virtual

Output Method for std::ostream, to be overloaded by child classes.

Reimplemented in Trk::MVFVxTrackAtVertex.

Definition at line 479 of file VxTrackAtVertex.cxx.

480  {
481  sl << "Charged Refitted Perigee: " << *(this->perigeeAtVertex()) << std::endl;
482  } else {
483  sl << "Charged Refitted Perigee was not created/stored in pool file." << std::endl;
484  }
485  if (this->neutralPerigeeAtVertex() != nullptr) {
486  sl << "Neutral Refitted Perigee: " << *(this->neutralPerigeeAtVertex()) << std::endl;
487  } else {
488  sl << "Neutral Refitted Perigee was not created/stored in pool file." << std::endl;
489  }
490  sl << m_fitQuality << "\tWeight: " << m_trkWeight << std::endl;
491  return sl;
492 }
493 
494 MsgStream&
495 operator<<(MsgStream& sl, const VxTrackAtVertex& sf)
496 {
497  return sf.dump(sl);
498 }
499 
500 std::ostream&
501 operator<<(std::ostream& sl, const VxTrackAtVertex& sf)

◆ ImpactPoint3dAtaPlane()

const AtaPlane* Trk::VxTrackAtVertex::ImpactPoint3dAtaPlane ( void  ) const

Returns ImpactPoint3dAtaPlane.

(const access)

◆ ImpactPoint3dNeutralAtaPlane()

const NeutralAtaPlane* Trk::VxTrackAtVertex::ImpactPoint3dNeutralAtaPlane ( void  ) const

Returns ImpactPoint3dNeutralAtaPlane.

(const access)

◆ initialNeutralPerigee()

const NeutralParameters * Trk::VxTrackAtVertex::initialNeutralPerigee ( void  ) const

Access to the initial perigee parameters of trajectory.

Definition at line 362 of file VxTrackAtVertex.cxx.

365 {
366  return new VxTrackAtVertex(*this);
367 }
368 
369 void

◆ initialPerigee()

const TrackParameters * Trk::VxTrackAtVertex::initialPerigee ( void  ) const

Access to the initial perigee parameters of trajectory.

Definition at line 351 of file VxTrackAtVertex.cxx.

354 {
355  if (m_initialNeutralPerigee != nullptr)
356  return m_initialNeutralPerigee; // as default always return the proper
357  // object (be consistent!)
358  if (m_trackOrParticleLink != nullptr)

◆ linState() [1/2]

LinearizedTrack* Trk::VxTrackAtVertex::linState ( void  )

Access method for the perigee linearized track.

◆ linState() [2/2]

const LinearizedTrack* Trk::VxTrackAtVertex::linState ( void  ) const

◆ neutralPerigeeAtVertex()

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.

◆ numberOfInstantiations()

static std::size_t Trk::ObjectCounter< Trk::VxTrackAtVertex >::numberOfInstantiations ( )
inlinestaticinherited

Definition at line 25 of file TrkObjectCounter.h.

26  {
27 #ifndef NDEBUG
28  return s_numberOfInstantiations.load();
29 #endif
30  return 0;
31  }

◆ operator=() [1/2]

VxTrackAtVertex & Trk::VxTrackAtVertex::operator= ( const VxTrackAtVertex rhs)

Assignment operator.

Definition at line 242 of file VxTrackAtVertex.cxx.

244  : nullptr;
245  delete m_linState;
246  m_linState = rhs.m_linState ? rhs.m_linState->clone() : nullptr;
247  // m_initialPerigee = rhs.m_initialPerigee ?
248  // rhs.m_initialPerigee->clone() : 0;
249  m_initialPerigee = rhs.m_initialPerigee;
250  m_initialNeutralPerigee = rhs.m_initialNeutralPerigee;
252  m_ImpactPoint3dAtaPlane = rhs.m_ImpactPoint3dAtaPlane
253  ? new AtaPlane(*rhs.m_ImpactPoint3dAtaPlane)
254  : nullptr;
257  rhs.m_ImpactPoint3dNeutralAtaPlane
258  ? new NeutralAtaPlane(*rhs.m_ImpactPoint3dNeutralAtaPlane)
259  : nullptr;
260  m_VertexCompatibility = rhs.m_VertexCompatibility;
261  delete m_trackOrParticleLink;
263  (rhs.m_trackOrParticleLink ? rhs.m_trackOrParticleLink->clone()
264  : nullptr);
265  }
266  return *this;
267 }
268 
270  : m_fitQuality(rhs.m_fitQuality)
271  , m_trkWeight(rhs.m_trkWeight)
272 {
273  m_perigeeAtVertex = rhs.m_perigeeAtVertex;
274  rhs.m_perigeeAtVertex = nullptr;
275 
276  m_neutralPerigeeAtVertex = rhs.m_neutralPerigeeAtVertex;

◆ operator=() [2/2]

VxTrackAtVertex & Trk::VxTrackAtVertex::operator= ( VxTrackAtVertex &&  rhs)
noexcept

Move assignment operator.

Definition at line 306 of file VxTrackAtVertex.cxx.

336 {
337 
338  return (this->initialPerigee() == data.initialPerigee());
339 }
340 
341 const TrackParameters*

◆ operator==()

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.

◆ perigeeAtVertex()

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.

◆ setImpactPoint3dAtaPlane()

void Trk::VxTrackAtVertex::setImpactPoint3dAtaPlane ( const AtaPlane myIP3dAtaPlane)

Set method for ImpactPoint3dAtaPlane.

Definition at line 379 of file VxTrackAtVertex.cxx.

380 {
381  if (m_ImpactPoint3dNeutralAtaPlane != nullptr)
383  m_ImpactPoint3dNeutralAtaPlane = myIP3dNeutralAtaPlane;
384 }

◆ setImpactPoint3dNeutralAtaPlane()

void Trk::VxTrackAtVertex::setImpactPoint3dNeutralAtaPlane ( const NeutralAtaPlane myIP3dNeutralAtaPlane)

Set method for ImpactPoint3dNeutralAtaPlane.

Definition at line 387 of file VxTrackAtVertex.cxx.

388 {
389  if (m_perigeeAtVertex != nullptr)
390  delete m_perigeeAtVertex;
391  m_perigeeAtVertex = perigee;
392 }
393 

◆ setInitialPerigee() [1/2]

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.

◆ setInitialPerigee() [2/2]

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.

◆ setLinTrack()

void Trk::VxTrackAtVertex::setLinTrack ( LinearizedTrack myLinTrack)

Setting up the linearized track.

Definition at line 412 of file VxTrackAtVertex.cxx.

412 {
413  delete m_trackOrParticleLink;
414  // setting first the actual pointer:
415  m_trackOrParticleLink = trk;
416 
417  // setting the initial perigee to be consistent with this

◆ setOrigTrack()

void Trk::VxTrackAtVertex::setOrigTrack ( ITrackLink trk)

Setting up the initial track.

Definition at line 420 of file VxTrackAtVertex.cxx.

426  {
427  m_initialPerigee = nullptr;
428  m_initialNeutralPerigee = nullptr;
429  }
430 } // end of setOrigTrack method
431 
432 void
434 {
435  delete m_trackOrParticleLink;
436  m_trackOrParticleLink = trk;
437 
438  m_initialPerigee = nullptr;
439  m_initialNeutralPerigee = nullptr;

◆ setOrigTrackNoCache()

void Trk::VxTrackAtVertex::setOrigTrackNoCache ( ITrackLink trk)

Setting up the initial track, without caching parameters.

Definition at line 442 of file VxTrackAtVertex.cxx.

445 {
446  sl << "Printing VxTrackAtVertex:" << endmsg;
447  const Trk::TrackParameters* inPerigee = this->initialPerigee();
448  if (inPerigee) {
449  sl << "Original Perigee: " << *(inPerigee) << endmsg;

◆ setPerigeeAtVertex() [1/2]

void Trk::VxTrackAtVertex::setPerigeeAtVertex ( NeutralParameters perigee)

Definition at line 404 of file VxTrackAtVertex.cxx.

404 {
405  if (m_linState != nullptr)
406  delete m_linState;
407  m_linState = myLinTrack;
408 }
409 

◆ setPerigeeAtVertex() [2/2]

void Trk::VxTrackAtVertex::setPerigeeAtVertex ( TrackParameters perigee)

Setting up parameters at vertex.

Definition at line 396 of file VxTrackAtVertex.cxx.

396 {
397  if (m_neutralPerigeeAtVertex != nullptr)
399  m_neutralPerigeeAtVertex = perigee;
400 }
401 

◆ setTrackQuality()

void Trk::VxTrackAtVertex::setTrackQuality ( const FitQuality trkQuality)

Set methods for various components.

◆ setVtxCompatibility()

void Trk::VxTrackAtVertex::setVtxCompatibility ( const double  )

◆ setWeight()

void Trk::VxTrackAtVertex::setWeight ( const double  )

Set method for a weight.

◆ trackOrParticleLink() [1/2]

ITrackLink* Trk::VxTrackAtVertex::trackOrParticleLink ( void  )

◆ trackOrParticleLink() [2/2]

const ITrackLink* Trk::VxTrackAtVertex::trackOrParticleLink ( void  ) const

◆ trackQuality()

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)

◆ vtxCompatibility()

double Trk::VxTrackAtVertex::vtxCompatibility ( void  ) const

Information about fast compatibility estimation, to be given to the annealing.

◆ weight()

double Trk::VxTrackAtVertex::weight ( void  ) const

Information about the weight of track in fit (given back by annealing): weight=ndf/2.

Member Data Documentation

◆ m_fitQuality

FitQuality Trk::VxTrackAtVertex::m_fitQuality
protected

The chi2 and number of degrees of freedom of the track.

Definition at line 317 of file VxTrackAtVertex.h.

◆ m_ImpactPoint3dAtaPlane

const AtaPlane* Trk::VxTrackAtVertex::m_ImpactPoint3dAtaPlane
protected

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.

◆ m_ImpactPoint3dNeutralAtaPlane

const NeutralAtaPlane* Trk::VxTrackAtVertex::m_ImpactPoint3dNeutralAtaPlane
protected

Definition at line 371 of file VxTrackAtVertex.h.

◆ m_initialNeutralPerigee

const NeutralParameters* Trk::VxTrackAtVertex::m_initialNeutralPerigee
protected

Definition at line 361 of file VxTrackAtVertex.h.

◆ m_initialPerigee

const TrackParameters* Trk::VxTrackAtVertex::m_initialPerigee
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.

◆ m_linState

LinearizedTrack* Trk::VxTrackAtVertex::m_linState
protected

Linearized track, required for the iterative vertex fitting.

Definition at line 352 of file VxTrackAtVertex.h.

◆ m_neutralPerigeeAtVertex

NeutralParameters* Trk::VxTrackAtVertex::m_neutralPerigeeAtVertex
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.

◆ m_perigeeAtVertex

TrackParameters* Trk::VxTrackAtVertex::m_perigeeAtVertex
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.

◆ m_trackOrParticleLink

ITrackLink* Trk::VxTrackAtVertex::m_trackOrParticleLink
protected

Definition at line 374 of file VxTrackAtVertex.h.

◆ m_trkWeight

double Trk::VxTrackAtVertex::m_trkWeight
protected

Weight of the track with respect to vertex.

Definition at line 322 of file VxTrackAtVertex.h.

◆ m_VertexCompatibility

double Trk::VxTrackAtVertex::m_VertexCompatibility
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.

◆ s_numberOfInstantiations

std::atomic_size_t Trk::ObjectCounter< Trk::VxTrackAtVertex >::s_numberOfInstantiations
inlinestaticinherited

Definition at line 22 of file TrkObjectCounter.h.


The documentation for this class was generated from the following files:
Trk::NeutralAtaPlane
ParametersT< NeutralParametersDim, Neutral, PlaneSurface > NeutralAtaPlane
Definition: NeutralParameters.h:32
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
Trk::VxTrackAtVertex::setImpactPoint3dAtaPlane
void setImpactPoint3dAtaPlane(const AtaPlane *myIP3dAtaPlane)
Set method for ImpactPoint3dAtaPlane.
Definition: VxTrackAtVertex.cxx:379
Trk::VxTrackAtVertex::m_initialNeutralPerigee
const NeutralParameters * m_initialNeutralPerigee
Definition: VxTrackAtVertex.h:361
Trk::VxTrackAtVertex::m_linState
LinearizedTrack * m_linState
Linearized track, required for the iterative vertex fitting.
Definition: VxTrackAtVertex.h:352
Trk::VxTrackAtVertex::operator=
VxTrackAtVertex & operator=(const VxTrackAtVertex &)
Assignment operator.
Definition: VxTrackAtVertex.cxx:242
Trk::VxTrackAtVertex::dump
virtual MsgStream & dump(MsgStream &sl) const
Output Method for MsgStream, to be overloaded by child classes.
Definition: VxTrackAtVertex.cxx:453
Trk::VxTrackAtVertex::m_ImpactPoint3dNeutralAtaPlane
const NeutralAtaPlane * m_ImpactPoint3dNeutralAtaPlane
Definition: VxTrackAtVertex.h:371
Trk::LinearizedTrack::clone
LinearizedTrack * clone() const
Definition: LinearizedTrack.cxx:47
Trk::VxTrackAtVertex::trackOrParticleLink
const ITrackLink * trackOrParticleLink(void) const
Trk::ObjectCounter< Trk::VxTrackAtVertex >
Trk::VxTrackAtVertex::m_ImpactPoint3dAtaPlane
const AtaPlane * m_ImpactPoint3dAtaPlane
Pointer to the TrackParameters defined on the Plane with center the actual vertex estimate and passin...
Definition: VxTrackAtVertex.h:370
Trk::VxTrackAtVertex::m_fitQuality
FitQuality m_fitQuality
The chi2 and number of degrees of freedom of the track.
Definition: VxTrackAtVertex.h:317
Trk::VxTrackAtVertex::m_trackOrParticleLink
ITrackLink * m_trackOrParticleLink
Definition: VxTrackAtVertex.h:374
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
Trk::VxTrackAtVertex::initialNeutralPerigee
const NeutralParameters * initialNeutralPerigee(void) const
Access to the initial perigee parameters of trajectory.
Definition: VxTrackAtVertex.cxx:362
Trk::ObjectCounter< Trk::VxTrackAtVertex >::ObjectCounter
ObjectCounter()
Definition: TrkObjectCounter.h:36
Trk::VxTrackAtVertex::m_neutralPerigeeAtVertex
NeutralParameters * m_neutralPerigeeAtVertex
The perigee parameters of neutrals used in the fit wrt.
Definition: VxTrackAtVertex.h:347
Trk::VxTrackAtVertex::m_trkWeight
double m_trkWeight
Weight of the track with respect to vertex.
Definition: VxTrackAtVertex.h:322
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::VxTrackAtVertex::VxTrackAtVertex
VxTrackAtVertex()
Default constructor.
Definition: VxTrackAtVertex.cxx:30
Trk::VxTrackAtVertex::m_VertexCompatibility
double m_VertexCompatibility
Value of the compatibility of the track to the actual vertex, based on the estimation on the distance...
Definition: VxTrackAtVertex.h:329
Trk::VxTrackAtVertex::linState
LinearizedTrack * linState(void)
Access method for the perigee linearized track.
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::VxTrackAtVertex::perigeeAtVertex
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 wa...
Trk::VxTrackAtVertex::setOrigTrack
void setOrigTrack(ITrackLink *trk)
Setting up the initial track.
Definition: VxTrackAtVertex.cxx:420
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Trk::VxTrackAtVertex::m_initialPerigee
const TrackParameters * m_initialPerigee
Pointer to initial (before fit) perigee state of the track.
Definition: VxTrackAtVertex.h:360
Trk::VxTrackAtVertex::~VxTrackAtVertex
virtual ~VxTrackAtVertex()
dtor
Definition: VxTrackAtVertex.cxx:203
Trk::VxTrackAtVertex::m_perigeeAtVertex
TrackParameters * m_perigeeAtVertex
The perigee parameters of tracks used in the fit wrt.
Definition: VxTrackAtVertex.h:338
Trk::ObjectCounter< Trk::VxTrackAtVertex >::s_numberOfInstantiations
static std::atomic_size_t s_numberOfInstantiations
Definition: TrkObjectCounter.h:22
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition: AlignModule.cxx:204
Trk::AtaPlane
ParametersT< TrackParametersDim, Charged, PlaneSurface > AtaPlane
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:34
Trk::VxTrackAtVertex::setOrigTrackNoCache
void setOrigTrackNoCache(ITrackLink *trk)
Setting up the initial track, without caching parameters.
Definition: VxTrackAtVertex.cxx:442
Trk::VxTrackAtVertex::neutralPerigeeAtVertex
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 wa...
python.Dumpers.FitQuality
FitQuality
Definition: Dumpers.py:63
Trk::VxTrackAtVertex::initialPerigee
const TrackParameters * initialPerigee(void) const
Access to the initial perigee parameters of trajectory.
Definition: VxTrackAtVertex.cxx:351
Trk::LinearizedTrack
Definition: LinearizedTrack.h:43