#include <PerigeeLinearizedTrackState.h>
Public Types | |
typedef ReferenceCountingPointer< LinearizedTrackState< 5 > > | RefCountedLinearizedTrackState |
Public Types inherited from LinearizedTrackState< 5 > | |
typedef ROOT::Math::SMatrix< double, N - 2, 3, ROOT::Math::MatRepStd< double, N - 2, 3 > > | AlgebraicMatrixM3 |
typedef ROOT::Math::SMatrix< double, N, 3, ROOT::Math::MatRepStd< double, N, 3 > > | AlgebraicMatrixN3 |
typedef ROOT::Math::SMatrix< double, N, N - 2, ROOT::Math::MatRepStd< double, N, N - 2 > > | AlgebraicMatrixNM |
typedef ROOT::Math::SMatrix< double, N - 2, N - 2, ROOT::Math::MatRepSym< double, N - 2 > > | AlgebraicSymMatrixMM |
typedef ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > | AlgebraicSymMatrixNN |
typedef ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > | AlgebraicSymMatrixOO |
typedef ROOT::Math::SVector< double, N - 2 > | AlgebraicVectorM |
typedef ROOT::Math::SVector< double, N > | AlgebraicVectorN |
typedef ReferenceCountingPointer< RefittedTrackState< N > > | RefCountedRefittedTrackState |
Private Member Functions | |
void | compute3DImpactPoint () const |
void | computeChargedJacobians () const |
void | computeJacobians () const |
void | computeNeutralJacobians () const |
PerigeeLinearizedTrackState (const GlobalPoint &linP, const reco::TransientTrack &track, const TrajectoryStateOnSurface &tsos) | |
Friends | |
class | LinearizedTrackStateFactory |
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 33 of file PerigeeLinearizedTrackState.h.
typedef ReferenceCountingPointer<LinearizedTrackState<5> > PerigeeLinearizedTrackState::RefCountedLinearizedTrackState |
Definition at line 39 of file PerigeeLinearizedTrackState.h.
|
inlineprivate |
Constructor with the linearization point and the track. Private, can only be used by LinearizedTrackFactory.
Definition at line 140 of file PerigeeLinearizedTrackState.h.
Referenced by stateWithNewLinearizationPoint().
|
inlineoverride |
|
overridevirtual |
Implements LinearizedTrackState< 5 >.
Definition at line 59 of file PerigeeLinearizedTrackState.cc.
References mps_fire::result.
|
private |
Method calculating the 3D impact point measurement
|
private |
Method calculating the track parameters and the Jacobians for charged particles.
Definition at line 94 of file PerigeeLinearizedTrackState.cc.
References funct::abs(), funct::cos(), reco::TransientTrack::field(), MagneticField::inInverseGeV(), M_PI, AlCaHLTBitMon_ParallelJobs::p, TrajectoryStateClosestToPoint::perigeeParameters(), PerigeeTrajectoryParameters::phi(), FreeTrajectoryState::position(), TrajectoryStateClosestToPoint::pt(), S(), funct::sin(), mathSSE::sqrt(), funct::tan(), theCharge, theConstantTerm, theExpandedParams, theLinPoint, theMomentumJacobian, thePositionJacobian, thePredState, TrajectoryStateClosestToPoint::theState(), PerigeeTrajectoryParameters::theta(), theTrack, X, PV3DBase< T, PVType, FrameType >::x(), DOFs::Y, PV3DBase< T, PVType, FrameType >::y(), z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by computeJacobians().
|
private |
Method calculating the track parameters and the Jacobians.
Definition at line 9 of file PerigeeLinearizedTrackState.cc.
References funct::abs(), builder, computeChargedJacobians(), computeNeutralJacobians(), MillePedeFileConverter_cfg::e, reco::TransientTrack::field(), MagneticField::inInverseGeV(), TrajectoryStateClosestToPoint::isValid(), jacobiansAvailable, FreeTrajectoryState::position(), theCharge, theLinPoint, thePredState, TrajectoryStateClosestToPoint::theState(), theTrack, theTSOS, UNLIKELY, and z.
Referenced by constantTerm(), isValid(), momentumJacobian(), parametersFromExpansion(), positionJacobian(), predictedState(), predictedStateError(), predictedStateMomentumError(), predictedStateMomentumParameters(), predictedStateParameters(), and predictedStateWeight().
|
private |
Method calculating the track parameters and the Jacobians for neutral particles.
Definition at line 181 of file PerigeeLinearizedTrackState.cc.
References funct::cos(), FreeTrajectoryState::momentum(), AlCaHLTBitMon_ParallelJobs::p, 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(), X, PV3DBase< T, PVType, FrameType >::x(), DOFs::Y, PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by computeJacobians().
|
inlineoverridevirtual |
Method returning the constant term of the Taylor expansion of the measurement equation
Implements LinearizedTrackState< 5 >.
Definition at line 176 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), jacobiansAvailable, theConstantTerm, and UNLIKELY.
Referenced by TwoBodyDecayEstimator::constructMatrices(), and refittedParamFromEquation().
|
override |
Method returning the impact point measurement / ImpactPointMeasurement impactPointMeasurement() const;
TrackCharge charge() const override { return theCharge; }
bool hasError() const override;
bool operator==(LinearizedTrackState<5>& other) const override;
bool operator==(ReferenceCountingPointer<LinearizedTrackState<5> >& other) const;
/** Creates the correct refitted state according to the results of the track refit.
Definition at line 50 of file PerigeeLinearizedTrackState.cc.
References LinearizedTrackState< 5 >::charge(), reco::TransientTrack::field(), theTrack, and PerigeeConversions::trajectoryStateClosestToPoint().
|
inlineoverridevirtual |
Reimplemented from LinearizedTrackState< 5 >.
Definition at line 259 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), TrajectoryStateOnSurface::isValid(), jacobiansAvailable, theTSOS, and UNLIKELY.
Referenced by ntupleDataFormat._Object::_checkIsValid(), and core.AutoHandle.AutoHandle::ReallyLoad().
|
inlineoverridevirtual |
The point at which the track state has been linearized
Implements LinearizedTrackState< 5 >.
Definition at line 50 of file PerigeeLinearizedTrackState.h.
References theLinPoint.
Referenced by TwoBodyDecayEstimator::constructMatrices().
|
inlineoverridevirtual |
Method returning the Momentum Jacobian from the Taylor expansion (Matrix B)
Method returning the Momentum Jacobian (Matrix B)
Implements LinearizedTrackState< 5 >.
Definition at line 194 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), jacobiansAvailable, theMomentumJacobian, and UNLIKELY.
Referenced by TwoBodyDecayEstimator::constructMatrices(), and refittedParamFromEquation().
|
inlineoverridevirtual |
Method returning the parameters of the Taylor expansion
Implements LinearizedTrackState< 5 >.
Definition at line 202 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), jacobiansAvailable, theExpandedParams, and UNLIKELY.
|
inlineoverridevirtual |
Method returning the Position Jacobian from the Taylor expansion (Matrix A)
Method returning the Position Jacobian (Matrix A)
Implements LinearizedTrackState< 5 >.
Definition at line 185 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), jacobiansAvailable, thePositionJacobian, and UNLIKELY.
Referenced by TwoBodyDecayEstimator::constructMatrices(), and refittedParamFromEquation().
|
inline |
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 212 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), jacobiansAvailable, thePredState, and UNLIKELY.
Referenced by TwoBodyDecayLinearizationPointFinder::getLinearizationPoint(), and PerigeeMultiLTS::predictedState().
|
inlineoverridevirtual |
Method returning the covariance matrix of the track state at the transverse impact point.
Implements LinearizedTrackState< 5 >.
Definition at line 247 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), PerigeeTrajectoryError::covarianceMatrix(), jacobiansAvailable, TrajectoryStateClosestToPoint::perigeeError(), thePredState, and UNLIKELY.
Referenced by TwoBodyDecayEstimator::constructMatrices().
|
inlineoverridevirtual |
Method returning the momentum covariance matrix of the track state at the transverse impact point.
Implements LinearizedTrackState< 5 >.
Definition at line 253 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), PerigeeTrajectoryError::covarianceMatrix(), jacobiansAvailable, TrajectoryStateClosestToPoint::perigeeError(), thePredState, and UNLIKELY.
|
inlineoverridevirtual |
Method returning the momentum part of the parameters of the track state at the linearization point.
Implements LinearizedTrackState< 5 >.
Definition at line 230 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), jacobiansAvailable, TrajectoryStateClosestToPoint::perigeeParameters(), thePredState, UNLIKELY, findQualityFiles::v, and PerigeeTrajectoryParameters::vector().
Referenced by TwoBodyDecayEstimator::constructMatrices(), and refittedParamFromEquation().
|
inlineoverridevirtual |
Method returning the parameters of the track state at the transverse impact point.
Implements LinearizedTrackState< 5 >.
Definition at line 224 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), jacobiansAvailable, TrajectoryStateClosestToPoint::perigeeParameters(), thePredState, and PerigeeTrajectoryParameters::vector().
Referenced by TwoBodyDecayEstimator::constructMatrices().
|
inlineoverridevirtual |
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 237 of file PerigeeLinearizedTrackState.h.
References computeJacobians(), relativeConstraints::error, TrajectoryStateClosestToPoint::isValid(), jacobiansAvailable, TrajectoryStateClosestToPoint::perigeeError(), thePredState, UNLIKELY, and PerigeeTrajectoryError::weightMatrix().
|
override |
Definition at line 67 of file PerigeeLinearizedTrackState.cc.
References constantTerm(), M_PI, momentumJacobian(), AlCaHLTBitMon_ParallelJobs::p, positionJacobian(), and predictedStateMomentumParameters().
|
inline |
|
overridevirtual |
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 45 of file PerigeeLinearizedTrackState.cc.
References PerigeeLinearizedTrackState(), theTSOS, and track().
|
inlineoverridevirtual |
Implements LinearizedTrackState< 5 >.
Definition at line 52 of file PerigeeLinearizedTrackState.h.
References theTrack.
Referenced by TwoBodyDecayEstimator::constructMatrices(), stateWithNewLinearizationPoint(), and TrimmedVertexFinder::vertices().
|
inlineoverridevirtual |
Implements LinearizedTrackState< 5 >.
Definition at line 128 of file PerigeeLinearizedTrackState.h.
References theTSOS, and TrajectoryStateOnSurface::weight().
|
friend |
Friend class properly dealing with creation of reference-counted pointers to LinearizedTrack objects
Definition at line 38 of file PerigeeLinearizedTrackState.h.
|
private |
Definition at line 167 of file PerigeeLinearizedTrackState.h.
Referenced by computeJacobians().
|
mutableprivate |
Definition at line 170 of file PerigeeLinearizedTrackState.h.
Referenced by computeJacobians(), constantTerm(), isValid(), momentumJacobian(), parametersFromExpansion(), positionJacobian(), predictedState(), predictedStateError(), predictedStateMomentumError(), predictedStateMomentumParameters(), predictedStateParameters(), and predictedStateWeight().
|
private |
Definition at line 169 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), and computeJacobians().
|
mutableprivate |
Definition at line 164 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeNeutralJacobians(), and constantTerm().
|
mutableprivate |
Definition at line 165 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeNeutralJacobians(), and parametersFromExpansion().
|
private |
Definition at line 158 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeJacobians(), computeNeutralJacobians(), and linearizationPoint().
|
mutableprivate |
Definition at line 162 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeNeutralJacobians(), and momentumJacobian().
|
mutableprivate |
Definition at line 162 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeNeutralJacobians(), and positionJacobian().
|
mutableprivate |
Definition at line 163 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeJacobians(), computeNeutralJacobians(), predictedState(), predictedStateError(), predictedStateMomentumError(), predictedStateMomentumParameters(), predictedStateParameters(), and predictedStateWeight().
|
private |
Definition at line 159 of file PerigeeLinearizedTrackState.h.
Referenced by computeChargedJacobians(), computeJacobians(), createRefittedTrackState(), and track().
|
private |
Definition at line 160 of file PerigeeLinearizedTrackState.h.
Referenced by computeJacobians(), isValid(), state(), stateWithNewLinearizationPoint(), and weightInMixture().