subroutine kvir_two_vertex(kQ, num_neut, list_neut, * update_tracks, z1z2, z10, Vz10, * chisq, kH, error) * * begin_doc * * Build a particle H which emerges from a primary vertex (P) and * decays at a secondary vertex (S) into a daughter Q that has * position information plus neutrals that do not. * * H --> Q + N1 + N2 + ... * * Particle H is placed at its production vertex P. * * The constraints are (1) particle H emerges from an existing vertex * P (having a known covariance matrix) and (2) daughter Q intersects * H at a location S determined from the fit (3 unknowns). The number * of degrees of freedom is 2*2 - 3 = 1. * * Input Parameters: * kQ integer variable * Track # of daughter track Q (has position information) * * num_neut integer variable * Number of neutral tracks * * list_neut(*) integer array * List of neutral tracks * * update_tracks integer variable * 0 ==> Calculate chisquare (do not update input tracks) * 1 ==> Calculate chisquare & update input tracks * * z1z2(6) double precision array * Initial guess of double vertex (it is not updated) * * z10(3) double precision array * (x,y,z) of prior primary vertex (it is not updated) * * Vz10(3,3) double precision array * 3x3 initial covariance matrix of z10 * * kH integer variable * Track number to put resulting virtual particle H * * Output Parameters: * chisq double precision variable * Chisquare of fit. * * error integer variable * = 0 All OK * > 0 Error * * Other routines: * * Notes: * * Author: Paul Avery Created: Tue Nov 10 22:06:36 EST 1998 * * Major revisions: * * * end_doc