test
Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
DataFormats
GeometryCommonDetAlgo
interface
GlobalErrorBaseExtended.h
Go to the documentation of this file.
1
#ifndef GlobalErrorExtendedType_H
2
#define GlobalErrorExtendedType_H
3
4
#include "
DataFormats/GeometryCommonDetAlgo/interface/DeepCopyPointer.h
"
5
#include "
DataFormats/Math/interface/AlgebraicROOTObjects.h
"
6
#include "
DataFormats/GeometryVector/interface/GlobalPoint.h
"
7
//
8
// Exceptions
9
//
10
#include "
FWCore/Utilities/interface/Exception.h
"
11
12
template
<
class
T,
class
ErrorWeightType>
13
class
GlobalErrorBaseExtended
14
{
15
16
public
:
18
class
NullMatrix
{};
19
20
GlobalErrorBaseExtended
() {}
21
GlobalErrorBaseExtended
(
const
NullMatrix &) {}
22
23
28
GlobalErrorBaseExtended
(
T
c11,
T
c21,
T
c31,
T
c41,
T
c51,
T
c61,
29
T
c22,
T
c32,
T
c42,
T
c52,
T
c62,
30
T
c33,
T
c43,
T
c53,
T
c63,
31
T
c44,
T
c54,
T
c64,
32
T
c55,
T
c65,
33
T
c66
34
) {
35
theCartesianError
(0,0)=c11;
36
theCartesianError
(1,0)=c21;
37
theCartesianError
(2,0)=c31;
38
theCartesianError
(3,0)=c41;
39
theCartesianError
(4,0)=c51;
40
theCartesianError
(5,0)=c61;
41
42
theCartesianError
(1,1)=c22;
43
theCartesianError
(2,1)=c32;
44
theCartesianError
(3,1)=c42;
45
theCartesianError
(4,1)=c52;
46
theCartesianError
(5,1)=c62;
47
48
theCartesianError
(2,2)=c33;
49
theCartesianError
(3,2)=c43;
50
theCartesianError
(4,2)=c53;
51
theCartesianError
(5,2)=c63;
52
53
theCartesianError
(3,3)=c44;
54
theCartesianError
(4,3)=c54;
55
theCartesianError
(5,3)=c64;
56
57
theCartesianError
(4,4)=c55;
58
theCartesianError
(5,4)=c65;
59
60
theCartesianError
(5,5)=c66;
61
}
62
63
GlobalErrorBaseExtended
(
const
AlgebraicSymMatrix66
& err) :
64
theCartesianError
(err) { }
65
66
GlobalErrorBaseExtended
(
const
AlgebraicSymMatrix33
& err) {
67
theCartesianError
(0,0)=err[0][0];
68
theCartesianError
(1,0)=err[1][0];
69
theCartesianError
(2,0)=err[2][0];
70
theCartesianError
(3,0)=0;
71
theCartesianError
(4,0)=0;
72
theCartesianError
(5,0)=0;
73
74
theCartesianError
(1,1)=err[1][1];
75
theCartesianError
(2,1)=err[2][1];
76
theCartesianError
(3,1)=0;
77
theCartesianError
(4,1)=0;
78
theCartesianError
(5,1)=0;
79
80
theCartesianError
(2,2)=err[2][2];
81
theCartesianError
(3,2)=0;
82
theCartesianError
(4,2)=0;
83
theCartesianError
(5,2)=0;
84
85
theCartesianError
(3,3)=0;
86
theCartesianError
(4,3)=0;
87
theCartesianError
(5,3)=0;
88
89
theCartesianError
(4,4)=0;
90
theCartesianError
(5,4)=0;
91
92
theCartesianError
(5,5)=0;
93
}
94
95
~GlobalErrorBaseExtended
() {}
96
97
T
cxx
()
const
{
98
return
theCartesianError
(0,0);
99
}
100
101
T
cyx
()
const
{
102
return
theCartesianError
(1,0);
103
}
104
105
T
czx
()
const
{
106
return
theCartesianError
(2,0);
107
}
108
109
T
cphixx
()
const
{
110
return
theCartesianError
(3,0);
111
}
112
113
T
cphiyx
()
const
{
114
return
theCartesianError
(4,0);
115
}
116
117
T
cphizx
()
const
{
118
return
theCartesianError
(5,0);
119
}
120
121
T
cyy
()
const
{
122
return
theCartesianError
(1,1);
123
}
124
125
T
czy
()
const
{
126
return
theCartesianError
(2,1);
127
}
128
129
T
cphixy
()
const
{
130
return
theCartesianError
(3,1);
131
}
132
133
T
cphiyy
()
const
{
134
return
theCartesianError
(4,1);
135
}
136
137
T
cphizy
()
const
{
138
return
theCartesianError
(5,1);
139
}
140
141
T
czz
()
const
{
142
return
theCartesianError
(2,2);
143
}
144
145
T
cphixz
()
const
{
146
return
theCartesianError
(3,2);
147
}
148
149
T
cphiyz
()
const
{
150
return
theCartesianError
(4,2);
151
}
152
153
T
cphizz
()
const
{
154
return
theCartesianError
(5,2);
155
}
156
157
T
cphixphix
()
const
{
158
return
theCartesianError
(3,3);
159
}
160
161
T
cphiyphix
()
const
{
162
return
theCartesianError
(4,3);
163
}
164
165
T
cphizphix
()
const
{
166
return
theCartesianError
(5,3);
167
}
168
169
T
cphiyphiy
()
const
{
170
return
theCartesianError
(4,4);
171
}
172
173
T
cphizphiy
()
const
{
174
return
theCartesianError
(5,4);
175
}
176
177
T
cphizphiz
()
const
{
178
return
theCartesianError
(5,5);
179
}
180
185
const
AlgebraicSymMatrix66
&
matrix
()
const
{
186
return
theCartesianError
;
187
}
188
const
AlgebraicSymMatrix66
&
matrix_new
()
const
{
189
return
theCartesianError
;
190
}
191
192
//FIXME to be reimplemented
193
T
rerr
(
const
GlobalPoint
& aPoint)
const
{
194
T
r2
= aPoint.
perp2
();
195
T
x2 = aPoint.
x
()*aPoint.
x
();
196
T
y2 = aPoint.
y
()*aPoint.
y
();
197
T
xy
= aPoint.
x
()*aPoint.
y
();
198
if
(r2 != 0)
199
return
std::max<T>(0, (1./
r2
)*(x2*
cxx
() + 2.*xy*
cyx
() + y2*
cyy
()));
200
else
201
return
0.5*(
cxx
() +
cyy
());
202
}
203
204
//FIXME to be reimplemented
205
T
phierr
(
const
GlobalPoint
& aPoint)
const
{
206
T
r2
= aPoint.
perp2
();
207
T
x2 = aPoint.
x
()*aPoint.
x
();
208
T
y2 = aPoint.
y
()*aPoint.
y
();
209
T
xy
= aPoint.
x
()*aPoint.
y
();
210
if
(r2 != 0)
211
return
std::max<T>(0, (1./(r2*
r2
))*(y2*
cxx
() - 2.*xy*
cyx
() + x2*
cyy
()));
212
else
213
return
0;
214
}
215
216
GlobalErrorBaseExtended
operator+
(
const
GlobalErrorBaseExtended
& err)
const
{
217
return
GlobalErrorBaseExtended
(
theCartesianError
+ err.
theCartesianError
);
218
}
219
GlobalErrorBaseExtended
operator-
(
const
GlobalErrorBaseExtended
& err)
const
{
220
return
GlobalErrorBaseExtended
(
theCartesianError
- err.
theCartesianError
);
221
}
222
223
private
:
224
225
AlgebraicSymMatrix66
theCartesianError
;
226
227
};
228
229
#endif
GlobalErrorBaseExtended::czx
T czx() const
Definition:
GlobalErrorBaseExtended.h:105
GlobalErrorBaseExtended::operator+
GlobalErrorBaseExtended operator+(const GlobalErrorBaseExtended &err) const
Definition:
GlobalErrorBaseExtended.h:216
GlobalErrorBaseExtended::rerr
T rerr(const GlobalPoint &aPoint) const
Definition:
GlobalErrorBaseExtended.h:193
AlgebraicROOTObjects.h
GlobalErrorBaseExtended::cphizx
T cphizx() const
Definition:
GlobalErrorBaseExtended.h:117
GlobalErrorBaseExtended::cphixz
T cphixz() const
Definition:
GlobalErrorBaseExtended.h:145
GlobalErrorBaseExtended::operator-
GlobalErrorBaseExtended operator-(const GlobalErrorBaseExtended &err) const
Definition:
GlobalErrorBaseExtended.h:219
GlobalErrorBaseExtended::cyx
T cyx() const
Definition:
GlobalErrorBaseExtended.h:101
AlgebraicSymMatrix66
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
Definition:
AlgebraicROOTObjects.h:32
diffTwoXMLs.r2
r2
Definition:
diffTwoXMLs.py:72
GlobalErrorBaseExtended::cphizphiz
T cphizphiz() const
Definition:
GlobalErrorBaseExtended.h:177
GlobalErrorBaseExtended::czz
T czz() const
Definition:
GlobalErrorBaseExtended.h:141
PV3DBase::y
T y() const
Definition:
PV3DBase.h:63
GlobalErrorBaseExtended::cxx
T cxx() const
Definition:
GlobalErrorBaseExtended.h:97
PV3DBase::perp2
T perp2() const
Definition:
PV3DBase.h:71
create_public_lumi_plots.xy
tuple xy
Definition:
create_public_lumi_plots.py:1810
GlobalErrorBaseExtended::cphixx
T cphixx() const
Definition:
GlobalErrorBaseExtended.h:109
GlobalErrorBaseExtended::czy
T czy() const
Definition:
GlobalErrorBaseExtended.h:125
GlobalErrorBaseExtended::cphizy
T cphizy() const
Definition:
GlobalErrorBaseExtended.h:137
GlobalErrorBaseExtended::cphiyphix
T cphiyphix() const
Definition:
GlobalErrorBaseExtended.h:161
GlobalErrorBaseExtended::theCartesianError
AlgebraicSymMatrix66 theCartesianError
Definition:
GlobalErrorBaseExtended.h:225
GlobalErrorBaseExtended::cphizphiy
T cphizphiy() const
Definition:
GlobalErrorBaseExtended.h:173
AlgebraicSymMatrix33
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > AlgebraicSymMatrix33
Definition:
AlgebraicROOTObjects.h:29
GlobalErrorBaseExtended::cphizz
T cphizz() const
Definition:
GlobalErrorBaseExtended.h:153
GlobalErrorBaseExtended::matrix_new
const AlgebraicSymMatrix66 & matrix_new() const
Definition:
GlobalErrorBaseExtended.h:188
GlobalErrorBaseExtended::GlobalErrorBaseExtended
GlobalErrorBaseExtended(const NullMatrix &)
Definition:
GlobalErrorBaseExtended.h:21
GlobalErrorBaseExtended::cphizphix
T cphizphix() const
Definition:
GlobalErrorBaseExtended.h:165
GlobalErrorBaseExtended::matrix
const AlgebraicSymMatrix66 & matrix() const
Definition:
GlobalErrorBaseExtended.h:185
Exception.h
GlobalErrorBaseExtended::~GlobalErrorBaseExtended
~GlobalErrorBaseExtended()
Definition:
GlobalErrorBaseExtended.h:95
GlobalErrorBaseExtended::GlobalErrorBaseExtended
GlobalErrorBaseExtended(const AlgebraicSymMatrix66 &err)
Definition:
GlobalErrorBaseExtended.h:63
GlobalErrorBaseExtended::GlobalErrorBaseExtended
GlobalErrorBaseExtended()
Definition:
GlobalErrorBaseExtended.h:20
GlobalErrorBaseExtended::cphiyphiy
T cphiyphiy() const
Definition:
GlobalErrorBaseExtended.h:169
GlobalErrorBaseExtended::GlobalErrorBaseExtended
GlobalErrorBaseExtended(T c11, T c21, T c31, T c41, T c51, T c61, T c22, T c32, T c42, T c52, T c62, T c33, T c43, T c53, T c63, T c44, T c54, T c64, T c55, T c65, T c66)
Definition:
GlobalErrorBaseExtended.h:28
GlobalErrorBaseExtended::NullMatrix
Tag to request a null error matrix.
Definition:
GlobalErrorBaseExtended.h:18
GlobalErrorBaseExtended::cphiyy
T cphiyy() const
Definition:
GlobalErrorBaseExtended.h:133
GlobalErrorBaseExtended::GlobalErrorBaseExtended
GlobalErrorBaseExtended(const AlgebraicSymMatrix33 &err)
Definition:
GlobalErrorBaseExtended.h:66
DeepCopyPointer.h
Point3DBase< float, GlobalTag >
GlobalErrorBaseExtended::cphiyz
T cphiyz() const
Definition:
GlobalErrorBaseExtended.h:149
GlobalErrorBaseExtended::cphixy
T cphixy() const
Definition:
GlobalErrorBaseExtended.h:129
T
long double T
Definition:
Basic3DVectorLD.h:57
PV3DBase::x
T x() const
Definition:
PV3DBase.h:62
GlobalErrorBaseExtended::cphiyx
T cphiyx() const
Definition:
GlobalErrorBaseExtended.h:113
GlobalErrorBaseExtended::cphixphix
T cphixphix() const
Definition:
GlobalErrorBaseExtended.h:157
GlobalErrorBaseExtended::cyy
T cyy() const
Definition:
GlobalErrorBaseExtended.h:121
GlobalPoint.h
GlobalErrorBaseExtended
Definition:
GlobalErrorBaseExtended.h:13
GlobalErrorBaseExtended::phierr
T phierr(const GlobalPoint &aPoint) const
Definition:
GlobalErrorBaseExtended.h:205
Generated for CMSSW Reference Manual by
1.8.5