TrackingTools
TrajectoryParametrization
interface
PerigeeTrajectoryError.h
Go to the documentation of this file.
1
#ifndef PerigeeTrajectoryError_H
2
#define PerigeeTrajectoryError_H
3
4
#include "
TrackingTools/TrajectoryParametrization/interface/TrajectoryStateExceptions.h
"
5
#include "
DataFormats/Math/interface/AlgebraicROOTObjects.h
"
6
#include "
FWCore/Utilities/interface/Likely.h
"
14
class
PerigeeTrajectoryError
{
15
public
:
16
PerigeeTrajectoryError
() {}
17
// ~PerigeeTrajectoryError() {}
18
19
/*
20
PerigeeTrajectoryError(AlgebraicSymMatrix aPerigeeError):
21
thePerigeeError(asSMatrix<5>(aPerigeeError)), weightIsAvailable(false) {}
22
*/
23
PerigeeTrajectoryError
(
const
AlgebraicSymMatrix55
&aPerigeeError)
24
:
thePerigeeError
(aPerigeeError),
weightIsAvailable
(
false
) {}
25
29
const
AlgebraicSymMatrix55
&
covarianceMatrix
()
const
{
return
thePerigeeError
; }
30
35
const
AlgebraicSymMatrix55
&
weightMatrix
(
int
&
error
)
const
{
36
if
37
UNLIKELY
(!
weightIsAvailable
)
calculateWeightMatrix
();
38
error
=
inverseError
;
39
return
thePerigeeWeight
;
40
}
41
42
void
calculateWeightMatrix
()
const
;
43
44
double
transverseCurvatureError
()
const
{
return
sqrt
(
thePerigeeError
(0, 0)); }
45
50
double
thetaError
()
const
{
return
sqrt
(
thePerigeeError
(1, 1)); }
51
56
double
phiError
()
const
{
return
sqrt
(
thePerigeeError
(2, 2)); }
57
62
double
transverseImpactParameterError
()
const
{
return
sqrt
(
thePerigeeError
(3, 3)); }
63
68
double
longitudinalImpactParameterError
()
const
{
return
sqrt
(
thePerigeeError
(4, 4)); }
69
70
private
:
71
AlgebraicSymMatrix55
thePerigeeError
;
72
mutable
AlgebraicSymMatrix55
thePerigeeWeight
;
73
mutable
int
inverseError
;
74
mutable
bool
weightIsAvailable
;
75
};
76
#endif
PerigeeTrajectoryError::thetaError
double thetaError() const
Definition:
PerigeeTrajectoryError.h:50
Likely.h
PerigeeTrajectoryError::weightMatrix
const AlgebraicSymMatrix55 & weightMatrix(int &error) const
Definition:
PerigeeTrajectoryError.h:35
funct::false
false
Definition:
Factorize.h:34
PerigeeTrajectoryError::thePerigeeWeight
AlgebraicSymMatrix55 thePerigeeWeight
Definition:
PerigeeTrajectoryError.h:72
relativeConstraints.error
error
Definition:
relativeConstraints.py:53
PerigeeTrajectoryError
Definition:
PerigeeTrajectoryError.h:14
TrajectoryStateExceptions.h
UNLIKELY
#define UNLIKELY(x)
Definition:
Likely.h:21
PerigeeTrajectoryError::thePerigeeError
AlgebraicSymMatrix55 thePerigeeError
Definition:
PerigeeTrajectoryError.h:71
PerigeeTrajectoryError::longitudinalImpactParameterError
double longitudinalImpactParameterError() const
Definition:
PerigeeTrajectoryError.h:68
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:19
PerigeeTrajectoryError::transverseCurvatureError
double transverseCurvatureError() const
Definition:
PerigeeTrajectoryError.h:44
PerigeeTrajectoryError::weightIsAvailable
bool weightIsAvailable
Definition:
PerigeeTrajectoryError.h:74
PerigeeTrajectoryError::calculateWeightMatrix
void calculateWeightMatrix() const
Definition:
PerigeeTrajectoryError.cc:4
PerigeeTrajectoryError::inverseError
int inverseError
Definition:
PerigeeTrajectoryError.h:73
PerigeeTrajectoryError::covarianceMatrix
const AlgebraicSymMatrix55 & covarianceMatrix() const
Definition:
PerigeeTrajectoryError.h:29
PerigeeTrajectoryError::PerigeeTrajectoryError
PerigeeTrajectoryError()
Definition:
PerigeeTrajectoryError.h:16
PerigeeTrajectoryError::PerigeeTrajectoryError
PerigeeTrajectoryError(const AlgebraicSymMatrix55 &aPerigeeError)
Definition:
PerigeeTrajectoryError.h:23
PerigeeTrajectoryError::phiError
double phiError() const
Definition:
PerigeeTrajectoryError.h:56
PerigeeTrajectoryError::transverseImpactParameterError
double transverseImpactParameterError() const
Definition:
PerigeeTrajectoryError.h:62
AlgebraicSymMatrix55
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
Definition:
AlgebraicROOTObjects.h:23
AlgebraicROOTObjects.h
Generated for CMSSW Reference Manual by
1.8.16