Belle II Software development
UncertainParametersUtil< T, AEParameters > Struct Template Reference

Utility struct to instantiate a couple of helper function related to a set of uncertain parameters. More...

#include <UncertainParameters.h>

Public Types

using EParamaters = AEParameters
 Indices of the parameters.
 
using ParameterVector = TrackFindingCDC::ParameterVector< c_N >
 The vector type representing the n related parameters.
 
using CovarianceMatrix = TrackFindingCDC::CovarianceMatrix< c_N >
 The matrix type representing the covariance of the n related parameters.
 
using PrecisionMatrix = TrackFindingCDC::PrecisionMatrix< c_N >
 The matrix type representing the precision of the n related parameters.
 
using JacobianMatrix = TrackFindingCDC::JacobianMatrix< c_N >
 The matrix type used to translate covariances and precisions im auto mapping of the parameter space.
 

Static Public Member Functions

static void transport (const JacobianMatrix &jacobian, CovarianceMatrix &cov)
 Transport the covariance matrix inplace with the given jacobian matrix.
 
static CovarianceMatrix transported (const JacobianMatrix &jacobian, const CovarianceMatrix &cov)
 Return a copy of the covariance matrix transported with the given jacobian matrix.
 
static JacobianMatrix reversalJacobian ()
 Jacobian matrix needed in the reversal operation of the parameter vector.
 
static void reverse (CovarianceMatrix &cov)
 Reverse the covariance matrix inplace.
 
static CovarianceMatrix reversed (const CovarianceMatrix &cov)
 Return a copy of the reversed covariance matrix.
 
static CovarianceMatrix identity ()
 Returns an identity matrix.
 
static CovarianceMatrix covarianceFromPrecision (const PrecisionMatrix &prec)
 Convert the precision matrix to the corresponding covariance matrix.
 
static PrecisionMatrix precisionFromCovariance (const CovarianceMatrix &cov)
 Convert the covariance matrix to the corresponding precision matrix.
 
static CovarianceMatrix covarianceFromFullPrecision (const PrecisionMatrix &prec)
 Convert the precision matrix to the corresponding covariance matrix.
 
static PrecisionMatrix precisionFromFullCovariance (const CovarianceMatrix &cov)
 Convert the covariance matrix to the corresponding precision matrix.
 
template<class AParameterVector , int I = 0>
static AParameterVector getSubParameterVector (const ParameterVector &par)
 Getter for a sub part of the covariance matrix.
 
template<class ACovarianceMatrix , int I = 0>
static ACovarianceMatrix getSubCovarianceMatrix (const CovarianceMatrix &cov)
 Getter for a sub part of the covariance matrix.
 

Static Public Attributes

static const size_t c_N = EParamaters::c_N
 Number of elements.
 

Detailed Description

template<class T, class AEParameters>
struct Belle2::TrackFindingCDC::UncertainParametersUtil< T, AEParameters >

Utility struct to instantiate a couple of helper function related to a set of uncertain parameters.

Definition at line 24 of file UncertainParameters.h.

Member Typedef Documentation

◆ CovarianceMatrix

The matrix type representing the covariance of the n related parameters.

Definition at line 36 of file UncertainParameters.h.

◆ EParamaters

using EParamaters = AEParameters

Indices of the parameters.

Definition at line 27 of file UncertainParameters.h.

◆ JacobianMatrix

The matrix type used to translate covariances and precisions im auto mapping of the parameter space.

Definition at line 42 of file UncertainParameters.h.

◆ ParameterVector

The vector type representing the n related parameters.

Definition at line 33 of file UncertainParameters.h.

◆ PrecisionMatrix

The matrix type representing the precision of the n related parameters.

Definition at line 39 of file UncertainParameters.h.

Member Function Documentation

◆ covarianceFromFullPrecision()

auto covarianceFromFullPrecision ( const PrecisionMatrix prec)
static

Convert the precision matrix to the corresponding covariance matrix.

Faster version with foreknowledge that the precision is of full rank.

Definition at line 91 of file UncertainParameters.icc.h.

92 {
94 }
static CovarianceMatrix< N > fromFullPrecision(const PrecisionMatrix< N > &prec)
Convert covariance matrix to precision matrix - assumes full rank.

◆ covarianceFromPrecision()

auto covarianceFromPrecision ( const PrecisionMatrix prec)
static

Convert the precision matrix to the corresponding covariance matrix.

Definition at line 77 of file UncertainParameters.icc.h.

