======================================================================== Matrices. | AA AB | | BA BB | det = AA*BB-AB*BA invert matrix | BB -AB | | | /det | -BA AA | | BB*dX - AB*dY| Xi2 = | | = (BB*dX*dX-2*BA*dX*dY+AAdY*dY)/det |-BA*dX + AA*dY| ======================================================================== EigenValues of 2 *2 matrix | AA AB | | AB BB | (AA-l)(BB-l) - AB*AB = 0 l**2 - (AA+BB)*l + (AA*BB-AB*AB) = 0 l = 0.5*(AA+BB) +- sqrt((AA+BB)**2/4 - (AA*BB-AB*AB)) l = 0.5*(AA+BB) +- sqrt((AA**2+BB**2 - 2*AA*BB +4*AB**2)**2/4 ) l = 0.5*(AA+BB) +- 0.5*sqrt((AA-BB)**2 +4*AB**2 ) l = 0.5*((AA+BB) +- sqrt((AA-BB)**2 +4*AB**2 ) l = 0.5*((AA+BB) +- sqrt((AA+BB)**2 -4*(AA*BB-AB**2) ) ======================================================================== Blocked matrices. Formula Frobenius | A B | M = | | | C D | | 1/A + (1/A)*B*(1/H)*C*(1/A) -(1/A)*B*(1/H) | 1/M = | | | -(1/H)*C*(1/A) (1/H) | where H = D -C*(1/A)*B ======================================================================== ======================================================================== Blocked symmetric matrices. Formula Frobenius | A B | M = | | | B' D | | 1/A + (1/A)*B*(1/H)*B'*(1/A) -(1/A)*B*(1/H) | 1/M = | | | -(1/H)*B'*(1/A) (1/H) | where H = D -B'*(1/A)*B ======================================================================== Let D==0 and C=B' H = -B'*(1/A)*B (1/A)*B*(1/H)*C*(1/A)= ======================================================================== Let t==> 0 1/(A+B*t) =~ 1/A - t * (1/A)*B*(1/A); ======================================================================== Let X measured vector with error matrix A Let Y measured vector with error matrix B of the same value as X M is estimation on the measures X and Y Chi2 = (X-M)*(1/A)*(X-M) + (Y-M)*(1/B)*(Y-M) dChi2/dM = 0 (1/A)*(X-M) + (1/B)*(Y-M) = 0 M*((1/A)+(1/B)) = (1/A)*X + (1/B)*Y M = (1/A + 1/B)**(-1) * ((1/A)*X + (1/B)*Y) ========================================== (1/A + 1/B)**(-1) == B*(1/B)* (1/A + 1/B)**(-1) *(1/A)*A == == B* (A+B)*(-1) *A But the same for (1/A + 1/B)**(-1) == A*(1/A)* (1/A + 1/B)**(-1) *(1/B)*B == A* (A+B)*(-1) *B It means: (1/A + 1/B)**(-1) == B* (A+B)*(-1) *A == A* (A+B)*(-1) *B ========================================================= M = B*(1/(A+B))*X + A*(1/(A+B))*Y ========================================== or: let errors of B are very small M = B*(1/(A+B))*X + A*(1/(A+B))*Y M = B*(1/(A+B))*X + (A+B-B)*(1/(A+B))*Y M = Y + B*(1/(A+B))*X -B*(1/(A+B))*Y M = Y + B*(1/(A+B))*(X-Y) ========================================== Now error matrix ================================== M = (1/A + 1/B)**(-1) * ((1/A)*X + (1/B)*Y) C = Now X*X part + Y*Y part . XY =0 C = (1/A + 1/B)**(-1) * (1/A)*(1/A + 1/B)**(-1) +(1/A + 1/B)**(-1) * (1/B)*(1/A + 1/B)**(-1) = (1/A + 1/B)**(-1)*(1/A + 1/B)*(1/A + 1/B)**(-1)=(1/A + 1/B)**(-1) C is errmtx for M C = (1/A+1/B)**(-1) C = A*(1/A) * (1/A+1/B)**(-1) (1/B) *B C = A*(A+B)**(-1)*B ================================== or the same C = B*(A+B)**(-1)*A ================================== Let B is much less. C = A*(A+B)**(-1)*B C = (A+B-B)*(A+B)**(-1)*B C = B - B*(A+B)**(-1)*B What is Chi2? (X -M)*(1/A)*(X -M) + (Y-M)*(1/B)*(Y-M) We know M,C,Y,B. How to get Chi2? 1/C = 1/A + 1/B 1/A = 1/C - 1/B X -M == dX Y -M == dY dX = - (A/B)*dY Chi2 = dY*(1/B)*A*(1/A)*A/B*dY +dY*(1/B)*dY Chi2 = dY*(1/B)*A/B*dY +dY*(1/B)*dY Chi2 = dY*(1/B)*(A/B+1)*dY A = (1/C -1/B)**(-1) A = (1/C -1/B)**(-1) A = C*(B-C)**(-1)*B Chi2 = dY*(1/B)*(C/(B-C)+1)*dY Chi2 = dY*(1/B)*(B/(B-C))*dY Chi2 = dY*(1/(B-C))*dY ======================== X-Y = dX - dY = delta; delta = -B*(1/(B-C))*dY ================================================================= Now the case of zero errors X - 3 vector of hit. Its errors A[3][3] Y - 6 vector of predictions, Errors B (6,6) L - 6 lamda vector , last 3 componets 0s fcn = (M-Y)*Binv*(M-Y) - L*(M-X) Binv*(M-Y) + L = 0 (M-Y) = B*L = 0 M = Y + B*L | b00 b03 | |L| M = Y + | | * | | | b30 b33 ] |0| X0 - Y0 = b00*L L = b00inv * (X0-Y0) |Y0| | b00 b03 | |b00inv * (X0-Y0)| M = | | + | | * | | |Y3] | b30 b33 ] | 0 | |Y0| | b00 b03 | |b00inv 0| | X0-Y0 | M = | | + | | * | | * | | |Y3] | b30 b33 ] | 0 0| | 0 | |Y0| | 1 0| | X0-Y0 | M = | | + | | * | | |Y3] | b30*b00inv 0| | 0 | |Y0| | 1 0| | Y0 | | 1 0| | X0 | M = | | - | | * | | + | | * | | |Y3] | b30*b00inv 0| | Y3 | | b30*b00inv 0| | 0 | | 0 0| | Y0 | | 1 0| | X0 | M = | | * | | + | | * | | | b30*b00inv 1| | Y3 | | b30*b00inv 0| | 0 | ================================================================ How to decrease correlation keeping positive err matrix Let we have: A*x*x + B*y*y + C*x*y and: C*C/(A*B) > 1 Add to qauadratic form: (a*x+b*y)**2 let a = t*sqrt(A) and b=t*sqrt(B) sign choose later //(A+a*a)*x*x + (B+b*b)*y*y + (C-2*a*b)* Let C is positive (C-sqrt(A*B)*t*t)**2 =(1-q)**2* A*B*(1+t*t)**2 where 1-q = 0.99 (C-sqrt(A*B)*t*t) = (1-q)*sqrt(A*B)*(1+t*t) C = (1-q)*sqrt(A*B)*(1+t*t) + sqrt(A*B)*t*t C-(1-q)*sqrt(A*B) = sqrt(A*B)*2*t*t-sqrt(A*B)*q*t*t t*t = (C-(1-q)*sqrt(A*B))/(sqrt(A*B)*(2-q) t*t = (C/sqrt(A*B)-(1-q))/(2-q) if (1-q) = 0.99 t*t = (C/sqrt(A*B)-0.99)/(1+0.99) then A = A(1+t*t) B = B(1+t*t) C = C -sqrt(A*B)*t*t ======================================================================= assign to Vertex X - track parameters x0 - 1st 3 parameters (x,y,z) x1 - last 3 parameters A - track error matrix A00 first 3 of A | | | |A00 A01 | A = | | |A10 A11 | A*Ai = 1 B00 vtx error matrix M resulting param track+vertex C resulting errors track+vertex (M-X)*Ai*(M-X) + (m0-Y0)*B00*(m0-Y0) But m0==Y0 by definition Then we have only (M-X)*Ai*(M-X) minimising by M1 Ai10 * (m0-x0) + Ai11*(m1-x1) = 0 but m0==Y0 Ai10 * (y0-x0) + Ai11*(m1-x1) = 0 (1/Ai11) * Ai10 *(y0-x0) + (m1-x1) = 0 m1 = x1 -(1/Ai11) * Ai10 *(y0-x0) So m0 = y0 m1 = x1 -(1/Ai11) * Ai10 *(y0-x0) | 0 0| | 1 0| |y0| M = | | * X + | | * | | |(1/Ai11)*Ai10 1| | -(1/Ai11) * Ai10 0| | 0| let it is | 0 0| | A00 A01| | 0 T01| Err = | | * | | * | | |T10 1| | A10 A11| | 0 1 | | 0 0| | 0 A00*T01+A01| Err = | | * | | |T10 1| | 0 A10*T01+A11| | 0 0| Err = | | | 0 T10*(A00*T01+A01)+A10*T01+A11| z - vertex parameters without accountig of track (unknown) q - error matrix (unknown) M track parameters with vertex C track errors with vertex --------------------------------------- // y = Fit(x,q) --------------------- (1/a+1/q) = 1/b (1/b)*y = (1/a)*x + (1/q)*z // M = Fit(X,z) --------------------- 1/C = 1/A + 1/q (1/C)*M = (1/A)*X + (1/q)*z 1/C = 1/A + 1/b - 1/a (1/C)*M = (1/A)*X + (1/b)*y - (1/a)*x (1/C)*M = ((1/A)-(1/a))*X + (1/b)*y But because vetex fit works with wrong errors it does not work ============================================================== t = small value. T = 1/t (M-X)*Ai*(M-X) + T*(M-Y)*Bi*(M-Y) M = 1/(Ai+T*Bi) * (Ai*X + T*Bi*Y) Error matrix X part: 1/(Ai+T*Bi) * Ai * 1/(Ai+T*Bi) Y part: 1/(Ai+T*Bi) * Bi *T*T * 1/(Ai+T*Bi) 1/(t*Ai+Bi) * Bi * 1/(t*Ai+Bi) Both parts 1/(t*Ai+Bi) * Ai *t*t * 1/(t*Ai+Bi) +1/(t*Ai+Bi) * Bi * 1/(t*Ai+Bi) 1/(t*Ai+Bi) = A*Ai * 1/(t*Ai+Bi) *Bi*B = A* 1/(t*B+A) *B ======================================================================== Blocked matrices for this case. Formula Frobenius | A C | M = | | | C D | | 1/A + (1/A)*C*(1/H)*C*(1/A) -(1/A)*C*(1/H) | 1/M = | | | -(1/H)*C*(1/A) (1/H) | where H = D -C*(1/A)*C ======================================================================== let A = X + t*Y then 1/A = 1/X - t* 1/X *Y *1/X ======================================================================== FIT ERRORS ========== Model is: Xi vector of "position" Pi parameters Y - measurement E - its error Pi*Xi ~= Y 1/E**2 = W = Sum(Any*W)/Sum(W); Sum(W) == Wtot Chi2 = Sum(Pi*Xi - Y)**2*W) Sum(Xi*Xj*W) *Pi = Sum(Y*Xj*W) divide both sides by Wtot * Pi = P = (1/) * * = Sum(dY*Xj*W)*Sum(dY*Xi*W)/Wtot**2 = SumA(dYa*Xj*Wa)*SumB(dYb*Xi*Wb)/Wtot**2 Aver(dYa*dYb) = 0 if (a!=b) = Ea**2 if (a==b) = (1/) * = SumA(Xi*Xj*Wa)/Wtot**2 = /Wtot = 1/ /Wtot ======================================================================== ======================================================================== Kalman A 1st input measuremet a it's error**2 x its param b Scattering error**2 C measurement (hit) c - error y parameter fcn(x,y) = (x-A)**2/a + (x-y)**2/b + (y-C)**2/c (x-A)/a + (x-y)/b = 0 -(x-y)/b + (y-C)/c = 0 x*(1/a+1/b) - y/b = A/a -x/b + y*(1/b+1/c) = C/c x/a + y/c = A/a+C/c -x/b + y*(1/b+1/c) = C/c y*(a/c + 1+ b/c) = A + C*(a+b)/c y*(a +c+ b) = A*c + C*(a+b) y*(1 +c/(a+b)) = A*c/(a+b) + C y*(1/c +/(a+b)) = A/(a+b) + C/c