Merge lp:~maddevelopers/mg5amcnlo/3.0.1_4FS_merged3.0.2_latest into lp:~maddevelopers/mg5amcnlo/3.0.3

Proposed by marco zaro
Status: Needs review
Proposed branch: lp:~maddevelopers/mg5amcnlo/3.0.1_4FS_merged3.0.2_latest
Merge into: lp:~maddevelopers/mg5amcnlo/3.0.3
Diff against target: 87099 lines (+22872/-20294)
965 files modified
MadSpin/decay.py (+131/-89)
MadSpin/interface_madspin.py (+81/-37)
Template/LO/Cards/pythia8_card_default.dat (+2/-0)
Template/LO/Cards/run_card.dat (+1/-1)
Template/LO/Source/PDF/PhotonFlux.f (+12/-9)
Template/LO/Source/PDF/pdf.f (+3/-3)
Template/LO/Source/PDF/pdg2pdf.f (+3/-3)
Template/LO/Source/PDF/pdg2pdf_lhapdf6.f (+3/-3)
Template/LO/Source/kin_functions.f (+5/-3)
Template/LO/Source/setrun.f (+16/-0)
Template/LO/SubProcesses/genps.f (+2/-1)
Template/LO/SubProcesses/reweight.f (+2/-2)
Template/LO/SubProcesses/unwgt.f (+10/-1)
Template/LO/bin/generate_events (+19/-12)
Template/LO/bin/internal/Gridpack/gridrun (+9/-2)
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/run_card.dat (+3/-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/include/LHEFRead.h (+20/-3)
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 (+1/-1)
Template/NLO/Source/make_opts.inc (+6/-5)
Template/NLO/Source/setrun.f (+2/-2)
Template/NLO/SubProcesses/ajob_template (+4/-0)
Template/NLO/SubProcesses/cuts.f (+3/-146)
Template/NLO/SubProcesses/driver_mintFO.f (+17/-16)
Template/NLO/SubProcesses/fks_singular.f (+91/-56)
Template/NLO/SubProcesses/handling_lhe_events.f (+1/-1)
Template/NLO/SubProcesses/iproc_map.f (+13/-3)
Template/NLO/SubProcesses/madfks_plot.f (+33/-16)
Template/NLO/SubProcesses/makefile_fks_dir (+17/-15)
Template/NLO/SubProcesses/open_output_files.f (+12/-0)
Template/NLO/SubProcesses/pineappl_common.inc (+13/-12)
Template/NLO/SubProcesses/pineappl_interface.cc (+370/-39)
Template/NLO/SubProcesses/pineappl_interface_dummy.f (+0/-14)
Template/NLO/SubProcesses/recmom.f (+139/-0)
Template/NLO/SubProcesses/reweight_pineappl.inc (+1/-1)
Template/NLO/SubProcesses/setcuts.f (+2/-0)
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 (+92/-4)
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 (+44/-76)
aloha/aloha_writers.py (+50/-29)
aloha/create_aloha.py (+39/-28)
aloha/template_files/wavefunctions.py (+11/-9)
bin/compile.py (+12/-10)
bin/create_aloha_release.py (+5/-3)
bin/create_release.py (+23/-19)
bin/mg5_aMC (+15/-7)
input/.mg5_configuration_default.txt (+8/-6)
madgraph/__init__.py (+2/-1)
madgraph/core/base_objects.py (+217/-302)
madgraph/core/color_algebra.py (+19/-6)
madgraph/core/color_amp.py (+10/-11)
madgraph/core/diagram_generation.py (+63/-67)
madgraph/core/drawing.py (+19/-25)
madgraph/core/helas_objects.py (+322/-353)
madgraph/fks/fks_base.py (+30/-30)
madgraph/fks/fks_common.py (+24/-25)
madgraph/fks/fks_helas_objects.py (+29/-21)
madgraph/interface/amcatnlo_interface.py (+84/-71)
madgraph/interface/amcatnlo_run_interface.py (+123/-237)
madgraph/interface/coloring_logging.py (+3/-1)
madgraph/interface/common_run_interface.py (+266/-215)
madgraph/interface/extended_cmd.py (+79/-53)
madgraph/interface/launch_ext_program.py (+26/-23)
madgraph/interface/loop_interface.py (+10/-8)
madgraph/interface/madevent_interface.py (+92/-87)
madgraph/interface/madgraph_interface.py (+414/-257)
madgraph/interface/madweight_interface.py (+22/-18)
madgraph/interface/master_interface.py (+25/-12)
madgraph/interface/reweight_interface.py (+69/-50)
madgraph/iolibs/drawing_eps.py (+6/-0)
madgraph/iolibs/export_cpp.py (+32/-35)
madgraph/iolibs/export_fks.py (+94/-54)
madgraph/iolibs/export_python.py (+5/-5)
madgraph/iolibs/export_v4.py (+797/-105)
madgraph/iolibs/file_writers.py (+23/-17)
madgraph/iolibs/files.py (+19/-9)
madgraph/iolibs/gen_infohtml.py (+2/-0)
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/loop_optimized/check_sa_all.py.inc (+36/-34)
madgraph/iolibs/template_files/loop_optimized/loop_matrix_standalone.inc (+12/-3)
madgraph/iolibs/template_files/makefile_sa_f2py (+15/-7)
madgraph/iolibs/template_files/matrix_madevent_group_v4.inc (+10/-1)
madgraph/iolibs/template_files/mg4_proc_card.py (+1/-0)
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 (+66/-53)
madgraph/loop/loop_helas_objects.py (+48/-64)
madgraph/madevent/combine_grid.py (+9/-7)
madgraph/madevent/combine_runs.py (+3/-1)
madgraph/madevent/gen_crossxhtml.py (+7/-4)
madgraph/madevent/gen_ximprove.py (+22/-20)
madgraph/madevent/sum_html.py (+29/-20)
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 (+181/-142)
madgraph/various/cluster.py (+106/-93)
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 (+130/-124)
madgraph/various/lhe_parser.py (+288/-247)
madgraph/various/misc.py (+245/-122)
madgraph/various/plot_djrs.py (+6/-3)
madgraph/various/process_checks.py (+112/-100)
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 (+38/-29)
mg5decay/decay_objects.py (+191/-236)
models/MSSM_SLHA2/__init__.py (+11/-10)
models/MSSM_SLHA2/build_restrict.py (+1/-0)
models/MSSM_SLHA2/coupling_orders.py (+2/-1)
models/MSSM_SLHA2/couplings.py (+3/-2)
models/MSSM_SLHA2/decays.py (+3/-2)
models/MSSM_SLHA2/function_library.py (+2/-1)
models/MSSM_SLHA2/lorentz.py (+3/-2)
models/MSSM_SLHA2/object_library.py (+3/-1)
models/MSSM_SLHA2/parameters.py (+5/-4)
models/MSSM_SLHA2/particles.py (+3/-2)
models/MSSM_SLHA2/vertices.py (+5/-4)
models/MSSM_SLHA2/write_param_card.py (+11/-8)
models/__init__.py (+35/-9)
models/check_param_card.py (+54/-49)
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 (+71/-59)
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 (+11/-9)
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/usermod.py (+40/-37)
models/write_param_card.py (+33/-16)
tests/IOTests.py (+66/-67)
tests/__init__.py (+1/-0)
tests/acceptance_tests/test_cmd.py (+47/-35)
tests/acceptance_tests/test_cmd_amcatnlo.py (+14/-12)
tests/acceptance_tests/test_cmd_madevent.py (+19/-16)
tests/acceptance_tests/test_cmd_madloop.py (+5/-2)
tests/acceptance_tests/test_cmd_reweight.py (+31/-20)
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 (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_002.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_003.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_004.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_005.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_006.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_007.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%b_sf_008.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_gg_ttx%born.f (+3/-3)
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 (+2/-2)
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 (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_002.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_003.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_004.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_005.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_006.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_007.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%b_sf_008.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uux_ttx%born.f (+12/-12)
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 (+8/-8)
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 (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_002.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_003.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_004.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_005.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_006.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_007.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%b_sf_008.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fks_loonly/%SubProcesses%P0_uxu_ttx%born.f (+12/-12)
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 (+8/-8)
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 (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_002.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_003.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_004.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_005.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_006.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_007.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%b_sf_008.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%born.f (+3/-3)
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 (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%matrix_1.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%matrix_2.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%matrix_3.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%matrix_4.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%matrix_5.f (+12/-12)
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 (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_002.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_003.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_004.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_005.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_006.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_007.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%b_sf_008.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%born.f (+12/-12)
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 (+8/-8)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%matrix_1.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%matrix_2.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uux_ttx%matrix_3.f (+12/-12)
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 (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_002.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_003.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_004.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_005.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_006.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_007.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%b_sf_008.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%born.f (+12/-12)
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 (+8/-8)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%matrix_1.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%matrix_2.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_uxu_ttx%matrix_3.f (+12/-12)
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 (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%b_sf_002.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%b_sf_003.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%b_sf_004.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%b_sf_005.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%born.f (+3/-3)
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 (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%matrix_1.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%matrix_2.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%matrix_3.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%matrix_4.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ag_ttx%matrix_5.f (+6/-6)
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 (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_002.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_003.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_004.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_005.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_006.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_007.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%b_sf_008.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%born.f (+8/-8)
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 (+4/-4)
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 (+74/-35)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_2.f (+76/-37)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_3.f (+35/-74)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_4.f (+37/-76)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_5.f (+76/-37)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ddx_ttx%matrix_6.f (+37/-76)
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 (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_002.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_003.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_004.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_005.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_006.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_007.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%b_sf_008.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%born.f (+8/-8)
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 (+4/-4)
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 (+74/-35)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_2.f (+76/-37)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_3.f (+35/-74)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_4.f (+37/-76)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_5.f (+76/-37)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_dxd_ttx%matrix_6.f (+37/-76)
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 (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%b_sf_002.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%b_sf_003.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%b_sf_004.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%b_sf_005.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%born.f (+3/-3)
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 (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%matrix_1.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%matrix_2.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%matrix_3.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%matrix_4.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_ga_ttx%matrix_5.f (+6/-6)
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 (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_002.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_003.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_004.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_005.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_006.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_007.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%b_sf_008.f (+3/-3)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%born.f (+3/-3)
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 (+2/-2)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_1.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_2.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_3.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_4.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_5.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_6.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_7.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_8.f (+12/-12)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_gg_ttx%matrix_9.f (+3/-3)
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 (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_002.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_003.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_004.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_005.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_006.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_007.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%b_sf_008.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%born.f (+8/-8)
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 (+4/-4)
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 (+74/-35)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_2.f (+76/-37)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_3.f (+35/-74)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_4.f (+37/-76)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_5.f (+76/-37)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uux_ttx%matrix_6.f (+37/-76)
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 (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_002.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_003.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_004.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_005.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_006.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_007.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%b_sf_008.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%born.f (+8/-8)
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 (+4/-4)
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 (+74/-35)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_2.f (+76/-37)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_3.f (+35/-74)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_4.f (+37/-76)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_5.f (+76/-37)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksrealew/%SubProcesses%P0_uxu_ttx%matrix_6.f (+37/-76)
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 (+5/-5)
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 (+0/-36)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%b_sf_001.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%born.f (+7/-7)
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 (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%matrix_1.f (+8/-8)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%matrix_2.f (+8/-8)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_dxu_wp%matrix_3.f (+8/-8)
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 (+5/-5)
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 (+0/-36)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%b_sf_001.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%born.f (+7/-7)
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 (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%matrix_1.f (+8/-8)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%matrix_2.f (+8/-8)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_ppw_fksall/%SubProcesses%P0_udx_wp%matrix_3.f (+8/-8)
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 (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_002.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_003.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_004.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_005.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_006.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_007.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%b_sf_008.f (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%born.f (+6/-6)
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 (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_tdecay_fksreal/%SubProcesses%P0_t_budx%matrix_1.f (+6/-6)
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 (+6/-6)
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 (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%born.f (+9/-9)
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 (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%matrix_1.f (+13/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%matrix_2.f (+13/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_dxu_veep%matrix_3.f (+13/-13)
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 (+6/-6)
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 (+6/-6)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%born.f (+9/-9)
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 (+4/-4)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%matrix_1.f (+13/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%matrix_2.f (+13/-13)
tests/input_files/IOTestsComparison/IOExportFKSTest/test_wprod_fksew/%SubProcesses%P0_udx_veep%matrix_3.f (+13/-13)
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 (+95/-95)
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/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 (+154/-154)
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%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/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 (+20/-20)
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 (+42/-79)
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 (+12/-12)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%intparam_definition.inc (+6/-6)
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%mp_coupl.inc (+21/-20)
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 (+8/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%mp_intparam_definition.inc (+6/-6)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/born_matrix.f (+3/-3)
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 (+14/-14)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%intparam_definition.inc (+5/-8)
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%mp_coupl.inc (+30/-30)
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 (+23/-24)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%mp_intparam_definition.inc (+5/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/born_matrix.f (+4/-4)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/loop_matrix.f (+212/-212)
tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/mp_born_amps_and_wfs.f (+162/-162)
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 (+12/-12)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%intparam_definition.inc (+6/-6)
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%mp_coupl.inc (+21/-20)
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 (+8/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%mp_intparam_definition.inc (+6/-6)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/born_matrix.f (+3/-3)
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 (+140/-140)
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 (+14/-14)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%intparam_definition.inc (+5/-8)
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%mp_coupl.inc (+30/-30)
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 (+23/-24)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%mp_intparam_definition.inc (+5/-8)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/CT_interface.f (+134/-134)
tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/born_matrix.f (+4/-4)
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/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 (+6/-6)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%intparam_definition.inc (+5/-5)
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%mp_coupl.inc (+17/-17)
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 (+6/-6)
tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%mp_intparam_definition.inc (+5/-5)
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 (+5/-8)
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%mp_coupl.inc (+25/-25)
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 (+37/-37)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%mp_intparam_definition.inc (+5/-8)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/loop_matrix.f (+59/-59)
tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/mp_born_amps_and_wfs.f (+53/-53)
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 (+42/-42)
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 (+5/-8)
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%mp_coupl.inc (+25/-25)
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 (+37/-37)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%mp_intparam_definition.inc (+5/-8)
tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/CT_interface.f (+143/-143)
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/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/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 (+26/-23)
tests/parallel_tests/decay_comparator.py (+44/-42)
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 (+221/-123)
tests/parallel_tests/test_cmd_amcatnlo.py (+4/-5)
tests/parallel_tests/test_madweight.py (+17/-13)
tests/test_manager.py (+106/-72)
tests/time_db (+127/-123)
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 (+30/-39)
tests/unit_tests/fks/test_extra_ew.py (+94/-88)
tests/unit_tests/fks/test_fks_base.py (+81/-41)
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 (+11/-18)
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 (+22/-19)
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 (+5/-3)
tests/unit_tests/various/test_check_param_card.py (+11/-9)
tests/unit_tests/various/test_cmd.py (+7/-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 (+17/-5)
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/mcfio/src/GNUmakefile (+1/-1)
vendor/StdHEP/src/inc/stdevent.h (+4/-0)
vendor/StdHEP/src/stdhep/GNUmakefile (+1/-1)
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.1_4FS_merged3.0.2_latest
Reviewer Review Type Date Requested Status
Rikkert Frederix Needs Fixing
Valentin Hirschi Pending
Review via email: mp+386427@code.launchpad.net

Commit message

Enables the computation of EW corrections in the 4FS

Description of the change

the possibility of computing EW corrections in the 4FS is added, including in the complex-mass scheme.

To post a comment you must log in.
953. By marco zaro

merged with 3.0.3

Revision history for this message
Rikkert Frederix (frederix) wrote :

Hi Marco,

It looks like you have turned on the compute_6to5flav_cnt() stuff (which is now relevant for the 5to4flav). This should be fixed. (Also, these terms should not be added to the Born -> rather, a new 'type' should be created (current list is in add_wgt() subroutine of fks_singular.f). This will probably require a couple of changes throughout the code, but will be the cleanest and most easy to maintain in the future.

Cheers,
Rikkert

review: Needs Fixing
954. By marco zaro

restored 6to5 cnt function

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

If youu addd at new 'type'
Do not forget that it impacts reweighting/systematics (off-line version).
So please ping me such that I modify those accordingly

Olivier

955. By marco zaro

merged with 3.0.4

956. By olivier-mattelaer

remove loop_qcd_qed_sm_Gmu_4FS and loop_qcd_qed_sm_4FS from model directory -> put online

957. By marco zaro

merged with 3.0.4 rev 973

Unmerged revisions

957. By marco zaro

merged with 3.0.4 rev 973

956. By olivier-mattelaer

remove loop_qcd_qed_sm_Gmu_4FS and loop_qcd_qed_sm_4FS from model directory -> put online

955. By marco zaro

merged with 3.0.4

954. By marco zaro

restored 6to5 cnt function

953. By marco zaro

merged with 3.0.3

952. By marco zaro

merged with 2.7.3

951. By marco zaro

merged with 3.0.2 rev 984

950. By marco zaro

update notes

949. By marco zaro

fix in the function that changes the number-of-flavour scheme.
      Was raising an error if a given coupling order could not be found.
            Now it has been fixed

948. By Hua-Sheng Shao

A crucial fix for B0F, where the tiny in sqrt should be smaller than that in log. The fix allows a correct Riemann sheet for B0F(MW**2,MB**2,MT**2).

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-01-08 10:23:50 +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@@ -3375,7 +3391,7 @@
430 """routine to return the matrix element"""
431
432 if mode != "decay":
433- raise Exception, "This function is only secure in mode decay."
434+ raise Exception("This function is only secure in mode decay.")
435
436 tmpdir = ''
437 if (mode, production) in self.calculator:
438@@ -3390,30 +3406,40 @@
439 tmpdir = pjoin(self.path_me,'%s_me' % mode, 'SubProcesses',
440 production)
441 executable_prod="./check"
442- external = Popen(executable_prod, stdout=PIPE, stdin=PIPE,
443- stderr=STDOUT, cwd=tmpdir)
444+ my_env = os.environ.copy()
445+ my_env["GFORTRAN_UNBUFFERED_ALL"] = "y"
446+ external = Popen(executable_prod, stdout=PIPE, stdin=PIPE,
447+ stderr=STDOUT, cwd=tmpdir,
448+ env=my_env,
449+ bufsize=0)
450+ assert (mode, production) not in self.calculator
451 self.calculator[(mode, production)] = external
452 self.calculator_nbcall[(mode, production)] = 1
453
454- external.stdin.write(stdin_text)
455+
456+ external.stdin.write(stdin_text.encode())
457 if mode == 'prod':
458- info = int(external.stdout.readline())
459+ info = int(external.stdout.readline().decode())
460 nb_output = abs(info)+1
461 else:
462 info = 1
463 nb_output = 1
464-
465- prod_values = ' '.join([external.stdout.readline() for i in range(nb_output)])
466+ std = []
467+ for i in range(nb_output):
468+ external.stdout.flush()
469+ line = external.stdout.readline().decode()
470+ std.append(line)
471+ prod_values = ' '.join(std)
472+ #prod_values = ' '.join([external.stdout.readline().decode() for i in range(nb_output)])
473 if info < 0:
474- print 'ZERO DETECTED'
475- print prod_values
476- print stdin_text
477+ print('ZERO DETECTED')
478+ print(prod_values)
479+ print(stdin_text)
480 os.system('lsof -p %s' % external.pid)
481 return ' '.join(prod_values.split()[-1*(nb_output-1):])
482-
483 if len(self.calculator) > self.options['max_running_process']:
484 logger.debug('more than 100 calculator. Perform cleaning')
485- nb_calls = self.calculator_nbcall.values()
486+ nb_calls = list(self.calculator_nbcall.values())
487 nb_calls.sort()
488 cut = max([nb_calls[len(nb_calls)//2], 0.001 * nb_calls[-1]])
489 for key, external in list(self.calculator.items()):
490@@ -3426,7 +3452,6 @@
491 del self.calculator_nbcall[key]
492 else:
493 self.calculator_nbcall[key] = self.calculator_nbcall[key] //10
494-
495 if mode == 'prod':
496 return prod_values
497 else:
498@@ -3457,7 +3482,7 @@
499 #print part
500 decay_struct[part]['mg_tree']=[]
501
502- nb_res=len(decay_struct[part]["tree"].keys())
503+ nb_res=len(list(decay_struct[part]["tree"].keys()))
504 for res in range(-1,-nb_res-1,-1):
505 label=abs(decay_struct[part]["tree"][res]['label'])
506 mass=self.pid2massvar[label]
507@@ -3533,7 +3558,7 @@
508 else:
509 # now we need to write the decay products in the event
510 # follow the decay chain order, so that we can easily keep track of the mother index
511- for res in range(-1,-len(decay_struct[part]["tree"].keys())-1,-1):
512+ for res in range(-1,-len(list(decay_struct[part]["tree"].keys()))-1,-1):
513 index_d1=decay_struct[part]['mg_tree'][-res-1][1]
514 index_d2=decay_struct[part]['mg_tree'][-res-1][2]
515
516@@ -3596,7 +3621,7 @@
517 # follow the decay chain order, so that we can easily keep track of the mother index
518
519 map_to_part_number={}
520- for res in range(-1,-len(decay_struct[part]["tree"].keys())-1,-1):
521+ for res in range(-1,-len(list(decay_struct[part]["tree"].keys()))-1,-1):
522 index_res_for_mom=decay_struct[part]['mg_tree'][-res-1][0]
523 if (res==-1):
524 part_number+=1
525@@ -3736,8 +3761,8 @@
526 d2colup2=colup2
527 d2colup1=maxcol
528 else:
529- raise Exception, 'color combination not treated by MadSpin (yet). (%s,%s,%s)' \
530- % (colord1,colord2,colormother)
531+ raise Exception('color combination not treated by MadSpin (yet). (%s,%s,%s)' \
532+ % (colord1,colord2,colormother))
533 part_number+=1
534 index_d1_for_mom=decay_struct[part]['mg_tree'][-res-1][1]
535 mom=momenta_in_decay[index_d1_for_mom].copy()
536@@ -3819,14 +3844,14 @@
537 mothup1=curr_event.resonance[part]["mothup1"]
538 mothup2=curr_event.resonance[part]["mothup2"]
539 if mothup1==index:
540- if mothup2!=index: print "Warning: mothup1!=mothup2"
541+ if mothup2!=index: print("Warning: mothup1!=mothup2")
542 curr_event.resonance[part]["mothup1"]=part_number
543 curr_event.resonance[part]["mothup2"]=part_number
544 for part in curr_event.particle.keys():
545 mothup1=curr_event.particle[part]["mothup1"]
546 mothup2=curr_event.particle[part]["mothup2"]
547 if mothup1==index:
548- if mothup2!=index: print "Warning: mothup1!=mothup2"
549+ if mothup2!=index: print("Warning: mothup1!=mothup2")
550 curr_event.particle[part]["mothup1"]=part_number
551 curr_event.particle[part]["mothup2"]=part_number
552
553@@ -3844,7 +3869,7 @@
554 max_br = max([m['total_br'] for m in self.all_ME.values()])
555 if max_br >= 1:
556 if max_br > 1.0001:
557- raise MadSpinError, 'BR is larger than one.'
558+ raise MadSpinError('BR is larger than one.')
559 max_br = 1
560 for production in self.all_ME.values():
561 if production['total_br'] < max_br:
562@@ -3966,30 +3991,45 @@
563 for (mode, path) in self.calculator:
564 if mode=='decay':
565 external = self.calculator[(mode, path)]
566+ try:
567+ external.stdin.close()
568+ except Exception as error:
569+ misc.sprint(error)
570+ continue
571+ try:
572+ external.stdout.close()
573+ except Exception as error:
574+ misc.sprint(error)
575+ continue
576 external.terminate()
577 del external
578 elif mode=='full':
579- stdin_text="5 0 0 0 0\n" # before closing, write down the seed
580+ stdin_text="5 0 0 0 0\n".encode() # before closing, write down the seed
581 external = self.calculator[('full',path)]
582 try:
583 external.stdin.write(stdin_text)
584- except Exception:
585+ external.stdin.flush()
586+ except Exception as error:
587+ misc.sprint(error)
588+ raise
589 continue
590- ranmar_state=external.stdout.readline()
591+ ranmar_state=external.stdout.readline().decode()
592 ranmar_file=pjoin(path,'ranmar_state.dat')
593 ranmar=open(ranmar_file, 'w')
594 ranmar.write(ranmar_state)
595 ranmar.close()
596 try:
597 external.stdin.close()
598- except Exception:
599- continue
600+ except Exception as error:
601+ misc.sprint(error)
602 try:
603 external.stdout.close()
604- except Exception:
605- continue
606+ except Exception as error:
607+ misc.sprint(error)
608 external.terminate()
609 del external
610+ else:
611+ misc.sprint('not closed', mode, type(mode))
612 else:
613 try:
614 external = self.calculator[('full', path_to_decay)]
615@@ -4002,7 +4042,7 @@
616 external.stdout.close()
617 external.terminate()
618 del external
619-
620+
621 self.calculator = {}
622
623
624@@ -4058,7 +4098,7 @@
625 if name == 'all':
626 continue
627 #self.banner.get('proc_card').get('multiparticles'):
628- mgcmd.do_define("%s = %s" % (name, ' '.join(`i` for i in pdgs)))
629+ mgcmd.do_define("%s = %s" % (name, ' '.join(repr(i) for i in pdgs)))
630
631
632 mgcmd.exec_cmd("set group_subprocesses False")
633@@ -4087,7 +4127,7 @@
634 # 4. compute the full matrix element -----------------------------------
635 logger.info('generating the full matrix element squared (with decay)')
636 # start = time.time()
637- to_decay = self.mscmd.list_branches.keys()
638+ to_decay = list(self.mscmd.list_branches.keys())
639 decay_text = []
640 for decays in self.mscmd.list_branches.values():
641 for decay in decays:
642@@ -4172,6 +4212,8 @@
643
644 def compile(self):
645 logger.info('Compiling code')
646+ #my_env = os.environ.copy()
647+ #os.environ["GFORTRAN_UNBUFFERED_ALL"] = "y"
648 misc.compile(cwd=pjoin(self.path_me,'madspin_me', 'Source'),
649 nb_core=self.mgcmd.options['nb_core'])
650 misc.compile(['all'],cwd=pjoin(self.path_me,'madspin_me', 'SubProcesses'),
651
652=== modified file 'MadSpin/interface_madspin.py'
653--- MadSpin/interface_madspin.py 2020-06-16 19:24:01 +0000
654+++ MadSpin/interface_madspin.py 2021-01-08 10:23:50 +0000
655@@ -14,6 +14,8 @@
656 ################################################################################
657 """ Command interface for MadSpin """
658 from __future__ import division
659+from __future__ import absolute_import
660+from __future__ import print_function
661 import collections
662 import logging
663 import math
664@@ -24,6 +26,8 @@
665 import sys
666 import time
667 import glob
668+import six
669+from six.moves import range
670
671
672 pjoin = os.path.join
673@@ -150,6 +154,7 @@
674 self.mg5cmd = master_interface.MasterCmd()
675 self.seed = None
676 self.err_branching_ratio = 0
677+ self.me_run_name = "" # Events diretory name where to stotre the events (used by madevent) not use internally
678
679
680 if event_path:
681@@ -254,7 +259,7 @@
682 process = self.banner.get_detail('proc_card', 'generate')
683 if not process:
684 msg = 'Invalid proc_card information in the file (no generate line):\n %s' % self.banner['mg5proccard']
685- raise Exception, msg
686+ raise Exception(msg)
687 process, option = mg_interface.MadGraphCmd.split_process_line(process)
688 self.proc_option = option
689
690@@ -414,7 +419,7 @@
691 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.")
692
693 decay_process, init_part = self.decay.reorder_branch(decaybranch)
694- if not self.list_branches.has_key(init_part):
695+ if init_part not in self.list_branches:
696 self.list_branches[init_part] = []
697 self.list_branches[init_part].append(decay_process)
698 del decay_process, init_part
699@@ -491,7 +496,7 @@
700
701 # Format
702 if len(args) == 1:
703- opts = self.options.keys() + ['seed', "spinmode"]
704+ opts = list(self.options.keys()) + ['seed', "spinmode"]
705 return self.list_completion(text, opts)
706 elif len(args) == 2:
707 if args[1] == 'BW_effect':
708@@ -508,20 +513,20 @@
709 def help_set(self):
710 """help the set command"""
711
712- print 'syntax: set OPTION VALUE'
713- print ''
714- print '-- assign to a given option a given value'
715- print ' - set max_weight VALUE: pre-define the maximum_weight for the reweighting'
716- print ' - set BW_effect True|False: [default:True] reshuffle the momenta to describe'
717- print ' corrrectly the Breit-Wigner of the decayed particle'
718- print ' - set seed VALUE: fix the value of the seed to a given value.'
719- print ' by default use the current time to set the seed. random number are'
720- print ' generated by the python module random using the Mersenne Twister generator.'
721- print ' It has a period of 2**19937-1.'
722- print ' - set max_running_process VALUE: allow to limit the number of open file used by the code'
723- print ' The number of running is raising like 2*VALUE'
724- print ' - set spinmode=none: mode with simple file merging. No spin correlation attempt.'
725- print ' This mode allows 3 (and more) body decay.'
726+ print('syntax: set OPTION VALUE')
727+ print('')
728+ print('-- assign to a given option a given value')
729+ print(' - set max_weight VALUE: pre-define the maximum_weight for the reweighting')
730+ print(' - set BW_effect True|False: [default:True] reshuffle the momenta to describe')
731+ print(' corrrectly the Breit-Wigner of the decayed particle')
732+ print(' - set seed VALUE: fix the value of the seed to a given value.')
733+ print(' by default use the current time to set the seed. random number are')
734+ print(' generated by the python module random using the Mersenne Twister generator.')
735+ print(' It has a period of 2**19937-1.')
736+ print(' - set max_running_process VALUE: allow to limit the number of open file used by the code')
737+ print(' The number of running is raising like 2*VALUE')
738+ print(' - set spinmode=none: mode with simple file merging. No spin correlation attempt.')
739+ print(' This mode allows 3 (and more) body decay.')
740
741 def do_define(self, line):
742 """ """
743@@ -547,14 +552,14 @@
744 """ """
745 try:
746 return self.mg5cmd.complete_define(*args)
747- except Exception,error:
748+ except Exception as error:
749 misc.sprint(error)
750
751 def complete_decay(self, *args):
752 """ """
753 try:
754 return self.mg5cmd.complete_generate(*args)
755- except Exception,error:
756+ except Exception as error:
757 misc.sprint(error)
758
759 def check_launch(self, args):
760@@ -568,29 +573,53 @@
761 # Validity check. Need lhe version 3 if matching is on
762 if self.banner.get("run_card", "lhe_version") < 3 and \
763 self.banner.get("run_card", "ickkw") > 0:
764- raise Exception, "MadSpin requires LHEF version 3 when running with matching/merging"
765+ raise Exception("MadSpin requires LHEF version 3 when running with matching/merging")
766
767 def help_launch(self):
768 """help for the launch command"""
769
770- print '''Running Madspin on the loaded events, following the decays enter
771+ print('''Running Madspin on the loaded events, following the decays enter
772 An example of a full run is the following:
773 import ../mssm_events.lhe.gz
774 define sq = ur ur~
775 decay go > sq j
776 launch
777- '''
778+ ''')
779+
780+ self.parser_launch.print_help()
781+
782+ def parser_launch(self):
783+ usage = """launch [-n RUN_NAME]
784+ """
785+ parser = misc.OptionParser(usage=usage)
786+ parser.add_option("-n", "--name",
787+ default="",
788+ help="When NOT run in standalone instruct MG5aMC where to store the events file")
789+ return parser
790+
791+ def parse_launch(self, line):
792+
793+ args = self.split_arg(line)
794+ return self.parser_launch().parse_args(args)
795+
796
797 @misc.mute_logger()
798 def do_launch(self, line):
799 """end of the configuration launched the code"""
800
801+ (options, args) = self.parse_launch(line)
802+
803+ if options.name:
804+ self.me_run_name = options.name # Only use by MG5aMC
805+ else:
806+ self.me_run_name = ''
807+
808 if self.options["spinmode"] in ["none"]:
809 return self.run_bridge(line)
810 elif self.options["spinmode"] == "onshell":
811 return self.run_onshell(line)
812 elif self.options["spinmode"] == "bridge":
813- raise Exception, "Bridge mode not available."
814+ raise Exception("Bridge mode not available.")
815
816 if self.options['ms_dir'] and os.path.exists(pjoin(self.options['ms_dir'], 'madspin.pkl')):
817 return self.run_from_pickle()
818@@ -622,7 +651,7 @@
819
820 if self.options['seed'] > 30081*30081: # can't use too big random number
821 msg = 'Random seed too large ' + str(self.options['seed']) + ' > 30081*30081'
822- raise Exception, msg
823+ raise Exception(msg)
824
825 #self.options['seed'] = self.seed
826 text = '%s\n' % '\n'.join([ line for line in self.history if line])
827@@ -716,13 +745,13 @@
828
829 orig_block = generate_all.banner.param_card[name]
830 if block != orig_block:
831- raise Exception, """The directory %s is specific to a mass spectrum.
832+ raise Exception("""The directory %s is specific to a mass spectrum.
833 Your event file is not compatible with this one. (Different param_card: %s different)
834 orig block:
835 %s
836 new block:
837 %s""" \
838- % (self.options['ms_dir'], name, orig_block, block)
839+ % (self.options['ms_dir'], name, orig_block, block))
840
841 #replace init information
842 generate_all.banner['init'] = self.banner['init']
843@@ -808,7 +837,7 @@
844 elif '.hepmc' in filename:
845 self.options['input_format'] = 'hepmc'
846 else:
847- raise Exception, "fail to recognized input format automatically"
848+ raise Exception("fail to recognized input format automatically")
849
850 if self.options['input_format'] in ['lhe', 'lhe_no_banner']:
851 orig_lhe = lhe_parser.EventFile(filename)
852@@ -849,7 +878,7 @@
853
854 if self.options['seed'] > 30081*30081: # can't use too big random number
855 msg = 'Random seed too large ' + str(self.options['seed']) + ' > 30081*30081'
856- raise Exception, msg
857+ raise Exception(msg)
858
859 #self.options['seed'] = self.options['seed']
860
861@@ -989,7 +1018,7 @@
862
863 for event in orig_lhe:
864 if counter and counter % 100 == 0 and float(str(counter)[1:]) ==0:
865- print "decaying event number %s [%s s]" % (counter, time.time()-start)
866+ print("decaying event number %s [%s s]" % (counter, time.time()-start))
867 counter +=1
868
869 # use random order for particles to avoid systematics when more than
870@@ -1058,7 +1087,7 @@
871 # read the event file up to completion
872 while 1:
873 try:
874- decay = decay_file.next()
875+ decay = next(decay_file)
876 except StopIteration:
877 # check how far we are
878 ratio = counter / nb_event
879@@ -1069,6 +1098,7 @@
880 evt_decayfile[particle.pdg].update(new_file)
881 decay_file = evt_decayfile[particle.pdg][decay_file_nb]
882 continue
883+
884 if helicity == decay[0].helicity or helicity==9 or \
885 self.options["spinmode"] == "none":
886 break # use that event
887@@ -1198,7 +1228,7 @@
888 try:
889 os.remove(pjoin(decay_dir, 'Cards', 'madanalysis5_parton_card_default.dat'))
890 os.remove(pjoin(decay_dir, 'Cards', 'madanalysis5_parton_card.dat'))
891- except Exception,error:
892+ except Exception as error:
893 logger.debug(error)
894 pass
895 self.me_int[decay_dir] = me5_cmd
896@@ -1245,7 +1275,7 @@
897 try:
898 os.remove(pjoin(decay_dir, 'Cards', 'madanalysis5_parton_card_default.dat'))
899 os.remove(pjoin(decay_dir, 'Cards', 'madanalysis5_parton_card.dat'))
900- except Exception,error:
901+ except Exception as error:
902 logger.debug(error)
903 pass
904 self.me_int[decay_dir] = me5_cmd
905@@ -1282,6 +1312,16 @@
906 me5_cmd.exec_cmd("exit")
907 out[i] = lhe_parser.EventFile(pjoin(decay_dir, "Events", 'run_01', 'unweighted_events.lhe.gz'))
908 else:
909+ if not self.seed:
910+ if hasattr(self, 'mother'):
911+ try:
912+ self.seed = 100 + self.mother.run_card['iseed']
913+ except:
914+ self.seed = random.randint(0, int(30081*30081))
915+ self.seed += 1
916+ if self.seed > 30081*30081:
917+ self.seed -= 30081*30081
918+ logger.info('Will use seed %s' % (self.seed))
919 misc.call(['run.sh', str(int(1.2*nb_event)), str(self.seed)], cwd=decay_dir)
920 out[i] = lhe_parser.EventFile(pjoin(decay_dir, 'events.lhe.gz'))
921 if cumul:
922@@ -1360,7 +1400,7 @@
923
924 if self.seed > 30081*30081: # can't use too big random number
925 msg = 'Random seed too large ' + str(self.seed) + ' > 30081*30081'
926- raise Exception, msg
927+ raise Exception(msg)
928
929 self.options['seed'] = self.seed
930
931@@ -1538,7 +1578,7 @@
932 # file if needed.
933 while 1:
934 try:
935- decay = decay_file.next()
936+ decay = next(decay_file)
937 break
938 except StopIteration:
939 eff = self.efficiency
940@@ -1580,7 +1620,7 @@
941 logger.info( "Event %s/%s : %2fs" % (i, nevents, time.time()-start))
942 maxwgt = 0
943 orig_lhe.seek(0)
944- base_event = orig_lhe.next()
945+ base_event = next(orig_lhe)
946 if self.options['fixed_order']:
947 base_event = base_event[0]
948 for j in range(self.options['max_weight_ps_point']):
949@@ -1674,8 +1714,12 @@
950 sys.path.insert(0, pjoin(self.path_me, 'madspin_me', 'SubProcesses'))
951
952 mymod = __import__("%s.matrix2py" % (pdir))
953+ if six.PY3:
954+ from importlib import reload
955+ else:
956+ from imp import reload
957 reload(mymod)
958- mymod = getattr(mymod, 'matrix2py')
959+ mymod = getattr(mymod, 'matrix2py')
960 with misc.chdir(pjoin(self.path_me, 'madspin_me', 'SubProcesses', pdir)):
961 with misc.stdchannel_redirected(sys.stdout, os.devnull):
962 if not os.path.exists(pjoin(self.path_me, 'Cards','param_card.dat')) and \
963@@ -1718,7 +1762,7 @@
964 try:
965 proc_nb = int(proc_nb)
966 except ValueError:
967- raise MadSpinError, 'MadSpin didn\'t allow order restriction after the @ comment: \"%s\" not valid' % proc_nb
968+ raise MadSpinError('MadSpin didn\'t allow order restriction after the @ comment: \"%s\" not valid' % proc_nb)
969 proc_nb = '@ %i' % proc_nb
970 if self.options['global_order_coupling']:
971 proc_nb = '%s %s' % (proc_nb, self.options['global_order_coupling'])
972
973=== modified file 'Template/LO/Cards/pythia8_card_default.dat'
974--- Template/LO/Cards/pythia8_card_default.dat 2017-02-06 18:35:42 +0000
975+++ Template/LO/Cards/pythia8_card_default.dat 2021-01-08 10:23:50 +0000
976@@ -12,6 +12,8 @@
977 ! -------------------------------------------------------------------
978 ! Specify the HEPMC output of the Pythia8 shower. You can set it to:
979 ! auto : MG5aMC will automatically place it the run_<i> directory
980+! autoremove: MG5aMC will automatically remove the file at the end of the run.
981+! (usefull when running with Delphes)
982 ! /dev/null : to turn off the HEPMC output.
983 ! <path> : to select where the HEPMC file must written. It will
984 ! therefore not be placed in the run_<i> directory. The
985
986=== modified file 'Template/LO/Cards/run_card.dat'
987--- Template/LO/Cards/run_card.dat 2020-05-27 07:52:34 +0000
988+++ Template/LO/Cards/run_card.dat 2021-01-08 10:23:50 +0000
989@@ -28,7 +28,7 @@
990 #*********************************************************************
991 # Collider type and energy *
992 # lpp: 0=No PDF, 1=proton, -1=antiproton, 2=photon from proton, *
993-# 3=photon from electron *
994+# 3=photon from electron, 4=photon from muon *
995 #*********************************************************************
996 %(lpp1)s = lpp1 ! beam 1 type
997 %(lpp2)s = lpp2 ! beam 2 type
998
999=== modified file 'Template/LO/Source/PDF/PhotonFlux.f'
1000--- Template/LO/Source/PDF/PhotonFlux.f 2020-03-27 13:59:33 +0000
1001+++ Template/LO/Source/PDF/PhotonFlux.f 2021-01-08 10:23:50 +0000
1002@@ -6,25 +6,28 @@
1003 c/* ********************************************************* */
1004 c provided by Tomasz Pierzchala - UCL
1005
1006- real*8 function epa_electron(x,q2max)
1007- integer i
1008+ real*8 function epa_lepton(x,q2max, mode)
1009+ implicit none
1010+ integer i, mode, imode
1011+c mode is +3/-3 for electron and +4/-4 for muon
1012 real*8 x,phi_f
1013- real*8 xin
1014+ real*8 xin(3:4)
1015 real*8 alpha
1016 real*8 f, q2min,q2max
1017 real*8 PI
1018 data PI/3.14159265358979323846/
1019
1020- data xin/0.511d-3/ !electron mass in GeV
1021+ data xin/0.511d-3, 0.105658d0/ !electron mass in GeV
1022
1023 alpha = .0072992701
1024-
1025+ imode = abs(mode)
1026+
1027 C // x = omega/E = (E-E')/E
1028 if (x.lt.1) then
1029- q2min= xin*xin*x*x/(1-x)
1030+ q2min= xin(imode)*xin(imode)*x*x/(1-x)
1031 if(q2min.lt.q2max) then
1032- f = alpha/2d0/PI*
1033- & (2d0*xin*xin*x*(-1/q2min+1/q2max)+
1034+ f = alpha/2d0/PI*
1035+ & (2d0*xin(imode)*xin(imode)*x*(-1/q2min+1/q2max)+
1036 & (2-2d0*x+x*x)/x*dlog(q2max/q2min))
1037
1038 else
1039@@ -35,7 +38,7 @@
1040 endif
1041 c write (*,*) x,dsqrt(q2min),dsqrt(q2max),f
1042 if (f .lt. 0) f = 0
1043- epa_electron= f
1044+ epa_lepton = f
1045
1046 end
1047
1048
1049=== modified file 'Template/LO/Source/PDF/pdf.f'
1050--- Template/LO/Source/PDF/pdf.f 2018-02-01 23:17:18 +0000
1051+++ Template/LO/Source/PDF/pdf.f 2021-01-08 10:23:50 +0000
1052@@ -29,7 +29,7 @@
1053 double precision u_val,d_val,u_sea,d_sea,s_sea,c_sea,b_sea,gluon
1054 double precision Ctq3df,Ctq4Fn,Ctq5Pdf,Ctq6Pdf,Ctq5L
1055 double precision q2max
1056- double precision epa_electron,epa_proton
1057+ double precision epa_lepton,epa_proton
1058 include 'pdf.inc'
1059
1060 integer mode,Iprtn,Irt
1061@@ -297,8 +297,8 @@
1062 c a "diffractive" photon
1063 c
1064 q2max=xmu*xmu
1065- if(ih .eq. 3) then !from the electron
1066- fx(7)=epa_electron(x,q2max)
1067+ if(abs(ih) .eq. 3.or.abs(ih) .eq. 4) then !from the electron
1068+ fx(7)=epa_lepton(x,q2max, ih)
1069 elseif(ih .eq. 2) then !from a proton without breaking
1070 fx(7)=epa_proton(x,q2max)
1071 endif
1072
1073=== modified file 'Template/LO/Source/PDF/pdg2pdf.f'
1074--- Template/LO/Source/PDF/pdg2pdf.f 2019-12-04 21:34:25 +0000
1075+++ Template/LO/Source/PDF/pdg2pdf.f 2021-01-08 10:23:50 +0000
1076@@ -24,7 +24,7 @@
1077 integer mode,Irt,i,j
1078 double precision xlast(2),xmulast(2),pdflast(-7:7,2),q2max
1079 character*7 pdlabellast(2)
1080- double precision epa_electron,epa_proton
1081+ double precision epa_lepton,epa_proton
1082 integer ipart,ireuse,iporg,ihlast(2)
1083 save xlast,xmulast,pdflast,pdlabellast,ihlast
1084 data xlast/2*-99d9/
1085@@ -131,8 +131,8 @@
1086
1087 if(iabs(ipart).eq.7.and.ih.gt.1) then
1088 q2max=xmu*xmu
1089- if(ih.eq.3) then !from the electron
1090- pdg2pdf=epa_electron(x,q2max)
1091+ if(abs(ih).eq.3.or.abs(ih).eq.4) then !from the electron or muonn
1092+ pdg2pdf=epa_lepton(x,q2max, ih)
1093 elseif(ih .eq. 2) then !from a proton without breaking
1094 pdg2pdf=epa_proton(x,q2max,beamid)
1095 endif
1096
1097=== removed file 'Template/LO/Source/PDF/pdg2pdf_lhapdf.f'
1098=== modified file 'Template/LO/Source/PDF/pdg2pdf_lhapdf6.f'
1099--- Template/LO/Source/PDF/pdg2pdf_lhapdf6.f 2020-03-06 20:47:59 +0000
1100+++ Template/LO/Source/PDF/pdg2pdf_lhapdf6.f 2021-01-08 10:23:50 +0000
1101@@ -24,7 +24,7 @@
1102 integer i,j,ihlast(20),ipart,iporg,ireuse,imemlast(20),iset,imem
1103 & ,i_replace,ii,ipartlast(20)
1104 double precision xlast(20),xmulast(20),pdflast(-7:7,20)
1105- double precision epa_proton, epa_electron
1106+ double precision epa_proton, epa_lepton
1107 save ihlast,xlast,xmulast,pdflast,imemlast,ipartlast
1108 data ihlast/20*-99/
1109 data ipartlast/20*-99/
1110@@ -139,8 +139,8 @@
1111 pdg2pdf = get_ion_pdf(pdflast(-7, i_replace), ipart, nb_proton(beamid), nb_neutron(beamid))
1112 endif
1113 pdg2pdf=pdg2pdf/x
1114- else if(ih.eq.3) then !from the electron
1115- pdg2pdf=epa_electron(x,xmu*xmu)
1116+ else if(abs(ih).eq.3.or.abs(ih).eq.4) then !from the electron
1117+ pdg2pdf=epa_lepton(x,xmu*xmu, ih)
1118 else if(ih.eq.2) then ! photon from a proton without breaking
1119 pdg2pdf = epa_proton(x,xmu*xmu)
1120 else
1121
1122=== modified file 'Template/LO/Source/kin_functions.f'
1123--- Template/LO/Source/kin_functions.f 2016-02-10 14:56:17 +0000
1124+++ Template/LO/Source/kin_functions.f 2021-01-08 10:23:50 +0000
1125@@ -590,11 +590,13 @@
1126 C 4-Vector Dot product
1127 C****************************************************************************
1128 implicit none
1129- double precision p1(0:3),p2(0:3)
1130+ double precision p1(0:3),p2(0:3), dot2
1131 dot=p1(0)*p2(0)-p1(1)*p2(1)-p1(2)*p2(2)-p1(3)*p2(3)
1132
1133- if(dabs(dot).lt.1d-6)then ! solve numerical problem
1134- dot=0d0
1135+ if(dabs(dot).lt.1d-6)then ! solve numerical problem
1136+ dot2 = p1(0)*p2(0)+p1(1)*p2(1)+p1(2)*p2(2)+p1(3)*p2(3)
1137+ dot2 = max(1e-99,dot2)
1138+ if (dot/dot2.lt.1e-6) dot=0d0
1139 endif
1140
1141 end
1142
1143=== modified file 'Template/LO/Source/setrun.f'
1144--- Template/LO/Source/setrun.f 2016-03-04 16:16:23 +0000
1145+++ Template/LO/Source/setrun.f 2021-01-08 10:23:50 +0000
1146@@ -83,6 +83,22 @@
1147 q2fact(1) = sf1**2 ! fact scale**2 for pdf1
1148 q2fact(2) = sf2**2 ! fact scale**2 for pdf2
1149
1150+ if(pb1.ne.0d0)then
1151+ if (abs(lpp(1)).eq.1.or.abs(lpp(1)).eq.2)then
1152+ write(*,*) 'proton/anti-proton beam polarization are not allowed'
1153+ stop 1
1154+ endif
1155+ pol(1)=sign(1+abs(pb1)/100d0,pb1)
1156+ endif
1157+ if(pb2.ne.0d0)then
1158+ if (abs(lpp(2)).eq.1.or.abs(lpp(2)).eq.2)then
1159+ write(*,*) 'proton/anti-proton beam polarization are not allowed'
1160+ stop 1
1161+ endif
1162+ pol(2)=sign(1+abs(pb2)/100d0,pb2)
1163+ endif
1164+
1165+
1166 if(pb1.ne.0d0.and.lpp(1).eq.0) pol(1)=sign(1+abs(pb1)/100d0,pb1)
1167 if(pb2.ne.0d0.and.lpp(2).eq.0) pol(2)=sign(1+abs(pb2)/100d0,pb2)
1168
1169
1170=== modified file 'Template/LO/SubProcesses/genps.f'
1171--- Template/LO/SubProcesses/genps.f 2020-06-15 07:16:51 +0000
1172+++ Template/LO/SubProcesses/genps.f 2021-01-08 10:23:50 +0000
1173@@ -572,6 +572,8 @@
1174 if (abs(lpp(2)) .eq. 1 .or. abs(lpp(2)) .eq. 2) m2 = 0.938d0
1175 if (abs(lpp(1)) .eq. 3) m1 = 0.000511d0
1176 if (abs(lpp(2)) .eq. 3) m2 = 0.000511d0
1177+ if (abs(lpp(1)) .eq. 4) m1 = 0.105658d0
1178+ if (abs(lpp(2)) .eq. 4) m2 = 0.105658d0
1179 if (mass_ion(1).ge.0d0) m1 = mass_ion(1)
1180 if (mass_ion(2).ge.0d0) m2 = mass_ion(2)
1181 if(ebeam(1).lt.m1.and.lpp(1).ne.9) ebeam(1)=m1
1182@@ -1046,7 +1048,6 @@
1183 ptotm(i) = ptot(i)
1184 endif
1185 enddo
1186-c ma2 = dot(pa,pa)
1187 c
1188 c determine magnitude of p1 in cms frame (from dhelas routine mom2cx)
1189 c
1190
1191=== modified file 'Template/LO/SubProcesses/reweight.f'
1192--- Template/LO/SubProcesses/reweight.f 2020-05-24 20:16:56 +0000
1193+++ Template/LO/SubProcesses/reweight.f 2021-01-08 10:23:50 +0000
1194@@ -1738,9 +1738,9 @@
1195 if (btest(mlevel,3))
1196 $ write(*,*)' set fact scales for PS to ',
1197 $ sqrt(q2fact(1)),sqrt(q2fact(2))
1198- else if (abs(lpp(1)).eq.2.or.abs(lpp(1)).eq.3) then
1199+ else if (abs(lpp(1)).ge.2.and.abs(lpp(1)).le.4) then
1200 q2fact(1)=q2bck(1)
1201- else if (abs(lpp(2)).eq.2.or.abs(lpp(2)).eq.3) then
1202+ else if (abs(lpp(2)).ge.2.or.abs(lpp(2)).le.4) then
1203 q2fact(2)=q2bck(2)
1204 endif
1205
1206
1207=== modified file 'Template/LO/SubProcesses/unwgt.f'
1208--- Template/LO/SubProcesses/unwgt.f 2020-05-20 11:52:45 +0000
1209+++ Template/LO/SubProcesses/unwgt.f 2021-01-08 10:23:50 +0000
1210@@ -145,10 +145,19 @@
1211 C compute the boost for the requested transformation
1212 implicit none
1213 double precision pin(0:3), pout(0:3)
1214- double precision denom
1215+ double precision denom, control
1216
1217 denom = pin(0)*pout(0) - pin(3)*pout(3)
1218 if (denom.ne.0d0) then
1219+ control = pin(0)*pout(0) + pin(3)*pout(3)
1220+ if (denom/control.gt.1d-12)then
1221+ get_betaz = (pin(3) * pout(0) - pout(3) * pin(0)) / denom
1222+c pass in massless case
1223+ else if (abs(pin(0)+pin(3)).gt.abs(pin(0))) then
1224+ get_betaz = (pin(0)**2 - pout(0)**2)/(pin(0)**2 + pout(0)**2)
1225+ else
1226+ get_betaz = (pout(0)**2 - pin(0)**2)/(pin(0)**2 + pout(0)**2)
1227+ endif
1228 get_betaz = (pin(3) * pout(0) - pout(3) * pin(0)) / denom
1229 else if (pin(0).eq.pin(3)) then
1230 get_betaz = (pin(0)**2 - pout(0)**2)/(pin(0)**2 + pout(0)**2)
1231
1232=== modified file 'Template/LO/bin/generate_events'
1233--- Template/LO/bin/generate_events 2018-03-19 21:56:39 +0000
1234+++ Template/LO/bin/generate_events 2021-01-08 10:23:50 +0000
1235@@ -1,4 +1,4 @@
1236-#! /usr/bin/env python
1237+#! /usr/bin/env python3
1238 ################################################################################
1239 #
1240 # Copyright (c) 2011 The MadGraph5_aMC@NLO Development team and Contributors
1241@@ -27,10 +27,17 @@
1242 root_path = os.path.split(os.path.dirname(os.path.realpath( __file__ )))[0]
1243 pjoin = os.path.join
1244
1245-if not sys.version_info[0] == 2 or sys.version_info[1] < 6:
1246- sys.exit('MadEvent works with python 2.6 or higher (but not python 3.X).\n\
1247+if sys.version_info[1] < 7:
1248+ sys.exit('MadEvent works with python 2.7/3.7 or higher.\n\
1249 Please upgrade your version of python.')
1250
1251+try:
1252+ import six
1253+except ImportError:
1254+ message = 'madgraph requires the six module. The easiest way to install it is to run "pip install six --user"\n'
1255+ 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.'
1256+ sys.exit(message)
1257+
1258 # Check if optimize mode is (and should be) activated
1259 if __debug__ and (not os.path.exists(pjoin(root_path,'../..', 'bin','create_release.py'))):
1260 subprocess.call([sys.executable] + ['-O'] + sys.argv)
1261@@ -50,7 +57,7 @@
1262 try:
1263 import pyreadline as readline
1264 except:
1265- print "For tab completion and history, install module readline."
1266+ print("For tab completion and history, install module readline.")
1267 else:
1268 import rlcompleter
1269
1270@@ -81,7 +88,7 @@
1271 pass
1272
1273 if __debug__:
1274- print 'Running MG5 in debug mode'
1275+ print('Running MG5 in debug mode')
1276
1277
1278
1279@@ -99,25 +106,25 @@
1280 try:
1281 mode = int(argument[1])
1282 except:
1283- mode = int(raw_input('Enter 2 for multi-core, 1 for parallel, 0 for serial run\n'))
1284+ mode = int(six.moves.input('Enter 2 for multi-core, 1 for parallel, 0 for serial run\n'))
1285 if mode == 0:
1286 try:
1287 name = argument[2]
1288 except:
1289- name = raw_input('Enter run name\n')
1290+ name = six.moves.input('Enter run name\n')
1291 else:
1292 try:
1293 opt = argument[2]
1294 except:
1295 if mode == 1:
1296- opt = raw_input('Enter name for jobs on pbs queue\n')
1297+ opt = six.moves.input('Enter name for jobs on pbs queue\n')
1298 else:
1299- opt = int(raw_input('Enter number of cores\n'))
1300+ opt = int(six.moves.input('Enter number of cores\n'))
1301
1302 try:
1303 name = argument[3]
1304 except:
1305- name = raw_input('enter run name\n')
1306+ name = six.moves.input('enter run name\n')
1307
1308 # launch = ME.MadEventCmd(me_dir=root_path)
1309
1310@@ -158,7 +165,7 @@
1311 launch = ME.MadEventCmdShell(me_dir=root_path, force_run=True)
1312 launch.run_cmd('generate_events %s' % ' '.join(argument[1:]))
1313 launch.run_cmd('quit')
1314- except ME.MadEventAlreadyRunning, message:
1315+ except ME.MadEventAlreadyRunning as message:
1316 logging.getLogger('madgraph').log(40, str(message))
1317 sys.exit(1)
1318 except KeyboardInterrupt:
1319@@ -166,7 +173,7 @@
1320 launch.run_cmd('quit')
1321 except:
1322 pass
1323- except Exception, error:
1324+ except Exception as error:
1325 logging.error(str(error))
1326 sys.exit()
1327
1328
1329=== modified file 'Template/LO/bin/internal/Gridpack/gridrun'
1330--- Template/LO/bin/internal/Gridpack/gridrun 2017-06-08 18:43:40 +0000
1331+++ Template/LO/bin/internal/Gridpack/gridrun 2021-01-08 10:23:50 +0000
1332@@ -19,10 +19,17 @@
1333 and call immediately the command line interface scripts"""
1334
1335 import sys
1336-if not sys.version_info[0] == 2 or sys.version_info[1] < 6:
1337- sys.exit('MadGraph/MadEvent 5 works only with python 2.6 or later (but not python 3.X).\n\
1338+if sys.version_info[1] < 7:
1339+ sys.exit('MadGraph/MadEvent 5 works only with python 2.7/3.7 or later.\n\
1340 Please upgrate your version of python.')
1341
1342+try:
1343+ import six
1344+except ImportError:
1345+ message = 'madgraph requires the six module. The easiest way to install it is to run "pip install six --user"\n'
1346+ 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.'
1347+ sys.exit(message)
1348+
1349 import os
1350 import optparse
1351
1352
1353=== modified file 'Template/LO/bin/internal/addmasses_optional.py'
1354--- Template/LO/bin/internal/addmasses_optional.py 2015-10-15 20:22:39 +0000
1355+++ Template/LO/bin/internal/addmasses_optional.py 2021-01-08 10:23:50 +0000
1356@@ -5,8 +5,11 @@
1357 # Add masses to charged leptons, fix kinematics
1358 # Insert W/Z when missing
1359
1360+from __future__ import absolute_import
1361+from __future__ import print_function
1362 import math,sys,re
1363 from xml.dom import minidom
1364+from six.moves import range
1365
1366 #tolerance for energy momentum conservation
1367 toler = 1e-4
1368@@ -70,7 +73,7 @@
1369 self.pz = self.pz/pi*po
1370 def printMe(self):
1371 li = [self.px,self.py, self.pz, self.E, self.m]
1372- print "| %18.10E %18.10E %18.10E %18.10E %18.10E |" % tuple(li)
1373+ print("| %18.10E %18.10E %18.10E %18.10E %18.10E |" % tuple(li))
1374
1375 #useful class to describe a particle
1376 class Particle:
1377@@ -87,7 +90,7 @@
1378 self.polar = l[12]
1379 def printMe(self):
1380 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]
1381- print "%2i | %9i | %4i | %4i %4i | %4i %4i | %18.10E %18.10E %18.10E %18.10E %18.10E | %1.0f. %2.0f" % tuple(li)
1382+ print("%2i | %9i | %4i | %4i %4i | %4i %4i | %18.10E %18.10E %18.10E %18.10E %18.10E | %1.0f. %2.0f" % tuple(li))
1383 def writeMe(self):
1384 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]
1385 return "%9i %4i %4i %4i %4i %4i %18.10E %18.10E %18.10E %18.10E %18.10E %1.0f. %2.0f\n" % tuple(li)
1386@@ -108,7 +111,7 @@
1387 try:
1388 line=f.readline()
1389 except IOError:
1390- print "Problem reading from file ",sys.argv[1]
1391+ print("Problem reading from file ",sys.argv[1])
1392 sys.exit(0)
1393 if line.find("<event>")==-1:
1394 g.write(line)
1395@@ -121,7 +124,7 @@
1396 try:
1397 xmldoc = minidom.parse(sys.argv[1])
1398 except IOError:
1399- print " could not open file for xml parsing ",sys.argv[1]
1400+ print(" could not open file for xml parsing ",sys.argv[1])
1401 sys.exit(0)
1402
1403
1404@@ -178,7 +181,7 @@
1405 if len(noMotherList)==0:
1406 pass
1407 elif len(noMotherList)%2 != 0:
1408- print "single orphan; do not know how to process"
1409+ print("single orphan; do not know how to process")
1410 else:
1411 ki=0
1412 while ki<len(noMotherList)-1:
1413@@ -265,7 +268,7 @@
1414 pSum = pSum + p.mom
1415
1416 if abs(pSum.px)>toler or abs(pSum.py)>toler or abs(pSum.pz)>toler or abs(pSum.E)>toler:
1417- print "Event does not pass tolerance ",toler
1418+ print("Event does not pass tolerance ",toler)
1419 pSum.printMe()
1420
1421 if 1:
1422@@ -286,28 +289,28 @@
1423
1424 #main part of analysis
1425 if len(sys.argv)!=3:
1426- print "Usage: addmasses.py <infile> <outfile> "
1427- print " Last modified: Fri Nov 21 10:49:14 CST 2008 "
1428+ print("Usage: addmasses.py <infile> <outfile> ")
1429+ print(" Last modified: Fri Nov 21 10:49:14 CST 2008 ")
1430 sys.exit(1)
1431 else:
1432- print "Running addmasses.py to add masses and correct kinematics of fixed particles"
1433+ print("Running addmasses.py to add masses and correct kinematics of fixed particles")
1434
1435 #first print out leading information
1436 try:
1437 f=open(sys.argv[1],'r')
1438 except IOError:
1439- print "need a file for reading"
1440+ print("need a file for reading")
1441 sys.exit(1)
1442
1443 try:
1444 g=open(sys.argv[2],'w')
1445 except IOError:
1446- print "need a file for writing"
1447+ print("need a file for writing")
1448 sys.exit(1)
1449
1450 try:
1451 add_masses(f,g)
1452- except Exception, error:
1453- print "addmasses failed with error, %s" % error
1454+ except Exception as error:
1455+ print("addmasses failed with error, %s" % error)
1456 sys.exit(1)
1457
1458
1459=== modified file 'Template/LO/bin/madevent'
1460--- Template/LO/bin/madevent 2018-03-30 07:54:37 +0000
1461+++ Template/LO/bin/madevent 2021-01-08 10:23:50 +0000
1462@@ -1,4 +1,4 @@
1463-#! /usr/bin/env python
1464+#! /usr/bin/env python3
1465
1466 ################################################################################
1467 #
1468@@ -19,10 +19,18 @@
1469 and call immediately the command line interface scripts"""
1470
1471 import sys
1472-if not sys.version_info[0] == 2 or sys.version_info[1] < 6:
1473- sys.exit('MadGraph/MadEvent 5 works only with python 2.6 or later (but not python 3.X).\n\
1474+if sys.version_info[1] < 7:
1475+ sys.exit('MadGraph/MadEvent 5 works only with python 2.7/3.7 or later.\n\
1476 Please upgrate your version of python.')
1477
1478+try:
1479+ import six
1480+except ImportError:
1481+ message = 'madgraph requires the six module. The easiest way to install it is to run "pip install six --user"\n'
1482+ 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.'
1483+ sys.exit(message)
1484+
1485+
1486 import os
1487 import optparse
1488
1489@@ -59,7 +67,7 @@
1490 try:
1491 (options, args) = parser.parse_args(sys.argv[1:len(sys.argv)-i])
1492 done = True
1493- except MyOptParser.InvalidOption, error:
1494+ except MyOptParser.InvalidOption as error:
1495 pass
1496 else:
1497 args += sys.argv[len(sys.argv)-i:]
1498@@ -67,8 +75,8 @@
1499 # raise correct error:
1500 try:
1501 (options, args) = parser.parse_args()
1502- except MyOptParser.InvalidOption, error:
1503- print error
1504+ except MyOptParser.InvalidOption as error:
1505+ print(error)
1506 sys.exit(2)
1507
1508 if len(args) == 0:
1509@@ -79,7 +87,7 @@
1510 # Check if optimize mode is (and should be) activated
1511 if __debug__ and not options.debug and \
1512 (not os.path.exists(os.path.join(root_path,'../..', 'bin','create_release.py')) or options.web):
1513- print 'launch in debug mode'
1514+ print( 'launch in debug mode')
1515 subprocess.call([sys.executable] + ['-O'] + sys.argv)
1516 sys.exit()
1517
1518@@ -92,7 +100,7 @@
1519 try:
1520 import pyreadline as readline
1521 except:
1522- print "For tab completion and history, install module readline."
1523+ print( "For tab completion and history, install module readline.")
1524 else:
1525 import rlcompleter
1526
1527@@ -123,7 +131,7 @@
1528 pass
1529
1530 if __debug__:
1531- print 'Running MG5 in debug mode'
1532+ print( 'Running MG5 in debug mode')
1533
1534
1535 # Set logging level according to the logging level given by options
1536@@ -175,10 +183,10 @@
1537 cmd_line = cmd_interface.MadEventCmdShell(force_run=True)
1538 if not hasattr(cmd_line, 'do_%s' % args[0]):
1539 if parser_error:
1540- print parser_error
1541- print 'and %s can not be interpreted as a valid command.' % args[0]
1542+ print( parser_error)
1543+ print( 'and %s can not be interpreted as a valid command.' % args[0])
1544 else:
1545- print 'ERROR: %s not a valid command. Please retry' % args[0]
1546+ print( 'ERROR: %s not a valid command. Please retry' % args[0])
1547 else:
1548 cmd_line.use_rawinput = False
1549 cmd_line.run_cmd(' '.join(args))
1550@@ -192,9 +200,9 @@
1551 cmd_line = cmd_interface.MadEventCmdShell(force_run=True)
1552 cmd_line.cmdloop()
1553 except KeyboardInterrupt:
1554- print 'writting history and directory and quit on KeyboardInterrupt'
1555+ print( 'writting history and directory and quit on KeyboardInterrupt' )
1556 pass
1557-except cmd_interface.MadEventAlreadyRunning, error:
1558+except cmd_interface.MadEventAlreadyRunning as error:
1559 logging.error(str(error))
1560 sys.exit(1)
1561
1562
1563=== modified file 'Template/MadWeight/Python/Info.py'
1564--- Template/MadWeight/Python/Info.py 2015-10-01 16:00:08 +0000
1565+++ Template/MadWeight/Python/Info.py 2021-01-08 10:23:50 +0000
1566@@ -1,18 +1,21 @@
1567-#!/usr/bin/env python
1568-
1569-def giveInfo(class_):
1570- if type(class_)!=str:
1571- class_=class_.__class__.__name__
1572- for info in dir(eval(class_)):
1573-
1574- print class_+'.'+info+' : ',eval(class_+'.'+info+'.__doc__')
1575-
1576-
1577-
1578-if __name__=='__main__':
1579- class_=raw_input('enter the name of the class')
1580- try:
1581- import class_
1582- except:
1583- pass
1584- giveInfo(class_)
1585+#!/usr/bin/env python
1586+
1587+from __future__ import absolute_import
1588+from __future__ import print_function
1589+from six.moves import input
1590+def giveInfo(class_):
1591+ if type(class_)!=str:
1592+ class_=class_.__class__.__name__
1593+ for info in dir(eval(class_)):
1594+
1595+ print(class_+'.'+info+' : ',eval(class_+'.'+info+'.__doc__'))
1596+
1597+
1598+
1599+if __name__=='__main__':
1600+ class_=input('enter the name of the class')
1601+ try:
1602+ import class_
1603+ except:
1604+ pass
1605+ giveInfo(class_)
1606
1607=== modified file 'Template/MadWeight/Python/clean.py'
1608--- Template/MadWeight/Python/clean.py 2015-10-01 16:00:08 +0000
1609+++ Template/MadWeight/Python/clean.py 2021-01-08 10:23:50 +0000
1610@@ -33,6 +33,8 @@
1611 ##
1612 ## BEGIN INCLUDE
1613 ##
1614+from __future__ import absolute_import
1615+from __future__ import print_function
1616 import os
1617
1618 #1 #########################################################################
1619@@ -48,8 +50,8 @@
1620 if os.path.isdir(element) and (element[0]=='P' or element[:4]=='MW_P'):
1621 status,mess=clean.suppress_dir(os.path.join(element,run_name))
1622 if not status:
1623- print 'supress ',element,' failed:'
1624- print mess
1625+ print('supress ',element,' failed:')
1626+ print(mess)
1627
1628 os.chdir(os.pardir)
1629
1630@@ -161,14 +163,14 @@
1631
1632 if suppres and os.path.isfile(file):
1633 if 'n' in opt:
1634- print 'schedulle deleting file',file
1635+ print('schedulle deleting file',file)
1636 return 1,mess
1637 try:
1638 os.remove(file)
1639 except:
1640 pass
1641 if 's' not in opt:
1642- print 'delete file',file
1643+ print('delete file',file)
1644 return 1,''
1645 elif suppres:
1646 return 0, 'not a file'+file
1647@@ -221,9 +223,9 @@
1648 if 'n' not in opt:
1649 os.rmdir(pos)
1650 if 's' not in opt:
1651- print 'delete dir',pos
1652+ print('delete dir',pos)
1653 else:
1654- print 'schedulle removing directory',pos
1655+ print('schedulle removing directory',pos)
1656
1657 return 1,''
1658 else:
1659@@ -237,4 +239,4 @@
1660 go_to_main_dir()
1661 #Clean_event('fermi')
1662 #Clean_run('fermi')
1663- print 'no cleaning by default'
1664+ print('no cleaning by default')
1665
1666=== modified file 'Template/MadWeight/Python/expand_MadWeight.py'
1667--- Template/MadWeight/Python/expand_MadWeight.py 2011-10-25 14:42:02 +0000
1668+++ Template/MadWeight/Python/expand_MadWeight.py 2021-01-08 10:23:50 +0000
1669@@ -1,6 +1,8 @@
1670 #!/usr/bin/env python
1671
1672 # Module
1673+from __future__ import absolute_import
1674+from __future__ import print_function
1675 import string
1676 import os
1677 import sys
1678@@ -11,10 +13,10 @@
1679
1680 def expand_all(echap=[]):
1681 go_to_main_dir()
1682- print "copying files"
1683+ print("copying files")
1684 copy_file(echap)
1685 del_file()
1686- print "modifying files"
1687+ print("modifying files")
1688 opt={}
1689 opt['nowarning']="""['DESACTIVATE_CUT','DESACTIVATE_BW_CUT','get_user_params','main_make','obj_for_MW']"""
1690 mod_file.mod_file('./Source/MadWeight/mod_file/MW_pos',opt=opt)
1691
1692=== modified file 'Template/MadWeight/Python/madweight.py'
1693--- Template/MadWeight/Python/madweight.py 2013-03-29 20:38:55 +0000
1694+++ Template/MadWeight/Python/madweight.py 2021-01-08 10:23:50 +0000
1695@@ -6,12 +6,15 @@
1696
1697
1698 #Extension
1699+from __future__ import absolute_import
1700+from __future__ import print_function
1701 import string
1702 import sys
1703 import os
1704 import re
1705 import time
1706 import stat
1707+from six.moves import input
1708 # patch if symbolic directory replace by real file
1709 sys.path.append('./Source/MadWeight/Python')
1710 sys.path.append('../Source/MadWeight/Python')
1711@@ -37,7 +40,7 @@
1712 def Launch_all_SubProcess(MWparam):
1713
1714 name=MWparam.name
1715- print 'name :',name
1716+ print('name :',name)
1717 P_proclist,MW_proclist=MWparam.P_listdir,MWparam.MW_listdir
1718 #create banner
1719 if MWparam.run_opt['launch']:
1720@@ -46,14 +49,14 @@
1721 banner.write()
1722
1723 if MWparam.run_opt['compilation']:
1724- print 'starting program compilation'
1725+ print('starting program compilation')
1726 compile_SubProcesses(MW_proclist)
1727
1728 if MWparam.run_opt['event']:
1729 verif_event(MWparam)
1730
1731 if MWparam.run_opt['refine']:
1732- print "collecting data to find data with a precision less than",MWparam.run_opt['refine']
1733+ print("collecting data to find data with a precision less than",MWparam.run_opt['refine'])
1734 collect_schedular(MWparam)
1735
1736
1737@@ -62,7 +65,7 @@
1738 cluster.driver()
1739
1740 if MWparam.run_opt['collect']:
1741- print "collecting data"
1742+ print("collecting data")
1743 collect_schedular(MWparam)
1744
1745
1746@@ -90,7 +93,7 @@
1747 if os.path.isfile("./comp_madweight") and exit_status==0 :
1748 os.chdir("..")
1749 else:
1750- print "fortran compilation error"
1751+ print("fortran compilation error")
1752 sys.exit()
1753 os.chdir("..")
1754 return
1755@@ -109,7 +112,7 @@
1756 if os.path.isfile("./madevent") and exit_status==0:
1757 os.chdir("..")
1758 else:
1759- print "fortran compilation error"
1760+ print("fortran compilation error")
1761 sys.exit()
1762 os.chdir("..")
1763 return
1764@@ -142,15 +145,15 @@
1765
1766 for dir in MWparam.MW_listdir:
1767 if not os.path.exists("SubProcesses/"+dir+"/call_TF.f"):
1768- print "Currently no transfer function loaded ..."
1769+ print("Currently no transfer function loaded ...")
1770 listdir=os.listdir('./Source/MadWeight/transfer_function/data')
1771- print 'Available transfer functions:\n ',
1772- print '\n '.join([content[3:-4] for content in listdir if (content.startswith('TF') and content.endswith('dat'))])
1773- name=raw_input('Choose your transfer Function\n')
1774+ print('Available transfer functions:\n ', end=' ')
1775+ print('\n '.join([content[3:-4] for content in listdir if (content.startswith('TF') and content.endswith('dat'))]))
1776+ name=input('Choose your transfer Function\n')
1777 P_dir,MW_dir=detect_SubProcess(P_mode=1)
1778 os.chdir('./Source/MadWeight/transfer_function')
1779 change_tf.create_TF_main(name,0,MW_dir)
1780- print os.getcwd()
1781+ print(os.getcwd())
1782 os.chdir('../../..')
1783 break
1784
1785@@ -173,7 +176,7 @@
1786 plot.Differential_Graph(MWparam,auto=1)
1787
1788 if MWparam.run_opt['clean']:
1789- print 'cleaning in progress ....'
1790+ print('cleaning in progress ....')
1791 from clean import Clean_run
1792 if MWparam.run_opt['clean']==1:
1793 Clean_run(MWparam.name)
1794
1795=== modified file 'Template/MadWeight/Python/put_banner.py'
1796--- Template/MadWeight/Python/put_banner.py 2011-10-25 14:42:02 +0000
1797+++ Template/MadWeight/Python/put_banner.py 2021-01-08 10:23:50 +0000
1798@@ -99,7 +99,11 @@
1799
1800
1801
1802+from __future__ import absolute_import
1803+from __future__ import print_function
1804 import os,re,sys
1805+from six.moves import range
1806+from six.moves import input
1807 sys.path+=['../'*i+'./Source/MadWeight/Python' for i in range(1,6)]
1808 import MW_param
1809
1810@@ -140,7 +144,7 @@
1811 """ | put in variable full_banner_txt the content of the file ##
1812 ## | defined in position self.header_file ##
1813 """
1814- self.full_banner_txt+=file(self.header_file,'rU').read()
1815+ self.full_banner_txt+=open(self.header_file,'rU').read()
1816
1817 #2 #######################################################################
1818 def put_version_info(self):
1819@@ -149,7 +153,7 @@
1820 self.full_banner_txt+="<MGVersion>\n"
1821 for key,pos in self.version_info.items():
1822 try:
1823- self.full_banner_txt+="# "+key+' '*(25-len(key))+':'+file(pos,'rU').read()
1824+ self.full_banner_txt+="# "+key+' '*(25-len(key))+':'+open(pos,'rU').read()
1825 except IOError:
1826 self.full_banner_txt+="# "+key+' '*(25-len(key))+':'
1827 if self.full_banner_txt[-1]!='\n':
1828@@ -170,7 +174,7 @@
1829 try:
1830 self.full_banner_txt+=eval('self.mod_'+key+'(\"'+pos+'\")')
1831 except:
1832- self.full_banner_txt+=file(pos,'rU').read()
1833+ self.full_banner_txt+=open(pos,'rU').read()
1834 self.full_banner_txt+="</"+key+">\n"
1835
1836 #2 #######################################################################
1837@@ -179,7 +183,7 @@
1838 ## | self.input_file ##
1839 """
1840
1841- self.full_banner_txt+=file(self.input_file,'rU').read()
1842+ self.full_banner_txt+=open(self.input_file,'rU').read()
1843 if self.full_banner_txt[-1]!='\n':
1844 self.full_banner_txt+='\n'
1845 self.full_banner_txt+="</LesHouchesEvents>\n"
1846@@ -192,7 +196,7 @@
1847 """
1848 suppress_empty_line=re.compile(r'''\n\s*\n''')
1849 self.full_banner_txt=suppress_empty_line.sub('\n',self.full_banner_txt)
1850- output=file(self.output_file,'w')
1851+ output=open(self.output_file,'w')
1852 output.writelines(self.full_banner_txt)
1853 output.close()
1854
1855@@ -255,11 +259,11 @@
1856 ## | modify (or original) run_card.dat ##
1857 """
1858
1859- text=file(inputfile).read()
1860+ text=open(inputfile).read()
1861 if os.path.isfile('./SubProcesses/randinit'):
1862 pattern_random=re.compile(r'''r=\s*(?P<val>\d*)''')
1863- print file('./SubProcesses/randinit').read()
1864- seed=pattern_random.search(file('./SubProcesses/randinit').read()).group('val')
1865+ print(open('./SubProcesses/randinit').read())
1866+ seed=pattern_random.search(open('./SubProcesses/randinit').read()).group('val')
1867 pattern_seed=re.compile(r'''0\s*=\s*iseed''')
1868 text=pattern_seed.sub(' '+seed+' = iseed',text)#
1869
1870@@ -306,7 +310,7 @@
1871 def_pos.to_main()
1872 opt=sys.argv
1873 if len(opt)==1:
1874- filename=raw_input('Enter file with events (in directory Events)')
1875+ filename=input('Enter file with events (in directory Events)')
1876 else:
1877 filename=opt[1]
1878
1879
1880=== modified file 'Template/MadWeight/Python/splitbanner.py'
1881--- Template/MadWeight/Python/splitbanner.py 2011-10-25 14:42:02 +0000
1882+++ Template/MadWeight/Python/splitbanner.py 2021-01-08 10:23:50 +0000
1883@@ -14,7 +14,10 @@
1884 ## last-modif:24/01/09 ##
1885 ## ##
1886 ##########################################################################
1887+from __future__ import absolute_import
1888+from __future__ import print_function
1889 import sys
1890+from six.moves import input
1891 # patch if symbolic directory replace by real file
1892 sys.path.append('./Source/MadWeight/Python')
1893 sys.path.append('../Source/MadWeight/Python')
1894@@ -52,7 +55,7 @@
1895
1896 def write_card(self,pos):
1897
1898- print 'writing', pos
1899+ print('writing', pos)
1900 ff=open(pos,'w')
1901 for line in self.file:
1902 if self.pat_end.search(line):
1903@@ -62,7 +65,7 @@
1904 ff.writelines(line)
1905
1906 def FindCardName(self,tag):
1907- if tag in dico.keys():
1908+ if tag in list(dico.keys()):
1909 if '.' not in dico[tag]:
1910 return dico[tag]+'.dat'
1911 else:
1912@@ -77,9 +80,9 @@
1913 import MW_param
1914 MW_param.go_to_main_dir()
1915 opt=sys.argv
1916- print opt
1917+ print(opt)
1918 if len(opt)<2:
1919- name=raw_input('enter the run name to restore or the position of a banner file\n')
1920+ name=input('enter the run name to restore or the position of a banner file\n')
1921 else:
1922 name=opt[1]
1923
1924@@ -91,15 +94,15 @@
1925 pos='/'.join([part for part in name.split('/')[:-1]])
1926
1927 ban.split()
1928- print 'done'
1929+ print('done')
1930
1931 if len(opt)==3:
1932 import_lhco=opt[2]
1933 else:
1934- import_lhco=raw_input('Do you want import the input.lhco file? (1/0)\n')
1935+ import_lhco=input('Do you want import the input.lhco file? (1/0)\n')
1936
1937
1938 if int(import_lhco):
1939 os.system('cp '+pos+'/input.lhco ./Events')
1940- print 'replace Events/input.lhco by '+pos+'/input.lhco'
1941+ print('replace Events/input.lhco by '+pos+'/input.lhco')
1942
1943
1944=== modified file 'Template/MadWeight/Python/tests.py'
1945--- Template/MadWeight/Python/tests.py 2011-10-25 14:42:02 +0000
1946+++ Template/MadWeight/Python/tests.py 2021-01-08 10:23:50 +0000
1947@@ -20,7 +20,10 @@
1948 #########################################################################################################
1949 # TEST #################################################################################################
1950 #########################################################################################################
1951+from __future__ import absolute_import
1952+from __future__ import print_function
1953 import sys
1954+from six.moves import input
1955 sys.path.append('./Source/MadWeight/Python')
1956 import filecmp
1957 import unittest
1958@@ -279,10 +282,10 @@
1959
1960
1961
1962-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'
1963-y =raw_input('Do you want to continue? [y/n]')
1964+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')
1965+y =input('Do you want to continue? [y/n]')
1966 if y == 'y':
1967 unittest.main()
1968 else:
1969- print 'stopped'
1970+ print('stopped')
1971
1972
1973=== modified file 'Template/MadWeight/bin/madweight.py'
1974--- Template/MadWeight/bin/madweight.py 2013-03-30 07:45:35 +0000
1975+++ Template/MadWeight/bin/madweight.py 2021-01-08 10:23:50 +0000
1976@@ -15,6 +15,8 @@
1977 ################################################################################
1978 """ This is the main script in order to generate events in MadEvent """
1979
1980+from __future__ import absolute_import
1981+from __future__ import print_function
1982 import sys
1983 import os
1984 import subprocess
1985@@ -33,7 +35,7 @@
1986
1987 # Check if optimize mode is (and should be) activated
1988 if __debug__ and (not os.path.exists(os.path.join(root_path,'../..', 'bin','create_release.py'))):
1989- print 'launch in debug mode'
1990+ print('launch in debug mode')
1991 subprocess.call([sys.executable] + ['-O'] + sys.argv)
1992 sys.exit()
1993
1994@@ -50,7 +52,7 @@
1995 try:
1996 import pyreadline as readline
1997 except:
1998- print "For tab completion and history, install module readline."
1999+ print("For tab completion and history, install module readline.")
2000 else:
2001 import rlcompleter
2002
2003@@ -81,7 +83,7 @@
2004 pass
2005
2006 if __debug__:
2007- print 'Running MG5 in debug mode'
2008+ print('Running MG5 in debug mode')
2009
2010
2011 def set_configuration():
2012@@ -163,10 +165,10 @@
2013 launch.run_cmd('quit')
2014 except:
2015 pass
2016- except MW.AlreadyRunning, error:
2017+ except MW.AlreadyRunning as error:
2018 logging.error(str(error))
2019 sys.exit()
2020- except Exception, error:
2021+ except Exception as error:
2022 if os.path.exists(pjoin(root_path, 'RunWeb')):
2023 os.remove(pjoin(root_path, 'RunWeb'))
2024 raise
2025
2026=== modified file 'Template/MadWeight/mod_file/check_model.py'
2027--- Template/MadWeight/mod_file/check_model.py 2011-10-25 14:42:02 +0000
2028+++ Template/MadWeight/mod_file/check_model.py 2021-01-08 10:23:50 +0000
2029@@ -3,6 +3,8 @@
2030 #test
2031
2032 #Extension
2033+from __future__ import absolute_import
2034+from __future__ import print_function
2035 import string
2036 import os
2037 import sys
2038@@ -29,7 +31,7 @@
2039 if 'bin' in list_dir:
2040 return
2041 else:
2042- print 'script must be launched from main or bin/Source directory'
2043+ print('script must be launched from main or bin/Source directory')
2044 sys.exit()
2045
2046
2047
2048=== modified file 'Template/MadWeight/mod_file/mod_file.py'
2049--- Template/MadWeight/mod_file/mod_file.py 2011-10-25 14:42:02 +0000
2050+++ Template/MadWeight/mod_file/mod_file.py 2021-01-08 10:23:50 +0000
2051@@ -1,11 +1,14 @@
2052 #!/usr/bin/env python
2053
2054 #Extension
2055+from __future__ import absolute_import
2056+from __future__ import print_function
2057 import string
2058 import os
2059 import sys
2060 import time
2061 import re
2062+from six.moves import range
2063
2064 ############################################################################
2065 ## PARAMETER
2066@@ -21,11 +24,11 @@
2067
2068 #SECURITY POINT
2069 if type(list_input)!=list:
2070- print 'subroutine need at least two files for fuse'
2071+ print('subroutine need at least two files for fuse')
2072 return 0
2073
2074 if output in list_input:
2075- print 'output file cann\'t have the same name than an input file'
2076+ print('output file cann\'t have the same name than an input file')
2077 return 0
2078
2079 #initialisation
2080@@ -179,7 +182,7 @@
2081
2082 file_in.close()
2083 file_out.close()
2084- print 'no need of mod_photon_flux'
2085+ print('no need of mod_photon_flux')
2086 sys.exit()
2087 return
2088
2089
2090=== modified file 'Template/NLO/Cards/run_card.dat'
2091--- Template/NLO/Cards/run_card.dat 2018-04-25 06:47:06 +0000
2092+++ Template/NLO/Cards/run_card.dat 2021-01-08 10:23:50 +0000
2093@@ -179,7 +179,8 @@
2094 %(pt_max_pdg)s = pt_max_pdg ! Max pT for a massive particle
2095 %(mxx_min_pdg)s = mxx_min_pdg ! inv. mass for any pair of (anti)particles
2096 #***********************************************************************
2097-# For aMCfast+APPLGRID use in PDF fitting (http://amcfast.hepforge.org)*
2098+# Use PineAPPL to generate PDF-independent fast-interpolationuse *
2099+# grids (https://zenodo.org/record/3992765#.X2EWy5MzbVo) *
2100 #***********************************************************************
2101- %(iappl)s = iappl ! aMCfast switch (0=OFF, 1=prepare grids, 2=fill grids)
2102+ %(pineappl)s = pineappl ! PineAPPL switch
2103 #***********************************************************************
2104
2105=== modified file 'Template/NLO/FixedOrderAnalysis/HwU.f'
2106--- Template/NLO/FixedOrderAnalysis/HwU.f 2017-06-21 11:53:16 +0000
2107+++ Template/NLO/FixedOrderAnalysis/HwU.f 2021-01-08 10:23:50 +0000
2108@@ -10,16 +10,29 @@
2109 C C
2110 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
2111
2112+ module HwU_wgts_info_len
2113+ use iso_c_binding
2114+ integer, parameter :: wgts_info_len=80
2115+ contains
2116+ integer function get_wgts_info_len() bind(c,name="get_wgts_info_len")
2117+ get_wgts_info_len = wgts_info_len
2118+ return
2119+ end function get_wgts_info_len
2120+
2121+ end module HwU_wgts_info_len
2122+
2123+
2124 c The module contains effectively the common block with allocatable
2125 c variables (something not possible in old fortran version)
2126 module HwU_variables
2127+ use HwU_wgts_info_len
2128 implicit none
2129 integer :: max_plots,max_points,max_bins,nwgts,np
2130 integer :: error_estimation=3
2131 logical, allocatable :: booked(:)
2132 integer, allocatable :: nbin(:),histi(:,:),p_bin(:),p_label(:)
2133 character(len=50), allocatable :: title(:)
2134- character(len=50), allocatable :: wgts_info(:)
2135+ character(len=wgts_info_len), allocatable :: wgts_info(:)
2136 double precision, allocatable :: histy(:,:,:),histy_acc(:,:,:)
2137 $ ,histy2(:,:),histy_err(:,:),histxl(:,:),histxm(:,:)
2138 $ ,step(:),p_wgts(:,:)
2139@@ -34,6 +47,16 @@
2140 implicit none
2141 integer i,nweights
2142 character*(*) wgt_info(*)
2143+
2144+c PineAPPL commons
2145+ include "reweight_pineappl.inc"
2146+ include "pineappl_common.inc"
2147+ logical pineappl
2148+ common /for_pineappl/ pineappl
2149+
2150+C Initialize the number of bins of the aMCfast grids
2151+ if(pineappl) appl_obs_nbins = 0
2152+
2153 call HwU_deallocate_all
2154 max_plots=0
2155 max_points=0
2156@@ -85,6 +108,43 @@
2157 integer label,nbin_l,i,j
2158 character*(*) title_l
2159 double precision xmin,xmax
2160+c PineAPPL commons
2161+ include "reweight_pineappl.inc"
2162+ include "pineappl_common.inc"
2163+ logical pineappl
2164+ common /for_pineappl/ pineappl
2165+ double precision del
2166+
2167+c Initialize the grids only if the switch "pineappl" is set to True
2168+c and if the title does not contain the word "Born".
2169+ if(pineappl.and.index(title_l,"Born").eq.0)then
2170+c Observable parameters
2171+c Compute number of bins and edges only if they have not been given by the user.
2172+ if(appl_obs_nbins.eq.0)then
2173+ appl_obs_nbins = nbin_l
2174+ ! bin width
2175+ del = (xmax - xmin) / nbin_l
2176+c compute bin edges
2177+ do i=0,appl_obs_nbins
2178+ appl_obs_bins(i) = xmin + i * del
2179+ enddo
2180+ endif
2181+ appl_obs_min = appl_obs_bins(0)
2182+ appl_obs_max = appl_obs_bins(appl_obs_nbins)
2183+ if(abs(appl_obs_max-xmax).gt.0.00000001d0)then
2184+ write(*,*) 'PineAPPL Histogram: ',
2185+ 1 'Change of the upper limit:',xmax,'-->',
2186+ 2 appl_obs_max
2187+ endif
2188+c Initialize PineAPPL routines
2189+ call APPL_init
2190+c Keep track of the position of this histogram
2191+ nh_obs = nh_obs + 1
2192+ ih_obs(nh_obs) = label
2193+c Reset number of bins to zero
2194+ appl_obs_nbins = 0
2195+ endif
2196+
2197 c Allocate space for new histograms if needed
2198 call HwU_allocate_histo(label,nbin_l)
2199 c Setup the histogram
2200@@ -119,6 +179,24 @@
2201 implicit none
2202 integer label,i,j,bin
2203 double precision x, wgts(*)
2204+
2205+c PineAPPL commons
2206+ include "reweight_pineappl.inc"
2207+ include "pineappl_common.inc"
2208+ logical pineappl
2209+ common /for_pineappl/ pineappl
2210+ if(pineappl)then
2211+ do j=1,nh_obs
2212+ if(label.eq.ih_obs(j))then
2213+ appl_obs_num = j
2214+ appl_obs_histo = x
2215+c Fill the reference PineAPPL histograms
2216+c Fill the PineAPPL files
2217+ call APPL_fill
2218+ endif
2219+ enddo
2220+ endif
2221+
2222 c If central weight is zero do not add this point.
2223 if (wgts(1).eq.0d0) return
2224 c Check if point is within plotting range
2225
2226=== added file 'Template/NLO/FixedOrderAnalysis/analysis_td_hw_orders.f'
2227--- Template/NLO/FixedOrderAnalysis/analysis_td_hw_orders.f 1970-01-01 00:00:00 +0000
2228+++ Template/NLO/FixedOrderAnalysis/analysis_td_hw_orders.f 2021-01-08 10:23:50 +0000
2229@@ -0,0 +1,190 @@
2230+c
2231+c This file contains the default histograms for fixed order runs: it
2232+c only plots the total rate as an example. It can be used as a template
2233+c to make distributions for other observables.
2234+c
2235+c This uses the hbook package and generates histograms in the top-drawer
2236+c format. This format is human-readable. After running, the histograms
2237+c can be found in the Events/run_XX/ directory.
2238+c
2239+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
2240+ subroutine analysis_begin(nwgt,weights_info)
2241+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
2242+c This subroutine is called once at the start of each run. Here the
2243+c histograms should be declared.
2244+c
2245+c Declare the histograms using 'bookup'.
2246+c o) The first argument is an integer that labels the histogram. In
2247+c the analysis_end and analysis_fill subroutines this label is used
2248+c to keep track of the histogram. The label should be a number
2249+c between 1 and NPLOTS/4=5000 (can be increased in dbook.inc).
2250+c o) The second argument is a string that will apear above the
2251+c histogram. Do not use brackets "(" or ")" inside this string.
2252+c o) The third, forth and fifth arguments are the bin size, the
2253+c lower edge of the first bin and the upper edge of the last
2254+c bin. There is a maximum of 100 bins per histogram.
2255+c o) When including scale and/or PDF uncertainties, declare a
2256+c histogram for each weight, and compute the uncertainties from the
2257+c final set of histograms
2258+c
2259+ implicit none
2260+c When including scale and/or PDF uncertainties the total number of
2261+c weights considered is nwgt
2262+ integer nwgt
2263+c In the weights_info, there is an text string that explains what each
2264+c weight will mean. The size of this array of strings is equal to nwgt.
2265+ character*(*) weights_info(*)
2266+c Local variables
2267+ integer kk,l,nwgt_analysis
2268+ common/c_analysis/nwgt_analysis
2269+c Initialize the histogramming package (hbook):
2270+ call inihist
2271+c Fill the c_analysis common block with the number of weights that will
2272+c be computed
2273+ nwgt_analysis=nwgt
2274+c
2275+c loop over all the weights that are computed (depends on run_card
2276+c parameters do_rwgt_scale and do_rwgt_pdf):
2277+ do kk=1,nwgt_analysis
2278+c make sure that there is a separate histogram initialized for each
2279+c weight
2280+ l=(kk-1)*4
2281+c declare (i.e. book) the histograms
2282+ call bookup(l+1,'total rate '//weights_info(kk),
2283+ & 1.0d0,0.5d0,5.5d0)
2284+ call bookup(l+2,'total rate Born '//weights_info(kk),
2285+ & 1.0d0,0.5d0,5.5d0)
2286+ call bookup(l+3,'total rate QCD'//weights_info(kk),
2287+ & 1.0d0,0.5d0,5.5d0)
2288+ call bookup(l+4,'total rate EW '//weights_info(kk),
2289+ & 1.0d0,0.5d0,5.5d0)
2290+ enddo
2291+ return
2292+ end
2293+
2294+
2295+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
2296+ subroutine analysis_end(xnorm)
2297+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
2298+c This subroutine is called once at the end of the run. Here the
2299+c histograms are written to disk. Note that this is done for each
2300+c integration channel separately. There is an external script that will
2301+c read the top drawer files in each of the integration channels and
2302+c combines them by summing all the bins in a final single top-drawer
2303+c file to be put in the Events/run_XX directory.
2304+c
2305+c The histograms are put in a format to be written to file. Use the
2306+c multitop() subroutine.
2307+c o) The first argument is the histogram label
2308+c o) The second and third arguments are not used (keep them to the
2309+c default 3,2)
2310+c o) Fourth argument is the label for the x-axis. Do not use
2311+c brackets "(" or ")" inside this string.
2312+c o) Fifth argument is the y-axis
2313+c o) Final argument declares if the y-axis should be a linear 'LIN'
2314+c or logarithmic 'LOG' scale.
2315+ implicit none
2316+ character*14 ytit
2317+ double precision xnorm
2318+ integer i
2319+c Local variables
2320+ integer kk,l,nwgt_analysis
2321+ common/c_analysis/nwgt_analysis
2322+c This defines NPLOTS:
2323+ include 'dbook.inc'
2324+c Open the topdrawer file to write the histograms (do not remove the
2325+c next to calls)
2326+ call open_topdrawer_file
2327+ call mclear
2328+c Do not touch the folloing 4 lines. These lines make sure that the
2329+c histograms will have the correct overall normalisation: cross section
2330+c (in pb) per bin.
2331+ do i=1,NPLOTS
2332+ call mopera(i,'+',i,i,xnorm,0.d0)
2333+ call mfinal(i)
2334+ enddo
2335+ ytit='sigma per bin '
2336+c Loop over the plots that are declared with bookup
2337+ do kk=1,nwgt_analysis
2338+ l=(kk-1)*4
2339+ do i=1,8
2340+c convert them to a format suitable for writing
2341+ call multitop(l+i,3,2,'total rate',ytit,'LIN')
2342+ enddo
2343+ enddo
2344+c Close the topdrawer file (Do not remove this call)
2345+ call close_topdrawer_file
2346+ return
2347+ end
2348+
2349+
2350+
2351+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
2352+ subroutine analysis_fill(p,istatus,ipdg,wgts,ibody)
2353+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
2354+c This subroutine is called for each n-body and (n+1)-body configuration
2355+c that passes the generation cuts. Here the histrograms are filled.
2356+ implicit none
2357+c This includes the 'nexternal' parameter that labels the number of
2358+c particles in the (n+1)-body process
2359+ include 'nexternal.inc'
2360+c This is an array which is '-1' for initial state and '1' for final
2361+c state particles
2362+ integer istatus(nexternal)
2363+c This is an array with (simplified) PDG codes for the particles. Note
2364+c that channels that are combined (i.e. they have the same matrix
2365+c elements) are given only 1 set of PDG codes. This means, e.g., that
2366+c when using a 5-flavour scheme calculation (massless b quark), no
2367+c b-tagging can be applied.
2368+ integer iPDG(nexternal)
2369+c The array of the momenta and masses of the initial and final state
2370+c particles in the lab frame. The format is "E, px, py, pz, mass", while
2371+c the second dimension loops over the particles in the process. Note
2372+c that these are the (n+1)-body particles; for the n-body there is one
2373+c momenta equal to all zero's (this is not necessarily the last particle
2374+c in the list). If one uses IR-safe obserables only, there should be no
2375+c difficulty in using this.
2376+ double precision p(0:4,nexternal)
2377+c The weight of the current phase-space point is wgts(1). If scale
2378+c and/or PDF uncertainties are included through reweighting, the rest of
2379+c the array contains the list of weights in the same order as described
2380+c by the weigths_info strings in analysis_begin
2381+ double precision wgts(*)
2382+c The ibody variable is:
2383+c ibody=1 : (n+1)-body contribution
2384+c ibody=2 : n-body contribution (excluding the Born)
2385+c ibody=3 : Born contribution
2386+c The histograms need to be filled for all these contribution to get the
2387+c physics NLO results. (Note that the adaptive phase-space integration
2388+c is optimized using the sum of the contributions, therefore plotting
2389+c them separately might lead to larger than expected statistical
2390+c fluctuations).
2391+ integer ibody
2392+c local variables
2393+ double precision wgt,var
2394+ integer kk,l,nwgt_analysis
2395+ common/c_analysis/nwgt_analysis
2396+ ! stuff for plotting the different splitorders
2397+ integer orders_tag_plot
2398+ common /corderstagplot/ orders_tag_plot
2399+c
2400+c Fill the histograms here using a call to the mfill() subroutine. The
2401+c first argument is the histogram label, the second is the numerical
2402+c value of the variable to plot for the current phase-space point and
2403+c the final argument is the weight of the current phase-space point.
2404+ var=1d0
2405+c loop over all the weights that are computed (depends on run_card
2406+c parameters do_rwgt_scale and do_rwgt_pdf):
2407+ do kk=1,nwgt_analysis
2408+ wgt=wgts(kk)
2409+ l=(kk-1)*4
2410+c always fill the total rate
2411+ call mfill(l+1,var,wgt)
2412+c only fill the total rate for the Born when ibody=3
2413+ if (ibody.eq.3) call mfill(l+2,var,wgt)
2414+C fill the different partonic subchannels
2415+ if (orders_tag_plot.eq.402) call mfill(l+3,var,wgt)
2416+ if (orders_tag_plot.eq.600) call mfill(l+4,var,wgt)
2417+ enddo
2418+ return
2419+ end
2420
2421=== modified file 'Template/NLO/FixedOrderAnalysis/dbook.f'
2422--- Template/NLO/FixedOrderAnalysis/dbook.f 2015-03-04 10:22:46 +0000
2423+++ Template/NLO/FixedOrderAnalysis/dbook.f 2021-01-08 10:23:50 +0000
2424@@ -124,11 +124,11 @@
2425 c initialization
2426 IMPLICIT NONE
2427 include 'dbook.inc'
2428-c APPLgrid commons
2429- include "reweight_appl.inc"
2430- include "appl_common.inc"
2431- integer iappl
2432- common /for_applgrid/ iappl
2433+c PineAPPL commons
2434+ include "reweight_pineappl.inc"
2435+ include "pineappl_common.inc"
2436+ logical pineappl
2437+ common /for_pineappl/ pineappl
2438 c
2439 c LOCAL
2440 c
2441@@ -139,8 +139,8 @@
2442 NHIST=0
2443 DO 1, I=1,NPLOTS
2444 1 BOOK(I)=' NO'
2445-C Initialize the number of bins of the aMCfast grids
2446- if(iappl.ne.0) appl_obs_nbins = 0
2447+C Initialize the number of bins of the amcblast grids
2448+ if(pineappl) appl_obs_nbins = 0
2449 END
2450
2451
2452@@ -1001,20 +1001,19 @@
2453 implicit none
2454 integer n,n_by4
2455 double precision var,www
2456-c APPLgrid commons
2457- include "reweight_appl.inc"
2458- include "appl_common.inc"
2459- integer iappl
2460- common /for_applgrid/ iappl
2461+c PineAPPL commons
2462+ include "reweight_pineappl.inc"
2463+ include "pineappl_common.inc"
2464+ logical pineappl
2465+ common /for_pineappl/ pineappl
2466 integer j
2467- if(iappl.ne.0)then
2468+ if(pineappl)then
2469 do j=1,nh_obs
2470 if(n.eq.ih_obs(j))then
2471 appl_obs_num = j
2472 appl_obs_histo = var
2473-c Fill the reference APPLgrid histograms
2474- call APPL_fill_ref
2475-c Fill the APPLgrid files
2476+c Fill the reference PineAPPL histograms
2477+c Fill the PineAPPL files
2478 call APPL_fill
2479 endif
2480 enddo
2481@@ -1029,15 +1028,15 @@
2482 integer i,n,n_by4
2483 character*(*) string
2484 double precision del,xl,xu
2485-c APPLgrid commons
2486- include "reweight_appl.inc"
2487- include "appl_common.inc"
2488- integer iappl
2489- common /for_applgrid/ iappl
2490-c Initialize the grids only if the switch "iappl" is different from zero
2491+c PineAPPL commons
2492+ include "reweight_pineappl.inc"
2493+ include "pineappl_common.inc"
2494+ logical pineappl
2495+ common /for_pineappl/ pineappl
2496+c Initialize the grids only if the switch "pineappl" is different from zero
2497 c and if the title string containes the word "central" and does not contain
2498 c the word "Born".
2499- if(iappl.ne.0.and.index(string,"central").ne.0.and.
2500+ if(pineappl.and.index(string,"central").ne.0.and.
2501 1 index(string,"Born").eq.0)then
2502 c Observable parameters
2503 c Compute number of bins and edges only if they have not been given by the user.
2504@@ -1051,11 +1050,11 @@
2505 appl_obs_min = appl_obs_bins(0)
2506 appl_obs_max = appl_obs_bins(appl_obs_nbins)
2507 if(abs(appl_obs_max-xu).gt.0.00000001d0)then
2508- write(*,*) 'APPLgrid Histogram: ',
2509+ write(*,*) 'PineAPPL Histogram: ',
2510 1 'Change of the upper limit:',xu,'-->',
2511 2 appl_obs_max
2512 endif
2513-c Initialize APPLgrid routines
2514+c Initialize PineAPPL routines
2515 call APPL_init
2516 c Keep track of the position of this histogram
2517 nh_obs = nh_obs + 1
2518@@ -1072,17 +1071,16 @@
2519 implicit none
2520 integer n,n_by4,m_by4
2521 character*(*) string1,string2,string3
2522-c APPLgrid commons
2523- include "reweight_appl.inc"
2524- include "appl_common.inc"
2525- integer iappl
2526- common /for_applgrid/ iappl
2527+c PineAPPL commons
2528+ include "reweight_pineappl.inc"
2529+ include "pineappl_common.inc"
2530+ logical pineappl
2531+ common /for_pineappl/ pineappl
2532 integer j
2533- if(iappl.ne.0)then
2534+ if(pineappl)then
2535 do j=1,nh_obs
2536 if(n.eq.ih_obs(j))then
2537 appl_obs_num = j
2538- call APPL_fill_ref_out
2539 call APPL_term
2540 endif
2541 enddo
2542@@ -1098,17 +1096,16 @@
2543 implicit none
2544 integer n,n_by4,lr,lh,m_by4
2545 character*(*) string1,string2,string3
2546-c APPLgrid commons
2547- include "reweight_appl.inc"
2548- include "appl_common.inc"
2549- integer iappl
2550- common /for_applgrid/ iappl
2551+c PineAPPL commons
2552+ include "reweight_pineappl.inc"
2553+ include "pineappl_common.inc"
2554+ logical pineappl
2555+ common /for_pineappl/ pineappl
2556 integer j
2557- if(iappl.ne.0)then
2558+ if(pineappl)then
2559 do j=1,nh_obs
2560 if(n.eq.ih_obs(j))then
2561 appl_obs_num = j
2562- call APPL_fill_ref_out
2563 call APPL_term
2564 endif
2565 enddo
2566
2567=== modified file 'Template/NLO/FixedOrderAnalysis/rbook_fe8.f'
2568--- Template/NLO/FixedOrderAnalysis/rbook_fe8.f 2014-06-30 10:49:23 +0000
2569+++ Template/NLO/FixedOrderAnalysis/rbook_fe8.f 2021-01-08 10:23:50 +0000
2570@@ -95,24 +95,24 @@
2571 integer id,nbin
2572 double precision xbin,xlo,xhi
2573
2574-c APPLgrid commons
2575- include "reweight_appl.inc"
2576- include "appl_common.inc"
2577- integer iappl
2578- common /for_applgrid/ iappl
2579+c PineAPPL commons
2580+ include "reweight_pineappl.inc"
2581+ include "pineappl_common.inc"
2582+ logical pineappl
2583+ common /for_pineappl/ pineappl
2584
2585 nbin = int((xhi-xlo)/(xbin*0.9999d0))
2586
2587-c Initialize the grids only if the switch "iappl" is different from zero
2588+c Initialize the grids only if the switch "pineappl" is different from zero
2589 c and if the title string containes the word "central" and does not contain
2590 c the word "Born".
2591- if(iappl.ne.0.and.index(name,"central").ne.0.and.
2592+ if(pineappl.and.index(name,"central").ne.0.and.
2593 1 index(name,"Born").eq.0)then
2594 c Observable parameters
2595 appl_obs_nbins = nbin
2596 appl_obs_min = xlo
2597 appl_obs_max = xhi
2598-c Initialize APPLgrid routines
2599+c Initialize PineAPPL routines
2600 call APPL_init
2601 c Keep track of the position of this histogram
2602 nh_obs = nh_obs + 1
2603@@ -150,21 +150,20 @@
2604 integer ihisto
2605 double precision xval,wgt
2606
2607-c APPLgrid commons
2608- include "reweight_appl.inc"
2609- include "appl_common.inc"
2610- integer iappl
2611- common /for_applgrid/ iappl
2612+c PineAPPL commons
2613+ include "reweight_pineappl.inc"
2614+ include "pineappl_common.inc"
2615+ logical pineappl
2616+ common /for_pineappl/ pineappl
2617 integer j
2618 c
2619- if(iappl.ne.0)then
2620+ if(pineappl)then
2621 do j=1,nh_obs
2622 if(ihisto.eq.ih_obs(j))then
2623 appl_obs_num = j
2624 appl_obs_histo = xval
2625-c Fill the reference APPLgrid histograms
2626- call APPL_fill_ref
2627-c Fill the APPLgrid files
2628+c Fill the reference PineAPPL histograms
2629+c Fill the PineAPPL files
2630 call APPL_fill
2631 endif
2632 enddo
2633@@ -198,17 +197,16 @@
2634 character*(*) oper
2635 double precision x,y
2636
2637-c APPLgrid commons
2638- include "reweight_appl.inc"
2639- include "appl_common.inc"
2640- integer iappl
2641- common /for_applgrid/ iappl
2642+c PineAPPL commons
2643+ include "reweight_pineappl.inc"
2644+ include "pineappl_common.inc"
2645+ logical pineappl
2646+ common /for_pineappl/ pineappl
2647 integer j
2648- if(iappl.ne.0)then
2649+ if(pineappl)then
2650 do j=1,nh_obs
2651 if(ih1.eq.ih_obs(j))then
2652 appl_obs_num = j
2653- call APPL_fill_ref_out
2654 call APPL_term
2655 endif
2656 enddo
2657
2658=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f'
2659--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f 2017-02-02 08:59:42 +0000
2660+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_V.f 2021-01-08 10:23:50 +0000
2661@@ -27,6 +27,7 @@
2662 SUBROUTINE HWABEG
2663 C USER''S ROUTINE FOR INITIALIZATION
2664 C----------------------------------------------------------------------
2665+ use HwU_wgts_info_len
2666 INCLUDE 'HERWIG65.INC'
2667 include 'reweight0.inc'
2668 real * 8 xm0,gam,xmlow,xmupp,bin
2669@@ -49,7 +50,7 @@
2670 integer nwgt,max_weight,nwgt_analysis
2671 common/cnwgt/nwgt
2672 common/c_analysis/nwgt_analysis
2673- character*50 weights_info(max_weight_shower)
2674+ character*(wgts_info_len) weights_info(max_weight_shower)
2675 common/cwgtsinfo/weights_info
2676 c Initialize histograms
2677 call HwU_inithist(nwgt,weights_info)
2678
2679=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f'
2680--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f 2016-03-21 08:45:42 +0000
2681+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_h.f 2021-01-08 10:23:50 +0000
2682@@ -27,6 +27,7 @@
2683 SUBROUTINE HWABEG
2684 C USER''S ROUTINE FOR INITIALIZATION
2685 C----------------------------------------------------------------------
2686+ use HwU_wgts_info_len
2687 INCLUDE 'HERWIG65.INC'
2688 include 'reweight0.inc'
2689 c
2690@@ -46,7 +47,7 @@
2691 integer nwgt,max_weight,nwgt_analysis,kk,l
2692 common/cnwgt/nwgt
2693 common/c_analysis/nwgt_analysis
2694- character*50 weights_info(max_weight_shower)
2695+ character*(wgts_info_len) weights_info(max_weight_shower)
2696 common/cwgtsinfo/weights_info
2697 c Initialize histograms
2698 call HwU_inithist(nwgt,weights_info)
2699
2700=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f'
2701--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f 2016-02-23 10:48:46 +0000
2702+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_hjj.f 2021-01-08 10:23:50 +0000
2703@@ -27,6 +27,7 @@
2704 SUBROUTINE HWABEG
2705 C USER''S ROUTINE FOR INITIALIZATION
2706 C----------------------------------------------------------------------
2707+ use HwU_wgts_info_len
2708 INCLUDE 'HERWIG65.INC'
2709 include 'reweight0.inc'
2710 c
2711@@ -51,7 +52,7 @@
2712 common /to_veto_hist/vetomin,vetomax,nbinveto
2713 common/cnwgt/nwgt
2714 common/c_analysis/nwgt_analysis
2715- character*50 weights_info(max_weight_shower)
2716+ character*(wgts_info_len) weights_info(max_weight_shower)
2717 common/cwgtsinfo/weights_info
2718 c Initialize histograms
2719 call HwU_inithist(nwgt,weights_info)
2720
2721=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f'
2722--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f 2016-02-23 10:48:46 +0000
2723+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_leptons.f 2021-01-08 10:23:50 +0000
2724@@ -27,6 +27,7 @@
2725 SUBROUTINE HWABEG
2726 C USER''S ROUTINE FOR INITIALIZATION
2727 C----------------------------------------------------------------------
2728+ use HwU_wgts_info_len
2729 INCLUDE 'HERWIG65.INC'
2730 include 'reweight0.inc'
2731 c
2732@@ -60,7 +61,7 @@
2733 integer nwgt,max_weight,nwgt_analysis
2734 common/cnwgt/nwgt
2735 common/c_analysis/nwgt_analysis
2736- character*50 weights_info(max_weight_shower)
2737+ character*(wgts_info_len) weights_info(max_weight_shower)
2738 common/cwgtsinfo/weights_info
2739 c Initialize histograms
2740 call HwU_inithist(nwgt,weights_info)
2741
2742=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f'
2743--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f 2016-02-23 10:48:46 +0000
2744+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lplm.f 2021-01-08 10:23:50 +0000
2745@@ -27,6 +27,7 @@
2746 SUBROUTINE HWABEG
2747 C USER''S ROUTINE FOR INITIALIZATION
2748 C----------------------------------------------------------------------
2749+ use HwU_wgts_info_len
2750 INCLUDE 'HERWIG65.INC'
2751 include 'reweight0.inc'
2752 real * 8 bin,xmi,xms,pi
2753@@ -48,7 +49,7 @@
2754 integer nwgt,max_weight,nwgt_analysis
2755 common/cnwgt/nwgt
2756 common/c_analysis/nwgt_analysis
2757- character*50 weights_info(max_weight_shower)
2758+ character*(wgts_info_len) weights_info(max_weight_shower)
2759 common/cwgtsinfo/weights_info
2760 c Initialize histograms
2761 call HwU_inithist(nwgt,weights_info)
2762
2763=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f'
2764--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f 2016-02-23 10:48:46 +0000
2765+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_lvl.f 2021-01-08 10:23:50 +0000
2766@@ -27,6 +27,7 @@
2767 SUBROUTINE HWABEG
2768 C USER''S ROUTINE FOR INITIALIZATION
2769 C----------------------------------------------------------------------
2770+ use HwU_wgts_info_len
2771 INCLUDE 'HERWIG65.INC'
2772 include 'reweight0.inc'
2773 real * 8 bin,xmi,xms,pi
2774@@ -48,7 +49,7 @@
2775 integer nwgt,max_weight,nwgt_analysis
2776 common/cnwgt/nwgt
2777 common/c_analysis/nwgt_analysis
2778- character*50 weights_info(max_weight_shower)
2779+ character*(wgts_info_len) weights_info(max_weight_shower)
2780 common/cwgtsinfo/weights_info
2781 c Initialize histograms
2782 call HwU_inithist(nwgt,weights_info)
2783
2784=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f'
2785--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f 2016-02-23 10:48:46 +0000
2786+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_taptam.f 2021-01-08 10:23:50 +0000
2787@@ -27,6 +27,7 @@
2788 SUBROUTINE HWABEG
2789 C USER''S ROUTINE FOR INITIALIZATION
2790 C----------------------------------------------------------------------
2791+ use HwU_wgts_info_len
2792 INCLUDE 'HERWIG65.INC'
2793 include 'reweight0.inc'
2794 c
2795@@ -46,7 +47,7 @@
2796 integer nwgt,max_weight,nwgt_analysis,kk,l
2797 common/cnwgt/nwgt
2798 common/c_analysis/nwgt_analysis
2799- character*50 weights_info(max_weight_shower)
2800+ character*(wgts_info_len) weights_info(max_weight_shower)
2801 common/cwgtsinfo/weights_info
2802 c Initialize histograms
2803 call HwU_inithist(nwgt,weights_info)
2804
2805=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f'
2806--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f 2016-02-23 10:48:46 +0000
2807+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_tj.f 2021-01-08 10:23:50 +0000
2808@@ -27,6 +27,7 @@
2809 SUBROUTINE HWABEG
2810 C USER''S ROUTINE FOR INITIALIZATION
2811 C----------------------------------------------------------------------
2812+ use HwU_wgts_info_len
2813 INCLUDE 'HERWIG65.INC'
2814 include 'reweight0.inc'
2815 REAL*8 pi
2816@@ -46,7 +47,7 @@
2817 integer nwgt,max_weight,nwgt_analysis
2818 common/cnwgt/nwgt
2819 common/c_analysis/nwgt_analysis
2820- character*50 weights_info(max_weight_shower)
2821+ character*(wgts_info_len) weights_info(max_weight_shower)
2822 common/cwgtsinfo/weights_info
2823 c Initialize histograms
2824 call HwU_inithist(nwgt,weights_info)
2825
2826=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f'
2827--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f 2016-02-23 10:48:46 +0000
2828+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx.f 2021-01-08 10:23:50 +0000
2829@@ -27,6 +27,7 @@
2830 SUBROUTINE HWABEG
2831 C USER''S ROUTINE FOR INITIALIZATION
2832 C----------------------------------------------------------------------
2833+ use HwU_wgts_info_len
2834 INCLUDE 'HERWIG65.INC'
2835 include 'reweight0.inc'
2836 REAL*8 pi
2837@@ -46,7 +47,7 @@
2838 integer nwgt,max_weight,nwgt_analysis
2839 common/cnwgt/nwgt
2840 common/c_analysis/nwgt_analysis
2841- character*50 weights_info(max_weight_shower)
2842+ character*(wgts_info_len) weights_info(max_weight_shower)
2843 common/cwgtsinfo/weights_info
2844 c Initialize histograms
2845 call HwU_inithist(nwgt,weights_info)
2846
2847=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f'
2848--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f 2016-02-23 10:48:46 +0000
2849+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_pp_ttx_v2.f 2021-01-08 10:23:50 +0000
2850@@ -27,6 +27,7 @@
2851 SUBROUTINE HWABEG
2852 C USER''S ROUTINE FOR INITIALIZATION
2853 C----------------------------------------------------------------------
2854+ use HwU_wgts_info_len
2855 INCLUDE 'HERWIG65.INC'
2856 include 'reweight0.inc'
2857 REAL*8 pi
2858@@ -46,7 +47,7 @@
2859 integer nwgt,max_weight,nwgt_analysis
2860 common/cnwgt/nwgt
2861 common/c_analysis/nwgt_analysis
2862- character*50 weights_info(max_weight_shower)
2863+ character*(wgts_info_len) weights_info(max_weight_shower)
2864 common/cwgtsinfo/weights_info
2865 c Initialize histograms
2866 call HwU_inithist(nwgt,weights_info)
2867
2868=== modified file 'Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f'
2869--- Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f 2016-02-23 10:48:46 +0000
2870+++ Template/NLO/MCatNLO/HWAnalyzer/hw6an_HwU_rates.f 2021-01-08 10:23:50 +0000
2871@@ -23,6 +23,7 @@
2872 SUBROUTINE HWABEG
2873 C USER''S ROUTINE FOR INITIALIZATION
2874 C----------------------------------------------------------------------
2875+ use HwU_wgts_info_len
2876 INCLUDE 'HERWIG65.INC'
2877 include 'reweight0.inc'
2878 c
2879@@ -42,7 +43,7 @@
2880 integer nwgt,max_weight,nwgt_analysis
2881 common/cnwgt/nwgt
2882 common/c_analysis/nwgt_analysis
2883- character*50 weights_info(max_weight_shower)
2884+ character*(wgts_info_len) weights_info(max_weight_shower)
2885 common/cwgtsinfo/weights_info
2886 c Initialize histograms
2887 call HwU_inithist(nwgt,weights_info)
2888
2889=== modified file 'Template/NLO/MCatNLO/Makefile_MadFKS'
2890--- Template/NLO/MCatNLO/Makefile_MadFKS 2018-07-06 13:15:54 +0000
2891+++ Template/NLO/MCatNLO/Makefile_MadFKS 2021-01-08 10:23:50 +0000
2892@@ -43,10 +43,10 @@
2893 PDFFILES=$(OBJDIR)/mcatnlo_pdftomlm.o $(OBJDIR)/mcatnlo_libofpdf.o $(OBJDIR)/dummies.o
2894 CPDFFILES=$(OBJDIR)/mcatnlo_mlmtopdf.o $(OBJDIR)/dummies.o
2895 LPDFFILES=$(OBJDIR)/mcatnlo_mlmtolha.o $(OBJDIR)/dummies.o
2896-HWFILES=$(OBJDIR)/$(HERWIGVER) $(OBJDIR)/madfks_hwdriver.o $(OBJDIR)/madfks_hwlhin.o \
2897- $(OBJDIR)/mcatnlo_str.o $(HWUTI)
2898-PYFILES=$(OBJDIR)/$(PYTHIAVER) $(OBJDIR)/madfks_pydriver.o $(OBJDIR)/madfks_pylhin.o \
2899- $(OBJDIR)/mcatnlo_str.o $(PYUTI)
2900+HWFILES=$(HWUTI) $(OBJDIR)/$(HERWIGVER) $(OBJDIR)/madfks_hwdriver.o $(OBJDIR)/madfks_hwlhin.o \
2901+ $(OBJDIR)/mcatnlo_str.o
2902+PYFILES=$(PYUTI) $(OBJDIR)/$(PYTHIAVER) $(OBJDIR)/madfks_pydriver.o $(OBJDIR)/madfks_pylhin.o \
2903+ $(OBJDIR)/mcatnlo_str.o
2904
2905
2906 HW_EXE_DEFAULT : $(HWFILES) $(PDFFILES)
2907
2908=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f'
2909--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f 2016-02-23 10:48:46 +0000
2910+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_V.f 2021-01-08 10:23:50 +0000
2911@@ -27,6 +27,7 @@
2912 SUBROUTINE PYABEG(nnn,wwwi)
2913 C USER''S ROUTINE FOR INITIALIZATION
2914 C----------------------------------------------------------------------
2915+ use HwU_wgts_info_len
2916 INCLUDE 'HEPMC.INC'
2917 include 'reweight0.inc'
2918 real * 8 xm0,gam,xmlow,xmupp,bin
2919@@ -48,7 +49,7 @@
2920 data cc/' ','Born '/
2921 integer nwgt_analysis
2922 common/c_analysis/nwgt_analysis
2923- character*50 weights_info(max_weight_shower)
2924+ character*(wgts_info_len) weights_info(max_weight_shower)
2925 $ ,wwwi(max_weight_shower)
2926 c
2927 do i=1,nnn
2928
2929=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f'
2930--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f 2016-07-21 14:37:54 +0000
2931+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_h.f 2021-01-08 10:23:50 +0000
2932@@ -27,6 +27,7 @@
2933 SUBROUTINE PYABEG(nnn,wwwi)
2934 C USER''S ROUTINE FOR INITIALIZATION
2935 C----------------------------------------------------------------------
2936+ use HwU_wgts_info_len
2937 INCLUDE 'HEPMC.INC'
2938 include 'reweight0.inc'
2939 REAL*8 pi
2940@@ -45,7 +46,7 @@
2941 data HwUtype/'|T@NOCUT','|T@CUT '/
2942 integer nwgt_analysis
2943 common/c_analysis/nwgt_analysis
2944- character*50 weights_info(max_weight_shower)
2945+ character*(wgts_info_len) weights_info(max_weight_shower)
2946 $ ,wwwi(max_weight_shower)
2947 c
2948 do i=1,nnn
2949
2950=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f'
2951--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f 2016-02-23 10:48:46 +0000
2952+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_hjj.f 2021-01-08 10:23:50 +0000
2953@@ -27,6 +27,7 @@
2954 SUBROUTINE PYABEG(nnn,wwwi)
2955 C USER''S ROUTINE FOR INITIALIZATION
2956 C----------------------------------------------------------------------
2957+ use HwU_wgts_info_len
2958 INCLUDE 'HEPMC.INC'
2959 include 'reweight0.inc'
2960 REAL*8 pi
2961@@ -45,7 +46,7 @@
2962 data HwUtype/'|T@NOCUT','|T@CUT '/
2963 integer nwgt_analysis
2964 common/c_analysis/nwgt_analysis
2965- character*50 weights_info(max_weight_shower)
2966+ character*(wgts_info_len) weights_info(max_weight_shower)
2967 $ ,wwwi(max_weight_shower)
2968 character*8 cc(2)
2969 data cc/' ','vbfcuts '/
2970
2971=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f'
2972--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f 2016-02-23 10:48:46 +0000
2973+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_leptons.f 2021-01-08 10:23:50 +0000
2974@@ -27,6 +27,7 @@
2975 SUBROUTINE PYABEG(nnn,wwwi)
2976 C USER''S ROUTINE FOR INITIALIZATION
2977 C----------------------------------------------------------------------
2978+ use HwU_wgts_info_len
2979 INCLUDE 'HEPMC.INC'
2980 include 'reweight0.inc'
2981 c
2982@@ -43,7 +44,7 @@
2983 integer j,jpr
2984 integer nwgt_analysis
2985 common/c_analysis/nwgt_analysis
2986- character*50 weights_info(max_weight_shower)
2987+ character*(wgts_info_len) weights_info(max_weight_shower)
2988 $ ,wwwi(max_weight_shower)
2989 integer nsingle,ncorr,nlepton,nplots,ncuts
2990 common/cplots/nsingle,ncorr,nlepton,nplots,ncuts
2991
2992=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f'
2993--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f 2016-02-23 10:48:46 +0000
2994+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lplm.f 2021-01-08 10:23:50 +0000
2995@@ -27,6 +27,7 @@
2996 SUBROUTINE PYABEG(nnn,wwwi)
2997 C USER''S ROUTINE FOR INITIALIZATION
2998 C----------------------------------------------------------------------
2999+ use HwU_wgts_info_len
3000 INCLUDE 'HEPMC.INC'
3001 include 'reweight0.inc'
3002 real * 8 bin,xmi,xms,pi
3003@@ -47,7 +48,7 @@
3004 data cc/' ','Born '/
3005 integer nwgt_analysis
3006 common/c_analysis/nwgt_analysis
3007- character*50 weights_info(max_weight_shower)
3008+ character*(wgts_info_len) weights_info(max_weight_shower)
3009 $ ,wwwi(max_weight_shower)
3010 c
3011 do i=1,nnn
3012
3013=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f'
3014--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f 2016-12-07 21:05:19 +0000
3015+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_lvl.f 2021-01-08 10:23:50 +0000
3016@@ -27,6 +27,7 @@
3017 SUBROUTINE PYABEG(nnn,wwwi)
3018 C USER''S ROUTINE FOR INITIALIZATION
3019 C----------------------------------------------------------------------
3020+ use HwU_wgts_info_len
3021 INCLUDE 'HEPMC.INC'
3022 include 'reweight0.inc'
3023 real * 8 bin,xmi,xms,pi
3024@@ -47,7 +48,7 @@
3025 data cc/' ','Born '/
3026 integer nwgt_analysis
3027 common/c_analysis/nwgt_analysis
3028- character*50 weights_info(max_weight_shower)
3029+ character*(wgts_info_len) weights_info(max_weight_shower)
3030 $ ,wwwi(max_weight_shower)
3031 c
3032 do i=1,nnn
3033
3034=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f'
3035--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f 2016-02-23 10:48:46 +0000
3036+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_taptam.f 2021-01-08 10:23:50 +0000
3037@@ -27,6 +27,7 @@
3038 SUBROUTINE PYABEG(nnn,wwwi)
3039 C USER''S ROUTINE FOR INITIALIZATION
3040 C----------------------------------------------------------------------
3041+ use HwU_wgts_info_len
3042 INCLUDE 'HEPMC.INC'
3043 include 'reweight0.inc'
3044 integer j,kk,l,i,nnn
3045@@ -43,7 +44,7 @@
3046 data HwUtype/'|T@NOCUT','|T@CUT '/
3047 integer nwgt_analysis
3048 common/c_analysis/nwgt_analysis
3049- character*50 weights_info(max_weight_shower)
3050+ character*(wgts_info_len) weights_info(max_weight_shower)
3051 $ ,wwwi(max_weight_shower)
3052 c
3053 do i=1,nnn
3054
3055=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f'
3056--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f 2016-02-23 10:48:46 +0000
3057+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_tj.f 2021-01-08 10:23:50 +0000
3058@@ -27,6 +27,7 @@
3059 SUBROUTINE PYABEG(nnn,wwwi)
3060 C USER''S ROUTINE FOR INITIALIZATION
3061 C----------------------------------------------------------------------
3062+ use HwU_wgts_info_len
3063 INCLUDE 'HEPMC.INC'
3064 include 'reweight0.inc'
3065 REAL*8 pi
3066@@ -45,7 +46,7 @@
3067 data HwUtype/'|T@NOCUT','|T@CUT '/
3068 integer nwgt_analysis
3069 common/c_analysis/nwgt_analysis
3070- character*50 weights_info(max_weight_shower)
3071+ character*(wgts_info_len) weights_info(max_weight_shower)
3072 $ ,wwwi(max_weight_shower)
3073 c
3074 do i=1,nnn
3075
3076=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f'
3077--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f 2016-02-23 10:48:46 +0000
3078+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx.f 2021-01-08 10:23:50 +0000
3079@@ -27,6 +27,7 @@
3080 SUBROUTINE PYABEG(nnn,wwwi)
3081 C USER''S ROUTINE FOR INITIALIZATION
3082 C----------------------------------------------------------------------
3083+ use HwU_wgts_info_len
3084 INCLUDE 'HEPMC.INC'
3085 include 'reweight0.inc'
3086 REAL*8 pi
3087@@ -45,7 +46,7 @@
3088 data HwUtype/'|T@NOCUT','|T@CUT '/
3089 integer nwgt_analysis
3090 common/c_analysis/nwgt_analysis
3091- character*50 weights_info(max_weight_shower)
3092+ character*(wgts_info_len) weights_info(max_weight_shower)
3093 $ ,wwwi(max_weight_shower)
3094 c
3095 do i=1,nnn
3096
3097=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f'
3098--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f 2016-02-23 10:48:46 +0000
3099+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_pp_ttx_v2.f 2021-01-08 10:23:50 +0000
3100@@ -27,6 +27,7 @@
3101 SUBROUTINE PYABEG(nnn,wwwi)
3102 C USER''S ROUTINE FOR INITIALIZATION
3103 C----------------------------------------------------------------------
3104+ use HwU_wgts_info_len
3105 INCLUDE 'HEPMC.INC'
3106 include 'reweight0.inc'
3107 REAL*8 pi
3108@@ -45,7 +46,7 @@
3109 data HwUtype/'|T@NOCUT','|T@CUT '/
3110 integer nwgt_analysis
3111 common/c_analysis/nwgt_analysis
3112- character*50 weights_info(max_weight_shower)
3113+ character*(wgts_info_len) weights_info(max_weight_shower)
3114 $ ,wwwi(max_weight_shower)
3115 c
3116 do i=1,nnn
3117
3118=== modified file 'Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f'
3119--- Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f 2016-02-23 10:48:46 +0000
3120+++ Template/NLO/MCatNLO/PY8Analyzer/py8an_HwU_rates.f 2021-01-08 10:23:50 +0000
3121@@ -23,6 +23,7 @@
3122 SUBROUTINE PYABEG(nnn,wwwi)
3123 C USER''S ROUTINE FOR INITIALIZATION
3124 C----------------------------------------------------------------------
3125+ use HwU_wgts_info_len
3126 INCLUDE 'HEPMC.INC'
3127 include 'reweight0.inc'
3128 c
3129@@ -41,7 +42,7 @@
3130 data cc/' ','Born '/
3131 integer nwgt_analysis
3132 common/c_analysis/nwgt_analysis
3133- character*50 weights_info(max_weight_shower)
3134+ character*(wgts_info_len) weights_info(max_weight_shower)
3135 $ ,wwwi(max_weight_shower)
3136 c
3137 do i=1,nnn
3138
3139=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f'
3140--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f 2016-02-23 10:48:46 +0000
3141+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_V.f 2021-01-08 10:23:50 +0000
3142@@ -27,6 +27,7 @@
3143 SUBROUTINE PYABEG
3144 C USER''S ROUTINE FOR INITIALIZATION
3145 C----------------------------------------------------------------------
3146+ use HwU_wgts_info_len
3147 implicit double precision(a-h, o-z)
3148 implicit integer(i-n)
3149 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
3150@@ -51,7 +52,7 @@
3151 integer nwgt,max_weight,nwgt_analysis
3152 common/cnwgt/nwgt
3153 common/c_analysis/nwgt_analysis
3154- character*50 weights_info(max_weight_shower)
3155+ character*(wgts_info_len) weights_info(max_weight_shower)
3156 common/cwgtsinfo/weights_info
3157 c Initialize histograms
3158 call HwU_inithist(nwgt,weights_info)
3159
3160=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f'
3161--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f 2016-02-23 10:48:46 +0000
3162+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_h.f 2021-01-08 10:23:50 +0000
3163@@ -28,6 +28,7 @@
3164 SUBROUTINE PYABEG
3165 C USER''S ROUTINE FOR INITIALIZATION
3166 C----------------------------------------------------------------------
3167+ use HwU_wgts_info_len
3168 implicit none
3169 include 'reweight0.inc'
3170 REAL*8 pi
3171@@ -48,7 +49,7 @@
3172 integer nwgt,max_weight,nwgt_analysis
3173 common/cnwgt/nwgt
3174 common/c_analysis/nwgt_analysis
3175- character*50 weights_info(max_weight_shower)
3176+ character*(wgts_info_len) weights_info(max_weight_shower)
3177 common/cwgtsinfo/weights_info
3178 c
3179 c Initialize histograms
3180
3181=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f'
3182--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f 2016-02-23 10:48:46 +0000
3183+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_hjj.f 2021-01-08 10:23:50 +0000
3184@@ -28,6 +28,7 @@
3185 SUBROUTINE PYABEG
3186 C USER''S ROUTINE FOR INITIALIZATION
3187 C----------------------------------------------------------------------
3188+ use HwU_wgts_info_len
3189 implicit none
3190 include 'reweight0.inc'
3191 c
3192@@ -52,7 +53,7 @@
3193 common /to_veto_hist/vetomin,vetomax,nbinveto
3194 common/cnwgt/nwgt
3195 common/c_analysis/nwgt_analysis
3196- character*50 weights_info(max_weight_shower)
3197+ character*(wgts_info_len) weights_info(max_weight_shower)
3198 common/cwgtsinfo/weights_info
3199 c
3200 c Initialize histograms
3201
3202=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f'
3203--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f 2016-02-23 10:48:46 +0000
3204+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_leptons.f 2021-01-08 10:23:50 +0000
3205@@ -27,6 +27,7 @@
3206 SUBROUTINE PYABEG
3207 C USER''S ROUTINE FOR INITIALIZATION
3208 C----------------------------------------------------------------------
3209+ use HwU_wgts_info_len
3210 implicit none
3211 include 'reweight0.inc'
3212 c
3213@@ -59,7 +60,7 @@
3214 integer nwgt,max_weight,nwgt_analysis
3215 common/cnwgt/nwgt
3216 common/c_analysis/nwgt_analysis
3217- character*50 weights_info(max_weight_shower)
3218+ character*(wgts_info_len) weights_info(max_weight_shower)
3219 common/cwgtsinfo/weights_info
3220 c Initialize histograms
3221 call HwU_inithist(nwgt,weights_info)
3222
3223=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f'
3224--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f 2016-02-23 10:48:46 +0000
3225+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lplm.f 2021-01-08 10:23:50 +0000
3226@@ -27,6 +27,7 @@
3227 SUBROUTINE PYABEG
3228 C USER''S ROUTINE FOR INITIALIZATION
3229 C----------------------------------------------------------------------
3230+ use HwU_wgts_info_len
3231 implicit none
3232 include 'reweight0.inc'
3233 real * 8 bin,xmi,xms,pi
3234@@ -48,7 +49,7 @@
3235 integer nwgt,max_weight,nwgt_analysis
3236 common/cnwgt/nwgt
3237 common/c_analysis/nwgt_analysis
3238- character*50 weights_info(max_weight_shower)
3239+ character*(wgts_info_len) weights_info(max_weight_shower)
3240 common/cwgtsinfo/weights_info
3241 c Initialize histograms
3242 call HwU_inithist(nwgt,weights_info)
3243
3244=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f'
3245--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f 2016-02-23 10:48:46 +0000
3246+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_lvl.f 2021-01-08 10:23:50 +0000
3247@@ -27,6 +27,7 @@
3248 SUBROUTINE PYABEG
3249 C USER''S ROUTINE FOR INITIALIZATION
3250 C----------------------------------------------------------------------
3251+ use HwU_wgts_info_len
3252 implicit double precision(a-h, o-z)
3253 implicit integer(i-n)
3254 common/pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
3255@@ -50,7 +51,7 @@
3256 integer nwgt,max_weight,nwgt_analysis
3257 common/cnwgt/nwgt
3258 common/c_analysis/nwgt_analysis
3259- character*50 weights_info(max_weight_shower)
3260+ character*(wgts_info_len) weights_info(max_weight_shower)
3261 common/cwgtsinfo/weights_info
3262 c Initialize histograms
3263 call HwU_inithist(nwgt,weights_info)
3264
3265=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f'
3266--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f 2016-02-23 10:48:46 +0000
3267+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_taptam.f 2021-01-08 10:23:50 +0000
3268@@ -28,6 +28,7 @@
3269 SUBROUTINE PYABEG
3270 C USER''S ROUTINE FOR INITIALIZATION
3271 C----------------------------------------------------------------------
3272+ use HwU_wgts_info_len
3273 implicit none
3274 include 'reweight0.inc'
3275 integer j,kk,l,i
3276@@ -46,7 +47,7 @@
3277 integer nwgt,max_weight,nwgt_analysis
3278 common/cnwgt/nwgt
3279 common/c_analysis/nwgt_analysis
3280- character*50 weights_info(max_weight_shower)
3281+ character*(wgts_info_len) weights_info(max_weight_shower)
3282 common/cwgtsinfo/weights_info
3283 c
3284 c Initialize histograms
3285
3286=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f'
3287--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f 2016-02-23 10:48:46 +0000
3288+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_tj.f 2021-01-08 10:23:50 +0000
3289@@ -28,6 +28,7 @@
3290 SUBROUTINE PYABEG
3291 C USER''S ROUTINE FOR INITIALIZATION
3292 C----------------------------------------------------------------------
3293+ use HwU_wgts_info_len
3294 implicit none
3295 include 'reweight0.inc'
3296 REAL*8 pi
3297@@ -48,7 +49,7 @@
3298 integer nwgt,max_weight,nwgt_analysis
3299 common/cnwgt/nwgt
3300 common/c_analysis/nwgt_analysis
3301- character*50 weights_info(max_weight_shower)
3302+ character*(wgts_info_len) weights_info(max_weight_shower)
3303 common/cwgtsinfo/weights_info
3304 c
3305 c Initialize histograms
3306
3307=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f'
3308--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f 2016-02-23 10:48:46 +0000
3309+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx.f 2021-01-08 10:23:50 +0000
3310@@ -28,6 +28,7 @@
3311 SUBROUTINE PYABEG
3312 C USER''S ROUTINE FOR INITIALIZATION
3313 C----------------------------------------------------------------------
3314+ use HwU_wgts_info_len
3315 implicit none
3316 include 'reweight0.inc'
3317 REAL*8 pi
3318@@ -48,7 +49,7 @@
3319 integer nwgt,max_weight,nwgt_analysis
3320 common/cnwgt/nwgt
3321 common/c_analysis/nwgt_analysis
3322- character*50 weights_info(max_weight_shower)
3323+ character*(wgts_info_len) weights_info(max_weight_shower)
3324 common/cwgtsinfo/weights_info
3325 c
3326 c Initialize histograms
3327
3328=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f'
3329--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f 2016-02-23 10:48:46 +0000
3330+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_pp_ttx_v2.f 2021-01-08 10:23:50 +0000
3331@@ -28,6 +28,7 @@
3332 SUBROUTINE PYABEG
3333 C USER''S ROUTINE FOR INITIALIZATION
3334 C----------------------------------------------------------------------
3335+ use HwU_wgts_info_len
3336 implicit none
3337 include 'reweight0.inc'
3338 REAL*8 pi
3339@@ -48,7 +49,7 @@
3340 integer nwgt,max_weight,nwgt_analysis
3341 common/cnwgt/nwgt
3342 common/c_analysis/nwgt_analysis
3343- character*50 weights_info(max_weight_shower)
3344+ character*(wgts_info_len) weights_info(max_weight_shower)
3345 common/cwgtsinfo/weights_info
3346 c
3347 c Initialize histograms
3348
3349=== modified file 'Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f'
3350--- Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f 2016-02-23 10:48:46 +0000
3351+++ Template/NLO/MCatNLO/PYAnalyzer/py6an_HwU_rates.f 2021-01-08 10:23:50 +0000
3352@@ -23,6 +23,7 @@
3353 SUBROUTINE PYABEG
3354 C USER''S ROUTINE FOR INITIALIZATION
3355 C----------------------------------------------------------------------
3356+ use HwU_wgts_info_len
3357 implicit none
3358 include 'reweight0.inc'
3359 c
3360@@ -42,7 +43,7 @@
3361 integer nwgt,max_weight,nwgt_analysis
3362 common/cnwgt/nwgt
3363 common/c_analysis/nwgt_analysis
3364- character*50 weights_info(max_weight_shower)
3365+ character*(wgts_info_len) weights_info(max_weight_shower)
3366 common/cwgtsinfo/weights_info
3367 c Initialize histograms
3368 call HwU_inithist(nwgt,weights_info)
3369
3370=== modified file 'Template/NLO/MCatNLO/include/LHEFRead.h'
3371--- Template/NLO/MCatNLO/include/LHEFRead.h 2016-02-23 11:25:37 +0000
3372+++ Template/NLO/MCatNLO/include/LHEFRead.h 2021-01-08 10:23:50 +0000
3373@@ -2,6 +2,13 @@
3374 #include <iomanip>
3375 #include <string>
3376
3377+
3378+extern "C" {
3379+ int get_wgts_info_len(void);
3380+}
3381+
3382+const int wgts_info_len_used = 80;
3383+
3384 class MyReader {
3385
3386 private:
3387@@ -16,12 +23,22 @@
3388 LHEF::Reader reader;
3389
3390
3391- void lhef_read_wgtsinfo_(int &cwgtinfo_nn, char (cwgtinfo_weights_info[1024][50])) {
3392+ void lhef_read_wgtsinfo_(int &cwgtinfo_nn, char (cwgtinfo_weights_info[1024][wgts_info_len_used])) {
3393+
3394+ // check that wgts_info_len_used > wgts_info_len from the fortran module
3395+ if (wgts_info_len_used != get_wgts_info_len()) {
3396+ std::cout << " wgts_info_len_used is different from the corresponding quantity in HwU_wgts_info_len\n"
3397+ << " Please set wgts_info_len_used in LHEFRead.h to "<< get_wgts_info_len() <<"\n"
3398+ << " Program stopped.\n";
3399+ exit(1);
3400+ }
3401
3402 // Read header of event file
3403 std::stringstream hss;
3404 std::string hs;
3405- sprintf(cwgtinfo_weights_info[0], "%50s","central value");
3406+ std::stringstream format_str;
3407+ format_str <<"%"<<wgts_info_len_used<<"s";
3408+ sprintf(cwgtinfo_weights_info[0],format_str.str().c_str(),"central value");
3409 cwgtinfo_nn=1;
3410 while (true){
3411 hss << reader.headerBlock;
3412@@ -37,7 +54,7 @@
3413 if (hs.find("<weight id") != std::string::npos) {
3414 std::string sRWGT = hs.substr(hs.find("'>")+2,hs.find("</w")-3);
3415 sRWGT = sRWGT.substr(0,sRWGT.find("<"));
3416- sprintf(cwgtinfo_weights_info[cwgtinfo_nn],"%50s",sRWGT.c_str());
3417+ sprintf(cwgtinfo_weights_info[cwgtinfo_nn],format_str.str().c_str(),sRWGT.c_str());
3418 ++cwgtinfo_nn;
3419 }
3420 }
3421
3422=== modified file 'Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f'
3423--- Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f 2017-06-19 14:46:09 +0000
3424+++ Template/NLO/MCatNLO/srcHerwig/madfks_hwlhin.f 2021-01-08 10:23:50 +0000
3425@@ -125,6 +125,7 @@
3426 C Reads MC@NLO input headers and fills Les Houches run common HEPRUP
3427 C Event file is written by MadFKS
3428 C----------------------------------------------------------------------
3429+ use HwU_wgts_info_len
3430 INCLUDE 'HERWIG65.INC'
3431 C--Les Houches Common Blocks
3432 INTEGER MAXPUP
3433@@ -150,7 +151,7 @@
3434 include 'reweight0.inc'
3435 integer nwgt
3436 common/cnwgt/nwgt
3437- character*50 weights_info(max_weight_shower)
3438+ character*(wgts_info_len) weights_info(max_weight_shower)
3439 common/cwgtsinfo/weights_info
3440
3441 nwgt=1
3442
3443=== modified file 'Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f'
3444--- Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f 2017-06-19 14:46:09 +0000
3445+++ Template/NLO/MCatNLO/srcPythia/madfks_pylhin.f 2021-01-08 10:23:50 +0000
3446@@ -124,6 +124,7 @@
3447 C Reads MC@NLO input headers and fills Les Houches run common HEPRUP
3448 C Event file is written by MadFKS
3449 C----------------------------------------------------------------------
3450+ use HwU_wgts_info_len
3451 C--Les Houches Common Blocks
3452 INTEGER MAXPUP
3453 PARAMETER(MAXPUP=100)
3454@@ -149,7 +150,7 @@
3455 include 'reweight0.inc'
3456 integer nwgt
3457 common/cnwgt/nwgt
3458- character*50 weights_info(max_weight_shower)
3459+ character*(wgts_info_len) weights_info(max_weight_shower)
3460 common/cwgtsinfo/weights_info
3461 C
3462 numscales=0
3463
3464=== modified file 'Template/NLO/MCatNLO/srcPythia8/Pythia8.cc'
3465--- Template/NLO/MCatNLO/srcPythia8/Pythia8.cc 2017-07-25 14:13:14 +0000
3466+++ Template/NLO/MCatNLO/srcPythia8/Pythia8.cc 2021-01-08 10:23:50 +0000
3467@@ -21,7 +21,7 @@
3468 #define cevwgt cevwgt_
3469
3470 extern "C" {
3471- void pyabeg_(int&,char(*)[50]);
3472+ void pyabeg_(int&,char(*)[wgts_info_len_used]);
3473 void pyaend_(double&);
3474 void pyanal_(int&,double(*));
3475 }
3476@@ -30,7 +30,7 @@
3477 Pythia pythia;
3478
3479 int cwgtinfo_nn;
3480- char cwgtinfo_weights_info[1024][50];
3481+ char cwgtinfo_weights_info[1024][wgts_info_len_used];
3482 double cwgt_ww[1024];
3483
3484 string inputname="Pythia8.cmd",outputname="Pythia8.hep";
3485
3486=== modified file 'Template/NLO/MCatNLO/srcPythia8/Pythia82.cc'
3487--- Template/NLO/MCatNLO/srcPythia8/Pythia82.cc 2018-05-01 13:46:54 +0000
3488+++ Template/NLO/MCatNLO/srcPythia8/Pythia82.cc 2021-01-08 10:23:50 +0000
3489@@ -22,7 +22,7 @@
3490 #define cevwgt cevwgt_
3491
3492 extern "C" {
3493- void pyabeg_(int&,char(*)[50]);
3494+ void pyabeg_(int&,char(*)[wgts_info_len_used]);
3495 void pyaend_(double&);
3496 void pyanal_(int&,double(*));
3497 }
3498@@ -31,7 +31,7 @@
3499 Pythia pythia;
3500
3501 int cwgtinfo_nn;
3502- char cwgtinfo_weights_info[1024][50];
3503+ char cwgtinfo_weights_info[1024][wgts_info_len_used];
3504 double cwgt_ww[1024];
3505
3506 string inputname="Pythia8.cmd",outputname="Pythia8.hep";
3507
3508=== modified file 'Template/NLO/Source/PDF/makefile'
3509--- Template/NLO/Source/PDF/makefile 2018-04-16 14:08:47 +0000
3510+++ Template/NLO/Source/PDF/makefile 2021-01-08 10:23:50 +0000
3511@@ -13,16 +13,12 @@
3512 ifdef lhapdf
3513 ifeq ($(lhapdfversion),5)
3514 PDF = pdfwrap_lhapdf.o pdf_lhapdf.o pdg2pdf_lhapdf.o opendata.o
3515- else
3516- ifdef applgrid
3517- PDF = pdfwrap_lhapdf.o pdf_lhapdf.o pdg2pdf_lhapdf.o opendata.o
3518- else # lhapdf6
3519- ifeq ($(lhapdfsubversion),1) # 6.1.X
3520- PDF = pdfwrap_lhapdf.o pdf_lhapdf6.o pdg2pdf_lhapdf6.o opendata.o
3521- else # 6.2.X
3522- CXXFLAGS+=-std=c++11
3523- PDF = pdfwrap_lhapdf.o pdf_lhapdf62.o pdg2pdf_lhapdf6.o opendata.o
3524- endif
3525+ else # lhapdf v6
3526+ ifeq ($(lhapdfsubversion),1) # 6.1.X
3527+ PDF = pdfwrap_lhapdf.o pdf_lhapdf6.o pdg2pdf_lhapdf6.o opendata.o
3528+ else # 6.2.X
3529+ CXXFLAGS+=-std=c++11
3530+ PDF = pdfwrap_lhapdf.o pdf_lhapdf62.o pdg2pdf_lhapdf6.o opendata.o
3531 endif
3532 endif
3533 else
3534
3535=== modified file 'Template/NLO/Source/extra_weights.f'
3536--- Template/NLO/Source/extra_weights.f 2020-07-28 10:05:22 +0000
3537+++ Template/NLO/Source/extra_weights.f 2021-01-08 10:23:50 +0000
3538@@ -8,7 +8,7 @@
3539 integer :: iwgtnumpartn,jwgtinfo,mexternal
3540 $ ,lhaPDFid(0:maxPDFsets),nmemPDF(maxPDFsets)
3541 $ ,dyn_scale(0:maxdynscales),n_ctr_found,n_mom_conf
3542- $ ,QCD_power,orders_tag
3543+ $ ,QCD_power,orders_tag,amp_pos
3544 double precision :: wgtdegrem_xi,wgtdegrem_lxi,wgtdegrem_muF
3545 $ ,wgtnstmp,wgtwnstmpmuf,wgtwnstmpmur,wgtnstmp_avgvirt
3546 $ ,wgtref,scalevarR(0:maxscales),scalevarF(0:maxscales)
3547
3548=== modified file 'Template/NLO/Source/make_opts.inc'
3549--- Template/NLO/Source/make_opts.inc 2018-04-16 14:08:47 +0000
3550+++ Template/NLO/Source/make_opts.inc 2021-01-08 10:23:50 +0000
3551@@ -111,13 +111,14 @@
3552 endif
3553 endif
3554
3555-# Option APPLGrid
3556-ifneq ($(applgrid),)
3557- APPLLIBS=$(shell applgrid-config --ldcflags) $(shell amcfast-config --ldflags)
3558- applgrid_interface=appl_interface.o
3559+# Option PineAPPL
3560+ifneq ($(pineappl),)
3561+ APPLLIBS=$(shell pkg-config pineappl_capi --libs)
3562+ CXXFLAGS+=$(shell pkg-config pineappl_capi --cflags)
3563+ pineappl_interface=pineappl_interface.o
3564 else
3565 APPLLIBS=
3566- applgrid_interface=appl_interface_dummy.o
3567+ pineappl_interface=pineappl_interface_dummy.o
3568 endif
3569
3570 # Madloop
3571
3572=== modified file 'Template/NLO/Source/setrun.f'
3573--- Template/NLO/Source/setrun.f 2018-04-16 14:08:47 +0000
3574+++ Template/NLO/Source/setrun.f 2021-01-08 10:23:50 +0000
3575@@ -29,8 +29,8 @@
3576 integer nevents
3577 character*7 event_norm
3578 common /event_normalisation/event_norm
3579- integer iappl
3580- common /for_applgrid/ iappl
3581+ logical pineappl
3582+ common /for_pineappl/ pineappl
3583 integer idum
3584 logical fixed_order,nlo_ps
3585 common /c_fnlo_nlops/fixed_order,nlo_ps
3586
3587=== modified file 'Template/NLO/SubProcesses/ajob_template'
3588--- Template/NLO/SubProcesses/ajob_template 2017-02-13 10:00:30 +0000
3589+++ Template/NLO/SubProcesses/ajob_template 2021-01-08 10:23:50 +0000
3590@@ -31,6 +31,10 @@
3591 runnumber=$3
3592 integration_step=$4
3593
3594+FO_EXTRAPATHS=
3595+export LD_LIBRARY_PATH=$FO_EXTRAPATHS:$LD_LIBRARY_PATH
3596+export DYLD_LIBRARY_PATH=$FO_EXTRAPATHS:$DYLD_LIBRARY_PATH
3597+
3598 TAGTAGTAGTAGTAGTAGTAG for i in 1 ; do
3599
3600 if [[ $run_mode == 'all' || $run_mode == 'born' ]] ; then
3601
3602=== modified file 'Template/NLO/SubProcesses/cuts.f'
3603--- Template/NLO/SubProcesses/cuts.f 2020-06-21 21:31:33 +0000
3604+++ Template/NLO/SubProcesses/cuts.f 2021-01-08 10:23:50 +0000
3605@@ -175,7 +175,7 @@
3606
3607 c If we do not require a mimimum jet energy, there's no need to apply
3608 c jet clustering and all that.
3609- if (ptj.ne.0d0.or.ptgmin.ne.0d0) then
3610+ if (ptj.gt.0d0.or.ptgmin.gt.0d0) then
3611 c Put all (light) QCD partons in momentum array for jet clustering.
3612 c From the run_card.dat, maxjetflavor defines if b quark should be
3613 c considered here (via the logical variable 'is_a_jet'). nQCD becomes
3614@@ -284,7 +284,7 @@
3615 is_a_ph(i)=.false.
3616 endif
3617 enddo
3618- if (ptgmin.ne.0d0) then
3619+ if (ptgmin.gt.0d0) then
3620 nph=0
3621 do j=nincoming+1,nexternal
3622 if (is_a_ph(j)) then
3623@@ -442,150 +442,6 @@
3624
3625
3626
3627-
3628- subroutine recombine_momenta(R, etaph, reco_l, reco_q, p_in, pdg_in, p_out, pdg_out)
3629- implicit none
3630- ! recombine photons with the closest fermion if the distance is
3631- ! less than R and if the rapidity of photons is < etaph (etaph < 0
3632- ! means no cut). Output a new set of momenta and pdgs corresponding
3633- ! to the recombined particles. If recombination occurs the photon
3634- ! disappears from the output particles
3635- ! arguments
3636- include 'nexternal.inc'
3637- double precision R, etaph, p_in(0:4,nexternal), p_out(0:4,nexternal)
3638- logical reco_l, reco_q
3639- integer pdg_in(nexternal), pdg_out(nexternal)
3640- ! local variables
3641- integer nq, nl
3642- integer id_ph
3643- parameter (id_ph=22)
3644- integer n_ph, i_ph
3645- integer i,j
3646- integer ifreco
3647- double precision dreco, dthis
3648- integer skip
3649- logical is_light_charged_fermion
3650- double precision R2_04, eta_04
3651- !
3652- integer times_reco
3653- common/to_times_reco/ times_reco
3654- ! reset everything
3655- do j=1,nexternal
3656- pdg_out(j)=0
3657- do i=0,4
3658- p_out(i,j)=0d0
3659- enddo
3660- enddo
3661-
3662- ! check if we want to recombine with leptons
3663- if (reco_l) then
3664- nl = 3
3665- else
3666- nl = 0
3667- endif
3668-
3669- ! check if we want to recombine with quarks
3670- if (reco_q) then
3671- nq = 5
3672- else
3673- nq = 0
3674- endif
3675-
3676- ! count the photons
3677- n_ph=0
3678- do i=nincoming+1, nexternal
3679- if (pdg_in(i).eq.id_ph.and.
3680- $ (abs(eta_04(p_in(0,i))).lt.etaph.or.etaph.lt.0d0)) then
3681- n_ph=n_ph+1
3682- i_ph=i
3683- endif
3684- enddo
3685- if (n_ph.eq.0 .or. (nl.eq.0 .and. nq.eq.0)) then
3686- ! do nothing
3687- do j=1,nexternal
3688- pdg_out(j)=pdg_in(j)
3689- do i=0,4
3690- p_out(i,j)=p_in(i,j)
3691- enddo
3692- enddo
3693- return
3694- elseif (n_ph.eq.1) then
3695- ! do nothing for initial states
3696- do j=1,nincoming
3697- pdg_out(j)=pdg_in(j)
3698- do i=0,4
3699- p_out(i,j)=p_in(i,j)
3700- enddo
3701- enddo
3702- ! find the closest fermion to the photon
3703- ifreco=0
3704- dreco=R
3705- if (i_ph.gt.0) then
3706- do i = nincoming+1, nexternal
3707- if (is_light_charged_fermion(pdg_in(i),nq,nl)) then
3708- dthis=dsqrt(R2_04(p_in(0,i_ph),p_in(0,i)))
3709- if (dthis.le.dreco) then
3710- dreco=dthis
3711- ifreco=i
3712- endif
3713- endif
3714- enddo
3715- endif
3716- if (ifreco.eq.0) then
3717- ! do nothing also for final states
3718- do j=nincoming+1,nexternal
3719- pdg_out(j)=pdg_in(j)
3720- do i=0,4
3721- p_out(i,j)=p_in(i,j)
3722- enddo
3723- enddo
3724- else
3725- times_reco=times_reco+1
3726- skip=0
3727- do j=nincoming+1,nexternal
3728- if (j.ne.i_ph.and.j.ne.ifreco) then
3729- pdg_out(j-skip)=pdg_in(j)
3730- do i=0,4
3731- p_out(i,j-skip)=p_in(i,j)
3732- enddo
3733- elseif (j.eq.ifreco) then
3734- pdg_out(j-skip)=pdg_in(j)
3735- do i=0,3
3736- p_out(i,j-skip)=p_in(i,j)+p_in(i,i_ph)
3737- enddo
3738- p_out(4,j-skip)=p_in(4,j)
3739- elseif (j.eq.i_ph) then
3740- skip=skip+1
3741- endif
3742- enddo
3743- endif
3744- else
3745- write(*,*) 'ERROR, too many photons', n_ph
3746- stop 1
3747- endif
3748-
3749- return
3750- end
3751-
3752-
3753- logical function is_light_charged_fermion(id, nf, nl)
3754- implicit none
3755- integer id, nf, nl
3756- if (abs(id).le.nf) then
3757- is_light_charged_fermion = .true.
3758- elseif ((abs(id).eq.11.and.nl.ge.1).or.
3759- $ (abs(id).eq.13.and.nl.ge.2).or.
3760- $ (abs(id).eq.15.and.nl.ge.3)) then
3761- is_light_charged_fermion = .true.
3762- else
3763- is_light_charged_fermion = .false.
3764- endif
3765- return
3766- end
3767-
3768-
3769-
3770-
3771 C***************************************************************
3772 C***************************************************************
3773 C NO NEED TO CHANGE ANY OF THE FUNCTIONS BELOW
3774@@ -1128,3 +984,4 @@
3775 end
3776
3777
3778+
3779
3780=== modified file 'Template/NLO/SubProcesses/driver_mintFO.f'
3781--- Template/NLO/SubProcesses/driver_mintFO.f 2020-03-26 15:16:08 +0000
3782+++ Template/NLO/SubProcesses/driver_mintFO.f 2021-01-08 10:23:50 +0000
3783@@ -67,9 +67,9 @@
3784 include "timing_variables.inc"
3785 real*4 tOther, tTot
3786
3787-c applgrid
3788- integer iappl
3789- common /for_applgrid/ iappl
3790+c PineAPPL
3791+ logical pineappl
3792+ common /for_pineappl/ pineappl
3793 c stats for granny_is_res
3794 double precision deravg,derstd,dermax,xi_i_fks_ev_der_max
3795 & ,y_ij_fks_ev_der_max
3796@@ -160,10 +160,10 @@
3797 stop
3798 endif
3799 write(*,*) "about to integrate ", ndim,ncalls0,itmax
3800-c APPLgrid
3801- if (imode.eq.0) iappl=0 ! overwrite when starting completely fresh
3802- if(iappl.ne.0) then
3803- write(6,*) "Initializing aMCfast ..."
3804+c PineAPPL
3805+ if (imode.eq.0) pineappl=.False. ! overwrite when starting completely fresh
3806+ if(pineappl) then
3807+ write(6,*) "Initializing PineAPPL ..."
3808 c Set flavor map, starting from all possible
3809 c parton lumi configurations defined in initial_states_map.dat
3810 call setup_flavourmap
3811@@ -365,8 +365,9 @@
3812 common/ccalculatedBorn/calculatedBorn
3813 character*4 abrv
3814 common /to_abrv/ abrv
3815- integer iappl
3816- common /for_applgrid/ iappl
3817+c PineAPPL
3818+ logical pineappl
3819+ common /for_pineappl/ pineappl
3820 double precision wgt_ME_born,wgt_ME_real
3821 common /c_wgt_ME_tree/ wgt_ME_born,wgt_ME_real
3822 integer ini_fin_fks_map(0:2,0:fks_configs)
3823@@ -386,9 +387,9 @@
3824 write (*,*) 'ERROR ifl not equal to zero in sigint',ifl
3825 stop 1
3826 endif
3827- if (iappl.ne.0 .and. sum) then
3828- write (*,*) 'WARNING: applgrid only possible '/
3829- & /'with MC over FKS directories',iappl,sum
3830+ if (pineappl .and. sum) then
3831+ write (*,*) 'WARNING: PineAPPL only possible '/
3832+ & /'with MC over FKS directories',pineappl,sum
3833 write (*,*) 'Switching to MC over FKS directories'
3834 sum=.false.
3835 endif
3836@@ -501,13 +502,13 @@
3837 if (do_rwgt_pdf) call reweight_pdf
3838 endif
3839
3840- if (iappl.ne.0) then
3841+ if (pineappl) then
3842 if (sum) then
3843- write (*,*) 'ERROR: applgrid only possible '/
3844- & /'with MC over FKS directories',iappl,sum
3845+ write (*,*) 'ERROR: PineAPPL only possible '/
3846+ & /'with MC over FKS directories',pineappl,sum
3847 stop 1
3848 endif
3849- call fill_applgrid_weights(vegas_wgt)
3850+ call fill_pineappl_weights(vegas_wgt)
3851 endif
3852
3853 c Importance sampling for FKS configurations
3854
3855=== modified file 'Template/NLO/SubProcesses/fks_singular.f'
3856--- Template/NLO/SubProcesses/fks_singular.f 2020-07-28 10:05:22 +0000
3857+++ Template/NLO/SubProcesses/fks_singular.f 2021-01-08 10:23:50 +0000
3858@@ -43,6 +43,7 @@
3859 wgtcpower=0d0
3860 if (cpower_pos.gt.0) wgtcpower=dble(orders(cpower_pos))
3861 orders_tag=get_orders_tag(orders)
3862+ amp_pos=iamp
3863 wgt1=amp_split(iamp)*f_b/g**(qcd_power)
3864 call add_wgt(2,orders,wgt1,0d0,0d0)
3865 enddo
3866@@ -62,6 +63,7 @@
3867 wgtcpower=0d0
3868 if (cpower_pos.gt.0) wgtcpower=dble(orders(cpower_pos))
3869 orders_tag=get_orders_tag(orders)
3870+ amp_pos=iamp
3871 wgt6f1=amp_split_6to5f(iamp)*f_b/g**(qcd_power)
3872 wgt6f2=amp_split_6to5f_mur(iamp)*f_b/g**(qcd_power)
3873 wgt6f3=amp_split_6to5f_muf(iamp)*f_b/g**(qcd_power)
3874@@ -150,8 +152,10 @@
3875 alphasbpow = orders(qcd_pos)/2
3876 if (niglu.ne.0 .or. alphasbpow.ne.0) then
3877 ! this contribution will end up with one extra power
3878- ! of alpha_s
3879+ ! of alpha_s. Check that we are including the corresponding
3880+ ! order in the computation, otherwise skip the contribution
3881 orders(qcd_pos) = orders(qcd_pos) + 2
3882+ if (orders(qcd_pos).gt.nlo_orders(qcd_pos)) cycle
3883
3884 amp_split_6to5f_muf(orders_to_amp_split_pos(orders)) =
3885 & alphas / 3d0 / pi * TF * dble(niglu) * amp_split(iamp)
3886@@ -254,6 +258,7 @@
3887 wgtcpower=0d0
3888 if (cpower_pos.gt.0) wgtcpower=dble(orders(cpower_pos))
3889 orders_tag=get_orders_tag(orders)
3890+ amp_pos=iamp
3891 g22=g**(QCD_power)
3892 wgt1=amp_split_wgtnstmp(iamp)*f_nb/g22
3893 wgt2=amp_split_wgtwnstmpmur(iamp)*f_nb/g22
3894@@ -278,6 +283,7 @@
3895 wgtcpower=0d0
3896 if (cpower_pos.gt.0) wgtcpower=dble(orders(cpower_pos))
3897 orders_tag=get_orders_tag(orders)
3898+ amp_pos=iamp
3899 virt_wgt_mint(iamp)=amp_split_virt(iamp)*f_nb
3900 born_wgt_mint(iamp)=amp_split_born_for_virt(iamp)*f_nb
3901 wgt1=virt_wgt_mint(iamp)/g**(QCD_power)
3902@@ -322,6 +328,7 @@
3903 wgtcpower=0d0
3904 if (cpower_pos.gt.0) wgtcpower=dble(orders(cpower_pos))
3905 orders_tag=get_orders_tag(orders)
3906+ amp_pos=iamp
3907 wgt1=amp_split(iamp)*s_ev*f_r/g**(qcd_power)
3908 if (sudakov_damp.gt.0d0) then
3909 call add_wgt(1,orders,wgt1*sudakov_damp,0d0,0d0)
3910@@ -385,6 +392,7 @@
3911 wgtcpower=0d0
3912 if (cpower_pos.gt.0) wgtcpower=dble(orders(cpower_pos))
3913 orders_tag=get_orders_tag(orders)
3914+ amp_pos=iamp
3915 g22=g**(QCD_power)
3916 if (replace_MC_subt.gt.0d0) then
3917 wgt1=amp_split(iamp)*s_s/g22*replace_MC_subt
3918@@ -478,6 +486,7 @@
3919 wgtcpower=0d0
3920 if (cpower_pos.gt.0) wgtcpower=dble(orders(cpower_pos))
3921 orders_tag=get_orders_tag(orders)
3922+ amp_pos=iamp
3923 g22=g**(QCD_power)
3924 if (replace_MC_subt.gt.0d0) then
3925 wgt1=amp_split(iamp)*s_c/g22*replace_MC_subt
3926@@ -587,6 +596,7 @@
3927 wgtcpower=0d0
3928 if (cpower_pos.gt.0) wgtcpower=dble(orders(cpower_pos))
3929 orders_tag=get_orders_tag(orders)
3930+ amp_pos=iamp
3931 g22=g**(QCD_power)
3932 if (replace_MC_subt.gt.0d0) then
3933 wgt1=-amp_split(iamp)*s_sc/g22*replace_MC_subt
3934@@ -692,6 +702,7 @@
3935 wgtcpower=0d0
3936 if (cpower_pos.gt.0) wgtcpower=dble(orders(cpower_pos))
3937 orders_tag=get_orders_tag(orders)
3938+ amp_pos=iamp
3939 g22=g**(QCD_power)
3940 wgt1=sevmc*f_MC_S*xlum_mc_fact*
3941 & amp_split_xmcxsec(iamp,i)/g22
3942@@ -980,7 +991,7 @@
3943 include 'genps.inc'
3944 include 'timing_variables.inc'
3945 double precision pi,vegas_wgt
3946- integer i
3947+ integer i,j
3948 logical firsttime
3949 data firsttime /.true./
3950 parameter (pi=3.1415926535897932385d0)
3951@@ -1002,16 +1013,17 @@
3952 & fkssymmetryfactorDeg,ngluons,nquarks,nphotons
3953 double precision f_b,f_nb
3954 common /factor_nbody/ f_b,f_nb
3955- integer iappl
3956- common /for_applgrid/ iappl
3957+ logical pineappl
3958+ common /for_pineappl/ pineappl
3959 logical needrndec
3960 parameter (needrndec=.false.)
3961 real*8 ran2
3962 external ran2
3963 real*8 rndec(10)
3964 common/crndec/rndec
3965- include "appl_common.inc"
3966- !!!include "orders.inc"
3967+ include "pineappl_common.inc"
3968+ integer orders(nsplitorders)
3969+C
3970 call cpu_time(tBefore)
3971 c Random numbers to be used in the plotting routine: these numbers will
3972 c not change between events, counter events and n-body contributions.
3973@@ -1021,7 +1033,15 @@
3974 enddo
3975 endif
3976 if (firsttime) then
3977- if (iappl.ne.0) appl_amp_split_size = amp_split_size
3978+ if (pineappl) then
3979+ ! PineAPPL stuff
3980+ appl_amp_split_size = amp_split_size
3981+ do j=1,amp_split_size
3982+ call amp_split_pos_to_orders(j, orders)
3983+ appl_qcdpower(j) = orders(qcd_pos)
3984+ appl_qedpower(j) = orders(qed_pos)
3985+ enddo
3986+ endif
3987 c Initialize hiostograms for fixed order runs
3988 if (fixed_order) call initplot
3989 firsttime=.false.
3990@@ -1565,6 +1585,7 @@
3991 qcdpower(icontr)=QCD_power
3992 cpower(icontr)=wgtcpower
3993 orderstag(icontr)=orders_tag
3994+ amppos(icontr)=amp_pos
3995 ipr(icontr)=0
3996 call set_pdg(icontr,nFKSprocess)
3997
3998@@ -2264,17 +2285,18 @@
3999 return
4000 end
4001
4002- subroutine fill_applgrid_weights(vegas_wgt)
4003-c Fills the ApplGrid weights of appl_common.inc. This subroutine assumes
4004+ subroutine fill_pineappl_weights(vegas_wgt)
4005+c Fills the FineAPPL weights of pineappl_common.inc. This subroutine assumes
4006 c that there is an unique PS configuration: at most one Born, one real
4007 c and one set of counter terms. Among other things, this means that one
4008 c must do MC over FKS directories.
4009 use weight_lines
4010 implicit none
4011 include 'nexternal.inc'
4012- include 'appl_common.inc'
4013+ include 'pineappl_common.inc'
4014 include 'nFKSconfigs.inc'
4015 include 'genps.inc'
4016+ integer orders(nsplitorders)
4017 integer i,j
4018 double precision final_state_rescaling,vegas_wgt
4019 integer flavour_map(fks_configs)
4020@@ -2284,24 +2306,18 @@
4021 common/cproc_combination/iproc_save,eto,etoi,maxproc_found
4022 integer lo_qcd_to_amp_pos, nlo_qcd_to_amp_pos
4023 integer pos
4024- if (icontr.gt.8) then
4025- write (*,*) 'ERROR: too many applgrid weights. '/
4026- & /'Should have at most one of each itype.',icontr
4027- stop 1
4028- endif
4029- do j=1,amp_split_size
4030- do i=1,4
4031+ do i=1,4
4032+ do j=1,amp_split_size
4033 appl_w0(i,j)=0d0
4034 appl_wR(i,j)=0d0
4035 appl_wF(i,j)=0d0
4036 appl_wB(i,j)=0d0
4037- appl_x1(i,j)=0d0
4038- appl_x2(i,j)=0d0
4039- appl_QES2(i,j)=0d0
4040- appl_muR2(i,j)=0d0
4041- appl_muF2(i,j)=0d0
4042- appl_qcdpower(i,j) = -1
4043 enddo
4044+ appl_x1(i)=0d0
4045+ appl_x2(i)=0d0
4046+ appl_QES2(i)=0d0
4047+ appl_muR2(i)=0d0
4048+ appl_muF2(i)=0d0
4049 appl_flavmap(i)=0
4050 enddo
4051 appl_event_weight = 0d0
4052@@ -2316,62 +2332,63 @@
4053 else
4054 pos = nlo_qcd_to_amp_pos(qcdpower(i))
4055 endif
4056+ ! consistency check
4057+ if (appl_qcdpower(pos).ne.qcdpower(i)) then
4058+ write(*,*) 'ERROR in fill_pineappl_weights, QCDpower',
4059+ % appl_qcdpower(pos), qcdpower(i)
4060+ stop 1
4061+ endif
4062
4063 if (itype(i).eq.1) then
4064 c real
4065 appl_w0(1,pos)=appl_w0(1,pos)+wgt(1,i)*final_state_rescaling
4066- appl_qcdpower(1,pos)=qcdpower(i)
4067- appl_x1(1,pos)=bjx(1,i)
4068- appl_x2(1,pos)=bjx(2,i)
4069+ appl_x1(1)=bjx(1,i)
4070+ appl_x2(1)=bjx(2,i)
4071 appl_flavmap(1) = flavour_map(nFKS(i))
4072- appl_QES2(1,pos)=scales2(1,i)
4073- appl_muR2(1,pos)=scales2(2,i)
4074- appl_muF2(1,pos)=scales2(3,i)
4075+ appl_QES2(1)=scales2(1,i)
4076+ appl_muR2(1)=scales2(2,i)
4077+ appl_muF2(1)=scales2(3,i)
4078 elseif (itype(i).eq.2) then
4079 c born
4080 appl_wB(2,pos)=appl_wB(2,pos)+wgt(1,i)*final_state_rescaling
4081- appl_qcdpower(2,pos)=qcdpower(i)
4082- appl_x1(2,pos)=bjx(1,i)
4083- appl_x2(2,pos)=bjx(2,i)
4084+ appl_x1(2)=bjx(1,i)
4085+ appl_x2(2)=bjx(2,i)
4086 appl_flavmap(2) = flavour_map(nFKS(i))
4087- appl_QES2(2,pos)=scales2(1,i)
4088- appl_muR2(2,pos)=scales2(2,i)
4089- appl_muF2(2,pos)=scales2(3,i)
4090+ appl_QES2(2)=scales2(1,i)
4091+ appl_muR2(2)=scales2(2,i)
4092+ appl_muF2(2)=scales2(3,i)
4093 elseif (itype(i).eq.3 .or. itype(i).eq.4 .or. itype(i).eq.14
4094 & .or. itype(i).eq.15)then
4095 c virtual, soft-virtual or soft-counter
4096 appl_w0(2,pos)=appl_w0(2,pos)+wgt(1,i)*final_state_rescaling
4097 appl_wR(2,pos)=appl_wR(2,pos)+wgt(2,i)*final_state_rescaling
4098 appl_wF(2,pos)=appl_wF(2,pos)+wgt(3,i)*final_state_rescaling
4099- appl_qcdpower(2,pos)=qcdpower(i)
4100- appl_x1(2,pos)=bjx(1,i)
4101- appl_x2(2,pos)=bjx(2,i)
4102+ appl_x1(2)=bjx(1,i)
4103+ appl_x2(2)=bjx(2,i)
4104 appl_flavmap(2) = flavour_map(nFKS(i))
4105- appl_QES2(2,pos)=scales2(1,i)
4106- appl_muR2(2,pos)=scales2(2,i)
4107- appl_muF2(2,pos)=scales2(3,i)
4108+ appl_QES2(2)=scales2(1,i)
4109+ appl_muR2(2)=scales2(2,i)
4110+ appl_muF2(2)=scales2(3,i)
4111 elseif (itype(i).eq.5) then
4112 c collinear counter
4113 appl_w0(3,pos)=appl_w0(3,pos)+wgt(1,i)*final_state_rescaling
4114 appl_wF(3,pos)=appl_wF(3,pos)+wgt(3,i)*final_state_rescaling
4115- appl_qcdpower(3,pos)=qcdpower(i)
4116- appl_x1(3,pos)=bjx(1,i)
4117- appl_x2(3,pos)=bjx(2,i)
4118+ appl_x1(3)=bjx(1,i)
4119+ appl_x2(3)=bjx(2,i)
4120 appl_flavmap(3) = flavour_map(nFKS(i))
4121- appl_QES2(3,pos)=scales2(1,i)
4122- appl_muR2(3,pos)=scales2(2,i)
4123- appl_muF2(3,pos)=scales2(3,i)
4124+ appl_QES2(3)=scales2(1,i)
4125+ appl_muR2(3)=scales2(2,i)
4126+ appl_muF2(3)=scales2(3,i)
4127 elseif (itype(i).eq.6) then
4128 c soft-collinear counter
4129 appl_w0(4,pos)=appl_w0(4,pos)+wgt(1,i)*final_state_rescaling
4130 appl_wF(4,pos)=appl_wF(4,pos)+wgt(3,i)*final_state_rescaling
4131- appl_qcdpower(4,pos)=qcdpower(i)
4132- appl_x1(4,pos)=bjx(1,i)
4133- appl_x2(4,pos)=bjx(2,i)
4134+ appl_x1(4)=bjx(1,i)
4135+ appl_x2(4)=bjx(2,i)
4136 appl_flavmap(4) = flavour_map(nFKS(i))
4137- appl_QES2(4,pos)=scales2(1,i)
4138- appl_muR2(4,pos)=scales2(2,i)
4139- appl_muF2(4,pos)=scales2(3,i)
4140+ appl_QES2(4)=scales2(1,i)
4141+ appl_muR2(4)=scales2(2,i)
4142+ appl_muF2(4)=scales2(3,i)
4143 endif
4144 enddo
4145 return
4146@@ -2516,6 +2533,8 @@
4147 ! stuff for plotting the different splitorders
4148 integer orders_tag_plot
4149 common /corderstagplot/ orders_tag_plot
4150+ integer amp_pos_plot
4151+ common /campposplot/ amp_pos_plot
4152 save max_weight
4153 call cpu_time(tBefore)
4154 if (icontr.eq.0) return
4155@@ -2526,12 +2545,27 @@
4156 do j=1,iwgt
4157 plot_wgts(j,i)=0d0
4158 enddo
4159+ ! The following if lines have been changed with respect to the
4160+ ! usual (with just 3 plot ids: 20, 11 and 12):
4161+ ! The kinematics of soft and collinear counterterms may
4162+ ! be different, for those processes without soft singularities
4163+ ! from initial(final)-state configurations when the
4164+ ! final(initial) confs are integrated (e.g. a a > e+ e-)
4165+ ! This gives no problem for normal histogramming (and in
4166+ ! fact plot_id 11 13 and 14 are merged into ibody=2 in
4167+ ! outfun, but it gives troubles e.g. with applgrid/pineappl.
4168+ ! Note that the separation between soft and soft-virtual
4169+ ! may not be needed in reality
4170 if (itype(i).eq.2) then
4171 plot_id(i)=20 ! Born
4172 elseif(itype(i).eq.1) then
4173 plot_id(i)=11 ! real-emission
4174+ elseif(itype(i).eq.5) then
4175+ plot_id(i)=13 ! collinear counter term
4176+ elseif(itype(i).eq.6) then
4177+ plot_id(i)=14 ! soft collinear counter term
4178 else
4179- plot_id(i)=12 ! soft-virtual and counter terms
4180+ plot_id(i)=12 ! soft-virtual and soft counter term
4181 endif
4182 c Loop over all previous icontr. If the plot_id, PDGs and momenta are
4183 c equal to a previous icountr, add the current weight to the plot_wgts
4184@@ -2541,12 +2575,12 @@
4185 do ii=1,i
4186 if (orderstag(ii).ne.orderstag(i)) cycle
4187 if (plot_id(ii).ne.plot_id(i)) cycle
4188- if (plot_id(i).eq.20 .or. plot_id(i).eq.12) then
4189+ if (plot_id(i).ne.11) then
4190 if (.not.pdg_equal(pdg_uborn(1,ii),pdg_uborn(1,i))) cycle
4191 else
4192 if (.not.pdg_equal(pdg(1,ii),pdg(1,i))) cycle
4193 endif
4194- if (plot_id(i).eq.20 .or. plot_id(i).eq.12) then
4195+ if (plot_id(i).ne.11) then
4196 if (.not.momenta_equal_uborn(momenta(0,1,ii),momenta(0,1
4197 $ ,i),fks_j_d(nFKS(ii)),fks_i_d(nFKS(ii))
4198 $ ,fks_j_d(nFKS(i)) ,fks_i_d(nFKS(i)))) cycle
4199@@ -2576,6 +2610,7 @@
4200 enddo
4201 c call the analysis/histogramming routines
4202 orders_tag_plot=orderstag(i)
4203+ amp_pos_plot=amppos(i)
4204 call outfun(momenta(0,1,i),y_bst(i),www,pdg(1,i),plot_id(i))
4205 endif
4206 enddo
4207
4208=== modified file 'Template/NLO/SubProcesses/handling_lhe_events.f'
4209--- Template/NLO/SubProcesses/handling_lhe_events.f 2020-07-28 10:05:22 +0000
4210+++ Template/NLO/SubProcesses/handling_lhe_events.f 2021-01-08 10:23:50 +0000
4211@@ -113,7 +113,7 @@
4212 include './cuts.inc'
4213 integer lhaid
4214 character*20 pdlabel
4215- integer iappl
4216+ logical pineappl
4217 character*7 event_norm
4218 character*13 temp
4219 c other parameter
4220
4221=== modified file 'Template/NLO/SubProcesses/iproc_map.f'
4222--- Template/NLO/SubProcesses/iproc_map.f 2017-07-31 08:48:20 +0000
4223+++ Template/NLO/SubProcesses/iproc_map.f 2021-01-08 10:23:50 +0000
4224@@ -205,7 +205,7 @@
4225
4226 ************************************************************************
4227 * The following routine sets up the flavour map that needs to be
4228-* feeded to APPLgrid in the initialization stage.
4229+* feeded to PineAPPL in the initialization stage.
4230 ************************************************************************
4231 subroutine setup_flavourmap
4232 *
4233@@ -215,8 +215,8 @@
4234 include 'nexternal.inc'
4235 include 'genps.inc'
4236 include "leshouche_decl.inc"
4237- include "reweight_appl.inc"
4238- include "appl_common.inc"
4239+ include "reweight_pineappl.inc"
4240+ include "pineappl_common.inc"
4241 *
4242 character*200 buffer
4243 integer procnum,i,l,j,ll,found_a,found_m
4244@@ -251,8 +251,18 @@
4245 * Read the file using a buffer
4246 do
4247 read (71,'(a)',err=100,end=100) buffer ! Jump to line 100 when all lines read
4248+ write(*,*) buffer
4249 read (buffer,*) kpdflumi,nproc(kpdflumi),
4250 1 ((pdgs(i,j,kpdflumi),i=1,2),j=1,nproc(kpdflumi))
4251+ ! check that the allocated arrays are big enough
4252+ if (kpdflumi.gt.mxpdflumi) then
4253+ write(*,*) 'ERROR in iproc_map.f, too many processes'
4254+ write(*,*) 'increase mxpdflumi and max_nproc' //
4255+ % ' inside appl_comon.inc'
4256+ write(*,*) 'and __max_nproc__ in pineappl_interface.cc'
4257+ write(*,*) 'Make sure to assign all variables the same value!'
4258+ stop 1
4259+ endif
4260 appl_nproc(kpdflumi) = nproc(kpdflumi)
4261 enddo
4262 100 continue
4263
4264=== modified file 'Template/NLO/SubProcesses/madfks_plot.f'
4265--- Template/NLO/SubProcesses/madfks_plot.f 2018-12-21 15:27:32 +0000
4266+++ Template/NLO/SubProcesses/madfks_plot.f 2021-01-08 10:23:50 +0000
4267@@ -11,9 +11,9 @@
4268 double precision xsecScale_acc(maxscales,maxscales,maxdynscales)
4269 $ ,xsecPDFr_acc(0:maxPDFs,maxPDFsets)
4270 common /scale_pdf_print/xsecScale_acc,xsecPDFr_acc
4271- integer iappl
4272- common /for_applgrid/ iappl
4273- include "appl_common.inc"
4274+ logical pineappl
4275+ common /for_pineappl/ pineappl
4276+ include "pineappl_common.inc"
4277 nwgt=1
4278 if (.not.allocated(weights_info)) allocate(weights_info(1))
4279 weights_info(nwgt)="central value "
4280@@ -109,7 +109,7 @@
4281 c start with central member of the first set
4282 call InitPDFm(1,0)
4283 endif
4284- if(iappl.ne.0)then
4285+ if(pineappl)then
4286 c Initialize grid parameters to negative values.
4287 appl_Q2min = -1d0
4288 appl_Q2max = -1d0
4289@@ -159,14 +159,14 @@
4290 double precision xsecScale_acc(maxscales,maxscales,maxdynscales)
4291 $ ,xsecPDFr_acc(0:maxPDFs,maxPDFsets)
4292 common /scale_pdf_print/xsecScale_acc,xsecPDFr_acc
4293- integer iappl
4294- common /for_applgrid/ iappl
4295- include "appl_common.inc"
4296+ logical pineappl
4297+ common /for_pineappl/ pineappl
4298+ include "pineappl_common.inc"
4299 c
4300 xnorm=1.d0/float(ncalls0)
4301 if(useitmax)xnorm=xnorm/float(itmax)
4302-c Normalization factor for the APPLgrid grids
4303- if(iappl.ne.0) appl_norm_histo = 1d0 / dble(ncalls0*itmax)
4304+c Normalization factor for the PineAPPL grids
4305+ if(pineappl) appl_norm_histo = 1d0 / dble(ncalls0*itmax)
4306 call analysis_end(xnorm)
4307 c Write the accumulated results to a file
4308 open (unit=34,file='scale_pdf_dependence.dat',status='unknown')
4309@@ -242,13 +242,17 @@
4310 double precision xsecScale_acc(maxscales,maxscales,maxdynscales)
4311 $ ,xsecPDFr_acc(0:maxPDFs,maxPDFsets)
4312 common /scale_pdf_print/xsecScale_acc,xsecPDFr_acc
4313- integer iappl
4314- common /for_applgrid/ iappl
4315- include "appl_common.inc"
4316-c Born, n-body or (n+1)-body contribution:
4317+ integer amp_pos_plot
4318+ common /campposplot/ amp_pos_plot
4319+ logical pineappl
4320+ common /for_pineappl/ pineappl
4321+ include "pineappl_common.inc"
4322+c Born, n-body or (n+1)-body contribution. For more information
4323+C about itype, see the comments about plot_id inside
4324+C the fill_plot subroutine of fks_singular.f
4325 if(itype.eq.11) then
4326 ibody=1 ! (n+1)-body
4327- elseif(itype.eq.12)then
4328+ elseif(itype.ge.12 .and. itype.le.14)then
4329 ibody=2 ! n-body
4330 elseif(itype.eq.20)then
4331 ibody=3 ! Born
4332@@ -275,8 +279,21 @@
4333 enddo
4334 p(4,i)=pmass(i)
4335 enddo
4336- if(iappl.ne.0)then
4337- appl_itype = ibody
4338+ if(pineappl)then
4339+ appl_itype = ibody
4340+ if(ibody.eq.2)then
4341+c special treatment for collinear
4342+c and soft collinear counterterms
4343+c (see comments inside the fill_plots subroutine)
4344+ if(itype.eq.13)then
4345+ !collinear counterterm
4346+ appl_itype = 4
4347+ elseif(itype.eq.14)then
4348+ !solf-collinear counterterm
4349+ appl_itype = 5
4350+ endif
4351+ endif
4352+ appl_amp_pos = amp_pos_plot
4353 appl_www_histo = www(1)
4354 endif
4355 call analysis_fill(p,istatus,ipdg,www,ibody)
4356
4357=== modified file 'Template/NLO/SubProcesses/makefile_fks_dir'
4358--- Template/NLO/SubProcesses/makefile_fks_dir 2020-07-28 10:05:22 +0000
4359+++ Template/NLO/SubProcesses/makefile_fks_dir 2021-01-08 10:23:50 +0000
4360@@ -25,17 +25,19 @@
4361 $(LIBDIR)libpdf.a $(LIBDIR)libcernlib.a
4362
4363 # Files for all executables
4364-FILES= $(patsubst %.f,%.o,$(wildcard parton_lum_*.f)) $(patsubst \
4365- %.f,%.o,$(wildcard matrix_*.f)) FKSParams.o real_me_chooser.o \
4366- chooser_functions.o genps_fks.o setcuts.o setscales.o \
4367- veto_xsec.o $(patsubst %.f,%.o,$(wildcard b_sf_???.f)) \
4368- born.o sborn_sf.o extra_cnt_wrapper.o $(patsubst \
4369- %.f,%.o,$(wildcard born_cnt_*.f)) fks_Sij.o \
4370- $(fastjetfortran_madfks) fks_singular.o montecarlocounter.o \
4371- reweight_xsec.o boostwdir2.o initcluster.o cluster.o \
4372- splitorders_stuff.o reweight.o get_color.o \
4373- iproc_map.o MC_integer.o $(reweight_xsec_events_pdf_dummy) \
4374- $(applgrid_interface) weight_lines.o mint_module.o polfit.o
4375+FILES= $(patsubst %.f,%.o,$(wildcard parton_lum_*.f)) \
4376+ $(patsubst %.f,%.o,$(wildcard matrix_*.f)) \
4377+ FKSParams.o real_me_chooser.o chooser_functions.o recmom.o \
4378+ genps_fks.o setcuts.o setscales.o veto_xsec.o \
4379+ $(patsubst %.f,%.o,$(wildcard b_sf_???.f)) \
4380+ born.o sborn_sf.o extra_cnt_wrapper.o \
4381+ $(patsubst %.f,%.o,$(wildcard born_cnt_*.f)) \
4382+ fks_Sij.o $(fastjetfortran_madfks) fks_singular.o \
4383+ montecarlocounter.o reweight_xsec.o boostwdir2.o \
4384+ initcluster.o cluster.o splitorders_stuff.o \
4385+ reweight.o get_color.o iproc_map.o \
4386+ MC_integer.o $(reweight_xsec_events_pdf_dummy) \
4387+ $(pineappl_interface) weight_lines.o mint_module.o polfit.o
4388
4389 # Files needed for mintFO & mintMC
4390 RUN= $(FO_ANALYSE) $(FILES) cuts.o pythia_unlops.o recluster.o \
4391@@ -58,7 +60,7 @@
4392 SYM= $(RUN) BinothLHADummy.o symmetry_fks_v3.o write_ajob.o
4393
4394 # Files for event reweighting to get e.g. scale and PDF uncertainties
4395-RWGFILES=reweight_xsec_events.o handling_lhe_events.o \
4396+RWGFILES=reweight_xsec_events.o handling_lhe_events.o recmom.o \
4397 $(patsubst %.f,%.o,$(wildcard parton_lum_*.f)) setscales.o \
4398 cuts.o $(fastjetfortran_madfks) boostwdir2.o veto_xsec.o \
4399 $(reweight_xsec_events_pdf_dummy) fill_MC_mshell.o cluster.o \
4400@@ -86,17 +88,17 @@
4401 $(CXX) $(CXXFLAGS) -c -I. -I$(ANADIR) $(FO_INCLUDEPATHS) $^
4402
4403 gensym: $(SYM)
4404- $(FC) $(LDFLAGS) -o gensym $(SYM) $(APPLLIBS) $(LINKLIBS) $(FJLIBS)
4405+ $(FC) $(LDFLAGS) -o gensym $(SYM) $(APPLLIBS) $(LINKLIBS) $(FO_EXTRAPATHS) $(FO_EXTRALIBS) $(FJLIBS)
4406 rm fks_singular.o
4407 strip gensym
4408
4409 test_soft_col_limits: $(TEST)
4410- $(FC) $(LDFLAGS) -o test_soft_col_limits $(TEST) $(APPLLIBS) $(LINKLIBS) $(FJLIBS)
4411+ $(FC) $(LDFLAGS) -o test_soft_col_limits $(TEST) $(APPLLIBS) $(LINKLIBS) $(FO_EXTRAPATHS) $(FO_EXTRALIBS) $(FJLIBS)
4412 rm test_soft_col_limits.o
4413 strip test_soft_col_limits
4414
4415 check_poles: $(POLES) $(libmadloop)
4416- $(FC) -o check_poles $(POLES) $(NLOLIBS) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) $(LDFLAGS)
4417+ $(FC) -o check_poles $(POLES) $(NLOLIBS) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) $(FO_EXTRAPATHS) $(FO_EXTRALIBS) $(LDFLAGS)
4418 strip check_poles
4419
4420 madevent_mintMC: $(MINTMC) $(libmadloop) makefile $(LIBS)
4421
4422=== modified file 'Template/NLO/SubProcesses/open_output_files.f'
4423--- Template/NLO/SubProcesses/open_output_files.f 2015-03-05 16:12:37 +0000
4424+++ Template/NLO/SubProcesses/open_output_files.f 2021-01-08 10:23:50 +0000
4425@@ -32,6 +32,18 @@
4426 subroutine HwU_write_file
4427 implicit none
4428 double precision xnorm
4429+c PineAPPL commons (this may not be the best place to put it)
4430+ include "reweight_pineappl.inc"
4431+ include "pineappl_common.inc"
4432+ logical pineappl
4433+ common /for_pineappl/ pineappl
4434+ integer j
4435+ if(pineappl)then
4436+ do j=1,nh_obs
4437+ appl_obs_num = j
4438+ call APPL_term
4439+ enddo
4440+ endif
4441 open (unit=99,file='MADatNLO.HwU',status='unknown')
4442 xnorm=1d0
4443 call HwU_output(99,xnorm)
4444
4445=== renamed file 'Template/NLO/SubProcesses/appl_common.inc' => 'Template/NLO/SubProcesses/pineappl_common.inc'
4446--- Template/NLO/SubProcesses/appl_common.inc 2016-02-10 14:18:55 +0000
4447+++ Template/NLO/SubProcesses/pineappl_common.inc 2021-01-08 10:23:50 +0000
4448@@ -1,37 +1,36 @@
4449 * -*-fortran-*-
4450 ************************************************************************
4451 * NLO mode of aMC@NLO
4452+* Common blocks needed for the PineAPPL interface
4453 ************************************************************************
4454 include 'orders.inc'
4455 * Amp split size
4456 integer appl_amp_split_size
4457- common / appl_common_fixed / appl_amp_split_size
4458+ integer appl_qcdpower(amp_split_size), appl_qedpower(amp_split_size)
4459+ common / appl_common_fixed / appl_amp_split_size, appl_qcdpower, appl_qedpower
4460
4461 * Initial state map to be used together with the info in appl_flavmap
4462 integer appl_nlumi
4463- integer mxpdflumi
4464- integer max_nproc
4465- parameter(mxpdflumi=121,max_nproc=121)
4466+ include 'pineappl_maxproc.inc'
4467 integer appl_nproc(mxpdflumi)
4468 integer appl_lumimap(2,max_nproc,mxpdflumi)
4469 common / appl_common_lumi / appl_lumimap,appl_nproc,appl_nlumi
4470
4471 * Event weights, kinematics, observables etc. that are different event by event
4472- double precision appl_x1(4, amp_split_size),
4473- 1 appl_x2(4, amp_split_size)
4474- double precision appl_muF2(4, amp_split_size),
4475- 1 appl_muR2(4, amp_split_size),
4476- 2 appl_QES2(4, amp_split_size)
4477+ double precision appl_x1(4),
4478+ 1 appl_x2(4)
4479+ double precision appl_muF2(4),
4480+ 1 appl_muR2(4),
4481+ 2 appl_QES2(4)
4482 double precision appl_w0(4, amp_split_size),
4483 1 appl_wR(4, amp_split_size),
4484 2 appl_wF(4, amp_split_size),
4485 3 appl_wB(4, amp_split_size)
4486- integer appl_qcdpower(4, amp_split_size)
4487 integer appl_flavmap(4)
4488 common / appl_common_weights / appl_x1,appl_x2,
4489 1 appl_muF2,appl_muR2,appl_QES2,
4490 2 appl_w0,appl_wR,appl_wF,appl_wB,
4491- 3 appl_flavmap,appl_qcdpower
4492+ 3 appl_flavmap
4493
4494 * Parameters of the grids.
4495 * These parameters can optionally be singularly specified by the user,
4496@@ -52,6 +51,7 @@
4497 double precision appl_obs_bins(0:100)
4498 integer appl_obs_nbins
4499 integer appl_itype
4500+ integer appl_amp_pos
4501 integer appl_obs_num
4502 common / appl_common_histokin / appl_www_histo,appl_norm_histo,
4503 1 appl_obs_histo,
4504@@ -59,10 +59,11 @@
4505 3 appl_obs_bins,
4506 4 appl_obs_nbins,
4507 5 appl_itype,
4508+ 5 appl_amp_pos,
4509 6 appl_obs_num
4510
4511 * This is the actual hadronic event weight, computed with the LHAPDF set
4512-* defined above, needed for checks in the C++ applgrid interface
4513+* defined above, needed for checks in the C++ pineappl interface
4514 * Save also the vegas weight, needed to fill histograms and for checks
4515 * appl_www_histo is the same weight used to will the amcatnlo
4516 * histograms in the madfks routine
4517
4518=== renamed file 'Template/NLO/SubProcesses/appl_interface.cc' => 'Template/NLO/SubProcesses/pineappl_interface.cc'
4519--- Template/NLO/SubProcesses/appl_interface.cc 2014-07-01 08:21:03 +0000
4520+++ Template/NLO/SubProcesses/pineappl_interface.cc 2021-01-08 10:23:50 +0000
4521@@ -1,45 +1,376 @@
4522+#include <algorithm>
4523+#include <cassert>
4524+#include <cmath>
4525+#include <cstddef>
4526+#include <cstdio>
4527+#include <cstdlib>
4528+#include <iomanip>
4529 #include <iostream>
4530-#include <stdlib.h>
4531+#include <iterator>
4532+#include <sstream>
4533+#include <string>
4534+#include <vector>
4535+
4536+#include <pineappl_capi.h>
4537+
4538+#include "orders.h"
4539+
4540+#include "pineappl_maxproc.h"
4541
4542 /*
4543 fNLO mode of aMCatNLO
4544 */
4545
4546-void (*appl_initptr)() = 0;
4547-void (*appl_fillptr)() = 0;
4548-void (*appl_fillrefptr)() = 0;
4549-void (*appl_fillrefoutptr)() = 0;
4550-void (*appl_recoptr)() = 0;
4551-void (*appl_termptr)() = 0;
4552-
4553-extern "C" void appl_init_() {
4554- // std::cerr<<"I am in appl_init (C++ version)"<<std::endl;
4555- if (appl_initptr) appl_initptr();
4556-}
4557-
4558-extern "C" void appl_fill_() {
4559- //std::cerr<<"I am in appl_fill (C++ version)"<<std::endl;
4560- if (appl_fillptr) appl_fillptr();
4561-}
4562-
4563-extern "C" void appl_fill_ref_() {
4564- //std::cerr<<"I am in appl_fill_ref (C++ version)"<<std::endl;
4565- if (appl_fillrefptr) appl_fillrefptr();
4566-}
4567-
4568-extern "C" void appl_fill_ref_out_() {
4569- // std::cerr<<"I am in appl_fill_ref_out (C++ version)"<<std::endl;
4570- if (appl_fillrefoutptr) appl_fillrefoutptr();
4571-}
4572-
4573-extern "C" void appl_reco_() {
4574- // std::cerr<<"I am in appl_reco (C++ version)"<<std::endl;
4575- if (appl_recoptr) appl_recoptr();
4576-}
4577-
4578-extern "C" void appl_term_() {
4579- //std::cerr<<"I am in appl_term (C++ version)"<<std::endl;
4580- if (appl_termptr) appl_termptr();
4581-}
4582-
4583-
4584+// Declare grids
4585+std::vector<pineappl_grid*> grid_obs;
4586+
4587+// translates an index from the range [0, __amp_split_size) to the indices need by `fill_grid`
4588+std::vector<std::vector<int>> translation_tables;
4589+
4590+// Information defined at the generation (configuration) step, that does
4591+// not vary event by event
4592+extern "C" struct
4593+{
4594+ int amp_split_size; // Maximum number of coupling-combinations
4595+ int qcdpower[__amp_split_size]; // Power of alpha_s for each amp_split
4596+ int qedpower[__amp_split_size]; // Power of alpha for each amp_split
4597+} appl_common_fixed_;
4598+
4599+// Map of the PDF combinations from aMC@NLO - structure for each
4600+// "subprocess" i, has some number nproc[i] pairs of parton
4601+// combinations. To be used together with the info in appl_flavmap.
4602+extern "C" struct
4603+{
4604+ int lumimap[__max_nproc__][__max_nproc__][2]; // (paired) subprocesses per combination
4605+ int nproc[__max_nproc__]; // number of separate (pairwise) subprocesses for this combination
4606+ int nlumi; // overall number of combinations ( 0 < nlumi <= __mxpdflumi__ )
4607+} appl_common_lumi_;
4608+
4609+// Event weights, kinematics, etc. that are different event by event
4610+extern "C" struct
4611+{
4612+ double x1[4], x2[4];
4613+ double muF2[4], muR2[4], muQES2[4];
4614+ double W0[__amp_split_size][4], WR[__amp_split_size][4];
4615+ double WF[__amp_split_size][4], WB[__amp_split_size][4];
4616+ int flavmap[4];
4617+} appl_common_weights_;
4618+
4619+// Parameters of the grids.
4620+// These parameters can optionally be singularly specified by the user,
4621+// but if no specification is given, the code will use the default values.
4622+extern "C" struct
4623+{
4624+ double Q2min, Q2max;
4625+ double xmin, xmax;
4626+ int nQ2, Q2order;
4627+ int nx, xorder;
4628+} appl_common_grid_;
4629+
4630+// Parameters of the histograms
4631+extern "C" struct
4632+{
4633+ double www_histo, norm_histo;
4634+ double obs_histo;
4635+ double obs_min, obs_max;
4636+ double obs_bins[101];
4637+ int obs_nbins;
4638+ int itype_histo;
4639+ int amp_pos;
4640+ int obs_num;
4641+} appl_common_histokin_;
4642+
4643+// Event weight and cross section
4644+extern "C" struct
4645+{
4646+ double event_weight, vegaswgt;
4647+ double xsec12, xsec11, xsec20;
4648+} appl_common_reco_;
4649+
4650+// Check if a file exists
4651+bool file_exists(const std::string& s)
4652+{
4653+ if (std::FILE* testfile = std::fopen(s.c_str(), "r"))
4654+ {
4655+ std::fclose(testfile);
4656+ return true;
4657+ }
4658+ else
4659+ {
4660+ return false;
4661+ }
4662+}
4663+
4664+// Banner
4665+std::string Banner()
4666+{
4667+ return "\n"
4668+ " █████╗ ███╗ ███╗ ██████╗██████╗ ██╗ █████╗ ███████╗████████╗\n"
4669+ " ██╔══██╗████╗ ████║██╔════╝██╔══██╗██║ ██╔══██╗██╔════╝╚══██╔══╝\n"
4670+ " ███████║██╔████╔██║██║ ██████╔╝██║ ███████║███████╗ ██║\n"
4671+ " ██╔══██║██║╚██╔╝██║██║ ██╔══██╗██║ ██╔══██║╚════██║ ██║\n"
4672+ " ██║ ██║██║ ╚═╝ ██║╚██████╗██████╔╝███████╗██║ ██║███████║ ██║\n"
4673+ " ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═════╝ ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝\n";
4674+}
4675+
4676+extern "C" void appl_init_()
4677+{
4678+ // Grid Initialization and definition of the observables.
4679+ // Construct the input file name according to its position in the
4680+ // vector "grid_obs".
4681+ std::size_t const index = grid_obs.size();
4682+
4683+ int lo_power = 9999;
4684+ int nlo_power = 0;
4685+
4686+ for (int i = 0; i != appl_common_fixed_.amp_split_size; ++i)
4687+ {
4688+ int sum = appl_common_fixed_.qcdpower[i] + appl_common_fixed_.qedpower[i];
4689+
4690+ lo_power = std::min(lo_power, sum);
4691+ nlo_power = std::max(nlo_power, sum);
4692+ }
4693+
4694+ // TODO: are there any situations is which there are NLOs but no LOs?
4695+
4696+ // we assume that there is always at least one LO, and zero or one NLO
4697+ assert((nlo_power == (lo_power + 2)) || (nlo_power == lo_power));
4698+
4699+ std::vector<uint32_t> subgrid_params;
4700+
4701+ translation_tables.emplace_back();
4702+ translation_tables.back().reserve(appl_common_fixed_.amp_split_size);
4703+
4704+ for (int i = 0; i != appl_common_fixed_.amp_split_size; ++i)
4705+ {
4706+ int const qcd = appl_common_fixed_.qcdpower[i];
4707+ int const qed = appl_common_fixed_.qedpower[i];
4708+ int const sum = qcd + qed;
4709+
4710+ translation_tables.back().push_back(subgrid_params.size() / 4);
4711+
4712+ if (sum == lo_power)
4713+ {
4714+ // WB
4715+ subgrid_params.insert(subgrid_params.end(), { qcd / 2, qed / 2, 0, 0 });
4716+ }
4717+ else if (sum == nlo_power)
4718+ {
4719+ // W0
4720+ subgrid_params.insert(subgrid_params.end(), { qcd / 2, qed / 2, 0, 0 });
4721+ // WR
4722+ subgrid_params.insert(subgrid_params.end(), { qcd / 2, qed / 2, 1, 0 });
4723+ // WF
4724+ subgrid_params.insert(subgrid_params.end(), { qcd / 2, qed / 2, 0, 1 });
4725+ }
4726+ }
4727+
4728+ // Define the settings for the interpolation in x and Q2.
4729+ // These are common to all the grids computed.
4730+ // If values larger than zero (i.e. set by the user) are found the default
4731+ // settings are replaced with the new ones.
4732+ auto* key_vals = pineappl_keyval_new();
4733+
4734+ if (appl_common_grid_.nQ2 > 0)
4735+ {
4736+ pineappl_keyval_set_int(key_vals, "nq2", appl_common_grid_.nQ2);
4737+ }
4738+ // Max and min value of Q2
4739+ if (appl_common_grid_.Q2min > 0.0)
4740+ {
4741+ pineappl_keyval_set_double(key_vals, "q2min", appl_common_grid_.Q2min);
4742+ }
4743+ if (appl_common_grid_.Q2max > 0.0)
4744+ {
4745+ pineappl_keyval_set_double(key_vals, "q2max", appl_common_grid_.Q2max);
4746+ }
4747+ // Order of the polynomial interpolation in Q2
4748+ if (appl_common_grid_.Q2order > 0)
4749+ {
4750+ pineappl_keyval_set_int(key_vals, "q2order", appl_common_grid_.Q2order);
4751+ }
4752+ // Number of points for the x interpolation
4753+ if (appl_common_grid_.nx > 0)
4754+ {
4755+ pineappl_keyval_set_int(key_vals, "nx", appl_common_grid_.nx);
4756+ }
4757+ // Min and max value of x
4758+ if (appl_common_grid_.xmin > 0.0)
4759+ {
4760+ pineappl_keyval_set_double(key_vals, "xmin", appl_common_grid_.xmin);
4761+ }
4762+ if (appl_common_grid_.xmax > 0.0)
4763+ {
4764+ pineappl_keyval_set_double(key_vals, "xmax", appl_common_grid_.xmax);
4765+ }
4766+ // Order of the polynomial interpolation in x
4767+ if (appl_common_grid_.xorder > 0)
4768+ {
4769+ pineappl_keyval_set_int(key_vals, "xorder", appl_common_grid_.xorder);
4770+ }
4771+
4772+ // Set up the PDF luminosities
4773+ auto* lumi = pineappl_lumi_new();
4774+
4775+ // Loop over parton luminosities
4776+ for (int ilumi = 0; ilumi < appl_common_lumi_.nlumi; ilumi++)
4777+ {
4778+ int nproc = appl_common_lumi_.nproc[ilumi];
4779+
4780+ std::vector<int32_t> pdg_ids;
4781+ pdg_ids.reserve(2 * nproc);
4782+
4783+ for (int iproc = 0; iproc != nproc; ++iproc)
4784+ {
4785+ pdg_ids.push_back(appl_common_lumi_.lumimap[ilumi][iproc][0]);
4786+ pdg_ids.push_back(appl_common_lumi_.lumimap[ilumi][iproc][1]);
4787+ }
4788+
4789+ pineappl_lumi_add(lumi, nproc, pdg_ids.data(), nullptr);
4790+ }
4791+
4792+ // Use the reweighting function
4793+ pineappl_keyval_set_bool(key_vals, "reweight", true);
4794+
4795+ // valid choices are: "LagrangeSubgrid", "NtupleSubgrid"
4796+ pineappl_keyval_set_string(key_vals, "subgrid_type", "LagrangeSubgrid");
4797+
4798+ // Create a grid with the binning given in the "obsbins[Nbins+1]" array
4799+ grid_obs.push_back(pineappl_grid_new(
4800+ lumi,
4801+ subgrid_params.size() / 4,
4802+ subgrid_params.data(),
4803+ appl_common_histokin_.obs_nbins,
4804+ appl_common_histokin_.obs_bins,
4805+ key_vals
4806+ ));
4807+
4808+ pineappl_keyval_delete(key_vals);
4809+ pineappl_lumi_delete(lumi);
4810+}
4811+
4812+extern "C" void appl_fill_()
4813+{
4814+ // Check that itype ranges from 1 to 5.
4815+ int itype = appl_common_histokin_.itype_histo;
4816+ if ((itype < 1) || (itype > 5))
4817+ {
4818+ std::cout << "amcblast ERROR: Invalid value of itype = " << itype << std::endl;
4819+ std::exit(-10);
4820+ }
4821+
4822+ // this is the second index of the WB/R/F/0 arrays
4823+ int index = appl_common_histokin_.amp_pos - 1;
4824+
4825+ // aMC@NLO weights. Four grids, ordered as {W0,WR,WF,WB}.
4826+ double(&W0)[4] = appl_common_weights_.W0[index];
4827+ double(&WR)[4] = appl_common_weights_.WR[index];
4828+ double(&WF)[4] = appl_common_weights_.WF[index];
4829+ double(&WB)[4] = appl_common_weights_.WB[index];
4830+
4831+ int ilumi;
4832+ int nlumi = appl_common_lumi_.nlumi;
4833+ double ttol = 1e-100;
4834+ double x1, x2;
4835+ double scale2;
4836+ double obs = appl_common_histokin_.obs_histo;
4837+
4838+ // Histogram number
4839+ int nh = appl_common_histokin_.obs_num - 1;
4840+
4841+ // translate (index,nh) -> index of the PineAPPL grid
4842+ int const grid_index = translation_tables.at(nh).at(index);
4843+
4844+ int k;
4845+
4846+ switch (itype)
4847+ {
4848+ case 1:
4849+ k = 0;
4850+ break;
4851+
4852+ case 2:
4853+ case 3:
4854+ k = 1;
4855+ break;
4856+
4857+ case 4:
4858+ k = 2;
4859+ break;
4860+
4861+ case 5:
4862+ k = 3;
4863+ break;
4864+
4865+ default:
4866+ assert( false );
4867+ }
4868+
4869+ x1 = appl_common_weights_.x1[k];
4870+ x2 = appl_common_weights_.x2[k];
4871+
4872+ static std::vector<std::vector<std::vector<double>>> x1Saved(5, std::vector<std::vector<double>>(
4873+ grid_obs.size(), std::vector<double>(pineappl_grid_order_count(grid_obs[nh]), 0.0)));
4874+ static std::vector<std::vector<std::vector<double>>> x2Saved(5, std::vector<std::vector<double>>(
4875+ grid_obs.size(), std::vector<double>(pineappl_grid_order_count(grid_obs[nh]), 0.0)));
4876+
4877+ if (x1 == x1Saved[itype - 1][nh][grid_index] && x2 == x2Saved[itype - 1][nh][grid_index])
4878+ {
4879+ return;
4880+ }
4881+ else
4882+ {
4883+ x1Saved[itype - 1][nh][grid_index] = x1;
4884+ x2Saved[itype - 1][nh][grid_index] = x2;
4885+ }
4886+
4887+ scale2 = appl_common_weights_.muF2[k];
4888+ ilumi = appl_common_weights_.flavmap[k] - 1;
4889+
4890+ if (x1 < 0.0 || x1 > 1.0 || x2 < 0.0 || x2 > 1.0)
4891+ {
4892+ std::cout << "amcblast ERROR: Invalid value of x1 and/or x2 = " << x1 << " " << x2
4893+ << std::endl;
4894+ std::exit(-10);
4895+ }
4896+
4897+ if (x1 == 0.0 && x2 == 0.0)
4898+ {
4899+ return;
4900+ }
4901+
4902+ if (std::fabs(W0[k]) > ttol)
4903+ {
4904+ pineappl_grid_fill(grid_obs[nh], x1, x2, scale2, grid_index + 0, obs, ilumi, W0[k]);
4905+ }
4906+
4907+ if (std::fabs(WR[k]) > ttol)
4908+ {
4909+ pineappl_grid_fill(grid_obs[nh], x1, x2, scale2, grid_index + 1, obs, ilumi, WR[k]);
4910+ }
4911+
4912+ if (std::fabs(WF[k]) > ttol)
4913+ {
4914+ pineappl_grid_fill(grid_obs[nh], x1, x2, scale2, grid_index + 2, obs, ilumi, WF[k]);
4915+ }
4916+
4917+ if (std::fabs(WB[k]) > ttol)
4918+ {
4919+ pineappl_grid_fill(grid_obs[nh], x1, x2, scale2, grid_index, obs, ilumi, WB[k]);
4920+ }
4921+}
4922+
4923+extern "C" void appl_term_()
4924+{
4925+ // Histogram number
4926+ int const nh = appl_common_histokin_.obs_num - 1;
4927+
4928+ // convert between gs^2 and alphas, and normalize the grid by (hbarc)^2 and the number of runs
4929+ pineappl_grid_scale_by_order(grid_obs[nh], 4.0 * std::acos(-1.0), 1.0, 1.0, 1.0,
4930+ 389379660.0 * appl_common_histokin_.norm_histo);
4931+
4932+ // Write grid to file
4933+ pineappl_grid_write(grid_obs[nh], ("grid_obs_" + std::to_string(nh) + "_out.pineappl").c_str());
4934+
4935+ pineappl_grid_delete(grid_obs[nh]);
4936+}
4937
4938=== renamed file 'Template/NLO/SubProcesses/appl_interface_dummy.f' => 'Template/NLO/SubProcesses/pineappl_interface_dummy.f'
4939--- Template/NLO/SubProcesses/appl_interface_dummy.f 2014-06-26 08:45:41 +0000
4940+++ Template/NLO/SubProcesses/pineappl_interface_dummy.f 2021-01-08 10:23:50 +0000
4941@@ -5,20 +5,6 @@
4942 return
4943 end
4944 c
4945- subroutine APPL_fill_ref_out
4946- implicit none
4947- write(6,*) "You should not be here in APPL_fill dummy!"
4948- stop
4949- return
4950- end
4951-c
4952- subroutine APPL_fill_ref
4953- implicit none
4954- write(6,*) "You should not be here in APPL_fill dummy!"
4955- stop
4956- return
4957- end
4958-c
4959 subroutine APPL_init
4960 implicit none
4961 write(6,*) "You should not be here in APPL_init dummy!"
4962
4963=== added file 'Template/NLO/SubProcesses/recmom.f'
4964--- Template/NLO/SubProcesses/recmom.f 1970-01-01 00:00:00 +0000
4965+++ Template/NLO/SubProcesses/recmom.f 2021-01-08 10:23:50 +0000
4966@@ -0,0 +1,139 @@
4967+ subroutine recombine_momenta(R, etaph, reco_l, reco_q, p_in, pdg_in, p_out, pdg_out)
4968+ implicit none
4969+ ! recombine photons with the closest fermion if the distance is
4970+ ! less than R and if the rapidity of photons is < etaph (etaph < 0
4971+ ! means no cut). Output a new set of momenta and pdgs corresponding
4972+ ! to the recombined particles. If recombination occurs the photon
4973+ ! disappears from the output particles
4974+ ! arguments
4975+ include 'nexternal.inc'
4976+ double precision R, etaph, p_in(0:4,nexternal), p_out(0:4,nexternal)
4977+ logical reco_l, reco_q
4978+ integer pdg_in(nexternal), pdg_out(nexternal)
4979+ ! local variables
4980+ integer nq, nl
4981+ integer id_ph
4982+ parameter (id_ph=22)
4983+ integer n_ph, i_ph
4984+ integer i,j
4985+ integer ifreco
4986+ double precision dreco, dthis
4987+ integer skip
4988+ logical is_light_charged_fermion
4989+ double precision R2, eta
4990+ !
4991+ integer times_reco
4992+ common/to_times_reco/ times_reco
4993+ ! reset everything
4994+ do j=1,nexternal
4995+ pdg_out(j)=0
4996+ do i=0,4
4997+ p_out(i,j)=0d0
4998+ enddo
4999+ enddo
5000+
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: