#include <PerigeeLinearizedTrackState.h>
Calculates and stores the ImpactPointMeasurement of the impact point (point of closest approach in 3D) to the given linearization point. (see V.Karimaki, HIP-1997-77 / EXP)
Computes the parameters of the trajectory state at the transverse point of closest approach (in the global transverse plane) to the linearization point, and the jacobiam matrices. (see R.Fruehwirth et al. Data Analysis Techniques in HEP Experiments Second Edition, Cambridge University Press 2000, or R.Fruehwirth et al. Vertex reconstruction and track bundling at the LEP collider using robust algorithms. Computer Physics Communications 96 (1996) 189-208).
Both are done `on-demand' to improve CPU performance.
This particular implementation works with "perigee" helix parametrization: see Billoir et al. NIM in PR A311(1992) 139-150
Definition at line 32 of file PerigeeLinearizedTrackState.h.
typedef ReferenceCountingPointer<LinearizedTrackState<5> > PerigeeLinearizedTrackState::RefCountedLinearizedTrackState |
Definition at line 41 of file PerigeeLinearizedTrackState.h.
PerigeeLinearizedTrackState::PerigeeLinearizedTrackState | ( | const GlobalPoint & | linP, |
const reco::TransientTrack & | track, | ||
const TrajectoryStateOnSurface & | tsos | ||
) | [inline, private] |
Constructor with the linearization point and the track. Private, can only be used by LinearizedTrackFactory.
Definition at line 149 of file PerigeeLinearizedTrackState.h.
: theLinPoint(linP), theTrack(track), jacobiansAvailable(false), // impactPointAvailable(false), theCharge(theTrack.charge()), theTSOS(tsos) {}
TrackCharge PerigeeLinearizedTrackState::charge | ( | void | ) | const [inline, virtual] |
Method returning the impact point measurement
Implements LinearizedTrackState< 5 >.
Definition at line 115 of file PerigeeLinearizedTrackState.h.
References theCharge.
Referenced by createRefittedTrackState().
{return theCharge;}
void PerigeeLinearizedTrackState::checkParameters | ( | AlgebraicVector5 & | parameters | ) | const [inline, virtual] |
Definition at line 223 of file PerigeeLinearizedTrackState.cc.
References M_PI, and Parameters::parameters.
{ if (parameters(2) > M_PI) parameters(2)-= 2*M_PI; if (parameters(2) < -M_PI) parameters(2)+= 2*M_PI; }
std::vector< PerigeeLinearizedTrackState::RefCountedLinearizedTrackState > PerigeeLinearizedTrackState::components | ( | ) | const [virtual] |
Implements LinearizedTrackState< 5 >.
Definition at line 192 of file PerigeeLinearizedTrackState.cc.
References query::result.
{ std::vector<RefCountedLinearizedTrackState> result; result.reserve(1); result.push_back(RefCountedLinearizedTrackState( const_cast<PerigeeLinearizedTrackState*>(this))); return result; }
void PerigeeLinearizedTrackState::compute3DImpactPoint | ( | ) | const [private] |
Method calculating the 3D impact point measurement
void PerigeeLinearizedTrackState::computeChargedJacobians | ( | ) | const [private] |
Method calculating the track parameters and the Jacobians for charged particles.
Definition at line 229 of file PerigeeLinearizedTrackState.cc.
References abs, funct::cos(), reco::TransientTrack::field(), MagneticField::inInverseGeV(), M_PI, FreeTrajectoryState::momentum(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), FreeTrajectoryState::position(), funct::sin(), mathSSE::sqrt(), funct::tan(), theCharge, theConstantTerm, theExpandedParams, theLinPoint, theMomentumJacobian, thePositionJacobian, thePredState, TrajectoryStateClosestToPoint::theState(), PV3DBase< T, PVType, FrameType >::theta(), theTrack, PV3DBase< T, PVType, FrameType >::x(), X, PV3DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::z(), and z.
Referenced by computeJacobians().
{ GlobalPoint paramPt(theLinPoint); //tarjectory parameters double field = theTrack.field()->inInverseGeV(thePredState.theState().position()).z(); double signTC = -theCharge; double thetaAtEP = thePredState.theState().momentum().theta(); double phiAtEP = thePredState.theState().momentum().phi(); double ptAtEP = thePredState.theState().momentum().perp(); double transverseCurvatureAtEP = field / ptAtEP*signTC; double x_v = thePredState.theState().position().x(); double y_v = thePredState.theState().position().y(); double z_v = thePredState.theState().position().z(); double X = x_v - paramPt.x() - sin(phiAtEP) / transverseCurvatureAtEP; double Y = y_v - paramPt.y() + cos(phiAtEP) / transverseCurvatureAtEP; double SS = X*X + Y*Y; double S = sqrt(SS); // The track parameters at the expansion point theExpandedParams[0] = transverseCurvatureAtEP; theExpandedParams[1] = thetaAtEP; theExpandedParams[3] = 1/transverseCurvatureAtEP - signTC * S; double phiFEP; if (std::abs(X)>std::abs(Y)) { double signX = (X>0.0? +1.0:-1.0); phiFEP = -signTC * signX*acos(signTC*Y/S); } else { phiFEP = asin(-signTC*X/S); if ((signTC*Y)<0.0) phiFEP = M_PI - phiFEP; } if (phiFEP>M_PI) phiFEP-= 2*M_PI; theExpandedParams[2] = phiFEP; theExpandedParams[4] = z_v - paramPt.z() - (phiAtEP - theExpandedParams[2]) / tan(thetaAtEP)/transverseCurvatureAtEP; // The Jacobian: (all at the expansion point) // [i,j] // i = 0: rho , 1: theta, 2: phi_p, 3: epsilon, 4: z_p // j = 0: x_v, 1: y_v, 2: z_v thePositionJacobian(2,0) = - Y / (SS); thePositionJacobian(2,1) = X / (SS); thePositionJacobian(3,0) = - signTC * X / S; thePositionJacobian(3,1) = - signTC * Y / S; thePositionJacobian(4,0) = thePositionJacobian(2,0)/tan(thetaAtEP)/transverseCurvatureAtEP; thePositionJacobian(4,1) = thePositionJacobian(2,1)/tan(thetaAtEP)/transverseCurvatureAtEP; thePositionJacobian(4,2) = 1; // [i,j] // i = 0: rho , 1: theta, 2: phi_p, 3: epsilon, 4: z_p // j = 0: rho, 1: theta, 2: phi_v theMomentumJacobian(0,0) = 1; theMomentumJacobian(1,1) = 1; theMomentumJacobian(2,0) = - (X*cos(phiAtEP) + Y*sin(phiAtEP))/ (SS*transverseCurvatureAtEP*transverseCurvatureAtEP); theMomentumJacobian(2,2) = (Y*cos(phiAtEP) - X*sin(phiAtEP)) / (SS*transverseCurvatureAtEP); theMomentumJacobian(3,0) = (signTC * (Y*cos(phiAtEP) - X*sin(phiAtEP)) / S - 1)/ (transverseCurvatureAtEP*transverseCurvatureAtEP); theMomentumJacobian(3,2) = signTC *(X*cos(phiAtEP) + Y*sin(phiAtEP))/ (S*transverseCurvatureAtEP); theMomentumJacobian(4,0) = (phiAtEP - theExpandedParams[2]) / tan(thetaAtEP)/(transverseCurvatureAtEP*transverseCurvatureAtEP)+ theMomentumJacobian(2,0) / tan(thetaAtEP)/transverseCurvatureAtEP; theMomentumJacobian(4,1) = (phiAtEP - theExpandedParams[2]) * (1 + 1/(tan(thetaAtEP)*tan(thetaAtEP)))/transverseCurvatureAtEP; theMomentumJacobian(4,2) = (theMomentumJacobian(2,2) - 1) / tan(thetaAtEP)/transverseCurvatureAtEP; // And finally the residuals: AlgebraicVector3 expansionPoint; expansionPoint(0) = thePredState.theState().position().x(); expansionPoint(1) = thePredState.theState().position().y(); expansionPoint(2) = thePredState.theState().position().z(); AlgebraicVector3 momentumAtExpansionPoint; momentumAtExpansionPoint(0) = transverseCurvatureAtEP; // Transverse Curv momentumAtExpansionPoint(1) = thetaAtEP; momentumAtExpansionPoint(2) = phiAtEP; theConstantTerm = AlgebraicVector5( theExpandedParams - thePositionJacobian * expansionPoint - theMomentumJacobian * momentumAtExpansionPoint ); }
void PerigeeLinearizedTrackState::computeJacobians | ( | ) | const [private] |
Method calculating the track parameters and the Jacobians.
Method returning the impact point measurement
Definition at line 64 of file PerigeeLinearizedTrackState.cc.
References abs, builder, computeChargedJacobians(), computeNeutralJacobians(), alignCSCRings::e, reco::TransientTrack::field(), MagneticField::inInverseGeV(), TrajectoryStateClosestToPoint::isValid(), jacobiansAvailable, FreeTrajectoryState::position(), theCharge, theLinPoint, thePredState, TrajectoryStateClosestToPoint::theState(), theTrack, theTSOS, and z.
Referenced by constantTerm(), hasError(), isValid(), momentumJacobian(), parametersFromExpansion(), positionJacobian(), predictedState(), predictedStateError(), predictedStateMomentumError(), predictedStateMomentumParameters(), predictedStateParameters(), and predictedStateWeight().
{ GlobalPoint paramPt(theLinPoint); // std::cout << "Track " // << "\n Param " << theTSOS.globalParameters () // << "\n Dir " << theTSOS.globalDirection () // << "\n"; thePredState = builder(theTSOS, paramPt); if (!thePredState.isValid()) return; // std::cout << "thePredState " << thePredState.theState().position()<<std::endl; // edm::LogInfo("RecoVertex/PerigeeLTS") // << "predstate built" << "\n"; double field = theTrack.field()->inInverseGeV(thePredState.theState().position()).z(); if ((std::abs(theCharge)<1e-5)||(fabs(field)<1.e-10)){ //neutral track computeNeutralJacobians(); } else { //charged track // edm::LogInfo("RecoVertex/PerigeeLTS") // << "about to compute charged jac" << "\n"; computeChargedJacobians(); // edm::LogInfo("RecoVertex/PerigeeLTS") // << "charged jac computed" << "\n"; } jacobiansAvailable = true; }
void PerigeeLinearizedTrackState::computeNeutralJacobians | ( | ) | const [private] |
Method calculating the track parameters and the Jacobians for neutral particles.
Definition at line 332 of file PerigeeLinearizedTrackState.cc.
References funct::cos(), FreeTrajectoryState::momentum(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), FreeTrajectoryState::position(), funct::sin(), funct::tan(), theConstantTerm, theExpandedParams, theLinPoint, theMomentumJacobian, thePositionJacobian, thePredState, TrajectoryStateClosestToPoint::theState(), PV3DBase< T, PVType, FrameType >::theta(), PV3DBase< T, PVType, FrameType >::x(), X, PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by computeJacobians().
{ GlobalPoint paramPt(theLinPoint); //tarjectory parameters double thetaAtEP = thePredState.theState().momentum().theta(); double phiAtEP = thePredState.theState().momentum().phi(); double ptAtEP = thePredState.theState().momentum().perp(); double x_v = thePredState.theState().position().x(); double y_v = thePredState.theState().position().y(); double z_v = thePredState.theState().position().z(); double X = x_v - paramPt.x(); double Y = y_v - paramPt.y(); // The track parameters at the expansion point theExpandedParams(0) = 1 / ptAtEP; theExpandedParams(1) = thetaAtEP; theExpandedParams(2) = phiAtEP; theExpandedParams(3) = X*sin(phiAtEP) - Y*cos(phiAtEP); theExpandedParams(4) = z_v - paramPt.z() - (X*cos(phiAtEP) + Y*sin(phiAtEP)) / tan(thetaAtEP); // The Jacobian: (all at the expansion point) // [i,j] // i = 0: rho = 1/pt , 1: theta, 2: phi_p, 3: epsilon, 4: z_p // j = 0: x_v, 1: y_v, 2: z_v thePositionJacobian(3,0) = sin(phiAtEP); thePositionJacobian(3,1) = - cos(phiAtEP); thePositionJacobian(4,0) = - cos(phiAtEP)/tan(thetaAtEP); thePositionJacobian(4,1) = - sin(phiAtEP)/tan(thetaAtEP); thePositionJacobian(4,2) = 1; // [i,j] // i = 0: rho = 1/pt , 1: theta, 2: phi_p, 3: epsilon, 4: z_p // j = 0: rho = 1/pt , 1: theta, 2: phi_v theMomentumJacobian(0,0) = 1; theMomentumJacobian(1,1) = 1; theMomentumJacobian(2,2) = 1; theMomentumJacobian(3,2) = X*cos(phiAtEP) + Y*sin(phiAtEP); theMomentumJacobian(4,1) = theMomentumJacobian(3,2)* (1 + 1/(tan(thetaAtEP)*tan(thetaAtEP))); theMomentumJacobian(4,2) = (X*sin(phiAtEP) - Y*cos(phiAtEP))/tan(thetaAtEP); // And finally the residuals: AlgebraicVector3 expansionPoint; expansionPoint(0) = thePredState.theState().position().x(); expansionPoint(1) = thePredState.theState().position().y(); expansionPoint(2) = thePredState.theState().position().z(); AlgebraicVector3 momentumAtExpansionPoint; momentumAtExpansionPoint(0) = 1 / ptAtEP; // momentumAtExpansionPoint(1) = thetaAtEP; momentumAtExpansionPoint(2) = phiAtEP; theConstantTerm = AlgebraicVector5( theExpandedParams - thePositionJacobian * expansionPoint - theMomentumJacobian * momentumAtExpansionPoint ); }
const AlgebraicVector5 & PerigeeLinearizedTrackState::constantTerm | ( | ) | const [virtual] |
Method returning the constant term of the Taylor expansion of the measurement equation
Implements LinearizedTrackState< 5 >.
Definition at line 14 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), jacobiansAvailable, and theConstantTerm.
Referenced by TwoBodyDecayEstimator::constructMatrices(), and refittedParamFromEquation().
{ if (!jacobiansAvailable) computeJacobians(); return theConstantTerm; }
PerigeeLinearizedTrackState::RefCountedRefittedTrackState PerigeeLinearizedTrackState::createRefittedTrackState | ( | const GlobalPoint & | vertexPosition, |
const AlgebraicVector3 & | vectorParameters, | ||
const AlgebraicSymMatrix66 & | covarianceMatrix | ||
) | const [virtual] |
Creates the correct refitted state according to the results of the track refit.
Definition at line 179 of file PerigeeLinearizedTrackState.cc.
References charge(), reco::TransientTrack::field(), theTrack, and PerigeeConversions::trajectoryStateClosestToPoint().
{ PerigeeConversions perigeeConversions; TrajectoryStateClosestToPoint refittedTSCP = perigeeConversions.trajectoryStateClosestToPoint( vectorParameters, vertexPosition, charge(), covarianceMatrix, theTrack.field()); return RefCountedRefittedTrackState(new PerigeeRefittedTrackState(refittedTSCP, vectorParameters)); }
bool PerigeeLinearizedTrackState::hasError | ( | void | ) | const [virtual] |
Implements LinearizedTrackState< 5 >.
Definition at line 104 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), TrajectoryStateClosestToPoint::hasError(), jacobiansAvailable, and thePredState.
{ if (!jacobiansAvailable) computeJacobians(); return thePredState.hasError(); }
bool PerigeeLinearizedTrackState::isValid | ( | void | ) | const [virtual] |
Reimplemented from LinearizedTrackState< 5 >.
Definition at line 399 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), TrajectoryStateOnSurface::isValid(), jacobiansAvailable, and theTSOS.
{ if (!theTSOS.isValid()) return false; if (!jacobiansAvailable) computeJacobians(); return jacobiansAvailable; }
const GlobalPoint& PerigeeLinearizedTrackState::linearizationPoint | ( | ) | const [inline, virtual] |
The point at which the track state has been linearized
Implements LinearizedTrackState< 5 >.
Definition at line 54 of file PerigeeLinearizedTrackState.h.
References theLinPoint.
Referenced by TwoBodyDecayEstimator::constructMatrices().
{ return theLinPoint; }
const AlgebraicMatrix53 & PerigeeLinearizedTrackState::momentumJacobian | ( | ) | const [virtual] |
Method returning the Momentum Jacobian from the Taylor expansion (Matrix B)
Method returning the Momentum Jacobian (Matrix B)
Implements LinearizedTrackState< 5 >.
Definition at line 32 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), jacobiansAvailable, and theMomentumJacobian.
Referenced by TwoBodyDecayEstimator::constructMatrices(), and refittedParamFromEquation().
{ if (!jacobiansAvailable) computeJacobians(); return theMomentumJacobian; }
bool PerigeeLinearizedTrackState::operator== | ( | LinearizedTrackState< 5 > & | other | ) | const |
Definition at line 148 of file PerigeeLinearizedTrackState.cc.
References theTrack, and track().
{ const PerigeeLinearizedTrackState* otherP = dynamic_cast<const PerigeeLinearizedTrackState*>(&other); if (otherP == 0) { throw VertexException("PerigeeLinearizedTrackState: don't know how to compare myself to non-perigee track state"); } return (otherP->track() == theTrack); }
bool PerigeeLinearizedTrackState::operator== | ( | ReferenceCountingPointer< LinearizedTrackState< 5 > > & | other | ) | const |
Definition at line 159 of file PerigeeLinearizedTrackState.cc.
References theTrack, and track().
{ const PerigeeLinearizedTrackState* otherP = dynamic_cast<const PerigeeLinearizedTrackState*>(other.get()); if (otherP == 0) { throw VertexException("PerigeeLinearizedTrackState: don't know how to compare myself to non-perigee track state"); } return (otherP->track() == theTrack); }
const AlgebraicVector5 & PerigeeLinearizedTrackState::parametersFromExpansion | ( | ) | const [virtual] |
Method returning the parameters of the Taylor expansion
Implements LinearizedTrackState< 5 >.
Definition at line 40 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), jacobiansAvailable, and theExpandedParams.
{ if (!jacobiansAvailable) computeJacobians(); return theExpandedParams; }
const AlgebraicMatrix53 & PerigeeLinearizedTrackState::positionJacobian | ( | ) | const [virtual] |
Method returning the Position Jacobian from the Taylor expansion (Matrix A)
Method returning the Position Jacobian (Matrix A)
Implements LinearizedTrackState< 5 >.
Definition at line 23 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), jacobiansAvailable, and thePositionJacobian.
Referenced by TwoBodyDecayEstimator::constructMatrices(), and refittedParamFromEquation().
{ if (!jacobiansAvailable) computeJacobians(); return thePositionJacobian; }
const TrajectoryStateClosestToPoint & PerigeeLinearizedTrackState::predictedState | ( | ) | const |
Method returning the track state at the point of closest approach to the linearization point, in the transverse plane (a.k.a. transverse impact point).
Method returning the TrajectoryStateClosestToPoint at the point of closest approch to the z-axis (a.k.a. transverse impact point)
Definition at line 50 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), jacobiansAvailable, and thePredState.
Referenced by TwoBodyDecayLinearizationPointFinder::getLinearizationPoint(), and PerigeeMultiLTS::predictedState().
{ if (!jacobiansAvailable) computeJacobians(); return thePredState; }
AlgebraicSymMatrix55 PerigeeLinearizedTrackState::predictedStateError | ( | ) | const [virtual] |
Method returning the covariance matrix of the track state at the transverse impact point.
Implements LinearizedTrackState< 5 >.
Definition at line 136 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), PerigeeTrajectoryError::covarianceMatrix(), jacobiansAvailable, TrajectoryStateClosestToPoint::perigeeError(), and thePredState.
Referenced by TwoBodyDecayEstimator::constructMatrices().
{ if (!jacobiansAvailable) computeJacobians(); return thePredState.perigeeError().covarianceMatrix(); }
AlgebraicSymMatrix33 PerigeeLinearizedTrackState::predictedStateMomentumError | ( | ) | const [virtual] |
Method returning the momentum covariance matrix of the track state at the transverse impact point.
Implements LinearizedTrackState< 5 >.
Definition at line 142 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), PerigeeTrajectoryError::covarianceMatrix(), jacobiansAvailable, TrajectoryStateClosestToPoint::perigeeError(), and thePredState.
{ if (!jacobiansAvailable) computeJacobians(); return thePredState.perigeeError().covarianceMatrix().Sub<AlgebraicSymMatrix33>(0,2); }
AlgebraicVector3 PerigeeLinearizedTrackState::predictedStateMomentumParameters | ( | ) | const [virtual] |
Method returning the momentum part of the parameters of the track state at the linearization point.
Implements LinearizedTrackState< 5 >.
Definition at line 116 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), jacobiansAvailable, TrajectoryStateClosestToPoint::perigeeParameters(), PerigeeTrajectoryParameters::phi(), thePredState, PerigeeTrajectoryParameters::theta(), and PerigeeTrajectoryParameters::vector().
Referenced by TwoBodyDecayEstimator::constructMatrices(), and refittedParamFromEquation().
{ if (!jacobiansAvailable) computeJacobians(); AlgebraicVector3 momentum; momentum[0] = thePredState.perigeeParameters().vector()(0); momentum[1] = thePredState.perigeeParameters().theta(); momentum[2] = thePredState.perigeeParameters().phi(); return momentum; }
AlgebraicVector5 PerigeeLinearizedTrackState::predictedStateParameters | ( | ) | const [virtual] |
Method returning the parameters of the track state at the transverse impact point.
Implements LinearizedTrackState< 5 >.
Definition at line 110 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), jacobiansAvailable, TrajectoryStateClosestToPoint::perigeeParameters(), thePredState, and PerigeeTrajectoryParameters::vector().
Referenced by TwoBodyDecayEstimator::constructMatrices().
{ if (!jacobiansAvailable) computeJacobians(); return thePredState.perigeeParameters().vector(); }
AlgebraicSymMatrix55 PerigeeLinearizedTrackState::predictedStateWeight | ( | int & | error | ) | const [virtual] |
Method returning the weight matrix of the track state at the transverse impact point. The error variable is 0 in case of success.
Implements LinearizedTrackState< 5 >.
Definition at line 126 of file PerigeeLinearizedTrackState.cc.
References computeJacobians(), TrajectoryStateClosestToPoint::isValid(), jacobiansAvailable, TrajectoryStateClosestToPoint::perigeeError(), thePredState, and PerigeeTrajectoryError::weightMatrix().
{ if (!jacobiansAvailable) computeJacobians(); if (!thePredState.isValid()) { error = 1; return AlgebraicSymMatrix55(); } return thePredState.perigeeError().weightMatrix(error); }
AlgebraicVector5 PerigeeLinearizedTrackState::refittedParamFromEquation | ( | const RefCountedRefittedTrackState & | theRefittedState | ) | const [virtual] |
Method returning the parameters of the Taylor expansion evaluated with the refitted state.
Implements LinearizedTrackState< 5 >.
Definition at line 201 of file PerigeeLinearizedTrackState.cc.
References constantTerm(), M_PI, momentumJacobian(), positionJacobian(), and predictedStateMomentumParameters().
{ AlgebraicVector3 vertexPosition; vertexPosition(0) = theRefittedState->position().x(); vertexPosition(1) = theRefittedState->position().y(); vertexPosition(2) = theRefittedState->position().z(); AlgebraicVector3 momentum = theRefittedState->momentumVector(); if ((momentum(2)*predictedStateMomentumParameters()(2) < 0)&&(fabs(momentum(2))>M_PI/2) ) { if (predictedStateMomentumParameters()(2) < 0.) momentum(2)-= 2*M_PI; if (predictedStateMomentumParameters()(2) > 0.) momentum(2)+= 2*M_PI; } AlgebraicVectorN param = constantTerm() + positionJacobian() * vertexPosition + momentumJacobian() * momentum; if (param(2) > M_PI) param(2)-= 2*M_PI; if (param(2) < -M_PI) param(2)+= 2*M_PI; return param; }
const TrajectoryStateOnSurface PerigeeLinearizedTrackState::state | ( | ) | const [inline] |
Definition at line 58 of file PerigeeLinearizedTrackState.h.
References theTSOS.
{ return theTSOS; }
PerigeeLinearizedTrackState::RefCountedLinearizedTrackState PerigeeLinearizedTrackState::stateWithNewLinearizationPoint | ( | const GlobalPoint & | newLP | ) | const [virtual] |
Returns a new linearized state with respect to a new linearization point. A new object of the same type is returned, without change to the existing one.
Implements LinearizedTrackState< 5 >.
Definition at line 172 of file PerigeeLinearizedTrackState.cc.
{ return RefCountedLinearizedTrackState( new PerigeeLinearizedTrackState(newLP, track(), theTSOS)); }
virtual reco::TransientTrack PerigeeLinearizedTrackState::track | ( | void | ) | const [inline, virtual] |
Implements LinearizedTrackState< 5 >.
Definition at line 56 of file PerigeeLinearizedTrackState.h.
References theTrack.
Referenced by TwoBodyDecayEstimator::constructMatrices(), operator==(), and TrimmedVertexFinder::vertices().
{ return theTrack; }
virtual double PerigeeLinearizedTrackState::weightInMixture | ( | ) | const [inline, virtual] |
Implements LinearizedTrackState< 5 >.
Definition at line 135 of file PerigeeLinearizedTrackState.h.
References theTSOS, and TrajectoryStateOnSurface::weight().
friend class LinearizedTrackStateFactory [friend] |
Friend class properly dealing with creation of reference-counted pointers to LinearizedTrack objects
Definition at line 40 of file PerigeeLinearizedTrackState.h.
Definition at line 178 of file PerigeeLinearizedTrackState.h.
Referenced by computeJacobians().
bool PerigeeLinearizedTrackState::jacobiansAvailable [mutable, private] |
Definition at line 171 of file PerigeeLinearizedTrackState.h.
Referenced by computeJacobians(), constantTerm(), hasError(), isValid(), momentumJacobian(), parametersFromExpansion(), positionJacobian(), predictedState(), predictedStateError(), predictedStateMomentumError(), predictedStateMomentumParameters(), predictedStateParameters(), and predictedStateWeight().
Definition at line 181 of file PerigeeLinearizedTrackState.h.
Referenced by charge(), computeChargedJacobians(), and computeJacobians().
AlgebraicVector5 PerigeeLinearizedTrackState::theConstantTerm [mutable, private] |
Definition at line 174 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeNeutralJacobians(), and constantTerm().
AlgebraicVector5 PerigeeLinearizedTrackState::theExpandedParams [mutable, private] |
Definition at line 175 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeNeutralJacobians(), and parametersFromExpansion().
Definition at line 168 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeJacobians(), computeNeutralJacobians(), and linearizationPoint().
AlgebraicMatrix53 PerigeeLinearizedTrackState::theMomentumJacobian [mutable, private] |
Definition at line 172 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeNeutralJacobians(), and momentumJacobian().
AlgebraicMatrix53 PerigeeLinearizedTrackState::thePositionJacobian [mutable, private] |
Definition at line 172 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeNeutralJacobians(), and positionJacobian().
TrajectoryStateClosestToPoint PerigeeLinearizedTrackState::thePredState [mutable, private] |
Definition at line 173 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeJacobians(), computeNeutralJacobians(), hasError(), predictedState(), predictedStateError(), predictedStateMomentumError(), predictedStateMomentumParameters(), predictedStateParameters(), and predictedStateWeight().
Definition at line 169 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeJacobians(), createRefittedTrackState(), operator==(), and track().
const TrajectoryStateOnSurface PerigeeLinearizedTrackState::theTSOS [private] |
Definition at line 182 of file PerigeeLinearizedTrackState.h.
Referenced by computeJacobians(), isValid(), state(), and weightInMixture().