diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7ac6ae8..e0315db 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,453 +1,471 @@ # --------------------------------- # - General Setup - # --------------------------------- stages: - build - test - FOG:build - FOG:test - clean_code - FOG:clear_code - long_test - publish workflow: rules: - when: always variables: GIT_SUBMODULE_STRATEGY: recursive # build directories HEJ_BUILD_DIR: tmp_HEJ/HEJ_build HEJ_INSTALL_DIR: tmp_HEJ/HEJ_installed FOG_BUILD_DIR: tmp_HEJ/FOG_build FOG_INSTALL_DIR: ${HEJ_INSTALL_DIR} # docker images DOCKER_BASIC: hejdock/hepenv # slc6 DOCKER_CLANG: 'hejdock/hepenv:clang9_ubuntu' # ubuntu with clang DOCKER_HEPMC3: hejdock/hepmc3env # centos7 DOCKER_HIGHFIVE: hejdock/highfiveenv # centos7 DOCKER_QCDLOOP: hejdock/qcdloopenv # slc6, includes rivet DOCKER_RIVET3: 'hejdock/rivetenv:rivet3_gcc9_ubuntu' # ubuntu DOCKER_RIVET3H2: 'hejdock/rivetenv:rivet3_hepmc2_gcc9_ubuntu' # ubuntu DOCKER_RIVET: hejdock/rivetenv # slc6 # default name of cmake CMAKE: cmake CTEST: ctest OVERWRITE_BOOST: "" # ----------- Macros ----------- after_script: - date .tags_template: tags: &tags_def - docker # default pipeline triggers .rules_template: rules: &rules_def - if: $CI_MERGE_REQUEST_ID when: on_success - if: $CI_COMMIT_TAG when: on_success - if: '$CI_COMMIT_BRANCH != null && $CI_COMMIT_BRANCH == "master"' when: on_success - if: '$CI_COMMIT_BRANCH != null && $CI_COMMIT_BRANCH =~ /^v\d+\.\d+$/' when: on_success - when: manual # non-blocking manual allow_failure: true # save complete history of failed tests .save_failure: artifacts: &artifacts_failed when: on_failure untracked: true expire_in: 3d # --------------------------------- # - Script Templates - # --------------------------------- # ----------- Build ----------- .HEJ_build: tags: *tags_def rules: *rules_def stage: build before_script: - date - source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1 # prepare build - t_HEJ_DIR=${PWD} - t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR} - t_HEJ_BUILD_DIR=${PWD}/${HEJ_BUILD_DIR} # hack to allow setting "variable in variable" - t_CMAKE_FLAGS="" - if [[ -n ${OVERWRITE_BOOST} ]]; then declare -n t_boost_root=${OVERWRITE_BOOST}; t_CMAKE_FLAGS="-DBOOST_ROOT=${t_boost_root}"; fi - echo ${t_CMAKE_FLAGS} - mkdir -p ${t_HEJ_BUILD_DIR} - cd ${t_HEJ_BUILD_DIR} - ${CMAKE} ${t_HEJ_DIR} -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_INSTALL_PREFIX=${t_HEJ_INSTALL_DIR} ${t_CMAKE_FLAGS} script: - make -j $(nproc --ignore=1) - make install needs: [] # can run immediately artifacts: # save build and installed folder name: build expire_in: 1d paths: - ${HEJ_INSTALL_DIR} - ${HEJ_BUILD_DIR} # ----------- Test ----------- .HEJ_test: tags: *tags_def rules: *rules_def stage: test before_script: - date - source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1 # load HEJ - t_HEJ_DIR=${PWD} - t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR} - export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH} - export PATH=${t_HEJ_INSTALL_DIR}/bin:${PATH} - cd ${HEJ_BUILD_DIR} - ${CMAKE} ${t_HEJ_DIR} # rerun cmake to create all test configure files script: - ${CTEST} --output-on-failure -j $(nproc --ignore=1) artifacts: *artifacts_failed .HEJrivet_test: extends: .HEJ_test script: - ${CTEST} --output-on-failure -j $(nproc --ignore=1) - bash -c '[ -f t/tst.yoda ]' && echo "found rivet output" - rivet-cmphistos t/tst.yoda - bash -c '[ -f MC_XS_XS.dat ]' && echo "yoda not empty" ## ----------- FOG build ----------- .FOG_build: tags: *tags_def rules: *rules_def stage: FOG:build before_script: - date - source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1 # load HEJ - t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR} - export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH} - export PATH=${t_HEJ_INSTALL_DIR}/bin:${PATH} # prepare build - t_FOG_DIR=${PWD}/FixedOrderGen - t_FOG_INSTALL_DIR=${PWD}/${FOG_INSTALL_DIR} - t_FOG_BUILD_DIR=${PWD}/${FOG_BUILD_DIR} # hack to allow setting "variable in variable" - t_CMAKE_FLAGS="" - if [[ -n ${OVERWRITE_BOOST} ]]; then declare -n t_boost_root=${OVERWRITE_BOOST}; t_CMAKE_FLAGS="-DBOOST_ROOT=${t_boost_root}"; fi - mkdir -p ${t_FOG_BUILD_DIR} - cd ${t_FOG_BUILD_DIR} - ${CMAKE} ${t_FOG_DIR} -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_INSTALL_PREFIX=${t_FOG_INSTALL_DIR} ${t_CMAKE_FLAGS} script: - make -j $(nproc --ignore=1) - make install artifacts: # save build and installed folder name: FOG_build expire_in: 1d paths: - ${HEJ_INSTALL_DIR} - ${FOG_INSTALL_DIR} - ${FOG_BUILD_DIR} ## ----------- FOG test ----------- .FOG_test: tags: *tags_def rules: *rules_def stage: FOG:test before_script: - date - source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1 # load HEJ - t_FOG_DIR=${PWD}/FixedOrderGen - t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR} - t_FOG_INSTALL_DIR=${PWD}/${FOG_INSTALL_DIR} - export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH} - export PATH=${t_HEJ_INSTALL_DIR}/bin:${t_FOG_INSTALL_DIR}/bin:${PATH} - t_FOG_BUILD_DIR=${PWD}/${FOG_BUILD_DIR} - cd ${t_FOG_BUILD_DIR} - ${CMAKE} ${t_FOG_DIR} # rerun cmake to create all test configure files script: - ${CTEST} --output-on-failure -j $(nproc --ignore=1) artifacts: *artifacts_failed # --------------------------------- # - Build & Test - # --------------------------------- # ----------- basic (always run) ----------- build:basic: image: ${DOCKER_BASIC} extends: .HEJ_build rules: - when: on_success test:basic: image: ${DOCKER_BASIC} extends: .HEJ_test needs: - job: build:basic artifacts: true rules: - when: on_success FOG:build:basic: image: ${DOCKER_BASIC} extends: .FOG_build needs: - job: build:basic artifacts: true rules: - when: on_success FOG:test:basic: image: ${DOCKER_BASIC} extends: .FOG_test needs: - job: FOG:build:basic artifacts: true rules: - when: on_success # ----------- HighFive/hdf5 ----------- build:HighFive: image: ${DOCKER_HIGHFIVE} extends: .HEJ_build variables: CMAKE: cmake3 test:HighFive: image: ${DOCKER_HIGHFIVE} extends: .HEJ_test variables: CMAKE: cmake3 CTEST: ctest3 needs: - job: build:HighFive artifacts: true # ----------- QCDloop ----------- build:qcdloop: image: ${DOCKER_QCDLOOP} extends: .HEJ_build test:qcdloop: image: ${DOCKER_QCDLOOP} extends: .HEJ_test needs: - job: build:qcdloop artifacts: true # ----------- rivet3 & HepMC3 ----------- build:rivet3: image: ${DOCKER_RIVET3} extends: .HEJ_build variables: OVERWRITE_BOOST: boost_ROOT_DIR test:rivet3: image: ${DOCKER_RIVET3} extends: .HEJrivet_test needs: - job: build:rivet3 artifacts: true # ----------- HepMC 3 ----------- # HepMC 3 already in rivet3 build:hepmc3: image: ${DOCKER_HEPMC3} extends: .HEJ_build variables: CMAKE: cmake3 test:hepmc3: image: ${DOCKER_HEPMC3} extends: .HEJ_test variables: CMAKE: cmake3 CTEST: ctest3 needs: - job: build:hepmc3 artifacts: true # ----------- rivet ----------- # rivet2 already in qcdloop build:rivet: image: ${DOCKER_RIVET} extends: .HEJ_build test:rivet: image: ${DOCKER_RIVET} extends: .HEJrivet_test needs: - job: build:rivet artifacts: true # ----------- rivet3 & HepMC2 ----------- # This shouldn't change too often build:rivet3h2: image: ${DOCKER_RIVET3H2} extends: .HEJ_build variables: OVERWRITE_BOOST: boost_ROOT_DIR test:rivet3h2: image: ${DOCKER_RIVET3H2} extends: .HEJrivet_test needs: - job: build:rivet3h2 artifacts: true # --------------------------------- # - Clean Code - # --------------------------------- No_tabs: stage: clean_code tags: *tags_def rules: *rules_def image: hejdock/git needs: [] # can run immediately script: - date - check_tabs artifacts: # don't save anything # ----------- Template no compiler warnings ----------- .Warning_build: extends: .HEJ_build stage: clean_code script: - ${CMAKE} ${t_HEJ_DIR} -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_BUILD_TYPE=RelWithDebInfo - make -j $(nproc --ignore=1) - make -j $(nproc --ignore=1) install artifacts: # don't save anything needs: [] # can run immediately .Warning_FOG: extends: .FOG_build stage: FOG:clear_code script: - ${CMAKE} ${t_FOG_DIR} -DCMAKE_CXX_FLAGS="-Werror" ${t_CMAKE_FLAGS} -DCMAKE_BUILD_TYPE=RelWithDebInfo - make -j $(nproc --ignore=1) - make -j $(nproc --ignore=1) install artifacts: # don't save anything # ----------- No gcc warnings ----------- No_Warning:basic: image: ${DOCKER_BASIC} extends: .Warning_build No_Warning:basic:FOG: image: ${DOCKER_BASIC} extends: .Warning_FOG needs: - job: build:basic artifacts: true # ----------- No clang warnings ----------- No_Warning:clang: image: ${DOCKER_CLANG} extends: .Warning_build variables: OVERWRITE_BOOST: boost_ROOT_DIR artifacts: # save installed folder name: build expire_in: 1d paths: - ${HEJ_INSTALL_DIR} No_Warning:clang:FOG: image: ${DOCKER_CLANG} extends: .Warning_FOG needs: - job: No_Warning:clang artifacts: true variables: OVERWRITE_BOOST: boost_ROOT_DIR # --------------------------------- # - Long tests - # --------------------------------- .HEJ_test_long: extends: .HEJ_build stage: long_test script: - ${CMAKE} ${t_HEJ_DIR} -DCMAKE_BUILD_TYPE=RelWithDebInfo ${t_CMAKE_FLAGS} -DTEST_ALL=TRUE - make -j $(nproc --ignore=1) install - ${CTEST} --output-on-failure -j $(nproc --ignore=1) needs: [] # can run immediately +.FOG_test_long: + extends: .FOG_build + stage: long_test + script: + - ${CMAKE} ${t_HEJ_DIR} -DCMAKE_BUILD_TYPE=RelWithDebInfo ${t_CMAKE_FLAGS} + -DTEST_ALL=TRUE + - make -j $(nproc --ignore=1) install + - ${CTEST} --output-on-failure -j $(nproc --ignore=1) + # ----------- QCDloop ----------- Long_test:qcdloop: image: ${DOCKER_QCDLOOP} extends: .HEJ_test_long +# ----------- Basic ----------- + +Long_test:FOG: + image: ${DOCKER_BASIC} + extends: .HEJ_test_long + needs: + - job: No_Warning:basic + artifacts: true + # --------------------------------- # - Publish - # --------------------------------- Publish_version: stage: publish image: hejdock/git dependencies: [] artifacts: # don't save anything rules: - if: '$CI_COMMIT_BRANCH != null && $CI_COMMIT_BRANCH =~ /^v\d+\.\d+$/' when: on_success before_script: - mkdir -p .ssh/ && echo "${SSH_KEY}" > .ssh/id_rsa && chmod 0600 .ssh/id_rsa - rm -rf ~/.ssh/id_rsa; mkdir -p ~/.ssh/ - ln -s $PWD/.ssh/id_rsa ~/.ssh/id_rsa && chmod 0600 ~/.ssh/id_rsa - ssh -T ${PUBLIC_GIT_PREFIX} -o "StrictHostKeyChecking no" || echo "added ssh" script: - git remote add public ${PUBLIC_GIT_PREFIX}${PUBLIC_GIT_POSTFIX} - git checkout $CI_COMMIT_REF_NAME - git branch - git pull - git push public - git push public --tags after_script: - rm -f /root/.ssh/id_rsa && rm -fr .ssh - git remote rm public diff --git a/FixedOrderGen/CMakeLists.txt b/FixedOrderGen/CMakeLists.txt index b17a9a1..309f0bd 100644 --- a/FixedOrderGen/CMakeLists.txt +++ b/FixedOrderGen/CMakeLists.txt @@ -1,83 +1,88 @@ cmake_minimum_required(VERSION 3.1 FATAL_ERROR) set(CMAKE_LEGACY_CYGWIN_WIN32 0) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) project("HEJ Fixed Order Generation" VERSION 2.0.6 LANGUAGES C CXX) +## User settings +include(CMakeDependentOption) + +option(TEST_ALL "Run additional (longer) tests" FALSE) + # Set a default build type if none was specified set(default_build_type "RelWithDebInfo") if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message(STATUS "Setting build type to '${default_build_type}' as none was specified.") set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE STRING "Choose the type of build." FORCE) # Set the possible values of build type for cmake-gui set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") endif() ## Global flags for the compiler (all warnings) if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic") elseif (MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /WX /EHsc") endif() set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD 14) ## Create Version set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") # Get the latest abbreviated commit hash of the working branch execute_process( COMMAND git rev-parse HEAD WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE PROJECT_GIT_REVISION OUTPUT_STRIP_TRAILING_WHITESPACE ) # Get the current working branch execute_process( COMMAND git rev-parse --abbrev-ref HEAD WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE PROJECT_GIT_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE ) CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Templates/Version.hh.in include/Version.hh @ONLY ) ## Use cmake modules from HEJ src set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/../cmake/Modules/") ## Find HEJ (only dependency) ## HEJ includes all sub dependencies (fastjet, lhapdf, ...) find_package(HEJ 2 REQUIRED) include(RepairTargets) # more reliable cmake targets ## define executable file(GLOB HEJFOG_source ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc) list(REMOVE_ITEM HEJFOG_source ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cc) add_library(hejfog_lib STATIC ${HEJFOG_source}) target_include_directories(hejfog_lib PUBLIC ${PROJECT_SOURCE_DIR}/include ${PROJECT_BINARY_DIR}/include ) add_executable(HEJFOG ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cc) ## link libraries set(libraries ${CMAKE_DL_LIBS}) target_link_libraries(hejfog_lib ${libraries} HEJ::HEJ) target_link_libraries(HEJFOG hejfog_lib) install(TARGETS HEJFOG DESTINATION bin) ## tests include(CTest) ## advanced version of enable_testing() ## adds "BUILD_TESTING" option to deactivate testing if(BUILD_TESTING) add_subdirectory(t) endif() diff --git a/FixedOrderGen/t/CMakeLists.txt b/FixedOrderGen/t/CMakeLists.txt index 5de2656..abb527f 100644 --- a/FixedOrderGen/t/CMakeLists.txt +++ b/FixedOrderGen/t/CMakeLists.txt @@ -1,182 +1,185 @@ 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 ${runcard_dir} ) endforeach() # this only tests if the runcard actually works, not if the result is correct add_test( NAME main_2j COMMAND HEJFOG ${runcard_dir}/2j.yml ) add_test( NAME main_h2j COMMAND HEJFOG ${runcard_dir}/h2j.yml ) add_test( NAME main_h2j_decay COMMAND HEJFOG ${runcard_dir}/h2j_decay.yml ) add_test( NAME peakpt 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 ${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 ${runcard_dir}/hqQ.yml 1.612e-02 1.26303e-04 ) add_test( NAME xs_h2j # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20 COMMAND xs_gen ${runcard_dir}/h2j.yml 2.04928 0.00956022 ) add_test( NAME xs_h3j # calculated with HEJ revision bd4388fe55cbc3f5a7b6139096456c551294aa31 COMMAND xs_gen ${runcard_dir}/h3j.yml 1.07807 0.0132409 ) add_test( NAME xs_h5j # calculated with HEJ revision dbde2ffbb3b383ae6709b2424d8f0f9d5658270b 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 ${runcard_dir}/h3j_uno.yml 0.00347538 3.85875e-05 -) -add_test( NAME xs_h2j_decay # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20 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 ${runcard_dir}/qQ.yml 7.354e+05 1.905e+03 ) add_test( NAME xs_2j # calculated with "combined" HEJ svn r3480 COMMAND xs_gen ${runcard_dir}/2j.yml 86.42031848e06 590570 ) add_test( NAME xs_3j_uno # calculated with HEJ revision 9401196fba75b5d16bc33f2a309175fecaca00f1 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 ${runcard_dir}/3j_qqx.yml 62040 1005 ) add_test( NAME xs_4j_qqx # calculated with HEJ revision 9401196fba75b5d16bc33f2a309175fecaca00f1 COMMAND xs_gen ${runcard_dir}/4j_qqx.yml 28936 550 ) add_test( NAME xs_4j # calculated with HEJ revision 13207b5f67a5f40a2141aa7ee515b022bd4efb65 COMMAND xs_gen ${runcard_dir}/4j.yml 915072 15402.4 ) ## W add_test( NAME xs_WqQ # calculated with Sherpa see #132 COMMAND xs_gen ${runcard_dir}/WpqQ.yml 3.086e+00 4.511e-02 ) add_test( NAME xs_W2j # calculated with HEJ revision 449f2f6b597020e9c9e35699568edc05c827fc11+1 COMMAND xs_gen ${runcard_dir}/Wm2j.yml 4.177443e+02 7.446928e+00 ) -add_test( - NAME xs_W3j_uno - # calculated with HEJ revision 449f2f6b597020e9c9e35699568edc05c827fc11+1 - COMMAND xs_gen ${runcard_dir}/Wp3j_uno.yml 3.000955e-01 5.831799e-03 -) -add_test( - NAME xs_W3j_eqqx - # calculated with HEJ revision 449f2f6b597020e9c9e35699568edc05c827fc11+1 - COMMAND xs_gen ${runcard_dir}/Wp3j_qqx.yml 8.710751e+00 1.245725e-01 -) -add_test( - NAME xs_W4j_qqx - # calculated with HEJ revision be065dc9a21e5965ce57583f6c0a3d953664b82b - 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 ${runcard_dir}/2j.yml ) add_test( NAME channel_3j_qqx COMMAND PSP_channel ${runcard_dir}/3j_qqx.yml ) add_test( NAME channel_3j_uno COMMAND PSP_channel ${runcard_dir}/3j_uno.yml ) -add_test( - NAME channel_4j_qqx - COMMAND PSP_channel ${runcard_dir}/4j_qqx.yml -) # W+jets # pure jets add_test( NAME channel_W2j COMMAND PSP_channel ${runcard_dir}/Wm2j.yml ) add_test( NAME channel_W3j_uno COMMAND PSP_channel ${runcard_dir}/Wp3j_uno.yml ) add_test( NAME channel_W3j_eqqx COMMAND PSP_channel ${runcard_dir}/Wp3j_qqx.yml ) -add_test( - NAME channel_W4j_qqx - COMMAND PSP_channel ${runcard_dir}/Wp4j_qqx.yml -) # Test that each subleading channel is generated consistently add_executable(PSP_subl PSP_subl.cc) target_link_libraries(PSP_subl hejfog_lib) -add_test( - NAME subl_5j - COMMAND PSP_subl ${runcard_dir}/5j.yml -) -add_test( - NAME subl_h5j - COMMAND PSP_subl ${runcard_dir}/h5j.yml -) -add_test( - NAME subl_W5j - COMMAND PSP_subl ${runcard_dir}/Wm5j.yml -) + +if(TEST_ALL) # deactivate long tests by default + add_test( + NAME xs_W3j_eqqx + # calculated with HEJ revision 449f2f6b597020e9c9e35699568edc05c827fc11+1 + COMMAND xs_gen ${runcard_dir}/Wp3j_qqx.yml 8.710751e+00 1.245725e-01 + ) + add_test( + NAME xs_h3j_uno + # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20 + COMMAND xs_gen ${runcard_dir}/h3j_uno.yml 0.00347538 3.85875e-05 + ) + add_test( + NAME xs_W4j_qqx + # calculated with HEJ revision be065dc9a21e5965ce57583f6c0a3d953664b82b + COMMAND xs_gen ${runcard_dir}/Wp4j_qqx.yml 9.274718e-02 4.875742e-03 + ) + add_test( + NAME xs_W3j_uno + # calculated with HEJ revision 449f2f6b597020e9c9e35699568edc05c827fc11+1 + COMMAND xs_gen ${runcard_dir}/Wp3j_uno.yml 3.000955e-01 5.831799e-03 + ) + add_test( + NAME channel_4j_qqx + COMMAND PSP_channel ${runcard_dir}/4j_qqx.yml + ) + add_test( + NAME channel_W4j_qqx + COMMAND PSP_channel ${runcard_dir}/Wp4j_qqx.yml + ) + add_test( + NAME subl_5j + COMMAND PSP_subl ${runcard_dir}/5j.yml + ) + add_test( + NAME subl_h5j + COMMAND PSP_subl ${runcard_dir}/h5j.yml + ) + add_test( + NAME subl_W5j + COMMAND PSP_subl ${runcard_dir}/Wm5j.yml + ) +endif()