CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
reco::VertexGhostTrackState Class Reference

#include <VertexGhostTrackState.h>

Inheritance diagram for reco::VertexGhostTrackState:
reco::BasicGhostTrackState

Public Member Functions

CovarianceMatrix cartesianCovariance () const override
 
GlobalError cartesianError () const override
 
GlobalPoint globalPosition () const override
 
 VertexGhostTrackState (const GlobalPoint &pos, const CovarianceMatrix &cov)
 
Vertex vertexStateOnGhostTrack (const GhostTrackPrediction &pred, bool withMeasurementError) const override
 
Vertex vertexStateOnMeasurement (const GhostTrackPrediction &pred, bool withGhostTrackError) const override
 
- Public Member Functions inherited from reco::BasicGhostTrackState
virtual bool isValid () const
 
double lambda () const
 
virtual bool linearize (const GhostTrackPrediction &pred, bool initial, double lambda)
 
virtual bool linearize (const GhostTrackPrediction &pred, double lambda)
 
virtual void reset ()
 
void setWeight (double weight)
 
double weight () const
 
virtual ~BasicGhostTrackState ()
 

Private Member Functions

pointer clone () const override
 

Private Attributes

CovarianceMatrix covariance_
 
GlobalPoint position_
 

Additional Inherited Members

- Public Types inherited from reco::BasicGhostTrackState
using BGTS = BasicGhostTrackState
 
typedef math::Error< 3 >::type CovarianceMatrix
 
using pointer = Proxy::pointer
 
using Proxy = ProxyBase11< BGTS >
 
typedef std::pair< GlobalPoint, GlobalErrorVertex
 
- Static Public Member Functions inherited from reco::BasicGhostTrackState
template<typename T , typename... Args>
static std::shared_ptr< BGTSbuild (Args &&...args)
 
- Protected Attributes inherited from reco::BasicGhostTrackState
double lambda_ = 0
 
double weight_ = 1.
 

Detailed Description

Definition at line 15 of file VertexGhostTrackState.h.

Constructor & Destructor Documentation

◆ VertexGhostTrackState()

reco::VertexGhostTrackState::VertexGhostTrackState ( const GlobalPoint pos,
const CovarianceMatrix cov 
)
inline

Definition at line 17 of file VertexGhostTrackState.h.

Member Function Documentation

◆ cartesianCovariance()

CovarianceMatrix reco::VertexGhostTrackState::cartesianCovariance ( ) const
inlineoverridevirtual

Implements reco::BasicGhostTrackState.

Definition at line 21 of file VertexGhostTrackState.h.

References covariance_.

21 { return covariance_; }

◆ cartesianError()

GlobalError reco::VertexGhostTrackState::cartesianError ( ) const
inlineoverridevirtual

Implements reco::BasicGhostTrackState.

Definition at line 20 of file VertexGhostTrackState.h.

References covariance_.

20 { return covariance_; }

◆ clone()

pointer reco::VertexGhostTrackState::clone ( void  ) const
inlineoverrideprivatevirtual

Implements reco::BasicGhostTrackState.

Definition at line 27 of file VertexGhostTrackState.h.

27 { return build<VertexGhostTrackState>(*this); }

◆ globalPosition()

GlobalPoint reco::VertexGhostTrackState::globalPosition ( ) const
inlineoverridevirtual

Implements reco::BasicGhostTrackState.

Definition at line 19 of file VertexGhostTrackState.h.

References position_.

19 { return position_; }

◆ vertexStateOnGhostTrack()

BasicGhostTrackState::Vertex VertexGhostTrackState::vertexStateOnGhostTrack ( const GhostTrackPrediction pred,
bool  withMeasurementError 
) const
overridevirtual

Implements reco::BasicGhostTrackState.

Definition at line 37 of file VertexGhostTrackState.cc.

References b, reco::GhostTrackPrediction::cartesianError(), conv, covariance_, reco::GhostTrackPrediction::direction(), relativeConstraints::error, reco::BasicGhostTrackState::lambda(), reco::GhostTrackPrediction::origin(), position_, reco::GhostTrackPrediction::rho2(), and mathSSE::sqrt().

38  {
39  using namespace ROOT::Math;
40 
41  GlobalPoint origin = pred.origin();
42  GlobalVector direction = pred.direction();
43 
44  double rho2 = pred.rho2();
45  double rho = std::sqrt(rho2);
46  double lambda = (position_ - origin) * direction / rho2;
47  GlobalPoint pos = origin + lambda * direction;
48 
49  Vector3 b = conv(direction) / rho;
50  Vector3 ca = conv(position_ - pos);
51 
52  Matrix33 pA = TensorProd(b, b);
53  Matrix33 pB = TensorProd(b, ca);
54 
55  Matrix36 jacobian;
56  jacobian.Place_at(-pA + Matrix33(SMatrixIdentity()), 0, 0);
57  jacobian.Place_at(pB / rho, 0, 3);
58  Matrix3S error = Similarity(jacobian, pred.cartesianError(lambda));
59 
60  if (withMeasurementError)
61  error += Similarity(pA, covariance_);
62 
63  return Vertex(pos, error);
64 }
std::pair< GlobalPoint, GlobalError > Vertex
const GlobalVector direction() const
T sqrt(T t)
Definition: SSEVec.h:19
CartesianError cartesianError(double lambda=0.) const
const GlobalPoint origin() const
double b
Definition: hdecay.h:120
EPOS::IO_EPOS conv

◆ vertexStateOnMeasurement()

BasicGhostTrackState::Vertex VertexGhostTrackState::vertexStateOnMeasurement ( const GhostTrackPrediction pred,
bool  withGhostTrackError 
) const
overridevirtual

Implements reco::BasicGhostTrackState.

Definition at line 66 of file VertexGhostTrackState.cc.

References covariance_, and position_.

67  {
68  return Vertex(position_, covariance_);
69 }
std::pair< GlobalPoint, GlobalError > Vertex

Member Data Documentation

◆ covariance_

CovarianceMatrix reco::VertexGhostTrackState::covariance_
private

◆ position_

GlobalPoint reco::VertexGhostTrackState::position_
private