361
384
CALL PRINT_MADLOOP_BANNER()
363
386
CALL SETMADLOOPPATH(TMP)
364
387
CALL JOINPATH(MLPATH,PARAMFNAME,PARAMFN)
365
388
CALL MADLOOPPARAMREADER(PARAMFN,.TRUE.)
390
C Make sure that NROTATIONS_QP and NROTATIONS_DP are set to zero
391
C if AUTOMATIC_TIR_CACHE_CLEARING is disabled.
392
IF(.NOT.AUTOMATIC_TIR_CACHE_CLEARING) THEN
393
IF(NROTATIONS_DP.NE.0.OR.NROTATIONS_QP.NE.0) THEN
394
WRITE(*,*) 'INFO: AUTOMATIC_TIR_CACHE_CLEARING is disable'
395
$ //'d, so MadLoop automatically resets NROTATIONS_DP an'
396
$ //'d NROTATIONS_QP to 0.'
403
QP_TOOLS_AVAILABLE=.FALSE.
404
INDEX_QP_TOOLS(1:QP_NLOOPLIB+1)=0
405
C SKIP THE ONES THAT NOT AVAILABLE
408
IF(MLREDUCTIONLIB(J).EQ.0)EXIT
409
IF(.NOT.LOOPLIBS_AVAILABLE(MLREDUCTIONLIB(J)))THEN
410
MLREDUCTIONLIB(J:NLOOPLIB-1)=MLREDUCTIONLIB(J+1:NLOOPLIB)
411
MLREDUCTIONLIB(NLOOPLIB)=0
416
IF(MLREDUCTIONLIB(1).EQ.0)THEN
417
STOP 'No available loop reduction lib is provided. Make sur'
418
$ //'e MLReductionLib is correct.'
422
IF(MLREDUCTIONLIB(I).EQ.1)THEN
424
IF(.NOT.QP_TOOLS_AVAILABLE)QP_TOOLS_AVAILABLE=.TRUE.
429
C Setup the file paths
430
CALL JOINPATH(MLPATH,PARAMFNAME,PARAMFN)
431
CALL JOINPATH(MLPATH,PROC_PREFIX,TMP)
432
CALL JOINPATH(TMP,HELCONFIGFNAME,HELCONFIGFN)
433
CALL JOINPATH(TMP,LOOPFILTERFNAME,LOOPFILTERFN)
434
CALL JOINPATH(TMP,COLORNUMFNAME,COLORNUMFN)
435
CALL JOINPATH(TMP,COLORDENOMFNAME,COLORDENOMFN)
436
CALL JOINPATH(TMP,HELFILTERFNAME,HELFILTERFN)
438
CALL ML5_0_SET_N_EVALS(N_DP_EVAL,N_QP_EVAL)
440
OPEN(1, FILE=COLORNUMFN, ERR=104, STATUS='OLD',
443
READ(1,*,END=105) (CF_N(I,J),J=1,NBORNAMPS)
447
STOP 'Color factors could not be initialized from file ML5_0_Col'
448
$ //'orNumFactors.dat. File not found'
451
OPEN(1, FILE=COLORDENOMFN, ERR=106, STATUS='OLD',
454
READ(1,*,END=107) (CF_D(I,J),J=1,NBORNAMPS)
458
STOP 'Color factors could not be initialized from file ML5_0_Col'
459
$ //'orDenomFactors.dat. File not found'
462
OPEN(1, FILE=HELCONFIGFN, ERR=108, STATUS='OLD',
465
READ(1,*,END=109) (HELC(I,H),I=1,NEXTERNAL)
469
STOP 'Color helictiy configurations could not be initialize'
470
$ //'d from file ML5_0_HelConfigs.dat. File not found'
474
C SETUP OF THE COMMON STARTING EXTERNAL LOOP WAVEFUNCTION
475
C IT IS ALSO PS POINT INDEPENDENT, SO IT CAN BE DONE HERE.
477
PL(I,0)=(0.0D0,0.0D0)
480
DO J=0,LOOPMAXCOEFS-1
482
IF(I.EQ.K.AND.J.EQ.0) THEN
483
WL(I,J,K,0)=(1.0D0,0.0D0)
485
WL(I,J,K,0)=(0.0D0,0.0D0)
491
WRITE(*,*) 'Stopped by user request.'
369
495
IF(NTRY.EQ.0) THEN
370
C CALL MADLOOPPARAMREADER(paramFileName,.TRUE.)
371
QP_TOOLS_AVAILABLE=.FALSE.
372
INDEX_QP_TOOLS(1:QP_NLOOPLIB+1)=0
373
C SKIP THE ONES THAT NOT AVAILABLE
376
IF(MLREDUCTIONLIB(J).EQ.0)EXIT
377
IF(.NOT.LOOPLIBS_AVAILABLE(MLREDUCTIONLIB(J)))THEN
378
MLREDUCTIONLIB(J:NLOOPLIB-1)=MLREDUCTIONLIB(J+1:NLOOPLIB)
379
MLREDUCTIONLIB(NLOOPLIB)=0
384
IF(MLREDUCTIONLIB(1).EQ.0)THEN
385
STOP 'No available loop reduction lib is provided. Make sur'
386
$ //'e MLReductionLib is correct.'
390
IF(MLREDUCTIONLIB(I).EQ.1)THEN
392
IF(.NOT.QP_TOOLS_AVAILABLE)QP_TOOLS_AVAILABLE=.TRUE.
397
C Setup the file paths
398
CALL JOINPATH(MLPATH,PARAMFNAME,PARAMFN)
399
CALL JOINPATH(MLPATH,PROC_PREFIX,TMP)
400
CALL JOINPATH(TMP,HELCONFIGFNAME,HELCONFIGFN)
401
CALL JOINPATH(TMP,LOOPFILTERFNAME,LOOPFILTERFN)
402
CALL JOINPATH(TMP,COLORNUMFNAME,COLORNUMFN)
403
CALL JOINPATH(TMP,COLORDENOMFNAME,COLORDENOMFN)
404
CALL JOINPATH(TMP,HELFILTERFNAME,HELFILTERFN)
406
CALL ML5_0_SET_N_EVALS(N_DP_EVAL,N_QP_EVAL)
408
HELDOUBLECHECKED=.NOT.DOUBLECHECKHELICITYFILTER
496
HELDOUBLECHECKED=(.NOT.DOUBLECHECKHELICITYFILTER).OR.(HELICITYF
409
498
OPEN(1, FILE=LOOPFILTERFN, ERR=100, STATUS='OLD',
411
500
DO J=1,NLOOPGROUPS
725
797
CALL FFV1P0_3(W(1,4),W(1,3),GC_5,ZERO,ZERO,W(1,6))
726
798
C Counter-term amplitude(s) for loop diagram number 2
727
799
CALL R2_GG_1_0(W(1,5),W(1,6),R2_GGQ,AMPL(1,1))
800
CALL R2_GG_1_0(W(1,5),W(1,6),R2_GGQ,AMPL(1,2))
801
CALL R2_GG_1_0(W(1,5),W(1,6),R2_GGQ,AMPL(1,3))
802
CALL R2_GG_1_0(W(1,5),W(1,6),R2_GGQ,AMPL(1,4))
728
803
C Counter-term amplitude(s) for loop diagram number 5
729
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQQ_1EPS,AMPL(2,2))
730
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQQ_1EPS,AMPL(2,3))
731
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQQ_1EPS,AMPL(2,4))
732
804
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQQ_1EPS,AMPL(2,5))
733
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQB,AMPL(1,6))
805
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQQ_1EPS,AMPL(2,6))
734
806
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQQ_1EPS,AMPL(2,7))
735
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQT,AMPL(1,8))
736
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQQ_1EPS,AMPL(2,9))
737
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQG_1EPS,AMPL(2,10))
738
CALL FFV1_0(W(1,1),W(1,2),W(1,6),R2_GQQ,AMPL(1,11))
807
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQQ_1EPS,AMPL(2,8))
808
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQB,AMPL(1,9))
809
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQQ_1EPS,AMPL(2,10))
810
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQT,AMPL(1,11))
811
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQQ_1EPS,AMPL(2,12))
812
CALL FFV1_0(W(1,1),W(1,2),W(1,6),UV_GQQG_1EPS,AMPL(2,13))
813
CALL FFV1_0(W(1,1),W(1,2),W(1,6),R2_GQQ,AMPL(1,14))
739
814
C Counter-term amplitude(s) for loop diagram number 7
740
CALL R2_GG_1_0(W(1,5),W(1,6),R2_GGQ,AMPL(1,12))
815
CALL R2_GG_1_R2_GG_3_0(W(1,5),W(1,6),R2_GGQ,R2_GGB,AMPL(1
741
817
C Counter-term amplitude(s) for loop diagram number 8
742
CALL R2_GG_1_0(W(1,5),W(1,6),R2_GGQ,AMPL(1,13))
818
CALL R2_GG_1_R2_GG_3_0(W(1,5),W(1,6),R2_GGQ,R2_GGT,AMPL(1
743
820
C Counter-term amplitude(s) for loop diagram number 9
744
CALL R2_GG_1_0(W(1,5),W(1,6),R2_GGQ,AMPL(1,14))
745
C Counter-term amplitude(s) for loop diagram number 10
746
CALL R2_GG_1_R2_GG_3_0(W(1,5),W(1,6),R2_GGQ,R2_GGB,AMPL(1
748
C Counter-term amplitude(s) for loop diagram number 11
749
CALL R2_GG_1_R2_GG_3_0(W(1,5),W(1,6),R2_GGQ,R2_GGT,AMPL(1
751
C Counter-term amplitude(s) for loop diagram number 12
752
821
CALL FFV1_0(W(1,4),W(1,3),W(1,5),UV_GQQQ_1EPS,AMPL(2,17))
753
822
CALL FFV1_0(W(1,4),W(1,3),W(1,5),UV_GQQQ_1EPS,AMPL(2,18))
754
823
CALL FFV1_0(W(1,4),W(1,3),W(1,5),UV_GQQQ_1EPS,AMPL(2,19))
819
882
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,4),4,COEFS,4,4,WL(1,0,1,5))
820
883
CALL FFV1L1P0_3(PL(0,5),W(1,3),GC_5,ZERO,ZERO,PL(0,6),COEFS)
821
884
CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,5),4,COEFS,4,4,WL(1,0,1,6))
822
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,6),2,4,2,1,31,H)
885
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,6),2,4,2,1,1,31,H)
823
886
C Coefficient construction for loop diagram with ID 4
824
887
CALL FFV1L3_1(PL(0,4),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,7)
826
889
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,4),4,COEFS,4,4,WL(1,0,1,7))
827
890
CALL FFV1L2P0_3(PL(0,7),W(1,4),GC_5,ZERO,ZERO,PL(0,8),COEFS)
828
891
CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,7),4,COEFS,4,4,WL(1,0,1,8))
829
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,8),2,4,3,1,32,H)
892
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,8),2,4,3,1,1,32,H)
830
893
C Coefficient construction for loop diagram with ID 5
831
894
CALL VVV1L2P0_1(PL(0,4),W(1,6),GC_4,ZERO,ZERO,PL(0,9),COEFS)
832
895
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,4),4,COEFS,4,4,WL(1,0,1,9))
833
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,9),2,4,4,1,33,H)
896
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,9),2,4,4,1,1,33,H)
834
897
C Coefficient construction for loop diagram with ID 6
835
898
CALL FFV1L2P0_3(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,10),COEFS)
836
899
CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
841
904
CALL FFV1L2_1(PL(0,11),W(1,6),GC_5,ZERO,ZERO,PL(0,12),COEFS)
842
905
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,11),4,COEFS,4,4,WL(1,0,1
844
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,12),2,4,4,1,34,H)
907
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,12),2,4,4,1,1,34,H)
845
908
C Coefficient construction for loop diagram with ID 7
846
CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,ZERO,ZERO,PL(0,13),COEFS)
909
CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,MDL_MB,ZERO,PL(0,13),COEFS)
847
910
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
849
CALL FFV1L2_1(PL(0,13),W(1,6),GC_5,ZERO,ZERO,PL(0,14),COEFS)
912
CALL FFV1L2_1(PL(0,13),W(1,6),GC_5,MDL_MB,ZERO,PL(0,14)
850
914
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,13),4,COEFS,4,4,WL(1,0,1
852
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,14),2,4,1,1,35,H)
916
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,14),2,4,5,1,1,35,H)
853
917
C Coefficient construction for loop diagram with ID 8
854
CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,ZERO,ZERO,PL(0,15),COEFS)
918
CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,MDL_MT,MDL_WT,PL(0,15)
855
920
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
857
CALL FFV1L2_1(PL(0,15),W(1,6),GC_5,ZERO,ZERO,PL(0,16),COEFS)
922
CALL FFV1L2_1(PL(0,15),W(1,6),GC_5,MDL_MT,MDL_WT,PL(0,16)
858
924
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,15),4,COEFS,4,4,WL(1,0,1
860
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,16),2,4,1,1,36,H)
926
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,16),2,4,6,1,1,36,H)
861
927
C Coefficient construction for loop diagram with ID 9
862
CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,ZERO,ZERO,PL(0,17),COEFS)
863
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
928
CALL FFV1L1P0_3(PL(0,0),W(1,3),GC_5,ZERO,ZERO,PL(0,17),COEFS)
929
CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
865
CALL FFV1L2_1(PL(0,17),W(1,6),GC_5,ZERO,ZERO,PL(0,18),COEFS)
866
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,17),4,COEFS,4,4,WL(1,0,1
931
CALL FFV1L3_2(PL(0,17),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,18)
933
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,17),4,COEFS,4,4,WL(1,0,1
868
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,18),2,4,1,1,37,H)
935
CALL FFV1L1_2(PL(0,18),W(1,5),GC_5,MDL_MT,MDL_WT,PL(0,19)
937
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,18),4,COEFS,4,4,WL(1,0,1
939
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,19),2,4,7,1,1,37,H)
869
940
C Coefficient construction for loop diagram with ID 10
870
CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,MDL_MB,ZERO,PL(0,19),COEFS)
941
CALL FFV1L3_1(PL(0,0),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,20)
871
943
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
873
CALL FFV1L2_1(PL(0,19),W(1,6),GC_5,MDL_MB,ZERO,PL(0,20)
875
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,19),4,COEFS,4,4,WL(1,0,1
877
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,20),2,4,5,1,38,H)
878
C Coefficient construction for loop diagram with ID 11
879
CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,MDL_MT,MDL_WT,PL(0,21)
945
CALL FFV1L2P0_3(PL(0,20),W(1,4),GC_5,ZERO,ZERO,PL(0,21)
881
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
947
CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,20),4,COEFS,4,4,WL(1,0,1
883
CALL FFV1L2_1(PL(0,21),W(1,6),GC_5,MDL_MT,MDL_WT,PL(0,22)
949
CALL VVV1L2P0_1(PL(0,21),W(1,5),GC_4,ZERO,ZERO,PL(0,22)
885
951
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,21),4,COEFS,4,4,WL(1,0,1
887
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,22),2,4,6,1,39,H)
888
C Coefficient construction for loop diagram with ID 12
889
CALL FFV1L1P0_3(PL(0,0),W(1,3),GC_5,ZERO,ZERO,PL(0,23),COEFS)
890
CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
953
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,22),2,4,8,1,1,38,H)
954
C Coefficient construction for loop diagram with ID 11
955
CALL VVV1L2P0_1(PL(0,0),W(1,5),GC_4,ZERO,ZERO,PL(0,23),COEFS)
956
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
892
CALL FFV1L3_2(PL(0,23),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,24)
958
CALL VVV1L2P0_1(PL(0,23),W(1,6),GC_4,ZERO,ZERO,PL(0,24)
894
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,23),4,COEFS,4,4,WL(1,0,1
960
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,23),4,COEFS,4,4,WL(1,0,1
896
CALL FFV1L1_2(PL(0,24),W(1,5),GC_5,MDL_MT,MDL_WT,PL(0,25)
898
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,24),4,COEFS,4,4,WL(1,0,1
962
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,24),2,4,1,2,1,39,H)
963
C Coefficient construction for loop diagram with ID 12
964
CALL GHGHGL2_1(PL(0,0),W(1,5),GC_4,ZERO,ZERO,PL(0,25),COEFS)
965
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1
900
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,25),2,4,7,1,40,H)
901
C Coefficient construction for loop diagram with ID 13
902
CALL FFV1L3_1(PL(0,0),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,26)
904
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
967
CALL GHGHGL2_1(PL(0,25),W(1,6),GC_4,ZERO,ZERO,PL(0,26),COEFS)
968
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,25),1,COEFS,1,1,WL(1,0,1
906
CALL FFV1L2P0_3(PL(0,26),W(1,4),GC_5,ZERO,ZERO,PL(0,27)
908
CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,26),4,COEFS,4,4,WL(1,0,1
910
CALL VVV1L2P0_1(PL(0,27),W(1,5),GC_4,ZERO,ZERO,PL(0,28)
912
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,27),4,COEFS,4,4,WL(1,0,1
914
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,28),2,4,8,1,41,H)
915
C Coefficient construction for loop diagram with ID 14
916
CALL VVV1L2P0_1(PL(0,0),W(1,5),GC_4,ZERO,ZERO,PL(0,29),COEFS)
917
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
919
CALL VVV1L2P0_1(PL(0,29),W(1,6),GC_4,ZERO,ZERO,PL(0,30)
921
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,29),4,COEFS,4,4,WL(1,0,1
923
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,30),2,4,1,2,42,H)
924
C Coefficient construction for loop diagram with ID 15
925
CALL GHGHGL2_1(PL(0,0),W(1,5),GC_4,ZERO,ZERO,PL(0,31),COEFS)
926
CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1
928
CALL GHGHGL2_1(PL(0,31),W(1,6),GC_4,ZERO,ZERO,PL(0,32),COEFS)
929
CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,31),1,COEFS,1,1,WL(1,0,1
931
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,32),2,1,1,1,43,H)
970
CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,26),2,1,1,1,1,40,H)
933
972
LOOP_REQ_SO_DONE=.TRUE.