CMS 3D CMS Logo

KalmanUtilsMPlex.h
Go to the documentation of this file.
1 #ifndef RecoTracker_MkFitCore_src_KalmanUtilsMPlex_h
2 #define RecoTracker_MkFitCore_src_KalmanUtilsMPlex_h
3 
5 #include "Matrix.h"
6 
7 namespace mkfit {
8 
9  //------------------------------------------------------------------------------
10 
12 
13  //------------------------------------------------------------------------------
14 
15  void kalmanUpdate(const MPlexLS& psErr,
16  const MPlexLV& psPar,
17  const MPlexHS& msErr,
18  const MPlexHV& msPar,
19  MPlexLS& outErr,
20  MPlexLV& outPar,
21  const int N_proc);
22 
23  void kalmanPropagateAndUpdate(const MPlexLS& psErr,
24  const MPlexLV& psPar,
25  MPlexQI& Chg,
26  const MPlexHS& msErr,
27  const MPlexHV& msPar,
28  MPlexLS& outErr,
29  MPlexLV& outPar,
30  MPlexQI& outFailFlag,
31  const int N_proc,
32  const PropagationFlags& propFlags,
33  const bool propToHit);
34 
35  void kalmanComputeChi2(const MPlexLS& psErr,
36  const MPlexLV& psPar,
37  const MPlexQI& inChg,
38  const MPlexHS& msErr,
39  const MPlexHV& msPar,
40  MPlexQF& outChi2,
41  const int N_proc);
42 
43  void kalmanPropagateAndComputeChi2(const MPlexLS& psErr,
44  const MPlexLV& psPar,
45  const MPlexQI& inChg,
46  const MPlexHS& msErr,
47  const MPlexHV& msPar,
48  MPlexQF& outChi2,
49  MPlexLV& propPar,
50  MPlexQI& outFailFlag,
51  const int N_proc,
52  const PropagationFlags& propFlags,
53  const bool propToHit);
54 
55  void kalmanOperation(const int kfOp,
56  const MPlexLS& psErr,
57  const MPlexLV& psPar,
58  const MPlexHS& msErr,
59  const MPlexHV& msPar,
60  MPlexLS& outErr,
61  MPlexLV& outPar,
62  MPlexQF& outChi2,
63  const int N_proc);
64 
65  //------------------------------------------------------------------------------
66 
67  void kalmanUpdateEndcap(const MPlexLS& psErr,
68  const MPlexLV& psPar,
69  const MPlexHS& msErr,
70  const MPlexHV& msPar,
71  MPlexLS& outErr,
72  MPlexLV& outPar,
73  const int N_proc);
74 
75  void kalmanPropagateAndUpdateEndcap(const MPlexLS& psErr,
76  const MPlexLV& psPar,
77  MPlexQI& Chg,
78  const MPlexHS& msErr,
79  const MPlexHV& msPar,
80  MPlexLS& outErr,
81  MPlexLV& outPar,
82  MPlexQI& outFailFlag,
83  const int N_proc,
84  const PropagationFlags& propFlags,
85  const bool propToHit);
86 
87  void kalmanComputeChi2Endcap(const MPlexLS& psErr,
88  const MPlexLV& psPar,
89  const MPlexQI& inChg,
90  const MPlexHS& msErr,
91  const MPlexHV& msPar,
92  MPlexQF& outChi2,
93  const int N_proc);
94 
96  const MPlexLV& psPar,
97  const MPlexQI& inChg,
98  const MPlexHS& msErr,
99  const MPlexHV& msPar,
100  MPlexQF& outChi2,
101  MPlexLV& propPar,
102  MPlexQI& outFailFlag,
103  const int N_proc,
104  const PropagationFlags& propFlags,
105  const bool propToHit);
106 
107  void kalmanOperationEndcap(const int kfOp,
108  const MPlexLS& psErr,
109  const MPlexLV& psPar,
110  const MPlexHS& msErr,
111  const MPlexHV& msPar,
112  MPlexLS& outErr,
113  MPlexLV& outPar,
114  MPlexQF& outChi2,
115  const int N_proc);
116 
117  //------------------------------------------------------------------------------
118 
119  void kalmanUpdatePlane(const MPlexLS& psErr,
120  const MPlexLV& psPar,
121  const MPlexHS& msErr,
122  const MPlexHV& msPar,
123  const MPlexHV& plNrm,
124  const MPlexHV& plDir,
125  MPlexLS& outErr,
126  MPlexLV& outPar,
127  const int N_proc);
128 
129  void kalmanPropagateAndUpdatePlane(const MPlexLS& psErr,
130  const MPlexLV& psPar,
131  MPlexQI& Chg,
132  const MPlexHS& msErr,
133  const MPlexHV& msPar,
134  const MPlexHV& plNrm,
135  const MPlexHV& plDir,
136  MPlexLS& outErr,
137  MPlexLV& outPar,
138  MPlexQI& outFailFlag,
139  const int N_proc,
140  const PropagationFlags& propFlags,
141  const bool propToHit);
142 
143  void kalmanComputeChi2Plane(const MPlexLS& psErr,
144  const MPlexLV& psPar,
145  const MPlexQI& inChg,
146  const MPlexHS& msErr,
147  const MPlexHV& msPar,
148  const MPlexHV& plNrm,
149  const MPlexHV& plDir,
150  MPlexQF& outChi2,
151  const int N_proc);
152 
154  const MPlexLV& psPar,
155  const MPlexQI& inChg,
156  const MPlexHS& msErr,
157  const MPlexHV& msPar,
158  const MPlexHV& plNrm,
159  const MPlexHV& plDir,
160  MPlexQF& outChi2,
161  MPlexLV& propPar,
162  MPlexQI& outFailFlag,
163  const int N_proc,
164  const PropagationFlags& propFlags,
165  const bool propToHit);
166 
167  void kalmanOperationPlane(const int kfOp,
168  const MPlexLS& psErr,
169  const MPlexLV& psPar,
170  const MPlexHS& msErr,
171  const MPlexHV& msPar,
172  const MPlexHV& plNrm,
173  const MPlexHV& plDir,
174  MPlexLS& outErr,
175  MPlexLV& outPar,
176  MPlexQF& outChi2,
177  const int N_proc);
178 
179 } // end namespace mkfit
180 #endif
void kalmanOperationEndcap(const int kfOp, const MPlexLS &psErr, const MPlexLV &psPar, const MPlexHS &msErr, const MPlexHV &msPar, MPlexLS &outErr, MPlexLV &outPar, MPlexQF &outChi2, const int N_proc)
Matriplex::Matriplex< float, HH, 1, NN > MPlexHV
Definition: Matrix.h:53
void kalmanUpdate(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexHS &msErr, const MPlexHV &msPar, MPlexLS &outErr, MPlexLV &outPar, const int N_proc)
void kalmanOperationPlane(const int kfOp, const MPlexLS &psErr, const MPlexLV &psPar, const MPlexHS &msErr, const MPlexHV &msPar, const MPlexHV &plNrm, const MPlexHV &plDir, MPlexLS &outErr, MPlexLV &outPar, MPlexQF &outChi2, const int N_proc)
KalmanFilterOperation
Matriplex::Matriplex< float, LL, 1, NN > MPlexLV
Definition: Matrix.h:49
void kalmanPropagateAndUpdate(const MPlexLS &psErr, const MPlexLV &psPar, MPlexQI &Chg, const MPlexHS &msErr, const MPlexHV &msPar, MPlexLS &outErr, MPlexLV &outPar, MPlexQI &outFailFlag, const int N_proc, const PropagationFlags &propFlags, const bool propToHit)
void kalmanOperation(const int kfOp, const MPlexLS &psErr, const MPlexLV &psPar, const MPlexHS &msErr, const MPlexHV &msPar, MPlexLS &outErr, MPlexLV &outPar, MPlexQF &outChi2, const int N_proc)
void kalmanUpdateEndcap(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexHS &msErr, const MPlexHV &msPar, MPlexLS &outErr, MPlexLV &outPar, const int N_proc)
void kalmanComputeChi2Endcap(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, MPlexQF &outChi2, const int N_proc)
void kalmanUpdatePlane(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexHS &msErr, const MPlexHV &msPar, const MPlexHV &plNrm, const MPlexHV &plDir, MPlexLS &outErr, MPlexLV &outPar, const int N_proc)
void kalmanPropagateAndUpdatePlane(const MPlexLS &psErr, const MPlexLV &psPar, MPlexQI &Chg, const MPlexHS &msErr, const MPlexHV &msPar, const MPlexHV &plNrm, const MPlexHV &plDir, MPlexLS &outErr, MPlexLV &outPar, MPlexQI &outFailFlag, const int N_proc, const PropagationFlags &propFlags, const bool propToHit)
void kalmanPropagateAndUpdateEndcap(const MPlexLS &psErr, const MPlexLV &psPar, MPlexQI &Chg, const MPlexHS &msErr, const MPlexHV &msPar, MPlexLS &outErr, MPlexLV &outPar, MPlexQI &outFailFlag, const int N_proc, const PropagationFlags &propFlags, const bool propToHit)
void kalmanPropagateAndComputeChi2(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, MPlexQF &outChi2, MPlexLV &propPar, MPlexQI &outFailFlag, const int N_proc, const PropagationFlags &propFlags, const bool propToHit)
void kalmanPropagateAndComputeChi2Plane(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, const MPlexHV &plNrm, const MPlexHV &plDir, MPlexQF &outChi2, MPlexLV &propPar, MPlexQI &outFailFlag, const int N_proc, const PropagationFlags &propFlags, const bool propToHit)
Matriplex::Matriplex< int, 1, 1, NN > MPlexQI
Definition: Matrix.h:72
void kalmanPropagateAndComputeChi2Endcap(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, MPlexQF &outChi2, MPlexLV &propPar, MPlexQI &outFailFlag, const int N_proc, const PropagationFlags &propFlags, const bool propToHit)
void kalmanComputeChi2Plane(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, const MPlexHV &plNrm, const MPlexHV &plDir, MPlexQF &outChi2, const int N_proc)
Matriplex::Matriplex< float, 1, 1, NN > MPlexQF
Definition: Matrix.h:71
Matriplex::MatriplexSym< float, HH, NN > MPlexHS
Definition: Matrix.h:54
Matriplex::MatriplexSym< float, LL, NN > MPlexLS
Definition: Matrix.h:50
void kalmanComputeChi2(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, MPlexQF &outChi2, const int N_proc)