Vertexing and Kinematic Fitting, Part III: Vertex Fitting Lectures Given at SLAC Aug. 5 – 7, 1998 Paul Avery University of Florida avery@phys.ufl.edu http://www.phys.ufl.edu/~avery Paul Avery 1 Vertex fitting Overview of plan • 3rd of several lectures on kinematic fitting • Focus in this lecture on vertex fitting theory • Plan of lectures • • • • Lecture 1: Basic theory Lecture 2: Introduction to the KWFIT fitting package Lecture 3: Vertex fitting Lecture 4: Building virtual particles • References • KWFIT http://www.phys.ufl.edu/~avery/kwfit/ or http://w4.lns.cornell.edu/~avery/kwfit/ • Several write-ups on fitting theory and constraints http://www.phys.ufl.edu/~avery/fitting.html Paul Avery 2 Vertex fitting Theory Equations of motion in solenoidal field Written as function of arc length s, the path of the particle is a helix: px = p0 x cos ρs − p0 y sin ρs py = p0 y cos ρs + p0 x sin ρs pz = p0 z 0 0 p0 y p0 x 1 − cos ρs sin ρs − a a p0 y p sin ρs + 0 x 1 − cos ρs y = y0 + a a p z = z0 + 0 z s p x = x0 + 5 5 where a = –0.299792458BQ and ρ = a / p. Paul Avery 3 Vertex fitting Creating the constraint equations Suppose we want to force n tracks to come from a common space point x. Assume further that the vertex has some “prior information”, i.e., it is a beam spot at x 0 with covariance matrix Vx 0 . (If the vertex is completely unknown, we can just set the diagonal elements to large values.) The condition that track i pass through the vertex generates 2 constraints: (1) r–φ and (2) z a 0 = px i ∆yi − pyi ∆xi − i ∆xi2 + ∆yi2 2 pz i −1 2 0 = ∆zi − sin ai px i ∆xi + pyi ∆yi / px2i + pyi ai 3 3 where 8 83 8 ai = −0.299792458 BQi Qi = charge ∆xi = x x − xi , etc. For n tracks, there are 7n parameters and 2n constraints Paul Avery 4 Vertex fitting The χ 2 includes contributions from the track parameters α, vertex parameters x and the constraints H(α, x ) = 0: 0 5 V 0α − α 5 +0 x − x 5 V 0 x − x 5 +2 λ 0Dδα + Eδx + d5 χ2 = α − α0 T T 0 −1 α0 Tracks 0 −1 x0 Vertex 0 T Constraints α has length 7n x has length 3 λ has length 2n δα = α − α A (expanded around α A) δx = x − x A (expanded around x A ) D is 2n × 7n (coefficient of track parameters Dij = ∂Hi / ∂α j ) E is 2n × 3 (coefficient of vertex parameters Eij = ∂Hi / ∂x j ) d is 2n × 1 (constant term di = Hi α A , x A ) Paul Avery 0 5 5 Vertex fitting The crucial fact about the vertex constraint is that the constraints do not mix tracks. E E E= E D D= 1 1 2 n D2 D n This fact vastly speeds up the calculation for the solution because the matrices that need to be inverted can be reduced to block diagonal form. DV 8 = 1 3 VD = DVα 0 D T 10 D1 D2V2 0 D2T T −1 DnVn 0 D −1 T n 2×2 Paul Avery 6 Vertex fitting The solution for α and x can be written (see CBX 98–37 for a detailed discussion) δα = δα 0 − Vα 0 DT λ δx = δx 0 − Vx 0 E T λ = Vx Vx−01δx 0 − Vx E T λ 0 λ = λ 0 + VDEδx 0 λ 0 = VD Dδα 0 + d 3 VD = DVα 0 DT 8 −1 5 where δα = α − α A and δx = x − x A are the deviations of the parameters from their expansion points. The covariance matrices are 3 Vx = Vx−01 + E T VDE 8 −1 Vα = Vα 0 − Vα 0 DT VDDVα 0 + Vα 0 DT VDEVx E T VDDVα 0 cov(α , x ) = − Vα 0 DT VDEVx and the χ 2 is given by 3 8 0 χ 2 = λ T VD−1 + EVx−01E T λ = λ T Dδα 0 + Eδx 0 + d Paul Avery 7 5 Vertex fitting This solution requires that we invert the following 3 = 3V VD = DVα 0 D Vx 8 T −1 + E VD E T x0 8 n 2 × 2 matrices −1 a 3 × 3 matrix DV 8 = 1 3 VD = DVα 0 D V = T 10 D1 D2V2 0 D2T T −1 D1 VD 2 VDn DnVn 0 D −1 T n So we have found an efficient solution. Paul Avery 8 Vertex fitting Comments About Solution Vertex covariance matrix The vertex covariance matrix Vx is an average of original covariance matrix and a sum over track info Vx = E E E= E 3 Vx−01 V = 8 −1 D1 1 2 VD n Vx + E VDE T = V −1 x0 + VD 2 ∑ EiT VDi i VDn E −1 i Note that when the initial vertex is totally unknown, we make Vx 0 as large as possible, so that Vx−01 → 0 . In that case Vx = ∑ E V E −1 T i Di i i Paul Avery 9 Vertex fitting Track correlations Note the structure of the updated track covariance matrix Vα = Vα 0 − Vα 0 DT VDDVα 0 + Vα 0 DT VDEVx E T VDDVα 0 Improvement due to fit to fixed vertex point. Worsening due to “wiggle” of vertex point. Term 2 does not cause track - track correlations, since Vα 0 , D and VD are block diagonal. Equivalent to fitting each track separately though the same fixed space point. Term 3 causes track-track correlations only through the “tiny” 3× 3 Vx matrix. Track-track correlations can thus be calculated by saving some of the intermediate matrices. Paul Avery 10 Vertex fitting Vertex Fitting as a Kalman Problem Track fitting problem Want to find 5 helix parameters α and 5 × 5 covariance matrix Vα by adding in the information from n measurements. Method is to move to measurement point, then average the measurement (usually a 1 dim. quantity) with the track to get improved track parameters and covariance matrix. This is repeated until all measurements are included. Paul Avery 11 Vertex fitting • Let α0, Vα 0 be the old track parameters & covariance matrix. • Let ∆y, Vy be the measurement deviation & its covariance matrix. • Let A represent the derivative of the measurement with each of the 5 track parameters. Then the new track parameters and covariance matrix are δα = δα 0 + Vα AT Vy−1∆y 3 Vα = Vα−01 + AT Vy−1 A 3 8 −1 = Vα 0 − Vα 0 A Vy + AVα 0 A T 8 T −1 AVα 0 Note that only a 1 × 1 matrix has to be inverted at each step. If the track does not have to be moved or modified between measurements, then all the measurements can be added at once, at the cost of inverting an n × n matrix. Paul Avery 12 Vertex fitting Vertex fitting Want to find 3 vertex parameters x and 3 × 3 covariance matrix Vx by adding information from n tracks. Each track “measurement” consists of 7 parameters α0 and a 7 × 7 covariance matrix Vα 0 Method is to average the vertex with the track to get improved vertex parameters and covariance matrix. This is repeated until all tracks are included. The only difference from the track fitting problem is that a constraint is used to average the track info with the vertex information. Paul Avery 13 Vertex fitting Let the index i refer to track i. Assume we have a vertex x 0 with initial covariance Vx 0 to which we want to add track i. The following equations update the vertex parameters, covariance matrix and χ 2 . 3 δx = Vx Vx−01δx 0 − EiT VDi β 0 i 3 = 3β Vx = Vx−01 + EiT VDi Ei ∆χ i2 0i 8 T 8 8 −1 3 + Eiδx VDi β 0 i + Eδx 0 8 where β 0 i = Diδα 0 i + di . Repeat until all tracks are added. It is also possible to make a quick algorithm where tracks can be included or discarded. Only 3 sums needed: 1. Vector of length 3 ∑ EiT VDi β 0 i i 2. 3 × 3 matrix ∑ EiT VDi Ei i 3. Scalar ∑ ∆χ i2 as described above i A track can be removed easily from the sums if its ∆χ 2 contribution is too large. This process is similar to that used for removing hits from a Kalman fit. Paul Avery 14 Vertex fitting