CMS 3D CMS Logo

PerigeeKinematicState Class Reference

Class caching the "extended" perigee parametrization for vertex fitting inside the KinematicFit library. More...

#include <RecoVertex/KinematicFitPrimitives/interface/PerigeeKinematicState.h>

List of all members.

Public Member Functions

bool hasError () const
 Access methods.
bool isValid () const
const
ExtendedPerigeeTrajectoryError
perigeeError () const
 Returns the error matrix of extended perigee parametrization.
 PerigeeKinematicState ()
const
ExtendedPerigeeTrajectoryParameters
perigeeParameters () const
 Returns the extended perigee parameters.
const GlobalPoint referencePoint () const
 Returns the reference point.
const KinematicState theState () const
virtual ~PerigeeKinematicState ()

Private Member Functions

AlgebraicMatrix jacobianCurvilinear2Perigee (const FreeTrajectoryState &fts) const
 PerigeeKinematicState (const KinematicState &state, const GlobalPoint &pt)

Private Attributes

ExtendedPerigeeTrajectoryError cov
bool errorIsAvailable
KinematicState inState
ExtendedPerigeeTrajectoryParameters par
GlobalPoint point
bool vl

Friends

class TransientTrackKinematicStateBuilder


Detailed Description

Class caching the "extended" perigee parametrization for vertex fitting inside the KinematicFit library.

Extended parameters are: (epsilon, rho, phi, theta_p, z_p, m) (see TrajectoryStateClosestToPoint class for reference)

Kirill Prokofiev, august 2003

Definition at line 21 of file PerigeeKinematicState.h.


Constructor & Destructor Documentation

PerigeeKinematicState::PerigeeKinematicState (  )  [inline]

Definition at line 25 of file PerigeeKinematicState.h.

References errorIsAvailable, and vl.

00026  {
00027   vl = false;
00028   errorIsAvailable = false;
00029  }

virtual PerigeeKinematicState::~PerigeeKinematicState (  )  [inline, virtual]

Definition at line 31 of file PerigeeKinematicState.h.

00031 {}

PerigeeKinematicState::PerigeeKinematicState ( const KinematicState state,
const GlobalPoint pt 
) [private]

Definition at line 6 of file PerigeeKinematicState.cc.

References conversions_cfi::conversions, cov, err, KinematicPerigeeConversions::extendedPerigeeFromKinematicParameters(), KinematicState::freeTrajectoryState(), KinematicState::isValid(), PerigeeConversions::jacobianCurvilinear2Perigee(), KinematicState::kinematicParametersError(), KinematicParametersError::matrix(), par, and FreeTrajectoryState::parameters().

00006                                                                                               :
00007  point(pt), inState(state),  errorIsAvailable(true),vl(true)
00008 {
00009  if(!(state.isValid())) throw VertexException("PerigeeKinematicState::kinematic state passed is not valid!");
00010 
00011 //working with parameters:
00012  KinematicPerigeeConversions conversions;
00013  par  = conversions.extendedPerigeeFromKinematicParameters(state,pt);
00014    
00015 //creating the error
00016  AlgebraicSymMatrix77 err = state.kinematicParametersError().matrix();
00017 
00018 //making jacobian for curvilinear frame
00019  JacobianCartesianToCurvilinear jj(state.freeTrajectoryState().parameters());  
00020  AlgebraicMatrix67 ki2cu;
00021  ki2cu.Place_at(jj.jacobian(),0,0);
00022  ki2cu(5,6) = 1.;
00023  AlgebraicMatrix66 cu2pe;
00024  PerigeeConversions pc;
00025  cu2pe.Place_at(pc.jacobianCurvilinear2Perigee(state.freeTrajectoryState()),0,0);
00026  cu2pe(5,5) = 1.;
00027  AlgebraicMatrix67 jacobian = cu2pe*ki2cu;
00028 
00029  cov = ExtendedPerigeeTrajectoryError(ROOT::Math::Similarity(jacobian, err));
00030 
00031 }


Member Function Documentation

bool PerigeeKinematicState::hasError ( void   )  const [inline]

Access methods.

Definition at line 35 of file PerigeeKinematicState.h.