78 {
80 }
static CovarianceMatrix< N > fromPrecision(const PrecisionMatrix< N > &prec)
Convert precision matrix to covariance matrix - allows for reduced rank.

◆ getSubCovarianceMatrix()

ACovarianceMatrix getSubCovarianceMatrix ( const CovarianceMatrix cov)
static

Getter for a sub part of the covariance matrix.

Definition at line 70 of file UncertainParameters.icc.h.

71 {
72 return CovarianceMatrixUtil::getSub<ACovarianceMatrix, I>(cov);
73 }

◆ getSubParameterVector()

AParameterVector getSubParameterVector ( const ParameterVector par)
static

Getter for a sub part of the covariance matrix.

Definition at line 62 of file UncertainParameters.icc.h.

63 {
64 return ParameterVectorUtil::getSub<AParameterVector, I>(par);
65 }

◆ identity()

auto identity
static

Returns an identity matrix.

Definition at line 55 of file UncertainParameters.icc.h.

55 {
56 return CovarianceMatrixUtil::identity<c_N>();
57 }

◆ precisionFromCovariance()

auto precisionFromCovariance ( const CovarianceMatrix cov)
static

Convert the covariance matrix to the corresponding precision matrix.

Definition at line 84 of file UncertainParameters.icc.h.

85 {
87 }
static PrecisionMatrix< N > toPrecision(const CovarianceMatrix< N > &cov)
Convert covariance matrix to precision matrix - allows for reduced rank.

◆ precisionFromFullCovariance()

auto precisionFromFullCovariance ( const CovarianceMatrix cov)
static

Convert the covariance matrix to the corresponding precision matrix.

Faster version with foreknowledge that the precision is of full rank.

Definition at line 98 of file UncertainParameters.icc.h.

99 {
101 }
static PrecisionMatrix< N > fullToPrecision(const CovarianceMatrix< N > &cov)
Convert precision matrix to covariance matrix - assumes full rank.

◆ reversalJacobian()

auto reversalJacobian
static

Jacobian matrix needed in the reversal operation of the parameter vector.

Definition at line 38 of file UncertainParameters.icc.h.

38 {
39 return JacobianMatrixUtil::scale(T::reversalSigns());
40 }
static JacobianMatrix< N > scale(const ParameterVector< N > &scales)
Calculates the jacobian matrix for a scaling in each parameter.

◆ reverse()

void reverse ( CovarianceMatrix cov)
static

Reverse the covariance matrix inplace.

Definition at line 43 of file UncertainParameters.icc.h.

44 {
45 return transport(reversalJacobian(), cov);
46 }
static void transport(const JacobianMatrix &jacobian, CovarianceMatrix &cov)
Transport the covariance matrix inplace with the given jacobian matrix.
static JacobianMatrix reversalJacobian()
Jacobian matrix needed in the reversal operation of the parameter vector.

◆ reversed()

auto reversed ( const CovarianceMatrix cov)
static

Return a copy of the reversed covariance matrix.

Definition at line 49 of file UncertainParameters.icc.h.

50 {
51 return transported(reversalJacobian(), cov);
52 }
static CovarianceMatrix transported(const JacobianMatrix &jacobian, const CovarianceMatrix &cov)
Return a copy of the covariance matrix transported with the given jacobian matrix.

◆ transport()

void transport ( const JacobianMatrix jacobian,
CovarianceMatrix cov 
)
static

Transport the covariance matrix inplace with the given jacobian matrix.

Definition at line 24 of file UncertainParameters.icc.h.

26 {
28 }
static void transport(const JacobianMatrix< N, N > &jacobian, CovarianceMatrix< N > &cov)
Transport the covariance matrix inplace with the given jacobian matrix.

◆ transported()

auto transported ( const JacobianMatrix jacobian,
const CovarianceMatrix cov 
)
static

Return a copy of the covariance matrix transported with the given jacobian matrix.

Definition at line 31 of file UncertainParameters.icc.h.

33 {
34 return CovarianceMatrixUtil::transported(jacobian, cov);
35 }
static CovarianceMatrix< M > transported(const JacobianMatrix< M, N > &jacobian, const CovarianceMatrix< N > &cov)
Return a copy of the covariance matrix transported with the given jacobian matrix.

Member Data Documentation

◆ c_N

const size_t c_N = EParamaters::c_N
static

Number of elements.

Definition at line 30 of file UncertainParameters.h.


The documentation for this struct was generated from the following files: