*-- Author : I.O.Skillicorn
SUBROUTINE FXLFIT(NPAR)
C 3/2/92 SEARCH FOR BAD POINTS AND REFIT
*KEEP,BOSMDL.
C ------BOSMDL
C ------
*KEND.
C XX ADDED FOR RESIDUAL CHECK - MEDFIT
CALL STEXT(IHX+250,4,' TIME0 PLANAR FIT ' )
CALL BHS(IHX+250,0,50,-1.,1.)
CALL STEXT(IHX+251,4,' TIME0 PLANAR FIT ' )
CALL BHS(IHX+251,0,50,-0.1,0.1)
CALL STEXT(IHX+252,4,' CHI PLANAR FIT ' )
CALL BHS(IHX+252,0,50,0.,10.)
CALL STEXT(IHX+253,4,' TIME0 PLANAR FIT CHI <5 ' )
CALL BHS(IHX+253,0,50,-1.,1.)
CALL STEXT(IHX+254,4,' TIME0 PLANAR FIT CHI <5 ' )
CALL BHS(IHX+254,0,50,-0.1,0.1)
CALL STEXT(IHX+255,4,' ERROR IN T0 FIT CHI <5 ' )
CALL BHS(IHX+255,0,50,0.0,0.025)
CALL STEXT(IHX+256,4,' # POINTS IN T0 FIT ' )
CALL BHS(IHX+256,0,50,0.0,100. )
CALL STEXT(IHX+257,4,' RESIDUAL CHI < 5 PLANARS M0 ' )
CALL BHS(IHX+257,0,50,-5.0,5.0 )
CALL STEXT(IHX+258,4,' RESIDUAL CHI < 5 PLANARS M1 ' )
CALL BHS(IHX+258,0,50,-5.0,5.0 )
CALL STEXT(IHX+259,4,' RESIDUAL CHI < 5 PLANARS M2 ' )
CALL BHS(IHX+259,0,50,-5.0,5.0 )
CALL STEXT(IHX+260,4,' RESIDUAL CHI < 5 RADIALS M0 ' )
CALL BHS(IHX+260,0,50,-5.0,5.0 )
CALL STEXT(IHX+261,4,' RESIDUAL CHI < 5 RADIALS M1 ' )
CALL BHS(IHX+261,0,50,-5.0,5.0 )
CALL STEXT(IHX+262,4,' RESIDUAL CHI < 5 RADIALS M2 ' )
CALL BHS(IHX+262,0,50,-5.0,5.0 )
CC CALL STEXT(IHX+263,4,' SCALE FACTOR CHI < 5 ' )
CC CALL BHS(IHX+263,0,50,0.9,1.1)
CALL STEXT(IHX+264,4,' SCALE FACTOR FOR RADIAL DRIFT CHI< 5 ')
CALL BHS(IHX+264,0,50,-1.0,1.0)
C NEXT 2 LINES FOR T0 FIT *************************
C******************************************************
C FIRST FIT
CALL FXFIT(X,YY,SSIG,NNDATA,A,MA,LISTA,MFIT,COVAR,NCVM,CHISQ)
C WRITE(*,*)' CHI 1 ',CHI
** IF(CHI.GT.2.0)THEN
C REMOVE BAD POINTS AND REFIT
** RMAX=0.
** DO 3100 I=1,NNDATA
** ARES(I)=ABS(RES(I))
** INX(I)=I
** IF(ABS(RES(I)).GT.RMAX)RMAX=ABS(RES(I))
C CALL SORTFL(ARES,INX,NNDATA)
* DO 3110 I=1,NNDATA
C PRINT 2002,I,INX(I),ARES(INX(I))
* IF(ABS(RES(I)).GT.RMAX/1.5)THEN
*** SSIG(I)=1000.
* ENDIF
*3110 CONTINUE
C EXAMINE RESIDUALS WITH MEDFIT - REJECT IF > 2.5 * MEAN
C ROBUST STR LINE FIT (LEAST ABSOLUTE DEVIATION)
** CALL MEDFIT(XX,RES,NNDATA,AR,BR,ABDEV)
C WRITE(*,*)' MEDFIT RESIDUALS ',ABDEV
** DO 3300 I=1,NNDATA
** RR=RES(I)-(AR+BR*XX(I))
C PRINT2002,I,I,RR
C TEMP REMOVAL OF POINT REJECT
** IF(ABS(RR).GT.2.5*ABDEV)SSIG(I)=1000.
C REFIT AFTER POINT REJECT
** CALL FLFIT(X,YY,SSIG,NNDATA,A,MA,LISTA,MFIT,COVAR,NCVM,CHISQ)
** CHI=CHISQ/FLOAT(NNDATA)
C WRITE(*,*)' CHI 2 ',CHI
** RMAX=0.
** DO 3200 I=1,NNDATA
** ARES(I)=ABS(RES(I))
** INX(I)=I
* IF(ABS(RES(I)).GT.RMAX)RMAX=ABS(RES(I))
* CALL SORTFL(ARES,INX,NNDATA)
* DO 3210 I=1,NNDATA
C PRINT 2002,I,INX(I),ARES(INX(I))
* IF(ABS(RES(I)).GT.RMAX/1.5)THEN
* SSIG(I)=1000.
* ENDIF
*3210 CONTINUE
** ENDIF
CC PRINT 1000,MOD,NNDATA,CHI
CC PRINT1001,(A(KK),KK=1,MFIT-1)
C PRINT1001,(A(KK),KK=1,MFIT )
CC PRINT1002,A(50)
CALL SHS(IHX+250,0,A(50))
CALL SHS(IHX+251,0,A(50))
CALL SHS(IHX+252,0,CHI)
CALL SHS(IHX+253,0,A(50))
CALL SHS(IHX+254,0.,A(50))
CALL SHS(IHX+255,0.,DTZ)
CALL SHS(IHX+256,0.,FLOAT(NNDATA))
C SCALE FACTOR = 1/FACTOR FOR DRIFT VELOCITY CHANGE
C IE BETTER DRIFT VEL = DV ORIGINAL/SF
CCC SF=SF1/SF2
C WRITE(*,*)' FTZFIT SF ',SF
CCC IF(ABS(SF-1.0).LT.0.1)CALL SHS(IHX+263,0.,SF)
**********************************************************************
C SELECT ANGLE OF WIRES -1.57,-2.62,-0.52 Y,U,V
C THSEL=-0.52
C THSEL=-2.62
**********************************************************************
C WRITE(*,*)' THET ',I,THET(I)
C
C
C
C
C
*************************************************************
C MODULE TO BE STUDIED HAS SSIG MULTPILIED BY 100.
C IN FTZFIT
C
C PLANAR RESIDULALS
**************ANGLE SELECTION********************************
CX IF(ABS(THET(I)-THSEL).LT.0.50)THEN
*************************************************************
C RADIAL RESIDUALS
CX ENDIF
*