References errorIsAvailable, and isValid().

Referenced by perigeeError().

00036  {
00037   if(!(isValid()))throw VertexException("PerigeeKinematicState::error is requested for the invalid state");
00038   return errorIsAvailable;
00039  }

bool PerigeeKinematicState::isValid ( void   )  const [inline]

Definition at line 41 of file PerigeeKinematicState.h.

References vl.

Referenced by hasError(), ParticleKinematicLinearizedTrackState::hasError(), perigeeError(), perigeeParameters(), referencePoint(), and theState().

00042  {return vl;}

AlgebraicMatrix PerigeeKinematicState::jacobianCurvilinear2Perigee ( const FreeTrajectoryState fts  )  const [private]

const ExtendedPerigeeTrajectoryError& PerigeeKinematicState::perigeeError (  )  const [inline]

Returns the error matrix of extended perigee parametrization.

Definition at line 63 of file PerigeeKinematicState.h.

References cov, hasError(), and isValid().

Referenced by ParticleKinematicLinearizedTrackState::predictedStateError(), ParticleKinematicLinearizedTrackState::predictedStateMomentumError(), and ParticleKinematicLinearizedTrackState::predictedStateWeight().

00064  {
00065   if(!(isValid()))  throw VertexException("PerigeeKinematicState::requesting perigee error for invalid state");
00066   if(!(hasError())) throw VertexException("PerigeeKinematicState::requesting perigee error when none available");
00067   return cov;
00068  }

const ExtendedPerigeeTrajectoryParameters& PerigeeKinematicState::perigeeParameters (  )  const [inline]

Returns the extended perigee parameters.

Definition at line 73 of file PerigeeKinematicState.h.

References isValid(), and par.

Referenced by ParticleKinematicLinearizedTrackState::predictedStateMomentumParameters(), and ParticleKinematicLinearizedTrackState::predictedStateParameters().

00074  {
00075   if(!(isValid()))  throw VertexException("PerigeeKinematicState::requesting perigee parameters for invalid state");
00076   return par;
00077  }

const GlobalPoint PerigeeKinematicState::referencePoint (  )  const [inline]

Returns the reference point.

Definition at line 53 of file PerigeeKinematicState.h.

References isValid(), and point.

00054  {
00055   if(!isValid()) throw VertexException("PerigeeKinematicState::point is requested for the invalid state");
00056   return point;
00057  }

const KinematicState PerigeeKinematicState::theState (  )  const [inline]

Definition at line 44 of file PerigeeKinematicState.h.

References inState, and isValid().

Referenced by ParticleKinematicLinearizedTrackState::computeChargedJacobians(), and ParticleKinematicLinearizedTrackState::computeNeutralJacobians().

00045  {
00046   if(!isValid()) throw VertexException("PerigeeKinematicState::initial state is requested for the invalid state");
00047   return inState;
00048  }


Friends And Related Function Documentation

friend class TransientTrackKinematicStateBuilder [friend]

Definition at line 81 of file PerigeeKinematicState.h.


Member Data Documentation

ExtendedPerigeeTrajectoryError PerigeeKinematicState::cov [private]

Definition at line 96 of file PerigeeKinematicState.h.

Referenced by perigeeError(), and PerigeeKinematicState().

bool PerigeeKinematicState::errorIsAvailable [private]

Definition at line 98 of file PerigeeKinematicState.h.

Referenced by hasError(), and PerigeeKinematicState().

KinematicState PerigeeKinematicState::inState [private]

Definition at line 97 of file PerigeeKinematicState.h.

Referenced by theState().

ExtendedPerigeeTrajectoryParameters PerigeeKinematicState::par [private]

Definition at line 95 of file PerigeeKinematicState.h.

Referenced by PerigeeKinematicState(), and perigeeParameters().

GlobalPoint PerigeeKinematicState::point [private]

Definition at line 94 of file PerigeeKinematicState.h.

Referenced by referencePoint().

bool PerigeeKinematicState::vl [private]

Definition at line 99 of file PerigeeKinematicState.h.

Referenced by isValid(), and PerigeeKinematicState().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:29:35 2009 for CMSSW by  doxygen 1.5.4