CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
KinematicRefittedTrackState Class Reference

#include <KinematicRefittedTrackState.h>

Inheritance diagram for KinematicRefittedTrackState:
RefittedTrackState< 6 > ReferenceCounted

Public Types

typedef
ReferenceCountingPointer
< RefittedTrackState< 6 > > 
RefCountedRefittedTrackState
 
- Public Types inherited from RefittedTrackState< 6 >
typedef ROOT::Math::SMatrix
< double, N, N,
ROOT::Math::MatRepSym< double,
N > > 
AlgebraicSymMatrixNN
 
typedef ROOT::Math::SVector
< double, N-2 > 
AlgebraicVectorM
 
typedef ROOT::Math::SVector
< double, N
AlgebraicVectorN
 

Public Member Functions

virtual std::vector
< ReferenceCountingPointer
< RefittedTrackState< 6 > > > 
components () const
 
AlgebraicSymMatrix66 covariance () const
 
FreeTrajectoryState freeTrajectoryState () const
 
AlgebraicVector4 kinematicMomentumVector () const
 
AlgebraicVector7 kinematicParameters () const
 
AlgebraicSymMatrix77 kinematicParametersCovariance () const
 
 KinematicRefittedTrackState (const KinematicState &st, const AlgebraicVector4 &mv)
 
AlgebraicVector4 momentumVector () const
 
AlgebraicVector6 parameters () const
 
GlobalPoint position () const
 
virtual
ReferenceCountingPointer
< RefittedTrackState< 6 > > 
stateWithNewWeight (const double newWeight) const
 
TrajectoryStateOnSurface trajectoryStateOnSurface (const Surface &surface) const
 
TrajectoryStateOnSurface trajectoryStateOnSurface (const Surface &surface, const Propagator &propagator) const
 
virtual reco::TransientTrack transientTrack () const
 
virtual double weight () const
 
- Public Member Functions inherited from RefittedTrackState< 6 >
virtual ~RefittedTrackState ()
 

Private Attributes

AlgebraicVector4 momentumAtVertex
 
KinematicState state
 

Detailed Description

Refitted state for kinematic parameters To be used in KinematicParticleVertxFitter only. Class caches the refitted state of the particle and provide access to its parameters in both parametrizations: Kinemaic and extended Perigee.

Several methods are done just to be consistent with present KalmanVertexFitter structure

Definition at line 22 of file KinematicRefittedTrackState.h.

Member Typedef Documentation

Definition at line 26 of file KinematicRefittedTrackState.h.

Constructor & Destructor Documentation

KinematicRefittedTrackState::KinematicRefittedTrackState ( const KinematicState st,
const AlgebraicVector4 mv 
)

Definition at line 7 of file KinematicRefittedTrackState.cc.

References momentumAtVertex, and state.

9 {
10  state = st;
11  momentumAtVertex = mv;
12 }

Member Function Documentation

std::vector< ReferenceCountingPointer< RefittedTrackState< 6 > > > KinematicRefittedTrackState::components ( ) const
virtual

Implements RefittedTrackState< 6 >.

Definition at line 83 of file KinematicRefittedTrackState.cc.

References query::result.

84 {
85  std::vector<RefCountedRefittedTrackState> result; result.reserve(1);
86  result.push_back(RefCountedRefittedTrackState(
87  const_cast<KinematicRefittedTrackState*>(this)));
88  return result;
89 }
tuple result
Definition: query.py:137
ReferenceCountingPointer< RefittedTrackState< 6 > > RefCountedRefittedTrackState
AlgebraicSymMatrix66 KinematicRefittedTrackState::covariance ( void  ) const
virtual

Kinmatic perigee covariance

Implements RefittedTrackState< 6 >.

Definition at line 20 of file KinematicRefittedTrackState.cc.

21 {
22  throw VertexException("KinematicRefittedTrackState::Fishy covariance called");
23  return AlgebraicSymMatrix66();
24 }
Common base class.
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
FreeTrajectoryState KinematicRefittedTrackState::freeTrajectoryState ( ) const
virtual

FTS out of kinematic parameters

Implements RefittedTrackState< 6 >.

Definition at line 33 of file KinematicRefittedTrackState.cc.

References KinematicState::freeTrajectoryState(), and state.

Referenced by trajectoryStateOnSurface().

34 {
35  return state.freeTrajectoryState();
36 }
FreeTrajectoryState freeTrajectoryState() const
AlgebraicVector4 KinematicRefittedTrackState::kinematicMomentumVector ( ) const

Kinematic momentum vector

Definition at line 41 of file KinematicRefittedTrackState.cc.

References KinematicState::globalMomentum(), KinematicState::mass(), state, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by FinalTreeBuilder::buildTree().

42 {
45  mr[0] = mm.x();
46  mr[1] = mm.y();
47  mr[2] = mm.z();
48  mr[3] = state.mass();
49  return mr;
50 }
T y() const
Definition: PV3DBase.h:62
GlobalVector globalMomentum() const
ParticleMass mass() const
T z() const
Definition: PV3DBase.h:63
ROOT::Math::SVector< double, 4 > AlgebraicVector4
T x() const
Definition: PV3DBase.h:61
AlgebraicVector7 KinematicRefittedTrackState::kinematicParameters ( ) const

