|
ATLAS Offline Software
|
Go to the documentation of this file.
30 double verr[6][6]={{0.}};
34 for (
i=1;
i<=6; ++
i) {
35 for (j=1; j<=NVar ; ++j) dcv[
i + j*6 - 7] = 0.;
43 for (
i = 1;
i <= NTRK; ++
i) {
47 pt = constBF / std::abs(invR);
54 dcv[ (
i*3 + 0)*6 + 5] = -
pt * (cth * cth + 1);
55 dcv[ (
i*3 + 1)*6 + 3] = -
py;
56 dcv[ (
i*3 + 1)*6 + 4] =
px;
57 dcv[ (
i*3 + 2)*6 + 3] = -
px / invR;
58 dcv[ (
i*3 + 2)*6 + 4] = -
py / invR;
59 dcv[ (
i*3 + 2)*6 + 5] = -
pz / invR;
65 int IERR=
getFullVrtCov(vk, ader, dcv, verr);
if (IERR)
return IERR;
67 for (
i=0;
i<6; ++
i) {
68 for (j=0; j<=
i; ++j) {
69 VrtMomCov[ijk++] = verr[
i][j];
84 double verr[6][6]={{0.}};
89 for (
i=1;
i<=6; ++
i) {
90 for (j=1; j<=NVar ; ++j) dcv[
i + j*6 - 7] = 0.;
98 for (
i = 1;
i <= NTRK; ++
i) {
102 pt = constBF / std::abs(invR);
109 dcv[ (
i*3 + 0)*6 + 5] = -
pt * (cth * cth + 1);
110 dcv[ (
i*3 + 1)*6 + 3] = -
py;
111 dcv[ (
i*3 + 1)*6 + 4] =
px;
112 dcv[ (
i*3 + 2)*6 + 3] = -
px / invR;
113 dcv[ (
i*3 + 2)*6 + 4] = -
py / invR;
114 dcv[ (
i*3 + 2)*6 + 5] = -
pz / invR;
120 int IERR=
getFullVrtCov(vk, ader, dcv, verr);
if (IERR)
return IERR;
122 for (
i=0;
i<6; ++
i) {
123 for (j=0; j<=
i; ++j) {
124 VrtMomCov[ijk++] = verr[
i][j];
static void getMagFld(const double, const double, const double, double &, double &, double &, VKalVrtControlBase *)
@ pz
global momentum (cartesian)
std::vector< std::unique_ptr< VKTrack > > TrackList
static double getCnvCst()
int afterFit(VKVertex *vk, double *ader, double *dcv, double *ptot, double *VrtMomCov, const VKalVrtControlBase *CONTROL)
int getFullVrtCov(VKVertex *vk, double *ader, const double *dcv, double verr[6][6])
Ensure that the ATLAS eigen extensions are properly loaded.
int afterFitWithIniPar(VKVertex *vk, double *ader, double *dcv, double *ptot, double *VrtMomCov, const VKalVrtControlBase *CONTROL)
void cfsetdiag(long int n, double *matr, double value) noexcept