*-- Author : Stephen Burke 07/05/92 SUBROUTINE FVFIT *-----------------------------------------Updates 07/09/93------- **: FVFIT 40000 SB. No more garbage collection. *-----------------------------------------Updates 26/07/93------- **: FVFIT 30907 RP. Farm changes. *-----------------------------------------Updates 02/06/93------- **: FVFIT 30907 SB. Initialise LUN at BEGJOB. *-----------------------------------------Updates 03/05/93------- **: FVFIT 30907 SB. Print summary on ENDJOB. *-----------------------------------------Updates 15/10/92------- **: FVFIT 30907 SB. A bit of extra printout. *-----------------------------------------Updates 17/08/92------- **: FVFIT 30907 SB. Fix HBOOK error message. *-----------------------------------------Updates 06/05/92------- **: FVFIT 30907 SB. New deck to steer forward z-vertex fit. *-----------------------------------------Updates---------------- ********************************************************************** * * * Preliminary z-vertex determination from forward tracks. * * * ********************************************************************** *KEEP,FVSTEE. LOGICAL LTRUTH,LCUT,LRESID COMMON /FVSTEE/ IDIAG,LUN,LUNHB,LTRUTH,LCUT,LRESID *KEEP,FVSCAL. * Various counters PARAMETER (NSCAL=16) COMMON /FVSCAL/ NNEVNT,NNVTX,NNFTKR,NNXTR,NNFIT,NNOUT,NNSIN &, NNFTKP,NNXTRP,NNFITP,NNOUTP,NNSINP &, NNVTXC,NNSINC,NNFVNC,NNFSNC *KEEP,FVWBI. * Work bank indices PARAMETER (NFVWBI=2) COMMON /FVWBI/ INFTPR,INFVWK *KEND. LOGICAL LFIRST SAVE LFIRST COMMON /SUMARY/ LSUMA *KEEP,BCS. INTEGER NHROW,NHCOL,NHLEN PARAMETER (NHROW = 2, NHCOL = 1, NHLEN=2) INTEGER NBOSIW PARAMETER (NBOSIW=1000000) INTEGER IW(NBOSIW) REAL RW(NBOSIW) COMMON /BCS/ IW EQUIVALENCE (RW(1),IW(1)) SAVE /BCS/ *KEEP,BOSMDL. C ------BOSMDL LOGICAL BEGJOB,ENDRUN,BEGRUN,REVENT,ENDJOB,OTHDAT COMMON/BOSMDL/BEGJOB,ENDRUN,BEGRUN,REVENT,ENDJOB,OTHDAT, + LCCRUN,NCCRUN,NEVENT, + IHA,IBS,IDB,IDATEL,LUP,ISN,JSN SAVE /BOSMDL/ C ------ *KEND. DATA LFIRST/.TRUE./ ********************************************************************** * Make sure LUN is defined IF (BEGJOB) LUN = 6 IF (BEGRUN .AND. LFIRST) THEN LFIRST = .FALSE. * Zero work bank indices (just in case ...) CALL VZERO(INFTPR,NFVWBI) * Initialise scalars CALL VZERO(NNEVNT,NSCAL) * Read parameters from text banks CALL FVTEXT * Format output banks CALL BKFMT('FTGR','2I,(3F,I)') CALL BKFMT('FTGX','2I,(I)') * Book monitoring histograms CALL FVBKLK * Book debug histograms CALL FVHBK('FVFIT') ENDIF IF (REVENT .AND. LFIRST) THEN * This shouldn't happen! WRITE(6,*) WRITE(6,*) '**FVFIT** Not initialised - code error' WRITE(6,*) CALL H1STOP ENDIF IF ((IW(6).GT.0 .AND. ENDRUN .AND. LSUMA.EQ.1) .OR. & (IW(6).GT.0 .AND. ENDJOB)) THEN WRITE(LUN,*) WRITE(LUN,*) WRITE(LUN,*) ' *** Forward track z-vertex fit summary ***' WRITE(LUN,*) WRITE(LUN,*) 'Number of events: ',NNEVNT WRITE(LUN,*) 'Number of events with a z-vertex: ',NNVTX WRITE(LUN,*) WRITE(LUN,*) 'Forward tracks: ',NNFTKR WRITE(LUN,*) 'Tracks extrapolated to vertex: ',NNXTR WRITE(LUN,*) 'Tracks passing DCAMAX/Z0MAX cuts: ',NNFIT WRITE(LUN,*) 'Tracks contributing to z-vertex: ',NNOUT WRITE(LUN,*) 'Single tracks giving a vertex: ',NNSIN WRITE(LUN,*) IF (LTRUTH) THEN WRITE(LUN,*) 'Primary forward tracks: ',NNFTKP WRITE(LUN,*) 'Primary tracks extrapolated: ',NNXTRP WRITE(LUN,*) 'Primary tracks passing cuts: ',NNFITP WRITE(LUN,*) 'Primary single tracks: ',NNSINP WRITE(LUN,*) ENDIF WRITE(LUN,*) 'CT z-vertices: ',NNVTXC WRITE(LUN,*) 'CT z-vertices from 1 track: ',NNSINC WRITE(LUN,*) WRITE(LUN,*) 'FT z-vertices, no CT: ',NNFVNC WRITE(LUN,*) 'FT z-vertices from 1 track, no CT:',NNFSNC WRITE(LUN,*) WRITE(LUN,*) ENDIF IF (REVENT) THEN CALL FVZFIT * Make sure PAW directory is reset CALL HCDIR('//PAWC',' ') * Clean up C CALL WGARB(IW) ENDIF IF (ENDJOB .AND. IDIAG.GE.10) THEN IF (IW(6).GT.0) CALL HPDIR('//PAWC/FVFIT',' ') IF (LUNHB.GT.0) THEN OPEN(UNIT=LUNHB,ACCESS='DIRECT',FORM='UNFORMATTED', & RECL=1024,STATUS='NEW',IOSTAT=IOS) IF (IOS.EQ.0) THEN CALL HCDIR('//PAWC/FVFIT',' ') CALL HRFILE(LUNHB,'FVFIT','N') CALL HROUT(0,ICYC,' ') CALL HREND('FVFIT') CLOSE(LUNHB) CALL HCDIR('//PAWC',' ') ELSE CALL ERRLOG(501,'W:FVFIT: HBOOK file open failed') ENDIF ENDIF ENDIF RETURN END *