Access to Kinematic parameters

Definition at line 26 of file KinematicRefittedTrackState.cc.

References KinematicState::kinematicParameters(), state, and KinematicParameters::vector().

Referenced by FinalTreeBuilder::buildTree().

27 {return state.kinematicParameters().vector();}
AlgebraicVector7 const & vector() const
The full vector (7 elements)
KinematicParameters const & kinematicParameters() const
AlgebraicSymMatrix77 KinematicRefittedTrackState::kinematicParametersCovariance ( ) const

Kinmatic covariance

Definition at line 29 of file KinematicRefittedTrackState.cc.

References KinematicState::kinematicParametersError(), KinematicParametersError::matrix(), and state.

Referenced by FinalTreeBuilder::buildTree().

KinematicParametersError const & kinematicParametersError() const
AlgebraicSymMatrix77 matrix() const
AlgebraicVector4 KinematicRefittedTrackState::momentumVector ( ) const
virtual

Perigee momentum vector

Implements RefittedTrackState< 6 >.

Definition at line 52 of file KinematicRefittedTrackState.cc.

References momentumAtVertex.

53 {
54  return momentumAtVertex;
55 }
AlgebraicVector6 KinematicRefittedTrackState::parameters ( void  ) const
virtual

Access to Kinematic perigee parameters

Implements RefittedTrackState< 6 >.

Definition at line 14 of file KinematicRefittedTrackState.cc.

References conv, KinematicPerigeeConversions::extendedPerigeeFromKinematicParameters(), KinematicState::globalPosition(), and state.

15 {
18 }
static HepMC::IO_HEPEVT conv
ExtendedPerigeeTrajectoryParameters extendedPerigeeFromKinematicParameters(const KinematicState &state, const GlobalPoint &point) const
GlobalPoint globalPosition() const
GlobalPoint KinematicRefittedTrackState::position ( ) const
virtual

Position at which the momentum is defined.

Implements RefittedTrackState< 6 >.

Definition at line 38 of file KinematicRefittedTrackState.cc.

References KinematicState::globalPosition(), and state.

39 {return state.globalPosition();}
GlobalPoint globalPosition() const
ReferenceCountingPointer< RefittedTrackState< 6 > > KinematicRefittedTrackState::stateWithNewWeight ( const double  newWeight) const
virtual

Returns a new refitted state of the same type, but with another weight. The current state is unchanged.

Implements RefittedTrackState< 6 >.

Definition at line 76 of file KinematicRefittedTrackState.cc.

References gather_cfg::cout.

77 {
78  std::cout<<"WARNING: Change weight for Kinematic state called, weigt will stay to be equal 1."<<std::endl;
80  const_cast<KinematicRefittedTrackState*>(this));
81 }
ReferenceCountingPointer< RefittedTrackState< 6 > > RefCountedRefittedTrackState
tuple cout
Definition: gather_cfg.py:121
TrajectoryStateOnSurface KinematicRefittedTrackState::trajectoryStateOnSurface ( const Surface surface) const
virtual

Transformation into a TSOS at a given surface

Implements RefittedTrackState< 6 >.

Definition at line 58 of file KinematicRefittedTrackState.cc.

References anyDirection, freeTrajectoryState(), KinematicState::magneticField(), AnalyticalPropagator::propagate(), and state.

59 {
61  return thePropagator.propagate(freeTrajectoryState(), surface);
62 }
TrajectoryStateOnSurface propagate(const FreeTrajectoryState &fts, const Plane &plane) const
propagation to plane
FreeTrajectoryState freeTrajectoryState() const
const MagneticField * magneticField() const
TrajectoryStateOnSurface KinematicRefittedTrackState::trajectoryStateOnSurface ( const Surface surface,
const Propagator propagator 
) const
virtual

Transformation into a TSOS at a given surface, with a given propagator

Implements RefittedTrackState< 6 >.

Definition at line 64 of file KinematicRefittedTrackState.cc.

References anyDirection, Propagator::clone(), and freeTrajectoryState().

66 {
67  std::auto_ptr<Propagator> thePropagator( propagator.clone());
68  thePropagator->setPropagationDirection(anyDirection);
69  return thePropagator->propagate(freeTrajectoryState(), surface);
70 }
virtual Propagator * clone() const =0
FreeTrajectoryState freeTrajectoryState() const
reco::TransientTrack KinematicRefittedTrackState::transientTrack ( ) const
virtual

Implements RefittedTrackState< 6 >.

Definition at line 93 of file KinematicRefittedTrackState.cc.

94 {
95  throw VertexException("KinematicRefittedTrackState::Can Not write a TransientTrack");
96 // TransientTrackFromFTSFactory factory;
97 // return factory.build(freeTrajectoryState());
98 }
Common base class.
double KinematicRefittedTrackState::weight ( void  ) const
virtual

The weight of this component in a mixture

Implements RefittedTrackState< 6 >.

Definition at line 72 of file KinematicRefittedTrackState.cc.

73 { return 1.;}

Member Data Documentation

AlgebraicVector4 KinematicRefittedTrackState::momentumAtVertex
private

Definition at line 85 of file KinematicRefittedTrackState.h.

Referenced by KinematicRefittedTrackState(), and momentumVector().

KinematicState KinematicRefittedTrackState::state
private