Belle II Software development
HelixParameters.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <tracking/trackFindingCDC/geometry/PerigeeParameters.h>
11#include <tracking/trackFindingCDC/geometry/SZParameters.h>
12
13#include <tracking/trackFindingCDC/geometry/UncertainParameters.h>
14
15namespace Belle2 {
21 namespace TrackFindingCDC {
22
24 namespace NHelixParameterIndices {
25
29 c_Curv = 0,
30
32 c_Phi0 = 1,
33
35 c_I = 2,
36
38 c_TanL = 3,
39
41 c_Z0 = 4,
42
44 c_N = 5,
45 };
46 }
47
49 using EHelixParameter = NHelixParameterIndices::EHelixParameter;
50
51 // Guard to prevent repeated template symbol emission
52 struct HelixUtil;
53 extern template struct UncertainParametersUtil<HelixUtil, EHelixParameter>;
54
57
59 static HelixUtil::ParameterVector reversalSigns();
60
62 static PerigeeUtil::ParameterVector getPerigeeParameters(const ParameterVector& helixPar);
63
65 static SZUtil::ParameterVector getSZParameters(const ParameterVector& helixPar);
66
68 static HelixUtil::ParameterVector stack(const PerigeeUtil::ParameterVector& perigeePar,
69 const SZUtil::ParameterVector& szPar);
70
72 static PerigeeUtil::CovarianceMatrix getPerigeeCovariance(const CovarianceMatrix& helixCov);
73
75 static SZUtil::CovarianceMatrix getSZCovariance(const CovarianceMatrix& helixCov);
76
78 static HelixUtil::CovarianceMatrix stackBlocks(const PerigeeUtil::CovarianceMatrix& perigeeCov,
79 const SZUtil::CovarianceMatrix& szCov);
80
83
85 static PerigeeAmbiguity defaultPerigeeAmbiguity();
86
93 static double average(const HelixUtil::ParameterVector& fromPar,
94 const HelixUtil::CovarianceMatrix& fromCov,
95 const HelixUtil::ParameterVector& toPar,
96 const HelixUtil::CovarianceMatrix& toCov,
99
108 static double average(const PerigeeUtil::ParameterVector& fromPar,
109 const PerigeeUtil::CovarianceMatrix& fromCov,
110 const HelixUtil::PerigeeAmbiguity& fromAmbiguity,
111 const HelixUtil::ParameterVector& toPar,
112 const HelixUtil::CovarianceMatrix& toCov,
115
123 static double average(const PerigeeUtil::ParameterVector& fromPar,
124 const PerigeeUtil::CovarianceMatrix& fromCov,
125 const HelixUtil::PerigeeAmbiguity& fromAmbiguity,
126 const PerigeeUtil::ParameterVector& toPar,
128 const HelixUtil::PerigeeAmbiguity& toAmbiguity,
129 const SZUtil::ParameterVector& szParameters,
132 };
133
136
139
142
145
148 }
149
151}
A matrix implementation to be used as an interface typ through out the track finder.
Definition: PlainMatrix.h:40
EHelixParameter
Enumeration to address the individual helix parameters in a vector or matrix.
@ c_I
Constant to address the impact parameter.
@ c_Phi0
Constant to address the azimuth angle of the direction of flight.
@ c_TanL
Constant to address the tan lambda dip out of the xy plane.
@ c_Z0
Constant to address the z start position.
@ c_Curv
Constant to address the curvature in the xy plane.
@ c_N
Constant for the total number of indices.
Abstract base class for different kinds of events.
Utility struct for functions and types related to the helix parameters.
TrackFindingCDC::JacobianMatrix< 3, 5 > PerigeeAmbiguity
Matrix type for the ambiguity to the perigee parameters, e.g. under the stereo projection.
Utility struct to instantiate a couple of helper function related to a set of uncertain parameters.
TrackFindingCDC::CovarianceMatrix< c_N > CovarianceMatrix
The matrix type representing the covariance of the n related parameters.
TrackFindingCDC::ParameterVector< c_N > ParameterVector
The vector type representing the n related parameters.
TrackFindingCDC::JacobianMatrix< c_N > JacobianMatrix
The matrix type used to translate covariances and precisions im auto mapping of the parameter space.
TrackFindingCDC::PrecisionMatrix< c_N > PrecisionMatrix
The matrix type representing the precision of the n related parameters.