29 double px,
py,
pz,pt,invR,cth;
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) {
48 cth = 1. / tan(trk->
fitP[0]);
50 pt = std::abs( constBF / invR);
51 px = pt * cos(trk->
fitP[1]);
52 py = pt * sin(trk->
fitP[1]);
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];
86 double px,
py,
pz,pt,invR,cth;
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) {
106 cth = 1. / tan(trk->
iniP[0]);
108 pt = std::abs( constBF/invR );
109 px = pt * cos(trk->
iniP[1]);
110 py = pt * sin(trk->
iniP[1]);
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];
std::vector< std::unique_ptr< VKTrack > > TrackList
static void getMagFld(const double, const double, const double, double &, double &, double &, const VKalVrtControlBase *)
static double getEffField(double bx, double by, double bz, double phi, double theta)
static double getCnvCst()
Ensure that the ATLAS eigen extensions are properly loaded.
void cfsetdiag(long int n, double *matr, double value) noexcept
int afterFitWithIniPar(VKVertex *vk, double *ader, double *dcv, double *ptot, double *VrtMomCov, const VKalVrtControlBase *CONTROL)
@ pz
global momentum (cartesian)
int getFullVrtCov(VKVertex *vk, double *ader, const double *dcv, double verr[6][6])
int afterFit(VKVertex *vk, double *ader, double *dcv, double *ptot, double *VrtMomCov, const VKalVrtControlBase *CONTROL)