CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

KinematicRefittedTrackState Class Reference

#include <KinematicRefittedTrackState.h>

Inheritance diagram for KinematicRefittedTrackState:
RefittedTrackState< 6 > ReferenceCounted

List of all members.

Public Types

typedef
ReferenceCountingPointer
< RefittedTrackState< 6 > > 
RefCountedRefittedTrackState

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

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.

{
  state = st;
  momentumAtVertex = mv;
}

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.

{
 std::vector<RefCountedRefittedTrackState> result; result.reserve(1);
 result.push_back(RefCountedRefittedTrackState( 
                                const_cast<KinematicRefittedTrackState*>(this)));
 return result;
}                                                  
AlgebraicSymMatrix66 KinematicRefittedTrackState::covariance ( void  ) const [virtual]

Kinmatic perigee covariance

Implements RefittedTrackState< 6 >.

Definition at line 20 of file KinematicRefittedTrackState.cc.

{
  throw VertexException("KinematicRefittedTrackState::Fishy covariance called");
  return AlgebraicSymMatrix66();
}
FreeTrajectoryState KinematicRefittedTrackState::freeTrajectoryState ( ) const [virtual]

FTS out of kinematic parameters

Implements RefittedTrackState< 6 >.

Definition at line 33 of file KinematicRefittedTrackState.cc.

Referenced by trajectoryStateOnSurface().

{
 return state.freeTrajectoryState();
}
AlgebraicVector4 KinematicRefittedTrackState::kinematicMomentumVector ( ) const

Kinematic momentum vector

Definition at line 41 of file KinematicRefittedTrackState.cc.

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

Referenced by FinalTreeBuilder::buildTree().

{
 GlobalVector mm = state.globalMomentum();
 AlgebraicVector4 mr;
 mr[0] = mm.x();
 mr[1] = mm.y();
 mr[2] = mm.z();
 mr[3] = state.mass();
 return mr;
}
AlgebraicVector7 KinematicRefittedTrackState::kinematicParameters ( ) const

Access to Kinematic parameters

Definition at line 26 of file KinematicRefittedTrackState.cc.

Referenced by FinalTreeBuilder::buildTree().

{return state.kinematicParameters().vector();}
AlgebraicSymMatrix77 KinematicRefittedTrackState::kinematicParametersCovariance ( ) const

Kinmatic covariance

Definition at line 29 of file KinematicRefittedTrackState.cc.

Referenced by FinalTreeBuilder::buildTree().

{return state.kinematicParametersError().matrix();}
AlgebraicVector4 KinematicRefittedTrackState::momentumVector ( ) const [virtual]

Perigee momentum vector

Implements RefittedTrackState< 6 >.

Definition at line 52 of file KinematicRefittedTrackState.cc.

References momentumAtVertex.

{
 return momentumAtVertex;
}
AlgebraicVector6 KinematicRefittedTrackState::parameters ( void  ) const [virtual]

Access to Kinematic perigee parameters

Implements RefittedTrackState< 6 >.

Definition at line 14 of file KinematicRefittedTrackState.cc.

References conv, and KinematicPerigeeConversions::extendedPerigeeFromKinematicParameters().

GlobalPoint KinematicRefittedTrackState::position ( void  ) const [virtual]

Position at which the momentum is defined.

Return the current file pointer position.

Implements RefittedTrackState< 6 >.

Definition at line 38 of file KinematicRefittedTrackState.cc.

{return state.globalPosition();}
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.

{
 std::cout<<"WARNING: Change weight for Kinematic state called, weigt will stay to be equal 1."<<std::endl;
 return RefCountedRefittedTrackState( 
                                const_cast<KinematicRefittedTrackState*>(this));
}
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().

{
 std::auto_ptr<Propagator> thePropagator( propagator.clone());
 thePropagator->setPropagationDirection(anyDirection);
 return thePropagator->propagate(freeTrajectoryState(), surface);
}
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(), and AnalyticalPropagator::propagate().

{
  AnalyticalPropagator thePropagator(state.magneticField(), anyDirection);
 return thePropagator.propagate(freeTrajectoryState(), surface);
}
reco::TransientTrack KinematicRefittedTrackState::transientTrack ( ) const [virtual]

Implements RefittedTrackState< 6 >.

Definition at line 93 of file KinematicRefittedTrackState.cc.

{
  throw VertexException("KinematicRefittedTrackState::Can Not write a TransientTrack");
//  TransientTrackFromFTSFactory factory;
//   return factory.build(freeTrajectoryState());
}
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.

{ return 1.;}

Member Data Documentation

Definition at line 85 of file KinematicRefittedTrackState.h.

Referenced by KinematicRefittedTrackState(), and momentumVector().

Definition at line 84 of file KinematicRefittedTrackState.h.