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

fixing one IOtest

992. By marco zaro

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

993. By marco zaro

merged 4FS branch

994. By olivier-mattelaer

merge with 2.9.3 -> forcing DP for CF computationn

995. By olivier-mattelaer

fixed nlo_multicore_lowmem

996. By olivier-mattelaer

merge 3.0.4-qcdonly

997. By olivier-mattelaer

update VERSION/UPDATE

998. By olivier-mattelaer

remove print statement

999. By olivier-mattelaer

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
2434+ double precision denom, control
2435
2436 denom = pin(0)*pout(0) - pin(3)*pout(3)
2437 if (denom.ne.0d0) then
2438- get_betaz = (pin(3) * pout(0) - pout(3) * pin(0)) / denom
2439+ control = pin(0)*pout(0) + pin(3)*pout(3)
2440+ if (denom/control.gt.1d-12)then
2441+ get_betaz = (pin(3) * pout(0) - pout(3) * pin(0)) / denom
2442+c pass in massless case
2443+ else if (abs(pin(0)+pin(3)).gt.abs(pin(0))) then
2444+ get_betaz = (pin(0)**2 - pout(0)**2)/(pin(0)**2 + pout(0)**2)
2445+ else
2446+ get_betaz = (pout(0)**2 - pin(0)**2)/(pin(0)**2 + pout(0)**2)
2447+ endif
2448 else if (pin(0).eq.pin(3)) then
2449 get_betaz = (pin(0)**2 - pout(0)**2)/(pin(0)**2 + pout(0)**2)
2450 else if (pin(0).eq.abs(pin(3))) then
2451@@ -460,6 +468,8 @@
2452 include 'run.inc'
2453 include 'run_config.inc'
2454
2455+
2456+
2457 c
2458 c Arguments
2459 c
2460@@ -496,6 +506,9 @@
2461 C
2462 C GLOBAL
2463 C
2464+ logical init_mode
2465+ common/to_determine_zero_hel/init_mode
2466+
2467 double precision twgt, maxwgt,swgt(maxevents)
2468 integer lun, nw, itmin
2469 common/to_unwgt/twgt, maxwgt, swgt, lun, nw, itmin
2470@@ -543,7 +556,7 @@
2471 C-----
2472
2473 if ((nw .ge. maxevents).and.do_write_events) return
2474-
2475+ if (init_mode) return
2476 C if all the necessary inputs to write the events have already been
2477 C computed in the bias module, then directly jump to write_events
2478 if (AlreadySetInBiasModule) then
2479
2480=== modified file 'Template/LO/bin/generate_events'
2481--- Template/LO/bin/generate_events 2018-03-19 21:56:39 +0000
2482+++ Template/LO/bin/generate_events 2021-03-25 20:41:08 +0000
2483@@ -1,4 +1,4 @@
2484-#! /usr/bin/env python
2485+#! /usr/bin/env python3
2486 ################################################################################
2487 #
2488 # Copyright (c) 2011 The MadGraph5_aMC@NLO Development team and Contributors
2489@@ -27,10 +27,17 @@
2490 root_path = os.path.split(os.path.dirname(os.path.realpath( __file__ )))[0]
2491 pjoin = os.path.join
2492
2493-if not sys.version_info[0] == 2 or sys.version_info[1] < 6:
2494- sys.exit('MadEvent works with python 2.6 or higher (but not python 3.X).\n\
2495+if sys.version_info[1] < 7:
2496+ sys.exit('MadEvent works with python 2.7/3.7 or higher.\n\
2497 Please upgrade your version of python.')
2498
2499+try:
2500+ import six
2501+except ImportError:
2502+ message = 'madgraph requires the six module. The easiest way to install it is to run "pip install six --user"\n'
2503+ message += 'in case of problem with pip, you can download the file at https://pypi.org/project/six/ . It has a single python file that you just need to put inside a directory of your $PYTHONPATH environment variable.'
2504+ sys.exit(message)
2505+
2506 # Check if optimize mode is (and should be) activated
2507 if __debug__ and (not os.path.exists(pjoin(root_path,'../..', 'bin','create_release.py'))):
2508 subprocess.call([sys.executable] + ['-O'] + sys.argv)
2509@@ -50,7 +57,7 @@
2510 try:
2511 import pyreadline as readline
2512 except:
2513- print "For tab completion and history, install module readline."
2514+ print("For tab completion and history, install module readline.")
2515 else:
2516 import rlcompleter
2517
2518@@ -81,7 +88,7 @@
2519 pass
2520
2521 if __debug__:
2522- print 'Running MG5 in debug mode'
2523+ print('Running MG5 in debug mode')
2524
2525
2526
2527@@ -99,25 +106,25 @@
2528 try:
2529 mode = int(argument[1])
2530 except:
2531- mode = int(raw_input('Enter 2 for multi-core, 1 for parallel, 0 for serial run\n'))
2532+ mode = int(six.moves.input('Enter 2 for multi-core, 1 for parallel, 0 for serial run\n'))
2533 if mode == 0:
2534 try:
2535 name = argument[2]
2536 except:
2537- name = raw_input('Enter run name\n')
2538+ name = six.moves.input('Enter run name\n')
2539 else:
2540 try:
2541 opt = argument[2]
2542 except:
2543 if mode == 1:
2544- opt = raw_input('Enter name for jobs on pbs queue\n')
2545+ opt = six.moves.input('Enter name for jobs on pbs queue\n')
2546 else:
2547- opt = int(raw_input('Enter number of cores\n'))
2548+ opt = int(six.moves.input('Enter number of cores\n'))
2549
2550 try:
2551 name = argument[3]
2552 except:
2553- name = raw_input('enter run name\n')
2554+ name = six.moves.input('enter run name\n')
2555
2556 # launch = ME.MadEventCmd(me_dir=root_path)
2557
2558@@ -158,7 +165,7 @@
2559 launch = ME.MadEventCmdShell(me_dir=root_path, force_run=True)
2560 launch.run_cmd('generate_events %s' % ' '.join(argument[1:]))
2561 launch.run_cmd('quit')
2562- except ME.MadEventAlreadyRunning, message:
2563+ except ME.MadEventAlreadyRunning as message:
2564 logging.getLogger('madgraph').log(40, str(message))
2565 sys.exit(1)
2566 except KeyboardInterrupt:
2567@@ -166,7 +173,7 @@
2568 launch.run_cmd('quit')
2569 except:
2570 pass
2571- except Exception, error:
2572+ except Exception as error:
2573 logging.error(str(error))
2574 sys.exit()
2575
2576
2577=== modified file 'Template/LO/bin/internal/Gridpack/gridrun'
2578--- Template/LO/bin/internal/Gridpack/gridrun 2017-06-08 18:43:40 +0000
2579+++ Template/LO/bin/internal/Gridpack/gridrun 2021-03-25 20:41:08 +0000
2580@@ -1,4 +1,4 @@
2581-#! /usr/bin/env python
2582+#! /usr/bin/env python3
2583
2584 ################################################################################
2585 #
2586@@ -18,11 +18,20 @@
2587 """This is the main executable, a simple frontend to set up the PYTHONPATH
2588 and call immediately the command line interface scripts"""
2589
2590+from __future__ import absolute_import
2591+from __future__ import print_function
2592 import sys
2593-if not sys.version_info[0] == 2 or sys.version_info[1] < 6:
2594- sys.exit('MadGraph/MadEvent 5 works only with python 2.6 or later (but not python 3.X).\n\
2595+if sys.version_info[1] < 7:
2596+ sys.exit('MadGraph/MadEvent 5 works only with python 2.7/3.7 or later.\n\
2597 Please upgrate your version of python.')
2598
2599+try:
2600+ import six
2601+except ImportError:
2602+ message = 'madgraph requires the six module. The easiest way to install it is to run "pip install six --user"\n'
2603+ message += 'in case of problem with pip, you can download the file at https://pypi.org/project/six/ . It has a single python file that you just need to put inside a directory of your $PYTHONPATH environment variable.'
2604+ sys.exit(message)
2605+
2606 import os
2607 import optparse
2608
2609@@ -62,7 +71,7 @@
2610 pass
2611
2612 if __debug__:
2613- print 'Running MG5 in debug mode'
2614+ print('Running MG5 in debug mode')
2615
2616
2617 # Set logging level according to the logging level given by options
2618@@ -81,13 +90,12 @@
2619 # Call the cmd interface main loop
2620
2621
2622-
2623 try:
2624 cmd_line = cmd_interface.GridPackCmd(me_dir=root_path, nb_event=args[0], seed=args[1], gran=args[2])
2625 except KeyboardInterrupt:
2626- print 'Quit on KeyboardInterrupt'
2627+ print('Quit on KeyboardInterrupt')
2628
2629-print 'DONE'
2630+print('DONE')
2631
2632 try:
2633 # Remove lock file
2634
2635=== modified file 'Template/LO/bin/internal/addmasses_optional.py'
2636--- Template/LO/bin/internal/addmasses_optional.py 2015-10-15 20:22:39 +0000
2637+++ Template/LO/bin/internal/addmasses_optional.py 2021-03-25 20:41:08 +0000
2638@@ -5,8 +5,11 @@
2639 # Add masses to charged leptons, fix kinematics
2640 # Insert W/Z when missing
2641
2642+from __future__ import absolute_import
2643+from __future__ import print_function
2644 import math,sys,re
2645 from xml.dom import minidom
2646+from six.moves import range
2647
2648 #tolerance for energy momentum conservation
2649 toler = 1e-4
2650@@ -70,7 +73,7 @@
2651 self.pz = self.pz/pi*po
2652 def printMe(self):
2653 li = [self.px,self.py, self.pz, self.E, self.m]
2654- print "| %18.10E %18.10E %18.10E %18.10E %18.10E |" % tuple(li)
2655+ print("| %18.10E %18.10E %18.10E %18.10E %18.10E |" % tuple(li))
2656
2657 #useful class to describe a particle
2658 class Particle:
2659@@ -87,7 +90,7 @@
2660 self.polar = l[12]
2661 def printMe(self):
2662 li = [self.no, self.id, self.status,self.mo1, self.mo2, self.co1, self.co2, self.mom.px,self.mom.py, self.mom.pz, self.mom.E, self.mom.m, self.life, self.polar]
2663- print "%2i | %9i | %4i | %4i %4i | %4i %4i | %18.10E %18.10E %18.10E %18.10E %18.10E | %1.0f. %2.0f" % tuple(li)
2664+ print("%2i | %9i | %4i | %4i %4i | %4i %4i | %18.10E %18.10E %18.10E %18.10E %18.10E | %1.0f. %2.0f" % tuple(li))
2665 def writeMe(self):
2666 li = [self.id, self.status,self.mo1, self.mo2, self.co1, self.co2, self.mom.px,self.mom.py, self.mom.pz, self.mom.E, self.mom.m, self.life, self.polar]
2667 return "%9i %4i %4i %4i %4i %4i %18.10E %18.10E %18.10E %18.10E %18.10E %1.0f. %2.0f\n" % tuple(li)
2668@@ -108,7 +111,7 @@
2669 try:
2670 line=f.readline()
2671 except IOError:
2672- print "Problem reading from file ",sys.argv[1]
2673+ print("Problem reading from file ",sys.argv[1])
2674 sys.exit(0)
2675 if line.find("<event>")==-1:
2676 g.write(line)
2677@@ -121,7 +124,7 @@
2678 try:
2679 xmldoc = minidom.parse(sys.argv[1])
2680 except IOError:
2681- print " could not open file for xml parsing ",sys.argv[1]
2682+ print(" could not open file for xml parsing ",sys.argv[1])
2683 sys.exit(0)
2684
2685
2686@@ -178,7 +181,7 @@
2687 if len(noMotherList)==0:
2688 pass
2689 elif len(noMotherList)%2 != 0:
2690- print "single orphan; do not know how to process"
2691+ print("single orphan; do not know how to process")
2692 else:
2693 ki=0
2694 while ki<len(noMotherList)-1:
2695@@ -265,7 +268,7 @@
2696 pSum = pSum + p.mom
2697
2698 if abs(pSum.px)>toler or abs(pSum.py)>toler or abs(pSum.pz)>toler or abs(pSum.E)>toler:
2699- print "Event does not pass tolerance ",toler
2700+ print("Event does not pass tolerance ",toler)
2701 pSum.printMe()
2702
2703 if 1:
2704@@ -286,28 +289,28 @@
2705
2706 #main part of analysis
2707 if len(sys.argv)!=3:
2708- print "Usage: addmasses.py <infile> <outfile> "
2709- print " Last modified: Fri Nov 21 10:49:14 CST 2008 "
2710+ print("Usage: addmasses.py <infile> <outfile> ")
2711+ print(" Last modified: Fri Nov 21 10:49:14 CST 2008 ")
2712 sys.exit(1)
2713 else:
2714- print "Running addmasses.py to add masses and correct kinematics of fixed particles"
2715+ print("Running addmasses.py to add masses and correct kinematics of fixed particles")
2716
2717 #first print out leading information
2718 try:
2719 f=open(sys.argv[1],'r')
2720 except IOError:
2721- print "need a file for reading"
2722+ print("need a file for reading")
2723 sys.exit(1)
2724
2725 try:
2726 g=open(sys.argv[2],'w')
2727 except IOError:
2728- print "need a file for writing"
2729+ print("need a file for writing")
2730 sys.exit(1)
2731
2732 try:
2733 add_masses(f,g)
2734- except Exception, error:
2735- print "addmasses failed with error, %s" % error
2736+ except Exception as error:
2737+ print("addmasses failed with error, %s" % error)
2738 sys.exit(1)
2739
2740
2741=== modified file 'Template/LO/bin/madevent'
2742--- Template/LO/bin/madevent 2018-03-30 07:54:37 +0000
2743+++ Template/LO/bin/madevent 2021-03-25 20:41:08 +0000
2744@@ -1,4 +1,4 @@
2745-#! /usr/bin/env python
2746+#! /usr/bin/env python3
2747
2748 ################################################################################
2749 #
2750@@ -19,10 +19,18 @@
2751 and call immediately the command line interface scripts"""
2752
2753 import sys
2754-if not sys.version_info[0] == 2 or sys.version_info[1] < 6:
2755- sys.exit('MadGraph/MadEvent 5 works only with python 2.6 or later (but not python 3.X).\n\
2756+if sys.version_info[1] < 7:
2757+ sys.exit('MadGraph/MadEvent 5 works only with python 2.7/3.7 or later.\n\
2758 Please upgrate your version of python.')
2759
2760+try:
2761+ import six
2762+except ImportError:
2763+ message = 'madgraph requires the six module. The easiest way to install it is to run "pip install six --user"\n'
2764+ message += 'in case of problem with pip, you can download the file at https://pypi.org/project/six/ . It has a single python file that you just need to put inside a directory of your $PYTHONPATH environment variable.'
2765+ sys.exit(message)
2766+
2767+
2768 import os
2769 import optparse
2770
2771@@ -59,7 +67,7 @@
2772 try:
2773 (options, args) = parser.parse_args(sys.argv[1:len(sys.argv)-i])
2774 done = True
2775- except MyOptParser.InvalidOption, error:
2776+ except MyOptParser.InvalidOption as error:
2777 pass
2778 else:
2779 args += sys.argv[len(sys.argv)-i:]
2780@@ -67,8 +75,8 @@
2781 # raise correct error:
2782 try:
2783 (options, args) = parser.parse_args()
2784- except MyOptParser.InvalidOption, error:
2785- print error
2786+ except MyOptParser.InvalidOption as error:
2787+ print(error)
2788 sys.exit(2)
2789
2790 if len(args) == 0:
2791@@ -79,7 +87,7 @@
2792 # Check if optimize mode is (and should be) activated
2793 if __debug__ and not options.debug and \
2794 (not os.path.exists(os.path.join(root_path,'../..', 'bin','create_release.py')) or options.web):
2795- print 'launch in debug mode'
2796+ print( 'launch in debug mode')
2797 subprocess.call([sys.executable] + ['-O'] + sys.argv)
2798 sys.exit()
2799
2800@@ -92,7 +100,7 @@
2801 try:
2802 import pyreadline as readline
2803 except:
2804- print "For tab completion and history, install module readline."
2805+ print( "For tab completion and history, install module readline.")
2806 else:
2807 import rlcompleter
2808
2809@@ -123,7 +131,7 @@
2810 pass
2811
2812 if __debug__:
2813- print 'Running MG5 in debug mode'
2814+ print( 'Running MG5 in debug mode')
2815
2816
2817 # Set logging level according to the logging level given by options
2818@@ -175,10 +183,10 @@
2819 cmd_line = cmd_interface.MadEventCmdShell(force_run=True)
2820 if not hasattr(cmd_line, 'do_%s' % args[0]):
2821 if parser_error:
2822- print parser_error
2823- print 'and %s can not be interpreted as a valid command.' % args[0]
2824+ print( parser_error)
2825+ print( 'and %s can not be interpreted as a valid command.' % args[0])
2826 else:
2827- print 'ERROR: %s not a valid command. Please retry' % args[0]
2828+ print( 'ERROR: %s not a valid command. Please retry' % args[0])
2829 else:
2830 cmd_line.use_rawinput = False
2831 cmd_line.run_cmd(' '.join(args))
2832@@ -192,9 +200,9 @@
2833 cmd_line = cmd_interface.MadEventCmdShell(force_run=True)
2834 cmd_line.cmdloop()
2835 except KeyboardInterrupt:
2836- print 'writting history and directory and quit on KeyboardInterrupt'
2837+ print( 'writting history and directory and quit on KeyboardInterrupt' )
2838 pass
2839-except cmd_interface.MadEventAlreadyRunning, error:
2840+except cmd_interface.MadEventAlreadyRunning as error:
2841 logging.error(str(error))
2842 sys.exit(1)
2843
2844
2845=== modified file 'Template/MadWeight/Python/Info.py'
2846--- Template/MadWeight/Python/Info.py 2015-10-01 16:00:08 +0000
2847+++ Template/MadWeight/Python/Info.py 2021-03-25 20:41:08 +0000
2848@@ -1,18 +1,21 @@
2849-#!/usr/bin/env python
2850-
2851-def giveInfo(class_):
2852- if type(class_)!=str:
2853- class_=class_.__class__.__name__
2854- for info in dir(eval(class_)):
2855-
2856- print class_+'.'+info+' : ',eval(class_+'.'+info+'.__doc__')
2857-
2858-
2859-
2860-if __name__=='__main__':
2861- class_=raw_input('enter the name of the class')
2862- try:
2863- import class_
2864- except:
2865- pass
2866- giveInfo(class_)
2867+#!/usr/bin/env python
2868+
2869+from __future__ import absolute_import
2870+from __future__ import print_function
2871+from six.moves import input
2872+def giveInfo(class_):
2873+ if type(class_)!=str:
2874+ class_=class_.__class__.__name__
2875+ for info in dir(eval(class_)):
2876+
2877+ print(class_+'.'+info+' : ',eval(class_+'.'+info+'.__doc__'))
2878+
2879+
2880+
2881+if __name__=='__main__':
2882+ class_=input('enter the name of the class')
2883+ try:
2884+ import class_
2885+ except:
2886+ pass
2887+ giveInfo(class_)
2888
2889=== modified file 'Template/MadWeight/Python/clean.py'
2890--- Template/MadWeight/Python/clean.py 2015-10-01 16:00:08 +0000
2891+++ Template/MadWeight/Python/clean.py 2021-03-25 20:41:08 +0000
2892@@ -33,6 +33,8 @@
2893 ##
2894 ## BEGIN INCLUDE
2895 ##
2896+from __future__ import absolute_import
2897+from __future__ import print_function
2898 import os
2899
2900 #1 #########################################################################
2901@@ -48,8 +50,8 @@
2902 if os.path.isdir(element) and (element[0]=='P' or element[:4]=='MW_P'):
2903 status,mess=clean.suppress_dir(os.path.join(element,run_name))
2904 if not status:
2905- print 'supress ',element,' failed:'
2906- print mess
2907+ print('supress ',element,' failed:')
2908+ print(mess)
2909
2910 os.chdir(os.pardir)
2911
2912@@ -161,14 +163,14 @@
2913
2914 if suppres and os.path.isfile(file):
2915 if 'n' in opt:
2916- print 'schedulle deleting file',file
2917+ print('schedulle deleting file',file)
2918 return 1,mess
2919 try:
2920 os.remove(file)
2921 except:
2922 pass
2923 if 's' not in opt:
2924- print 'delete file',file
2925+ print('delete file',file)
2926 return 1,''
2927 elif suppres:
2928 return 0, 'not a file'+file
2929@@ -221,9 +223,9 @@
2930 if 'n' not in opt:
2931 os.rmdir(pos)
2932 if 's' not in opt:
2933- print 'delete dir',pos
2934+ print('delete dir',pos)
2935 else:
2936- print 'schedulle removing directory',pos
2937+ print('schedulle removing directory',pos)
2938
2939 return 1,''
2940 else:
2941@@ -237,4 +239,4 @@
2942 go_to_main_dir()
2943 #Clean_event('fermi')
2944 #Clean_run('fermi')
2945- print 'no cleaning by default'
2946+ print('no cleaning by default')
2947
2948=== modified file 'Template/MadWeight/Python/expand_MadWeight.py'
2949--- Template/MadWeight/Python/expand_MadWeight.py 2011-10-25 14:42:02 +0000
2950+++ Template/MadWeight/Python/expand_MadWeight.py 2021-03-25 20:41:08 +0000
2951@@ -1,6 +1,8 @@
2952 #!/usr/bin/env python
2953
2954 # Module
2955+from __future__ import absolute_import
2956+from __future__ import print_function
2957 import string
2958 import os
2959 import sys
2960@@ -11,10 +13,10 @@
2961
2962 def expand_all(echap=[]):
2963 go_to_main_dir()
2964- print "copying files"
2965+ print("copying files")
2966 copy_file(echap)
2967 del_file()
2968- print "modifying files"
2969+ print("modifying files")
2970 opt={}
2971 opt['nowarning']="""['DESACTIVATE_CUT','DESACTIVATE_BW_CUT','get_user_params','main_make','obj_for_MW']"""
2972 mod_file.mod_file('./Source/MadWeight/mod_file/MW_pos',opt=opt)
2973
2974=== modified file 'Template/MadWeight/Python/madweight.py'
2975--- Template/MadWeight/Python/madweight.py 2013-03-29 20:38:55 +0000
2976+++ Template/MadWeight/Python/madweight.py 2021-03-25 20:41:08 +0000
2977@@ -6,12 +6,15 @@
2978
2979
2980 #Extension
2981+from __future__ import absolute_import
2982+from __future__ import print_function
2983 import string
2984 import sys
2985 import os
2986 import re
2987 import time
2988 import stat
2989+from six.moves import input
2990 # patch if symbolic directory replace by real file
2991 sys.path.append('./Source/MadWeight/Python')
2992 sys.path.append('../Source/MadWeight/Python')
2993@@ -37,7 +40,7 @@
2994 def Launch_all_SubProcess(MWparam):
2995
2996 name=MWparam.name
2997- print 'name :',name
2998+ print('name :',name)
2999 P_proclist,MW_proclist=MWparam.P_listdir,MWparam.MW_listdir
3000 #create banner
3001 if MWparam.run_opt['launch']:
3002@@ -46,14 +49,14 @@
3003 banner.write()
3004
3005 if MWparam.run_opt['compilation']:
3006- print 'starting program compilation'
3007+ print('starting program compilation')
3008 compile_SubProcesses(MW_proclist)
3009
3010 if MWparam.run_opt['event']:
3011 verif_event(MWparam)
3012
3013 if MWparam.run_opt['refine']:
3014- print "collecting data to find data with a precision less than",MWparam.run_opt['refine']
3015+ print("collecting data to find data with a precision less than",MWparam.run_opt['refine'])
3016 collect_schedular(MWparam)
3017
3018
3019@@ -62,7 +65,7 @@
3020 cluster.driver()
3021
3022 if MWparam.run_opt['collect']:
3023- print "collecting data"
3024+ print("collecting data")
3025 collect_schedular(MWparam)
3026
3027
3028@@ -90,7 +93,7 @@
3029 if os.path.isfile("./comp_madweight") and exit_status==0 :
3030 os.chdir("..")
3031 else:
3032- print "fortran compilation error"
3033+ print("fortran compilation error")
3034 sys.exit()
3035 os.chdir("..")
3036 return
3037@@ -109,7 +112,7 @@
3038 if os.path.isfile("./madevent") and exit_status==0:
3039 os.chdir("..")
3040 else:
3041- print "fortran compilation error"
3042+ print("fortran compilation error")
3043 sys.exit()
3044 os.chdir("..")
3045 return
3046@@ -142,15 +145,15 @@
3047
3048 for dir in MWparam.MW_listdir:
3049 if not os.path.exists("SubProcesses/"+dir+"/call_TF.f"):
3050- print "Currently no transfer function loaded ..."
3051+ print("Currently no transfer function loaded ...")
3052 listdir=os.listdir('./Source/MadWeight/transfer_function/data')
3053- print 'Available transfer functions:\n ',
3054- print '\n '.join([content[3:-4] for content in listdir if (content.startswith('TF') and content.endswith('dat'))])
3055- name=raw_input('Choose your transfer Function\n')
3056+ print('Available transfer functions:\n ', end=' ')
3057+ print('\n '.join([content[3:-4] for content in listdir if (content.startswith('TF') and content.endswith('dat'))]))
3058+ name=input('Choose your transfer Function\n')
3059 P_dir,MW_dir=detect_SubProcess(P_mode=1)
3060 os.chdir('./Source/MadWeight/transfer_function')
3061 change_tf.create_TF_main(name,0,MW_dir)
3062- print os.getcwd()
3063+ print(os.getcwd())
3064 os.chdir('../../..')
3065 break
3066
3067@@ -173,7 +176,7 @@
3068 plot.Differential_Graph(MWparam,auto=1)
3069
3070 if MWparam.run_opt['clean']:
3071- print 'cleaning in progress ....'
3072+ print('cleaning in progress ....')
3073 from clean import Clean_run
3074 if MWparam.run_opt['clean']==1:
3075 Clean_run(MWparam.name)
3076
3077=== modified file 'Template/MadWeight/Python/put_banner.py'
3078--- Template/MadWeight/Python/put_banner.py 2011-10-25 14:42:02 +0000
3079+++ Template/MadWeight/Python/put_banner.py 2021-03-25 20:41:08 +0000
3080@@ -99,7 +99,11 @@
3081
3082
3083
3084+from __future__ import absolute_import
3085+from __future__ import print_function
3086 import os,re,sys
3087+from six.moves import range
3088+from six.moves import input
3089 sys.path+=['../'*i+'./Source/MadWeight/Python' for i in range(1,6)]
3090 import MW_param
3091
3092@@ -140,7 +144,7 @@
3093 """ | put in variable full_banner_txt the content of the file ##
3094 ## | defined in position self.header_file ##
3095 """
3096- self.full_banner_txt+=file(self.header_file,'rU').read()
3097+ self.full_banner_txt+=open(self.header_file,'rU').read()
3098
3099 #2 #######################################################################
3100 def put_version_info(self):
3101@@ -149,7 +153,7 @@
3102 self.full_banner_txt+="<MGVersion>\n"
3103 for key,pos in self.version_info.items():
3104 try:
3105- self.full_banner_txt+="# "+key+' '*(25-len(key))+':'+file(pos,'rU').read()
3106+ self.full_banner_txt+="# "+key+' '*(25-len(key))+':'+open(pos,'rU').read()
3107 except IOError:
3108 self.full_banner_txt+="# "+key+' '*(25-len(key))+':'
3109 if self.full_banner_txt[-1]!='\n':
3110@@ -170,7 +174,7 @@
3111 try:
3112 self.full_banner_txt+=eval('self.mod_'+key+'(\"'+pos+'\")')
3113 except:
3114- self.full_banner_txt+=file(pos,'rU').read()
3115+ self.full_banner_txt+=open(pos,'rU').read()
3116 self.full_banner_txt+="</"+key+">\n"
3117
3118 #2 #######################################################################
3119@@ -179,7 +183,7 @@
3120 ## | self.input_file ##
3121 """
3122
3123- self.full_banner_txt+=file(self.input_file,'rU').read()
3124+ self.full_banner_txt+=open(self.input_file,'rU').read()
3125 if self.full_banner_txt[-1]!='\n':
3126 self.full_banner_txt+='\n'
3127 self.full_banner_txt+="</LesHouchesEvents>\n"
3128@@ -192,7 +196,7 @@
3129 """
3130 suppress_empty_line=re.compile(r'''\n\s*\n''')
3131 self.full_banner_txt=suppress_empty_line.sub('\n',self.full_banner_txt)
3132- output=file(self.output_file,'w')
3133+ output=open(self.output_file,'w')
3134 output.writelines(self.full_banner_txt)
3135 output.close()
3136
3137@@ -255,11 +259,11 @@
3138 ## | modify (or original) run_card.dat ##
3139 """
3140
3141- text=file(inputfile).read()
3142+ text=open(inputfile).read()
3143 if os.path.isfile('./SubProcesses/randinit'):
3144 pattern_random=re.compile(r'''r=\s*(?P<val>\d*)''')
3145- print file('./SubProcesses/randinit').read()
3146- seed=pattern_random.search(file('./SubProcesses/randinit').read()).group('val')
3147+ print(open('./SubProcesses/randinit').read())
3148+ seed=pattern_random.search(open('./SubProcesses/randinit').read()).group('val')
3149 pattern_seed=re.compile(r'''0\s*=\s*iseed''')
3150 text=pattern_seed.sub(' '+seed+' = iseed',text)#
3151
3152@@ -306,7 +310,7 @@
3153 def_pos.to_main()
3154 opt=sys.argv
3155 if len(opt)==1:
3156- filename=raw_input('Enter file with events (in directory Events)')
3157+ filename=input('Enter file with events (in directory Events)')
3158 else:
3159 filename=opt[1]
3160
3161
3162=== modified file 'Template/MadWeight/Python/splitbanner.py'
3163--- Template/MadWeight/Python/splitbanner.py 2011-10-25 14:42:02 +0000
3164+++ Template/MadWeight/Python/splitbanner.py 2021-03-25 20:41:08 +0000
3165@@ -14,7 +14,10 @@
3166 ## last-modif:24/01/09 ##
3167 ## ##
3168 ##########################################################################
3169+from __future__ import absolute_import
3170+from __future__ import print_function
3171 import sys
3172+from six.moves import input
3173 # patch if symbolic directory replace by real file
3174 sys.path.append('./Source/MadWeight/Python')
3175 sys.path.append('../Source/MadWeight/Python')
3176@@ -52,7 +55,7 @@
3177
3178 def write_card(self,pos):
3179
3180- print 'writing', pos
3181+ print('writing', pos)
3182 ff=open(pos,'w')
3183 for line in self.file:
3184 if self.pat_end.search(line):
3185@@ -62,7 +65,7 @@
3186 ff.writelines(line)
3187
3188 def FindCardName(self,tag):
3189- if tag in dico.keys():
3190+ if tag in list(dico.keys()):
3191 if '.' not in dico[tag]:
3192 return dico[tag]+'.dat'
3193 else:
3194@@ -77,9 +80,9 @@
3195 import MW_param
3196 MW_param.go_to_main_dir()
3197 opt=sys.argv
3198- print opt
3199+ print(opt)
3200 if len(opt)<2:
3201- name=raw_input('enter the run name to restore or the position of a banner file\n')
3202+ name=input('enter the run name to restore or the position of a banner file\n')
3203 else:
3204 name=opt[1]
3205
3206@@ -91,15 +94,15 @@
3207 pos='/'.join([part for part in name.split('/')[:-1]])
3208
3209 ban.split()
3210- print 'done'
3211+ print('done')
3212
3213 if len(opt)==3:
3214 import_lhco=opt[2]
3215 else:
3216- import_lhco=raw_input('Do you want import the input.lhco file? (1/0)\n')
3217+ import_lhco=input('Do you want import the input.lhco file? (1/0)\n')
3218
3219
3220 if int(import_lhco):
3221 os.system('cp '+pos+'/input.lhco ./Events')
3222- print 'replace Events/input.lhco by '+pos+'/input.lhco'
3223+ print('replace Events/input.lhco by '+pos+'/input.lhco')
3224
3225
3226=== modified file 'Template/MadWeight/Python/tests.py'
3227--- Template/MadWeight/Python/tests.py 2011-10-25 14:42:02 +0000
3228+++ Template/MadWeight/Python/tests.py 2021-03-25 20:41:08 +0000
3229@@ -20,7 +20,10 @@
3230 #########################################################################################################
3231 # TEST #################################################################################################
3232 #########################################################################################################
3233+from __future__ import absolute_import
3234+from __future__ import print_function
3235 import sys
3236+from six.moves import input
3237 sys.path.append('./Source/MadWeight/Python')
3238 import filecmp
3239 import unittest
3240@@ -279,10 +282,10 @@
3241
3242
3243
3244-print 'WARNING: This test modify this version of the Template. The correct way to launch it is to first made a copy of the Template'
3245-y =raw_input('Do you want to continue? [y/n]')
3246+print('WARNING: This test modify this version of the Template. The correct way to launch it is to first made a copy of the Template')
3247+y =input('Do you want to continue? [y/n]')
3248 if y == 'y':
3249 unittest.main()
3250 else:
3251- print 'stopped'
3252+ print('stopped')
3253
3254
3255=== modified file 'Template/MadWeight/bin/madweight.py'
3256--- Template/MadWeight/bin/madweight.py 2013-03-30 07:45:35 +0000
3257+++ Template/MadWeight/bin/madweight.py 2021-03-25 20:41:08 +0000
3258@@ -15,6 +15,8 @@
3259 ################################################################################
3260 """ This is the main script in order to generate events in MadEvent """
3261
3262+from __future__ import absolute_import
3263+from __future__ import print_function
3264 import sys
3265 import os
3266 import subprocess
3267@@ -33,7 +35,7 @@
3268
3269 # Check if optimize mode is (and should be) activated
3270 if __debug__ and (not os.path.exists(os.path.join(root_path,'../..', 'bin','create_release.py'))):
3271- print 'launch in debug mode'
3272+ print('launch in debug mode')
3273 subprocess.call([sys.executable] + ['-O'] + sys.argv)
3274 sys.exit()
3275
3276@@ -50,7 +52,7 @@
3277 try:
3278 import pyreadline as readline
3279 except:
3280- print "For tab completion and history, install module readline."
3281+ print("For tab completion and history, install module readline.")
3282 else:
3283 import rlcompleter
3284
3285@@ -81,7 +83,7 @@
3286 pass
3287
3288 if __debug__:
3289- print 'Running MG5 in debug mode'
3290+ print('Running MG5 in debug mode')
3291
3292
3293 def set_configuration():
3294@@ -163,10 +165,10 @@
3295 launch.run_cmd('quit')
3296 except:
3297 pass
3298- except MW.AlreadyRunning, error:
3299+ except MW.AlreadyRunning as error:
3300 logging.error(str(error))
3301 sys.exit()
3302- except Exception, error:
3303+ except Exception as error:
3304 if os.path.exists(pjoin(root_path, 'RunWeb')):
3305 os.remove(pjoin(root_path, 'RunWeb'))
3306 raise
3307
3308=== modified file 'Template/MadWeight/mod_file/check_model.py'
3309--- Template/MadWeight/mod_file/check_model.py 2011-10-25 14:42:02 +0000
3310+++ Template/MadWeight/mod_file/check_model.py 2021-03-25 20:41:08 +0000
3311@@ -3,6 +3,8 @@
3312 #test
3313
3314 #Extension
3315+from __future__ import absolute_import
3316+from __future__ import print_function
3317 import string
3318 import os
3319 import sys
3320@@ -29,7 +31,7 @@
3321 if 'bin' in list_dir:
3322 return
3323 else:
3324- print 'script must be launched from main or bin/Source directory'
3325+ print('script must be launched from main or bin/Source directory')
3326 sys.exit()
3327
3328
3329
3330=== modified file 'Template/MadWeight/mod_file/mod_file.py'
3331--- Template/MadWeight/mod_file/mod_file.py 2011-10-25 14:42:02 +0000
3332+++ Template/MadWeight/mod_file/mod_file.py 2021-03-25 20:41:08 +0000
3333@@ -1,11 +1,14 @@
3334 #!/usr/bin/env python
3335
3336 #Extension
3337+from __future__ import absolute_import
3338+from __future__ import print_function
3339 import string
3340 import os
3341 import sys
3342 import time
3343 import re
3344+from six.moves import range
3345
3346 ############################################################################
3347 ## PARAMETER
3348@@ -21,11 +24,11 @@
3349
3350 #SECURITY POINT
3351 if type(list_input)!=list:
3352- print 'subroutine need at least two files for fuse'
3353+ print('subroutine need at least two files for fuse')
3354 return 0
3355
3356 if output in list_input:
3357- print 'output file cann\'t have the same name than an input file'
3358+ print('output file cann\'t have the same name than an input file')
3359 return 0
3360
3361 #initialisation
3362@@ -179,7 +182,7 @@
3363
3364 file_in.close()
3365 file_out.close()
3366- print 'no need of mod_photon_flux'
3367+ print('no need of mod_photon_flux')
3368 sys.exit()
3369 return
3370
3371
3372=== modified file 'Template/NLO/Cards/FKS_params.dat'
3373--- Template/NLO/Cards/FKS_params.dat 2020-05-13 10:13:31 +0000
3374+++ Template/NLO/Cards/FKS_params.dat 2021-03-25 20:41:08 +0000
3375@@ -136,7 +136,7 @@
3376 ! this to '-1' if you want to forbid the use of this method
3377 ! altogether.
3378 #NHelForMCoverHels
3379--1
3380+4
3381 ! Default :: 4
3382 !
3383 ! This parameter sets for which fraction of the events the virtual
3384
3385=== modified file 'Template/NLO/Cards/run_card.dat'
3386--- Template/NLO/Cards/run_card.dat 2018-04-25 06:47:06 +0000
3387+++ Template/NLO/Cards/run_card.dat 2021-03-25 20:41:08 +0000
3388@@ -179,7 +179,8 @@
3389 %(pt_max_pdg)s = pt_max_pdg ! Max pT for a massive particle
3390 %(mxx_min_pdg)s = mxx_min_pdg ! inv. mass for any pair of (anti)particles
3391 #***********************************************************************
3392-# For aMCfast+APPLGRID use in PDF fitting (http://amcfast.hepforge.org)*
3393+# Use PineAPPL to generate PDF-independent fast-interpolation grid *
3394+# (https://zenodo.org/record/3992765#.X2EWy5MzbVo) *
3395 #***********************************************************************
3396- %(iappl)s = iappl ! aMCfast switch (0=OFF, 1=prepare grids, 2=fill grids)
3397+ %(pineappl)s = pineappl ! PineAPPL switch
3398 #***********************************************************************
3399
3400=== modified file 'Template/NLO/Cards/shower_card.dat'
3401--- Template/NLO/Cards/shower_card.dat 2017-08-15 19:34:40 +0000
3402+++ Template/NLO/Cards/shower_card.dat 2021-03-25 20:41:08 +0000
3403@@ -57,7 +57,8 @@
3404 # FxFx merging parameters !ONLY FOR PYTHIA8!
3405 #***********************************************************************
3406 Qcut = -1.0 # Merging scale
3407-njmax = 0 # Maximal multiplicity in the merging
3408+njmax = -1 # Maximal multiplicity in the merging.
3409+# # -1 means guessed from the process definition
3410 #***********************************************************************
3411 # Decay channels *
3412 #***********************************************************************
3413@@ -127,6 +128,8 @@
3414 # Dir names separated by white spaces
3415 ANALYSE = # User's analysis and histogramming
3416 # routines (please use .o as extension
3417- # and use spaces to separate files)
3418+ # and use spaces to separate files).
3419+ # If the HwU.o files has to be linked,
3420+ # it should be put *first*.
3421
3422
3423
3424=== modified file 'Template/NLO/FixedOrderAnalysis/HwU.f'
3425--- Template/NLO/FixedOrderAnalysis/HwU.f 2017-06-21 11:53:16 +0000
3426+++ Template/NLO/FixedOrderAnalysis/HwU.f 2021-03-25 20:41:08 +0000
3427@@ -10,16 +10,29 @@
3428 C C
3429 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
3430
3431+ module HwU_wgts_info_len
3432+ use iso_c_binding
3433+ integer, parameter :: wgts_info_len=80
3434+ contains
3435+ integer function get_wgts_info_len() bind(c,name="get_wgts_info_len")
3436+ get_wgts_info_len = wgts_info_len
3437+ return
3438+ end function get_wgts_info_len
3439+
3440+ end module HwU_wgts_info_len
3441+
3442+
3443 c The module contains effectively the common block with allocatable
3444 c variables (something not possible in old fortran version)
3445 module HwU_variables
3446+ use HwU_wgts_info_len
3447 implicit none
3448 integer :: max_plots,max_points,max_bins,nwgts,np
3449 integer :: error_estimation=3
3450 logical, allocatable :: booked(:)
3451 integer, allocatable :: nbin(:),histi(:,:),p_bin(:),p_label(:)
3452 character(len=50), allocatable :: title(:)
3453- character(len=50), allocatable :: wgts_info(:)
3454+ character(len=wgts_info_len), allocatable :: wgts_info(:)
3455 double precision, allocatable :: histy(:,:,:),histy_acc(:,:,:)
3456 $ ,histy2(:,:),histy_err(:,:),histxl(:,:),histxm(:,:)
3457 $ ,step(:),p_wgts(:,:)
3458@@ -34,6 +47,16 @@
3459 implicit none
3460 integer i,nweights
3461 character*(*) wgt_info(*)
3462+
3463+c PineAPPL commons
3464+ include "reweight_pineappl.inc"
3465+ include "pineappl_common.inc"
3466+ logical pineappl
3467+ common /for_pineappl/ pineappl
3468+
3469+C Initialize the number of bins of the aMCfast grids
3470+ if(pineappl) appl_obs_nbins = 0
3471+
3472 call HwU_deallocate_all
3473 max_plots=0
3474 max_points=0
3475@@ -85,6 +108,43 @@
3476 integer label,nbin_l,i,j
3477 character*(*) title_l
3478 double precision xmin,xmax
3479+c PineAPPL commons
3480+ include "reweight_pineappl.inc"
3481+ include "pineappl_common.inc"
3482+ logical pineappl
3483+ common /for_pineappl/ pineappl
3484+ double precision del
3485+
3486+c Initialize the grids only if the switch "pineappl" is set to True
3487+c and if the title does not contain the word "Born".
3488+ if(pineappl.and.index(title_l,"Born").eq.0)then
3489+c Observable parameters
3490+c Compute number of bins and edges only if they have not been given by the user.
3491+ if(appl_obs_nbins.eq.0)then
3492+ appl_obs_nbins = nbin_l
3493+ ! bin width
3494+ del = (xmax - xmin) / nbin_l
3495+c compute bin edges
3496+ do i=0,appl_obs_nbins
3497+ appl_obs_bins(i) = xmin + i * del
3498+ enddo
3499+ endif
3500+ appl_obs_min = appl_obs_bins(0)
3501+ appl_obs_max = appl_obs_bins(appl_obs_nbins)
3502+ if(abs(appl_obs_max-xmax).gt.0.00000001d0)then
3503+ write(*,*) 'PineAPPL Histogram: ',
3504+ 1 'Change of the upper limit:',xmax,'-->',
3505+ 2 appl_obs_max
3506+ endif
3507+c Initialize PineAPPL routines
3508+ call APPL_init
3509+c Keep track of the position of this histogram
3510+ nh_obs = nh_obs + 1
3511+ ih_obs(nh_obs) = label
3512+c Reset number of bins to zero
3513+ appl_obs_nbins = 0
3514+ endif
3515+
3516 c Allocate space for new histograms if needed
3517 call HwU_allocate_histo(label,nbin_l)
3518 c Setup the histogram
3519@@ -119,6 +179,24 @@
3520 implicit none
3521 integer label,i,j,bin
3522 double precision x, wgts(*)
3523+
3524+c PineAPPL commons
3525+ include "reweight_pineappl.inc"
3526+ include "pineappl_common.inc"
3527+ logical pineappl
3528+ common /for_pineappl/ pineappl
3529+ if(pineappl)then
3530+ do j=1,nh_obs
3531+ if(label.eq.ih_obs(j))then
3532+ appl_obs_num = j
3533+ appl_obs_histo = x
3534+c Fill the reference PineAPPL histograms
3535+c Fill the PineAPPL files
3536+ call APPL_fill
3537+ endif
3538+ enddo
3539+ endif
3540+
3541 c If central weight is zero do not add this point.
3542 if (wgts(1).eq.0d0) return
3543 c Check if point is within plotting range
3544
3545=== added file 'Template/NLO/FixedOrderAnalysis/analysis_td_hw_orders.f'
3546--- Template/NLO/FixedOrderAnalysis/analysis_td_hw_orders.f 1970-01-01 00:00:00 +0000
3547+++ Template/NLO/FixedOrderAnalysis/analysis_td_hw_orders.f 2021-03-25 20:41:08 +0000
3548@@ -0,0 +1,190 @@
3549+c
3550+c This file contains the default histograms for fixed order runs: it
3551+c only plots the total rate as an example. It can be used as a template
3552+c to make distributions for other observables.
3553+c
3554+c This uses the hbook package and generates histograms in the top-drawer
3555+c format. This format is human-readable. After running, the histograms
3556+c can be found in the Events/run_XX/ directory.
3557+c
3558+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
3559+ subroutine analysis_begin(nwgt,weights_info)
3560+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
3561+c This subroutine is called once at the start of each run. Here the
3562+c histograms should be declared.
3563+c
3564+c Declare the histograms using 'bookup'.
3565+c o) The first argument is an integer that labels the histogram. In
3566+c the analysis_end and analysis_fill subroutines this label is used
3567+c to keep track of the histogram. The label should be a number
3568+c between 1 and NPLOTS/4=5000 (can be increased in dbook.inc).
3569+c o) The second argument is a string that will apear above the
3570+c histogram. Do not use brackets "(" or ")" inside this string.
3571+c o) The third, forth and fifth arguments are the bin size, the
3572+c lower edge of the first bin and the upper edge of the last
3573+c bin. There is a maximum of 100 bins per histogram.
3574+c o) When including scale and/or PDF uncertainties, declare a
3575+c histogram for each weight, and compute the uncertainties from the
3576+c final set of histograms
3577+c
3578+ implicit none
3579+c When including scale and/or PDF uncertainties the total number of
3580+c weights considered is nwgt
3581+ integer nwgt
3582+c In the weights_info, there is an text string that explains what each
3583+c weight will mean. The size of this array of strings is equal to nwgt.
3584+ character*(*) weights_info(*)
3585+c Local variables
3586+ integer kk,l,nwgt_analysis
3587+ common/c_analysis/nwgt_analysis
3588+c Initialize the histogramming package (hbook):
3589+ call inihist
3590+c Fill the c_analysis common block with the number of weights that will
3591+c be computed
3592+ nwgt_analysis=nwgt
3593+c
3594+c loop over all the weights that are computed (depends on run_card
3595+c parameters do_rwgt_scale and do_rwgt_pdf):
3596+ do kk=1,nwgt_analysis
3597+c make sure that there is a separate histogram initialized for each
3598+c weight
3599+ l=(kk-1)*4
3600+c declare (i.e. book) the histograms
3601+ call bookup(l+1,'total rate '//weights_info(kk),
3602+ & 1.0d0,0.5d0,5.5d0)
3603+ call bookup(l+2,'total rate Born '//weights_info(kk),
3604+ & 1.0d0,0.5d0,5.5d0)
3605+ call bookup(l+3,'total rate QCD'//weights_info(kk),
3606+ & 1.0d0,0.5d0,5.5d0)
3607+ call bookup(l+4,'total rate EW '//weights_info(kk),
3608+ & 1.0d0,0.5d0,5.5d0)
3609+ enddo
3610+ return
3611+ end
3612+
3613+
3614+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
3615+ subroutine analysis_end(xnorm)
3616+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
3617+c This subroutine is called once at the end of the run. Here the
3618+c histograms are written to disk. Note that this is done for each
3619+c integration channel separately. There is an external script that will
3620+c read the top drawer files in each of the integration channels and
3621+c combines them by summing all the bins in a final single top-drawer
3622+c file to be put in the Events/run_XX directory.
3623+c
3624+c The histograms are put in a format to be written to file. Use the
3625+c multitop() subroutine.
3626+c o) The first argument is the histogram label
3627+c o) The second and third arguments are not used (keep them to the
3628+c default 3,2)
3629+c o) Fourth argument is the label for the x-axis. Do not use
3630+c brackets "(" or ")" inside this string.
3631+c o) Fifth argument is the y-axis
3632+c o) Final argument declares if the y-axis should be a linear 'LIN'
3633+c or logarithmic 'LOG' scale.
3634+ implicit none
3635+ character*14 ytit
3636+ double precision xnorm
3637+ integer i
3638+c Local variables
3639+ integer kk,l,nwgt_analysis
3640+ common/c_analysis/nwgt_analysis
3641+c This defines NPLOTS:
3642+ include 'dbook.inc'
3643+c Open the topdrawer file to write the histograms (do not remove the
3644+c next to calls)
3645+ call open_topdrawer_file
3646+ call mclear
3647+c Do not touch the folloing 4 lines. These lines make sure that the
3648+c histograms will have the correct overall normalisation: cross section
3649+c (in pb) per bin.
3650+ do i=1,NPLOTS
3651+ call mopera(i,'+',i,i,xnorm,0.d0)
3652+ call mfinal(i)
3653+ enddo
3654+ ytit='sigma per bin '
3655+c Loop over the plots that are declared with bookup
3656+ do kk=1,nwgt_analysis
3657+ l=(kk-1)*4
3658+ do i=1,8
3659+c convert them to a format suitable for writing
3660+ call multitop(l+i,3,2,'total rate',ytit,'LIN')
3661+ enddo
3662+ enddo
3663+c Close the topdrawer file (Do not remove this call)
3664+ call close_topdrawer_file
3665+ return
3666+ end
3667+
3668+
3669+
3670+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
3671+ subroutine analysis_fill(p,istatus,ipdg,wgts,ibody)
3672+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
3673+c This subroutine is called for each n-body and (n+1)-body configuration
3674+c that passes the generation cuts. Here the histrograms are filled.
3675+ implicit none
3676+c This includes the 'nexternal' parameter that labels the number of
3677+c particles in the (n+1)-body process
3678+ include 'nexternal.inc'
3679+c This is an array which is '-1' for initial state and '1' for final
3680+c state particles
3681+ integer istatus(nexternal)
3682+c This is an array with (simplified) PDG codes for the particles. Note
3683+c that channels that are combined (i.e. they have the same matrix
3684+c elements) are given only 1 set of PDG codes. This means, e.g., that
3685+c when using a 5-flavour scheme calculation (massless b quark), no
3686+c b-tagging can be applied.
3687+ integer iPDG(nexternal)
3688+c The array of the momenta and masses of the initial and final state
3689+c particles in the lab frame. The format is "E, px, py, pz, mass", while
3690+c the second dimension loops over the particles in the process. Note
3691+c that these are the (n+1)-body particles; for the n-body there is one
3692+c momenta equal to all zero's (this is not necessarily the last particle
3693+c in the list). If one uses IR-safe obserables only, there should be no
3694+c difficulty in using this.
3695+ double precision p(0:4,nexternal)
3696+c The weight of the current phase-space point is wgts(1). If scale
3697+c and/or PDF uncertainties are included through reweighting, the rest of
3698+c the array contains the list of weights in the same order as described
3699+c by the weigths_info strings in analysis_begin
3700+ double precision wgts(*)
3701+c The ibody variable is:
3702+c ibody=1 : (n+1)-body contribution
3703+c ibody=2 : n-body contribution (excluding the Born)
3704+c ibody=3 : Born contribution
3705+c The histograms need to be filled for all these contribution to get the
3706+c physics NLO results. (Note that the adaptive phase-space integration
3707+c is optimized using the sum of the contributions, therefore plotting
3708+c them separately might lead to larger than expected statistical
3709+c fluctuations).
3710+ integer ibody
3711+c local variables
3712+ double precision wgt,var
3713+ integer kk,l,nwgt_analysis
3714+ common/c_analysis/nwgt_analysis
3715+ ! stuff for plotting the different splitorders
3716+ integer orders_tag_plot
3717+ common /corderstagplot/ orders_tag_plot
3718+c
3719+c Fill the histograms here using a call to the mfill() subroutine. The
3720+c first argument is the histogram label, the second is the numerical
3721+c value of the variable to plot for the current phase-space point and
3722+c the final argument is the weight of the current phase-space point.
3723+ var=1d0
3724+c loop over all the weights that are computed (depends on run_card
3725+c parameters do_rwgt_scale and do_rwgt_pdf):
3726+ do kk=1,nwgt_analysis
3727+ wgt=wgts(kk)
3728+ l=(kk-1)*4
3729+c always fill the total rate
3730+ call mfill(l+1,var,wgt)
3731+c only fill the total rate for the Born when ibody=3
3732+ if (ibody.eq.3) call mfill(l+2,var,wgt)
3733+C fill the different partonic subchannels
3734+ if (orders_tag_plot.eq.402) call mfill(l+3,var,wgt)
3735+ if (orders_tag_plot.eq.600) call mfill(l+4,var,wgt)
3736+ enddo
3737+ return
3738+ end
3739
3740=== modified file 'Template/NLO/FixedOrderAnalysis/dbook.f'
3741--- Template/NLO/FixedOrderAnalysis/dbook.f 2015-03-04 10:22:46 +0000
3742+++ Template/NLO/FixedOrderAnalysis/dbook.f 2021-03-25 20:41:08 +0000
3743@@ -124,11 +124,11 @@
3744 c initialization
3745 IMPLICIT NONE
3746 include 'dbook.inc'
3747-c APPLgrid commons
3748- include "reweight_appl.inc"
3749- include "appl_common.inc"
3750- integer iappl
3751- common /for_applgrid/ iappl
3752+c PineAPPL commons
3753+ include "reweight_pineappl.inc"
3754+ include "pineappl_common.inc"
3755+ logical pineappl
3756+ common /for_pineappl/ pineappl
3757 c
3758 c LOCAL
3759 c
3760@@ -139,8 +139,8 @@
3761 NHIST=0
3762 DO 1, I=1,NPLOTS
3763 1 BOOK(I)=' NO'
3764-C Initialize the number of bins of the aMCfast grids
3765- if(iappl.ne.0) appl_obs_nbins = 0
3766+C Initialize the number of bins of the amcblast grids
3767+ if(pineappl) appl_obs_nbins = 0
3768 END
3769
3770
3771@@ -1001,20 +1001,19 @@
3772 implicit none
3773 integer n,n_by4
3774 double precision var,www
3775-c APPLgrid commons
3776- include "reweight_appl.inc"
3777- include "appl_common.inc"
3778- integer iappl
3779- common /for_applgrid/ iappl
3780+c PineAPPL commons
3781+ include "reweight_pineappl.inc"
3782+ include "pineappl_common.inc"
3783+ logical pineappl
3784+ common /for_pineappl/ pineappl
3785 integer j
3786- if(iappl.ne.0)then
3787+ if(pineappl)then
3788 do j=1,nh_obs
3789 if(n.eq.ih_obs(j))then
3790 appl_obs_num = j
3791 appl_obs_histo = var
3792-c Fill the reference APPLgrid histograms
3793- call APPL_fill_ref
3794-c Fill the APPLgrid files
3795+c Fill the reference PineAPPL histograms
3796+c Fill the PineAPPL files
3797 call APPL_fill
3798 endif
3799 enddo
3800@@ -1029,15 +1028,15 @@
3801 integer i,n,n_by4
3802 character*(*) string
3803 double precision del,xl,xu
3804-c APPLgrid commons
3805- include "reweight_appl.inc"
3806- include "appl_common.inc"
3807- integer iappl
3808- common /for_applgrid/ iappl
3809-c Initialize the grids only if the switch "iappl" is different from zero
3810+c PineAPPL commons
3811+ include "reweight_pineappl.inc"
3812+ include "pineappl_common.inc"
3813+ logical pineappl
3814+ common /for_pineappl/ pineappl
3815+c Initialize the grids only if the switch "pineappl" is different from zero
3816 c and if the title string containes the word "central" and does not contain
3817 c the word "Born".
3818- if(iappl.ne.0.and.index(string,"central").ne.0.and.
3819+ if(pineappl.and.index(string,"central").ne.0.and.
3820 1 index(string,"Born").eq.0)then
3821 c Observable parameters
3822 c Compute number of bins and edges only if they have not been given by the user.
3823@@ -1051,11 +1050,11 @@
3824 appl_obs_min = appl_obs_bins(0)
3825 appl_obs_max = appl_obs_bins(appl_obs_nbins)
3826 if(abs(appl_obs_max-xu).gt.0.00000001d0)then
3827- write(*,*) 'APPLgrid Histogram: ',
3828+ write(*,*) 'PineAPPL Histogram: ',
3829 1 'Change of the upper limit:',xu,'-->',
3830 2 appl_obs_max
3831 endif
3832-c Initialize APPLgrid routines
3833+c Initialize PineAPPL routines
3834 call APPL_init
3835 c Keep track of the position of this histogram
3836 nh_obs = nh_obs + 1
3837@@ -1072,17 +1071,16 @@
3838 implicit none
3839 integer n,n_by4,m_by4
3840 character*(*) string1,string2,string3
3841-c APPLgrid commons
3842- include "reweight_appl.inc"
3843- include "appl_common.inc"
3844- integer iappl
3845- common /for_applgrid/ iappl
3846+c PineAPPL commons
3847+ include "reweight_pineappl.inc"
3848+ include "pineappl_common.inc"
3849+ logical pineappl
3850+ common /for_pineappl/ pineappl
3851 integer j
3852- if(iappl.ne.0)then
3853+ if(pineappl)then
3854 do j=1,nh_obs
3855 if(n.eq.ih_obs(j))then
3856 appl_obs_num = j
3857- call APPL_fill_ref_out
3858 call APPL_term
3859 endif
3860 enddo
3861@@ -1098,17 +1096,16 @@
3862 implicit none
3863 integer n,n_by4,lr,lh,m_by4
3864 character*(*) string1,string2,string3
3865-c APPLgrid commons
3866- include "reweight_appl.inc"
3867- include "appl_common.inc"
3868- integer iappl
3869- common /for_applgrid/ iappl
3870+c PineAPPL commons
3871+ include "reweight_pineappl.inc"
3872+ include "pineappl_common.inc"
3873+ logical pineappl
3874+ common /for_pineappl/ pineappl
3875 integer j
3876- if(iappl.ne.0)then
3877+ if(pineappl)then
3878 do j=1,nh_obs
3879 if(n.eq.ih_obs(j))then
3880 appl_obs_num = j
3881- call APPL_fill_ref_out
3882 call APPL_term
3883 endif
3884 enddo
3885
3886=== modified file 'Template/NLO/FixedOrderAnalysis/rbook_fe8.f'
3887--- Template/NLO/FixedOrderAnalysis/rbook_fe8.f 2014-06-30 10:49:23 +0000
3888+++ Template/NLO/FixedOrderAnalysis/rbook_fe8.f 2021-03-25 20:41:08 +0000
3889@@ -95,24 +95,24 @@
3890 integer id,nbin
3891 double precision xbin,xlo,xhi
3892
3893-c APPLgrid commons
3894- include "reweight_appl.inc"
3895- include "appl_common.inc"
3896- integer iappl
3897- common /for_applgrid/ iappl
3898+c PineAPPL commons
3899+ include "reweight_pineappl.inc"
3900+ include "pineappl_common.inc"
3901+ logical pineappl
3902+ common /for_pineappl/ pineappl
3903
3904 nbin = int((xhi-xlo)/(xbin*0.9999d0))
3905
3906-c Initialize the grids only if the switch "iappl" is different from zero
3907+c Initialize the grids only if the switch "pineappl" is different from zero
3908 c and if the title string containes the word "central" and does not contain
3909 c the word "Born".
3910- if(iappl.ne.0.and.index(name,"central").ne.0.and.
3911+ if(pineappl.and.index(name,"central").ne.0.and.
3912 1 index(name,"Born").eq.0)then
3913 c Observable parameters
3914 appl_obs_nbins = nbin
3915 appl_obs_min = xlo
3916 appl_obs_max = xhi
3917-c Initialize APPLgrid routines
3918+c Initialize PineAPPL routines
3919 call APPL_init
3920 c Keep track of the position of this histogram
3921 nh_obs = nh_obs + 1
3922@@ -150,21 +150,20 @@
3923 integer ihisto
3924 double precision xval,wgt
3925
3926-c APPLgrid commons
3927- include "reweight_appl.inc"
3928- include "appl_common.inc"
3929- integer iappl
3930- common /for_applgrid/ iappl
3931+c PineAPPL commons
3932+ include "reweight_pineappl.inc"
3933+ include "pineappl_common.inc"
3934+ logical pineappl
3935+ common /for_pineappl/ pineappl
3936 integer j
3937 c
3938- if(iappl.ne.0)then
3939+ if(pineappl)then
3940 do j=1,nh_obs
3941 if(ihisto.eq.ih_obs(j))then
3942 appl_obs_num = j
3943 appl_obs_histo = xval
3944-c Fill the reference APPLgrid histograms
3945- call APPL_fill_ref
3946-c Fill the APPLgrid files
3947+c Fill the reference PineAPPL histograms
3948+c Fill the PineAPPL files
3949 call APPL_fill
3950 endif
3951 enddo
3952@@ -198,17 +197,16 @@
3953 character*(*) oper
3954 double precision x,y
3955
3956-c APPLgrid commons
3957- include "reweight_appl.inc"
3958- include "appl_common.inc"
3959- integer iappl
3960- common /for_applgrid/ iappl
3961+c PineAPPL commons
3962+ include "reweight_pineappl.inc"
3963+ include "pineappl_common.inc"
3964+ logical pineappl
3965+ common /for_pineappl/ pineappl
3966 integer j
3967- if(iappl.ne.0)then
3968+ if(pineappl)then
3969 do j=1,nh_obs
3970 if(ih1.eq.ih_obs(j))then
3971 appl_obs_num = j
3972- call APPL_fill_ref_out
3973 call APPL_term
3974 endif
3975 enddo
3976
3977=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f'
3978--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f 2017-02-02 08:59:42 +0000
3979+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f 2021-03-25 20:41:08 +0000
3980@@ -27,6 +27,7 @@
3981 SUBROUTINE HWABEG
3982 C USER''S ROUTINE FOR INITIALIZATION
3983 C----------------------------------------------------------------------
3984+ use HwU_wgts_info_len
3985 INCLUDE 'HERWIG65.INC'
3986 include 'reweight0.inc'
3987 real * 8 xm0,gam,xmlow,xmupp,bin
3988@@ -49,7 +50,7 @@
3989 integer nwgt,max_weight,nwgt_analysis
3990 common/cnwgt/nwgt
3991 common/c_analysis/nwgt_analysis
3992- character*50 weights_info(max_weight_shower)
3993+ character*(wgts_info_len) weights_info(max_weight_shower)
3994 common/cwgtsinfo/weights_info
3995 c Initialize histograms
3996 call HwU_inithist(nwgt,weights_info)
3997
3998=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f'
3999--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f 2016-03-21 08:45:42 +0000
4000+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f 2021-03-25 20:41:08 +0000
4001@@ -27,6 +27,7 @@
4002 SUBROUTINE HWABEG
4003 C USER''S ROUTINE FOR INITIALIZATION
4004 C----------------------------------------------------------------------
4005+ use HwU_wgts_info_len
4006 INCLUDE 'HERWIG65.INC'
4007 include 'reweight0.inc'
4008 c
4009@@ -46,7 +47,7 @@
4010 integer nwgt,max_weight,nwgt_analysis,kk,l
4011 common/cnwgt/nwgt
4012 common/c_analysis/nwgt_analysis
4013- character*50 weights_info(max_weight_shower)
4014+ character*(wgts_info_len) weights_info(max_weight_shower)
4015 common/cwgtsinfo/weights_info
4016 c Initialize histograms
4017 call HwU_inithist(nwgt,weights_info)
4018
4019=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f'
4020--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f 2016-02-23 10:48:46 +0000
4021+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f 2021-03-25 20:41:08 +0000
4022@@ -27,6 +27,7 @@
4023 SUBROUTINE HWABEG
4024 C USER''S ROUTINE FOR INITIALIZATION
4025 C----------------------------------------------------------------------
4026+ use HwU_wgts_info_len
4027 INCLUDE 'HERWIG65.INC'
4028 include 'reweight0.inc'
4029 c
4030@@ -51,7 +52,7 @@
4031 common /to_veto_hist/vetomin,vetomax,nbinveto
4032 common/cnwgt/nwgt
4033 common/c_analysis/nwgt_analysis
4034- character*50 weights_info(max_weight_shower)
4035+ character*(wgts_info_len) weights_info(max_weight_shower)
4036 common/cwgtsinfo/weights_info
4037 c Initialize histograms
4038 call HwU_inithist(nwgt,weights_info)
4039
4040=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f'
4041--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f 2016-02-23 10:48:46 +0000
4042+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f 2021-03-25 20:41:08 +0000
4043@@ -27,6 +27,7 @@
4044 SUBROUTINE HWABEG
4045 C USER''S ROUTINE FOR INITIALIZATION
4046 C----------------------------------------------------------------------
4047+ use HwU_wgts_info_len
4048 INCLUDE 'HERWIG65.INC'
4049 include 'reweight0.inc'
4050 c
4051@@ -60,7 +61,7 @@
4052 integer nwgt,max_weight,nwgt_analysis
4053 common/cnwgt/nwgt
4054 common/c_analysis/nwgt_analysis
4055- character*50 weights_info(max_weight_shower)
4056+ character*(wgts_info_len) weights_info(max_weight_shower)
4057 common/cwgtsinfo/weights_info
4058 c Initialize histograms
4059 call HwU_inithist(nwgt,weights_info)
4060
4061=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f'
4062--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f 2016-02-23 10:48:46 +0000
4063+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f 2021-03-25 20:41:08 +0000
4064@@ -27,6 +27,7 @@
4065 SUBROUTINE HWABEG
4066 C USER''S ROUTINE FOR INITIALIZATION
4067 C----------------------------------------------------------------------
4068+ use HwU_wgts_info_len
4069 INCLUDE 'HERWIG65.INC'
4070 include 'reweight0.inc'
4071 real * 8 bin,xmi,xms,pi
4072@@ -48,7 +49,7 @@
4073 integer nwgt,max_weight,nwgt_analysis
4074 common/cnwgt/nwgt
4075 common/c_analysis/nwgt_analysis
4076- character*50 weights_info(max_weight_shower)
4077+ character*(wgts_info_len) weights_info(max_weight_shower)
4078 common/cwgtsinfo/weights_info
4079 c Initialize histograms
4080 call HwU_inithist(nwgt,weights_info)
4081
4082=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f'
4083--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f 2016-02-23 10:48:46 +0000
4084+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f 2021-03-25 20:41:08 +0000
4085@@ -27,6 +27,7 @@
4086 SUBROUTINE HWABEG
4087 C USER''S ROUTINE FOR INITIALIZATION
4088 C----------------------------------------------------------------------
4089+ use HwU_wgts_info_len
4090 INCLUDE 'HERWIG65.INC'
4091 include 'reweight0.inc'
4092 real * 8 bin,xmi,xms,pi
4093@@ -48,7 +49,7 @@
4094 integer nwgt,max_weight,nwgt_analysis
4095 common/cnwgt/nwgt
4096 common/c_analysis/nwgt_analysis
4097- character*50 weights_info(max_weight_shower)
4098+ character*(wgts_info_len) weights_info(max_weight_shower)
4099 common/cwgtsinfo/weights_info
4100 c Initialize histograms
4101 call HwU_inithist(nwgt,weights_info)
4102
4103=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f'
4104--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f 2016-02-23 10:48:46 +0000
4105+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f 2021-03-25 20:41:08 +0000
4106@@ -27,6 +27,7 @@
4107 SUBROUTINE HWABEG
4108 C USER''S ROUTINE FOR INITIALIZATION
4109 C----------------------------------------------------------------------
4110+ use HwU_wgts_info_len
4111 INCLUDE 'HERWIG65.INC'
4112 include 'reweight0.inc'
4113 c
4114@@ -46,7 +47,7 @@
4115 integer nwgt,max_weight,nwgt_analysis,kk,l
4116 common/cnwgt/nwgt
4117 common/c_analysis/nwgt_analysis
4118- character*50 weights_info(max_weight_shower)
4119+ character*(wgts_info_len) weights_info(max_weight_shower)
4120 common/cwgtsinfo/weights_info
4121 c Initialize histograms
4122 call HwU_inithist(nwgt,weights_info)
4123
4124=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f'
4125--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f 2016-02-23 10:48:46 +0000
4126+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f 2021-03-25 20:41:08 +0000
4127@@ -27,6 +27,7 @@
4128 SUBROUTINE HWABEG
4129 C USER''S ROUTINE FOR INITIALIZATION
4130 C----------------------------------------------------------------------
4131+ use HwU_wgts_info_len
4132 INCLUDE 'HERWIG65.INC'
4133 include 'reweight0.inc'
4134 REAL*8 pi
4135@@ -46,7 +47,7 @@
4136 integer nwgt,max_weight,nwgt_analysis
4137 common/cnwgt/nwgt
4138 common/c_analysis/nwgt_analysis
4139- character*50 weights_info(max_weight_shower)
4140+ character*(wgts_info_len) weights_info(max_weight_shower)
4141 common/cwgtsinfo/weights_info
4142 c Initialize histograms
4143 call HwU_inithist(nwgt,weights_info)
4144
4145=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f'
4146--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f 2016-02-23 10:48:46 +0000
4147+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f 2021-03-25 20:41:08 +0000
4148@@ -27,6 +27,7 @@
4149 SUBROUTINE HWABEG
4150 C USER''S ROUTINE FOR INITIALIZATION
4151 C----------------------------------------------------------------------
4152+ use HwU_wgts_info_len
4153 INCLUDE 'HERWIG65.INC'
4154 include 'reweight0.inc'
4155 REAL*8 pi
4156@@ -46,7 +47,7 @@
4157 integer nwgt,max_weight,nwgt_analysis
4158 common/cnwgt/nwgt
4159 common/c_analysis/nwgt_analysis
4160- character*50 weights_info(max_weight_shower)
4161+ character*(wgts_info_len) weights_info(max_weight_shower)
4162 common/cwgtsinfo/weights_info
4163 c Initialize histograms
4164 call HwU_inithist(nwgt,weights_info)
4165
4166=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f'
4167--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f 2016-02-23 10:48:46 +0000
4168+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f 2021-03-25 20:41:08 +0000
4169@@ -27,6 +27,7 @@
4170 SUBROUTINE HWABEG
4171 C USER''S ROUTINE FOR INITIALIZATION
4172 C----------------------------------------------------------------------
4173+ use HwU_wgts_info_len
4174 INCLUDE 'HERWIG65.INC'
4175 include 'reweight0.inc'
4176 REAL*8 pi
4177@@ -46,7 +47,7 @@
4178 integer nwgt,max_weight,nwgt_analysis
4179 common/cnwgt/nwgt
4180 common/c_analysis/nwgt_analysis
4181- character*50 weights_info(max_weight_shower)
4182+ character*(wgts_info_len) weights_info(max_weight_shower)
4183 common/cwgtsinfo/weights_info
4184 c Initialize histograms
4185 call HwU_inithist(nwgt,weights_info)
4186
4187=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f'
4188--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f 2016-02-23 10:48:46 +0000
4189+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f 2021-03-25 20:41:08 +0000
4190@@ -23,6 +23,7 @@
4191 SUBROUTINE HWABEG
4192 C USER''S ROUTINE FOR INITIALIZATION
4193 C----------------------------------------------------------------------
4194+ use HwU_wgts_info_len
4195 INCLUDE 'HERWIG65.INC'
4196 include 'reweight0.inc'
4197 c
4198@@ -42,7 +43,7 @@
4199 integer nwgt,max_weight,nwgt_analysis
4200 common/cnwgt/nwgt
4201 common/c_analysis/nwgt_analysis
4202- character*50 weights_info(max_weight_shower)
4203+ character*(wgts_info_len) weights_info(max_weight_shower)
4204 common/cwgtsinfo/weights_info
4205 c Initialize histograms
4206 call HwU_inithist(nwgt,weights_info)
4207
4208=== modified file 'Template/NLO/MCatNLO/Makefile_MadFKS'
4209--- Template/NLO/MCatNLO/Makefile_MadFKS 2018-07-06 13:15:54 +0000
4210+++ Template/NLO/MCatNLO/Makefile_MadFKS 2021-03-25 20:41:08 +0000
4211@@ -43,10 +43,10 @@
4212 PDFFILES=$(OBJDIR)/mcatnlo_pdftomlm.o $(OBJDIR)/mcatnlo_libofpdf.o $(OBJDIR)/dummies.o
4213 CPDFFILES=$(OBJDIR)/mcatnlo_mlmtopdf.o $(OBJDIR)/dummies.o
4214 LPDFFILES=$(OBJDIR)/mcatnlo_mlmtolha.o $(OBJDIR)/dummies.o
4215-HWFILES=$(OBJDIR)/$(HERWIGVER) $(OBJDIR)/madfks_hwdriver.o $(OBJDIR)/madfks_hwlhin.o \
4216- $(OBJDIR)/mcatnlo_str.o $(HWUTI)
4217-PYFILES=$(OBJDIR)/$(PYTHIAVER) $(OBJDIR)/madfks_pydriver.o $(OBJDIR)/madfks_pylhin.o \
4218- $(OBJDIR)/mcatnlo_str.o $(PYUTI)
4219+HWFILES=$(HWUTI) $(OBJDIR)/$(HERWIGVER) $(OBJDIR)/madfks_hwdriver.o $(OBJDIR)/madfks_hwlhin.o \
4220+ $(OBJDIR)/mcatnlo_str.o
4221+PYFILES=$(PYUTI) $(OBJDIR)/$(PYTHIAVER) $(OBJDIR)/madfks_pydriver.o $(OBJDIR)/madfks_pylhin.o \
4222+ $(OBJDIR)/mcatnlo_str.o
4223
4224
4225 HW_EXE_DEFAULT : $(HWFILES) $(PDFFILES)
4226
4227=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f'
4228--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f 2016-02-23 10:48:46 +0000
4229+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f 2021-03-25 20:41:08 +0000
4230@@ -27,6 +27,7 @@
4231 SUBROUTINE PYABEG(nnn,wwwi)
4232 C USER''S ROUTINE FOR INITIALIZATION
4233 C----------------------------------------------------------------------
4234+ use HwU_wgts_info_len
4235 INCLUDE 'HEPMC.INC'
4236 include 'reweight0.inc'
4237 real * 8 xm0,gam,xmlow,xmupp,bin
4238@@ -48,7 +49,7 @@
4239 data cc/' ','Born '/
4240 integer nwgt_analysis
4241 common/c_analysis/nwgt_analysis
4242- character*50 weights_info(max_weight_shower)
4243+ character*(wgts_info_len) weights_info(max_weight_shower)
4244 $ ,wwwi(max_weight_shower)
4245 c
4246 do i=1,nnn
4247
4248=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f'
4249--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f 2016-07-21 14:37:54 +0000
4250+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f 2021-03-25 20:41:08 +0000
4251@@ -27,6 +27,7 @@
4252 SUBROUTINE PYABEG(nnn,wwwi)
4253 C USER''S ROUTINE FOR INITIALIZATION
4254 C----------------------------------------------------------------------
4255+ use HwU_wgts_info_len
4256 INCLUDE 'HEPMC.INC'
4257 include 'reweight0.inc'
4258 REAL*8 pi
4259@@ -45,7 +46,7 @@
4260 data HwUtype/'|T@NOCUT','|T@CUT '/
4261 integer nwgt_analysis
4262 common/c_analysis/nwgt_analysis
4263- character*50 weights_info(max_weight_shower)
4264+ character*(wgts_info_len) weights_info(max_weight_shower)
4265 $ ,wwwi(max_weight_shower)
4266 c
4267 do i=1,nnn
4268
4269=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f'
4270--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f 2016-02-23 10:48:46 +0000
4271+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f 2021-03-25 20:41:08 +0000
4272@@ -27,6 +27,7 @@
4273 SUBROUTINE PYABEG(nnn,wwwi)
4274 C USER''S ROUTINE FOR INITIALIZATION
4275 C----------------------------------------------------------------------
4276+ use HwU_wgts_info_len
4277 INCLUDE 'HEPMC.INC'
4278 include 'reweight0.inc'
4279 REAL*8 pi
4280@@ -45,7 +46,7 @@
4281 data HwUtype/'|T@NOCUT','|T@CUT '/
4282 integer nwgt_analysis
4283 common/c_analysis/nwgt_analysis
4284- character*50 weights_info(max_weight_shower)
4285+ character*(wgts_info_len) weights_info(max_weight_shower)
4286 $ ,wwwi(max_weight_shower)
4287 character*8 cc(2)
4288 data cc/' ','vbfcuts '/
4289
4290=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f'
4291--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f 2016-02-23 10:48:46 +0000
4292+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f 2021-03-25 20:41:08 +0000
4293@@ -27,6 +27,7 @@
4294 SUBROUTINE PYABEG(nnn,wwwi)
4295 C USER''S ROUTINE FOR INITIALIZATION
4296 C----------------------------------------------------------------------
4297+ use HwU_wgts_info_len
4298 INCLUDE 'HEPMC.INC'
4299 include 'reweight0.inc'
4300 c
4301@@ -43,7 +44,7 @@
4302 integer j,jpr
4303 integer nwgt_analysis
4304 common/c_analysis/nwgt_analysis
4305- character*50 weights_info(max_weight_shower)
4306+ character*(wgts_info_len) weights_info(max_weight_shower)
4307 $ ,wwwi(max_weight_shower)
4308 integer nsingle,ncorr,nlepton,nplots,ncuts
4309 common/cplots/nsingle,ncorr,nlepton,nplots,ncuts
4310
4311=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f'
4312--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f 2016-02-23 10:48:46 +0000
4313+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f 2021-03-25 20:41:08 +0000
4314@@ -27,6 +27,7 @@
4315 SUBROUTINE PYABEG(nnn,wwwi)
4316 C USER''S ROUTINE FOR INITIALIZATION
4317 C----------------------------------------------------------------------
4318+ use HwU_wgts_info_len
4319 INCLUDE 'HEPMC.INC'
4320 include 'reweight0.inc'
4321 real * 8 bin,xmi,xms,pi
4322@@ -47,7 +48,7 @@
4323 data cc/' ','Born '/
4324 integer nwgt_analysis
4325 common/c_analysis/nwgt_analysis
4326- character*50 weights_info(max_weight_shower)
4327+ character*(wgts_info_len) weights_info(max_weight_shower)
4328 $ ,wwwi(max_weight_shower)
4329 c
4330 do i=1,nnn
4331
4332=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f'
4333--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f 2016-12-07 21:05:19 +0000
4334+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f 2021-03-25 20:41:08 +0000
4335@@ -27,6 +27,7 @@
4336 SUBROUTINE PYABEG(nnn,wwwi)
4337 C USER''S ROUTINE FOR INITIALIZATION
4338 C----------------------------------------------------------------------
4339+ use HwU_wgts_info_len
4340 INCLUDE 'HEPMC.INC'
4341 include 'reweight0.inc'
4342 real * 8 bin,xmi,xms,pi
4343@@ -47,7 +48,7 @@
4344 data cc/' ','Born '/
4345 integer nwgt_analysis
4346 common/c_analysis/nwgt_analysis
4347- character*50 weights_info(max_weight_shower)
4348+ character*(wgts_info_len) weights_info(max_weight_shower)
4349 $ ,wwwi(max_weight_shower)
4350 c
4351 do i=1,nnn
4352
4353=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f'
4354--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f 2016-02-23 10:48:46 +0000
4355+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f 2021-03-25 20:41:08 +0000
4356@@ -27,6 +27,7 @@
4357 SUBROUTINE PYABEG(nnn,wwwi)
4358 C USER''S ROUTINE FOR INITIALIZATION
4359 C----------------------------------------------------------------------
4360+ use HwU_wgts_info_len
4361 INCLUDE 'HEPMC.INC'
4362 include 'reweight0.inc'
4363 integer j,kk,l,i,nnn
4364@@ -43,7 +44,7 @@
4365 data HwUtype/'|T@NOCUT','|T@CUT '/
4366 integer nwgt_analysis
4367 common/c_analysis/nwgt_analysis
4368- character*50 weights_info(max_weight_shower)
4369+ character*(wgts_info_len) weights_info(max_weight_shower)
4370 $ ,wwwi(max_weight_shower)
4371 c
4372 do i=1,nnn
4373
4374=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f'
4375--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f 2016-02-23 10:48:46 +0000
4376+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f 2021-03-25 20:41:08 +0000
4377@@ -27,6 +27,7 @@
4378 SUBROUTINE PYABEG(nnn,wwwi)
4379 C USER''S ROUTINE FOR INITIALIZATION
4380 C----------------------------------------------------------------------
4381+ use HwU_wgts_info_len
4382 INCLUDE 'HEPMC.INC'
4383 include 'reweight0.inc'
4384 REAL*8 pi
4385@@ -45,7 +46,7 @@
4386 data HwUtype/'|T@NOCUT','|T@CUT '/
4387 integer nwgt_analysis
4388 common/c_analysis/nwgt_analysis
4389- character*50 weights_info(max_weight_shower)
4390+ character*(wgts_info_len) weights_info(max_weight_shower)
4391 $ ,wwwi(max_weight_shower)
4392 c
4393 do i=1,nnn
4394
4395=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f'
4396--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f 2016-02-23 10:48:46 +0000
4397+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f 2021-03-25 20:41:08 +0000
4398@@ -27,6 +27,7 @@
4399 SUBROUTINE PYABEG(nnn,wwwi)
4400 C USER''S ROUTINE FOR INITIALIZATION
4401 C----------------------------------------------------------------------
4402+ use HwU_wgts_info_len
4403 INCLUDE 'HEPMC.INC'
4404 include 'reweight0.inc'
4405 REAL*8 pi
4406@@ -45,7 +46,7 @@
4407 data HwUtype/'|T@NOCUT','|T@CUT '/
4408 integer nwgt_analysis
4409 common/c_analysis/nwgt_analysis
4410- character*50 weights_info(max_weight_shower)
4411+ character*(wgts_info_len) weights_info(max_weight_shower)
4412 $ ,wwwi(max_weight_shower)
4413 c
4414 do i=1,nnn
4415
4416=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f'
4417--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f 2016-02-23 10:48:46 +0000
4418+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f 2021-03-25 20:41:08 +0000
4419@@ -27,6 +27,7 @@
4420 SUBROUTINE PYABEG(nnn,wwwi)
4421 C USER''S ROUTINE FOR INITIALIZATION
4422 C----------------------------------------------------------------------
4423+ use HwU_wgts_info_len
4424 INCLUDE 'HEPMC.INC'
4425 include 'reweight0.inc'
4426 REAL*8 pi
4427@@ -45,7 +46,7 @@
4428 data HwUtype/'|T@NOCUT','|T@CUT '/
4429 integer nwgt_analysis
4430 common/c_analysis/nwgt_analysis
4431- character*50 weights_info(max_weight_shower)
4432+ character*(wgts_info_len) weights_info(max_weight_shower)
4433 $ ,wwwi(max_weight_shower)
4434 c
4435 do i=1,nnn
4436
4437=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f'
4438--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f 2016-02-23 10:48:46 +0000
4439+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f 2021-03-25 20:41:08 +0000
4440@@ -23,6 +23,7 @@
4441 SUBROUTINE PYABEG(nnn,wwwi)
4442 C USER''S ROUTINE FOR INITIALIZATION
4443 C----------------------------------------------------------------------
4444+ use HwU_wgts_info_len
4445 INCLUDE 'HEPMC.INC'
4446 include 'reweight0.inc'
4447 c
4448@@ -41,7 +42,7 @@
4449 data cc/' ','Born '/
4450 integer nwgt_analysis
4451 common/c_analysis/nwgt_analysis
4452- character*50 weights_info(max_weight_shower)
4453+ character*(wgts_info_len) weights_info(max_weight_shower)
4454 $ ,wwwi(max_weight_shower)
4455 c
4456 do i=1,nnn
4457
4458=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f'
4459--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f 2016-02-23 10:48:46 +0000
4460+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f 2021-03-25 20:41:08 +0000
4461@@ -27,6 +27,7 @@
4462 SUBROUTINE PYABEG
4463 C USER''S ROUTINE FOR INITIALIZATION
4464 C----------------------------------------------------------------------
4465+ use HwU_wgts_info_len
4466 implicit double precision(a-h, o-z)
4467 implicit integer(i-n)
4468 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
4469@@ -51,7 +52,7 @@
4470 integer nwgt,max_weight,nwgt_analysis
4471 common/cnwgt/nwgt
4472 common/c_analysis/nwgt_analysis
4473- character*50 weights_info(max_weight_shower)
4474+ character*(wgts_info_len) weights_info(max_weight_shower)
4475 common/cwgtsinfo/weights_info
4476 c Initialize histograms
4477 call HwU_inithist(nwgt,weights_info)
4478
4479=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f'
4480--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f 2016-02-23 10:48:46 +0000
4481+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f 2021-03-25 20:41:08 +0000
4482@@ -28,6 +28,7 @@
4483 SUBROUTINE PYABEG
4484 C USER''S ROUTINE FOR INITIALIZATION
4485 C----------------------------------------------------------------------
4486+ use HwU_wgts_info_len
4487 implicit none
4488 include 'reweight0.inc'
4489 REAL*8 pi
4490@@ -48,7 +49,7 @@
4491 integer nwgt,max_weight,nwgt_analysis
4492 common/cnwgt/nwgt
4493 common/c_analysis/nwgt_analysis
4494- character*50 weights_info(max_weight_shower)
4495+ character*(wgts_info_len) weights_info(max_weight_shower)
4496 common/cwgtsinfo/weights_info
4497 c
4498 c Initialize histograms
4499
4500=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f'
4501--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f 2016-02-23 10:48:46 +0000
4502+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f 2021-03-25 20:41:08 +0000
4503@@ -28,6 +28,7 @@
4504 SUBROUTINE PYABEG
4505 C USER''S ROUTINE FOR INITIALIZATION
4506 C----------------------------------------------------------------------
4507+ use HwU_wgts_info_len
4508 implicit none
4509 include 'reweight0.inc'
4510 c
4511@@ -52,7 +53,7 @@
4512 common /to_veto_hist/vetomin,vetomax,nbinveto
4513 common/cnwgt/nwgt
4514 common/c_analysis/nwgt_analysis
4515- character*50 weights_info(max_weight_shower)
4516+ character*(wgts_info_len) weights_info(max_weight_shower)
4517 common/cwgtsinfo/weights_info
4518 c
4519 c Initialize histograms
4520
4521=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f'
4522--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f 2016-02-23 10:48:46 +0000
4523+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f 2021-03-25 20:41:08 +0000
4524@@ -27,6 +27,7 @@
4525 SUBROUTINE PYABEG
4526 C USER''S ROUTINE FOR INITIALIZATION
4527 C----------------------------------------------------------------------
4528+ use HwU_wgts_info_len
4529 implicit none
4530 include 'reweight0.inc'
4531 c
4532@@ -59,7 +60,7 @@
4533 integer nwgt,max_weight,nwgt_analysis
4534 common/cnwgt/nwgt
4535 common/c_analysis/nwgt_analysis
4536- character*50 weights_info(max_weight_shower)
4537+ character*(wgts_info_len) weights_info(max_weight_shower)
4538 common/cwgtsinfo/weights_info
4539 c Initialize histograms
4540 call HwU_inithist(nwgt,weights_info)
4541
4542=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f'
4543--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f 2016-02-23 10:48:46 +0000
4544+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f 2021-03-25 20:41:08 +0000
4545@@ -27,6 +27,7 @@
4546 SUBROUTINE PYABEG
4547 C USER''S ROUTINE FOR INITIALIZATION
4548 C----------------------------------------------------------------------
4549+ use HwU_wgts_info_len
4550 implicit none
4551 include 'reweight0.inc'
4552 real * 8 bin,xmi,xms,pi
4553@@ -48,7 +49,7 @@
4554 integer nwgt,max_weight,nwgt_analysis
4555 common/cnwgt/nwgt
4556 common/c_analysis/nwgt_analysis
4557- character*50 weights_info(max_weight_shower)
4558+ character*(wgts_info_len) weights_info(max_weight_shower)
4559 common/cwgtsinfo/weights_info
4560 c Initialize histograms
4561 call HwU_inithist(nwgt,weights_info)
4562
4563=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f'
4564--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f 2016-02-23 10:48:46 +0000
4565+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f 2021-03-25 20:41:08 +0000
4566@@ -27,6 +27,7 @@
4567 SUBROUTINE PYABEG
4568 C USER''S ROUTINE FOR INITIALIZATION
4569 C----------------------------------------------------------------------
4570+ use HwU_wgts_info_len
4571 implicit double precision(a-h, o-z)
4572 implicit integer(i-n)
4573 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
4574@@ -50,7 +51,7 @@
4575 integer nwgt,max_weight,nwgt_analysis
4576 common/cnwgt/nwgt
4577 common/c_analysis/nwgt_analysis
4578- character*50 weights_info(max_weight_shower)
4579+ character*(wgts_info_len) weights_info(max_weight_shower)
4580 common/cwgtsinfo/weights_info
4581 c Initialize histograms
4582 call HwU_inithist(nwgt,weights_info)
4583
4584=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f'
4585--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f 2016-02-23 10:48:46 +0000
4586+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f 2021-03-25 20:41:08 +0000
4587@@ -28,6 +28,7 @@
4588 SUBROUTINE PYABEG
4589 C USER''S ROUTINE FOR INITIALIZATION
4590 C----------------------------------------------------------------------
4591+ use HwU_wgts_info_len
4592 implicit none
4593 include 'reweight0.inc'
4594 integer j,kk,l,i
4595@@ -46,7 +47,7 @@
4596 integer nwgt,max_weight,nwgt_analysis
4597 common/cnwgt/nwgt
4598 common/c_analysis/nwgt_analysis
4599- character*50 weights_info(max_weight_shower)
4600+ character*(wgts_info_len) weights_info(max_weight_shower)
4601 common/cwgtsinfo/weights_info
4602 c
4603 c Initialize histograms
4604
4605=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f'
4606--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f 2016-02-23 10:48:46 +0000
4607+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f 2021-03-25 20:41:08 +0000
4608@@ -28,6 +28,7 @@
4609 SUBROUTINE PYABEG
4610 C USER''S ROUTINE FOR INITIALIZATION
4611 C----------------------------------------------------------------------
4612+ use HwU_wgts_info_len
4613 implicit none
4614 include 'reweight0.inc'
4615 REAL*8 pi
4616@@ -48,7 +49,7 @@
4617 integer nwgt,max_weight,nwgt_analysis
4618 common/cnwgt/nwgt
4619 common/c_analysis/nwgt_analysis
4620- character*50 weights_info(max_weight_shower)
4621+ character*(wgts_info_len) weights_info(max_weight_shower)
4622 common/cwgtsinfo/weights_info
4623 c
4624 c Initialize histograms
4625
4626=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f'
4627--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f 2016-02-23 10:48:46 +0000
4628+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f 2021-03-25 20:41:08 +0000
4629@@ -28,6 +28,7 @@
4630 SUBROUTINE PYABEG
4631 C USER''S ROUTINE FOR INITIALIZATION
4632 C----------------------------------------------------------------------
4633+ use HwU_wgts_info_len
4634 implicit none
4635 include 'reweight0.inc'
4636 REAL*8 pi
4637@@ -48,7 +49,7 @@
4638 integer nwgt,max_weight,nwgt_analysis
4639 common/cnwgt/nwgt
4640 common/c_analysis/nwgt_analysis
4641- character*50 weights_info(max_weight_shower)
4642+ character*(wgts_info_len) weights_info(max_weight_shower)
4643 common/cwgtsinfo/weights_info
4644 c
4645 c Initialize histograms
4646
4647=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f'
4648--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f 2016-02-23 10:48:46 +0000
4649+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f 2021-03-25 20:41:08 +0000
4650@@ -28,6 +28,7 @@
4651 SUBROUTINE PYABEG
4652 C USER''S ROUTINE FOR INITIALIZATION
4653 C----------------------------------------------------------------------
4654+ use HwU_wgts_info_len
4655 implicit none
4656 include 'reweight0.inc'
4657 REAL*8 pi
4658@@ -48,7 +49,7 @@
4659 integer nwgt,max_weight,nwgt_analysis
4660 common/cnwgt/nwgt
4661 common/c_analysis/nwgt_analysis
4662- character*50 weights_info(max_weight_shower)
4663+ character*(wgts_info_len) weights_info(max_weight_shower)
4664 common/cwgtsinfo/weights_info
4665 c
4666 c Initialize histograms
4667
4668=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f'
4669--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f 2016-02-23 10:48:46 +0000
4670+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f 2021-03-25 20:41:08 +0000
4671@@ -23,6 +23,7 @@
4672 SUBROUTINE PYABEG
4673 C USER''S ROUTINE FOR INITIALIZATION
4674 C----------------------------------------------------------------------
4675+ use HwU_wgts_info_len
4676 implicit none
4677 include 'reweight0.inc'
4678 c
4679@@ -42,7 +43,7 @@
4680 integer nwgt,max_weight,nwgt_analysis
4681 common/cnwgt/nwgt
4682 common/c_analysis/nwgt_analysis
4683- character*50 weights_info(max_weight_shower)
4684+ character*(wgts_info_len) weights_info(max_weight_shower)
4685 common/cwgtsinfo/weights_info
4686 c Initialize histograms
4687 call HwU_inithist(nwgt,weights_info)
4688
4689=== modified file 'Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIG6.Script'
4690--- Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIG6.Script 2014-11-10 09:33:16 +0000
4691+++ Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_HERWIG6.Script 2021-03-25 20:41:08 +0000
4692@@ -141,7 +141,7 @@
4693 EXEC_NAME=
4694 EXEC_NAMEF=
4695 EXEC_NAMEFF=
4696-HWUTI+=' jimmy.o'
4697+HWUTI+=' pineappl_interface_dummy.o jimmy.o HwU.o'
4698 read -a HWUTIA <<< "$HWUTI"
4699 HWUTI=
4700 for i in "${HWUTIA[@]}"; do HWUTI+=`pwd`"/objects/$i "; done
4701
4702=== modified file 'Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6PT.Script'
4703--- Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6PT.Script 2014-11-10 09:33:16 +0000
4704+++ Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6PT.Script 2021-03-25 20:41:08 +0000
4705@@ -141,6 +141,7 @@
4706 EXEC_NAME=
4707 EXEC_NAMEF=
4708 EXEC_NAMEFF=
4709+PYUTI+=' pineappl_interface_dummy.o HwU.o'
4710 read -a PYUTIA <<< "$PYUTI"
4711 PYUTI=
4712 for i in "${PYUTIA[@]}"; do PYUTI+=`pwd`"/objects/$i "; done
4713
4714=== modified file 'Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6Q.Script'
4715--- Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6Q.Script 2014-11-10 09:33:16 +0000
4716+++ Template/NLO/MCatNLO/Scripts/MCatNLO_MadFKS_PYTHIA6Q.Script 2021-03-25 20:41:08 +0000
4717@@ -141,6 +141,7 @@
4718 EXEC_NAME=
4719 EXEC_NAMEF=
4720 EXEC_NAMEFF=
4721+PYUTI+=' pineappl_interface_dummy.o HwU.o'
4722 read -a PYUTIA <<< "$PYUTI"
4723 PYUTI=
4724 for i in "${PYUTIA[@]}"; do PYUTI+=`pwd`"/objects/$i "; done
4725
4726=== modified file 'Template/NLO/MCatNLO/include/LHEFRead.h'
4727--- Template/NLO/MCatNLO/include/LHEFRead.h 2016-02-23 11:25:37 +0000
4728+++ Template/NLO/MCatNLO/include/LHEFRead.h 2021-03-25 20:41:08 +0000
4729@@ -2,6 +2,13 @@
4730 #include <iomanip>
4731 #include <string>
4732
4733+
4734+extern "C" {
4735+ int get_wgts_info_len(void);
4736+}
4737+
4738+const int wgts_info_len_used = 80;
4739+
4740 class MyReader {
4741
4742 private:
4743@@ -16,12 +23,22 @@
4744 LHEF::Reader reader;
4745
4746
4747- void lhef_read_wgtsinfo_(int &cwgtinfo_nn, char (cwgtinfo_weights_info[1024][50])) {
4748+ void lhef_read_wgtsinfo_(int &cwgtinfo_nn, char (cwgtinfo_weights_info[1024][wgts_info_len_used])) {
4749+
4750+ // check that wgts_info_len_used > wgts_info_len from the fortran module
4751+ if (wgts_info_len_used != get_wgts_info_len()) {
4752+ std::cout << " wgts_info_len_used is different from the corresponding quantity in HwU_wgts_info_len\n"
4753+ << " Please set wgts_info_len_used in LHEFRead.h to "<< get_wgts_info_len() <<"\n"
4754+ << " Program stopped.\n";
4755+ exit(1);
4756+ }
4757
4758 // Read header of event file
4759 std::stringstream hss;
4760 std::string hs;
4761- sprintf(cwgtinfo_weights_info[0], "%50s","central value");
4762+ std::stringstream format_str;
4763+ format_str <<"%"<<wgts_info_len_used<<"s";
4764+ sprintf(cwgtinfo_weights_info[0],format_str.str().c_str(),"central value");
4765 cwgtinfo_nn=1;
4766 while (true){
4767 hss << reader.headerBlock;
4768@@ -37,7 +54,7 @@
4769 if (hs.find("<weight id") != std::string::npos) {
4770 std::string sRWGT = hs.substr(hs.find("'>")+2,hs.find("</w")-3);
4771 sRWGT = sRWGT.substr(0,sRWGT.find("<"));
4772- sprintf(cwgtinfo_weights_info[cwgtinfo_nn],"%50s",sRWGT.c_str());
4773+ sprintf(cwgtinfo_weights_info[cwgtinfo_nn],format_str.str().c_str(),sRWGT.c_str());
4774 ++cwgtinfo_nn;
4775 }
4776 }
4777
4778=== added file 'Template/NLO/MCatNLO/include/orders.inc'
4779--- Template/NLO/MCatNLO/include/orders.inc 1970-01-01 00:00:00 +0000
4780+++ Template/NLO/MCatNLO/include/orders.inc 2021-03-25 20:41:08 +0000
4781@@ -0,0 +1,5 @@
4782+C WARNING: this is a dummy file to make the code for showering compile
4783+C DO NOT USE ELSEWHERE
4784+ integer amp_split_size
4785+ parameter (amp_split_size = 2)
4786+C =================================================================
4787
4788=== added symlink 'Template/NLO/MCatNLO/include/pineappl_common.inc'
4789=== target is '../../SubProcesses/pineappl_common.inc'
4790=== added symlink 'Template/NLO/MCatNLO/include/pineappl_maxproc.inc'
4791=== target is '../../SubProcesses/pineappl_maxproc.inc'
4792=== added symlink 'Template/NLO/MCatNLO/include/reweight_pineappl.inc'
4793=== target is '../../SubProcesses/reweight_pineappl.inc'
4794=== added symlink 'Template/NLO/MCatNLO/srcCommon/pineappl_interface_dummy.f'
4795=== target is '../../SubProcesses/pineappl_interface_dummy.f'
4796=== modified file 'Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f'
4797--- Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f 2017-06-19 14:46:09 +0000
4798+++ Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f 2021-03-25 20:41:08 +0000
4799@@ -125,6 +125,7 @@
4800 C Reads MC@NLO input headers and fills Les Houches run common HEPRUP
4801 C Event file is written by MadFKS
4802 C----------------------------------------------------------------------
4803+ use HwU_wgts_info_len
4804 INCLUDE 'HERWIG65.INC'
4805 C--Les Houches Common Blocks
4806 INTEGER MAXPUP
4807@@ -150,7 +151,7 @@
4808 include 'reweight0.inc'
4809 integer nwgt
4810 common/cnwgt/nwgt
4811- character*50 weights_info(max_weight_shower)
4812+ character*(wgts_info_len) weights_info(max_weight_shower)
4813 common/cwgtsinfo/weights_info
4814
4815 nwgt=1
4816
4817=== modified file 'Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f'
4818--- Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f 2017-06-19 14:46:09 +0000
4819+++ Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f 2021-03-25 20:41:08 +0000
4820@@ -124,6 +124,7 @@
4821 C Reads MC@NLO input headers and fills Les Houches run common HEPRUP
4822 C Event file is written by MadFKS
4823 C----------------------------------------------------------------------
4824+ use HwU_wgts_info_len
4825 C--Les Houches Common Blocks
4826 INTEGER MAXPUP
4827 PARAMETER(MAXPUP=100)
4828@@ -149,7 +150,7 @@
4829 include 'reweight0.inc'
4830 integer nwgt
4831 common/cnwgt/nwgt
4832- character*50 weights_info(max_weight_shower)
4833+ character*(wgts_info_len) weights_info(max_weight_shower)
4834 common/cwgtsinfo/weights_info
4835 C
4836 numscales=0
4837
4838=== modified file 'Template/NLO/MCatNLO/srcPythia8/Pythia8.cc'
4839--- Template/NLO/MCatNLO/srcPythia8/Pythia8.cc 2017-07-25 14:13:14 +0000
4840+++ Template/NLO/MCatNLO/srcPythia8/Pythia8.cc 2021-03-25 20:41:08 +0000
4841@@ -21,7 +21,7 @@
4842 #define cevwgt cevwgt_
4843
4844 extern "C" {
4845- void pyabeg_(int&,char(*)[50]);
4846+ void pyabeg_(int&,char(*)[wgts_info_len_used]);
4847 void pyaend_(double&);
4848 void pyanal_(int&,double(*));
4849 }
4850@@ -30,7 +30,7 @@
4851 Pythia pythia;
4852
4853 int cwgtinfo_nn;
4854- char cwgtinfo_weights_info[1024][50];
4855+ char cwgtinfo_weights_info[1024][wgts_info_len_used];
4856 double cwgt_ww[1024];
4857
4858 string inputname="Pythia8.cmd",outputname="Pythia8.hep";
4859
4860=== modified file 'Template/NLO/MCatNLO/srcPythia8/Pythia82.cc'
4861--- Template/NLO/MCatNLO/srcPythia8/Pythia82.cc 2018-05-01 13:46:54 +0000
4862+++ Template/NLO/MCatNLO/srcPythia8/Pythia82.cc 2021-03-25 20:41:08 +0000
4863@@ -22,7 +22,7 @@
4864 #define cevwgt cevwgt_
4865
4866 extern "C" {
4867- void pyabeg_(int&,char(*)[50]);
4868+ void pyabeg_(int&,char(*)[wgts_info_len_used]);
4869 void pyaend_(double&);
4870 void pyanal_(int&,double(*));
4871 }
4872@@ -31,7 +31,7 @@
4873 Pythia pythia;
4874
4875 int cwgtinfo_nn;
4876- char cwgtinfo_weights_info[1024][50];
4877+ char cwgtinfo_weights_info[1024][wgts_info_len_used];
4878 double cwgt_ww[1024];
4879
4880 string inputname="Pythia8.cmd",outputname="Pythia8.hep";
4881
4882=== modified file 'Template/NLO/Source/PDF/makefile'
4883--- Template/NLO/Source/PDF/makefile 2018-04-16 14:08:47 +0000
4884+++ Template/NLO/Source/PDF/makefile 2021-03-25 20:41:08 +0000
4885@@ -13,16 +13,12 @@
4886 ifdef lhapdf
4887 ifeq ($(lhapdfversion),5)
4888 PDF = pdfwrap_lhapdf.o pdf_lhapdf.o pdg2pdf_lhapdf.o opendata.o
4889- else
4890- ifdef applgrid
4891- PDF = pdfwrap_lhapdf.o pdf_lhapdf.o pdg2pdf_lhapdf.o opendata.o
4892- else # lhapdf6
4893- ifeq ($(lhapdfsubversion),1) # 6.1.X
4894- PDF = pdfwrap_lhapdf.o pdf_lhapdf6.o pdg2pdf_lhapdf6.o opendata.o
4895- else # 6.2.X
4896- CXXFLAGS+=-std=c++11
4897- PDF = pdfwrap_lhapdf.o pdf_lhapdf62.o pdg2pdf_lhapdf6.o opendata.o
4898- endif
4899+ else # lhapdf v6
4900+ ifeq ($(lhapdfsubversion),1) # 6.1.X
4901+ PDF = pdfwrap_lhapdf.o pdf_lhapdf6.o pdg2pdf_lhapdf6.o opendata.o
4902+ else # 6.2.X
4903+ CXXFLAGS+=-std=c++11
4904+ PDF = pdfwrap_lhapdf.o pdf_lhapdf62.o pdg2pdf_lhapdf6.o opendata.o
4905 endif
4906 endif
4907 else
4908
4909=== modified file 'Template/NLO/Source/extra_weights.f'
4910--- Template/NLO/Source/extra_weights.f 2017-07-31 08:48:20 +0000
4911+++ Template/NLO/Source/extra_weights.f 2021-03-25 20:41:08 +0000
4912@@ -1,18 +1,18 @@
4913 module extra_weights
4914
4915 integer,parameter :: iwgtinfo=-5,maxscales=9,maxPDFs=200
4916- $ ,maxPDFsets=25,maxdynscales=10
4917+ $ ,maxPDFsets=25,maxdynscales=10,maxorders=10
4918 integer :: max_mom_str=1,max_mext=1,max_n_ctr=1
4919 logical :: doreweight,lscalevar(maxdynscales)
4920 $ ,lpdfvar(maxPDFsets)
4921 integer :: iwgtnumpartn,jwgtinfo,mexternal
4922 $ ,lhaPDFid(0:maxPDFsets),nmemPDF(maxPDFsets)
4923 $ ,dyn_scale(0:maxdynscales),n_ctr_found,n_mom_conf
4924- $ ,QCD_power,orders_tag
4925+ $ ,QCD_power,orders_tag,amp_pos
4926 double precision :: wgtdegrem_xi,wgtdegrem_lxi,wgtdegrem_muF
4927 $ ,wgtnstmp,wgtwnstmpmuf,wgtwnstmpmur,wgtnstmp_avgvirt
4928 $ ,wgtref,scalevarR(0:maxscales),scalevarF(0:maxscales)
4929- $ ,wgtxsecmu(maxscales,maxscales,maxdynscales)
4930+ $ ,wgtxsecmu(maxorders,maxscales,maxscales,maxdynscales)
4931 $ ,wgtxsecPDF(0:maxPDFs,maxPDFsets),wgtbpower,wgtcpower
4932 $ ,veto_multiplier,H1_factor_virt,veto_compensating_factor
4933 $ ,born_wgt_veto
4934
4935=== modified file 'Template/NLO/Source/make_opts.inc'
4936--- Template/NLO/Source/make_opts.inc 2018-04-16 14:08:47 +0000
4937+++ Template/NLO/Source/make_opts.inc 2021-03-25 20:41:08 +0000
4938@@ -111,13 +111,14 @@
4939 endif
4940 endif
4941
4942-# Option APPLGrid
4943-ifneq ($(applgrid),)
4944- APPLLIBS=$(shell applgrid-config --ldcflags) $(shell amcfast-config --ldflags)
4945- applgrid_interface=appl_interface.o
4946+# Option PineAPPL
4947+ifneq ($(pineappl),)
4948+ APPLLIBS=$(shell pkg-config pineappl_capi --libs)
4949+ CXXFLAGS+=$(shell pkg-config pineappl_capi --cflags)
4950+ pineappl_interface=pineappl_interface.o
4951 else
4952 APPLLIBS=
4953- applgrid_interface=appl_interface_dummy.o
4954+ pineappl_interface=pineappl_interface_dummy.o
4955 endif
4956
4957 # Madloop
4958
4959=== modified file 'Template/NLO/Source/run_printout.f'
4960--- Template/NLO/Source/run_printout.f 2012-08-28 21:06:34 +0000
4961+++ Template/NLO/Source/run_printout.f 2021-03-25 20:41:08 +0000
4962@@ -21,12 +21,17 @@
4963 write(6,*) 'Collider parameters:'
4964 write(6,*) '--------------------'
4965
4966+ ab(1) = '?'
4967+ ab(2) = '?'
4968 do i=1,2
4969 IF(LPP(i).EQ. 0) ab(i)='e'
4970 IF(LPP(i).EQ. 1) ab(i)='P'
4971 IF(LPP(i).EQ.-1) ab(i)='Pb'
4972 IF(LPP(i).EQ.2) ab(i)='a2'
4973- IF(LPP(i).EQ.3) ab(i)='a3'
4974+ IF(LPP(i).EQ.3) ab(i)='e-'
4975+ IF(LPP(i).EQ.-3) ab(i)='e+'
4976+ IF(LPP(i).EQ.4) ab(i)='m-'
4977+ IF(LPP(i).EQ.-4) ab(i)='m+'
4978 enddo
4979
4980 ene=2d0*dsqrt(ebeam(1)*ebeam(2))
4981
4982=== modified file 'Template/NLO/Source/setrun.f'
4983--- Template/NLO/Source/setrun.f 2018-04-16 14:08:47 +0000
4984+++ Template/NLO/Source/setrun.f 2021-03-25 20:41:08 +0000
4985@@ -29,8 +29,8 @@
4986 integer nevents
4987 character*7 event_norm
4988 common /event_normalisation/event_norm
4989- integer iappl
4990- common /for_applgrid/ iappl
4991+ logical pineappl
4992+ common /for_pineappl/ pineappl
4993 integer idum
4994 logical fixed_order,nlo_ps
4995 common /c_fnlo_nlops/fixed_order,nlo_ps
4996@@ -114,7 +114,7 @@
4997 write(*,*) 'The default order of alpha_s running is fixed to '
4998 & ,nloop
4999 endif
5000- if (nlo_ps) then
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: