Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • DC_2404
  • DC_Jan24
  • DC_Nov23
  • DC_Oct23
  • L1Algo-dev9
  • apr21_patches
  • cleanup_rich_v25a
  • dec21_patches
  • feb23_patches
  • jul24_patches
  • jul25_patches
  • master
  • nighly_master
  • nightly_master
  • nov23_patches
  • online_much_readconf_cleanup
  • online_mvd_readconf_cleanup
  • APR21
  • DEC21
  • FEB23
  • JUL24
  • JUL24p1
  • RC1_APR21
  • RC1_feb23
  • RC1_nov23
  • RC2_APR21
  • RC2_feb23
  • RC2_nov23
  • RC3_APR21
  • RC3_nov23
  • RC4_nov23
  • RC5_nov23
  • RC_jul25
  • dev_2021_06
  • dev_2021_07
  • dev_2021_08
  • dev_2021_09
  • dev_2021_10
  • dev_2021_11
  • dev_2021_12
  • dev_2021_13
  • dev_2021_14
  • dev_2021_15
  • dev_2021_16
  • dev_2021_17
  • dev_2021_18
  • dev_2021_19
  • dev_2021_20
  • dev_2021_21
  • dev_2021_22
  • dev_2021_23
  • dev_2021_24
  • dev_2021_25
  • dev_2021_26
  • dev_2021_27
  • dev_2021_28
  • dev_2021_29
  • dev_2021_30
  • dev_2021_31
  • dev_2021_32
  • dev_2021_33
  • dev_2021_34
  • dev_2021_35
  • dev_2021_36
  • dev_2021_37
  • dev_2021_38
  • dev_2021_39
  • dev_2021_40
  • dev_2021_41
  • dev_2021_42
  • dev_2021_43
  • dev_2021_44
  • dev_2021_45
  • dev_2021_46
  • dev_2021_47
  • dev_2021_48
  • dev_2021_49
  • dev_2021_50
  • dev_2021_51
  • dev_2021_52
  • dev_2022_01
  • dev_2022_02
  • dev_2022_03
  • dev_2022_04
  • dev_2022_06
  • dev_2022_07
  • dev_2022_08
  • dev_2022_09
  • dev_2022_10
  • dev_2022_11
  • dev_2022_12
  • dev_2022_13
  • dev_2022_14
  • dev_2022_15
  • dev_2022_16
  • dev_2022_17
  • dev_2022_18
  • dev_2022_19
  • dev_2022_20
  • dev_2022_21
  • dev_2022_22
  • dev_2022_23
  • dev_2022_24
  • dev_2022_25
  • dev_2022_26
  • dev_2022_27
  • dev_2022_28
  • dev_2022_29
  • dev_2022_30
  • dev_2022_31
  • dev_2022_32
  • dev_2022_33
  • dev_2022_34
  • dev_2022_35
  • dev_2022_37
  • dev_2022_38
  • dev_2022_39
117 results

Target

Select target project
  • le.koch/cbmroot
  • patrick.pfistner_AT_kit.edu/cbmroot
  • lena.rossel_AT_stud.uni-frankfurt.de/cbmroot
  • i.deppner/cbmroot
  • fweig/cbmroot
  • karpushkin_AT_inr.ru/cbmroot
  • v.akishina/cbmroot
  • rishat.sultanov_AT_cern.ch/cbmroot
  • l_fabe01_AT_uni-muenster.de/cbmroot
  • pwg-c2f/cbmroot
  • j.decuveland/cbmroot
  • a.toia/cbmroot
  • i.vassiliev/cbmroot
  • n.herrmann/cbmroot
  • o.lubynets/cbmroot
  • se.gorbunov/cbmroot
  • cornelius.riesen_AT_physik.uni-giessen.de/cbmroot
  • zhangqn17_AT_mails.tsinghua.edu.cn/cbmroot
  • bartosz.sobol/cbmroot
  • ajit.kumar/cbmroot
  • computing/cbmroot
  • a.agarwal_AT_vecc.gov.in/cbmroot
  • osingh/cbmroot
  • wielanek_AT_if.pw.edu.pl/cbmroot
  • malgorzata.karabowicz.stud_AT_pw.edu.pl/cbmroot
  • m.shiroya/cbmroot
  • s.roy/cbmroot
  • p.-a.loizeau/cbmroot
  • a.weber/cbmroot
  • ma.beyer/cbmroot
  • d.klein/cbmroot
  • d.smith/cbmroot
  • pchaloupka/cbmroot
  • mvdsoft/cbmroot
  • d.spicker/cbmroot
  • y.h.leung/cbmroot
  • dvorar10_AT_fjfi.cvut.cz/cbmroot
  • aksharma/cbmroot
  • m.deveaux/cbmroot
  • s.glaessel/cbmroot
  • mkunold/cbmroot
  • h.darwish/cbmroot
  • pk.sharma_AT_vecc.gov.in/cbmroot
  • z.yingjie/cbmroot
  • f_fido01_AT_uni-muenster.de/cbmroot
  • g.kozlov/cbmroot
  • d.emschermann/cbmroot
  • evgeny.lavrik/cbmroot
  • v.friese/cbmroot
  • f.uhlig/cbmroot
  • ebechtel_AT_ikf.uni-frankfurt.de/cbmroot
  • a.senger/cbmroot
  • praisig/cbmroot
  • s.lebedev/cbmroot
  • redelbach_AT_compeng.uni-frankfurt.de/cbmroot
  • p.subramani/cbmroot
  • a_meye37_AT_uni-muenster.de/cbmroot
  • om/cbmroot
  • o.golosov/cbmroot
  • l.chlad/cbmroot
  • a.bercuci/cbmroot
  • d.ramirez/cbmroot
  • v.singhal/cbmroot
  • h.schiller/cbmroot
  • apuntke/cbmroot
  • f.zorn/cbmroot
  • rubio_AT_physi.uni-heidelberg.de/cbmroot
  • p.chudoba/cbmroot
  • apuntke/mcbmroot
  • r.karabowicz/cbmroot
