diff --git a/FixedOrderGen/t/CMakeLists.txt b/FixedOrderGen/t/CMakeLists.txt index e0a1c33..f70c5e0 100644 --- a/FixedOrderGen/t/CMakeLists.txt +++ b/FixedOrderGen/t/CMakeLists.txt @@ -1,162 +1,166 @@ set(tst_dir "${CMAKE_CURRENT_SOURCE_DIR}") +set(runcard_dir ${tst_dir}/runcards) foreach(tst W_reconstruct_enu W_2j_classify W_nj_classify) add_executable(test_${tst} ${tst_dir}/${tst}.cc) target_link_libraries(test_${tst} hejfog_lib) - add_test(NAME ${tst} COMMAND test_${tst} WORKING_DIRECTORY ${tst_dir}) + add_test(NAME ${tst} + COMMAND test_${tst} + WORKING_DIRECTORY ${runcard_dir} + ) endforeach() # this only tests if the runcard actually works, not if the result is correct add_test( NAME main_2j - COMMAND HEJFOG ${tst_dir}/config_2j.yml - ) + COMMAND HEJFOG ${runcard_dir}/2j.yml +) add_test( NAME main_h2j - COMMAND HEJFOG ${tst_dir}/config_h2j.yml - ) + COMMAND HEJFOG ${runcard_dir}/h2j.yml +) add_test( NAME main_h2j_decay - COMMAND HEJFOG ${tst_dir}/config_h2j_decay.yml - ) + COMMAND HEJFOG ${runcard_dir}/h2j_decay.yml +) add_test( NAME peakpt - COMMAND HEJFOG ${tst_dir}/config_2j_peak.yml - ) + COMMAND HEJFOG ${runcard_dir}/2j_peak.yml +) # check that uno emission doesn't change FKL xs add_executable(FKL_uno FKL_uno.cc) target_link_libraries(FKL_uno hejfog_lib) add_test( NAME FKL_uno # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20 - COMMAND FKL_uno ${tst_dir}/config_h3j_uno.yml 0.0243548 0.000119862 + COMMAND FKL_uno ${runcard_dir}/h3j_uno.yml 0.0243548 0.000119862 ) # xs tests add_executable(xs_gen xs_gen.cc) target_link_libraries(xs_gen hejfog_lib) ## Higgs add_test( NAME xs_hqQ # calculated with Sherpa see #132 - COMMAND xs_gen ${tst_dir}/config_hqQ.yml 1.612e-02 1.26303e-04 + COMMAND xs_gen ${runcard_dir}/hqQ.yml 1.612e-02 1.26303e-04 ) add_test( NAME xs_h2j # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20 - COMMAND xs_gen ${tst_dir}/config_h2j.yml 2.04928 0.00956022 + COMMAND xs_gen ${runcard_dir}/h2j.yml 2.04928 0.00956022 ) add_test( NAME xs_h3j # calculated with HEJ revision bd4388fe55cbc3f5a7b6139096456c551294aa31 - COMMAND xs_gen ${tst_dir}/config_h3j.yml 1.07807 0.0132409 + COMMAND xs_gen ${runcard_dir}/h3j.yml 1.07807 0.0132409 ) add_test( NAME xs_h5j # calculated with HEJ revision dbde2ffbb3b383ae6709b2424d8f0f9d5658270b - COMMAND xs_gen ${tst_dir}/config_h5j.yml 0.0112504 0.000199633 + COMMAND xs_gen ${runcard_dir}/h5j.yml 0.0112504 0.000199633 ) add_test( NAME xs_h3j_uno # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20 - COMMAND xs_gen ${tst_dir}/config_h3j_uno.yml 0.00347538 3.85875e-05 + COMMAND xs_gen ${runcard_dir}/h3j_uno.yml 0.00347538 3.85875e-05 ) add_test( NAME xs_h2j_decay # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20 - COMMAND xs_gen ${tst_dir}/config_h2j_decay.yml 0.00466994 2.20995e-05 + COMMAND xs_gen ${runcard_dir}/h2j_decay.yml 0.00466994 2.20995e-05 ) ## pure jets add_test( NAME xs_qQ # calculated with Sherpa see #132 - COMMAND xs_gen ${tst_dir}/config_qQ.yml 7.354e+05 1.905e+03 + COMMAND xs_gen ${runcard_dir}/qQ.yml 7.354e+05 1.905e+03 ) add_test( NAME xs_2j # calculated with "combined" HEJ svn r3480 - COMMAND xs_gen ${tst_dir}/config_2j.yml 86.42031848e06 590570 + COMMAND xs_gen ${runcard_dir}/2j.yml 86.42031848e06 590570 ) add_test( NAME xs_3j_uno # calculated with HEJ revision 9401196fba75b5d16bc33f2a309175fecaca00f1 - COMMAND xs_gen ${tst_dir}/config_3j_uno.yml 900 14.3131 + COMMAND xs_gen ${runcard_dir}/3j_uno.yml 900 14.3131 ) add_test( NAME xs_3j_qqx # calculated with HEJ revision 9401196fba75b5d16bc33f2a309175fecaca00f1 - COMMAND xs_gen ${tst_dir}/config_3j_qqx.yml 62040 1005 + COMMAND xs_gen ${runcard_dir}/3j_qqx.yml 62040 1005 ) add_test( NAME xs_4j_qqx # calculated with HEJ revision 9401196fba75b5d16bc33f2a309175fecaca00f1 - COMMAND xs_gen ${tst_dir}/config_4j_qqx.yml 28936 550 + COMMAND xs_gen ${runcard_dir}/4j_qqx.yml 28936 550 ) add_test( NAME xs_4j # calculated with HEJ revision 13207b5f67a5f40a2141aa7ee515b022bd4efb65 - COMMAND xs_gen ${tst_dir}/config_4j.yml 915072 15402.4 + COMMAND xs_gen ${runcard_dir}/4j.yml 915072 15402.4 ) ## W add_test( NAME xs_WqQ # calculated with Sherpa see #132 - COMMAND xs_gen ${tst_dir}/config_WpqQ.yml 3.086e+00 4.511e-02 + COMMAND xs_gen ${runcard_dir}/WpqQ.yml 3.086e+00 4.511e-02 ) add_test( NAME xs_W2j # calculated with HEJ revision be065dc9a21e5965ce57583f6c0a3d953664b82b - COMMAND xs_gen ${tst_dir}/config_Wm2j.yml 4.628078e+02 6.875951e+00 + COMMAND xs_gen ${runcard_dir}/Wm2j.yml 4.628078e+02 6.875951e+00 ) add_test( NAME xs_W3j_uno # calculated with HEJ revision be065dc9a21e5965ce57583f6c0a3d953664b82b - COMMAND xs_gen ${tst_dir}/config_Wp3j_uno.yml 5.905502e-01 1.133341e-02 + COMMAND xs_gen ${runcard_dir}/Wp3j_uno.yml 5.905502e-01 1.133341e-02 ) add_test( NAME xs_W3j_eqqx # calculated with HEJ revision be065dc9a21e5965ce57583f6c0a3d953664b82b - COMMAND xs_gen ${tst_dir}/config_Wp3j_qqx.yml 1.690646e+01 2.068979e-01 + COMMAND xs_gen ${runcard_dir}/Wp3j_qqx.yml 1.690646e+01 2.068979e-01 ) add_test( NAME xs_W4j_qqx # calculated with HEJ revision be065dc9a21e5965ce57583f6c0a3d953664b82b - COMMAND xs_gen ${tst_dir}/config_Wp4j_qqx.yml 9.274718e-02 4.875742e-03 + COMMAND xs_gen ${runcard_dir}/Wp4j_qqx.yml 9.274718e-02 4.875742e-03 ) # Test that sum of partons == proton add_executable(PSP_channel PSP_channel.cc) target_link_libraries(PSP_channel hejfog_lib) # pure jets add_test( NAME channel_2j - COMMAND PSP_channel ${tst_dir}/config_2j.yml + COMMAND PSP_channel ${runcard_dir}/2j.yml ) add_test( NAME channel_3j_qqx - COMMAND PSP_channel ${tst_dir}/config_3j_qqx.yml + COMMAND PSP_channel ${runcard_dir}/3j_qqx.yml ) add_test( NAME channel_3j_uno - COMMAND PSP_channel ${tst_dir}/config_3j_uno.yml + COMMAND PSP_channel ${runcard_dir}/3j_uno.yml ) add_test( NAME channel_4j_qqx - COMMAND PSP_channel ${tst_dir}/config_4j_qqx.yml + COMMAND PSP_channel ${runcard_dir}/4j_qqx.yml ) # W+jets # pure jets add_test( NAME channel_W2j - COMMAND PSP_channel ${tst_dir}/config_Wm2j.yml + COMMAND PSP_channel ${runcard_dir}/Wm2j.yml ) add_test( NAME channel_W3j_uno - COMMAND PSP_channel ${tst_dir}/config_Wp3j_uno.yml + COMMAND PSP_channel ${runcard_dir}/Wp3j_uno.yml ) add_test( NAME channel_W3j_eqqx - COMMAND PSP_channel ${tst_dir}/config_Wp3j_qqx.yml + COMMAND PSP_channel ${runcard_dir}/Wp3j_qqx.yml ) add_test( NAME channel_W4j_qqx - COMMAND PSP_channel ${tst_dir}/config_Wp4j_qqx.yml + COMMAND PSP_channel ${runcard_dir}/Wp4j_qqx.yml ) diff --git a/FixedOrderGen/t/W_reconstruct_enu.cc b/FixedOrderGen/t/W_reconstruct_enu.cc index b01bcc7..928ac7a 100644 --- a/FixedOrderGen/t/W_reconstruct_enu.cc +++ b/FixedOrderGen/t/W_reconstruct_enu.cc @@ -1,79 +1,79 @@ /** * \brief that the reconstruction of the W works * * \authors The HEJ collaboration (see AUTHORS for details) * \date 2019-2020 * \copyright GPLv2 or later */ #include #include #include #include #include "HEJ/Event.hh" #include "HEJ/Mixmax.hh" #include "HEJ/ScaleFunction.hh" #include "config.hh" #include "EventGenerator.hh" #include "Status.hh" //! throw error if condition not fulfilled #define ASSERT(x) if(!(x)) { \ throw std::logic_error("Assertion '" #x "' failed."); \ } namespace { using namespace HEJFOG; using namespace HEJ; constexpr std::size_t num_events = 1000; constexpr double invGeV2_to_pb = 389379292.; } double get_xs(std::string config_name){ auto config { load_config(config_name) }; config.events = num_events; std::shared_ptr ran{std::make_shared(11)}; HEJFOG::EventGenerator generator{ config.process, config.beam, HEJ::ScaleGenerator{ config.scales.base, config.scales.factors, config.scales.max_ratio }, config.jets, config.pdf_id, config.subleading_fraction, config.subleading_channels, config.particle_decays, config.Higgs_coupling, config.ew_parameters, ran }; double xs = 0.; for (std::size_t trials = 0; trials < config.events; ++trials){ auto ev = generator.gen_event(); if(generator.status() != Status::good) continue; ASSERT(ev); ev->central().weight *= invGeV2_to_pb; ev->central().weight /= config.events; xs += ev->central().weight; } return xs; } int main(){ - double xs_W{ get_xs("config_Wp_2j.yml")}; - double xs_enu{ get_xs("config_Wp_2j_decay.yml")}; + double xs_W{ get_xs("Wp_2j.yml")}; + double xs_enu{ get_xs("Wp_2j_decay.yml")}; if(std::abs(xs_W/xs_enu-1.)>1e-6){ std::cerr << "Reconstructing the W in the runcard gave a different results (" << xs_W << " vs. "<< xs_enu << " -> " << std::abs(xs_W/xs_enu-1.)*100 << "%)\n"; return EXIT_FAILURE; } return EXIT_SUCCESS; } diff --git a/FixedOrderGen/t/config_2j.yml b/FixedOrderGen/t/runcards/2j.yml similarity index 100% rename from FixedOrderGen/t/config_2j.yml rename to FixedOrderGen/t/runcards/2j.yml diff --git a/FixedOrderGen/t/config_2j_peak.yml b/FixedOrderGen/t/runcards/2j_peak.yml similarity index 100% rename from FixedOrderGen/t/config_2j_peak.yml rename to FixedOrderGen/t/runcards/2j_peak.yml diff --git a/FixedOrderGen/t/config_3j_qqx.yml b/FixedOrderGen/t/runcards/3j_qqx.yml similarity index 100% rename from FixedOrderGen/t/config_3j_qqx.yml rename to FixedOrderGen/t/runcards/3j_qqx.yml diff --git a/FixedOrderGen/t/config_3j_uno.yml b/FixedOrderGen/t/runcards/3j_uno.yml similarity index 100% rename from FixedOrderGen/t/config_3j_uno.yml rename to FixedOrderGen/t/runcards/3j_uno.yml diff --git a/FixedOrderGen/t/config_4j.yml b/FixedOrderGen/t/runcards/4j.yml similarity index 100% rename from FixedOrderGen/t/config_4j.yml rename to FixedOrderGen/t/runcards/4j.yml diff --git a/FixedOrderGen/t/config_4j_qqx.yml b/FixedOrderGen/t/runcards/4j_qqx.yml similarity index 100% rename from FixedOrderGen/t/config_4j_qqx.yml rename to FixedOrderGen/t/runcards/4j_qqx.yml diff --git a/FixedOrderGen/t/config_Wm2j.yml b/FixedOrderGen/t/runcards/Wm2j.yml similarity index 100% rename from FixedOrderGen/t/config_Wm2j.yml rename to FixedOrderGen/t/runcards/Wm2j.yml diff --git a/FixedOrderGen/t/config_Wp3j_qqx.yml b/FixedOrderGen/t/runcards/Wp3j_qqx.yml similarity index 100% rename from FixedOrderGen/t/config_Wp3j_qqx.yml rename to FixedOrderGen/t/runcards/Wp3j_qqx.yml diff --git a/FixedOrderGen/t/config_Wp3j_uno.yml b/FixedOrderGen/t/runcards/Wp3j_uno.yml similarity index 100% rename from FixedOrderGen/t/config_Wp3j_uno.yml rename to FixedOrderGen/t/runcards/Wp3j_uno.yml diff --git a/FixedOrderGen/t/config_Wp4j_qqx.yml b/FixedOrderGen/t/runcards/Wp4j_qqx.yml similarity index 100% rename from FixedOrderGen/t/config_Wp4j_qqx.yml rename to FixedOrderGen/t/runcards/Wp4j_qqx.yml diff --git a/FixedOrderGen/t/config_Wp_2j.yml b/FixedOrderGen/t/runcards/Wp_2j.yml similarity index 100% rename from FixedOrderGen/t/config_Wp_2j.yml rename to FixedOrderGen/t/runcards/Wp_2j.yml diff --git a/FixedOrderGen/t/config_Wp_2j_decay.yml b/FixedOrderGen/t/runcards/Wp_2j_decay.yml similarity index 100% rename from FixedOrderGen/t/config_Wp_2j_decay.yml rename to FixedOrderGen/t/runcards/Wp_2j_decay.yml diff --git a/FixedOrderGen/t/config_WpqQ.yml b/FixedOrderGen/t/runcards/WpqQ.yml similarity index 100% rename from FixedOrderGen/t/config_WpqQ.yml rename to FixedOrderGen/t/runcards/WpqQ.yml diff --git a/FixedOrderGen/t/config_h2j.yml b/FixedOrderGen/t/runcards/h2j.yml similarity index 100% rename from FixedOrderGen/t/config_h2j.yml rename to FixedOrderGen/t/runcards/h2j.yml diff --git a/FixedOrderGen/t/config_h2j_decay.yml b/FixedOrderGen/t/runcards/h2j_decay.yml similarity index 100% rename from FixedOrderGen/t/config_h2j_decay.yml rename to FixedOrderGen/t/runcards/h2j_decay.yml diff --git a/FixedOrderGen/t/config_h3j.yml b/FixedOrderGen/t/runcards/h3j.yml similarity index 100% rename from FixedOrderGen/t/config_h3j.yml rename to FixedOrderGen/t/runcards/h3j.yml diff --git a/FixedOrderGen/t/config_h3j_uno.yml b/FixedOrderGen/t/runcards/h3j_uno.yml similarity index 100% rename from FixedOrderGen/t/config_h3j_uno.yml rename to FixedOrderGen/t/runcards/h3j_uno.yml diff --git a/FixedOrderGen/t/config_h5j.yml b/FixedOrderGen/t/runcards/h5j.yml similarity index 100% rename from FixedOrderGen/t/config_h5j.yml rename to FixedOrderGen/t/runcards/h5j.yml diff --git a/FixedOrderGen/t/config_hqQ.yml b/FixedOrderGen/t/runcards/hqQ.yml similarity index 100% rename from FixedOrderGen/t/config_hqQ.yml rename to FixedOrderGen/t/runcards/hqQ.yml diff --git a/FixedOrderGen/t/config_qQ.yml b/FixedOrderGen/t/runcards/qQ.yml similarity index 100% rename from FixedOrderGen/t/config_qQ.yml rename to FixedOrderGen/t/runcards/qQ.yml