* ================================== SUBROUTINE num_gtrk(trk_counter) * ================================== * output: num_gtrk = number of vertex tracks in 15 < theta < 164 * & Pt>0.2 GeV * OR -1*number ... in case an ADAMO navigation * error occured * Author: Kunihiro Nagano, 21.11.1997 * ---------------------------------------------------------------- Implicit NONE * #include "partap.inc" #include "vctrhl.inc" #include "vctpar.inc" * Integer Ierr, i, trk_counter Real thfull, ptfull Real theta, th, pt Logical Lok Real PI Parameter ( PI=3.14159 ) * Real LOWTHETA, HIGHTHETA, PT_CUT Parameter ( LOWTHETA=15., HIGHTHETA=164., PT_CUT=0.2 ) * trk_counter = 0 Ierr = 1 * Do 100 i=1, coutab( VCTPAR ) Call fettab( VCTPAR, ID, i ) thfull = VCTPAR_Par(1) theta = thfull * 180. / PI If( (theta .lt. LOWTHETA) .or. & (theta .gt. HIGHTHETA) ) GOTO 100 Call natrel( VCTPAR, VCTPAR_VCTRHL, VCTRHL, Lok ) If( .not. Lok ) then Ierr = -1 GOTO 100 Endif th = acos( VCTRHL_tdip / sqrt(1.+VCTRHL_tdip**2) ) pt = VCTRHL_pgevc * sin(th) ptfull = pt * abs( VCTRHL_qovr / VCTPAR_Par(3) ) If( ptfull .lt. PT_CUT ) GOTO 100 trk_counter = trk_counter + 1 100 Continue * trk_counter = trk_counter * Ierr * RETURN END