Merge lp:~maddevelopers/mg5amcnlo/3.0.4 into lp:mg5amcnlo

Proposed by Olivier Mattelaer
Status: Merged
Merged at revision: 963
Proposed branch: lp:~maddevelopers/mg5amcnlo/3.0.4
Merge into: lp:mg5amcnlo
Diff against target: 121652 lines (+36910/-28315)
1060 files modified
MadSpin/decay.py (+145/-94)
MadSpin/interface_madspin.py (+79/-47)
MadSpin/src/lha_read_ms.f (+12/-5)
Template/LO/Cards/pythia8_card_default.dat (+2/-0)
Template/LO/Cards/run_card.dat (+9/-6)
Template/LO/Source/.make_opts (+2/-1)
Template/LO/Source/PDF/PhotonFlux.f (+12/-9)
Template/LO/Source/PDF/pdf.f (+9/-4)
Template/LO/Source/PDF/pdg2pdf.f (+3/-3)
Template/LO/Source/PDF/pdg2pdf_lhapdf6.f (+5/-4)
Template/LO/Source/dsample.f (+14/-2)
Template/LO/Source/invarients.f (+16/-4)
Template/LO/Source/kin_functions.f (+5/-3)
Template/LO/Source/run.inc (+6/-1)
Template/LO/Source/run_printout.f (+7/-2)
Template/LO/Source/setrun.f (+16/-0)
Template/LO/SubProcesses/cluster.f (+4/-2)
Template/LO/SubProcesses/genps.f (+489/-28)
Template/LO/SubProcesses/makefile (+15/-4)
Template/LO/SubProcesses/myamp.f (+22/-10)
Template/LO/SubProcesses/reweight.f (+8/-3)
Template/LO/SubProcesses/setcuts.f (+4/-2)
Template/LO/SubProcesses/setscales.f (+3/-2)
Template/LO/SubProcesses/unwgt.f (+16/-3)
Template/LO/bin/generate_events (+19/-12)
Template/LO/bin/internal/Gridpack/gridrun (+15/-7)
Template/LO/bin/internal/addmasses_optional.py (+16/-13)
Template/LO/bin/madevent (+22/-14)
Template/MadWeight/Python/Info.py (+21/-18)
Template/MadWeight/Python/clean.py (+9/-7)
Template/MadWeight/Python/expand_MadWeight.py (+4/-2)
Template/MadWeight/Python/madweight.py (+15/-12)
Template/MadWeight/Python/put_banner.py (+13/-9)
Template/MadWeight/Python/splitbanner.py (+10/-7)
Template/MadWeight/Python/tests.py (+6/-3)
Template/MadWeight/bin/madweight.py (+7/-5)
Template/MadWeight/mod_file/check_model.py (+3/-1)
Template/MadWeight/mod_file/mod_file.py (+6/-3)
Template/NLO/Cards/FKS_params.dat (+1/-1)
Template/NLO/Cards/run_card.dat (+3/-2)
Template/NLO/Cards/shower_card.dat (+5/-2)
Template/NLO/FixedOrderAnalysis/HwU.f (+79/-1)
Template/NLO/FixedOrderAnalysis/analysis_td_hw_orders.f (+190/-0)
Template/NLO/FixedOrderAnalysis/dbook.f (+36/-39)
Template/NLO/FixedOrderAnalysis/rbook_fe8.f (+22/-24)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f (+2/-1)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f (+2/-1)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f (+2/-1)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f (+2/-1)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f (+2/-1)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f (+2/-1)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f (+2/-1)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f (+2/-1)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f (+2/-1)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f (+2/-1)
Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f (+2/-1)
Template/NLO/MCatNLO/Makefile_MadFKS (+4/-4)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f (+2/-1)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f (+2/-1)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f (+2/-1)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f (+2/-1)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f (+2/-1)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f (+2/-1)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f (+2/-1)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f (+2/-1)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f (+2/-1)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f (+2/-1)
Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f (+2/-1)
Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f (+2/-1)
Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIG6.Script (+1/-1)
Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6PT.Script (+1/-0)
Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6Q.Script (+1/-0)
Template/NLO/MCatNLO/include/LHEFRead.h (+20/-3)
Template/NLO/MCatNLO/include/orders.inc (+5/-0)
Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f (+2/-1)
Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f (+2/-1)
Template/NLO/MCatNLO/srcPythia8/Pythia8.cc (+2/-2)
Template/NLO/MCatNLO/srcPythia8/Pythia82.cc (+2/-2)
Template/NLO/Source/PDF/makefile (+6/-10)
Template/NLO/Source/extra_weights.f (+3/-3)
Template/NLO/Source/make_opts.inc (+6/-5)
Template/NLO/Source/run_printout.f (+6/-1)
Template/NLO/Source/setrun.f (+3/-3)
Template/NLO/SubProcesses/ajob_template (+4/-0)
Template/NLO/SubProcesses/collect_events.f (+19/-11)
Template/NLO/SubProcesses/cuts.f (+3/-146)
Template/NLO/SubProcesses/driver_mintFO.f (+17/-16)
Template/NLO/SubProcesses/driver_mintMC.f (+1/-0)
Template/NLO/SubProcesses/fks_singular.f (+118/-71)
Template/NLO/SubProcesses/handling_lhe_events.f (+120/-78)
Template/NLO/SubProcesses/iproc_map.f (+13/-3)
Template/NLO/SubProcesses/madfks_plot.f (+40/-16)
Template/NLO/SubProcesses/makefile (+1/-1)
Template/NLO/SubProcesses/makefile_fks_dir (+18/-16)
Template/NLO/SubProcesses/open_output_files.f (+12/-0)
Template/NLO/SubProcesses/orderstags_glob.f (+41/-0)
Template/NLO/SubProcesses/pineappl_common.inc (+13/-12)
Template/NLO/SubProcesses/pineappl_interface.cc (+395/-39)
Template/NLO/SubProcesses/pineappl_interface_dummy.f (+7/-14)
Template/NLO/SubProcesses/recmom.f (+139/-0)
Template/NLO/SubProcesses/reweight_pineappl.inc (+1/-1)
Template/NLO/SubProcesses/reweight_xsec_events.f (+105/-68)
Template/NLO/SubProcesses/setcuts.f (+2/-1)
Template/NLO/SubProcesses/setscales.f (+12/-4)
Template/NLO/SubProcesses/splitorders_stuff.f (+30/-2)
Template/NLO/SubProcesses/test_soft_col_limits.f (+48/-20)
Template/NLO/SubProcesses/weight_lines.f (+7/-1)
Template/NLO/Utilities/NLO_Born3.py (+7/-4)
Template/NLO/Utilities/VetoPrefactors/resum_reweighter.py (+2/-1)
Template/NLO/Utilities/VetoPrefactors/virt_reweighter.py (+2/-1)
Template/NLO/Utilities/collect_plots.py (+3/-1)
Template/NLO/Utilities/makefile (+3/-3)
Template/NLO/bin/aMCatNLO (+22/-15)
Template/NLO/bin/calculate_xsect (+15/-8)
Template/NLO/bin/generate_events (+15/-8)
Template/NLO/bin/internal/split_jobs.py (+15/-11)
Template/NLO/bin/shower (+14/-8)
UpdateNotes.txt (+191/-3)
VERSION (+2/-2)
aloha/aloha_fct.py (+24/-21)
aloha/aloha_lib.py (+23/-16)
aloha/aloha_object.py (+4/-1)
aloha/aloha_parsers.py (+45/-77)
aloha/aloha_writers.py (+78/-43)
aloha/create_aloha.py (+70/-31)
aloha/template_files/Makefile_F (+2/-0)
aloha/template_files/aloha_functions.f (+34/-1)
aloha/template_files/wavefunctions.py (+11/-9)
bin/compile.py (+13/-11)
bin/create_aloha_release.py (+5/-3)
bin/create_release.py (+27/-20)
bin/mg5_aMC (+28/-9)
input/.mg5_configuration_default.txt (+8/-6)
madgraph/__init__.py (+2/-1)
madgraph/core/base_objects.py (+221/-306)
madgraph/core/color_algebra.py (+19/-6)
madgraph/core/color_amp.py (+16/-13)
madgraph/core/diagram_generation.py (+75/-68)
madgraph/core/drawing.py (+19/-25)
madgraph/core/helas_objects.py (+328/-364)
madgraph/fks/fks_base.py (+66/-36)
madgraph/fks/fks_common.py (+32/-30)
madgraph/fks/fks_helas_objects.py (+35/-23)
madgraph/interface/amcatnlo_interface.py (+195/-94)
madgraph/interface/amcatnlo_run_interface.py (+217/-244)
madgraph/interface/coloring_logging.py (+3/-1)
madgraph/interface/common_run_interface.py (+320/-221)
madgraph/interface/extended_cmd.py (+82/-54)
madgraph/interface/launch_ext_program.py (+26/-23)
madgraph/interface/loop_interface.py (+12/-8)
madgraph/interface/madevent_interface.py (+153/-111)
madgraph/interface/madgraph_interface.py (+622/-356)
madgraph/interface/madweight_interface.py (+22/-18)
madgraph/interface/master_interface.py (+29/-16)
madgraph/interface/reweight_interface.py (+135/-81)
madgraph/iolibs/drawing_eps.py (+6/-0)
madgraph/iolibs/export_cpp.py (+32/-35)
madgraph/iolibs/export_fks.py (+158/-82)
madgraph/iolibs/export_python.py (+5/-5)
madgraph/iolibs/export_v4.py (+1484/-169)
madgraph/iolibs/file_writers.py (+44/-36)
madgraph/iolibs/files.py (+19/-9)
madgraph/iolibs/gen_infohtml.py (+4/-1)
madgraph/iolibs/group_subprocs.py (+47/-32)
madgraph/iolibs/helas_call_writers.py (+48/-42)
madgraph/iolibs/import_v4.py (+23/-25)
madgraph/iolibs/save_load_object.py (+53/-37)
madgraph/iolibs/save_model.py (+14/-15)
madgraph/iolibs/template_files/__init__.py (+2/-1)
madgraph/iolibs/template_files/auto_dsig_v4.inc (+6/-0)
madgraph/iolibs/template_files/b_sf_xxx_splitorders_fks.inc (+3/-2)
madgraph/iolibs/template_files/born_cnt_splitorders_fks.inc (+3/-3)
madgraph/iolibs/template_files/born_fks.inc (+4/-4)
madgraph/iolibs/template_files/born_fks_hel.inc (+3/-2)
madgraph/iolibs/template_files/born_hel_splitorders_fks.inc (+3/-2)
madgraph/iolibs/template_files/bornmatrix_splitorders_fks.inc (+4/-3)
madgraph/iolibs/template_files/check_sa.f (+1/-1)
madgraph/iolibs/template_files/check_sa_splitOrders.f (+1/-1)
madgraph/iolibs/template_files/loop_optimized/check_sa.py.inc (+34/-30)
madgraph/iolibs/template_files/loop_optimized/check_sa_all.py.inc (+37/-35)
madgraph/iolibs/template_files/loop_optimized/loop_matrix_standalone.inc (+12/-3)
madgraph/iolibs/template_files/madevent_driver.f (+17/-1)
madgraph/iolibs/template_files/madevent_symmetry.f (+6/-3)
madgraph/iolibs/template_files/makefile_sa_f2py (+15/-7)
madgraph/iolibs/template_files/matrix_loop_induced_madevent.inc (+5/-1)
madgraph/iolibs/template_files/matrix_loop_induced_madevent_group.inc (+3/-0)
madgraph/iolibs/template_files/matrix_madevent_group_v4.inc (+125/-22)
madgraph/iolibs/template_files/matrix_madevent_group_v4_hel.inc (+281/-0)
madgraph/iolibs/template_files/matrix_madevent_v4.inc (+4/-4)
madgraph/iolibs/template_files/matrix_madweight_group_v4.inc (+2/-2)
madgraph/iolibs/template_files/matrix_standalone_matchbox.inc (+3/-3)
madgraph/iolibs/template_files/matrix_standalone_matchbox_splitOrders_v4.inc (+3/-3)
madgraph/iolibs/template_files/matrix_standalone_msF_v4.inc (+3/-2)
madgraph/iolibs/template_files/matrix_standalone_msP_v4.inc (+3/-2)
madgraph/iolibs/template_files/matrix_standalone_splitOrders_v4.inc (+3/-2)
madgraph/iolibs/template_files/matrix_standalone_v4.inc (+20/-6)
madgraph/iolibs/template_files/mg4_proc_card.py (+1/-0)
madgraph/iolibs/template_files/realmatrix_splitorders_fks.inc (+3/-2)
madgraph/iolibs/template_files/super_auto_dsig_group_v4.inc (+15/-5)
madgraph/iolibs/ufo_expression_parsers.py (+16/-13)
madgraph/loop/MadLoopBannerStyles.py (+3/-1)
madgraph/loop/loop_base_objects.py (+60/-92)
madgraph/loop/loop_color_amp.py (+4/-6)
madgraph/loop/loop_diagram_generation.py (+33/-42)
madgraph/loop/loop_exporters.py (+75/-54)
madgraph/loop/loop_helas_objects.py (+52/-65)
madgraph/madevent/combine_grid.py (+13/-17)
madgraph/madevent/combine_runs.py (+3/-1)
madgraph/madevent/gen_crossxhtml.py (+38/-24)
madgraph/madevent/gen_ximprove.py (+214/-30)
madgraph/madevent/hel_recycle.py (+938/-0)
madgraph/madevent/sum_html.py (+55/-39)
madgraph/madweight/Cards.py (+19/-15)
madgraph/madweight/MW_driver.py (+10/-6)
madgraph/madweight/MW_fct.py (+11/-5)
madgraph/madweight/MW_info.py (+13/-10)
madgraph/madweight/blob_solution.py (+14/-10)
madgraph/madweight/change_tf.py (+28/-23)
madgraph/madweight/create_param.py (+20/-17)
madgraph/madweight/create_run.py (+23/-19)
madgraph/madweight/diagram_class.py (+12/-8)
madgraph/madweight/mod_file.py (+12/-9)
madgraph/madweight/particle_class.py (+3/-2)
madgraph/madweight/proc_info.py (+9/-6)
madgraph/madweight/substructure_class.py (+5/-3)
madgraph/madweight/verif_event.py (+35/-32)
madgraph/madweight/write_MadWeight.py (+32/-26)
madgraph/various/FO_analyse_card.py (+22/-1)
madgraph/various/banner.py (+359/-159)
madgraph/various/cluster.py (+112/-94)
madgraph/various/combine_plots.py (+283/-281)
madgraph/various/diagram_symmetry.py (+14/-11)
madgraph/various/hepmc_parser.py (+138/-73)
madgraph/various/histograms.py (+132/-125)
madgraph/various/lhe_parser.py (+343/-265)
madgraph/various/misc.py (+337/-149)
madgraph/various/plot_djrs.py (+6/-3)
madgraph/various/process_checks.py (+114/-102)
madgraph/various/progressbar.py (+11/-7)
madgraph/various/q_polynomial.py (+35/-26)
madgraph/various/rambo.py (+10/-7)
madgraph/various/shower_card.py (+7/-4)
madgraph/various/systematics.py (+65/-39)
mg5decay/decay_objects.py (+292/-242)
models/MSSM_SLHA2/__init__.py (+1/-0)
models/MSSM_SLHA2/object_library.py (+1/-1)
models/MSSM_SLHA2/write_param_card.py (+10/-9)
models/__init__.py (+39/-14)
models/check_param_card.py (+62/-51)
models/hgg_plugin/__init__.py (+8/-7)
models/hgg_plugin/coupling_orders.py (+2/-1)
models/hgg_plugin/couplings.py (+3/-2)
models/hgg_plugin/function_library.py (+2/-1)
models/hgg_plugin/lorentz.py (+3/-2)
models/hgg_plugin/object_library.py (+3/-1)
models/hgg_plugin/parameters.py (+5/-4)
models/hgg_plugin/particles.py (+3/-2)
models/hgg_plugin/vertices.py (+5/-4)
models/hgg_plugin/write_param_card.py (+11/-8)
models/import_ufo.py (+142/-70)
models/loop_sm/CT_couplings.py (+3/-3)
models/loop_sm/CT_parameters.py (+3/-3)
models/loop_sm/CT_vertices.py (+5/-4)
models/loop_sm/__init__.py (+14/-10)
models/loop_sm/coupling_orders.py (+2/-1)
models/loop_sm/couplings.py (+3/-2)
models/loop_sm/function_library.py (+6/-2)
models/loop_sm/lorentz.py (+3/-3)
models/loop_sm/object_library.py (+4/-2)
models/loop_sm/parameters.py (+3/-6)
models/loop_sm/particles.py (+4/-3)
models/loop_sm/vertices.py (+5/-5)
models/loop_sm/write_param_card.py (+10/-8)
models/model_reader.py (+41/-27)
models/sm/__init__.py (+4/-2)
models/sm/build_restrict.py (+1/-0)
models/sm/decays.py (+3/-2)
models/sm/function_library.py (+4/-1)
models/sm/object_library.py (+2/-1)
models/sm/parameters.py (+2/-1)
models/sm/write_param_card.py (+11/-10)
models/taudecay_UFO/__init__.py (+9/-8)
models/taudecay_UFO/coupling_orders.py (+2/-1)
models/taudecay_UFO/couplings.py (+3/-2)
models/taudecay_UFO/function_library.py (+2/-1)
models/taudecay_UFO/lorentz.py (+3/-2)
models/taudecay_UFO/object_library.py (+6/-4)
models/taudecay_UFO/parameters.py (+5/-4)
models/taudecay_UFO/particles.py (+4/-3)
models/taudecay_UFO/propagators.py (+2/-1)
models/taudecay_UFO/vertices.py (+5/-4)
models/taudecay_UFO/write_param_card.py (+210/-207)
models/template_files/fortran/lha_read.f (+14/-6)
models/template_files/fortran/lha_read_mp.f (+29/-13)
models/usermod.py (+40/-37)
models/write_param_card.py (+49/-22)
tests/IOTests.py (+66/-67)
tests/__init__.py (+1/-0)
tests/acceptance_tests/test_cmd.py (+54/-40)
tests/acceptance_tests/test_cmd_amcatnlo.py (+14/-12)
tests/acceptance_tests/test_cmd_madevent.py (+23/-19)
tests/acceptance_tests/test_cmd_madloop.py (+5/-2)
tests/acceptance_tests/test_cmd_reweight.py (+37/-22)
tests/acceptance_tests/test_histograms.py (+1/-0)
tests/acceptance_tests/test_madspin.py (+1/-0)
tests/acceptance_tests/test_madweight.py (+9/-7)
tests/acceptance_tests/test_model_equivalence.py (+16/-10)
tests/acceptance_tests/test_output_files.py (+1/-0)
tests/input_files/DM_pion/CT_couplings.py (+3/-2)
tests/input_files/DM_pion/CT_vertices.py (+5/-4)
tests/input_files/DM_pion/__init__.py (+11/-10)
tests/input_files/DM_pion/coupling_orders.py (+2/-1)
tests/input_files/DM_pion/couplings.py (+3/-2)
tests/input_files/DM_pion/decays.py (+3/-2)
tests/input_files/DM_pion/function_library.py (+2/-1)
tests/input_files/DM_pion/lorentz.py (+3/-2)
tests/input_files/DM_pion/object_library.py (+6/-4)
tests/input_files/DM_pion/parameters.py (+5/-4)
tests/input_files/DM_pion/particles.py (+4/-3)
tests/input_files/DM_pion/propagators.py (+2/-1)
tests/input_files/DM_pion/py.py (+2/-0)
tests/input_files/DM_pion/vertices.py (+5/-4)
tests/input_files/DM_pion/write_param_card.py (+226/-207)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_001.f (+22/-16)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_002.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_003.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_004.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_005.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_006.f (+20/-17)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_007.f (+22/-16)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_008.f (+20/-17)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%born.f (+15/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%born_conf.inc (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%born_hel.f (+13/-10)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%parton_lum_0.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_001.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_002.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_003.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_004.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_005.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_006.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_007.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_008.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%born.f (+22/-21)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%born_conf.inc (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%born_hel.f (+17/-16)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%parton_lum_0.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_001.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_002.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_003.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_004.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_005.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_006.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_007.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_008.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%born.f (+22/-21)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%born_conf.inc (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%born_hel.f (+17/-16)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%parton_lum_0.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_001.f (+22/-16)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_002.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_003.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_004.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_005.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_006.f (+20/-17)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_007.f (+22/-16)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_008.f (+20/-17)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%born.f (+15/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%born_conf.inc (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%born_hel.f (+13/-10)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%matrix_1.f (+58/-29)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%matrix_2.f (+37/-26)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%matrix_3.f (+37/-26)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%matrix_4.f (+37/-26)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%matrix_5.f (+37/-26)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_1.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_2.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_3.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_4.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_5.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_001.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_002.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_003.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_004.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_005.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_006.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_007.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_008.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%born.f (+22/-21)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%born_conf.inc (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%born_hel.f (+17/-16)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%matrix_1.f (+37/-26)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%matrix_2.f (+37/-26)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%matrix_3.f (+37/-26)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_1.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_2.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%parton_lum_3.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_001.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_002.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_003.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_004.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_005.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_006.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_007.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_008.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%born.f (+22/-21)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%born_conf.inc (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%born_hel.f (+17/-16)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%matrix_1.f (+37/-26)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%matrix_2.f (+37/-26)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%matrix_3.f (+37/-26)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_1.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_2.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%parton_lum_3.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%b_sf_001.f (+13/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%b_sf_002.f (+13/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%b_sf_003.f (+13/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%b_sf_004.f (+13/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%b_sf_005.f (+13/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%born.f (+10/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%born_conf.inc (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%born_hel.f (+8/-7)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%matrix_1.f (+17/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%matrix_2.f (+18/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%matrix_3.f (+18/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%matrix_4.f (+18/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%matrix_5.f (+18/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%parton_lum_1.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%parton_lum_2.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%parton_lum_3.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%parton_lum_4.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%parton_lum_5.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%amp_split_orders.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_001.f (+25/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_002.f (+26/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_003.f (+26/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_004.f (+26/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_005.f (+26/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_006.f (+25/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_007.f (+25/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_008.f (+25/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%born.f (+20/-19)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%born_conf.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%born_hel.f (+15/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%fks_info.inc (+51/-51)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_1.f (+93/-39)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_2.f (+90/-41)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_3.f (+42/-78)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_4.f (+44/-80)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_5.f (+94/-41)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_6.f (+44/-80)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%parton_lum_1.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%parton_lum_2.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%parton_lum_3.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%parton_lum_4.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%parton_lum_5.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%parton_lum_6.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%amp_split_orders.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_001.f (+24/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_002.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_003.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_004.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_005.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_006.f (+24/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_007.f (+24/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_008.f (+24/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%born.f (+19/-19)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%born_conf.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%born_hel.f (+14/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%fks_info.inc (+49/-49)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_1.f (+89/-39)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_2.f (+94/-41)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_3.f (+42/-78)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_4.f (+44/-80)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_5.f (+91/-41)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_6.f (+44/-80)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%parton_lum_1.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%parton_lum_2.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%parton_lum_3.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%parton_lum_4.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%parton_lum_5.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%parton_lum_6.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%b_sf_001.f (+13/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%b_sf_002.f (+13/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%b_sf_003.f (+13/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%b_sf_004.f (+13/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%b_sf_005.f (+13/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%born.f (+10/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%born_conf.inc (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%born_hel.f (+8/-7)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%matrix_1.f (+17/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%matrix_2.f (+18/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%matrix_3.f (+18/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%matrix_4.f (+18/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%matrix_5.f (+18/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%parton_lum_1.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%parton_lum_2.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%parton_lum_3.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%parton_lum_4.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%parton_lum_5.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_001.f (+22/-16)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_002.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_003.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_004.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_005.f (+20/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_006.f (+20/-17)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_007.f (+22/-16)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_008.f (+20/-17)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%born.f (+15/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%born_conf.inc (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%born_hel.f (+13/-10)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_1.f (+41/-30)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_2.f (+44/-30)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_3.f (+41/-30)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_4.f (+44/-30)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_5.f (+40/-30)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_6.f (+44/-30)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_7.f (+40/-30)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_8.f (+44/-30)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_9.f (+17/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%parton_lum_1.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%parton_lum_2.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%parton_lum_3.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%parton_lum_4.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%parton_lum_5.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%parton_lum_6.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%parton_lum_7.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%parton_lum_8.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%parton_lum_9.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%amp_split_orders.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_001.f (+25/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_002.f (+26/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_003.f (+26/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_004.f (+26/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_005.f (+26/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_006.f (+25/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_007.f (+25/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_008.f (+25/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%born.f (+20/-19)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%born_conf.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%born_hel.f (+15/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%fks_info.inc (+51/-51)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_1.f (+93/-39)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_2.f (+90/-41)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_3.f (+42/-78)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_4.f (+44/-80)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_5.f (+94/-41)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_6.f (+44/-80)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%parton_lum_1.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%parton_lum_2.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%parton_lum_3.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%parton_lum_4.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%parton_lum_5.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%parton_lum_6.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%amp_split_orders.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_001.f (+24/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_002.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_003.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_004.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_005.f (+25/-24)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_006.f (+24/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_007.f (+24/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_008.f (+24/-25)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%born.f (+19/-19)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%born_conf.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%born_hel.f (+14/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%fks_info.inc (+49/-49)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_1.f (+89/-39)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_2.f (+94/-41)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_3.f (+42/-78)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_4.f (+44/-80)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_5.f (+91/-41)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_6.f (+44/-80)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%parton_lum_1.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%parton_lum_2.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%parton_lum_3.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%parton_lum_4.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%parton_lum_5.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%parton_lum_6.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%COLLIER_interface.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%CT_interface.f (+4/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%TIR_interface.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%born_matrix.f (+10/-10)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%check_sa_born_splitOrders.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%coef_construction_1.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%helas_calls_ampb_1.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%loop_matrix.f (+3/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%mp_coef_construction_1.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%mp_compute_loop_coefs.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%mp_helas_calls_ampb_1.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%V0_dxu_wp%polynomial.f (+70/-106)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%b_sf_001.f (+14/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%born.f (+13/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%born_conf.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%born_hel.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%matrix_1.f (+14/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%matrix_2.f (+13/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%matrix_3.f (+14/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%parton_lum_1.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%parton_lum_2.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%parton_lum_3.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%COLLIER_interface.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%CT_interface.f (+4/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%TIR_interface.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%born_matrix.f (+10/-10)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%check_sa_born_splitOrders.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%coef_construction_1.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%helas_calls_ampb_1.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%loop_matrix.f (+3/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%mp_coef_construction_1.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%mp_compute_loop_coefs.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%mp_helas_calls_ampb_1.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%V0_udx_wp%polynomial.f (+70/-106)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%b_sf_001.f (+14/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%born.f (+13/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%born_conf.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%born_hel.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%matrix_1.f (+13/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%matrix_2.f (+14/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%matrix_3.f (+13/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%parton_lum_1.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%parton_lum_2.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%parton_lum_3.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_001.f (+14/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_002.f (+14/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_003.f (+16/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_004.f (+16/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_005.f (+14/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_006.f (+16/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_007.f (+16/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_008.f (+14/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_conf.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born_hel.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%matrix_1.f (+17/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%parton_lum_1.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%COLLIER_interface.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%CT_interface.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%TIR_interface.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%born_matrix.f (+11/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%check_sa_born_splitOrders.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%coef_construction_1.f (+49/-49)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%helas_calls_ampb_1.f (+10/-10)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%loop_matrix.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%mp_coef_construction_1.f (+55/-55)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%mp_compute_loop_coefs.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%mp_helas_calls_ampb_1.f (+11/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%V0_dxu_veep%polynomial.f (+40/-40)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%b_sf_001.f (+14/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%born.f (+15/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%born_conf.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%born_hel.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%matrix_1.f (+18/-18)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%matrix_2.f (+20/-18)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%matrix_3.f (+18/-18)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%parton_lum_1.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%parton_lum_2.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%parton_lum_3.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%COLLIER_interface.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%CT_interface.f (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%TIR_interface.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%born_matrix.f (+11/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%check_sa_born_splitOrders.f (+1/-1)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%coef_construction_1.f (+49/-49)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%helas_calls_ampb_1.f (+10/-10)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%loop_matrix.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%mp_coef_construction_1.f (+55/-55)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%mp_compute_loop_coefs.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%mp_helas_calls_ampb_1.f (+11/-11)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%V0_udx_veep%polynomial.f (+40/-40)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%b_sf_001.f (+14/-14)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%born.f (+15/-15)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%born_conf.inc (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%born_hel.f (+9/-9)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%matrix_1.f (+20/-18)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%matrix_2.f (+18/-18)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%matrix_3.f (+20/-18)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%parton_lum_1.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%parton_lum_2.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%parton_lum_3.f (+2/-2)
tests/input_files/IOTestsComparison/IOExportPythia8Test/write_cpp_go_process_cc_file/cpp_go_process.cc (+6/-6)
tests/input_files/IOTestsComparison/IOExportPythia8Test/write_dec_multiprocess_files/write_dec_multiprocess_files.cc (+110/-110)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/amp2lines.txt (+1/-2)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/auto_dsig.f (+5/-0)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/coloramps.inc (+1/-2)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/config_subproc_map.inc (+0/-1)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/configs.inc (+6/-7)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/matrix1.f (+145/-37)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/nqcd_list.inc (+0/-1)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/super_auto_dsig.f (+16/-5)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/symfact.dat (+0/-1)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_nogroup/auto_dsig.f (+5/-0)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_nogroup/configs.inc (+3/-0)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_nogroup/matrix.f (+13/-10)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_standalone/matrix.f (+20/-6)
tests/input_files/IOTestsComparison/IOHistogramTest/DJR_histograms/CKKWL_djrs_output.HwU (+806/-806)
tests/input_files/IOTestsComparison/IOHistogramTest/DJR_histograms/CKKWL_djrs_output.gnuplot (+16/-16)
tests/input_files/IOTestsComparison/IOHistogramTest/DJR_histograms/MLM_djrs_output.HwU (+925/-925)
tests/input_files/IOTestsComparison/IOHistogramTest/DJR_histograms/MLM_djrs_output.gnuplot (+12/-12)
tests/input_files/IOTestsComparison/LoopSquaredOrder_IOTest/Loop_sqso_uux_ddx/loop_matrix_QCDQEDpert_QEDsq_le_4.f (+14/-14)
tests/input_files/IOTestsComparison/LoopSquaredOrder_IOTest/Loop_sqso_uux_ddx/loop_matrix_QCDQEDpert_WGTsq_le_10_QEDAmpAndQEDsq_gt_2.f (+202/-202)
tests/input_files/IOTestsComparison/MECmdShell/check_html_long_process_strings/info.html (+10/-10)
tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%CT_interface.f (+145/-145)
tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%born_matrix.f (+7/-6)
tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%check_sa_born_splitOrders.f (+1/-1)
tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%helas_calls_ampb_1.f (+35/-35)
tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%helas_calls_uvct_1.f (+18/-18)
tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%loop_matrix.f (+12/-3)
tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%mp_helas_calls_ampb_1.f (+35/-35)
tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%mp_helas_calls_uvct_1.f (+18/-18)
tests/input_files/IOTestsComparison/MadLoop_output_from_the_interface/TIR_output/%ggttx_IOTest%SubProcesses%P0_gg_ttx%polynomial.f (+222/-222)
tests/input_files/IOTestsComparison/SquaredOrder_IOTest/sqso_uux_uuxuuxx/matrix_NoSQSO.f (+37/-16)
tests/input_files/IOTestsComparison/SquaredOrder_IOTest/sqso_uux_uuxuuxx/matrix_QCDsq_le_6.f (+21/-14)
tests/input_files/IOTestsComparison/SquaredOrder_IOTest/sqso_uux_uuxuuxx/matrix_ampOrderQED2_eq_2_WGTsq_le_14_QCDsq_gt_4.f (+21/-14)
tests/input_files/IOTestsComparison/TestCmdMatchBox/MatchBoxOutput/%TEST%SubProcesses%P0_wpwm_wpwm%matrix.f (+5/-7)
tests/input_files/IOTestsComparison/TestCmdMatchBox/MatchBoxOutput/%TEST%SubProcesses%P1_uux_uux%CT_interface.f (+0/-302)
tests/input_files/IOTestsComparison/TestCmdMatchBox/MatchBoxOutput/%TEST%SubProcesses%P1_uux_uux%born_matrix.f (+31/-31)
tests/input_files/IOTestsComparison/TestCmdMatchBox/MatchBoxOutput/%TEST%SubProcesses%P1_uux_uux%check_sa_born_splitOrders.f (+1/-1)
tests/input_files/IOTestsComparison/TestCmdMatchBox/MatchBoxOutput/%TEST%SubProcesses%P1_uux_uux%helas_calls_ampb_1.f (+28/-28)
tests/input_files/IOTestsComparison/TestCmdMatchBox/MatchBoxOutput/%TEST%SubProcesses%P1_uux_uux%loop_matrix.f (+1/-2)
tests/input_files/IOTestsComparison/TestCmdMatchBox/MatchBoxOutput/%TEST%SubProcesses%P1_uux_uux%mp_helas_calls_ampb_1.f (+28/-28)
tests/input_files/IOTestsComparison/TestCmdMatchBox/MatchBoxOutput/%TEST%SubProcesses%P1_uux_uux%polynomial.f (+112/-149)
tests/input_files/IOTestsComparison/TestMadWeight/modification_to_cuts/cuts.f (+1739/-1739)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%coupl.inc (+17/-17)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%coupl_write.inc (+8/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%couplings1.f (+3/-4)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%couplings2.f (+14/-14)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%input.inc (+24/-26)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%intparam_definition.inc (+62/-31)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%model_functions.f (+8/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc (+6/-0)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%mp_coupl.inc (+19/-18)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%mp_coupl_same_name.inc (+17/-17)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%mp_couplings2.f (+16/-16)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%mp_input.inc (+43/-35)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%mp_intparam_definition.inc (+57/-14)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/CT_interface.f (+108/-108)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/born_matrix.f (+23/-9)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/loop_matrix.f (+39/-39)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/mp_born_amps_and_wfs.f (+29/-29)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%coupl.inc (+23/-25)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%coupl_write.inc (+14/-14)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%couplings1.f (+3/-4)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%couplings2.f (+16/-24)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%couplings3.f (+20/-12)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%input.inc (+26/-28)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%intparam_definition.inc (+80/-52)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%model_functions.f (+8/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc (+6/-0)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%mp_coupl.inc (+28/-28)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%mp_coupl_same_name.inc (+23/-23)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%mp_couplings2.f (+18/-30)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%mp_couplings3.f (+26/-14)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%mp_input.inc (+42/-35)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%mp_intparam_definition.inc (+56/-16)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/CT_interface.f (+401/-401)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/born_matrix.f (+27/-12)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/loop_matrix.f (+983/-983)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/mp_born_amps_and_wfs.f (+480/-486)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%coupl.inc (+17/-17)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%coupl_write.inc (+8/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%couplings1.f (+3/-4)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%couplings2.f (+14/-14)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%input.inc (+24/-26)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%intparam_definition.inc (+62/-31)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%model_functions.f (+8/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc (+6/-0)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%mp_coupl.inc (+19/-18)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%mp_coupl_same_name.inc (+17/-17)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%mp_couplings2.f (+16/-16)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%mp_input.inc (+43/-35)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%mp_intparam_definition.inc (+57/-14)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/born_matrix.f (+23/-9)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/coef_construction_1.f (+5/-5)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/helas_calls_ampb_1.f (+21/-21)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/helas_calls_uvct_1.f (+8/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/mp_coef_construction_1.f (+5/-5)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/mp_helas_calls_ampb_1.f (+21/-21)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/mp_helas_calls_uvct_1.f (+8/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/polynomial.f (+182/-182)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%coupl.inc (+23/-25)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%coupl_write.inc (+14/-14)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%couplings1.f (+3/-4)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%couplings2.f (+16/-24)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%couplings3.f (+20/-12)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%input.inc (+26/-28)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%intparam_definition.inc (+80/-52)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%model_functions.f (+8/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc (+6/-0)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%mp_coupl.inc (+28/-28)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%mp_coupl_same_name.inc (+23/-23)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%mp_couplings2.f (+18/-30)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%mp_couplings3.f (+26/-14)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%mp_input.inc (+42/-35)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%mp_intparam_definition.inc (+56/-16)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/CT_interface.f (+407/-407)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/born_matrix.f (+27/-12)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/coef_construction_1.f (+17/-17)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/helas_calls_ampb_1.f (+114/-114)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/helas_calls_uvct_1.f (+48/-48)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/loop_CT_calls_1.f (+4/-4)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/mp_coef_construction_1.f (+17/-17)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/mp_helas_calls_ampb_1.f (+114/-114)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/mp_helas_calls_uvct_1.f (+48/-48)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/polynomial.f (+398/-398)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%coupl.inc (+12/-12)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%coupl_write.inc (+1/-1)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%couplings2.f (+1/-1)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%input.inc (+4/-4)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%intparam_definition.inc (+42/-9)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%model_functions.f (+8/-8)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%model_functions.inc (+6/-0)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%mp_coupl.inc (+15/-15)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%mp_coupl_same_name.inc (+12/-12)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%mp_couplings2.f (+1/-1)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%mp_input.inc (+30/-23)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%mp_intparam_definition.inc (+52/-9)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/CT_interface.f (+102/-102)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/ddx_ttx/CT_interface.f (+108/-108)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/ddx_ttx/born_matrix.f (+23/-8)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/ddx_ttx/loop_matrix.f (+24/-24)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/ddx_ttx/mp_born_amps_and_wfs.f (+18/-18)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%coupl.inc (+23/-21)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%coupl_write.inc (+10/-10)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%couplings2.f (+13/-18)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%couplings3.f (+12/-7)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%input.inc (+8/-10)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%intparam_definition.inc (+67/-39)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%model_functions.f (+8/-8)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%model_functions.inc (+6/-0)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%mp_coupl.inc (+23/-23)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%mp_coupl_same_name.inc (+21/-21)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%mp_couplings2.f (+15/-22)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%mp_couplings3.f (+16/-9)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%mp_input.inc (+43/-35)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%mp_intparam_definition.inc (+56/-16)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/CT_interface.f (+198/-198)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/born_matrix.f (+23/-8)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/loop_matrix.f (+294/-298)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/mp_born_amps_and_wfs.f (+147/-147)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/born_matrix.f (+23/-8)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/helas_calls_ampb_1.f (+14/-14)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/helas_calls_uvct_1.f (+4/-4)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/mp_helas_calls_ampb_1.f (+14/-14)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/mp_helas_calls_uvct_1.f (+4/-4)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/polynomial.f (+112/-112)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%coupl.inc (+23/-21)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%coupl_write.inc (+10/-10)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%couplings2.f (+13/-18)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%couplings3.f (+12/-7)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%input.inc (+8/-10)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%intparam_definition.inc (+67/-39)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%model_functions.f (+8/-8)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%model_functions.inc (+6/-0)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%mp_coupl.inc (+23/-23)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%mp_coupl_same_name.inc (+21/-21)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%mp_couplings2.f (+15/-22)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%mp_couplings3.f (+16/-9)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%mp_input.inc (+43/-35)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%mp_intparam_definition.inc (+56/-16)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/CT_interface.f (+134/-134)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/born_matrix.f (+23/-8)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/helas_calls_ampb_1.f (+35/-35)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/helas_calls_uvct_1.f (+18/-18)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/mp_helas_calls_ampb_1.f (+35/-35)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/mp_helas_calls_uvct_1.f (+18/-18)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/polynomial.f (+222/-222)
tests/input_files/LoopSMEWTest/CT_couplings.py (+5/-3)
tests/input_files/LoopSMEWTest/CT_parameters.py (+5/-3)
tests/input_files/LoopSMEWTest/CT_vertices.py (+6/-4)
tests/input_files/LoopSMEWTest/__init__.py (+13/-12)
tests/input_files/LoopSMEWTest/coupling_orders.py (+3/-1)
tests/input_files/LoopSMEWTest/couplings.py (+5/-3)
tests/input_files/LoopSMEWTest/function_library.py (+3/-1)
tests/input_files/LoopSMEWTest/lorentz.py (+3/-2)
tests/input_files/LoopSMEWTest/object_library.py (+5/-2)
tests/input_files/LoopSMEWTest/parameters.py (+4/-4)
tests/input_files/LoopSMEWTest/particles.py (+4/-3)
tests/input_files/LoopSMEWTest/vertices.py (+6/-4)
tests/input_files/LoopSMEWTest/write_param_card.py (+11/-8)
tests/input_files/LoopSMTest/CT_couplings.py (+3/-2)
tests/input_files/LoopSMTest/CT_parameters.py (+3/-3)
tests/input_files/LoopSMTest/CT_vertices.py (+6/-4)
tests/input_files/LoopSMTest/__init__.py (+13/-11)
tests/input_files/LoopSMTest/coupling_orders.py (+3/-1)
tests/input_files/LoopSMTest/couplings.py (+3/-2)
tests/input_files/LoopSMTest/function_library.py (+2/-1)
tests/input_files/LoopSMTest/lorentz.py (+3/-2)
tests/input_files/LoopSMTest/object_library.py (+7/-4)
tests/input_files/LoopSMTest/parameters.py (+4/-4)
tests/input_files/LoopSMTest/particles.py (+4/-3)
tests/input_files/LoopSMTest/vertices.py (+6/-4)
tests/input_files/LoopSMTest/write_param_card.py (+12/-8)
tests/input_files/fourfermion_UFO/__init__.py (+9/-8)
tests/input_files/fourfermion_UFO/coupling_orders.py (+2/-1)
tests/input_files/fourfermion_UFO/couplings.py (+3/-2)
tests/input_files/fourfermion_UFO/decays.py (+3/-2)
tests/input_files/fourfermion_UFO/function_library.py (+2/-1)
tests/input_files/fourfermion_UFO/lorentz.py (+3/-2)
tests/input_files/fourfermion_UFO/object_library.py (+3/-1)
tests/input_files/fourfermion_UFO/parameters.py (+5/-4)
tests/input_files/fourfermion_UFO/particles.py (+3/-2)
tests/input_files/fourfermion_UFO/vertices.py (+5/-4)
tests/input_files/fourfermion_UFO/write_param_card.py (+11/-8)
tests/input_files/full_sm_UFO/__init__.py (+7/-6)
tests/input_files/full_sm_UFO/couplings.py (+216/-215)
tests/input_files/full_sm_UFO/function_library.py (+2/-1)
tests/input_files/full_sm_UFO/lorentz.py (+76/-75)
tests/input_files/full_sm_UFO/object_library.py (+3/-1)
tests/input_files/full_sm_UFO/parameters.py (+400/-399)
tests/input_files/full_sm_UFO/particles.py (+385/-384)
tests/input_files/full_sm_UFO/vertices.py (+456/-455)
tests/input_files/full_sm_UFO/write_param_card.py (+4/-2)
tests/input_files/import_vertexlist.py (+2/-2)
tests/input_files/loop_MSSM/CT_couplings.py (+3/-2)
tests/input_files/loop_MSSM/CT_vertices.py (+5/-4)
tests/input_files/loop_MSSM/__init__.py (+10/-9)
tests/input_files/loop_MSSM/coupling_orders.py (+2/-1)
tests/input_files/loop_MSSM/couplings.py (+3/-2)
tests/input_files/loop_MSSM/function_library.py (+2/-1)
tests/input_files/loop_MSSM/lorentz.py (+3/-2)
tests/input_files/loop_MSSM/object_library.py (+6/-4)
tests/input_files/loop_MSSM/parameters.py (+5/-4)
tests/input_files/loop_MSSM/particles.py (+4/-3)
tests/input_files/loop_MSSM/propagators.py (+2/-1)
tests/input_files/loop_MSSM/vertices.py (+5/-4)
tests/input_files/loop_MSSM/write_param_card.py (+210/-207)
tests/input_files/loop_smgrav/CT_couplings.py (+3/-2)
tests/input_files/loop_smgrav/CT_parameters.py (+3/-2)
tests/input_files/loop_smgrav/CT_vertices.py (+5/-4)
tests/input_files/loop_smgrav/__init__.py (+11/-10)
tests/input_files/loop_smgrav/coupling_orders.py (+2/-1)
tests/input_files/loop_smgrav/couplings.py (+3/-2)
tests/input_files/loop_smgrav/function_library.py (+2/-1)
tests/input_files/loop_smgrav/lorentz.py (+3/-2)
tests/input_files/loop_smgrav/object_library.py (+6/-4)
tests/input_files/loop_smgrav/parameters.py (+5/-4)
tests/input_files/loop_smgrav/particles.py (+4/-3)
tests/input_files/loop_smgrav/vertices.py (+5/-4)
tests/input_files/loop_smgrav/write_param_card.py (+11/-8)
tests/input_files/param_card_nlo.dat (+87/-0)
tests/input_files/run_card_nlo.dat (+1/-1)
tests/input_files/sm_with_custom_propa/__init__.py (+11/-10)
tests/input_files/sm_with_custom_propa/build_restrict.py (+1/-0)
tests/input_files/sm_with_custom_propa/coupling_orders.py (+2/-1)
tests/input_files/sm_with_custom_propa/couplings.py (+3/-2)
tests/input_files/sm_with_custom_propa/decays.py (+3/-2)
tests/input_files/sm_with_custom_propa/function_library.py (+2/-1)
tests/input_files/sm_with_custom_propa/lorentz.py (+3/-2)
tests/input_files/sm_with_custom_propa/object_library.py (+3/-1)
tests/input_files/sm_with_custom_propa/parameters.py (+5/-4)
tests/input_files/sm_with_custom_propa/particles.py (+4/-3)
tests/input_files/sm_with_custom_propa/propagators.py (+2/-1)
tests/input_files/sm_with_custom_propa/vertices.py (+5/-4)
tests/input_files/sm_with_custom_propa/write_param_card.py (+11/-8)
tests/parallel_tests/compare_gauge.py (+4/-3)
tests/parallel_tests/compare_with_old_mg5_version.py (+29/-26)
tests/parallel_tests/decay_comparator.py (+45/-43)
tests/parallel_tests/loop_me_comparator.py (+29/-32)
tests/parallel_tests/loop_sample_script.py (+4/-3)
tests/parallel_tests/madevent_comparator.py (+12/-9)
tests/parallel_tests/me_comparator.py (+13/-13)
tests/parallel_tests/sample_script.py (+3/-2)
tests/parallel_tests/test_MG5aMC_distribution.py (+7/-6)
tests/parallel_tests/test_ML5.py (+13/-12)
tests/parallel_tests/test_ML5EW.py (+14/-13)
tests/parallel_tests/test_ML5MSSMQCD.py (+6/-5)
tests/parallel_tests/test_aloha.py (+271/-123)
tests/parallel_tests/test_cmd_amcatnlo.py (+4/-5)
tests/parallel_tests/test_madweight.py (+17/-13)
tests/test_manager.py (+107/-73)
tests/time_db (+117/-141)
tests/unit_tests/__init__.py (+1/-0)
tests/unit_tests/core/test_IOTest_examples.py (+1/-0)
tests/unit_tests/core/test_base_objects.py (+10/-7)
tests/unit_tests/core/test_color_algebra.py (+1/-0)
tests/unit_tests/core/test_color_amp.py (+7/-5)
tests/unit_tests/core/test_diagram_generation.py (+3/-0)
tests/unit_tests/core/test_drawing.py (+8/-5)
tests/unit_tests/core/test_get_s_and_t_channels.py (+1/-0)
tests/unit_tests/core/test_helas_objects.py (+32/-40)
tests/unit_tests/fks/test_extra_ew.py (+94/-88)
tests/unit_tests/fks/test_fks_base.py (+150/-74)
tests/unit_tests/fks/test_fks_common.py (+13/-6)
tests/unit_tests/fks/test_fks_generate_loop.py (+4/-6)
tests/unit_tests/fks/test_fks_helas_objects.py (+44/-52)
tests/unit_tests/fks/test_fks_qed.py (+5/-3)
tests/unit_tests/interface/test_cmd.py (+6/-4)
tests/unit_tests/interface/test_edit_card.py (+1/-0)
tests/unit_tests/interface/test_madevent.py (+1/-0)
tests/unit_tests/iolibs/test_drawing_eps.py (+9/-6)
tests/unit_tests/iolibs/test_export_cpp.py (+32/-24)
tests/unit_tests/iolibs/test_export_fks.py (+36/-31)
tests/unit_tests/iolibs/test_export_python.py (+6/-4)
tests/unit_tests/iolibs/test_export_v4.py (+197/-87)
tests/unit_tests/iolibs/test_file_writers.py (+6/-4)
tests/unit_tests/iolibs/test_files.py (+1/-0)
tests/unit_tests/iolibs/test_group_subprocs.py (+7/-3)
tests/unit_tests/iolibs/test_helas_call_writers.py (+24/-23)
tests/unit_tests/iolibs/test_histograms.py (+3/-1)
tests/unit_tests/iolibs/test_import_v4.py (+20/-7)
tests/unit_tests/iolibs/test_link_to_ufo.py (+1/-0)
tests/unit_tests/iolibs/test_misc.py (+1/-0)
tests/unit_tests/iolibs/test_save_model.py (+3/-1)
tests/unit_tests/iolibs/test_ufo_parsers.py (+3/-1)
tests/unit_tests/loop/test_import_LoopUFOModel.py (+1/-0)
tests/unit_tests/loop/test_loop_diagram_generation.py (+4/-1)
tests/unit_tests/loop/test_loop_drawing.py (+20/-12)
tests/unit_tests/loop/test_loop_exporters.py (+3/-2)
tests/unit_tests/loop/test_loop_helas_objects.py (+61/-58)
tests/unit_tests/madevent/test_combine_runs.py (+1/-0)
tests/unit_tests/madspin/test_madspin.py (+11/-6)
tests/unit_tests/madweight/test_export_v4.py (+2/-1)
tests/unit_tests/madweight/test_permutation.py (+1/-0)
tests/unit_tests/various/test_4fermion_models.py (+12/-6)
tests/unit_tests/various/test_FO_analyse_card.py (+2/-0)
tests/unit_tests/various/test_banner.py (+8/-4)
tests/unit_tests/various/test_check_param_card.py (+11/-9)
tests/unit_tests/various/test_cmd.py (+8/-5)
tests/unit_tests/various/test_decay.py (+9/-7)
tests/unit_tests/various/test_diagram_symmetry.py (+6/-6)
tests/unit_tests/various/test_diquark_models.py (+1/-0)
tests/unit_tests/various/test_histograms.py (+1/-0)
tests/unit_tests/various/test_import_ufo.py (+30/-8)
tests/unit_tests/various/test_lhe_parser.py (+10/-5)
tests/unit_tests/various/test_misc.py (+2/-0)
tests/unit_tests/various/test_model_reader.py (+1/-0)
tests/unit_tests/various/test_process_checks.py (+3/-2)
tests/unit_tests/various/test_rambo.py (+2/-0)
tests/unit_tests/various/test_shower_card.py (+4/-0)
tests/unit_tests/various/test_test_finder.py (+1/-0)
tests/unit_tests/various/test_usermod.py (+23/-10)
tests/unit_tests/various/test_write_param.py (+18/-6)
vendor/IREGI/src/oneloop/create.py (+1/-0)
vendor/IREGI/src/oneloop/example_cpp/create.py (+1/-0)
vendor/IREGI/src/oneloop/src/avh_olo.py (+1/-0)
vendor/IREGI/src/oneloop/src/avh_pc.py (+3/-1)
vendor/IREGI/src/oneloop/src/avh_pc_exe.py (+3/-1)
vendor/IREGI/src/oneloop/src/avh_pc_olo.py (+1/-0)
vendor/StdHEP/makefile (+2/-0)
vendor/StdHEP/mcfio/src/GNUmakefile (+5/-2)
vendor/StdHEP/src/inc/stdevent.h (+4/-0)
vendor/StdHEP/src/make_opts (+3/-0)
vendor/StdHEP/src/stdhep/GNUmakefile (+4/-2)
vendor/StdHEP/src/stdhep/mcf_hepev4_xdr.c (+1/-1)
vendor/StdHEP/src/stdhep/mcf_hepup_xdr.c (+1/-1)
vendor/StdHEP/src/stdhep_arch (+1/-1)
vendor/ply/cpp.py (+23/-19)
vendor/ply/lex.py (+5/-2)
vendor/ply/yacc.py (+45/-12)
To merge this branch: bzr merge lp:~maddevelopers/mg5amcnlo/3.0.4
Reviewer Review Type Date Requested Status
Olivier Mattelaer Approve
Review via email: mp+400095@code.launchpad.net

Commit message

First non beta release

Description of the change

Target time for the release: Friday.
Please perform all the checks that you want on this version.

To post a comment you must log in.
Revision history for this message
marco zaro (marco-zaro) wrote :
Download full text (530.0 KiB)

Hi Olivier,
wait one second, we still need to merge the 4FS branch into 3.0.4…
I will update everybody once this is done
Cheers,

marco

> On 24 Mar 2021, at 11:13, Olivier Mattelaer <email address hidden> wrote:
>
> Olivier Mattelaer has proposed merging lp:~maddevelopers/mg5amcnlo/3.0.4 into lp:mg5amcnlo/3.0.
>
> Commit message:
> First non beta release
>
> Requested reviews:
> MadTeam (madteam)
>
> For more details, see:
> https://code.launchpad.net/~maddevelopers/mg5amcnlo/3.0.4/+merge/400095
>
> Target time for the release: Friday.
> Please perform all the checks that you want on this version.
> --
> The attached diff has been truncated due to its size.
> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/mg5amcnlo/3.0.4.
> === modified file 'MadSpin/decay.py'
> --- MadSpin/decay.py 2020-06-21 21:31:33 +0000
> +++ MadSpin/decay.py 2021-03-24 10:12:56 +0000
> @@ -1,7 +1,12 @@
> #!/usr/bin/env python
>
> from __future__ import division
> +from __future__ import absolute_import
> +from __future__ import print_function
> from madgraph.interface import reweight_interface
> +from six.moves import map
> +from six.moves import range
> +from six.moves import zip
>
> ################################################################################
> #
> @@ -94,7 +99,7 @@
>
> p=[]
> string=""
> - for id in xrange(len(self.particle)):
> + for id in range(len(self.particle)):
> particle = self.particle[map_event[id] + 1]
> if particle["istup"] < 2:
> mom = particle["momentum"]
> @@ -115,28 +120,26 @@
> pattern = re.compile(r'''<\s*wgt id=[\'\"](?P<id>[^\'\"]+)[\'\"]\s*>\s*(?P<val>[\ded+-.]*)\s*</wgt>''')
> data = pattern.findall(self.rwgt)
> if len(data)==0:
> - print self.rwgt
> + print(self.rwgt)
> try:
> text = ''.join(' <wgt id=\'%s\'> %+15.7e </wgt>\n' % (pid, float(value) * factor)
> for (pid,value) in data)
> - except ValueError, error:
> - raise Exception, 'Event File has unvalid weight. %s' % error
> + except ValueError as error:
> + raise Exception('Event File has unvalid weight. %s' % error)
> self.rwgt = self.rwgt[:start] + '<rwgt>\n'+ text + self.rwgt[stop:]
>
> def string_event_compact(self):
> """ return a string with the momenta of the event written
> in an easy readable way
> """
> - line=""
> + line=[]
> for part in range(1,len(self.particle)+1):
> - line+=str(self.particle[part]["pid"])+" "
> - line+=str(self.particle[part]["momentum"].px)+" "
> - line+=str(self.particle[part]["momentum"].py)+" "
> - line+=str(self.particle[part]["momentum"].pz)+" "
> - line+=str(self.particle[part]["momentum"].E)+" "
> - line+=str(self.particle[part]["momentum"].m)+" "
> - line+="\n"
> - return line
> + pid = self.particle[part]["pid"]...

lp:~maddevelopers/mg5amcnlo/3.0.4 updated
991. By olivier-mattelaer on 2021-03-24

fixing one IOtest

992. By marco zaro on 2021-03-24

real-born links are written for processees with only QCD splittings

993. By marco zaro on 2021-03-24

merged 4FS branch

994. By olivier-mattelaer on 2021-03-25

merge with 2.9.3 -> forcing DP for CF computationn

995. By olivier-mattelaer on 2021-03-25

fixed nlo_multicore_lowmem

996. By olivier-mattelaer on 2021-03-25

merge 3.0.4-qcdonly

997. By olivier-mattelaer on 2021-03-25

update VERSION/UPDATE

998. By olivier-mattelaer on 2021-03-25

remove print statement

999. By olivier-mattelaer on 2021-03-25

includ fxfx patch of Rik

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

approve will be release as 3.1.0

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'MadSpin/decay.py'
2--- MadSpin/decay.py 2020-06-21 21:31:33 +0000
3+++ MadSpin/decay.py 2021-03-25 20:41:08 +0000
4@@ -1,7 +1,12 @@
5 #!/usr/bin/env python
6
7 from __future__ import division
8+from __future__ import absolute_import
9+from __future__ import print_function
10 from madgraph.interface import reweight_interface
11+from six.moves import map
12+from six.moves import range
13+from six.moves import zip
14
15 ################################################################################
16 #
17@@ -94,7 +99,7 @@
18
19 p=[]
20 string=""
21- for id in xrange(len(self.particle)):
22+ for id in range(len(self.particle)):
23 particle = self.particle[map_event[id] + 1]
24 if particle["istup"] < 2:
25 mom = particle["momentum"]
26@@ -115,28 +120,26 @@
27 pattern = re.compile(r'''<\s*wgt id=[\'\"](?P<id>[^\'\"]+)[\'\"]\s*>\s*(?P<val>[\ded+-.]*)\s*</wgt>''')
28 data = pattern.findall(self.rwgt)
29 if len(data)==0:
30- print self.rwgt
31+ print(self.rwgt)
32 try:
33 text = ''.join(' <wgt id=\'%s\'> %+15.7e </wgt>\n' % (pid, float(value) * factor)
34 for (pid,value) in data)
35- except ValueError, error:
36- raise Exception, 'Event File has unvalid weight. %s' % error
37+ except ValueError as error:
38+ raise Exception('Event File has unvalid weight. %s' % error)
39 self.rwgt = self.rwgt[:start] + '<rwgt>\n'+ text + self.rwgt[stop:]
40
41 def string_event_compact(self):
42 """ return a string with the momenta of the event written
43 in an easy readable way
44 """
45- line=""
46+ line=[]
47 for part in range(1,len(self.particle)+1):
48- line+=str(self.particle[part]["pid"])+" "
49- line+=str(self.particle[part]["momentum"].px)+" "
50- line+=str(self.particle[part]["momentum"].py)+" "
51- line+=str(self.particle[part]["momentum"].pz)+" "
52- line+=str(self.particle[part]["momentum"].E)+" "
53- line+=str(self.particle[part]["momentum"].m)+" "
54- line+="\n"
55- return line
56+ pid = self.particle[part]["pid"]
57+ m = self.particle[part]["momentum"]
58+ line.append("%i %s %.7g %.7g %.7g %.7g" %
59+ (pid, m.px, m.py, m.pz, m.E, m.m))
60+ line.append('')
61+ return "\n".join(line)
62
63 def get_tag(self):
64
65@@ -170,7 +173,7 @@
66 (self.nexternal,self.ievent,self.wgt,self.scale,self.aqed,self.aqcd)
67 line+=line1+"\n"
68 scales= []
69- for item in range(1,len(self.event2mg.keys())+1):
70+ for item in range(1,len(list(self.event2mg.keys()))+1):
71 part=self.event2mg[item]
72 if part>0:
73 particle_line=self.get_particle_line(self.particle[part])
74@@ -556,7 +559,7 @@
75 # I don't expect this to be inefficient, since there is a BW cut
76
77 if tree["nbody"] > 2:
78- raise Exception, 'Phase Space generator not yet ready for 3 body decay'
79+ raise Exception('Phase Space generator not yet ready for 3 body decay')
80
81 if ran==1:
82 decay_mom=generate_2body_decay(index2mom[res]["momentum"],mA, all_mass[0],all_mass[1])
83@@ -874,7 +877,7 @@
84 line+=str(d1)+" + "
85 line+=str(d2)+" , type="
86 line+=branch["type"]
87- print line
88+ print(line)
89
90 class AllMatrixElement(dict):
91 """Object containing all the production topologies required for event to decay.
92@@ -921,7 +924,7 @@
93 logger.warning("No Branching ratio applied for %s. Please check if this is expected" % init[0])
94 br *= self.get_br(decay)
95 else:
96- raise MadGraph5Error,"No valid decay for %s. No 2 body decay for that particle. (three body are not supported by MadSpin)" % init[0]
97+ raise MadGraph5Error("No valid decay for %s. No 2 body decay for that particle. (three body are not supported by MadSpin)" % init[0])
98
99
100
101@@ -1127,7 +1130,7 @@
102
103 # Reorganize s-channel vertices to get a list of all
104 # subprocesses for each vertex
105- schannels = zip(*[s for s,t in stchannels])
106+ schannels = list(zip(*[s for s,t in stchannels]))
107 else:
108 schannels = []
109
110@@ -1168,7 +1171,7 @@
111 if decay['decay_tag']==decay_tag: return decay
112
113 msg = 'Unable to retrieve decay from decay_tag\n%s\n%s' %(production_tag, decay_tag)
114- raise Exception, msg
115+ raise Exception(msg)
116
117 def get_random_decay(self, production_tag,first=[]):
118 """select randomly a decay channel"""
119@@ -1384,32 +1387,32 @@
120 initial=item
121 if item not in [ particle['name'] for particle in base_model['particles'] ] \
122 and item not in [ particle['antiname'] for particle in base_model['particles'] ]:
123- raise Exception, "No particle "+item+ " in the model "+model
124+ raise Exception("No particle "+item+ " in the model "+model)
125 continue
126 elif item=='>': continue # case 2: we have the > symbole
127 elif item not in ponctuation : # case 3: we have a particle originating from a branching
128 final.append(item)
129 if next_symbol=='' or next_symbol in ponctuation:
130 #end of a splitting, verify that it exists
131- if initial not in self.br.keys():
132+ if initial not in list(self.br.keys()):
133 logger.debug('Branching fractions of particle '+initial+' are unknown')
134 return 0
135 if len(final)>2:
136- raise Exception, 'splittings different from A > B +C are currently not implemented '
137+ raise Exception('splittings different from A > B +C are currently not implemented ')
138
139- if final[0] in multiparticles.keys():
140+ if final[0] in list(multiparticles.keys()):
141 set_B=[pid2label[pid] for pid in multiparticles[final[0]]]
142 else:
143 if final[0] not in [ particle['name'] for particle in base_model['particles'] ] \
144 and final[0] not in [ particle['antiname'] for particle in base_model['particles'] ]:
145- raise Exception, "No particle "+item+ " in the model "
146+ raise Exception("No particle "+item+ " in the model ")
147 set_B=[final[0]]
148- if final[1] in multiparticles.keys():
149+ if final[1] in list(multiparticles.keys()):
150 set_C=[pid2label[pid] for pid in multiparticles[final[1]]]
151 else:
152 if final[1] not in [ particle['name'] for particle in base_model['particles'] ] \
153 and final[1] not in [ particle['antiname'] for particle in base_model['particles'] ]:
154- raise Exception, "No particle "+item+ " in the model "+model
155+ raise Exception("No particle "+item+ " in the model "+model)
156 set_C=[final[1]]
157
158 splittings={}
159@@ -1538,7 +1541,7 @@
160 ff.close()
161
162 lhapdf = False
163- if os.environ.has_key('lhapdf'):
164+ if 'lhapdf' in os.environ:
165 lhapdf = os.environ['lhapdf']
166 del os.environ['lhapdf']
167
168@@ -1566,7 +1569,7 @@
169
170 label2pid = self.label2pid
171 pid2label = self.label2pid
172- for res in self.br.keys():
173+ for res in list(self.br.keys()):
174 particle=self.model.get_particle(label2pid[res])
175 if particle['self_antipart']:
176 continue
177@@ -1588,7 +1591,7 @@
178 self.br[anti_res][chan]['daughters']=[]
179 self.br[anti_res][chan]['daughters'].append(d1bar)
180 self.br[anti_res][chan]['daughters'].append(d2bar)
181- if decay.has_key('width'):
182+ if 'width' in decay:
183 self.br[anti_res][chan]['width']=decay['width']
184
185 def launch_width_evaluation(self,resonances, mgcmd):
186@@ -1847,7 +1850,7 @@
187 if line =="": break
188 list_line=line.split()
189 if len(list_line)>2:
190- if list_line[0]=="DECAY" and int(list_line[1]) in pid2widths.keys():
191+ if list_line[0]=="DECAY" and int(list_line[1]) in list(pid2widths.keys()):
192 list_line[2]=str(pid2widths[int(list_line[1])])
193 line=""
194 for item in list_line:
195@@ -2049,7 +2052,7 @@
196 else:
197 try:
198 self.all_ME, self.all_decay,self.width_estimator = save_load_object.load_from_file(pjoin(self.path_me,"production_me", "all_ME.pkl"))
199- except Exception,error:
200+ except Exception as error:
201 logger.debug(str(error))
202 self.generate_all_matrix_element()
203 self.save_to_file(pickle_info,
204@@ -2310,7 +2313,7 @@
205 Please relaunch MS with more events/PS point by event in the
206 computation of the maximum_weight.
207 """ % (report['over_weight'], event_nb, 100 * report['over_weight']/event_nb )
208- raise MadSpinError, error
209+ raise MadSpinError(error)
210
211 error = True
212 elif report['%s_f' % (decay['decay_tag'],)] > max(0.01*report[decay['decay_tag']],3):
213@@ -2321,7 +2324,7 @@
214 report['%s' % (decay['decay_tag'],)],\
215 100 * report['%s_f' % (decay['decay_tag'],)] / report[ decay['decay_tag']] ,\
216 decay['decay_tag'])
217- raise MadSpinError, error
218+ raise MadSpinError(error)
219
220
221 decayed_event.change_wgt(factor= self.branching_ratio)
222@@ -2491,7 +2494,6 @@
223 return decay_mapping
224
225 BW_cut = self.options['BW_cut']
226-
227 #class the decay by class (nbody/pid)
228 nbody_to_decay = collections.defaultdict(list)
229 for decay in self.all_decay.values():
230@@ -2525,7 +2527,6 @@
231 '\n'.join(str(tree[i]['momentum']) for i in range(1, len(tree))
232 if i in tree))
233
234-
235 values = {}
236 for i in range(len(decays)):
237 if any([valid[(i,j)] for j in range(len(decays)) if i !=j]):
238@@ -2559,7 +2560,6 @@
239 comment+= "%4e " % valid[(i,j)]
240 comment+= "|"+ os.path.basename(decays[i]['path'])
241 logger.debug(comment)
242-
243 # store the result in the relation object. (using tag as key)
244 for i in range(len(decays)):
245 tag_i = decays[i]['tag'][2:]
246@@ -2654,7 +2654,7 @@
247 pass
248 try:
249 shutil.rmtree(pjoin(path_me,'production_me'))
250- except Exception, error:
251+ except Exception as error:
252 pass
253 path_me = self.path_me
254
255@@ -2683,7 +2683,7 @@
256 if name == 'all':
257 continue
258 #self.banner.get('proc_card').get('multiparticles'):
259- mgcmd.do_define("%s = %s" % (name, ' '.join(`i` for i in pdgs)))
260+ mgcmd.do_define("%s = %s" % (name, ' '.join(repr(i) for i in pdgs)))
261
262
263 mgcmd.exec_cmd("set group_subprocesses False")
264@@ -2701,7 +2701,7 @@
265
266 mgcmd.exec_cmd(commandline, precmd=True)
267 commandline = 'output standalone_msP %s %s' % \
268- (pjoin(path_me,'production_me'), ' '.join(self.list_branches.keys()))
269+ (pjoin(path_me,'production_me'), ' '.join(list(self.list_branches.keys())))
270 mgcmd.exec_cmd(commandline, precmd=True)
271 logger.info('Done %.4g' % (time.time()-start))
272
273@@ -2722,19 +2722,19 @@
274 if self.all_ME.has_particles_ambiguity:
275 final_states.add(self.pid2label[-1*self.pid2label[label]])
276 final_states.add(label)
277- for key in self.list_branches.keys():
278+ for key in list(self.list_branches.keys()):
279 if key not in final_states and key not in self.mgcmd._multiparticles:
280 if (len(self.list_branches)>1):
281 del self.list_branches[key]
282 elif not self.options["onlyhelicity"]:
283- raise Exception, " No decay define for process."
284+ raise Exception(" No decay define for process.")
285 logger.info('keeping dummy decay for passthrough mode')
286
287 # 4. compute the full matrix element -----------------------------------
288 if not self.options["onlyhelicity"]:
289 logger.info('generating the full matrix element squared (with decay)')
290 start = time.time()
291- to_decay = self.mscmd.list_branches.keys()
292+ to_decay = list(self.mscmd.list_branches.keys())
293 decay_text = []
294 for decays in self.mscmd.list_branches.values():
295 for decay in decays:
296@@ -2757,13 +2757,13 @@
297 # remove decay with 0 branching ratio.
298 mgcmd.remove_pointless_decay(self.banner.param_card)
299 commandline = 'output standalone_msF %s %s' % (pjoin(path_me,'full_me'),
300- ' '.join(self.list_branches.keys()))
301+ ' '.join(list(self.list_branches.keys())))
302 mgcmd.exec_cmd(commandline, precmd=True)
303 logger.info('Done %.4g' % (time.time()-start))
304 elif self.options["onlyhelicity"]:
305 logger.info("Helicity Matrix-Element")
306 commandline = 'output standalone_msF %s %s' % \
307- (pjoin(path_me,'full_me'), ' '.join(self.list_branches.keys()))
308+ (pjoin(path_me,'full_me'), ' '.join(list(self.list_branches.keys())))
309 mgcmd.exec_cmd(commandline, precmd=True)
310 logger.info('Done %.4g' % (time.time()-start))
311
312@@ -2875,7 +2875,7 @@
313 try:
314 proc_nb = int(proc_nb)
315 except ValueError:
316- raise MadSpinError, 'MadSpin didn\'t allow order restriction after the @ comment: \"%s\" not valid' % proc_nb
317+ raise MadSpinError('MadSpin didn\'t allow order restriction after the @ comment: \"%s\" not valid' % proc_nb)
318 proc_nb = '@%i' % proc_nb
319 else:
320 baseproc = new_proc
321@@ -2896,7 +2896,7 @@
322 else:
323 part = baseproc.split(',')
324 if any('(' in p for p in part):
325- raise Exception, 'too much decay at MG level. this can not be done for the moment)'
326+ raise Exception('too much decay at MG level. this can not be done for the moment)')
327 else:
328 decay_part = []
329 for p in part[1:]:
330@@ -2912,7 +2912,7 @@
331 # Compute the width branching ratio. Doing this at this point allows
332 #to remove potential pointless decay in the diagram generation.
333 resonances = decay_misc.get_all_resonances(self.banner,
334- self.mgcmd, self.mscmd.list_branches.keys())
335+ self.mgcmd, list(self.mscmd.list_branches.keys()))
336
337 logger.debug('List of resonances:%s' % resonances)
338 path_me = os.path.realpath(self.path_me)
339@@ -3030,9 +3030,9 @@
340
341 if __debug__:
342 if(os.path.getsize(pjoin(path_me, mode,'SubProcesses', 'parameters.inc'))<10):
343- print pjoin(path_me, mode,'SubProcesses', 'parameters.inc')
344- raise Exception, "Parameters of the model were not written correctly ! %s " %\
345- os.path.getsize(pjoin(path_me, mode,'SubProcesses', 'parameters.inc'))
346+ print(pjoin(path_me, mode,'SubProcesses', 'parameters.inc'))
347+ raise Exception("Parameters of the model were not written correctly ! %s " %\
348+ os.path.getsize(pjoin(path_me, mode,'SubProcesses', 'parameters.inc')))
349
350
351 def extract_resonances_mass_width(self, resonances):
352@@ -3050,7 +3050,7 @@
353 part=abs(self.pid2label[particle_label])
354 #mass = self.banner.get('param_card','mass', abs(part))
355 width = self.banner.get('param_card','decay', abs(part))
356- except ValueError, error:
357+ except ValueError as error:
358 continue
359 else:
360 if (width.value > 0.001):
361@@ -3153,7 +3153,6 @@
362 continue # No decay for this process
363 atleastonedecay = True
364 weight = self.get_max_weight_from_fortran(decay['path'], event_map,numberps,self.options['BW_cut'])
365-
366 #weight=mg5_me_full*BW_weight_prod*BW_weight_decay/mg5_me_prod
367 if tag in max_decay:
368 max_decay[tag] = max([max_decay[tag], weight])
369@@ -3291,10 +3290,12 @@
370 path, std_in)
371
372 return max_weight
373-
374+
375+ nb_load = 0
376 def loadfortran(self, mode, path, stdin_text, first=True):
377 """ call the fortran executable """
378
379+ self.nb_load +=1
380 tmpdir = ''
381 if ('full',path) in self.calculator:
382 external = self.calculator[('full',path)]
383@@ -3304,17 +3305,32 @@
384 tmpdir = path
385
386 executable_prod="./check"
387+ my_env = os.environ.copy()
388+ my_env["GFORTRAN_UNBUFFERED_ALL"] = "y"
389 external = Popen(executable_prod, stdout=PIPE, stdin=PIPE,
390- stderr=STDOUT, cwd=tmpdir)
391+ stderr=STDOUT, cwd=tmpdir, env=my_env)
392 self.calculator[('full',path,)] = external
393 self.calculator_nbcall[('full',path)] = 1
394-
395+
396 try:
397- external.stdin.write(stdin_text)
398- except IOError:
399+ external.stdin.write(stdin_text.encode())
400+ external.stdin.flush()
401+ except IOError as error:
402 if not first:
403 raise
404 try:
405+ external.stdin.close()
406+ except Exception as error:
407+ misc.sprint(error)
408+ try:
409+ external.stdout.close()
410+ except Exception as error:
411+ misc.sprint(error)
412+ try:
413+ external.stderr.close()
414+ except Exception as error:
415+ misc.sprint(error)
416+ try:
417 external.terminate()
418 except:
419 pass
420@@ -3346,7 +3362,7 @@
421
422 if len(self.calculator) > self.options['max_running_process']:
423 logger.debug('more than %s calculators. Perform cleaning' % self.options['max_running_process'])
424- nb_calls = self.calculator_nbcall.values()
425+ nb_calls = list(self.calculator_nbcall.values())
426 nb_calls.sort()
427 cut = max([nb_calls[len(nb_calls)//2], 0.001 * nb_calls[-1]])
428 for key, external in list(self.calculator.items()):
429@@ -3355,8 +3371,8 @@
430 if key[0]=='full':
431 path=key[1]
432 end_signal="5 0 0 0 0\n" # before closing, write down the seed
433- external.stdin.write(end_signal)
434- ranmar_state=external.stdout.readline()
435+ external.stdin.write(end_signal.encode())
436+ ranmar_state=external.stdout.readline().decode()
437 ranmar_file=pjoin(path,'ranmar_state.dat')
438 ranmar=open(ranmar_file, 'w')
439 ranmar.write(ranmar_state)
440@@ -3375,7 +3391,7 @@
441 """routine to return the matrix element"""
442
443 if mode != "decay":
444- raise Exception, "This function is only secure in mode decay."
445+ raise Exception("This function is only secure in mode decay.")
446
447 tmpdir = ''
448 if (mode, production) in self.calculator:
449@@ -3390,30 +3406,40 @@
450 tmpdir = pjoin(self.path_me,'%s_me' % mode, 'SubProcesses',
451 production)
452 executable_prod="./check"
453- external = Popen(executable_prod, stdout=PIPE, stdin=PIPE,
454- stderr=STDOUT, cwd=tmpdir)
455+ my_env = os.environ.copy()
456+ my_env["GFORTRAN_UNBUFFERED_ALL"] = "y"
457+ external = Popen(executable_prod, stdout=PIPE, stdin=PIPE,
458+ stderr=STDOUT, cwd=tmpdir,
459+ env=my_env,
460+ bufsize=0)
461+ assert (mode, production) not in self.calculator
462 self.calculator[(mode, production)] = external
463 self.calculator_nbcall[(mode, production)] = 1
464
465- external.stdin.write(stdin_text)
466+
467+ external.stdin.write(stdin_text.encode())
468 if mode == 'prod':
469- info = int(external.stdout.readline())
470+ info = int(external.stdout.readline().decode())
471 nb_output = abs(info)+1
472 else:
473 info = 1
474 nb_output = 1
475-
476- prod_values = ' '.join([external.stdout.readline() for i in range(nb_output)])
477+ std = []
478+ for i in range(nb_output):
479+ external.stdout.flush()
480+ line = external.stdout.readline().decode()
481+ std.append(line)
482+ prod_values = ' '.join(std)
483+ #prod_values = ' '.join([external.stdout.readline().decode() for i in range(nb_output)])
484 if info < 0:
485- print 'ZERO DETECTED'
486- print prod_values
487- print stdin_text
488+ print('ZERO DETECTED')
489+ print(prod_values)
490+ print(stdin_text)
491 os.system('lsof -p %s' % external.pid)
492 return ' '.join(prod_values.split()[-1*(nb_output-1):])
493-
494 if len(self.calculator) > self.options['max_running_process']:
495 logger.debug('more than 100 calculator. Perform cleaning')
496- nb_calls = self.calculator_nbcall.values()
497+ nb_calls = list(self.calculator_nbcall.values())
498 nb_calls.sort()
499 cut = max([nb_calls[len(nb_calls)//2], 0.001 * nb_calls[-1]])
500 for key, external in list(self.calculator.items()):
501@@ -3426,7 +3452,6 @@
502 del self.calculator_nbcall[key]
503 else:
504 self.calculator_nbcall[key] = self.calculator_nbcall[key] //10
505-
506 if mode == 'prod':
507 return prod_values
508 else:
509@@ -3457,7 +3482,7 @@
510 #print part
511 decay_struct[part]['mg_tree']=[]
512
513- nb_res=len(decay_struct[part]["tree"].keys())
514+ nb_res=len(list(decay_struct[part]["tree"].keys()))
515 for res in range(-1,-nb_res-1,-1):
516 label=abs(decay_struct[part]["tree"][res]['label'])
517 mass=self.pid2massvar[label]
518@@ -3533,7 +3558,7 @@
519 else:
520 # now we need to write the decay products in the event
521 # follow the decay chain order, so that we can easily keep track of the mother index
522- for res in range(-1,-len(decay_struct[part]["tree"].keys())-1,-1):
523+ for res in range(-1,-len(list(decay_struct[part]["tree"].keys()))-1,-1):
524 index_d1=decay_struct[part]['mg_tree'][-res-1][1]
525 index_d2=decay_struct[part]['mg_tree'][-res-1][2]
526
527@@ -3596,7 +3621,7 @@
528 # follow the decay chain order, so that we can easily keep track of the mother index
529
530 map_to_part_number={}
531- for res in range(-1,-len(decay_struct[part]["tree"].keys())-1,-1):
532+ for res in range(-1,-len(list(decay_struct[part]["tree"].keys()))-1,-1):
533 index_res_for_mom=decay_struct[part]['mg_tree'][-res-1][0]
534 if (res==-1):
535 part_number+=1
536@@ -3736,8 +3761,8 @@
537 d2colup2=colup2
538 d2colup1=maxcol
539 else:
540- raise Exception, 'color combination not treated by MadSpin (yet). (%s,%s,%s)' \
541- % (colord1,colord2,colormother)
542+ raise Exception('color combination not treated by MadSpin (yet). (%s,%s,%s)' \
543+ % (colord1,colord2,colormother))
544 part_number+=1
545 index_d1_for_mom=decay_struct[part]['mg_tree'][-res-1][1]
546 mom=momenta_in_decay[index_d1_for_mom].copy()
547@@ -3819,14 +3844,14 @@
548 mothup1=curr_event.resonance[part]["mothup1"]
549 mothup2=curr_event.resonance[part]["mothup2"]
550 if mothup1==index:
551- if mothup2!=index: print "Warning: mothup1!=mothup2"
552+ if mothup2!=index: print("Warning: mothup1!=mothup2")
553 curr_event.resonance[part]["mothup1"]=part_number
554 curr_event.resonance[part]["mothup2"]=part_number
555 for part in curr_event.particle.keys():
556 mothup1=curr_event.particle[part]["mothup1"]
557 mothup2=curr_event.particle[part]["mothup2"]
558 if mothup1==index:
559- if mothup2!=index: print "Warning: mothup1!=mothup2"
560+ if mothup2!=index: print("Warning: mothup1!=mothup2")
561 curr_event.particle[part]["mothup1"]=part_number
562 curr_event.particle[part]["mothup2"]=part_number
563
564@@ -3844,7 +3869,7 @@
565 max_br = max([m['total_br'] for m in self.all_ME.values()])
566 if max_br >= 1:
567 if max_br > 1.0001:
568- raise MadSpinError, 'BR is larger than one.'
569+ raise MadSpinError('BR is larger than one.')
570 max_br = 1
571 for production in self.all_ME.values():
572 if production['total_br'] < max_br:
573@@ -3966,30 +3991,45 @@
574 for (mode, path) in self.calculator:
575 if mode=='decay':
576 external = self.calculator[(mode, path)]
577+ try:
578+ external.stdin.close()
579+ except Exception as error:
580+ misc.sprint(error)
581+ continue
582+ try:
583+ external.stdout.close()
584+ except Exception as error:
585+ misc.sprint(error)
586+ continue
587 external.terminate()
588 del external
589 elif mode=='full':
590- stdin_text="5 0 0 0 0\n" # before closing, write down the seed
591+ stdin_text="5 0 0 0 0\n".encode() # before closing, write down the seed
592 external = self.calculator[('full',path)]
593 try:
594 external.stdin.write(stdin_text)
595- except Exception:
596+ external.stdin.flush()
597+ except Exception as error:
598+ misc.sprint(error)
599+ raise
600 continue
601- ranmar_state=external.stdout.readline()
602+ ranmar_state=external.stdout.readline().decode()
603 ranmar_file=pjoin(path,'ranmar_state.dat')
604 ranmar=open(ranmar_file, 'w')
605 ranmar.write(ranmar_state)
606 ranmar.close()
607 try:
608 external.stdin.close()
609- except Exception:
610- continue
611+ except Exception as error:
612+ misc.sprint(error)
613 try:
614 external.stdout.close()
615- except Exception:
616- continue
617+ except Exception as error:
618+ misc.sprint(error)
619 external.terminate()
620 del external
621+ else:
622+ misc.sprint('not closed', mode, type(mode))
623 else:
624 try:
625 external = self.calculator[('full', path_to_decay)]
626@@ -3997,12 +4037,21 @@
627 pass
628 else:
629 stdin_text="5 0 0 0 0"
630- external.stdin.write(stdin_text)
631- external.stdin.close()
632- external.stdout.close()
633+ try:
634+ external.stdin.write(stdin_text)
635+ except Exception:
636+ pass
637+ try:
638+ external.stdin.close()
639+ except Exception:
640+ pass
641+ try:
642+ external.stdout.close()
643+ except Exception:
644+ pass
645 external.terminate()
646 del external
647-
648+
649 self.calculator = {}
650
651
652@@ -4058,7 +4107,7 @@
653 if name == 'all':
654 continue
655 #self.banner.get('proc_card').get('multiparticles'):
656- mgcmd.do_define("%s = %s" % (name, ' '.join(`i` for i in pdgs)))
657+ mgcmd.do_define("%s = %s" % (name, ' '.join(repr(i) for i in pdgs)))
658
659
660 mgcmd.exec_cmd("set group_subprocesses False")
661@@ -4087,7 +4136,7 @@
662 # 4. compute the full matrix element -----------------------------------
663 logger.info('generating the full matrix element squared (with decay)')
664 # start = time.time()
665- to_decay = self.mscmd.list_branches.keys()
666+ to_decay = list(self.mscmd.list_branches.keys())
667 decay_text = []
668 for decays in self.mscmd.list_branches.values():
669 for decay in decays:
670@@ -4172,6 +4221,8 @@
671
672 def compile(self):
673 logger.info('Compiling code')
674+ #my_env = os.environ.copy()
675+ #os.environ["GFORTRAN_UNBUFFERED_ALL"] = "y"
676 misc.compile(cwd=pjoin(self.path_me,'madspin_me', 'Source'),
677 nb_core=self.mgcmd.options['nb_core'])
678 misc.compile(['all'],cwd=pjoin(self.path_me,'madspin_me', 'SubProcesses'),
679
680=== modified file 'MadSpin/interface_madspin.py'
681--- MadSpin/interface_madspin.py 2020-06-16 19:24:01 +0000
682+++ MadSpin/interface_madspin.py 2021-03-25 20:41:08 +0000
683@@ -14,6 +14,8 @@
684 ################################################################################
685 """ Command interface for MadSpin """
686 from __future__ import division
687+from __future__ import absolute_import
688+from __future__ import print_function
689 import collections
690 import logging
691 import math
692@@ -24,6 +26,8 @@
693 import sys
694 import time
695 import glob
696+import six
697+from six.moves import range
698
699
700 pjoin = os.path.join
701@@ -150,6 +154,7 @@
702 self.mg5cmd = master_interface.MasterCmd()
703 self.seed = None
704 self.err_branching_ratio = 0
705+ self.me_run_name = "" # Events diretory name where to stotre the events (used by madevent) not use internally
706
707
708 if event_path:
709@@ -254,7 +259,7 @@
710 process = self.banner.get_detail('proc_card', 'generate')
711 if not process:
712 msg = 'Invalid proc_card information in the file (no generate line):\n %s' % self.banner['mg5proccard']
713- raise Exception, msg
714+ raise Exception(msg)
715 process, option = mg_interface.MadGraphCmd.split_process_line(process)
716 self.proc_option = option
717
718@@ -414,7 +419,7 @@
719 logger.warning("polarization option used with spinmode=onshell. This combination is not validated and is by construction using sub-optimal method which can likely lead to bias in some situation. Use at your own risk.")
720
721 decay_process, init_part = self.decay.reorder_branch(decaybranch)
722- if not self.list_branches.has_key(init_part):
723+ if init_part not in self.list_branches:
724 self.list_branches[init_part] = []
725 self.list_branches[init_part].append(decay_process)
726 del decay_process, init_part
727@@ -446,14 +451,6 @@
728 except ValueError:
729 raise self.InvalidCmd('second argument should be a real number.')
730
731- elif args[0] == 'BW_effect':
732- if args[1] in [0, False,'.false.', 'F', 'f', 'False', 'no']:
733- args[1] = 0
734- elif args[1] in [1, True,'.true.', 'T', 't', 'True', 'yes']:
735- args[1] = 1
736- else:
737- raise self.InvalidCmd('second argument should be either T or F.')
738-
739 elif args[0] == 'curr_dir':
740 if not os.path.isdir(args[1]):
741 raise self.InvalidCmd('second argument should be a path to a existing directory')
742@@ -491,11 +488,9 @@
743
744 # Format
745 if len(args) == 1:
746- opts = self.options.keys() + ['seed', "spinmode"]
747+ opts = list(self.options.keys()) + ['seed', "spinmode"]
748 return self.list_completion(text, opts)
749 elif len(args) == 2:
750- if args[1] == 'BW_effect':
751- return self.list_completion(text, ['True', 'False'])
752 if args[1] == 'ms_dir':
753 return self.path_completion(text, '.', only_dirs = True)
754 elif args[1] == 'ms_dir':
755@@ -508,20 +503,18 @@
756 def help_set(self):
757 """help the set command"""
758
759- print 'syntax: set OPTION VALUE'
760- print ''
761- print '-- assign to a given option a given value'
762- print ' - set max_weight VALUE: pre-define the maximum_weight for the reweighting'
763- print ' - set BW_effect True|False: [default:True] reshuffle the momenta to describe'
764- print ' corrrectly the Breit-Wigner of the decayed particle'
765- print ' - set seed VALUE: fix the value of the seed to a given value.'
766- print ' by default use the current time to set the seed. random number are'
767- print ' generated by the python module random using the Mersenne Twister generator.'
768- print ' It has a period of 2**19937-1.'
769- print ' - set max_running_process VALUE: allow to limit the number of open file used by the code'
770- print ' The number of running is raising like 2*VALUE'
771- print ' - set spinmode=none: mode with simple file merging. No spin correlation attempt.'
772- print ' This mode allows 3 (and more) body decay.'
773+ print('syntax: set OPTION VALUE')
774+ print('')
775+ print('-- assign to a given option a given value')
776+ print(' - set max_weight VALUE: pre-define the maximum_weight for the reweighting')
777+ print(' - set seed VALUE: fix the value of the seed to a given value.')
778+ print(' by default use the current time to set the seed. random number are')
779+ print(' generated by the python module random using the Mersenne Twister generator.')
780+ print(' It has a period of 2**19937-1.')
781+ print(' - set max_running_process VALUE: allow to limit the number of open file used by the code')
782+ print(' The number of running is raising like 2*VALUE')
783+ print(' - set spinmode=none: mode with simple file merging. No spin correlation attempt.')
784+ print(' This mode allows 3 (and more) body decay.')
785
786 def do_define(self, line):
787 """ """
788@@ -547,14 +540,14 @@
789 """ """
790 try:
791 return self.mg5cmd.complete_define(*args)
792- except Exception,error:
793+ except Exception as error:
794 misc.sprint(error)
795
796 def complete_decay(self, *args):
797 """ """
798 try:
799 return self.mg5cmd.complete_generate(*args)
800- except Exception,error:
801+ except Exception as error:
802 misc.sprint(error)
803
804 def check_launch(self, args):
805@@ -568,29 +561,53 @@
806 # Validity check. Need lhe version 3 if matching is on
807 if self.banner.get("run_card", "lhe_version") < 3 and \
808 self.banner.get("run_card", "ickkw") > 0:
809- raise Exception, "MadSpin requires LHEF version 3 when running with matching/merging"
810+ raise Exception("MadSpin requires LHEF version 3 when running with matching/merging")
811
812 def help_launch(self):
813 """help for the launch command"""
814
815- print '''Running Madspin on the loaded events, following the decays enter
816+ print('''Running Madspin on the loaded events, following the decays enter
817 An example of a full run is the following:
818 import ../mssm_events.lhe.gz
819 define sq = ur ur~
820 decay go > sq j
821 launch
822- '''
823+ ''')
824+
825+ self.parser_launch.print_help()
826+
827+ def parser_launch(self):
828+ usage = """launch [-n RUN_NAME]
829+ """
830+ parser = misc.OptionParser(usage=usage)
831+ parser.add_option("-n", "--name",
832+ default="",
833+ help="When NOT run in standalone instruct MG5aMC where to store the events file")
834+ return parser
835+
836+ def parse_launch(self, line):
837+
838+ args = self.split_arg(line)
839+ return self.parser_launch().parse_args(args)
840+
841
842 @misc.mute_logger()
843 def do_launch(self, line):
844 """end of the configuration launched the code"""
845
846+ (options, args) = self.parse_launch(line)
847+
848+ if options.name:
849+ self.me_run_name = options.name # Only use by MG5aMC
850+ else:
851+ self.me_run_name = ''
852+
853 if self.options["spinmode"] in ["none"]:
854 return self.run_bridge(line)
855 elif self.options["spinmode"] == "onshell":
856 return self.run_onshell(line)
857 elif self.options["spinmode"] == "bridge":
858- raise Exception, "Bridge mode not available."
859+ raise Exception("Bridge mode not available.")
860
861 if self.options['ms_dir'] and os.path.exists(pjoin(self.options['ms_dir'], 'madspin.pkl')):
862 return self.run_from_pickle()
863@@ -622,7 +639,7 @@
864
865 if self.options['seed'] > 30081*30081: # can't use too big random number
866 msg = 'Random seed too large ' + str(self.options['seed']) + ' > 30081*30081'
867- raise Exception, msg
868+ raise Exception(msg)
869
870 #self.options['seed'] = self.seed
871 text = '%s\n' % '\n'.join([ line for line in self.history if line])
872@@ -716,13 +733,13 @@
873
874 orig_block = generate_all.banner.param_card[name]
875 if block != orig_block:
876- raise Exception, """The directory %s is specific to a mass spectrum.
877+ raise Exception("""The directory %s is specific to a mass spectrum.
878 Your event file is not compatible with this one. (Different param_card: %s different)
879 orig block:
880 %s
881 new block:
882 %s""" \
883- % (self.options['ms_dir'], name, orig_block, block)
884+ % (self.options['ms_dir'], name, orig_block, block))
885
886 #replace init information
887 generate_all.banner['init'] = self.banner['init']
888@@ -808,7 +825,7 @@
889 elif '.hepmc' in filename:
890 self.options['input_format'] = 'hepmc'
891 else:
892- raise Exception, "fail to recognized input format automatically"
893+ raise Exception("fail to recognized input format automatically")
894
895 if self.options['input_format'] in ['lhe', 'lhe_no_banner']:
896 orig_lhe = lhe_parser.EventFile(filename)
897@@ -849,7 +866,7 @@
898
899 if self.options['seed'] > 30081*30081: # can't use too big random number
900 msg = 'Random seed too large ' + str(self.options['seed']) + ' > 30081*30081'
901- raise Exception, msg
902+ raise Exception(msg)
903
904 #self.options['seed'] = self.options['seed']
905
906@@ -989,7 +1006,7 @@
907
908 for event in orig_lhe:
909 if counter and counter % 100 == 0 and float(str(counter)[1:]) ==0:
910- print "decaying event number %s [%s s]" % (counter, time.time()-start)
911+ print("decaying event number %s [%s s]" % (counter, time.time()-start))
912 counter +=1
913
914 # use random order for particles to avoid systematics when more than
915@@ -1058,7 +1075,7 @@
916 # read the event file up to completion
917 while 1:
918 try:
919- decay = decay_file.next()
920+ decay = next(decay_file)
921 except StopIteration:
922 # check how far we are
923 ratio = counter / nb_event
924@@ -1069,6 +1086,7 @@
925 evt_decayfile[particle.pdg].update(new_file)
926 decay_file = evt_decayfile[particle.pdg][decay_file_nb]
927 continue
928+
929 if helicity == decay[0].helicity or helicity==9 or \
930 self.options["spinmode"] == "none":
931 break # use that event
932@@ -1198,7 +1216,7 @@
933 try:
934 os.remove(pjoin(decay_dir, 'Cards', 'madanalysis5_parton_card_default.dat'))
935 os.remove(pjoin(decay_dir, 'Cards', 'madanalysis5_parton_card.dat'))
936- except Exception,error:
937+ except Exception as error:
938 logger.debug(error)
939 pass
940 self.me_int[decay_dir] = me5_cmd
941@@ -1245,7 +1263,7 @@
942 try:
943 os.remove(pjoin(decay_dir, 'Cards', 'madanalysis5_parton_card_default.dat'))
944 os.remove(pjoin(decay_dir, 'Cards', 'madanalysis5_parton_card.dat'))
945- except Exception,error:
946+ except Exception as error:
947 logger.debug(error)
948 pass
949 self.me_int[decay_dir] = me5_cmd
950@@ -1282,6 +1300,16 @@
951 me5_cmd.exec_cmd("exit")
952 out[i] = lhe_parser.EventFile(pjoin(decay_dir, "Events", 'run_01', 'unweighted_events.lhe.gz'))
953 else:
954+ if not self.seed:
955+ if hasattr(self, 'mother'):
956+ try:
957+ self.seed = 100 + self.mother.run_card['iseed']
958+ except:
959+ self.seed = random.randint(0, int(30081*30081))
960+ self.seed += 1
961+ if self.seed > 30081*30081:
962+ self.seed -= 30081*30081
963+ logger.info('Will use seed %s' % (self.seed))
964 misc.call(['run.sh', str(int(1.2*nb_event)), str(self.seed)], cwd=decay_dir)
965 out[i] = lhe_parser.EventFile(pjoin(decay_dir, 'events.lhe.gz'))
966 if cumul:
967@@ -1360,7 +1388,7 @@
968
969 if self.seed > 30081*30081: # can't use too big random number
970 msg = 'Random seed too large ' + str(self.seed) + ' > 30081*30081'
971- raise Exception, msg
972+ raise Exception(msg)
973
974 self.options['seed'] = self.seed
975
976@@ -1538,7 +1566,7 @@
977 # file if needed.
978 while 1:
979 try:
980- decay = decay_file.next()
981+ decay = next(decay_file)
982 break
983 except StopIteration:
984 eff = self.efficiency
985@@ -1580,7 +1608,7 @@
986 logger.info( "Event %s/%s : %2fs" % (i, nevents, time.time()-start))
987 maxwgt = 0
988 orig_lhe.seek(0)
989- base_event = orig_lhe.next()
990+ base_event = next(orig_lhe)
991 if self.options['fixed_order']:
992 base_event = base_event[0]
993 for j in range(self.options['max_weight_ps_point']):
994@@ -1674,8 +1702,12 @@
995 sys.path.insert(0, pjoin(self.path_me, 'madspin_me', 'SubProcesses'))
996
997 mymod = __import__("%s.matrix2py" % (pdir))
998+ if six.PY3:
999+ from importlib import reload
1000+ else:
1001+ from imp import reload
1002 reload(mymod)
1003- mymod = getattr(mymod, 'matrix2py')
1004+ mymod = getattr(mymod, 'matrix2py')
1005 with misc.chdir(pjoin(self.path_me, 'madspin_me', 'SubProcesses', pdir)):
1006 with misc.stdchannel_redirected(sys.stdout, os.devnull):
1007 if not os.path.exists(pjoin(self.path_me, 'Cards','param_card.dat')) and \
1008@@ -1718,7 +1750,7 @@
1009 try:
1010 proc_nb = int(proc_nb)
1011 except ValueError:
1012- raise MadSpinError, 'MadSpin didn\'t allow order restriction after the @ comment: \"%s\" not valid' % proc_nb
1013+ raise MadSpinError('MadSpin didn\'t allow order restriction after the @ comment: \"%s\" not valid' % proc_nb)
1014 proc_nb = '@ %i' % proc_nb
1015 if self.options['global_order_coupling']:
1016 proc_nb = '%s %s' % (proc_nb, self.options['global_order_coupling'])
1017
1018=== modified file 'MadSpin/src/lha_read_ms.f'
1019--- MadSpin/src/lha_read_ms.f 2012-12-12 17:38:07 +0000
1020+++ MadSpin/src/lha_read_ms.f 2021-03-25 20:41:08 +0000
1021@@ -261,7 +261,7 @@
1022
1023
1024
1025- subroutine LHA_get_real(npara,param,value,name,var,def_value_num)
1026+ subroutine LHA_get_real_silent(npara,param,value,name,var,def_value_num)
1027 c----------------------------------------------------------------------------------
1028 c finds the parameter named "name" in param and associate to "value" in value
1029 c----------------------------------------------------------------------------------
1030@@ -284,12 +284,17 @@
1031 c
1032 c local
1033 c
1034- logical found
1035+ logical found, log
1036 integer i
1037+
1038+ log = .false.
1039+ goto 10
1040+ entry LHA_get_real(npara,param,value,name,var,def_value_num)
1041 c
1042 c start
1043 c
1044- i=1
1045+
1046+ 10 i=1
1047 found=.false.
1048 do while(.not.found.and.i.le.npara)
1049 ctemp=param(i)
1050@@ -305,8 +310,10 @@
1051 i=i+1
1052 enddo
1053 if (.not.found) then
1054- write (*,*) "Warning: parameter ",name," not found"
1055- write (*,*) " setting it to default value ",def_value_num
1056+ if (log) then
1057+ write (*,*) "Warning: parameter ",name," not found"
1058+ write (*,*) " setting it to default value ",def_value_num
1059+ endif
1060 var=def_value_num
1061 endif
1062
1063
1064=== modified file 'Template/LO/Cards/pythia8_card_default.dat'
1065--- Template/LO/Cards/pythia8_card_default.dat 2017-02-06 18:35:42 +0000
1066+++ Template/LO/Cards/pythia8_card_default.dat 2021-03-25 20:41:08 +0000
1067@@ -12,6 +12,8 @@
1068 ! -------------------------------------------------------------------
1069 ! Specify the HEPMC output of the Pythia8 shower. You can set it to:
1070 ! auto : MG5aMC will automatically place it the run_<i> directory
1071+! autoremove: MG5aMC will automatically remove the file at the end of the run.
1072+! (usefull when running with Delphes)
1073 ! /dev/null : to turn off the HEPMC output.
1074 ! <path> : to select where the HEPMC file must written. It will
1075 ! therefore not be placed in the run_<i> directory. The
1076
1077=== modified file 'Template/LO/Cards/run_card.dat'
1078--- Template/LO/Cards/run_card.dat 2020-05-27 07:52:34 +0000
1079+++ Template/LO/Cards/run_card.dat 2021-03-25 20:41:08 +0000
1080@@ -28,7 +28,7 @@
1081 #*********************************************************************
1082 # Collider type and energy *
1083 # lpp: 0=No PDF, 1=proton, -1=antiproton, 2=photon from proton, *
1084-# 3=photon from electron *
1085+# 3=photon from electron, 4=photon from muon *
1086 #*********************************************************************
1087 %(lpp1)s = lpp1 ! beam 1 type
1088 %(lpp2)s = lpp2 ! beam 2 type
1089@@ -58,16 +58,19 @@
1090 %(gridpack)s = gridpack !True = setting up the grid pack
1091 %(time_of_flight)s = time_of_flight ! threshold (in mm) below which the invariant livetime is not written (-1 means not written)
1092 %(event_norm)s = event_norm ! average/sum. Normalization of the weight in the LHEF
1093-$MLM
1094-$CKKW
1095+$mlm
1096+$ckkw
1097 #*********************************************************************
1098 #
1099 #*********************************************************************
1100-# handling of the helicities:
1101-# 0: sum over all helicities
1102-# 1: importance sampling over helicities
1103+# Phase-Space Optimization strategy (basic options)
1104 #*********************************************************************
1105 %(nhel)s = nhel ! using helicities importance sampling or not.
1106+ ! 0: sum over helicity, 1: importance sampling
1107+ %(sde_strategy)s = sde_strategy ! default integration strategy (hep-ph/2021.xxxxx)
1108+ ! 1 is old strategy (using amp square)
1109+ ! 2 is new strategy (using only the denominator)
1110+$psoptim
1111 #*********************************************************************
1112 # Generation bias, check the wiki page below for more information: *
1113 # 'cp3.irmp.ucl.ac.be/projects/madgraph/wiki/LOEventGenerationBias' *
1114
1115=== modified file 'Template/LO/Source/.make_opts'
1116--- Template/LO/Source/.make_opts 2019-01-23 16:03:38 +0000
1117+++ Template/LO/Source/.make_opts 2021-03-25 20:41:08 +0000
1118@@ -13,10 +13,11 @@
1119
1120 # Rest of the makefile
1121 ifeq ($(origin FFLAGS),undefined)
1122-FFLAGS= -O -w -fbounds-check -fPIC
1123+FFLAGS= -w -fPIC
1124 #FFLAGS+= -g -fbounds-check -ffpe-trap=invalid,zero,overflow,underflow,denormal -Wall
1125 endif
1126
1127+FFLAGS += $(GLOBAL_FLAG)
1128
1129 # REMOVE MACFLAG IF NOT ON MAC OR FOR F2PY
1130 UNAME := $(shell uname -s)
1131
1132=== modified file 'Template/LO/Source/PDF/PhotonFlux.f'
1133--- Template/LO/Source/PDF/PhotonFlux.f 2020-03-27 13:59:33 +0000
1134+++ Template/LO/Source/PDF/PhotonFlux.f 2021-03-25 20:41:08 +0000
1135@@ -6,25 +6,28 @@
1136 c/* ********************************************************* */
1137 c provided by Tomasz Pierzchala - UCL
1138
1139- real*8 function epa_electron(x,q2max)
1140- integer i
1141+ real*8 function epa_lepton(x,q2max, mode)
1142+ implicit none
1143+ integer i, mode, imode
1144+c mode is +3/-3 for electron and +4/-4 for muon
1145 real*8 x,phi_f
1146- real*8 xin
1147+ real*8 xin(3:4)
1148 real*8 alpha
1149 real*8 f, q2min,q2max
1150 real*8 PI
1151 data PI/3.14159265358979323846/
1152
1153- data xin/0.511d-3/ !electron mass in GeV
1154+ data xin/0.511d-3, 0.105658d0/ !electron mass in GeV
1155
1156 alpha = .0072992701
1157-
1158+ imode = abs(mode)
1159+
1160 C // x = omega/E = (E-E')/E
1161 if (x.lt.1) then
1162- q2min= xin*xin*x*x/(1-x)
1163+ q2min= xin(imode)*xin(imode)*x*x/(1-x)
1164 if(q2min.lt.q2max) then
1165- f = alpha/2d0/PI*
1166- & (2d0*xin*xin*x*(-1/q2min+1/q2max)+
1167+ f = alpha/2d0/PI*
1168+ & (2d0*xin(imode)*xin(imode)*x*(-1/q2min+1/q2max)+
1169 & (2-2d0*x+x*x)/x*dlog(q2max/q2min))
1170
1171 else
1172@@ -35,7 +38,7 @@
1173 endif
1174 c write (*,*) x,dsqrt(q2min),dsqrt(q2max),f
1175 if (f .lt. 0) f = 0
1176- epa_electron= f
1177+ epa_lepton = f
1178
1179 end
1180
1181
1182=== modified file 'Template/LO/Source/PDF/pdf.f'
1183--- Template/LO/Source/PDF/pdf.f 2018-02-01 23:17:18 +0000
1184+++ Template/LO/Source/PDF/pdf.f 2021-03-25 20:41:08 +0000
1185@@ -29,7 +29,7 @@
1186 double precision u_val,d_val,u_sea,d_sea,s_sea,c_sea,b_sea,gluon
1187 double precision Ctq3df,Ctq4Fn,Ctq5Pdf,Ctq6Pdf,Ctq5L
1188 double precision q2max
1189- double precision epa_electron,epa_proton
1190+ double precision epa_lepton,epa_proton
1191 include 'pdf.inc'
1192
1193 integer mode,Iprtn,Irt
1194@@ -297,9 +297,14 @@
1195 c a "diffractive" photon
1196 c
1197 q2max=xmu*xmu
1198- if(ih .eq. 3) then !from the electron
1199- fx(7)=epa_electron(x,q2max)
1200- elseif(ih .eq. 2) then !from a proton without breaking
1201+ if(abs(ih) .eq. 3.or.abs(ih) .eq. 4) then !from the electron
1202+ write(*,*) 'impossible call (or was it) to pdf-> please reporrt'
1203+ stop 23
1204+ fx(7)=epa_lepton(x,q2max, ih)
1205+ elseif(ih .eq. 2) then !from a proton without breaking
1206+ write(*,*) 'impossible call (or was it) to pdf-> please reporrt'
1207+ stop 23
1208+ ! isssue with next call since this function takes now a third argument (beamid not define here)
1209 fx(7)=epa_proton(x,q2max)
1210 endif
1211
1212
1213=== removed file 'Template/LO/Source/PDF/pdf_lhapdf.f'
1214=== modified file 'Template/LO/Source/PDF/pdg2pdf.f'
1215--- Template/LO/Source/PDF/pdg2pdf.f 2019-12-04 21:34:25 +0000
1216+++ Template/LO/Source/PDF/pdg2pdf.f 2021-03-25 20:41:08 +0000
1217@@ -24,7 +24,7 @@
1218 integer mode,Irt,i,j
1219 double precision xlast(2),xmulast(2),pdflast(-7:7,2),q2max
1220 character*7 pdlabellast(2)
1221- double precision epa_electron,epa_proton
1222+ double precision epa_lepton,epa_proton
1223 integer ipart,ireuse,iporg,ihlast(2)
1224 save xlast,xmulast,pdflast,pdlabellast,ihlast
1225 data xlast/2*-99d9/
1226@@ -131,8 +131,8 @@
1227
1228 if(iabs(ipart).eq.7.and.ih.gt.1) then
1229 q2max=xmu*xmu
1230- if(ih.eq.3) then !from the electron
1231- pdg2pdf=epa_electron(x,q2max)
1232+ if(abs(ih).eq.3.or.abs(ih).eq.4) then !from the electron or muonn
1233+ pdg2pdf=epa_lepton(x,q2max, ih)
1234 elseif(ih .eq. 2) then !from a proton without breaking
1235 pdg2pdf=epa_proton(x,q2max,beamid)
1236 endif
1237
1238=== removed file 'Template/LO/Source/PDF/pdg2pdf_lhapdf.f'
1239=== modified file 'Template/LO/Source/PDF/pdg2pdf_lhapdf6.f'
1240--- Template/LO/Source/PDF/pdg2pdf_lhapdf6.f 2020-03-06 20:47:59 +0000
1241+++ Template/LO/Source/PDF/pdg2pdf_lhapdf6.f 2021-03-25 20:41:08 +0000
1242@@ -24,7 +24,7 @@
1243 integer i,j,ihlast(20),ipart,iporg,ireuse,imemlast(20),iset,imem
1244 & ,i_replace,ii,ipartlast(20)
1245 double precision xlast(20),xmulast(20),pdflast(-7:7,20)
1246- double precision epa_proton, epa_electron
1247+ double precision epa_proton, epa_lepton
1248 save ihlast,xlast,xmulast,pdflast,imemlast,ipartlast
1249 data ihlast/20*-99/
1250 data ipartlast/20*-99/
1251@@ -139,10 +139,11 @@
1252 pdg2pdf = get_ion_pdf(pdflast(-7, i_replace), ipart, nb_proton(beamid), nb_neutron(beamid))
1253 endif
1254 pdg2pdf=pdg2pdf/x
1255- else if(ih.eq.3) then !from the electron
1256- pdg2pdf=epa_electron(x,xmu*xmu)
1257+ else if(abs(ih).eq.3.or.abs(ih).eq.4) then !from the electron
1258+ pdg2pdf=epa_lepton(x,xmu*xmu, ih)
1259 else if(ih.eq.2) then ! photon from a proton without breaking
1260- pdg2pdf = epa_proton(x,xmu*xmu)
1261+ pdg2pdf = epa_proton(x,xmu*xmu, beamid)
1262+
1263 else
1264 write (*,*) 'beam type not supported in lhadpf'
1265 stop 1
1266
1267=== modified file 'Template/LO/Source/dsample.f'
1268--- Template/LO/Source/dsample.f 2020-05-13 09:45:34 +0000
1269+++ Template/LO/Source/dsample.f 2021-03-25 20:41:08 +0000
1270@@ -257,6 +257,7 @@
1271 c Need to start from scratch. This is clunky but I'll just
1272 c remove the grid, so we are clean
1273 c
1274+ goto 200
1275 write(*,*) "Trying w/ fresh grid"
1276 open(unit=25,file='ftn25',status='unknown',err=102)
1277 write(25,*) ' '
1278@@ -329,7 +330,7 @@
1279 c
1280 c All done
1281 c
1282- open(unit=66,file='results.dat',status='unknown')
1283+200 open(unit=66,file='results.dat',status='unknown')
1284 i=1
1285 do while(xmean(i) .ne. 0 .and. i .lt. cur_it)
1286 i=i+1
1287@@ -453,6 +454,10 @@
1288 CUMULATED_TIMING = t_after - CUMULATED_TIMING
1289
1290 if (N_EVALS.eq.0) then
1291+ write(outUnit,*) '<lo_statistics> '
1292+ write(outUnit,*) '<cumulated_time>'//trim(toStr_real(CUMULATED_TIMING))
1293+ & //'</cumulated_time>'
1294+ write(outUnit,*) '</lo_statistics>'
1295 return
1296 endif
1297
1298@@ -2270,7 +2275,11 @@
1299 integer nsteps
1300 character*40 result_file,where_file
1301 common /sample_status/result_file,where_file,nsteps
1302-
1303+c
1304+c
1305+c
1306+ logical init_mode
1307+ common/to_determine_zero_hel/init_mode
1308 c----
1309 c Begin Code
1310 c----
1311@@ -2278,6 +2287,9 @@
1312 write(*,*) nb_pass_cuts,
1313 & ' points passed the cut but all returned zero'
1314 write(*,*) 'therefore considering this contribution as zero'
1315+ if (init_mode) then
1316+ call print_zero_amp()
1317+ endif
1318 else if (nb_pass_cuts.gt.0.and.nb_pass_cuts.lt.1000)then
1319 write(*,*) 'only', nb_pass_cuts,
1320 & ' points passed the cut and they all returned zero'
1321
1322=== modified file 'Template/LO/Source/invarients.f'
1323--- Template/LO/Source/invarients.f 2011-04-16 05:25:14 +0000
1324+++ Template/LO/Source/invarients.f 2021-03-25 20:41:08 +0000
1325@@ -185,10 +185,10 @@
1326 end
1327
1328
1329- subroutine map_invarients(Minvar,nconfigs,ninvar,mincfig,maxcfig,nexternal,nincoming)
1330+ subroutine map_invarients(Minvar,nconfigs,ninvar,mincfig,maxcfig,nexternal,nincoming,nb_tchannel)
1331 c****************************************************************************
1332 c Determines mappings for each structure of invarients onto integration
1333-c variables. Input: Ninvar, iforest. Output: Minvar, ninvar
1334+c variables. Input: Ninvar, iforest. Output: Minvar, ninvar, nb_tchannel
1335 c****************************************************************************
1336 implicit none
1337 c
1338@@ -201,11 +201,13 @@
1339 c
1340 integer Minvar(maxdim,lmaxconfigs),nconfigs,ninvar,nexternal,nincoming
1341 integer mincfig,maxcfig
1342+ integer nb_tchannel
1343 c
1344 c Local
1345 c
1346 integer iconfig, jgrid,j, nbranch
1347 logical found,tchannel
1348+ integer ns_channel
1349 c
1350 c Global
1351 c
1352@@ -224,20 +226,30 @@
1353 c
1354 c Try simple mapping if nconfigs = 1
1355 c
1356-
1357+ nb_tchannel = 0
1358 if (nconfigs .eq. 1) then
1359 c do j=1,3*nbranch-4+2
1360 do j=1,maxdim
1361 minvar(j,mincfig)=j
1362 enddo
1363 jgrid=j-1
1364+
1365+ write(*,*) 'Determine nb_t'
1366+ ns_channel=1
1367+ do while((iforest(1,-ns_channel,mincfig) .ne. 1.and.iforest(1,-ns_channel,mincfig) .ne. 2).and.ns_channel.lt.nbranch)
1368+ ns_channel=ns_channel+1
1369+ enddo
1370+ ns_channel=ns_channel - 1
1371+ nb_tchannel=nbranch-ns_channel-1
1372+ write(*,*) 'T-channel found: ',nb_tchannel
1373+
1374 else
1375 c if (ep) jgrid=1
1376 c if (pp) jgrid=2
1377 do iconfig=mincfig,maxcfig
1378 tchannel = .false.
1379 do j=1,nbranch-1
1380- if (iforest(1,-j,iconfig) .eq. 1) then
1381+ if (iforest(1,-j,iconfig) .eq. 1.or.(nincoming.eq.2.and.iforest(1,-j,iconfig) .eq. 2)) then
1382 tchannel=.true.
1383 endif
1384 jgrid=jgrid+1
1385
1386=== modified file 'Template/LO/Source/kin_functions.f'
1387--- Template/LO/Source/kin_functions.f 2016-02-10 14:56:17 +0000
1388+++ Template/LO/Source/kin_functions.f 2021-03-25 20:41:08 +0000
1389@@ -590,11 +590,13 @@
1390 C 4-Vector Dot product
1391 C****************************************************************************
1392 implicit none
1393- double precision p1(0:3),p2(0:3)
1394+ double precision p1(0:3),p2(0:3), dot2
1395 dot=p1(0)*p2(0)-p1(1)*p2(1)-p1(2)*p2(2)-p1(3)*p2(3)
1396
1397- if(dabs(dot).lt.1d-6)then ! solve numerical problem
1398- dot=0d0
1399+ if(dabs(dot).lt.1d-6)then ! solve numerical problem
1400+ dot2 = p1(0)*p2(0)+p1(1)*p2(1)+p1(2)*p2(2)+p1(3)*p2(3)
1401+ dot2 = max(1e-99,dot2)
1402+ if (dot/dot2.lt.1e-6) dot=0d0
1403 endif
1404
1405 end
1406
1407=== modified file 'Template/LO/Source/run.inc'
1408--- Template/LO/Source/run.inc 2019-03-23 22:04:23 +0000
1409+++ Template/LO/Source/run.inc 2021-03-25 20:41:08 +0000
1410@@ -97,4 +97,9 @@
1411 &etamax4pdg, mxxmin4pdg,mxxpart_antipart
1412
1413 double precision small_width_treatment
1414- common/narrow_width/small_width_treatment
1415\ No newline at end of file
1416+ common/narrow_width/small_width_treatment
1417+
1418+ double precision tmin_for_channel
1419+ integer sde_strat ! 1 means standard single diagram enhancement strategy,
1420+c 2 means approximation by the denominator of the propagator
1421+ common/TO_CHANNEL_STRAT/tmin_for_channel, sde_strat
1422\ No newline at end of file
1423
1424=== modified file 'Template/LO/Source/run_printout.f'
1425--- Template/LO/Source/run_printout.f 2012-03-22 06:16:35 +0000
1426+++ Template/LO/Source/run_printout.f 2021-03-25 20:41:08 +0000
1427@@ -22,12 +22,17 @@
1428 write(6,*) 'Collider parameters:'
1429 write(6,*) '--------------------'
1430
1431+ ab(1) = '?'
1432+ ab(2) = '?'
1433 do i=1,2
1434 IF(LPP(i).EQ. 0) ab(i)='e'
1435 IF(LPP(i).EQ. 1) ab(i)='P'
1436 IF(LPP(i).EQ.-1) ab(i)='Pb'
1437- IF(LPP(i).EQ.2) ab(i)='a2'
1438- IF(LPP(i).EQ.3) ab(i)='a3'
1439+ IF(LPP(i).EQ.2) ab(i)='a'
1440+ IF(LPP(i).EQ.3) ab(i)='e-'
1441+ IF(LPP(i).EQ.-3) ab(i)='e+'
1442+ IF(LPP(i).EQ.4) ab(i)='m-'
1443+ IF(LPP(i).EQ.-4) ab(i)='m+'
1444 enddo
1445
1446 ene=2d0*dsqrt(ebeam(1)*ebeam(2))
1447
1448=== modified file 'Template/LO/Source/setrun.f'
1449--- Template/LO/Source/setrun.f 2016-03-04 16:16:23 +0000
1450+++ Template/LO/Source/setrun.f 2021-03-25 20:41:08 +0000
1451@@ -83,6 +83,22 @@
1452 q2fact(1) = sf1**2 ! fact scale**2 for pdf1
1453 q2fact(2) = sf2**2 ! fact scale**2 for pdf2
1454
1455+ if(pb1.ne.0d0)then
1456+ if (abs(lpp(1)).eq.1.or.abs(lpp(1)).eq.2)then
1457+ write(*,*) 'proton/anti-proton beam polarization are not allowed'
1458+ stop 1
1459+ endif
1460+ pol(1)=sign(1+abs(pb1)/100d0,pb1)
1461+ endif
1462+ if(pb2.ne.0d0)then
1463+ if (abs(lpp(2)).eq.1.or.abs(lpp(2)).eq.2)then
1464+ write(*,*) 'proton/anti-proton beam polarization are not allowed'
1465+ stop 1
1466+ endif
1467+ pol(2)=sign(1+abs(pb2)/100d0,pb2)
1468+ endif
1469+
1470+
1471 if(pb1.ne.0d0.and.lpp(1).eq.0) pol(1)=sign(1+abs(pb1)/100d0,pb1)
1472 if(pb2.ne.0d0.and.lpp(2).eq.0) pol(2)=sign(1+abs(pb2)/100d0,pb2)
1473
1474
1475=== modified file 'Template/LO/SubProcesses/cluster.f'
1476--- Template/LO/SubProcesses/cluster.f 2013-03-21 12:45:09 +0000
1477+++ Template/LO/SubProcesses/cluster.f 2021-03-25 20:41:08 +0000
1478@@ -210,7 +210,8 @@
1479 integer ignum, ipnum, ipids(nexternal,4,2:nexternal)
1480 C $B$ IFOREST $B$ !this is a tag for MadWeight
1481 integer i, iforest(2,-max_branch:-1,lmaxconfigs)
1482- common/to_forest/iforest
1483+ integer tstrategy(lmaxconfigs)
1484+ common/to_forest/iforest, tstrategy
1485 integer sprop(maxsproc,-max_branch:-1,lmaxconfigs)
1486 integer tprid(-max_branch:-1,lmaxconfigs)
1487 common/to_sprop/sprop,tprid
1488@@ -404,7 +405,8 @@
1489 common/to_mconfigs/mapconfig, this_config
1490 C $B$ IFOREST $B$ !this is a tag for MadWeight
1491 integer i, iforest(2,-max_branch:-1,lmaxconfigs)
1492- common/to_forest/ iforest
1493+ integer tstrategy(lmaxconfigs)
1494+ common/to_forest/iforest, tstrategy
1495 C $E$ IFOREST $E$ !this is a tag for MadWeight
1496 C $B$ DECAYBW $E$ !this is a tag for MadWeight
1497
1498
1499=== removed file 'Template/LO/SubProcesses/dipole.inc'
1500=== removed file 'Template/LO/SubProcesses/dipolesub.f'
1501=== removed file 'Template/LO/SubProcesses/epsterms.f'
1502=== removed file 'Template/LO/SubProcesses/finiteterms.f'
1503=== modified file 'Template/LO/SubProcesses/genps.f'
1504--- Template/LO/SubProcesses/genps.f 2020-06-15 07:16:51 +0000
1505+++ Template/LO/SubProcesses/genps.f 2021-03-25 20:41:08 +0000
1506@@ -163,7 +163,8 @@
1507
1508
1509 integer iforest(2,-max_branch:-1,lmaxconfigs)
1510- common/to_forest/ iforest
1511+ integer tstrategy(lmaxconfigs)
1512+ common/to_forest/ iforest, tstrategy
1513
1514 integer mapconfig(0:lmaxconfigs), this_config
1515 common/to_mconfigs/mapconfig, this_config
1516@@ -321,7 +322,7 @@
1517 endif
1518 pswgt = 1d0
1519 jac = 1d0
1520- call one_tree(iforest(1,-max_branch,iconfig),mincfig,
1521+ call one_tree(iforest(1,-max_branch,iconfig), tstrategy(iconfig),mincfig,
1522 & nbranch,P,M,S,X,jac,pswgt)
1523 c
1524 c Add what I think are the essentials
1525@@ -520,7 +521,7 @@
1526 integer nbranch,ndim,nconfigs
1527 integer ninvar
1528 integer nparticles,nfinal
1529-
1530+ integer nb_tchannel
1531
1532 c
1533 c Arguments
1534@@ -572,6 +573,8 @@
1535 if (abs(lpp(2)) .eq. 1 .or. abs(lpp(2)) .eq. 2) m2 = 0.938d0
1536 if (abs(lpp(1)) .eq. 3) m1 = 0.000511d0
1537 if (abs(lpp(2)) .eq. 3) m2 = 0.000511d0
1538+ if (abs(lpp(1)) .eq. 4) m1 = 0.105658d0
1539+ if (abs(lpp(2)) .eq. 4) m2 = 0.105658d0
1540 if (mass_ion(1).ge.0d0) m1 = mass_ion(1)
1541 if (mass_ion(2).ge.0d0) m2 = mass_ion(2)
1542 if(ebeam(1).lt.m1.and.lpp(1).ne.9) ebeam(1)=m1
1543@@ -593,7 +596,7 @@
1544 nconfigs = 1
1545 mincfig=iconfig
1546 maxcfig=iconfig
1547- call map_invarients(minvar,nconfigs,ninvar,mincfig,maxcfig,nexternal,nincoming)
1548+ call map_invarients(minvar,nconfigs,ninvar,mincfig,maxcfig,nexternal,nincoming,nb_tchannel)
1549 maxwgt=0d0
1550 nparticles = nexternal
1551 nfinal = nparticles-nincoming
1552@@ -630,7 +633,7 @@
1553 return
1554 end
1555
1556- subroutine one_tree(itree,iconfig,nbranch,P,M,S,X,jac,pswgt)
1557+ subroutine one_tree(itree,tstrategy,iconfig,nbranch,P,M,S,X,jac,pswgt)
1558 c************************************************************************
1559 c Calculates the momentum for everything below in the tree until
1560 c it reaches the end.
1561@@ -650,8 +653,10 @@
1562 c Arguments
1563 c
1564 integer itree(2,-max_branch:-1) !Structure of configuration
1565+ integer tstrategy ! current strategy for t-channel
1566 integer iconfig !Which configuration working on
1567 double precision P(0:3,-max_branch:max_particles)
1568+ double precision pother(0:3), ptemp(0:3), pboost(0:3), ptemp2(0:3)
1569 double precision M(-max_branch:max_particles)
1570 double precision S(-max_branch:0)
1571 c double precision spole(-max_branch:0),swidth(-max_branch:0)
1572@@ -662,12 +667,13 @@
1573 c Local
1574 c
1575 logical pass
1576+ double precision tmass(-max_branch:-1)
1577 integer ibranch,i,ns_channel,nt_channel,ix !,nerr
1578-c data nerr/0/
1579+ integer iopposite ! index for t-channel mapping for the part not handle by itree
1580+c data nerr/0/
1581 double precision smin,smax,totmass,totmassin,xa2,xb2,wgt
1582 double precision costh,phi,tmin,tmax,t
1583 double precision ma2,mb2,m12,mn2,s1, mi2
1584- double precision tmass(-max_branch:-1)
1585 c
1586 c External
1587 c
1588@@ -701,7 +707,12 @@
1589 c the s channel p1+p2
1590 c
1591 ns_channel=1
1592- do while(itree(1,-ns_channel) .ne. 1 .and.ns_channel.lt.nbranch)
1593+ iopposite = 1
1594+ if (abs(tstrategy).eq.1) then
1595+ iopposite = 2
1596+ endif
1597+
1598+ do while(itree(1,-ns_channel) .ne. iopposite .and.ns_channel.lt.nbranch)
1599 m(-ns_channel)=0d0
1600 ns_channel=ns_channel+1
1601 enddo
1602@@ -711,7 +722,6 @@
1603 if (nt_channel .eq. 0 .and. nincoming .eq. 2) then
1604 ns_channel=ns_channel-1
1605 endif
1606-
1607 c
1608 c Determine masses for all intermediate states. Starting
1609 c from outer most (real particle) states
1610@@ -809,7 +819,7 @@
1611 totmass=totmass-m(itree(2,ibranch)) !for remaining particles
1612 smin = totmass**2 !This affects t_min/max
1613 smax = (m(ibranch) - m(itree(2,ibranch)))**2
1614-
1615+
1616 if (smin .gt. smax) then
1617 jac=-3d0
1618 return
1619@@ -835,18 +845,239 @@
1620 c
1621 c From here, on we can just pretend this is a 2->2 scattering with
1622 c Pa + Pb -> P1 + P2
1623+
1624+ if (tstrategy.eq.-2.or.tstrategy.eq.-1) then
1625+ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
1626+cc T-channel ping-pong strategy starting with 2
1627+ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
1628+
1629+c No -flipping case:
1630+c p(0,itree(ibranch,1)) + p(0,2) -> p(0,ibranch)+ p(0,itree(ibranch,2))
1631+c - M(ibranch) is the total mass available (Pa+Pb)^2
1632+c - M(ibranch-1) is the mass of P2 (all the remaining particles)
1633+c
1634+c With flipping case
1635+c p(0,itree(ibranch,1)) + pother -> p(0,ibranch)+ p(0,itree(ibranch,2))
1636+c - pother = p(0,itree(ibranch,1)) -p(0,itree(ibranch,2))
1637+c - M(ibranch) is the total mass available (Pa+Pb)^2
1638+c - M(ibranch-1) is the mass of P2 (all the remaining particles)
1639+c
1640+c This assumes that P(0, ibranch) is set to the T-channel propa (likely)
1641+c do ibranch = -ns_channel-1,-nbranch,-1
1642+c totmass=totmass+m(itree(2,ibranch))
1643+c enddo
1644+ do ibranch=-ns_channel-1,-nbranch+1,-1
1645+c totmass=totmass-m(itree(2,ibranch)) !for remaining particles
1646+c smin = totmass**2 !This affects t_min/max
1647+c smax = (m(ibranch) - m(itree(2,ibranch)))**2
1648+
1649+ if (ibranch.ne.-ns_channel-1)then
1650+ pother(:) = P(:,ibranch+1)
1651+ iopposite = ibranch +1
1652+ else
1653+ pother(:) = p(:,2)
1654+ iopposite = abs(tstrategy)
1655+ endif
1656+ s1 = m(ibranch)**2 !Total mass available
1657+ ma2 = dot(pother, pother)
1658+ mb2 = dot(P(0,itree(1,ibranch)),P(0,itree(1,ibranch)))
1659+ m12 = m(itree(2,ibranch))**2
1660+ mn2 = m(ibranch-1)**2
1661+c
1662+c$$$ write(*,*) itree(1, ibranch), '-----------T----------', itree(2, ibranch), 'm=', m(itree(2, ibranch))
1663+c$$$ write(*,*) ' | '
1664+c$$$ write(*,*) ' | '
1665+c$$$ write(*,*) ' | ',ibranch
1666+c$$$ write(*,*) ' | '
1667+c$$$ write(*,*) ' | '
1668+c$$$ if (ibranch.ne.-ns_channel-1)then
1669+c$$$ write(*,*) iopposite, '-----------T---------- m=', m(ibranch-1)
1670+c$$$ else
1671+c$$$ write(*,*) 2, '-----------T---------- m=', m(ibranch-1)
1672+c$$$ write(*,*) m(1), m(2), m(3), m(4), m(5)
1673+c$$$ endif
1674+c$$$ write(*,*) 'Pa', P(0,itree(1, ibranch)),P(1,itree(1, ibranch)),P(2,itree(1, ibranch)),P(3,itree(1, ibranch))
1675+c$$$ if (ibranch.ne.-ns_channel-1) then
1676+c$$$ write(*,*) 'Pb', P(0,iopposite),P(1,iopposite),P(2,iopposite), P(3,iopposite)
1677+c$$$ do i=0,3
1678+c$$$ pother(i) = P(i,itree(1, ibranch)) + P(i,ibranch+1)
1679+c$$$ enddo
1680+c$$$ else
1681+c$$$ write(*,*) 'Pb', P(0,2),P(1,2),P(2,2),P(3,2)
1682+c$$$ do i=0,3
1683+c$$$ pother(i) = P(i,1) + P(i,2)
1684+c$$$ enddo
1685+c$$$ endif
1686+c$$$ do i=0,3
1687+c$$$ pother(i) = P(i,itree(1, ibranch)) + P(i,iopposite)
1688+c$$$ enddo
1689+c$$$ write(*,*) 'DSQRT(s1) = ', m(ibranch), DSQRT(dot(pother, pother))
1690+c$$$c if (m(ibranch)**2.ne.dot(pother, pother)) stop 1
1691+c$$$ write(*,*) 'm12= Pd**2 = ', m12 ,DSQRT(m12)
1692+c$$$ write(*,*) 'mn2 = Pc**2 =', mn2, DSQRT(mn2)
1693+
1694+C WRITE(*,*) 'Enertering yminmax',sqrt(s1),sqrt(m12),sqrt(mn2)
1695+
1696+ call yminmax(s1,0d0,m12,ma2,mb2,mn2,tmin,tmax)
1697+c call yminmax(s1,0d0,m12,ma2,mb2,smax,tmin_temp,tmax_temp)
1698+c if (tmin_temp.lt.tmin) tmin = tmin_temp
1699+c if (tmax_temp.gt.tmax) tmax = tmax_temp
1700+
1701+c
1702+c Call for 0<x<1
1703+c
1704+c call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1705+c & .5d0*(tmin/stot+1d0),
1706+c & .5d0*(tmax/stot+1d0))
1707+c t = Stot*(x(-ibranch)*2d0-1d0)
1708+c
1709+c call for -1<x<1
1710+c
1711+
1712+c write(*,*) 'tmin, tmax/ temp',tmin,tmax, tmin_temp, tmax_temp
1713+
1714+c if (nt_channel.ge.2)then
1715+c tmin = max(tmin, -stot)
1716+c endif
1717+c if ((tmax-tmin)/stot.gt.0.1)then
1718+c call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1719+c $ 0d0, 1d0)
1720+c t = stot*(-x(-ibranch))
1721+
1722+c else if (tmax/stot.gt.-0.01.and.tmin/stot.lt.-0.02)then
1723+c set tmax to 0. The idea is to be sure to be able to hit zero
1724+c and not to be block by numerical inacuracy
1725+c tmax = max(tmax,0d0) !This line if want really t freedom
1726+c call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1727+c $ 0d0, -tmin/stot)
1728+c t = stot*(-x(-ibranch))
1729+
1730+c else
1731+ call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1732+ $ -tmax/stot, -tmin/stot)
1733+ t = stot*(-x(-ibranch))
1734+c endif
1735+
1736+c call yminmax(s1,0d0,m12,ma2,mb2,mn2,tmin_temp,tmax_temp)
1737+ if (t .lt. tmin .or. t .gt. tmax) then
1738+ jac=-3d0
1739+ return
1740+ endif
1741+c
1742+c tmin and tmax set to -s,+s for jacobian because part of jacobian
1743+c was determined from choosing the point x from the grid based on
1744+c tmin and tmax. (ie wgt contains some of the jacobian)
1745+c
1746+ tmin=-stot
1747+ tmax= stot
1748+ call sample_get_x(wgt,x(nbranch+(-ibranch-1)*2),
1749+ & nbranch+(-ibranch-1)*2,iconfig,0d0,1d0)
1750+ phi = 2d0*pi*x(nbranch+(-ibranch-1)*2)
1751+ jac = jac*(tmax-tmin)*2d0*pi /2d0 ! I need /2d0 if -1<x<1
1752+
1753+
1754+c
1755+c Finally generate the momentum. The call is of the form
1756+c pa+pb -> p1+ p2; t=(pa-p1)**2; pr = pa-p1
1757+c gentcms(pa,pb,t,phi,m1,m2,p1,pr)
1758+c
1759+ if (itree(1,ibranch).gt.-ns_channel-1)then
1760+ mi2 = m(itree(1,ibranch))**2
1761+ else
1762+ mi2 = tmass(itree(1,ibranch))
1763+ endif
1764+ tmass(ibranch) = t
1765+ call gentcms(p(0,itree(1,ibranch)),p(0,iopposite),t,phi,mi2,
1766+ & m(itree(2,ibranch)),m(ibranch-1),p(0,itree(2,ibranch)),
1767+ & p(0,ibranch),jac)
1768+c$$$ write(*,*) 'RESULT'
1769+c$$$ write(*,*) 'pa', p(0,itree(1,ibranch)),p(1,itree(1,ibranch)),p(2,itree(1,ibranch)),p(3,itree(1,ibranch))
1770+c$$$ write(*,*) 'pb', p(0,iopposite),p(1,iopposite),p(2,iopposite),p(3,iopposite)
1771+c$$$ write(*,*) '->'
1772+c$$$ write(*,*) 'pc', p(0,itree(2,ibranch)),p(1,itree(2,ibranch)),p(2,itree(2,ibranch)),p(3,itree(2,ibranch))
1773+c$$$ do i =0,3
1774+c$$$ pother(i) = p(i,itree(1,ibranch)) + p(i,iopposite) - p(i,itree(2,ibranch))
1775+c$$$ enddo
1776+c$$$ write(*,*) 'pc', p(0,itree(2,ibranch)),p(1,itree(2,ibranch)),p(2,itree(2,ibranch)),p(3,itree(2,ibranch))
1777+c$$$ write(*,*) 'pd', pother(0), pother(1), pother(2), pother(3) , DSQRT(dot(pother,pother))
1778+c$$$ write(*,*) 'T channel'
1779+c$$$ write(*,*) 'pr', p(0,ibranch),p(1,ibranch),p(2,ibranch),p(3,ibranch)
1780+c$$$ write(*,*) 'pa-pc', p(0,itree(1,ibranch))-p(0,itree(2,ibranch)),p(1,itree(1,ibranch))-p(1,itree(2,ibranch))
1781+
1782+
1783+
1784+ if (jac .lt. 0d0) then
1785+c nerr=nerr+1
1786+c if(nerr.le.5)
1787+c $ write(*,*) 'Failed gentcms',iconfig,ibranch
1788+ return !Failed, probably due to negative x
1789+ endif
1790+
1791+ pswgt = pswgt/(4d0*dsqrt(lambda(s1,ma2,mb2)))
1792+ enddo
1793+
1794+c
1795+c We need to get the momentum of the last external particle.
1796+c This should just be the sum of p(0,2) and the remaining
1797+c momentum from our last t channel 2->2
1798+c
1799+ if (nt_channel.eq.1) then
1800+c$$$ write(*,*) 'need to assign last', itree(2,-nbranch)
1801+c$$$ write(*,*) 'nbranch is at', nbranch
1802+c$$$ do i=-nbranch,nexternal
1803+c$$$ write(*,*) 'p',i, p(0,i),p(1,i),p(2,i),p(3,i)
1804+c$$$ enddo
1805+ do i=0,3
1806+ p(i,itree(2,-nbranch)) = p(i,-nbranch+1)+p(i,2)
1807+ enddo
1808+ else
1809+c$$$ write(*,*) 'need to assign last', itree(2,-nbranch)
1810+c$$$ write(*,*) 'nbranch is at', nbranch
1811+c$$$ do i=-nbranch,nexternal
1812+c$$$ write(*,*) 'p',i, p(0,i),p(1,i),p(2,i),p(3,i)
1813+c$$$ enddo
1814+ do i=0,3
1815+ p(i,itree(2,-nbranch)) = p(i,-nbranch+1)+p(i,-nbranch+2)
1816+ enddo
1817+ endif
1818+
1819+
1820+ else if (tstrategy.eq.2.or.tstrategy.eq.1) then
1821+ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
1822+cc T-channel One side eat all strategy ending with 2
1823+ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
1824+c
1825+c Now perform the t-channel decay sequence. Most of this comes from:
1826+c Particle Kinematics Chapter 6 section 3 page 166
1827+c
1828+c From here, on we can just pretend this is a 2->2 scattering with
1829+c Pa + Pb -> P1 + P2
1830 c p(0,itree(ibranch,1)) + p(0,2) -> p(0,ibranch)+ p(0,itree(ibranch,2))
1831 c M(ibranch) is the total mass available (Pa+Pb)^2
1832 c M(ibranch-1) is the mass of P2 (all the remaining particles)
1833 c
1834 do ibranch=-ns_channel-1,-nbranch+1,-1
1835 s1 = m(ibranch)**2 !Total mass available
1836- ma2 = m(2)**2
1837+ ma2 = m(tstrategy)**2
1838 mb2 = dot(P(0,itree(1,ibranch)),P(0,itree(1,ibranch)))
1839 m12 = m(itree(2,ibranch))**2
1840 mn2 = m(ibranch-1)**2
1841 c write(*,*) 'Enertering yminmax',sqrt(s1),sqrt(m12),sqrt(mn2)
1842 call yminmax(s1,0d0,m12,ma2,mb2,mn2,tmin,tmax)
1843+
1844+ if(.false.) then
1845+ write(*,*) itree(1, ibranch), 'a----------T----------', itree(2, ibranch), 'm=', m(itree(2, ibranch))
1846+ write(*,*) ' | '
1847+ write(*,*) ' | '
1848+ write(*,*) ' | ',ibranch
1849+ write(*,*) ' | '
1850+ write(*,*) ' | '
1851+ write(*,*) tstrategy, '-----------T---------- m=', m(ibranch-1), ibranch-1
1852+ write(*,*) 'S', dsqrt(s1), 'm_top=', dsqrt(mb2), 'M_bottom', dsqrt(ma2)
1853+
1854+c write(*,*) m(1), m(2), m(3), m(4), m(5)
1855+ write(*,*) 'Pa', P(0,itree(1, ibranch)),P(1,itree(1, ibranch)),P(2,itree(1, ibranch)),P(3,itree(1, ibranch))
1856+ endif
1857 c
1858 c Call for 0<x<1
1859 c
1860@@ -859,20 +1090,92 @@
1861 c
1862
1863 c write(*,*) 'tmin, tmax',tmin,tmax
1864-
1865- if (tmax.gt.-0.01.and.tmin.lt.-0.02)then
1866+ if(.false.) then
1867+ ! NOT VALIDATED METHOD, momenta are ok but not jacobian
1868+
1869+ call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1870+ $ 0d0, 1d0)
1871+ costh= 2d0*x(-ibranch)-1d0
1872+ call sample_get_x(wgt,x(nbranch+(-ibranch-1)*2),
1873+ & nbranch+(-ibranch-1)*2,iconfig,0d0,1d0)
1874+ phi = 2d0*pi*x(nbranch+(-ibranch-1)*2)
1875+ jac = jac * 4d0*pi
1876+ m12 = m(itree(2,ibranch))**2
1877+ mn2 = m(ibranch-1)**2
1878+ call mom2cx(dsqrt(s1),m(itree(2,ibranch)),m(ibranch-1),costh,phi,
1879+ & p(0,itree(2,ibranch)),pother)
1880+
1881+ I= itree(2,ibranch)
1882+ DO I=0,3
1883+ pboost(I) = P(I,tstrategy) + P(I,itree(1, ibranch))
1884+ ENDDO
1885+
1886+ call boostm(p(0,itree(2,ibranch)),pboost,m(itree(2,ibranch)),p(0,itree(2,ibranch)))
1887+ call boostm(pother,pboost,m(ibranch),pother)
1888+
1889+ do I=0,3
1890+ p(I,ibranch) = pother(i) - p(i, tstrategy)
1891+ enddo
1892+ if(.false.)then
1893+ write(*,*) 'input'
1894+ write(*,*) 'p(tstrategy=',tstrategy,')', p(0,tstrategy), p(1,tstrategy), p(2,tstrategy), p(3,tstrategy)
1895+ I=itree(1, ibranch)
1896+ write(*,*) 'p(',I,',)', p(0,i), p(1,i), p(2,i), p(3,i)
1897+ write(*,*) 'output'
1898+ I= itree(2,ibranch)
1899+ write(*,*) 'p(',I,',)', p(0,i), p(1,i), p(2,i), p(3,i)
1900+ write(*,*) 'pother', pother(0),pother(1),pother(2),pother(3)
1901+ write(*,*) 'check'
1902+ do i=0,3
1903+ ptemp(i) = p(i,tstrategy) + p(i, itree(1, ibranch))
1904+ enddo
1905+ write(*,*) 'pa+pb', ptemp(0), ptemp(1), ptemp(2), ptemp(3), dsqrt(dot(ptemp, ptemp))
1906+ do i=0,3
1907+ ptemp(i) = pother(i) + p(i,itree(2,ibranch))
1908+ enddo
1909+ write(*,*) 'p1+p2', ptemp(0), ptemp(1), ptemp(2), ptemp(3), dsqrt(dot(ptemp, ptemp))
1910+
1911+ write(*,*) 'Tchannel'
1912+ I = ibranch
1913+ write(*,*) 'p(',I,',)', p(0,i), p(1,i), p(2,i), p(3,i), dot(p(0,I), p(0,I))
1914+ endif
1915+
1916+ pswgt = pswgt/(4d0*dsqrt(lambda(s1,ma2,mb2)))
1917+
1918+ else
1919+
1920+c test of impact of low t part
1921+c if (nt_channel.ge.2)then
1922+c tmin = max(tmin, -stot)
1923+c endif
1924+
1925+
1926+ call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1927+ $ -tmax/stot, -tmin/stot)
1928+ t = stot*(-x(-ibranch))
1929+
1930+
1931+c if ((tmax-tmin)/stot.gt.0.1)then
1932+c call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1933+c $ 0d0, 1d0)
1934+c t = stot*(-x(-ibranch))
1935+c if (dabs(tmax - tmin)/stot.gt.0.05d0) then
1936+c call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1937+c $ 0d0, 1d0)
1938+c set tmax to 0 and tmin to -1 The idea is to avoid dimension correlation
1939+c the condition ensure a minimum efficiency in the generation of events
1940+c t = stot*(-x(-ibranch))
1941+c else if (tmax.gt.-0.01.and.tmin.lt.-0.02)then
1942 c set tmax to 0. The idea is to be sure to be able to hit zero
1943 c and not to be block by numerical inacuracy
1944-c tmax = max(tmax,0d0) !This line if want really t freedom
1945- call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1946- $ 0d0, -tmin/stot)
1947- t = stot*(-x(-ibranch))
1948-
1949- else
1950- call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1951- $ -tmax/stot, -tmin/stot)
1952- t = stot*(-x(-ibranch))
1953- endif
1954+c call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1955+c $ 0d0, -tmin/stot)
1956+c t = stot*(-x(-ibranch))
1957+c else
1958+c call sample_get_x(wgt,x(-ibranch),-ibranch,iconfig,
1959+c $ -tmax/stot, -tmin/stot)
1960+c t = stot*(-x(-ibranch))
1961+c endif
1962
1963 if (t .lt. tmin .or. t .gt. tmax) then
1964 jac=-3d0
1965@@ -901,7 +1204,7 @@
1966 mi2 = tmass(itree(1,ibranch))
1967 endif
1968 tmass(ibranch) = t
1969- call gentcms(p(0,itree(1,ibranch)),p(0,2),t,phi, mi2,
1970+ call gentcms(p(0,itree(1,ibranch)),p(0,tstrategy),t,phi, mi2,
1971 & m(itree(2,ibranch)),m(ibranch-1),p(0,itree(2,ibranch)),
1972 & p(0,ibranch),jac)
1973
1974@@ -913,6 +1216,7 @@
1975 endif
1976
1977 pswgt = pswgt/(4d0*dsqrt(lambda(s1,ma2,mb2)))
1978+ endif
1979 enddo
1980 c
1981 c We need to get the momentum of the last external particle.
1982@@ -920,10 +1224,16 @@
1983 c momentum from our last t channel 2->2
1984 c
1985 do i=0,3
1986- p(i,itree(2,-nbranch)) = p(i,-nbranch+1)+p(i,2)
1987+ p(i,itree(2,-nbranch)) = p(i,-nbranch+1)+p(i,tstrategy)
1988 enddo
1989
1990
1991+
1992+ else
1993+ write(*,*) 'not supported tstrategy'
1994+ stop 2
1995+ endif
1996+
1997 endif !t-channel stuff
1998
1999
2000@@ -958,6 +1268,18 @@
2001 call boostm(p(0,itree(1,i)),p(0,i),m(i),p(0,itree(1,i)))
2002 call boostm(p(0,itree(2,i)),p(0,i),m(i),p(0,itree(2,i)))
2003 enddo
2004+c$$$ write(*,*) '****'
2005+c$$$ do i=-nbranch,nexternal
2006+c$$$ write(*,*) 'mass', i, m(i)
2007+c$$$ enddo
2008+c$$$ do i=-nbranch,nexternal
2009+c$$$ write(*,*) 'p',i, p(0,i),p(1,i),p(2,i),p(3,i)
2010+c$$$ enddo
2011+c$$$ do i =0,3
2012+c$$$ pother(i) = p(i,1) + p(i,2) - p(i,3) -p(i,4)
2013+c$$$ enddo
2014+c$$$ write(*,*) 'p5 expected', pother(0), pother(1),pother(2),pother(3)
2015+
2016 jac = jac*wgt
2017 if (.not. pass) jac = -99
2018 end
2019@@ -1022,7 +1344,7 @@
2020 c
2021 c Arguments
2022 c
2023- double precision t,phi,m1,m2 !inputs
2024+ double precision t,phi,m1,m2,ma !inputs
2025 double precision pa(0:3),pb(0:3),jac
2026 double precision p1(0:3),pr(0:3) !outputs
2027 c
2028@@ -1046,7 +1368,6 @@
2029 ptotm(i) = ptot(i)
2030 endif
2031 enddo
2032-c ma2 = dot(pa,pa)
2033 c
2034 c determine magnitude of p1 in cms frame (from dhelas routine mom2cx)
2035 c
2036@@ -1313,6 +1634,146 @@
2037 return
2038 end
2039
2040-
2041+ double precision function get_channel_cut(p, config)
2042+ implicit none
2043+
2044+ include 'maxconfigs.inc'
2045+ include 'nexternal.inc'
2046+ include 'genps.inc'
2047+ include 'maxamps.inc'
2048+ include 'coupl.inc'
2049+c include 'run.inc'
2050+
2051+ double precision p(0:3, nexternal)
2052+ integer config
2053+
2054+
2055+ integer iforest(2,-max_branch:-1,lmaxconfigs)
2056+ integer tstrategy(lmaxconfigs)
2057+ common/to_forest/ iforest, tstrategy
2058+
2059+ integer sprop(maxsproc,-max_branch:-1,lmaxconfigs)
2060+ integer tprid(-max_branch:-1,lmaxconfigs)
2061+ common/to_sprop/sprop,tprid
2062+
2063+ double precision stot,m1,m2
2064+ common/to_stot/stot,m1,m2
2065+
2066+ double precision tmin_for_channel
2067+ integer sde_strat ! 1 means standard single diagram enhancement strategy,
2068+c 2 means approximation by the denominator of the propagator
2069+ common/TO_CHANNEL_STRAT/tmin_for_channel, sde_strat
2070+
2071+ integer mapconfig(0:lmaxconfigs), this_config
2072+ common/to_mconfigs/mapconfig, this_config
2073+
2074+ double precision spole(maxinvar),swidth(maxinvar),bwjac
2075+ common/to_brietwigner/spole ,swidth ,bwjac
2076+
2077+ double precision ptemp(0:3, -nexternal:nexternal)
2078+ integer i,j
2079+ integer d1, d2
2080+ double precision t
2081+ double precision dot
2082+ external dot
2083+ integer ns_channel
2084+ integer nb_tchannel
2085+ integer nbranch
2086+ double precision tmp, tmp2
2087+
2088+ double precision ZERO
2089+ parameter (ZERO=0d0)
2090+ double precision prmass(-nexternal:0,lmaxconfigs)
2091+ double precision prwidth(-nexternal:0,lmaxconfigs)
2092+ integer pow(-nexternal:0,lmaxconfigs)
2093+ logical first_time
2094+ save prmass,prwidth,pow
2095+ data first_time /.true./
2096+
2097+ double precision Mass, Width
2098+
2099+ include 'configs.inc'
2100+
2101+ if(sde_strat.eq.1.and.tmin_for_channel.eq.-1)then
2102+ get_channel_cut = 1d0
2103+ return
2104+ endif
2105+
2106+ if (first_time) then
2107+ include 'props.inc'
2108+ first_time=.false.
2109+ endif
2110+
2111+ do i = 1, nexternal
2112+ do j =0,3
2113+ ptemp(j,i) = p(j,i)
2114+ ptemp(j,-i) = 0d0
2115+ enddo
2116+ enddo
2117+
2118+ nbranch = nexternal -2
2119+ ns_channel=1
2120+ do while((iforest(1,-ns_channel,config) .ne. 1.and.iforest(1,-ns_channel,config) .ne. 2).and.ns_channel.lt.nbranch)
2121+ ns_channel=ns_channel+1
2122+ enddo
2123+ ns_channel=ns_channel - 1
2124+ nb_tchannel=nbranch-ns_channel-1
2125+c write(*,*) 'T-channel found: ',nb_tchannel
2126+
2127+
2128+
2129+
2130+
2131+
2132+ get_channel_cut = 1.
2133+ if (nb_tchannel.lt.2.and.sde_strat.eq.1)then
2134+ get_channel_cut = 1.
2135+ return
2136+ endif
2137+
2138+ do i = 1, nexternal-3
2139+ d1 = iforest(1, -i, config)
2140+ d2 = iforest(2, -i, config)
2141+ do j=0,3
2142+ if (d1.gt.0.and.d1.le.2) then
2143+ ptemp(j,-i) = ptemp(j,-i) - ptemp(j, d1)
2144+ else
2145+ ptemp(j,-i) = ptemp(j,-i)+ptemp(j, d1)
2146+ endif
2147+ if (d2.gt.0.and.d2.le.2) then
2148+ ptemp(j,-i) = ptemp(j,-i) - ptemp(j, d2)
2149+ else
2150+ ptemp(j,-i) = ptemp(j,-i)+ptemp(j, d2)
2151+ endif
2152+ enddo
2153+ if (tprid(-i,config).ne.0)then
2154+ if(sde_strat.eq.2)then
2155+ t = dot(ptemp(0,-i), ptemp(0,-i))
2156+ Mass = prmass(-i, config)
2157+ get_channel_cut = get_channel_cut / ((t-Mass)*(t+Mass))**2
2158+ endif
2159+c write(*,*) i, "t, Mass, fact", t, Mass, ((t-Mass)*(t+Mass))**2,get_channel_cut
2160+ t = t/stot
2161+ if (t.lt.tmin_for_channel)then
2162+ get_channel_cut = get_channel_cut * exp((t-tmin_for_channel)/(t+1))
2163+c get_channel_cut = get_channel_cut * (t+1)/(1+tmin_for_channel)
2164+c else if(t.gt.2*tmin_for_channel)then
2165+c get_channel_cut = get_channel_cut * (2*tmin_for_channel-t)/tmin_for_channel
2166+ endif
2167+ else
2168+ if(sde_strat.eq.2)then
2169+ t = dot(ptemp(0,-i), ptemp(0,-i))
2170+ Mass = prmass(-i, config)
2171+ Width = prwidth(-i, config)
2172+ tmp = (t-Mass)*(t+Mass)
2173+ tmp2 = Mass*Width
2174+ get_channel_cut = get_channel_cut* (tmp**2 - tmp2**2)/(tmp**2 + tmp2**2)**2
2175+ endif
2176+c write(*,*) i, "s, Mass, Width, fact", t, Mass, Width, (((t-Mass)*(t+Mass) )**2 + Width**2*Mass**2), get_channel_cut
2177+ endif
2178+ enddo
2179+c write(*,*) 'final for config', config, get_channel_cut
2180+ return
2181+ end
2182
2183
2184
2185=== modified file 'Template/LO/SubProcesses/makefile'
2186--- Template/LO/SubProcesses/makefile 2017-07-13 10:04:07 +0000
2187+++ Template/LO/SubProcesses/makefile 2021-03-25 20:41:08 +0000
2188@@ -30,18 +30,27 @@
2189
2190 # Source files
2191
2192+MATRIX_HEL = $(patsubst %.f,%.o,$(wildcard matrix*_orig.f))
2193+MATRIX = $(patsubst %.f,%.o,$(wildcard matrix*_optim.f))
2194+ifeq ($(strip $(MATRIX_HEL)),)
2195+ MATRIX = $(patsubst %.f,%.o,$(wildcard matrix*.f))
2196+endif
2197+
2198+
2199 PROCESS= driver.o myamp.o genps.o unwgt.o setcuts.o get_color.o \
2200 cuts.o cluster.o reweight.o initcluster.o addmothers.o setscales.o \
2201 idenparts.o dummy_fct.o \
2202 $(patsubst %.f,%.o,$(wildcard auto_dsig*.f)) \
2203- $(patsubst %.f,%.o,$(wildcard matrix*.f))
2204
2205 SYMMETRY = symmetry.o idenparts.o
2206
2207 # Binaries
2208
2209-$(PROG): $(PROCESS) auto_dsig.o $(LIBS)
2210- $(FC) -o $(PROG) $(PROCESS) $(LINKLIBS) $(LDFLAGS) $(BIASDEPENDENCIES)
2211+$(PROG): $(PROCESS) auto_dsig.o $(LIBS) $(MATRIX)
2212+ $(FC) -o $(PROG) $(PROCESS) $(MATRIX) $(LINKLIBS) $(LDFLAGS) $(BIASDEPENDENCIES)
2213+
2214+$(PROG)_forhel: $(PROCESS) auto_dsig.o $(LIBS) $(MATRIX_HEL)
2215+ $(FC) -o $(PROG)_forhel $(PROCESS) $(MATRIX_HEL) $(LINKLIBS) $(LDFLAGS) $(BIASDEPENDENCIES)
2216
2217 gensym: $(SYMMETRY) configs.inc $(LIBDIR)libmodel.$(libext) $(LIBDIR)libgeneric.$(libext)
2218 $(FC) -o gensym $(SYMMETRY) -L../../lib/ -lmodel -lgeneric -lpdf $(llhapdf) $(LDFLAGS)
2219@@ -56,6 +65,8 @@
2220 cd ../../Source/PDF; make
2221
2222 # Add source so that the compiler finds the DiscreteSampler module.
2223+$(MATRIX): %.o: %.f
2224+ $(FC) $(FFLAGS) $(MATRIX_FLAG) -c $< -I../../Source/
2225 %.o: %.f
2226 $(FC) $(FFLAGS) -c $< -I../../Source/
2227
2228@@ -78,4 +89,4 @@
2229 initcluster.o: message.inc
2230
2231 clean:
2232- $(RM) *.o gensym madevent
2233+ $(RM) *.o gensym madevent madevent_forhel
2234
2235=== modified file 'Template/LO/SubProcesses/myamp.f'
2236--- Template/LO/SubProcesses/myamp.f 2019-12-04 21:34:25 +0000
2237+++ Template/LO/SubProcesses/myamp.f 2021-03-25 20:41:08 +0000
2238@@ -38,7 +38,8 @@
2239 c
2240 include 'maxamps.inc'
2241 integer iforest(2,-max_branch:-1,lmaxconfigs)
2242- common/to_forest/ iforest
2243+ integer tstrategy(lmaxconfigs)
2244+ common/to_forest/iforest, tstrategy
2245 integer sprop(maxsproc,-max_branch:-1,lmaxconfigs)
2246 integer tprid(-max_branch:-1,lmaxconfigs)
2247 common/to_sprop/sprop,tprid
2248@@ -77,7 +78,8 @@
2249 include 'props.inc'
2250 nbw = 0
2251 do i=-1,-(nexternal-3),-1
2252- if (iforest(1,i,iconfig) .eq. 1 .or. prwidth(i,iconfig).le.0) then
2253+ if (iforest(1,i,iconfig) .eq. 1 .or. prwidth(i,iconfig).le.0.or.
2254+ & (nincoming.eq.2.and.iforest(1,i,iconfig) .eq. 2)) then
2255 cycle
2256 endif
2257 nbw=nbw+1
2258@@ -110,7 +112,7 @@
2259 c Start loop over propagators
2260 do i=-1,-(nexternal-3),-1
2261 onbw(i) = .false.
2262- if (iforest(1,i,iconfig) .eq. 1) tsgn=-1d0
2263+ if (iforest(1,i,iconfig) .eq. 1.or.(nincoming.eq.2.and.iforest(1,i,iconfig).eq.2)) tsgn=-1d0
2264 do j=0,3
2265 xp(j,i) = xp(j,iforest(1,i,iconfig))
2266 $ +tsgn*xp(j,iforest(2,i,iconfig))
2267@@ -123,9 +125,12 @@
2268 c write(*,*) 'xmass',xmass,prmass(i,iconfig)
2269 c
2270 c Here we set if the BW is "on-shell" for LesHouches
2271-c
2272- prwidth_tmp(i,iconfig) = max(prwidth(i,iconfig), prmass(i,iconfig)*small_width_treatment)
2273-
2274+c
2275+ if (prwidth(i,iconfig).gt.0) then
2276+ prwidth_tmp(i,iconfig) = max(prwidth(i,iconfig), prmass(i,iconfig)*small_width_treatment)
2277+ else
2278+ prwidth_tmp(i,iconfig) = 0d0
2279+ endif
2280 onshell = (abs(xmass - prmass(i,iconfig)) .lt.
2281 $ bwcutoff*prwidth_tmp(i,iconfig).and.
2282 $ (prwidth_tmp(i,iconfig)/prmass(i,iconfig).lt.0.1d0.or.
2283@@ -247,7 +252,8 @@
2284 common/to_smin/ Smin
2285
2286 integer iforest(2,-max_branch:-1,lmaxconfigs)
2287- common/to_forest/ iforest
2288+ integer tstrategy(lmaxconfigs)
2289+ common/to_forest/iforest, tstrategy
2290
2291 integer sprop(maxsproc,-max_branch:-1,lmaxconfigs)
2292 integer tprid(-max_branch:-1,lmaxconfigs)
2293@@ -310,7 +316,11 @@
2294 c etmin = 10
2295 nt = 0
2296 do i = -nexternal,-1
2297- prwidth_tmp(i,iconfig) = max(prwidth(i,iconfig), prmass(i,iconfig)*small_width_treatment)
2298+ if (prwidth(i,iconfig) .gt.0d0)then
2299+ prwidth_tmp(i,iconfig) = max(prwidth(i,iconfig), prmass(i,iconfig)*small_width_treatment)
2300+ else
2301+ prwidth_tmp(i,iconfig) = 0d0
2302+ endif
2303 enddo
2304
2305
2306@@ -354,8 +364,10 @@
2307
2308 c Start loop over propagators
2309 do i=-1,-(nexternal-3),-1
2310- if (iforest(1,i,iconfig) .eq. 1) tsgn=-1d0
2311- if (tsgn .eq. 1d0) then !s channel
2312+ if (iforest(1,i,iconfig) .eq. 1.or.iforest(1,i,iconfig) .eq. 2)then
2313+ tsgn=-1d0
2314+ endif
2315+ if (tsgn .eq. 1d0) then !s channel
2316 xm(i) = xm(iforest(1,i,iconfig))+xm(iforest(2,i,iconfig))
2317 xe(i) = xe(iforest(1,i,iconfig))+xe(iforest(2,i,iconfig))
2318 mtot = mtot - xm(i)
2319
2320=== removed file 'Template/LO/SubProcesses/projection.f'
2321=== modified file 'Template/LO/SubProcesses/reweight.f'
2322--- Template/LO/SubProcesses/reweight.f 2020-05-24 20:16:56 +0000
2323+++ Template/LO/SubProcesses/reweight.f 2021-03-25 20:41:08 +0000
2324@@ -590,6 +590,8 @@
2325 common /to_specxpt/xptj,xptb,xpta,xptl,xmtc,xetamin,xqcut,deltaeta
2326 double precision stot,m1,m2
2327 common/to_stot/stot,m1,m2
2328+ logical init_mode
2329+ common/to_determine_zero_hel/init_mode
2330
2331 C local variables
2332 integer i, j, idi, idj, k,m
2333@@ -597,6 +599,7 @@
2334 real*8 PI
2335 parameter( PI = 3.14159265358979323846d0 )
2336 integer iforest(2,-max_branch:-1,lmaxconfigs)
2337+ integer tstrategy
2338 double precision asref, pt2prev(n_max_cl),pt2min
2339 integer n, ibeam(2), iqcd(0:2)
2340 integer idfl, idmap(-nexternal:nexternal)
2341@@ -650,11 +653,12 @@
2342 endif
2343 100 clustered = cluster(p(0,1))
2344 if(.not.clustered) then
2345+ if(init_mode) goto 999
2346 open(unit=26,file='../../../error',status='unknown',err=999)
2347 write(26,*) 'Error: Clustering failed in cluster.f.'
2348 write(*,*) 'Error: Clustering failed in cluster.f.'
2349 stop
2350- 999 write(*,*) 'error'
2351+ 999 write(*,*) 'error for clustering'
2352 setclscales=.false.
2353 clustered = .false.
2354 return
2355@@ -1349,6 +1353,7 @@
2356 logical setclscales
2357 integer mapconfig(0:lmaxconfigs), this_config
2358 integer iforest(2,-max_branch:-1,lmaxconfigs)
2359+ integer tstrategy(lmaxconfigs)
2360 integer sprop(maxsproc,-max_branch:-1,lmaxconfigs)
2361 integer tprid(-max_branch:-1,lmaxconfigs)
2362 include 'configs.inc'
2363@@ -1738,9 +1743,9 @@
2364 if (btest(mlevel,3))
2365 $ write(*,*)' set fact scales for PS to ',
2366 $ sqrt(q2fact(1)),sqrt(q2fact(2))
2367- else if (abs(lpp(1)).eq.2.or.abs(lpp(1)).eq.3) then
2368+ else if (abs(lpp(1)).ge.2.and.abs(lpp(1)).le.4) then
2369 q2fact(1)=q2bck(1)
2370- else if (abs(lpp(2)).eq.2.or.abs(lpp(2)).eq.3) then
2371+ else if (abs(lpp(2)).ge.2.or.abs(lpp(2)).le.4) then
2372 q2fact(2)=q2bck(2)
2373 endif
2374
2375
2376=== modified file 'Template/LO/SubProcesses/setcuts.f'
2377--- Template/LO/SubProcesses/setcuts.f 2019-06-17 14:27:09 +0000
2378+++ Template/LO/SubProcesses/setcuts.f 2021-03-25 20:41:08 +0000
2379@@ -879,7 +879,8 @@
2380 double precision pmass(nexternal)
2381 common/to_mass/ pmass
2382 integer iforest(2,-max_branch:-1,lmaxconfigs)
2383- common/to_forest/ iforest
2384+ integer tstrategy(lmaxconfigs)
2385+ common/to_forest/iforest, tstrategy
2386 integer mapconfig(0:lmaxconfigs), this_config
2387 common/to_mconfigs/mapconfig, this_config
2388
2389@@ -946,7 +947,8 @@
2390 c Global
2391 c
2392 integer iforest(2,-max_branch:-1,lmaxconfigs)
2393- common/to_forest/ iforest
2394+ integer tstrategy(lmaxconfigs)
2395+ common/to_forest/iforest, tstrategy
2396 integer sprop(maxsproc,-max_branch:-1,lmaxconfigs)
2397 integer tprid(-max_branch:-1,lmaxconfigs)
2398 common/to_sprop/sprop,tprid
2399
2400=== modified file 'Template/LO/SubProcesses/setscales.f'
2401--- Template/LO/SubProcesses/setscales.f 2020-03-08 20:49:57 +0000
2402+++ Template/LO/SubProcesses/setscales.f 2021-03-25 20:41:08 +0000
2403@@ -24,6 +24,7 @@
2404 double precision pmass(nexternal)
2405 common/to_mass/ pmass
2406
2407+
2408 real*8 xptj,xptb,xpta,xptl,xmtc
2409 real*8 xetamin,xqcut,deltaeta
2410 common /to_specxpt/xptj,xptb,xpta,xptl,xmtc,xetamin,xqcut,deltaeta
2411@@ -69,8 +70,8 @@
2412 enddo
2413 rscale=rscale/2d0
2414 elseif(dynamical_scale_choice.eq.4) then
2415-c \sqrt(s), partonic energy
2416- rscale=dsqrt(max(0d0,2d0*dot(P(0,1),P(0,2))))
2417+c \sqrt(s), partonic energy
2418+ rscale = dsqrt(max(0d0,sumdot(p(0,1), p(0,2), 1d0)))
2419 elseif(dynamical_scale_choice.eq.5) then
2420 c \decaying particle mass, for decays
2421 rscale=dsqrt(max(0d0,dot(P(0,1),P(0,1))))
2422
2423=== removed file 'Template/LO/SubProcesses/shrinktops.f'
2424=== removed file 'Template/LO/SubProcesses/transform.f'
2425=== removed file 'Template/LO/SubProcesses/transformint.f'
2426=== modified file 'Template/LO/SubProcesses/unwgt.f'
2427--- Template/LO/SubProcesses/unwgt.f 2020-05-20 11:52:45 +0000
2428+++ Template/LO/SubProcesses/unwgt.f 2021-03-25 20:41:08 +0000
2429@@ -145,11 +145,19 @@
2430 C compute the boost for the requested transformation
2431 implicit none
2432 double precision pin(0:3), pout(0:3)
2433- double precision denom