C ================= SUBROUTINE TRKFIL C ================= C This routine reconstructs the event tracking vertex, C the number of tracks, the number of vertex tracks and the C chi**2/ndf for the vertex fit. At present the vertex C parameters are stored for `regular mode'. C C A.Quadt, May 1997. C ---------------------------------------------------------- IMPLICIT NONE #include "partap.inc" #include "vctvtx.inc" #include "vctpar.inc" #include "vctrhl.inc" #include "vcevtreg.inc" #include "vcvtxsec.inc" C #include "zescommon.inc" C INTEGER NO_USE, Ierr DATA NO_USE / -999.99 / C --------------------------------------------------------------- C --- Unpack the tracking tables (regular mode; incl. FTD...) --- C --------------------------------------------------------------- Call ModIn('TRKFIL', IErr) IF (CouTab(VCEVTREG).ne.0) CALL VCGETREG(Ierr) C ----------------------------------------- C --- reconstructed vertex from VCTRACK --- C ----------------------------------------- ZES_ChiVTX = NO_USE ZES_XVTX = NO_USE ZES_YVTX = NO_USE ZES_ZVTX = NO_USE ZES_NTRKVTX = COUTAB(VCTPAR) ZES_NTRKS = COUTAB(VCTRHL) IF (COUTAB(VCTVTX).GT.0) THEN CALL FETTAB(VCTVTX,ID,1) ZES_XVTX = VCTVTX_V(1) ZES_YVTX = VCTVTX_V(2) ZES_ZVTX = VCTVTX_V(3) IF (VCTVTX_NDF .GT.0.AND. & VCTVTX_CHI2.GT.0) THEN ZES_ChiVTX = VCTVTX_CHI2/FLOAT(VCTVTX_NDF) ENDIF ENDIF C ----------------------------------------------------------------- C --- Reconstruct secondary vertices with VCTRAK 30704 or later --- C ----------------------------------------------------------------- C CALL VCEAZE(0,0,0,0,1,IERR) C ZES_NSecVTX = COUTAB(VCVTXSEC) ZES_NSecVTX = 0 C --------------------------------------------------------------- C --- Unpack the tracking tables (regular mode; incl. FTD...) --- C --------------------------------------------------------------- IF (CouTab(VCEVTREG).ne.0) CALL VCGETREG(Ierr) Call ModOut('TRKFIL') RETURN END