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 MPlexQI& Chg,
122  const MPlexHS& msErr,
123  const MPlexHV& msPar,
124  const MPlexHV& plNrm,
125  const MPlexHV& plDir,
126  const MPlexHV& plPnt,
127  MPlexLS& outErr,
128  MPlexLV& outPar,
129  const int N_proc);
130 
131  void kalmanPropagateAndUpdatePlane(const MPlexLS& psErr,
132  const MPlexLV& psPar,
133  MPlexQI& Chg,
134  const MPlexHS& msErr,
135  const MPlexHV& msPar,
136  const MPlexHV& plNrm,
137  const MPlexHV& plDir,
138  const MPlexHV& plPnt,
139  MPlexLS& outErr,
140  MPlexLV& outPar,
141  MPlexQI& outFailFlag,
142  const int N_proc,
143  const PropagationFlags& propFlags,
144  const bool propToHit);
145 
146  void kalmanComputeChi2Plane(const MPlexLS& psErr,
147  const MPlexLV& psPar,
148  const MPlexQI& inChg,
149  const MPlexHS& msErr,
150  const MPlexHV& msPar,
151  const MPlexHV& plNrm,
152  const MPlexHV& plDir,
153  const MPlexHV& plPnt,
154  MPlexQF& outChi2,
155  const int N_proc);
156 
158  const MPlexLV& psPar,
159  const MPlexQI& inChg,
160  const MPlexHS& msErr,
161  const MPlexHV& msPar,
162  const MPlexHV& plNrm,
163  const MPlexHV& plDir,
164  const MPlexHV& plPnt,
165  MPlexQF& outChi2,
166  MPlexLV& propPar,
167  MPlexQI& outFailFlag,
168  const int N_proc,
169  const PropagationFlags& propFlags,
170  const bool propToHit);
171 
172  void kalmanOperationPlane(const int kfOp,
173  const MPlexLS& psErr,
174  const MPlexLV& psPar,
175  const MPlexQI& Chg,
176  const MPlexHS& msErr,
177  const MPlexHV& msPar,
178  const MPlexHV& plNrm,
179  const MPlexHV& plDir,
180  const MPlexHV& plPnt,
181  MPlexLS& outErr,
182  MPlexLV& outPar,
183  MPlexQF& outChi2,
184  const int N_proc);
185 
186  void kalmanOperationPlaneLocal(const int kfOp,
187  const MPlexLS& psErr,
188  const MPlexLV& psPar,
189  const MPlexQI& Chg,
190  const MPlexHS& msErr,
191  const MPlexHV& msPar,
192  const MPlexHV& plNrm,
193  const MPlexHV& plDir,
194  const MPlexHV& plPnt,
195  MPlexLS& outErr,
196  MPlexLV& outPar,
197  MPlexQF& outChi2,
198  const int N_proc);
199 
200 } // end namespace mkfit
201 #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:58
void kalmanUpdate(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexHS &msErr, const MPlexHV &msPar, MPlexLS &outErr, MPlexLV &outPar, const int N_proc)
KalmanFilterOperation
void kalmanComputeChi2Plane(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, const MPlexHV &plNrm, const MPlexHV &plDir, const MPlexHV &plPnt, MPlexQF &outChi2, const int N_proc)
Matriplex::Matriplex< float, LL, 1, NN > MPlexLV
Definition: Matrix.h:54
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 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 kalmanOperationPlaneLocal(const int kfOp, const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, const MPlexHV &plNrm, const MPlexHV &plDir, const MPlexHV &plPnt, MPlexLS &outErr, MPlexLV &outPar, MPlexQF &outChi2, const int N_proc)
Matriplex::Matriplex< int, 1, 1, NN > MPlexQI
Definition: Matrix.h:81
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)
Matriplex::Matriplex< float, 1, 1, NN > MPlexQF
Definition: Matrix.h:80
Matriplex::MatriplexSym< float, HH, NN > MPlexHS
Definition: Matrix.h:59
void kalmanOperationPlane(const int kfOp, const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, const MPlexHV &plNrm, const MPlexHV &plDir, const MPlexHV &plPnt, MPlexLS &outErr, MPlexLV &outPar, MPlexQF &outChi2, const int N_proc)
void kalmanUpdatePlane(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &Chg, const MPlexHS &msErr, const MPlexHV &msPar, const MPlexHV &plNrm, const MPlexHV &plDir, const MPlexHV &plPnt, MPlexLS &outErr, MPlexLV &outPar, const int N_proc)
void kalmanPropagateAndComputeChi2Plane(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, const MPlexHV &plNrm, const MPlexHV &plDir, const MPlexHV &plPnt, MPlexQF &outChi2, MPlexLV &propPar, MPlexQI &outFailFlag, const int N_proc, const PropagationFlags &propFlags, const bool propToHit)
Matriplex::MatriplexSym< float, LL, NN > MPlexLS
Definition: Matrix.h:55
void kalmanComputeChi2(const MPlexLS &psErr, const MPlexLV &psPar, const MPlexQI &inChg, const MPlexHS &msErr, const MPlexHV &msPar, MPlexQF &outChi2, 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, const MPlexHV &plPnt, MPlexLS &outErr, MPlexLV &outPar, MPlexQI &outFailFlag, const int N_proc, const PropagationFlags &propFlags, const bool propToHit)