*-- Author : I.O. Skillicorn SUBROUTINE FTFHPL(NPLA,IPA,SD,IPP,SDP, * * Calling sequence changed. Error in R-z intercept put out * Unused arguments removed. Overall 'Chisq' added. * C LEAST SQUARES FIT IN R-Z, PHI-Z HELIX FRAME C UPDATED FROM FT205PP 3/12/91 C INCLUDES PLANARS IN R-Z FIT C INCLUDES PLANARS IN PHI-Z FIT - REMOVED C AUTHOR I.O.SKILLICORN C SET FOR FAST FILTER C STR LINE FIT IN R-Z C STR LINE FIT IN PHI-Z C C VERTEX CORRECTED - FIT IN HELIX COORDS TO ALLOW FOR AN OFFSET C VERTEX XVV,YVV C C CORRECTED FOR OFFSET RADIALS * C ************************************************************* C REJECT R-Z FITS WITH UNREASONABLE INTERCEPT SEE ZCUT C DISABLED 6/6/90 C ****************************************************** C FOR THREE MODULE FIT ONLY ABS(ZINT) GT ZCUT C CORRECTED TO AVOID DIVIDE CHECK 11/6/90 C VARIABLE ANGLE PLANARS 1/11/90 * *KEEP,FRDIMS. *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,FRWERR. *KEND. * * C TO USE Z-VERTEX IVERTX=1 C C NOTE THAT XV,YV MUST ALWAYS BE USED TO GET CORRECT HELIX FRAME - C NOMINAL BEAM POSITION WOULD BE USED IN PRACTISE . * C Z-VERTEX NEED NOT BE USED . IT'S USE RESULTS IN A BETTER DEFINITIO C OF THE R-Z SLOPE - FEWER PATREC ERRORS - BETTER D(1/P) C USE PLANARS IN FINAL PHI-Z FIT TO IMPROVE R : IPL=1 * C WRITE(*,*)' FTFHPL ERRORS ',ERRVL,ERRV,ERRP,ERRRX C Z INTERCEPT CUT ******************* C *********************************** C TO CALCULATE R USE: C R=RD*Z +RO * C TO CALCULATE PHI USE: C PHI=Z*RPCOS+PHZ * * * C FIT R-Z IN HELIX COORDS - NO VERTEX CONSTRAINT * C********************************************************* C ADD IN VERTEX C PRINT1003,II,J,XX(II),YY(II),WP(II) C********************************************************* * C J IS POINT NO. K=PLANE NO. C RADIALS ************************************************************************ * CORRECT FOR ERRORS IN POSITION OF RADIAL HERE ************************************************************************ * * C LAB PHI C LAB R C CORRECT FOR DISPLACEMENT OF RADIAL C HELIX R *--------------------------------------------- C PRINT1003,II,J,XX(II),YY(II),WP(II) *--------------------------------------------- C PLANARS * AL=ATAN2(S(K),C(K)) C 1/11/90 VARIABLE ANGLE PLANARS C TO AVOID DIV. BY 0 *--------------------------------------------- C PRINT1003,II,J,XX(II),YY(II),WP(II) *--------------------------------------------- * CALL FTLFTW(XX,YY,WP,II,0,2,RZS,RZII,ET,DRZS,DRZI,COVR) C RZS-SLOPE,RZII-INTERCEPT C WRITE(*,*)' RZS,RZII ',RZS,RZII C FOR STOREAGE OF HELIX R * C CALCULATE CHI**2 OF FIT TO STR LINE IN R -Z * For an overall 'Chi-squared'... * * * * * C CALCULATE PHI BASED ON FITTED R - IN LAB C MAKE A FIT TO HELIX PHI C J IS POINT NO. K=PLANE NO. C WRITE(*,*)' FTFHPL J,K, DR RM ',II,J,K,DRI(J,K),RM(J,K) * * ************************************************************************ * CORRECT FOR ERRORS IN POSITION OF RADIAL HERE ************************************************************************ C*********************************************************************** * C USE HELIX R - THIS INCLUDES PLANARS IF IPL=1 C CONVERT HELIX R TO LAB R C*********************************************************************** * C PHI WITH FITTED R - IN LAB - TO GET MORE ACCURACY IN PHI C .................................................................. * C WRITE(*,*)' FHLX ERROR',(DRI(J,K)*SD(K)+WS(K)),RR C LAB PHI WITH FITTED R C TO HELIX COORDS ************************************************************************ * CORRECT FOR ERRORS IN POSITION OF RADIAL HERE * EFFECTIVELY XVV, YVV ARE CHANGED ************************************************************************ * C NEXT LINE IS PHI HELIX CALCULATED WITH FITTED R C RECALCULATE CORRECTIONS - USE RESULT OF PREVIOUS FIT * C ------------------------------------------------------------ C THE ERROR SEEMS TO BE CALCULATED CORRECTLY ( ON AVERAGE ) C FOR 3 AND 2 MODULES EVENTS WITH THE FOLLOWING WEIGHT C ( IT MUST OVERESTIMATE THE ERROR DUE TO DR HOWEVER) *------------------------------------------ C PRINT1002,J,II,XX(II),YY(II),WP(II),RR *------------------------------------------ ******* * Try to repair Phi-discontinuites... ******* C CALL FTLFTW(XX,YY,WP,II,0,2,RPCOS,PHZ,EL,DRPCOS,DPHZ,COVP) C RPCOS-SLOPE PHI-Z,PHZ-INTERCEPT PHI AXIS * *------------------------------------------ CDEB PRINT5000,RPCOS,PHZ,DRPCOS,DPHZ *------------------------------------------ * C GUARD AGAINST RPCOS<< ERROR **** IF(ABS(RPCOS).LT.DRPCOS/10.)RPCOS=DRPCOS/10. C C C CALCULATE CHI**2 OF FIT TO STR LINE IN PHI-Z * For an overall 'Chi-squared'... C WRITE(*,*)' RPCOS,PHZ,CH ',RPCOS,PHZ,CH *------------------------------------------ C PRINT 1000,PP,DL,DM,DN,DRPCOS*100.,PCOS,PSIN,PHZ *------------------------------------------ * *