subroutine kvtx_two_vertex(kQ, num_neut, list_neut, update_tracks, * luse_z1z2, z1z2, Vz1z2, z10, Vz10, * chisq, error) * * begin_doc * * Determine two vertex locations specified by the process * * H --> Q + N1 + N2 + ... * * where Q has position information and the neutral N's do not. Let H * emerge from a vertex z1 (having covariance matrix Vz1) and decay at * the unknown vertex z2. We want to determine z1 and z2. * * The constraints are (1) H emerges from z1 and (2) daughter Q * intersects H at z2. The vertex z1 is updated by the fit while z2 is * determined from the fit. The number of degrees of freedom is * 2*2 - 3 = 1. * * Input Parameters: * kQ integer variable * Track number of particle with position information * * num_neut integer variable * Number of neutral tracks * * list_neut(*) integer array * List of neutrals * * update_tracks integer variable * 0 ==> don't update input track parameters * 1 ==> update input track parameters * 2 ==> update input track parameters & covariance matrices * and replace the original unconstrainted parameters * by the new ones. ***** This is a dangerous option. * * luse_vtx logical variable * TRUE ==> use z1z2(1-6) as starting vertices * FALSE ==> use z10(1-3) as primary, determine secondary * * z1z2(6) double precision array * Initial values of vertices * * z10(3) double precision array * Prior primary vertex * * Vz10(3) double precision array * 3x3 covariance matrix of z10 * * Output Parameters: * z1z2(6) double precision array * Final values of vertices * * Vz1z2(6,6) double precision array * 6x6 covariance matrix of z1z2(6) * * chisq double precision variable * Chisquare of fit * * error integer variable * 0 if all OK * >0 if error * * Other routines: * * Notes: * * Author: Paul R Avery Created: Sat Nov 07 07:05:06 EST 1998 * * Major revisions: * * end_doc