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
  • FSD-NCAL
  • HT_VC
  • RC3_nov23_extr
  • RichHit_export
  • dev0
  • dev06a52775
  • dev0_rb
  • dummyQa
  • example_qa
  • extra_ideal_stspoints
  • feb23_patches_extr
  • hit_export
  • ht_bba
  • ht_bba_export
  • issue#3019
  • issue#3019_new
  • mRich_ring_track
  • mag_field
  • magnet_study
  • master
  • multi_pixel_sim
  • myfork/issue#3019_new
  • pion_ana
  • reflectivity
  • rich_reco_qa
  • rich_tra_qa
  • ring_qa
  • ring_select_ort
  • ring_select_ort2
29 results
Show changes
Commits on Source (321)
Showing
with 372 additions and 494 deletions
......@@ -20,3 +20,14 @@ Dart*.cfg
# 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,7 +181,7 @@ FileEndCheck:
- git fetch upstream
- scripts/check-file-ending.sh upstream
NonASCIICharacterCheck:
CheckForNonASCII:
stage: checkFormat
image: alpine
tags:
......@@ -274,8 +274,8 @@ FileLicenceCheck:
OS: "Debian12"
NCPU: 16
RAW_DATA_PATH: "/opt/cbmsoft/beamtime-test-data/reduced/"
FAIRSOFT_VERSION: "apr21p2"
FAIRROOT_VERSION: "v18.6.7"
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}"
......@@ -287,18 +287,6 @@ FileLicenceCheck:
tags:
- CbmRoot_apptainer
.apptainer_vae23_variables_apr21: &apptainer_vae23_variables_apr21
CONTAINER: "/cvmfs/vae.gsi.de/vae23/containers/user_container-production.sif"
OS: vae23
FAIRSOFT_VERSION: apr21p2
FAIRROOT_VERSION: v18.6.7
BASE_PATH: "/cvmfs/fairsoft.gsi.de/debian10/"
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"
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
......@@ -335,16 +323,29 @@ FileLicenceCheck:
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_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}"
INSTALL_PROJECT: "TRUE"
EXTRA_FLAGS: '"-DCBM_TEST_INSTALL=TRUE"'
# 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"
......@@ -366,12 +367,12 @@ FileLicenceCheck:
.linux_variables: &linux_variables
OS: "Debian12"
NCPU: 5
NCPU: 16
FAIRSOFT_VERSION: "nov22p1"
FAIRROOT_VERSION: "v18.8.0"
BASE_PATH: "/cvmfs/fairsoft.gsi.de/debian12"
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
......@@ -410,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"
......@@ -474,16 +445,6 @@ CbmRoot_Merge_Apptainer_debian12_nov22p1:
variables:
<<: [*mergeRequestVariables, *apptainer_debian12_variables_nov22p1]
CbmRoot_Merge_Apptainer_debian11_apr21:
<<: [*apptainer_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *apptainer_debian11_variables_apr21]
CbmRoot_Merge_Apptainer_vae23_apr21:
<<: [*apptainer_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *apptainer_vae23_variables_apr21]
CbmRoot_Merge_Apptainer_vae23_nov22p1:
<<: [*apptainer_tag, *check_merge_request, *build_and_test]
variables:
......@@ -499,6 +460,16 @@ CbmRoot_Merge_Apptainer_vae24_jan24p1:
variables:
<<: [*mergeRequestVariables, *apptainer_vae24_variables_jan24p1]
CbmRoot_Merge_Apptainer_vae25_nov22p1:
<<: [*apptainer_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *apptainer_vae25_variables_nov22p1]
CbmRoot_Merge_Apptainer_vae25_jan24p1:
<<: [*apptainer_tag, *check_merge_request, *build_and_test]
variables:
<<: [*mergeRequestVariables, *apptainer_vae25_variables_jan24p1]
CbmRoot_Merge_macosx_13_nov22p1:
<<: [*macosx_tag, *check_merge_request, *build_and_test]
variables:
......@@ -514,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:
......@@ -620,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
......
......@@ -205,6 +205,9 @@ 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()
......@@ -256,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 #####
......@@ -270,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
......
......@@ -175,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
)
......
......@@ -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)
{
......
......@@ -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)
{
......
......@@ -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());
}
......
......@@ -15,22 +15,19 @@
#include "CbmDigiManager.h"
#include "CbmMQDefs.h"
#include "CbmStsDigi.h"
#include "FairFileSource.h"
#include "FairMQLogger.h"
#include "FairMQProgOptions.h" // device->fConfig
#include "FairRootManager.h"
#include "FairRunAna.h"
#include <thread> // this_thread::sleep_for
#include <boost/archive/binary_oarchive.hpp>
#include <chrono>
#include <cstdio>
#include <ctime>
#include <stdexcept>
#include <stdio.h>
#include <thread> // this_thread::sleep_for
using namespace std;
......
......@@ -13,11 +13,10 @@
#include <boost/any.hpp>
#include <cstddef> // for NULL
#include <iomanip> // for setprecision, __iom_t5
#include <sstream> // for basic_stringstream<>::string_type
#include <stddef.h> // for NULL
// ----- Initialisation of static variables ------------------------------
CbmTbDaqBuffer* CbmTbDaqBuffer::fgInstance = nullptr;
// ---------------------------------------------------------------------------
......
......@@ -198,10 +198,15 @@ The current version of the script was tested for the following systems and
combinations of FairSoft and FairRoot
| OS | FairSoft | FairRoot |
|---------------|------------|----------|
| Ubuntu 20.04 | apr21p2 | v18.6.7 |
| OpenSuse 15.4 | apr21p2 | v18.6.7 |
| Fedora 35 | apr21p2 | v18.6.7 |
|---------------|-----------------|----------|
| Ubuntu 22.04 | nov22p1 | v18.8.0 |
| Ubuntu 24.04 | nov22p1 | v18.8.0 |
| Debian 11 | nov22p1 | v18.8.0 |
|---------------|-----------------|----------|
| Ubuntu 20.04 | apr21p2 (depr.) | v18.6.7 |
| OpenSuse 15.4 | apr21p2 (depr.) | v18.6.7 |
| Fedora 35 | apr21p2 (depr.) | v18.6.7 |
|---------------|-----------------|----------|
# 4. Recommended versions
......@@ -209,9 +214,9 @@ GCC : `>= 7`
or
Clang: `>= 6`
FairSoft: `apr21p2`
FairSoft: `nov22p4`
FairRoot: `v18.6.7`
FairRoot: `v18.8.0`
Clang-format: `v11.0`
......
......@@ -50,15 +50,12 @@ if (CBM_ONLINE_STANDALONE)
include(CbmMacros) # for 'download_project_if_needed', 'Gen_Exe_Script' macro
add_subdirectory(../external external)
add_subdirectory(../core core)
endif()
add_subdirectory(kfp)
add_subdirectory(log)
add_subdirectory(data)
add_subdirectory(kf)
add_subdirectory(ca)
add_subdirectory(base)
#add_subdirectory(kfp) # For KFParticleOnline
add_subdirectory(kf)
add_subdirectory(kfp)
# exclude unittests from being build inside the container
if (NOT CBM_ONLINE_STANDALONE)
......@@ -82,7 +79,6 @@ set(SRCS
base/compat/Algorithm.cxx
base/util/MemoryLogger.cxx
base/util/StlUtils.cxx
base/util/EnumDict.cxx
base/util/TimingsFormat.cxx
data/sts/HitfinderPars.cxx
data/sts/LandauTable.cxx
......@@ -107,13 +103,18 @@ set(SRCS
detectors/sts/ChannelMaskSet.cxx
detectors/sts/ReadoutConfig.cxx
detectors/sts/HitfinderChain.cxx
detectors/sts/TrackingInterface.cxx
detectors/sts/RecoSetupUnit.cxx
detectors/sts/Unpack.cxx
detectors/sts/UnpackMS.cxx
detectors/sts/WalkMap.cxx
detectors/much/ReadoutConfig.cxx
detectors/much/RecoSetupUnit.cxx
detectors/much/Unpack.cxx
detectors/much/UnpackMS.cxx
detectors/mvd/ReadoutConfig.cxx
detectors/mvd/Unpack.cxx
detectors/mvd/UnpackMS.cxx
# detectors/mvd/PixelMaskSet.cxx
detectors/tof/HitFinder.cxx
detectors/tof/Calibrate.cxx
detectors/tof/Clusterizer.cxx
......@@ -121,7 +122,7 @@ set(SRCS
detectors/tof/Unpack.cxx
detectors/tof/UnpackMS.cxx
detectors/tof/Hitfind.cxx
detectors/tof/TrackingInterface.cxx
detectors/tof/RecoSetupUnit.cxx
detectors/trd/Cluster.cxx
detectors/trd/Clusterizer.cxx
detectors/trd/Cluster2D.cxx
......@@ -135,7 +136,7 @@ set(SRCS
detectors/trd/HitMerger.cxx
detectors/trd/HitMerger2D.cxx
detectors/trd/ReadoutConfig.cxx
detectors/trd/TrackingInterface.cxx
detectors/trd/RecoSetupUnit.cxx
detectors/trd/Unpack.cxx
detectors/trd/UnpackMS.cxx
detectors/trd2d/ReadoutConfig.cxx
......@@ -144,9 +145,15 @@ set(SRCS
detectors/rich/ReadoutConfig.cxx
detectors/rich/Unpack.cxx
detectors/rich/UnpackMS.cxx
global/ParFiles.cxx
detectors/mvd/Unpack.cxx
detectors/mvd/UnpackMS.cxx
detectors/mvd/RecoSetupUnit.cxx
detectors/fsd/Unpack.cxx
detectors/fsd/UnpackMS.cxx
global/StorableRecoResults.cxx
global/ParFiles.cxx
global/Reco.cxx
global/RecoParFiles.cxx
global/RecoResultsInputArchive.cxx
global/RecoResultsOutputArchive.cxx
qa/DigiEventQa.cxx
......@@ -157,19 +164,26 @@ set(SRCS
qa/QaData.cxx
qa/RecoGeneralQa.cxx
qa/QaManager.cxx
qa/QaStorableData.cxx
qa/QaDataInputArchive.cxx
qa/QaDataOutputArchive.cxx
qa/hitfind/BmonHitfindQa.cxx
qa/hitfind/BmonHitfindQaParameters.cxx
qa/trigger/V0TriggerQa.cxx
qa/hitfind/TofHitfindQa.cxx
qa/hitfind/TofHitfindQaParameters.cxx
qa/unpack/StsDigiQa.cxx
ca/TrackingSetup.cxx
ca/TrackingChain.cxx
ca/qa/CaQa.cxx
kfp/KfpV0Finder.cxx
kfp/KfpV0FinderDefs.cxx
kfp/KfpV0FinderChain.cxx
kfp/KfpV0FinderConfig.cxx
kfp/KfpV0FinderCutter.cxx
kfp/KfpV0FinderQa.cxx
setup/GeoVolume.cxx
setup/RecoSetup.cxx
setup/RecoSetupHeader.cxx
)
set(BUILD_INFO_CXX ${CMAKE_CURRENT_BINARY_DIR}/base/BuildInfo.cxx)
......@@ -192,32 +206,15 @@ add_custom_target(generateBuildInfo
add_library(Algo SHARED ${SRCS})
target_include_directories(Algo
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/data
${CMAKE_CURRENT_SOURCE_DIR}/base
${CMAKE_CURRENT_SOURCE_DIR}/evbuild
${CMAKE_CURRENT_SOURCE_DIR}/global
${CMAKE_CURRENT_SOURCE_DIR}/trigger
${CMAKE_CURRENT_SOURCE_DIR}/evselector
${CMAKE_CURRENT_SOURCE_DIR}/unpack
${CMAKE_CURRENT_SOURCE_DIR}/detectors
${CMAKE_CURRENT_SOURCE_DIR}/qa
${CMAKE_CURRENT_SOURCE_DIR}/qa/unpack
${CMAKE_CURRENT_SOURCE_DIR}/qa/hitfind
${CMAKE_CURRENT_SOURCE_DIR}/qa/trigger
${CMAKE_CURRENT_SOURCE_DIR}/kf
${CMAKE_CURRENT_SOURCE_DIR}/kf/core
${CMAKE_CURRENT_SOURCE_DIR}/kf/core/utils
${CMAKE_CURRENT_SOURCE_DIR}/kfp
${CMAKE_CURRENT_SOURCE_DIR}/ca
${CMAKE_CURRENT_SOURCE_DIR}/ca/qa
${CMAKE_CURRENT_SOURCE_DIR}/ca/core/data
${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..
${CMAKE_SOURCE_DIR}/core/data/global
${FIXME_I_AM_TMP_CBM_RUN_SRC}
)
target_link_libraries(Algo
PUBLIC OnlineData
CbmYamlInterface
CbmUtility
OnlineContainers
KfCore
CaCore
ROOT::GenVector
......@@ -269,32 +266,15 @@ if (NOT CBM_ONLINE_STANDALONE)
add_library(AlgoOffline SHARED ${SRCS})
target_include_directories(AlgoOffline
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/data
${CMAKE_CURRENT_SOURCE_DIR}/base
${CMAKE_CURRENT_SOURCE_DIR}/evbuild
${CMAKE_CURRENT_SOURCE_DIR}/global
${CMAKE_CURRENT_SOURCE_DIR}/trigger
${CMAKE_CURRENT_SOURCE_DIR}/evselector
${CMAKE_CURRENT_SOURCE_DIR}/unpack
${CMAKE_CURRENT_SOURCE_DIR}/detectors
${CMAKE_CURRENT_SOURCE_DIR}/qa
${CMAKE_CURRENT_SOURCE_DIR}/qa/unpack
${CMAKE_CURRENT_SOURCE_DIR}/qa/hitfind
${CMAKE_CURRENT_SOURCE_DIR}/qa/trigger
${CMAKE_CURRENT_SOURCE_DIR}/kf
${CMAKE_CURRENT_SOURCE_DIR}/kf/core
${CMAKE_CURRENT_SOURCE_DIR}/kf/core/utils
${CMAKE_CURRENT_SOURCE_DIR}/kfp
${CMAKE_CURRENT_SOURCE_DIR}/ca
${CMAKE_CURRENT_SOURCE_DIR}/ca/qa
${CMAKE_CURRENT_SOURCE_DIR}/ca/core/data
${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..
${CMAKE_SOURCE_DIR}/core/data/global
${FIXME_I_AM_TMP_CBM_RUN_SRC}
)
target_link_libraries(AlgoOffline
PUBLIC CbmData
CbmYamlInterface
CbmUtility
CbmContainers
KfCoreOffline
CaCoreOffline
ROOT::GenVector
......@@ -339,66 +319,22 @@ endif()
########################################################################################################################
install(TARGETS Algo DESTINATION lib)
install(DIRECTORY base/compat TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
#install(DIRECTORY base/yaml TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY base/util TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY base/gpu TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY data/sts TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors/bmon TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors/much TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors/sts TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors/tof TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors/trd TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors/trd2d TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors/rich TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY ca/qa TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY qa TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY qa/unpack TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY ca TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY kfp TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY evbuild TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(
FILES
base/ChainContext.h
base/Definitions.h
base/HistogramSender.h
base/Options.h
base/RecoParams.h
base/SubChain.h
base/System.h
base/PartitionedVector.h
base/PartitionedSpan.h
base/DigiData.h
base/PODVector.h
base/AlgoTraits.h
base/AuxDigiData.h
base/BuildInfo.h
base/Exceptions.h
base/MainConfig.h
evselector/DigiEventSelector.h
evselector/DigiEventSelectorConfig.h
trigger/DigiTriggerConfig.h
trigger/HitMultTrigger.h
trigger/TimeClusterTrigger.h
trigger/V0Trigger.h
trigger/V0TriggerConfig.h
unpack/CommonUnpacker.h
unpack/UnpackMSBase.h
global/Reco.h
global/RecoResults.h
global/RecoResultsInputArchive.h
global/RecoResultsOutputArchive.h
global/StorableRecoResults.h
qa/Histogram.h
ca/TrackingChain.h
ca/TrackingChainConfig.h
ca/TrackingDefs.h
ca/TrackingSetup.h
# NOTE: SZh 20.11.2023:
# The ca/qa directory depends on the online qa classes, so for now it has to be a part of the Algo library.
ca/qa/CaQa.h
DESTINATION
include/
)
install(DIRECTORY base DESTINATION include/algo PATTERN "*.h")
install(DIRECTORY ca
DESTINATION include/algo
FILES_MATCHING
PATTERN "ca/core" EXCLUDE # NOTE: installed from another library
PATTERN "*.h")
install(DIRECTORY data DESTINATION include/algo FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors DESTINATION include/algo FILES_MATCHING PATTERN "*.h")
install(DIRECTORY evbuild DESTINATION include/algo FILES_MATCHING PATTERN "*.h")
install(DIRECTORY evselector DESTINATION include/algo FILES_MATCHING PATTERN "*.h")
install(DIRECTORY global DESTINATION include/algo FILES_MATCHING PATTERN "*.h")
install(DIRECTORY qa DESTINATION include/algo FILES_MATCHING PATTERN "*.h")
install(DIRECTORY kfp DESTINATION include/algo FILES_MATCHING PATTERN "*.h")
install(DIRECTORY setup DESTINATION include/algo FILES_MATCHING PATTERN "*.h")
install(DIRECTORY trigger DESTINATION include/algo FILES_MATCHING PATTERN "*.h")
install(DIRECTORY unpack DESTINATION include/algo FILES_MATCHING PATTERN "*.h")