File indexing completed on 2024-04-06 12:29:12
0001 #ifndef KinematicPerigeeConversions_H
0002 #define KinematicPerigeeConversions_H
0003
0004 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicParameters.h"
0005 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicState.h"
0006 #include "RecoVertex/KinematicFitPrimitives/interface/ExtendedPerigeeTrajectoryParameters.h"
0007 #include "MagneticField/Engine/interface/MagneticField.h"
0008 #include "RecoVertex/KinematicFitPrimitives/interface/Matrices.h"
0009
0010
0011
0012
0013
0014
0015
0016
0017 class KinematicPerigeeConversions {
0018 public:
0019 KinematicPerigeeConversions() {}
0020
0021 ExtendedPerigeeTrajectoryParameters extendedPerigeeFromKinematicParameters(const KinematicState& state,
0022 const GlobalPoint& point) const;
0023
0024 KinematicParameters kinematicParametersFromExPerigee(const ExtendedPerigeeTrajectoryParameters& pr,
0025 const GlobalPoint& point,
0026 const MagneticField* field) const;
0027
0028 KinematicState kinematicState(const AlgebraicVector4& momentum,
0029 const GlobalPoint& referencePoint,
0030 const TrackCharge& charge,
0031 const AlgebraicSymMatrix77& theCovarianceMatrix,
0032 const MagneticField* field) const;
0033
0034
0035
0036
0037 AlgebraicVector4 momentumFromPerigee(const AlgebraicVector4& momentum,
0038 const GlobalPoint& referencePoint,
0039 const TrackCharge& ch,
0040 const MagneticField* field) const;
0041
0042 private:
0043
0044
0045
0046
0047
0048 AlgebraicMatrix77 jacobianParameters2Kinematic(const AlgebraicVector4& momentum,
0049 const GlobalPoint& referencePoint,
0050 const TrackCharge& charge,
0051 const MagneticField* field) const;
0052 };
0053 #endif