CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

reco::VertexGhostTrackState Class Reference

#include <VertexGhostTrackState.h>

Inheritance diagram for reco::VertexGhostTrackState:
reco::BasicGhostTrackState ReferenceCountedPoolAllocated BlockWipedPoolAllocated

List of all members.

Public Member Functions

CovarianceMatrix cartesianCovariance () const
GlobalError cartesianError () const
GlobalPoint globalPosition () const
 VertexGhostTrackState (const GlobalPoint &pos, const CovarianceMatrix &cov)
Vertex vertexStateOnGhostTrack (const GhostTrackPrediction &pred, bool withMeasurementError) const
Vertex vertexStateOnMeasurement (const GhostTrackPrediction &pred, bool withGhostTrackError) const

Private Member Functions

BasicGhostTrackStateclone () const

Private Attributes

CovarianceMatrix covariance_
GlobalPoint position_

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.

Referenced by clone().

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

Member Function Documentation

CovarianceMatrix reco::VertexGhostTrackState::cartesianCovariance ( ) const [inline, virtual]

Implements reco::BasicGhostTrackState.

Definition at line 23 of file VertexGhostTrackState.h.

References covariance_.

{ return covariance_; }
GlobalError reco::VertexGhostTrackState::cartesianError ( ) const [inline, virtual]

Implements reco::BasicGhostTrackState.

Definition at line 22 of file VertexGhostTrackState.h.

References covariance_.

{ return covariance_; }
BasicGhostTrackState* reco::VertexGhostTrackState::clone ( void  ) const [inline, private, virtual]

Implements reco::BasicGhostTrackState.

Definition at line 31 of file VertexGhostTrackState.h.

References VertexGhostTrackState().

        { return new VertexGhostTrackState(*this); }
GlobalPoint reco::VertexGhostTrackState::globalPosition ( ) const [inline, virtual]

Implements reco::BasicGhostTrackState.

Definition at line 21 of file VertexGhostTrackState.h.

References position_.

{ return position_; }
BasicGhostTrackState::Vertex VertexGhostTrackState::vertexStateOnGhostTrack ( const GhostTrackPrediction pred,
bool  withMeasurementError 
) const [virtual]

Implements reco::BasicGhostTrackState.

Definition at line 37 of file VertexGhostTrackState.cc.

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

{
        using namespace ROOT::Math;

        GlobalPoint origin = pred.origin();
        GlobalVector direction = pred.direction();

        double rho2 = pred.rho2();
        double rho = std::sqrt(rho2);
        double lambda = (position_ - origin) * direction / rho2;
        GlobalPoint pos = origin + lambda * direction;

        Vector3 b = conv(direction) / rho;
        Vector3 ca = conv(position_ - pos);

        Matrix33 pA = TensorProd(b, b);
        Matrix33 pB = TensorProd(b, ca);

        Matrix36 jacobian;
        jacobian.Place_at(-pA + Matrix33(SMatrixIdentity()), 0, 0);
        jacobian.Place_at(pB / rho, 0, 3);
        Matrix3S error = Similarity(jacobian, pred.cartesianError(lambda));

        if (withMeasurementError)
                error += Similarity(pA, covariance_);

        return Vertex(pos, error);
}
BasicGhostTrackState::Vertex VertexGhostTrackState::vertexStateOnMeasurement ( const GhostTrackPrediction pred,
bool  withGhostTrackError 
) const [virtual]

Implements reco::BasicGhostTrackState.

Definition at line 67 of file VertexGhostTrackState.cc.

References covariance_, and position_.


Member Data Documentation