70 results
Select Git revision
  • APR21
  • add_placement_matrix
  • alignment_example
  • allow_geom_placement
  • build_additional_external_packages
  • compile_macros
  • docs_modernize-use-nullptr
  • externals_with_fetchcontent
  • fix_deprecated_header
  • fix_deprecated_header_2
  • fix_deprecated_mq_classes
  • fix_for_fedora41
  • fix_issue_1687
  • fix_missing_headers
  • fix_missing_includes
  • fix_mr_2000
  • fix_mvd_CI_tests
  • fix_mvd_EbE_digi_and_reco
  • fix_mvd_digi_generation_in_event_based_mode
  • fix_mvd_digitizer
  • fuhlig_master
  • improve_mcdatamanager
  • jul24_patches
  • master
  • mr-origin-1174
  • must_simulation_2
  • mvdsoft_master
  • new_param_file
  • new_tools_macro
  • parameter_example_1
  • prepare_for_imported_fairroot_targets
  • refactor_access_tcl
  • remove_classimp_macro
  • remove_fairrootmanager_getoutfile
  • remove_fairvolume_usage
  • shallow_copy
  • small_fixes_to_mr2040
  • stage1
  • stage2a
  • stage2b
  • stage2b_corr
  • stage3
  • stage4
  • stage5
  • test_5layer_sts
  • test_CI
  • test_for_empty_branches
  • treecompare_macro
  • type_traits_test
  • update_flesnet
  • vfb
  • RC1_feb23
  • RC2_APR21
