 |
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.;
42 double vBx,vBy,vBz,constBF;
45 for (
i = 1;
i <= NTRK; ++
i) {
50 pt = std::abs( constBF / invR);
57 dcv[ (
i*3 + 0)*6 + 5] = -
pt * (cth * cth + 1);
58 dcv[ (
i*3 + 1)*6 + 3] = -
py;
59 dcv[ (
i*3 + 1)*6 + 4] =
px;
60 dcv[ (
i*3 + 2)*6 + 3] = -
px / invR;
61 dcv[ (
i*3 + 2)*6 + 4] = -
py / invR;
62 dcv[ (
i*3 + 2)*6 + 5] = -
pz / invR;
68 int IERR=
getFullVrtCov(vk, ader, dcv, verr);
if (IERR)
return IERR;
70 for (
i=0;
i<6; ++
i) {
71 for (j=0; j<=
i; ++j) {
72 VrtMomCov[ijk++] = verr[
i][j];
87 double verr[6][6]={{0.}};
92 for (
i=1;
i<=6; ++
i) {
93 for (j=1; j<=NVar ; ++j) dcv[
i + j*6 - 7] = 0.;
100 double vBx,vBy,vBz,constBF;
103 for (
i = 1;
i <= NTRK; ++
i) {
108 pt = std::abs( constBF/invR );
115 dcv[ (
i*3 + 0)*6 + 5] = -
pt * (cth * cth + 1);
116 dcv[ (
i*3 + 1)*6 + 3] = -
py;
117 dcv[ (
i*3 + 1)*6 + 4] =
px;
118 dcv[ (
i*3 + 2)*6 + 3] = -
px / invR;
119 dcv[ (
i*3 + 2)*6 + 4] = -
py / invR;
120 dcv[ (
i*3 + 2)*6 + 5] = -
pz / invR;
126 int IERR=
getFullVrtCov(vk, ader, dcv, verr);
if (IERR)
return IERR;
128 for (
i=0;
i<6; ++
i) {
129 for (j=0; j<=
i; ++j) {
130 VrtMomCov[ijk++] = verr[
i][j];
@ 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])
static void getMagFld(const double, const double, const double, double &, double &, double &, const VKalVrtControlBase *)
Ensure that the ATLAS eigen extensions are properly loaded.
static double getEffField(double bx, double by, double bz, double phi, double theta)
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