File indexing completed on 2024-04-06 12:29:12
0001 #ifndef KinematicParametersError_H
0002 #define KinematicParametersError_H
0003
0004 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
0005 #include "RecoVertex/VertexPrimitives/interface/VertexException.h"
0006 #include "TrackingTools/TrajectoryParametrization/interface/CartesianTrajectoryError.h"
0007
0008 #include "TrackingTools/AnalyticalJacobians/interface/JacobianCartesianToCurvilinear.h"
0009 #include "TrackingTools/AnalyticalJacobians/interface/JacobianCurvilinearToCartesian.h"
0010 #include "RecoVertex/KinematicFitPrimitives/interface/Matrices.h"
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 class KinematicParametersError {
0021 public:
0022 KinematicParametersError() { vl = false; }
0023
0024 KinematicParametersError(const AlgebraicSymMatrix77& er) : theCovMatrix(er) { vl = true; }
0025
0026 KinematicParametersError(const CartesianTrajectoryError& err, float merr) {
0027 theCovMatrix.Place_at(err.matrix(), 0, 0);
0028 theCovMatrix(6, 6) = merr * merr;
0029 vl = true;
0030 }
0031
0032
0033
0034
0035
0036 AlgebraicSymMatrix77 const& matrix() const { return theCovMatrix; }
0037
0038 AlgebraicSymMatrix77& matrix() { return theCovMatrix; }
0039
0040 bool isValid() const { return vl; }
0041
0042 private:
0043 AlgebraicSymMatrix77 theCovMatrix;
0044 bool vl;
0045 };
0046 #endif