~madteam/mg5amcnlo/series2.0

« back to all changes in this revision

Viewing changes to tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/check_sa.f

  • Committer: olivier Mattelaer
  • Date: 2016-05-12 11:00:18 UTC
  • mfrom: (262.1.150 2.3.4)
  • Revision ID: olivier.mattelaer@uclouvain.be-20160512110018-sevb79f0wm4g8mpp
pass to 2.4.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
157
157
      DO K=1,NPSPOINTS
158
158
 
159
159
        IF(READPS) THEN
160
 
          OPEN(967, FILE='PS.input', ERR=976, STATUS='OLD', ACTION='RE'
161
 
     $     //'AD')
 
160
          OPEN(967, FILE='PS.input', ERR=976, STATUS='OLD',
 
161
     $      ACTION='READ')
162
162
          DO I=1,NEXTERNAL
163
163
            READ(967,*,END=978) P(0,I),P(1,I),P(2,I),P(3,I)
164
164
          ENDDO
168
168
 978      CONTINUE
169
169
          CLOSE(967)
170
170
        ELSE
171
 
          IF ((NINCOMING.EQ.2).AND.((NEXTERNAL - NINCOMING .EQ.1))
172
 
     $     ) THEN
 
171
          IF ((NINCOMING.EQ.2).AND.((NEXTERNAL - NINCOMING .EQ.1)))
 
172
     $      THEN
173
173
            IF (PMASS(3).EQ.0.0D0) THEN
174
174
              STOP 'Cannot generate 2>1 kin. config. with m3=0.0d0'
175
175
            ELSE
214
214
C       Update the couplings with the new MU_R
215
215
        CALL UPDATE_AS_PARAM()
216
216
 
217
 
C       Optionally the user can set where to find the MadLoop5_resource
218
 
C       s folder.
 
217
C       Optionally the user can set where to find the
 
218
C        MadLoop5_resources folder.
219
219
C       Otherwise it will look for it automatically and find it if it
220
220
C        has not
221
221
C       been moved
251
251
     $       ,DSQRT(DABS(DOT(P(0,I),P(0,I))))
252
252
          ENDDO
253
253
          WRITE (*,*) '---------------------------------'
254
 
          WRITE (*,*) 'Detailed result for each coupling order'
255
 
     $     //'s combination.'
 
254
          WRITE (*,*) 'Detailed result for each coupling orders'
 
255
     $     //' combination.'
256
256
 
257
257
 
258
258
          UNITS=MOD(RETURNCODE,10)
260
260
          HUNDREDS=(RETURNCODE-TENS*10-UNITS)/100
261
261
          IF (HUNDREDS.EQ.1) THEN
262
262
            IF (TENS.EQ.3.OR.TENS.EQ.4) THEN
263
 
              WRITE(*,*) 'Unknown numerical stability because MadLoo'
264
 
     $         //'p is in the initialization stage.'
 
263
              WRITE(*,*) 'Unknown numerical stability because MadLoop'
 
264
     $         //' is in the initialization stage.'
265
265
            ELSE
266
 
              WRITE(*,*) 'Unknown numerical stability, check CTModeRu'
267
 
     $         //'n value in MadLoopParams.dat.'
 
266
              WRITE(*,*) 'Unknown numerical stability, check CTModeRun'
 
267
     $         //' value in MadLoopParams.dat.'
268
268
            ENDIF
269
269
          ELSEIF (HUNDREDS.EQ.2) THEN
270
270
            WRITE(*,*) 'Stable kinematic configuration (SPS).'
273
273
            WRITE(*,*) 'Quadruple precision rescue successful.'
274
274
          ELSEIF (HUNDREDS.EQ.4) THEN
275
275
            WRITE(*,*) 'Exceptional kinematic configuration (EPS).'
276
 
            WRITE(*,*) 'Both double an quadruple precision computation'
277
 
     $       //'s, are unstable.'
 
276
            WRITE(*,*) 'Both double an quadruple precision'
 
277
     $       //' computations, are unstable.'
278
278
          ENDIF
279
279
          IF (TENS.EQ.2.OR.TENS.EQ.4) THEN
280
280
            WRITE(*,*) 'Quadruple precision computation used.'
284
284
              WRITE(*,'(1x,a23,1x,1e10.2)') 'Relative accuracy     ='
285
285
     $         ,PREC_FOUND(0)
286
286
            ELSEIF (PREC_FOUND(0).EQ.0.0D0) THEN
287
 
              WRITE(*,'(1x,a23,1x,1e10.2,1x,a30)') 'Relative accuracy'
288
 
     $         //'     =',PREC_FOUND(0),'(i.e. beyond double precisio'
289
 
     $         //'n)'
 
287
              WRITE(*,'(1x,a23,1x,1e10.2,1x,a30)') 'Relative accuracy '
 
288
     $         //'    =',PREC_FOUND(0),'(i.e. beyond double precision)'
290
289
            ELSE
291
 
              WRITE(*,*) 'Estimated accuracy could not be computed fo'
292
 
     $         //'r an unknown reason.'
 
290
              WRITE(*,*) 'Estimated accuracy could not be computed for'
 
291
     $         //' an unknown reason.'
293
292
            ENDIF
294
293
          ENDIF
295
294
          WRITE (*,*) '---------------------------------'
296
295
          IF (NBORNCHOSEN.EQ.0) THEN
297
 
            WRITE (*,*) 'No Born contribution satisfied the square'
298
 
     $       //'d order constraints.'
 
296
            WRITE (*,*) 'No Born contribution satisfied the squared'
 
297
     $       //' order constraints.'
299
298
          ELSE IF (NBORNCHOSEN.NE.NSQSO_BORN) THEN
300
 
            WRITE (*,*) 'Selected squared coupling orders combinatio'
301
 
     $       //'n for the Born summed result below:'
 
299
            WRITE (*,*) 'Selected squared coupling orders combination'
 
300
     $       //' for the Born summed result below:'
302
301
            WRITE (*,*) (CHOSEN_BORN_SO_INDICES(I),I=1,NBORNCHOSEN)
303
302
          ENDIF
304
303
          IF (NLOOPCHOSEN.NE.NSQUAREDSO) THEN
305
 
            WRITE (*,*) 'Selected squared coupling orders combinatio'
306
 
     $       //'n for the loop summed result below:'
 
304
            WRITE (*,*) 'Selected squared coupling orders combination'
 
305
     $       //' for the loop summed result below:'
307
306
            WRITE (*,*) (CHOSEN_LOOP_SO_INDICES(I),I=1,NLOOPCHOSEN)
308
307
          ENDIF
309
308
          WRITE (*,*) '---------------------------------'
310
 
          WRITE (*,*) 'Matrix element born   = ', MATELEM(0,0)
311
 
     $     , ' GeV^',-(2*NEXTERNAL-8)
312
 
          WRITE (*,*) 'Matrix element finite = ', MATELEM(1,0)
313
 
     $     , ' GeV^',-(2*NEXTERNAL-8)
314
 
          WRITE (*,*) 'Matrix element 1eps   = ', MATELEM(2,0)
315
 
     $     , ' GeV^',-(2*NEXTERNAL-8)
316
 
          WRITE (*,*) 'Matrix element 2eps   = ', MATELEM(3,0)
317
 
     $     , ' GeV^',-(2*NEXTERNAL-8)
 
309
          WRITE (*,*) 'Matrix element born   = ', MATELEM(0,0), 
 
310
     $     ' GeV^',-(2*NEXTERNAL-8)
 
311
          WRITE (*,*) 'Matrix element finite = ', MATELEM(1,0), 
 
312
     $     ' GeV^',-(2*NEXTERNAL-8)
 
313
          WRITE (*,*) 'Matrix element 1eps   = ', MATELEM(2,0), 
 
314
     $     ' GeV^',-(2*NEXTERNAL-8)
 
315
          WRITE (*,*) 'Matrix element 2eps   = ', MATELEM(3,0), 
 
316
     $     ' GeV^',-(2*NEXTERNAL-8)
318
317
          WRITE (*,*) '---------------------------------'
319
318
          IF (MATELEM(0,0).NE.0.0D0) THEN
320
319
            WRITE (*,*) 'finite / (born*ao2pi) = ', MATELEM(1,0)
332
331
 
333
332
          OPEN(69, FILE='result.dat', ERR=976, ACTION='WRITE')
334
333
          DO I=1,NEXTERNAL
335
 
            WRITE (69,'(a2,1x,5e25.15)') 'PS',P(0,I),P(1,I),P(2,I),P(3
336
 
     $       ,I)
 
334
            WRITE (69,'(a2,1x,5ES30.15E3)') 'PS',P(0,I),P(1,I),P(2,I)
 
335
     $       ,P(3,I)
337
336
          ENDDO
338
 
          WRITE (69,'(a3,1x,i2)') 'EXP',-(2*NEXTERNAL-8)
339
 
          WRITE (69,'(a4,1x,1e25.15)') 'BORN',MATELEM(0,0)
 
337
          WRITE (69,'(a3,1x,i3)') 'EXP',-(2*NEXTERNAL-8)
 
338
          WRITE (69,'(a4,1x,1ES30.15E3)') 'BORN',MATELEM(0,0)
340
339
          IF (MATELEM(0,0).NE.0.0D0) THEN
341
 
            WRITE (69,'(a3,1x,1e25.15)') 'FIN',MATELEM(1,0)/MATELEM(0
342
 
     $       ,0)/AO2PI
343
 
            WRITE (69,'(a4,1x,1e25.15)') '1EPS',MATELEM(2,0)/MATELEM(0
344
 
     $       ,0)/AO2PI
345
 
            WRITE (69,'(a4,1x,1e25.15)') '2EPS',MATELEM(3,0)/MATELEM(0
346
 
     $       ,0)/AO2PI
 
340
            WRITE (69,'(a3,1x,1ES30.15E3)') 'FIN',MATELEM(1,0)
 
341
     $       /MATELEM(0,0)/AO2PI
 
342
            WRITE (69,'(a4,1x,1ES30.15E3)') '1EPS',MATELEM(2,0)
 
343
     $       /MATELEM(0,0)/AO2PI
 
344
            WRITE (69,'(a4,1x,1ES30.15E3)') '2EPS',MATELEM(3,0)
 
345
     $       /MATELEM(0,0)/AO2PI
347
346
          ELSE
348
 
            WRITE (69,'(a3,1x,1e25.15)') 'FIN',MATELEM(1,0)/AO2PI
349
 
            WRITE (69,'(a4,1x,1e25.15)') '1EPS',MATELEM(2,0)/AO2PI
350
 
            WRITE (69,'(a4,1x,1e25.15)') '2EPS',MATELEM(3,0)/AO2PI
 
347
            WRITE (69,'(a3,1x,1ES30.15E3)') 'FIN',MATELEM(1,0)/AO2PI
 
348
            WRITE (69,'(a4,1x,1ES30.15E3)') '1EPS',MATELEM(2,0)/AO2PI
 
349
            WRITE (69,'(a4,1x,1ES30.15E3)') '2EPS',MATELEM(3,0)/AO2PI
351
350
          ENDIF
352
 
          WRITE (69,'(a6,1x,1e25.15)') 'ASO2PI',AO2PI
 
351
          WRITE (69,'(a6,1x,1ES30.15E3)') 'ASO2PI',AO2PI
353
352
          WRITE (69,*) 'Export_Format Default'
354
353
          WRITE (69,'(a7,1x,i3)') 'RETCODE',RETURNCODE
355
354
          WRITE (69,'(a3,1x,1e10.4)') 'ACC',PREC_FOUND(0)
399
398
C     CALL SLOOPMATRIX(P,MATELEM)
400
399
C     
401
400
C     write (*,*) "-------------------------------------------------"
402
 
C     write (*,*) "Matrix element = ", MATELEM(1), " GeV^",-(2*nexterna
403
 
C     l-8)      
 
401
C     write (*,*) "Matrix element = ", MATELEM(1), "
 
402
C      GeV^",-(2*nexternal-8)      
404
403
C     write (*,*) "-------------------------------------------------"
405
404
 
406
405
      DEALLOCATE(MATELEM)
648
647
      RETURN
649
648
C     
650
649
 1001 FORMAT(' RAMBO FAILS: # OF PARTICLES =',I5,' IS NOT ALLOWED')
651
 
 1002 FORMAT(' RAMBO FAILS: TOTAL MASS =',D15.6,' IS NOT',' SMALLE'
652
 
     $ //'R THAN TOTAL ENERGY =',D15.6)
 
650
 1002 FORMAT(' RAMBO FAILS: TOTAL MASS =',D15.6,' IS NOT',' SMALLER'
 
651
     $ //' THAN TOTAL ENERGY =',D15.6)
653
652
 1004 FORMAT(' RAMBO WARNS: WEIGHT = EXP(',F20.9,') MAY UNDERFLOW')
654
653
 1005 FORMAT(' RAMBO WARNS: WEIGHT = EXP(',F20.9,') MAY  OVERFLOW')
655
 
 1006 FORMAT(' RAMBO WARNS:',I3,' ITERATIONS DID NOT GIVE THE'
656
 
     $ ,' DESIRED ACCURACY =',D15.6)
 
654
 1006 FORMAT(' RAMBO WARNS:',I3,' ITERATIONS DID NOT GIVE THE',
 
655
     $ ' DESIRED ACCURACY =',D15.6)
657
656
      END
658
657
 
659
658
      FUNCTION RN(IDUMMY)