--- DarthVader/TrackerLevel2/src/F77/mini.f 2006/11/15 14:54:06 1.7 +++ DarthVader/TrackerLevel2/src/F77/mini.f 2006/11/21 14:00:40 1.8 @@ -41,8 +41,10 @@ * !the tracking procedure DATA STEPMAX/100./ !maximum number of steps in the trackin gprocess - DATA ALMAX/dinf,dinf,1.,dinf,dinf/ !limits on alpha vector components - DATA ALMIN/-dinf,-dinf,-1.,-dinf,-dinf/ !" +c DATA ALMAX/dinf,dinf,1.,dinf,dinf/ !limits on alpha vector components +c DATA ALMIN/-dinf,-dinf,-1.,-dinf,-dinf/ !" + DATA ALMAX/dinf,dinf,dinf,dinf,dinf/ !limits on alpha vector components + DATA ALMIN/-dinf,-dinf,-dinf,-dinf,-dinf/ !" DIMENSION DAL(5) !increment of vector alfa DIMENSION CHI2DD_R(4,4),CHI2D_R(4) !hessiano e gradiente di chi2 @@ -798,8 +800,9 @@ ENDIF ENDDO CALL TRICIRCLE(NP,XP,ZP,AP,RP,CHI,XC,ZC,RADIUS,IFLAG) -c print*,' circle: ',XC,ZC,RADIUS,' --- ',CHI + print*,' circle: ',XC,ZC,RADIUS,' --- ',CHI,IFLAG IF(IFLAG.NE.0)GOTO 10 !straigth fit + if(CHI.gt.100)GOTO 10 !straigth fit ARG = RADIUS**2-(ZINI-ZC)**2 IF(ARG.LT.0)GOTO 10 !straigth fit DC = SQRT(ARG) @@ -808,6 +811,12 @@ AX = -(ZINI-ZC)/DC DEF=100./(RADIUS*0.3*0.43) IF(XC.GT.0)DEF=-DEF + + IF(ABS(X0).GT.30)THEN + PRINT*,'STRANGE GUESS: XC,ZC,R ',XC,ZC,RADIUS + $ ,' - CHI ',CHI,' - X0,AX,DEF ',X0,AX,DEF + GOTO 10 !straigth fit + ENDIF GOTO 20 !guess is ok * ----------------------------------------