*-- Author : I.O.Skillicorn
SUBROUTINE FTZFIT(TZZ,NPAR,ZVERT,IMSTDY)
**: FTZFIT.......SM. New routine for monitoring.
**----------------------------------------------------------------------
C
C
C TRY MODS TO FIT VELOCITY FACTOR TO RADIALS
C
C
C
C MODIFIED TO WORK ON PLANAR-BASED PATTERN RECOGNITION
C NOTE ROUTINES OF SAME NAME IN GRFTRAC !!!!!!!!!!!!!!
C
C
C FIT PLANAR TRACKS TO GET T0 , FILL VERTEX HISTOGRAMS...
C IF IRPIK=1 USE RADIAL POINTS ALSO
C DMIN CUT INTRODUCED FOR PLANAR POINTS 25/2/92
C PUT (Z-200.) IN ALL TERMS 26/2/92
C CHANGE TO Z 28/2/92 TO GET MOMENTUM
C ADD RESIDUAL PRINT 2/3/92
C TRY DRIFT VELOCITY DETERMINATION.. ...DOES NOT WORK
C DUE TO STRONG CORRELATION WITH TIME-ZERO
C
C 27/4/92 INTRODUCE SECTION TO COMPARE SLOPE OF LINE SEGMENT
C IN VERTICAL WIRES WITH FITTED LINE BETWEEN PLANAR CHAMBERS.
C RATIO OF SLOPES SHOULD BE RATIO OF ASSUMED AND TRUE DRIFT
C VELOCITIES . FIND A VALUE CIRCA 1.02 THIS VALUE
C GIVES BETTER RESIDUALS IN PLANARS. COSTXT NOW HAS 42.15
C FOR PLANARS
C 1 /5/92 INCLUDE SECTION FOR RADIALS
C
*KEEP,BOSMDL.
C ------BOSMDL
C ------
*KEEP,FRDIMS.
*KEEP,FPPRAM.
C
C--- MAXSEG is maximum number of segments per supermodule
C--- MAXCON is maximum number of amibiguous segments associatable with
C--- one segment
C--- LIMSTO is maximum number of 2 cluster planes intersections to be
C--- stored per supermodule
C--- MSEGLM is maximum number of clusters that can be found before
C--- connectivity considered
C--- MAXCLU is maximum number of clusters that can be found after
C--- forming non-connected set MUST BE 50 IF RUN WITH OLD RCW
C--- (cluster = 3/4 digits found in a straight line in one
C--- 4-wire orientation)
C
C---
*KEEP,FH1WORK.
* Planar geometry
*
* Radial geometry
*
* Radial data...
*
* Planar Data
*
* Pointers into DIGI bank for IOS labelled hits
*
* Track segment data
*
* Fit data
*
*
*KEEP,FPTVTX.
**the common/VERTEX/ becomes /VERTVV/ (in analogy to /VERTFF/) on the
** 17/6/91, since it is in conflict with the VERTEX module (g.bernardi)
** (note that all these common names should start by F in this deck...)
*KEEP,FPFVTX.
*
*KEND.
*
*FOR PLOTS...
*KEEP,FRPLTA.
*KEND.
*FTTRAC RESULTS (SJM)
*KEEP,FRH3FT.
* Common for RETRAC results (SJM)
*KEND.
*
*
*
*
C COMMON/FTVERT2/NNFTV,FLPP(10000),FMPP(10000),
C 1 FXPP(10000),FYPP(10000)
*
*KEEP,FPLSEG.
C---
C---
*KEND.
************************************************************************
C XXX ADDED 3/3/92
C TZ=TIME-ZERO
C ADDED FOR RESIDUAL CHECK
C BANKS FOR PLANAR PATTERN RECOGNITION
C COMMON FOR RADIALS ASSOCIATED WITH PLANAR TRACKS
C PLANAR SEGMENTS ASSOCIATED WITH RADIALS
C ISGG POINTS TO ROB'S SEGMENT BANKS
************************************************************************
C GLOBAL FIT TO PLANAR LINE SEGMENTS
C NPAR=4 STRAIGHT LINE IN X-Z , Y-Z PLANES
C NPAR=6 PARABOLAE IN X-Z, Y-Z PLANES
C*********************************************************************
C WITH SUITABLE MODS CAN FIT ALL MODULES SIMULTANEOUSLY
C (EACH MODULE TO A (DIFFERENT) STRAIGHT LINE )
C OR EACH TRACK TO A STRAIGHT LINE OR PARABOLA)
C MINIMUM NUMBER OF PLANAR POINTS
C NNPLA=25
C PICK UP PLANAR POINTS ONLY IF DRIFT > DMIN
C TO AVOID WRONG SIGN POINTS
C TO USE RADIAL POINTS IRPIK=1
CALL STEXT(IHX+270,4,' PROJECTED VERTEX X ' )
CALL BHS(IHX+270,0,50,-5.,5.)
CALL STEXT(IHX+271,4,' PROJECTED VERTEX Y ' )
CALL BHS(IHX+271,0,50,-5.0,5.0)
CALL STEXT(IHX+272,4,' 1/P FROM FIT ' )
CALL BHS(IHX+272,0,50,-2.5,2.5)
CALL STEXT(IHX+273,4,' 1/P FROM FIT CHI < 5 ' )
CALL BHS(IHX+273,0,50,-2.5,2.5)
CALL STEXT(IHX+273,4,' 1/P FROM FIT CHI < 5 ' )
CALL BHS(IHX+273,0,50,-2.5,2.5)
CALL STEXT(IHX+280,4,' VFACTOR MEAS/PRED CHI < 5 PLANAR' )
CALL BHS(IHX+280,0,50,00.5,1.5)
CALL STEXT(IHX+281,4,' SLOPE PREDICTED PLANAR ' )
CALL BHS(IHX+281,0,50,-0.5,0.5)
CALL STEXT(IHX+282,4,' SLOPE MEAS PLANAR ' )
CALL BHS(IHX+282,0,50,-0.5,0.5)
CALL STEXT(IHX+283,4,' SLOPE MEAS -SLOPE PRED PLANAR' )
CALL BHS(IHX+283,0,50,-0.1,0.1)
CALL STEXT(IHX+290,4,' VFACTOR MEAS/PRED CHI < 5 RADIAL' )
CALL BHS(IHX+290,0,50,00.5,1.5)
CALL STEXT(IHX+291,4,' SLOPE PREDICTED RADIAL ' )
CALL BHS(IHX+291,0,50,-0.5,0.5)
CALL STEXT(IHX+292,4,' SLOPE MEAS RADIAL ' )
CALL BHS(IHX+292,0,50,-0.5,0.5)
CALL STEXT(IHX+293,4,' SLOPE MEAS -SLOPE PRED RADIAL' )
CALL BHS(IHX+293,0,50,-0.1,0.1)
C WRITE(*,*)' FTZFIT MIN # PLANAR PTS= ',NNPLA
C COUNTS DATA POINTS
C COUNTS TRACK SEGMENTS
C LOOP TRACKS
C WRITE(*,*)' NPP ',NPP
C WRITE(*,*)' FTZFIT K IRP,IRN ',K
CC PRINT 1000,(IPP(JJ,K),JJ=1,36)
CC PRINT 1001,(SPP(JJ,K),JJ=1,36)
CC PRINT 1000,(IRR(JJ,K),JJ=1,36)
CC PRINT 1001,(SRR(JJ,K),JJ=1,36)
C TO FIT EACH TRACK FOR T0 - THESE LINES ADDED------------
C --------------------------------------TO HERE
C MODULES
C ORIENTATIONS
C WIRES /ORIENTATION
CTEMP IF(IGSEG.NE.3)GOTO3010
C GOOD SEGMENT- AT LEAST 2 POINTS/PLANAR ORIENTATION
C SUM SEGMENTS
C TO FIT WHOLE TRACK--- ADD NEXT LINE ----------
C WHOLE TRACK FITTED AS STRAIGHT LINE WITH T0 FIT
C 5 PARAMETER FIT
C------------------------------------------------------------
C FILL POINTS
C IF(DRIW(J,IPL).LT.DMIN)GOTO3050
C IF(IITART.LT.10)WRITE(*,*)' FTZFIT THET PLA ',THET(NNDATA)
C DY/DZ
C YZ
C DX/DZ
C XZ
C PLUS
C TWO TERMS TO GIVE CURVATURE---RY,RX--------------
C ------------------------------------------------
C
**********************************************************
C DOWN WEIGHT PLANAR MODULE TO BE STUDIED
C IF(IMM.EQ.0)SSIG(NNDATA)=SSIG(NNDATA)*100.
C IF(IMM.EQ.1)SSIG(NNDATA)=SSIG(NNDATA)*100.
C IF(IMM.EQ.2)SSIG(NNDATA)=SSIG(NNDATA)*100.
**********************************************************
C STORE NNDATA VALUE FOR PLANARS
C ADD POINT COUNT CHECK INSTEAD OF SEGMENT COUNT
C WRITE(*,*)' FTZFIT NPLA ',NPLA
C PICK UP RADIALS .............................................
C ADDED 3/3/92
C IF(IITART.LT.10)WRITE(*,*)' FTZFIT THET RAD',THET(NNDATA),
C 1 WW(J,IPL)
C DY/DZ
C YZ
C DX/DZ
C XZ
C PLUS
C TWO TERMS TO GIVE CURVATURE---RY,RX--------------
C ------------------------------------------------
C CORRECT DRIFT BY A FACTOR FOR WRONG VELOCITY
C CORRECT DRIFT BY A FACTOR FOR WRONG VELOCITY
C
C
C
C
C
C
******************************************************************
C DOWN-WEIGHT RADIAL MODULE TO BE STUDIED IM=0,1,2
C IM=2 GIVES SYSTEMATIC SHIFT AT LOW MOMENTA AND SIG=2.0
C DUE TO EXTRAPOLATION FROM PLANARS
** IF(IM.EQ.0)SSIG(NNDATA)=SSIG(NNDATA)*100.
** IF(IM.EQ.1)SSIG(NNDATA)=SSIG(NNDATA)*100.
** IF(IM.EQ.2)SSIG(NNDATA)=SSIG(NNDATA)*100.
******************************************************************
C NOTE ANGLE SELECTION FOR RESIDUALS IN FXLFIT
******************************************************************
C
C
C
C
C
C.................................END RADIAL PICKUP SECTION
C NEXT LINE FOR FIT /TRACK -------------------------
*********************************************
*********************************************
*********************************************
C IF NO RADIAL DATA DO NOT FIT ADDITIONAL PARAMETER
C TO SET TO NORMAL 6 PARAMETER FIT UNCOMMENT NEXT LINE
CC IF(NPAR.EQ.6)MATOT=NTT*6
C TO SET TO NORMAL 4 PARAMETER FIT UNCOMMENT NEXT LINE
CC IF(NPAR.EQ.4)MATOT=NTT*4
******************************************************
******************************************************
******************************************************
C FIT W= (YZ+YD*(Z- 00.)+YR*(Z- 00.)**2 )*COS(THETA)
C -(XZ+XD*(Z- 00.)+XR*(Z- 00.)**2 )*SIN(THETA)
C WRITE(*,*) NPLA,(IPRES(KK),KK=1,NNDATA)
C F1=DY , F3=DX
C X,Y INTERCEPTS AT Z=ZVERT
C TRACKS ALONG Y(X) AXIS DETERMINE X(Y) VERTEX.
C
C -------------------------------------------------------
C SECTION TO CALCULATE 1/PZ FOR TEST PURPOSES
C SIGN CHANGE NEEDED FOR 'X' PARABOLA TERM
CALL SHS(IHX+272,0,RPZ)
C IF(ABS(RPZ).LT.0.5)THEN
C ENDIF
*** WRITE(*,*)' FTZFIT 1/PZ = ',RPZ,S1,S2,SS
C -------------------------------------------------------
C CHECK VELOCITY DETERMINATION - VERTICAL WIRES -PLANAR
C FIT SLOPE
CALL FTLFT(XXX,YYY,KK,0,SLPM,B,E)
C PREDICTED SLOPE
CALL SHS(IHX+281,0.,SLPP)
CALL SHS(IHX+282,0.,SLPM)
C WRITE(*,*)' SLOPE MEAS PRED P',SLPM,SLPP,SLPM/SLPP
C -------------------------------------------------------
C ----AS FILTER FORTRAN (IOSXA ) SOME LINES REMOVED 4/5/92
C CHECK VELOCITY DETERMINATION - RADIAL
C MODULES WITHIN PLANAR SYSTEM ONLY
C FIRST POINT
C LAST POINT
C FIT SLOPE
CALL FTLFT(XXX,YYY,KK,0,SLPM,B,E)
C PREDICTED SLOPE RELATIVE TO ANODE PLANE
CALL SHS(IHX+291,0.,SLPP)
CALL SHS(IHX+292,0.,SLPM)
C WRITE(*,*)' SLOPE MEAS PRED R',SLPM,SLPP,SLPM/SLPP
C NEXT TWO LINES FOR FIT ALL SEGMENTS
CO MATOT=NTT*4
CO IF(NTT.NE.0)CALL FXLFIT
*