53 results
Show changes
Commits on Source (1026)
Showing
with 471 additions and 441 deletions
ARG TAG=12-fair202211.1-rocm5.4
ARG TAG=12-fair202211.4-rocm5.4
ARG REGISTRY=hub.cbm.gsi.de/computing/images/online
FROM ${REGISTRY}/dev:${TAG} as build
......
......@@ -150,7 +150,7 @@ SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
WhitespaceSensitiveMacros: ['CBM_ENUM_DICT']
WhitespaceSensitiveMacros: ['CBM_ENUM_DICT', 'CBM_YAML_PROPERTIES']
StatementMacros: ['CBM_PARALLEL_FOR']
Standard: c++11
......
......@@ -5,6 +5,7 @@
/geometry
/input
/parameters
/qa_data
/build
/algo/external
......@@ -14,5 +15,19 @@ Dart*.cfg
# gdb Crash dumps
**/core_dump_*
# Git rebase backoup files
**/*.orig
# IDEs
.vscode
.cache
# Housekeeping
*~
.*
!.gitignore
!.gitlab-ci.yml
!.dockerignore
!.clang-format
!.clang-tidy
!.ci/
......@@ -4,7 +4,7 @@ stages:
- build
- package
- verify
- finalise
# - finalise
- documentation
RebaseCheck:
......@@ -181,6 +181,24 @@ FileEndCheck:
- git fetch upstream
- scripts/check-file-ending.sh upstream
CheckForNonASCII:
stage: checkFormat
image: alpine
tags:
- docker
only:
refs:
- merge_requests
variables:
- $CI_MERGE_REQUEST_PROJECT_PATH == "computing/cbmroot" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"
- $CI_MERGE_REQUEST_PROJECT_PATH == "computing/cbmroot" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^DC_.*$/
script:
# Get the upstream repository manually. I did not find any other way to have it for
# comparison
- apk update && apk add git bash file pcre-tools
- scripts/connect_upstream_repo.sh $CI_MERGE_REQUEST_PROJECT_URL
- git fetch upstream
- scripts/check-non-ascii-characters.sh upstream
FileLicenceCheck:
stage: checkFormat
......@@ -206,6 +224,7 @@ FileLicenceCheck:
# job template
#
.build_and_test: &build_and_test
timeout: 1h # Possible since Gitlab 15.7, job-level timeout can exceed project timeout but not Runner timeout
before_script:
- if [ "$CI_MERGE_REQUEST_PROJECT_PATH" != "computing/cbmroot" ]; then
- if [ "$CI_PROJECT_PATH" != "computing/cbmroot" ]; then
......@@ -221,12 +240,6 @@ FileLicenceCheck:
- if [[ -n $RAW_DATA_PATH ]]; then
- echo "export RAW_DATA_PATH=$RAW_DATA_PATH" >> Dart.cfg
- fi
# Need to encapsulate the command to add GEO_HASH_CHANGE flag in Dart.cfg probably due to a long-standing
# feature/bug of gitlab shell runners w/ cmd result assignment when the return value is 0
# see https://gitlab.com/gitlab-org/gitlab-runner/-/issues/1779 and 3897
- if [[ -n $CHECK_GEO_HASH_CHANGE ]]; then
- scripts/check-geo-hash-changes.sh $CI_MERGE_REQUEST_PROJECT_URL $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
- fi
- echo "export BUILDDIR=$PWD/build" >> Dart.cfg
- echo "export SOURCEDIR=$PWD" >> Dart.cfg
- if [[ -n $EXTRA_PATH ]]; then
......@@ -238,6 +251,10 @@ FileLicenceCheck:
- if [[ -n $INSTALL_PROJECT ]]; then
- echo "export INSTALL_PROJECT=TRUE" >> Dart.cfg
- fi
- ./scripts/find_cijob_ctest_stop_time.sh Dart.cfg
- if [[ -n $CI_TEST_STAGE_TOTAL_TIME_LIMIT ]]; then
- echo "export CI_TEST_STAGE_TOTAL_TIME_LIMIT=$CI_TEST_STAGE_TOTAL_TIME_LIMIT" >> Dart.cfg
- fi
- if [[ -n $CONFIGFILE ]]; then
- source $CONFIGFILE $FAIRSOFT_VERSION
- fi
......@@ -254,45 +271,27 @@ FileLicenceCheck:
- CbmRoot_realData
.realData_variables: &realData_variables
OS: "Debian10"
EXTRA_PATH: /opt/cmake/3.20.1/bin
OS: "Debian12"
NCPU: 16
RAW_DATA_PATH: "/opt/cbmsoft/beamtime-test-data/reduced/"
FAIRSOFT_VERSION: "apr21p2_root6"
FAIRROOT_VERSION: "v18.6.7"
BASE_PATH: "/opt/cbmsoft"
SIMPATH: "$BASE_PATH/fairsoft_$FAIRSOFT_VERSION/installation"
FAIRROOTPATH: "$BASE_PATH/fairroot_${FAIRROOT_VERSION}-fairsoft_${FAIRSOFT_VERSION}"
FAIRSOFT_VERSION: "nov22p1"
FAIRROOT_VERSION: "v18.8.0"
BASE_PATH: "/opt/"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
CHECK_GEO_HASH_CHANGE: "1"
CI_TEST_STAGE_TOTAL_TIME_LIMIT: 1500 # in seconds = 25 minutes
.apptainer_tag: &apptainer_tag
stage: build
tags:
- CbmRoot_apptainer
.apptainer_centos7_variables_apr21: &apptainer_centos7_variables_apr21
OS: centos7
FAIRSOFT_VERSION: apr21p2
FAIRROOT_VERSION: v18.6.7
BASE_PATH: "/cvmfs/fairsoft.gsi.de/$OS/gcc8"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_fs_${FAIRSOFT_VERSION}"
CONFIGFILE: "/cvmfs/cbm.gsi.de/$OS/bin/setup_development_environment_test.sh"
.apptainer_centos7_variables_nov22p1: &apptainer_centos7_variables_nov22p1
OS: centos7
FAIRSOFT_VERSION: nov22p1
FAIRROOT_VERSION: v18.8.0
BASE_PATH: "/cvmfs/fairsoft.gsi.de/$OS/gcc8"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
CONFIGFILE: "/cvmfs/fairsoft.gsi.de/$OS/bin/setup_development_environment.sh"
.apptainer_vae23_variables_apr21: &apptainer_vae23_variables_apr21
.apptainer_vae23_variables_nov22p1: &apptainer_vae23_variables_nov22p1
CONTAINER: "/cvmfs/vae.gsi.de/vae23/containers/user_container-production.sif"
OS: vae23
FAIRSOFT_VERSION: apr21p2
FAIRROOT_VERSION: v18.6.7
FAIRSOFT_VERSION: nov22p1
FAIRROOT_VERSION: v18.8.0
BASE_PATH: "/cvmfs/fairsoft.gsi.de/debian10/"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_fs_${FAIRSOFT_VERSION}"
......@@ -300,29 +299,54 @@ FileLicenceCheck:
INSTALL_PROJECT: "TRUE"
EXTRA_FLAGS: '"-DCBM_TEST_INSTALL=TRUE"'
.apptainer_vae23_variables_nov22p1: &apptainer_vae23_variables_nov22p1
CONTAINER: "/cvmfs/vae.gsi.de/vae23/containers/user_container-production.sif"
OS: vae23
FAIRSOFT_VERSION: nov22p1
.apptainer_vae24_variables_nov22p3: &apptainer_vae24_variables_nov22p3
CONTAINER: "/cvmfs/vae.gsi.de/vae24/containers/user_container-production.sif"
OS: vae24
FAIRSOFT_VERSION: nov22p3
FAIRROOT_VERSION: v18.8.0
BASE_PATH: "/cvmfs/fairsoft.gsi.de/debian10/"
BASE_PATH: "/cvmfs/fairsoft.gsi.de/debian11/"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_fs_${FAIRSOFT_VERSION}"
CONFIGFILE: "/cvmfs/cbm.gsi.de/debian10/bin/setup_development_environment.sh"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
CONFIGFILE: "/cvmfs/cbm.gsi.de/debian11/bin/setup_development_environment.sh"
INSTALL_PROJECT: "TRUE"
EXTRA_FLAGS: '"-DCBM_TEST_INSTALL=TRUE"'
.apptainer_debian11_variables_apr21: &apptainer_debian11_variables_apr21
CONTAINER: "/cvmfs/cbm.gsi.de/containers/debian11_v18.6.7_apr21p2_1.sif"
OS: debian11
FAIRSOFT_VERSION: apr21p2
FAIRROOT_VERSION: v18.6.7
BASE_PATH: "/opt/"
SIMPATH: "$BASE_PATH/fairsoft/${FAIRSOFT_VERSION}"
.apptainer_vae24_variables_jan24p1: &apptainer_vae24_variables_jan24p1
CONTAINER: "/cvmfs/vae.gsi.de/vae24/containers/user_container-production.sif"
OS: vae24
FAIRSOFT_VERSION: jan24p1
FAIRROOT_VERSION: v18.8.2
BASE_PATH: "/cvmfs/fairsoft.gsi.de/debian11/"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
CONFIGFILE: "/cvmfs/cbm.gsi.de/debian11/bin/setup_development_environment.sh"
INSTALL_PROJECT: "TRUE"
EXTRA_FLAGS: '"-DCBM_TEST_INSTALL=TRUE"'
.apptainer_vae25_variables_nov22p1: &apptainer_vae25_variables_nov22p1
CONTAINER: "/cvmfs/vae.gsi.de/vae25/containers/user_container-production.sif"
OS: vae25
FAIRSOFT_VERSION: nov22p1
FAIRROOT_VERSION: v18.8.0
BASE_PATH: "/cvmfs/fairsoft.gsi.de/debian12/"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_fs_${FAIRSOFT_VERSION}"
# Two next variables trigger their effect if present, even if set to FALSE
# INSTALL_PROJECT: "TRUE"
# EXTRA_FLAGS: '"-DCBM_TEST_INSTALL=TRUE"'
.apptainer_vae25_variables_jan24p1: &apptainer_vae25_variables_jan24p1
CONTAINER: "/cvmfs/vae.gsi.de/vae25/containers/user_container-production.sif"
OS: vae25
FAIRSOFT_VERSION: jan24p1
FAIRROOT_VERSION: v18.8.2
BASE_PATH: "/cvmfs/fairsoft.gsi.de/debian12/"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
# Two next variables trigger their effect if present, even if set to FALSE
# INSTALL_PROJECT: "TRUE"
# EXTRA_FLAGS: '"-DCBM_TEST_INSTALL=TRUE"'
.apptainer_debian12_variables_nov22p1: &apptainer_debian12_variables_nov22p1
CONTAINER: "/cvmfs/cbm.gsi.de/containers/debian12_v18.8.0_nov22p1_2.sif"
OS: debian12
......@@ -338,16 +362,19 @@ FileLicenceCheck:
stage: build
tags:
- CbmRoot
# Possible since Gitlab 15.7, job-level timeout can exceed project timeout but not Runner timeout
timeout: 1h 30m # Continuous tests after merge need more time than the pre-merge CI
.linux_variables: &linux_variables
OS: "Debian10.11"
NCPU: 5
FAIRSOFT_VERSION: "apr21p2"
FAIRROOT_VERSION: "v18.6.7"
BASE_PATH: "/cvmfs/fairsoft.gsi.de/debian10"
OS: "Debian12"
NCPU: 16
FAIRSOFT_VERSION: "nov22p1"
FAIRROOT_VERSION: "v18.8.0"
BASE_PATH: "/opt/"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_fs_${FAIRSOFT_VERSION}"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
EXTRA_PATH: "${SIMPATH}/bin"
CI_TEST_STAGE_TOTAL_TIME_LIMIT: 1800 # in seconds = 30 m, Continuous tests after merge need longer than pre-merge CI
.macosx_tag: &macosx_tag
stage: build
......@@ -384,36 +411,6 @@ FileLicenceCheck:
IMAGE_NAME: "${OS}_${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
EXTRA_PATH: /usr/local/bin
.macosx_1015_variables: &macosx_1015_variables
OS: "macOS1015"
FAIRSOFT_VERSION: "apr21p2"
FAIRROOT_VERSION: "v18.6.7"
BASE_PATH: "/opt"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
IMAGE_NAME: "${OS}_${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
EXTRA_PATH: /usr/local/bin
.macosx_12_variables: &macosx_12_variables
OS: "macOS12"
FAIRSOFT_VERSION: "apr21p2"
FAIRROOT_VERSION: "v18.6.7"
BASE_PATH: "/opt"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
IMAGE_NAME: "${OS}_${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
EXTRA_PATH: /usr/local/bin
.macosx_11_variables: &macosx_11_variables
OS: "macOS11"
FAIRSOFT_VERSION: "apr21p2"
FAIRROOT_VERSION: "v18.6.7"
BASE_PATH: "/opt"
SIMPATH: "$BASE_PATH/fairsoft/$FAIRSOFT_VERSION"
FAIRROOTPATH: "$BASE_PATH/fairroot/${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
IMAGE_NAME: "${OS}_${FAIRROOT_VERSION}_${FAIRSOFT_VERSION}"
EXTRA_PATH: /usr/local/bin
.mergeVariables: &mergeVariables
BUILD_TYPE: "Continuous"
......@@ -448,30 +445,30 @@ CbmRoot_Merge_Apptainer_debian12_nov22p1:
variables:
<<: [*mergeRequestVariables, *apptainer_debian12_variables_nov22p1]
CbmRoot_Merge_Apptainer_debian11_apr21:
CbmRoot_Merge_Apptainer_vae23_nov22p1:
<<: [*apptainer_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *apptainer_debian11_variables_apr21]
<<: [*mergeRequestVariables, *apptainer_vae23_variables_nov22p1]
CbmRoot_Merge_Apptainer_centos7_apr21:
CbmRoot_Merge_Apptainer_vae24_nov22p3:
<<: [*apptainer_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *apptainer_centos7_variables_apr21]
<<: [*mergeRequestVariables, *apptainer_vae24_variables_nov22p3]
CbmRoot_Merge_Apptainer_centos7_nov22p1:
CbmRoot_Merge_Apptainer_vae24_jan24p1:
<<: [*apptainer_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *apptainer_centos7_variables_nov22p1]
<<: [*mergeRequestVariables, *apptainer_vae24_variables_jan24p1]
CbmRoot_Merge_Apptainer_vae23_apr21:
CbmRoot_Merge_Apptainer_vae25_nov22p1:
<<: [*apptainer_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *apptainer_vae23_variables_apr21]
<<: [*mergeRequestVariables, *apptainer_vae25_variables_nov22p1]
CbmRoot_Merge_Apptainer_vae23_nov22p1:
CbmRoot_Merge_Apptainer_vae25_jan24p1:
<<: [*apptainer_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *apptainer_vae23_variables_nov22p1]
<<: [*mergeRequestVariables, *apptainer_vae25_variables_jan24p1]
CbmRoot_Merge_macosx_13_nov22p1:
<<: [*macosx_tag, *check_merge_request, *build_and_test]
......@@ -488,21 +485,6 @@ CbmRoot_Merge_macosx_11_nov22p1:
variables:
<<: [*mergeRequestVariables, *macosx_11_variables_nov22p1]
CbmRoot_Merge_macosx_1015:
<<: [*macosx_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *macosx_1015_variables]
CbmRoot_Merge_macosx_11:
<<: [*macosx_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *macosx_11_variables]
CbmRoot_Merge_macosx_12:
<<: [*macosx_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *macosx_12_variables]
CbmRoot_Continuous:
<<: [*linux_tag, *check_merge, *build_and_test]
variables:
......@@ -523,7 +505,7 @@ BuildOnlineContainerMR:
tags:
- docker
image:
name: $CI_REGISTRY/computing/images/base/kaniko/executor:v1.16.0-debug
name: $CI_REGISTRY/computing/images/base/kaniko/executor:v1.20.1-debug
entrypoint: [""]
variables:
IMAGE_NAME: $CI_REGISTRY_IMAGE/cbm_online
......@@ -566,7 +548,7 @@ BuildOnlineContainerBranch:
tags:
- docker
image:
name: $CI_REGISTRY/computing/images/base/kaniko/executor:v1.16.0-debug
name: $CI_REGISTRY/computing/images/base/kaniko/executor:v1.20.1-debug
entrypoint: [""]
variables:
IMAGE_NAME: $CI_REGISTRY_IMAGE/cbm_online
......@@ -594,21 +576,21 @@ VerifyOnlineContainerBranch:
script:
- cbmreco --help
InformCodeOwners:
stage: finalise
tags:
- Code_Owners
only:
refs:
- merge_requests
variables:
- $CI_MERGE_REQUEST_PROJECT_PATH == "computing/cbmroot" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"
script:
# Get the upstream repository manually. I did not find any other way to have it for
# comparison
- scripts/connect_upstream_repo.sh $CI_MERGE_REQUEST_PROJECT_URL
- git fetch upstream
- scripts/inform_codeowners.sh upstream
#InformCodeOwners:
# stage: finalise
# tags:
# - Code_Owners
# only:
# refs:
# - merge_requests
# variables:
# - $CI_MERGE_REQUEST_PROJECT_PATH == "computing/cbmroot" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"
# script:
# # Get the upstream repository manually. I did not find any other way to have it for
# # comparison
# - scripts/connect_upstream_repo.sh $CI_MERGE_REQUEST_PROJECT_URL
# - git fetch upstream
# - scripts/inform_codeowners.sh upstream
pages:
stage: documentation
......
......@@ -71,6 +71,8 @@ include(FairMacros)
include(WriteConfigFile)
include(CheckCompiler)
include(WriteGeant4Data_jupy)
include(WriteKernelFile)
# Do some basic checks
# out-of-source build, unix system and
......@@ -82,6 +84,9 @@ list(PREPEND CMAKE_PREFIX_PATH ${SIMPATH})
unset(packages)
find_package(Python3)
MESSAGE("Python3_EXECUTABLE=${Python3_EXECUTABLE}")
#Searches for ROOT Package
find_package(ROOT 6.22 CONFIG REQUIRED)
if(ROOT_FOUND)
......@@ -137,7 +142,9 @@ endif()
#Searching for Boost Package
find_package(Boost COMPONENTS serialization regex filesystem log log_setup container program_options thread iostreams system)
find_package(Boost CONFIG
COMPONENTS serialization regex filesystem log log_setup container program_options thread iostreams system
)
if(Boost_FOUND)
list(APPEND packages Boost)
endif()
......@@ -184,6 +191,11 @@ if(fmt_FOUND)
list(APPEND packages fmt)
endif()
#Searching for ONNXRuntime
find_package(ONNXRuntime CONFIG)
if (ONNXRuntime_FOUND)
list(APPEND packages ONNXRuntime)
endif()
#Searching for FairMQ
find_package(FairMQ CONFIG REQUIRED)
......@@ -193,10 +205,25 @@ if(FairMQ_FOUND)
set_property(TARGET FairMQ::FairMQ APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${_inDirMQ}/fairmq/options")
endif()
#Searching for GTest in the build directory
find_package(GTest HINTS ${CMAKE_BINARY_DIR})
# Check if the compiler supports the needed C++ standard
# Check for the minimum required versions of FairSoft and FairRoot
check_external_stack()
if(NOT CBM_TEST_MODEL)
set(CBM_TEST_MODEL Experimental)
endif()
# Special case for GCC 10.2.1 with Profiling enabled: optimization of L1 has to be disabled to avoid errors
If((${CBM_TEST_MODEL} MATCHES Weekly OR ${CBM_TEST_MODEL} MATCHES Profile)
AND ${CMAKE_CXX_COMPILER_ID} MATCHES GNU
AND ${CMAKE_CXX_COMPILER_VERSION} MATCHES 10.2.1)
Message(STATUS "Detected Profiling build with GCC 10.2.1")
Message(STATUS "=> Disabling L1 optimization to avoid compilation errors")
Set(L1_NO_OPT ON CACHE BOOL "Detected Profiling build with GCC 10.2.1 => Disabling L1 opti to avoid comp. errors")
EndIf()
# Set the compiler flags
set_compiler_flags()
......@@ -224,7 +251,7 @@ If(DEFINED ENV{OMP_NUM_THREADS} )
endif()
set(CBMLIBDIR ${CMAKE_BINARY_DIR}/lib)
set(LD_LIBRARY_PATH ${CBMLIBDIR} ${Boost_LIBRARY_DIRS} ${LD_LIBRARY_PATH} ${FAIRROOT_LIBRARY_DIR})
set(LD_LIBRARY_PATH ${CBMLIBDIR} ${SIMPATH}/lib ${LD_LIBRARY_PATH} ${FAIRROOT_LIBRARY_DIR})
set(ROOT_INCLUDE_PATH ${FAIRROOT_INCLUDE_DIR})
# Recurse into the given subdirectories. This does not actually
......@@ -232,11 +259,6 @@ set(ROOT_INCLUDE_PATH ${FAIRROOT_INCLUDE_DIR})
# the project's entire directory structure.
Option(BUILD_UNITTESTS "Build all unit tests and add them as new tests" ON)
If(BUILD_UNITTESTS)
Message("Build the unit tests.")
Message(STATUS "Build internal GTest")
Include(external/InstallGtest.cmake)
endif()
### Subdirectories to be compiled #####
......@@ -246,6 +268,7 @@ endif()
# following targets
add_subdirectory (external)
option(BUILD_FOR_TIDY "Create compile commands database needed by clang-tidy" OFF)
# Add the default compiler include paths needed for our static standalone clang-tidy
# binary. The paths are only added to the compilation units in the generated file
......@@ -273,10 +296,6 @@ add_subdirectory (services)
### Others
Option(LARGE_TEST_STATISTIC "Run the test suite with large statistic (100 events)" OFF)
if(NOT CBM_TEST_MODEL)
set(CBM_TEST_MODEL Experimental)
endif()
add_subdirectory (macro)
add_subdirectory(fles)
......
......@@ -10,18 +10,18 @@
/fles/ @f.uhlig @p.-a.loizeau
/macro/ @f.uhlig @p.-a.loizeau
/macro/C2F/ @i.selyuzhenkov
/macro/analysis/ @i.selyuzhenkov
/macro/KF/ @se.gorbunov @v.akishina
/macro/C2F/ @a.andronic @k.piasecki
/macro/analysis/ @a.andronic @k.piasecki
/macro/KF/ @se.gorbunov
# Core
/core/ @f.uhlig @v.friese @p.-a.loizeau
/core/qa/ @se.gorbunov @s.zharko
/core/data/test/ @f.uhlig
/core/data/raw/ @p.-a.loizeau
/core/base/utils/ @f.uhlig @s.lebedev
/core/base/report/ @s.lebedev
/core/base/draw/ @s.lebedev
/core/base/utils/ @f.uhlig
/core/base/report/ @f.uhlig
/core/base/draw/ @f.uhlig
# Algo
/algo/ @d.smith @fweig
......@@ -32,23 +32,23 @@
# Reco
/reco/ @f.uhlig @v.friese @p.-a.loizeau
/reco/littrack/ @s.lebedev @andrey.lebedev
/reco/littrack/ @se.gorbunov
/reco/L1/ @se.gorbunov @s.zharko
/reco/eventbuilder/ @d.smith
/reco/KF/ @se.gorbunov @s.zharko
# Analysis
/analysis/ @i.selyuzhenkov
/analysis/ @a.andronic @k.piasecki
/analysis/PWGC2F/femtoscopy/ @wielanek_AT_if.pw.edu.pl
/analysis/common/ @i.selyuzhenkov
/analysis/PWGHAD/ @i.selyuzhenkov
/analysis/PWGCHA/ @i.selyuzhenkov
/analysis/PWGDIL/ @i.selyuzhenkov
/analysis/common/ @a.andronic @k.piasecki
/analysis/PWGHAD/ @a.andronic @k.piasecki
/analysis/PWGCHA/ @a.andronic @k.piasecki
/analysis/PWGDIL/ @a.andronic @k.piasecki
/analysis/PWGDIL/dielectron/pi0eta/ @c.pauly
/analysis/PWGDIL/dielectron/papaframework/ @a_meye37_AT_uni-muenster.de
/analysis/PWGDIL/dielectron/lmvm/ @i.selyuzhenkov
/analysis/PWGDIL/dielectron/lmvm/ @a.andronic @k.piasecki
/analysis/PWGDIL/dielectron/conversion/ @c.pauly
/analysis/PWGDIL/dimuon/ @i.selyuzhenkov
/analysis/PWGDIL/dimuon/ @a.andronic @k.piasecki
## Detectors
......@@ -62,20 +62,20 @@
/algo/detectors/trd/ @a.bercuci @p.kaehler
# PSD
/analysis/detectors/psd/ @karpushkin_AT_inr.ru
/core/data/psd/ @karpushkin_AT_inr.ru
/core/data/test/psd/ @karpushkin_AT_inr.ru
/core/detectors/psd/ @karpushkin_AT_inr.ru
/macro/psd/ @karpushkin_AT_inr.ru
/sim/detectors/psd/ @karpushkin_AT_inr.ru
/reco/detectors/psd/ @karpushkin_AT_inr.ru
/analysis/detectors/psd/ @v.friese
/core/data/psd/ @v.friese
/core/data/test/psd/ @v.friese
/core/detectors/psd/ @v.friese
/macro/psd/ @v.friese
/sim/detectors/psd/ @v.friese
/reco/detectors/psd/ @v.friese
# FSD
/analysis/detectors/fsd/ @l.chlad
/core/data/fsd/ @l.chlad
/core/detectors/fsd/ @l.chlad
/sim/detectors/fsd/ @l.chlad
/reco/detectors/fsd/ @l.chlad
/analysis/detectors/fsd/ @dvorar10_AT_fjfi.cvut.cz
/core/data/fsd/ @dvorar10_AT_fjfi.cvut.cz
/core/detectors/fsd/ @dvorar10_AT_fjfi.cvut.cz
/sim/detectors/fsd/ @dvorar10_AT_fjfi.cvut.cz
/reco/detectors/fsd/ @dvorar10_AT_fjfi.cvut.cz
# MUCH
/core/data/much/ @v.singhal
......@@ -122,9 +122,9 @@
/algo/data/sts/ @v.friese
# MVD
/reco/detectors/mvd/ @c.muentz @m.deveaux
/core/detectors/mvd/ @c.muentz @m.deveaux
/core/data/mvd/ @c.muentz @m.deveaux
/analysis/detectors/mvd/ @c.muentz @m.deveaux
/macro/mvd/ @c.muentz @m.deveaux
/sim/detectors/mvd/ @c.muentz @m.deveaux
/reco/detectors/mvd/ @c.muentz @m.deveaux @j.stroth
/core/detectors/mvd/ @c.muentz @m.deveaux @j.stroth
/core/data/mvd/ @c.muentz @m.deveaux @j.stroth
/analysis/detectors/mvd/ @c.muentz @m.deveaux @j.stroth
/macro/mvd/ @c.muentz @m.deveaux @j.stroth
/sim/detectors/mvd/ @c.muentz @m.deveaux @j.stroth
......@@ -33,6 +33,9 @@ Set(CTEST_BUILD_COMMAND "${BUILD_COMMAND} -i -k -j$ENV{number_of_processors}")
#Include(CbmMacros)
#FairRootVersion()
message("Compiling with $ENV{number_of_processors} jobs in parallel.")
message("Testing with $ENV{number_of_processors_for_test} jobs in parallel.")
Set(CTEST_USE_LAUNCHERS 1)
If(${CBM_TEST_MODEL} MATCHES MergeRequest OR ${CBM_TEST_MODEL} MATCHES Continuous)
......@@ -55,7 +58,7 @@ Else()
EndIf()
#If(${CBM_TEST_MODEL} MATCHES Nightly OR ${CBM_TEST_MODEL} MATCHES Weekly OR ${CBM_TEST_MODEL} MATCHES Profile)
If(NOT ${_BuildType} MATCHES Experimental)
If(NOT ${_BuildType} MATCHES EXPERIMENTAL)
Find_Program(GCOV_COMMAND gcov)
If(GCOV_COMMAND)
......@@ -76,8 +79,17 @@ if(${_CMakeModel} MATCHES Continuous)
endif()
EndIf()
# The stop time should be a date compatible string without day nor timezone
# Examples:
# => CTEST_END_TIME_LIMIT=`date -d "${END_TIME}CET -5minutes" +"%H:%M:%S"`
# => CTEST_END_TIME_LIMIT=`date -d "now +25minutes" +"%H:%M:%S"`
unset(stop_time)
If(DEFINED ENV{CTEST_END_TIME_LIMIT})
set(stop_time STOP_TIME "$ENV{CTEST_END_TIME_LIMIT}")
message(STATUS " End time for the ctest test runs set to ${stop_time}")
EndIf()
If(NOT ${_BuildType} MATCHES Experimental)
If(NOT ${_BuildType} MATCHES EXPERIMENTAL)
Ctest_Update(SOURCE "${CTEST_SOURCE_DIRECTORY}")
EndIf()
......@@ -110,9 +122,29 @@ If(NOT _RETVAL)
endif()
EndIf()
If(DEFINED ENV{CI_TEST_STAGE_TOTAL_TIME_LIMIT})
# Compute test stage timeout based on current time + limit from environment variable
If(DEFINED ENV{CTEST_END_TIME_LIMIT})
# If also full DASH run timeout defined, also compare the two and keep the earliest one
execute_process (
COMMAND scripts/find_citests_ctest_stop_time.sh $ENV{CTEST_END_TIME_LIMIT}
OUTPUT_VARIABLE CI_TESTS_TOTAL_END_TIME_DATE
)
Else()
# Else just get the CI jpb timeout
execute_process (
COMMAND scripts/find_citests_ctest_stop_time.sh
OUTPUT_VARIABLE CI_TESTS_TOTAL_END_TIME_DATE
)
EndIf()
set(stop_time STOP_TIME "${CI_TESTS_TOTAL_END_TIME_DATE}")
message(STATUS "Due to CI mode, Set end time for the ctest test runs to ${stop_time}")
EndIf()
Ctest_Test(BUILD "${CTEST_BINARY_DIRECTORY}"
PARALLEL_LEVEL $ENV{number_of_processors}
PARALLEL_LEVEL $ENV{number_of_processors_for_test}
${repeat}
${stop_time}
RETURN_VALUE _ctest_test_ret_val
)
......@@ -143,10 +175,14 @@ If(NOT _RETVAL)
RESULTS_VARIABLE _install_ret_value
)
if (NOT _install_ret_value)
execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E rm -R build MQ algo analysis core external fles mvd reco sim
message("executing test suite in ${CTEST_BINARY_DIRECTORY}/install with source folder available")
execute_process(COMMAND ${CTEST_SOURCE_DIRECTORY}/cmake/scripts/execute_installation_test.sh ${CTEST_SOURCE_DIRECTORY}/install
RESULTS_VARIABLE _install_ret_value
)
execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E rm -R build MQ algo analysis core external fles reco sim
WORKING_DIRECTORY ${CTEST_SOURCE_DIRECTORY}
)
message("executing test suite in ${CTEST_BINARY_DIRECTORY}/install")
message("executing test suite in ${CTEST_BINARY_DIRECTORY}/install wihout source folder available")
execute_process(COMMAND ${CTEST_SOURCE_DIRECTORY}/cmake/scripts/execute_installation_test.sh ${CTEST_SOURCE_DIRECTORY}/install
RESULTS_VARIABLE _install_ret_value
)
......
......@@ -119,15 +119,22 @@ then
fi
fi
if [ -z $NCPU4TEST ]; then
export number_of_processors_for_test=$number_of_processors
else
export number_of_processors_for_test=$NCPU4TEST
fi
echo "************************"
date
echo "LABEL: " $LABEL
echo "SITE: " $SITE
echo "Model: " ${ctest_model}
echo "Nr. of processes: " $number_of_processors
echo "Nr. of processes for build: " $number_of_processors
echo "Nr. of processes for test: " $number_of_processors_for_test
echo "************************"
cd $SOURCEDIR
ctest -S $SOURCEDIR/CbmRoot_test.cmake -V --VV -DCBM_TEST_MODEL=${ctest_model}
ctest -S $SOURCEDIR/CbmRoot_test.cmake -V -DCBM_TEST_MODEL=${ctest_model}
#ctest -S $SOURCEDIR/CbmRoot_test.cmake -V --VV
......@@ -568,7 +568,7 @@ Bool_t CbmDeviceBmonMonitor::DoUnpack(const fles::Timeslice& ts, size_t /*compon
LOG(debug) << "Unpack: TS index " << ts.index() << " components " << nComponents;
for (uint64_t component = 0; component < nComponents; component++) {
auto systemId = static_cast<std::uint16_t>(ts.descriptor(component, 0).sys_id);
auto systemId = static_cast<uint16_t>(ts.descriptor(component, 0).sys_id);
switch (systemId) {
case fkFlesBmon: {
......
......@@ -51,7 +51,6 @@ private:
/// Constants
static constexpr std::uint16_t fkFlesBmon = static_cast<std::uint16_t>(fles::Subsystem::BMON);
/// Control flags
Bool_t fbIgnoreOverlapMs = false; //! Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice
Bool_t fbComponentsAddedToList = kFALSE;
......@@ -88,11 +87,11 @@ private:
uint64_t fulTsCounter = 0;
std::chrono::system_clock::time_point fLastPublishTime = std::chrono::system_clock::now();
/** @brief Map to store a name for the unpackers and the processed amount of digis, key = fkFlesId*/
std::map<std::uint16_t, std::pair<std::string, size_t>> fNameMap = {}; //!
std::map<uint16_t, std::pair<std::string, size_t>> fNameMap = {}; //!
/** @brief Map to store the cpu and wall time, key = fkFlesId*/
std::map<std::uint16_t, std::pair<double, double>> fTimeMap = {}; //!
std::map<uint16_t, std::pair<double, double>> fTimeMap = {}; //!
/** @brief Map to store the in and out data amount, key = fkFlesId*/
std::map<std::uint16_t, std::pair<double, double>> fDataSizeMap = {}; //!
std::map<uint16_t, std::pair<double, double>> fDataSizeMap = {}; //!
/// Configuration of the unpackers. Provides the configured algorithm
std::shared_ptr<CbmBmonUnpackConfig> fBmonConfig = nullptr;
......@@ -175,7 +174,7 @@ private:
* @return std::pair<ndigis, std::pair<cputime, walltime>>
*/
template<class TConfig, class TOptOutA = std::nullptr_t, class TOptOutB = std::nullptr_t>
size_t unpack(const std::uint16_t subsysid, const fles::Timeslice* ts, std::uint16_t icomp, TConfig config,
size_t unpack(const uint16_t subsysid, const fles::Timeslice* ts, uint16_t icomp, TConfig config,
std::vector<TOptOutA>* optouttargetvecA = nullptr, std::vector<TOptOutB>* optouttargetvecB = nullptr)
{
......@@ -223,10 +222,10 @@ private:
std::clock_t cpuendtime = std::clock();
auto wallendtime = std::chrono::high_resolution_clock::now();
// Cpu time in [µs]
// Cpu time in [mus]
auto cputime = 1e6 * (cpuendtime - cpustarttime) / CLOCKS_PER_SEC;
algo->AddCpuTime(cputime);
// Real time in [µs]
// Real time in [mus]
auto walltime = std::chrono::duration<double, std::micro>(wallendtime - wallstarttime).count();
algo->AddWallTime(walltime);
......@@ -234,7 +233,7 @@ private:
// Check some numbers from this timeslice
size_t nDigis = digivec.size();
LOG(debug) << "Component " << icomp << " connected to config " << config->GetName() << " n-Digis " << nDigis
<< " processed in walltime(cputime) = " << walltime << "(" << cputime << cputime << ") µs"
<< " processed in walltime(cputime) = " << walltime << "(" << cputime << cputime << ") micro s"
<< "this timeslice.";
if (fDoPerfProf) {
......
......@@ -413,7 +413,7 @@ Bool_t CbmDeviceUnpack::InitContainers()
richconfig->DoTotOffsetCorrection(); // correct ToT offset
richconfig->SetDebugState();
richconfig->SetDoWriteOutput();
std::string parfilesbasepathRich = Form("%s/macro/beamtime/mcbm2021/", srcDir.Data());
std::string parfilesbasepathRich = Form("%s/macro/beamtime/mcbm2024/", srcDir.Data());
richconfig->SetParFilesBasePath(parfilesbasepathRich);
richconfig->SetSystemTimeOffset(256000 - 1200); // [ns] 1 MS and additional correction
if (1904 < fuRunId) richconfig->SetSystemTimeOffset(-1200);
......@@ -1072,7 +1072,7 @@ Bool_t CbmDeviceUnpack::DoUnpack(const fles::Timeslice& ts, size_t /*component*/
LOG(debug) << "Unpack: TS index " << ts.index() << " components " << nComponents;
for (uint64_t component = 0; component < nComponents; component++) {
auto systemId = static_cast<std::uint16_t>(ts.descriptor(component, 0).sys_id);
auto systemId = static_cast<uint16_t>(ts.descriptor(component, 0).sys_id);
switch (systemId) {
case fkFlesBmon: {
......
......@@ -130,11 +130,11 @@ private:
uint64_t fulTsCounter = 0;
std::chrono::system_clock::time_point fLastPublishTime = std::chrono::system_clock::now();
/** @brief Map to store a name for the unpackers and the processed amount of digis, key = fkFlesId*/
std::map<std::uint16_t, std::pair<std::string, size_t>> fNameMap = {}; //!
std::map<uint16_t, std::pair<std::string, size_t>> fNameMap = {}; //!
/** @brief Map to store the cpu and wall time, key = fkFlesId*/
std::map<std::uint16_t, std::pair<double, double>> fTimeMap = {}; //!
std::map<uint16_t, std::pair<double, double>> fTimeMap = {}; //!
/** @brief Map to store the in and out data amount, key = fkFlesId*/
std::map<std::uint16_t, std::pair<double, double>> fDataSizeMap = {}; //!
std::map<uint16_t, std::pair<double, double>> fDataSizeMap = {}; //!
/// Configuration of the unpackers. Provides the configured algorithm
std::shared_ptr<CbmBmonUnpackConfig> fBmonConfig = nullptr;
......@@ -190,7 +190,6 @@ private:
LOG(debug) << "CbmDeviceUnpack::timesort() got an object that has no member function GetTime(). Hence, we can and "
"will not timesort it!";
}
template<typename TVecobj>
typename std::enable_if<!std::is_member_function_pointer<decltype(&TVecobj::GetTime)>::value, void>::type
timesort(std::vector<TVecobj>* /*vec = nullptr*/)
......@@ -223,7 +222,7 @@ private:
* @return std::pair<ndigis, std::pair<cputime, walltime>>
*/
template<class TConfig, class TOptOutA = std::nullptr_t, class TOptOutB = std::nullptr_t>
size_t unpack(const std::uint16_t subsysid, const fles::Timeslice* ts, std::uint16_t icomp, TConfig config,
size_t unpack(const uint16_t subsysid, const fles::Timeslice* ts, uint16_t icomp, TConfig config,
std::vector<TOptOutA>* optouttargetvecA = nullptr, std::vector<TOptOutB>* optouttargetvecB = nullptr)
{
......@@ -271,10 +270,10 @@ private:
std::clock_t cpuendtime = std::clock();
auto wallendtime = std::chrono::high_resolution_clock::now();
// Cpu time in [µs]
// Cpu time in [mus]
auto cputime = 1e6 * (cpuendtime - cpustarttime) / CLOCKS_PER_SEC;
algo->AddCpuTime(cputime);
// Real time in [µs]
// Real time in [mus]
auto walltime = std::chrono::duration<double, std::micro>(wallendtime - wallstarttime).count();
algo->AddWallTime(walltime);
......@@ -282,7 +281,7 @@ private:
// Check some numbers from this timeslice
size_t nDigis = digivec.size();
LOG(debug) << "Component " << icomp << " connected to config " << config->GetName() << " n-Digis " << nDigis
<< " processed in walltime(cputime) = " << walltime << "(" << cputime << cputime << ") µs"
<< " processed in walltime(cputime) = " << walltime << "(" << cputime << cputime << ") micro s"
<< "this timeslice.";
if (fDoPerfProf) {
......
......@@ -18,7 +18,6 @@
#include "CbmStsPoint.h"
#include "CbmTofPoint.h"
#include "CbmTrdPoint.h"
//#include "CbmEcalPoint.h"
#include "CbmPsdPoint.h"
#include "FairFileSource.h"
......@@ -101,7 +100,6 @@ try {
ConnectChannelIfNeeded(i, channel_name.at(0), "MuchPoint", rootman);
ConnectChannelIfNeeded(i, channel_name.at(0), "TrdPoint", rootman);
ConnectChannelIfNeeded(i, channel_name.at(0), "TofPoint", rootman);
// ConnectChannelIfNeeded(i, channel_name.at(0), "EcalPoint", rootman);
ConnectChannelIfNeeded(i, channel_name.at(0), "PsdPoint", rootman);
}
else {
......@@ -193,11 +191,6 @@ bool CbmMCPointSource::ConditionalRun()
if (0 == fChannelsToSend.at(i).at(0).compare("TofPoint")) {
result = ConvertAndSend<CbmTofPoint>(fArrays.at(i), i);
}
/*
if (0 == fChannelsToSend.at(i).at(0).compare("EcalPoint")) {
result = ConvertAndSend<CbmEcalPoint>(fArrays.at(i),i );
}
*/
if (0 == fChannelsToSend.at(i).at(0).compare("PsdPoint")) {
result = ConvertAndSend<CbmPsdPoint>(fArrays.at(i), i);
}
......
......@@ -139,12 +139,6 @@ private:
std::vector<std::string> fAllowedChannels = {"MvdPoint", "StsPoint", "RichPoint", "MuchPoint",
"Trdpoint", "TofPoint", "PsdPoint"};
/*
std::vector<std::string> fAllowedChannels
= {"MvdPoint", "StsPoint", "RichPoint", "MuchPoint",
"Trdpoint", "TofPoint", "EcalPoint", "PsdPoint"};
*/
CbmMQChannels fChan {fAllowedChannels};
std::vector<int> fComponentsToSend {};
......
......@@ -31,16 +31,14 @@
//namespace filesys = boost::filesystem;
#include <thread> // this_thread::sleep_for
#include <algorithm>
#include <chrono>
#include <cstdio>
#include <ctime>
#include <iomanip>
#include <sstream>
#include <string>
#include <stdio.h>
#include <thread> // this_thread::sleep_for
using namespace std;
......
......@@ -13,21 +13,17 @@
#include "CbmMQTsaInfo.h"
#include "CbmMQDefs.h"
#include "TimesliceInputArchive.hpp"
#include "TimesliceSubscriber.hpp"
#include "FairMQLogger.h"
#include "FairMQProgOptions.h" // device->fConfig
#include <thread> // this_thread::sleep_for
#include "TimesliceInputArchive.hpp"
#include "TimesliceSubscriber.hpp"
#include <boost/archive/binary_oarchive.hpp>
#include <chrono>
#include <cstdio>
#include <ctime>
#include <stdio.h>
#include <thread> // this_thread::sleep_for
using namespace std;
......
......@@ -39,16 +39,14 @@
namespace filesys = boost::filesystem;
#include <thread> // this_thread::sleep_for
#include <algorithm>
#include <chrono>
#include <cstdio>
#include <ctime>
#include <iomanip>
#include <sstream>
#include <string>
#include <stdio.h>
#include <thread> // this_thread::sleep_for
using namespace std;
......
......@@ -30,14 +30,12 @@
namespace filesys = boost::filesystem;
#include <thread> // this_thread::sleep_for
#include <algorithm>
#include <chrono>
#include <cstdio>
#include <ctime>
#include <string>
#include <stdio.h>
#include <thread> // this_thread::sleep_for
using namespace std;
......
......@@ -27,14 +27,12 @@
namespace filesys = boost::filesystem;
#include <thread> // this_thread::sleep_for
#include <algorithm>
#include <chrono>
#include <cstdio>
#include <ctime>
#include <string>
#include <stdio.h>
#include <thread> // this_thread::sleep_for
using namespace std;
......@@ -119,7 +117,7 @@ try {
// filename or directory name and convert it to a string to be
// used in the regex:match
boost::smatch what;
if (!boost::regex_match(x.path().leaf().string(), what, my_filter)) continue;
if (!boost::regex_match(x.path().string(), what, my_filter)) continue;
v.push_back(x.path());
}
......
......@@ -27,14 +27,12 @@
namespace filesys = boost::filesystem;
#include <thread> // this_thread::sleep_for
#include <algorithm>
#include <chrono>
#include <cstdio>
#include <ctime>
#include <string>
#include <stdio.h>
#include <thread> // this_thread::sleep_for
using namespace std;
......@@ -120,7 +118,7 @@ try {
// filename or directory name and convert it to a string to be
// used in the regex:match
boost::smatch what;
if (!boost::regex_match(x.path().leaf().string(), what, my_filter)) continue;
if (!boost::regex_match(x.path().string(), what, my_filter)) continue;
v.push_back(x.path());
}
......