|
|
Go to the documentation of this file.
31 if (otherP ==
nullptr) {
32 throw VertexException(
"PerigeeLinearizedTrackState: don't know how to compare myself to non-perigee track state");
39 if (otherP ==
nullptr) {
40 throw VertexException(
"PerigeeLinearizedTrackState: don't know how to compare myself to non-perigee track state");
61 std::vector<RefCountedLinearizedTrackState>
result;
69 auto p = theRefittedState->position();
74 momentum(2) -= 2 *
M_PI;
76 momentum(2) += 2 *
M_PI;
103 double transverseCurvatureAtEP = field / ptAtEP * signTC;
108 double X = x_v - paramPt.
x() -
sin(phiAtEP) / transverseCurvatureAtEP;
109 double Y = y_v - paramPt.
y() +
cos(phiAtEP) / transverseCurvatureAtEP;
110 double SS =
X *
X +
Y *
Y;
120 double signX = (
X > 0.0 ? +1.0 : -1.0);
121 phiFEP = -signTC * signX * acos(signTC *
Y /
S);
123 phiFEP = asin(-signTC *
X /
S);
124 if ((signTC *
Y) < 0.0)
125 phiFEP =
M_PI - phiFEP;
153 -(
X *
cos(phiAtEP) +
Y *
sin(phiAtEP)) / (SS * transverseCurvatureAtEP * transverseCurvatureAtEP);
158 (signTC * (
Y *
cos(phiAtEP) -
X *
sin(phiAtEP)) /
S - 1) / (transverseCurvatureAtEP * transverseCurvatureAtEP);
163 (phiAtEP -
theExpandedParams[2]) /
tan(thetaAtEP) / (transverseCurvatureAtEP * transverseCurvatureAtEP) +
175 AlgebraicVector3 momentumAtExpansionPoint(transverseCurvatureAtEP, thetaAtEP, phiAtEP);
192 double X = x_v - paramPt.
x();
193 double Y = y_v - paramPt.
y();
void checkParameters(AlgebraicVector5 ¶meters) const override
GlobalVector momentum() const
ROOT::Math::SVector< double, 3 > AlgebraicVector3
RefCountedRefittedTrackState createRefittedTrackState(const GlobalPoint &vertexPosition, const AlgebraicVector3 &vectorParameters, const AlgebraicSymMatrix66 &covarianceMatrix) const override
reco::TransientTrack track() const override
void computeJacobians() const
AlgebraicMatrix53 theMomentumJacobian
virtual TrackCharge charge() const=0
Geom::Theta< T > theta() const
const TrajectoryStateOnSurface theTSOS
const AlgebraicVector5 & constantTerm() const override
AlgebraicMatrix53 thePositionJacobian
GlobalPoint position() const
AlgebraicVector5 theConstantTerm
const AlgebraicMatrix53 & momentumJacobian() const override
reco::TransientTrack theTrack
Sin< T >::type sin(const T &t)
const AlgebraicMatrix53 & positionJacobian() const override
Cos< T >::type cos(const T &t)
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const AlgebraicVector3 &momentum, const GlobalPoint &referencePoint, const TrackCharge &charge, const AlgebraicSymMatrix66 &theCovarianceMatrix, const MagneticField *field)
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
std::vector< ReferenceCountingPointer< LinearizedTrackState< 5 > > > components() const override
const PerigeeTrajectoryParameters & perigeeParameters() const
TrajectoryStateClosestToPoint thePredState
GlobalVector inInverseGeV(const GlobalPoint &gp) const
Field value ad specified global point, in 1/Gev.
PerigeeLinearizedTrackState(const GlobalPoint &linP, const reco::TransientTrack &track, const TrajectoryStateOnSurface &tsos)
void computeNeutralJacobians() const
double S(const TLorentzVector &, const TLorentzVector &)
virtual bool operator==(LinearizedTrackState< N > &other) const=0
void computeChargedJacobians() const
AlgebraicVector5 theExpandedParams
AlgebraicVector3 predictedStateMomentumParameters() const override
Tan< T >::type tan(const T &t)
ReferenceCountingPointer< RefittedTrackState< N > > RefCountedRefittedTrackState
ROOT::Math::SVector< double, 5 > AlgebraicVector5
const MagneticField * field() const
ROOT::Math::SVector< double, N > AlgebraicVectorN
AlgebraicVector5 refittedParamFromEquation(const RefCountedRefittedTrackState &theRefittedState) const override
RefCountedLinearizedTrackState stateWithNewLinearizationPoint(const GlobalPoint &newLP) const override
TSCPBuilderNoMaterial builder
Abs< T >::type abs(const T &t)
const FreeTrajectoryState & theState() const
Geom::Phi< T > phi() const
ReferenceCountingPointer< LinearizedTrackState< 5 > > RefCountedLinearizedTrackState