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

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

Definition at line 17 of file VertexGhostTrackState.h.

18  :
19  position_(pos), covariance_(cov) {}

Member Function Documentation

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

Implements reco::BasicGhostTrackState.

Definition at line 22 of file VertexGhostTrackState.h.

References covariance_.

22 { return covariance_; }
pointer reco::VertexGhostTrackState::clone ( void  ) const
inlineoverrideprivatevirtual

Implements reco::BasicGhostTrackState.

Definition at line 31 of file VertexGhostTrackState.h.

32  { return build<VertexGhostTrackState>(*this); }
GlobalPoint reco::VertexGhostTrackState::globalPosition ( ) const
inlineoverridevirtual

Implements reco::BasicGhostTrackState.

Definition at line 21 of file VertexGhostTrackState.h.

References position_.

21 { return position_; }
BasicGhostTrackState::Vertex VertexGhostTrackState::vertexStateOnGhostTrack ( const GhostTrackPrediction pred,
bool  withMeasurementError 
) const
overridevirtual

Implements reco::BasicGhostTrackState.

Definition at line 38 of file VertexGhostTrackState.cc.

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

Referenced by cartesianCovariance().

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

Implements reco::BasicGhostTrackState.

Definition at line 68 of file VertexGhostTrackState.cc.

Referenced by cartesianCovariance().

70 {
71  return Vertex(position_, covariance_);
72 }
std::pair< GlobalPoint, GlobalError > Vertex

Member Data Documentation

CovarianceMatrix reco::VertexGhostTrackState::covariance_
private

Definition at line 35 of file VertexGhostTrackState.h.

Referenced by cartesianCovariance(), and cartesianError().

GlobalPoint reco::VertexGhostTrackState::position_
private

Definition at line 34 of file VertexGhostTrackState.h.

Referenced by globalPosition().