Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
4f9c6c8
Reapply "Implement particle filtering via NeulandPointFilter"
YanzhaoW Dec 5, 2024
fa7b217
complete simulation class
YanzhaoW Jan 7, 2025
e28fa10
add doxygen support
YanzhaoW Jan 9, 2025
c17eeb6
neuland calibration process reformat and millepde
YanzhaoW Nov 27, 2023
88af2b1
Implementation of neuland moun simulation.
P-Ulrich Aug 6, 2024
2cbce42
add neuland simCal to CalData converter and others
YanzhaoW Nov 28, 2024
62140c0
corrected reverseatten and gen sphere koord change
P-Ulrich Jan 10, 2025
bf4560f
delete neulandAna and neulandSim and add doxygen auto-build
YanzhaoW Jan 10, 2025
4f71347
more corrected atten
P-Ulrich Jan 12, 2025
0824691
Resolve CI issues
YanzhaoW Jan 17, 2025
6b877f1
add parameter neulandpaddle
P-Ulrich Jan 23, 2025
dc456a4
change github ci to edwin_dev trigger
YanzhaoW Jan 23, 2025
6447626
fix dokcer and apptainer deployment (#22)
YanzhaoW Jan 23, 2025
4a55fad
Use cpp-lint for static_analysis CI (#21)
YanzhaoW Jan 25, 2025
22cb000
Update doc on using HPC clusters (#25)
YanzhaoW Jan 28, 2025
c54209e
Fix container and image issues (#26)
YanzhaoW Jan 28, 2025
b230c67
Set eventheader in neuland ana application (#27)
YanzhaoW Jan 29, 2025
08f285f
Add python module of random paramter adder for neuland hitpar (#28)
YanzhaoW Jan 31, 2025
9d11545
added pos/ n_dp / energy option to muon gen (#23)
P-Ulrich Feb 11, 2025
fea682d
Implement predecessor algorithm and integration of millepede. (#24)
YanzhaoW Feb 13, 2025
33ffaf1
Fix the clang-format issues (#29)
YanzhaoW Feb 14, 2025
6d5e910
fix python lib path (#30)
YanzhaoW Feb 15, 2025
f819fa9
Fix energy in sim (#31)
P-Ulrich Feb 20, 2025
32a3ffd
Implementing t_offset and effetive_c with millepede (#32)
YanzhaoW Feb 25, 2025
3326900
restructure doxyen doc (#34)
YanzhaoW Mar 4, 2025
c7b2a80
Use self-hosted runner for apptainer deploy (#35)
YanzhaoW Mar 12, 2025
5e6fc61
Reimplement digitizing engine and update doc. (#36)
YanzhaoW Apr 3, 2025
79cf45d
Add PDGConverter and restructure neuland digitizer (#37)
YanzhaoW May 14, 2025
b252fb6
Fix issues with latest compilers and ROOT (#38)
YanzhaoW May 20, 2025
b20846d
Add documentation for container and others. (#39)
YanzhaoW May 22, 2025
c8246c2
Update on the container doc (#40)
YanzhaoW May 22, 2025
1b093e0
Implement TSyncEngine and complete coarse analysis (#41)
YanzhaoW Jul 7, 2025
df3fc30
Adapt to C++ 23 standard
YanzhaoW Jul 8, 2025
5761c32
Fix warning messages in CDash
YanzhaoW Jul 14, 2025
4f67e96
Add cxx standard to cdash and add conditions on ranges::copy
YanzhaoW Jul 14, 2025
b14d2a5
Add Huber regression for calibration
YanzhaoW Jul 18, 2025
420220a
Dissemble events with one data point per entry during tdiff cal
YanzhaoW Oct 24, 2025
2fc7784
Switch to glaze for JSON parsing
YanzhaoW Jan 7, 2026
e4f24c7
Fix position calibration of millepede
YanzhaoW Jan 14, 2026
7a48c1e
add hitonlinemonitor and minipede
YanzhaoW Jan 21, 2026
f262b27
Fix tsync calibration of millepede algorithm
YanzhaoW Jan 23, 2026
6018f70
Fix errors from rebasing to the latest dev
YanzhaoW Jan 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
---
Language: Cpp
#AccessModifierOffset: -4
ConstructorInitializerIndentWidth: 4
Expand Down Expand Up @@ -53,4 +52,3 @@ ContinuationIndentWidth: 4
CommentPragmas: '^ IWYU pragma:'
SpaceBeforeParens: ControlStatements
SpaceBeforeCpp11BracedList: false
...
4 changes: 2 additions & 2 deletions .github/actions/cache-save/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ runs:
path: |
${{ env.UCESB_DIR }}
${{ github.workspace }}/build/_deps
key: build-deps-${{ matrix.os }}
key: build-deps-${{ matrix.os }}-${{ matrix.repos }}

- name: cache atima
id: cache-atima
Expand All @@ -33,4 +33,4 @@ runs:
uses: actions/cache/save@v5
with:
path: .ccache
key: r3b-build-${{ inputs.cache-name }}-${{ matrix.os }}
key: r3b-build-${{ inputs.cache-name }}-${{ matrix.os }}-${{ matrix.repos }}
3 changes: 3 additions & 0 deletions .github/actions/ctest-cdash/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,11 @@ runs:
- name: running ctest
run: |
source $GITHUB_WORKSPACE/util/generate_geo_test.sh
export ROOT_CXX_STANDARD=$(${SIMPATH}/bin/root-config --cxxstandard)
export ROOT_CXX_STANDARD="${ROOT_CXX_STANDARD:-17}"
ctest -S cmake/CI_CD/CDash.cmake -DBUILD_J=${NUM_THREADS}\
-DTEST_MODEL=${TEST_MODEL}\
-DEXTRA_FLAGS="--preset=${{ matrix.preset }};-DCMAKE_CXX_STANDARD=${ROOT_CXX_STANDARD};-C$GITHUB_WORKSPACE/cmake/CI_CD/configure_options.cmake"\
-DTEST_NAME=${{ env.TEST_NAME }}\
-DSITE_NAME="Github hosted (${{ github.repository }})"\
--force-new-ctest-process \
Expand Down
7 changes: 4 additions & 3 deletions .github/actions/install-deps/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,20 @@ runs:
${{ env.ATIMAPATH }}
key: build-deps-${{ matrix.os }}
restore-keys: |
build-deps-${{ matrix.os }}
build-deps-${{ matrix.os }}-${{ matrix.repos }}
build-deps-${{ matrix.os }}-

- name: cache r3b
if: inputs.cache-name != 'false' && github.event_name == 'pull_request'
id: cache-r3b
uses: actions/cache/restore@v5
with:
path: .ccache
key: r3b-build-${{ inputs.cache-name }}-${{ matrix.os }}
key: r3b-build-${{ inputs.cache-name }}-${{ matrix.os }}-${{ matrix.repos }}
restore-keys: |
r3b-build-${{ inputs.cache-name }}-${{ matrix.os }}-${{ matrix.repos }}
r3b-build-${{ inputs.cache-name }}-${{ matrix.os }}
r3b-build-
r3b-build-

- name: build ucesb
if: steps.cache-ucesb.outputs.cache-hit == ''
Expand Down
10 changes: 8 additions & 2 deletions .github/actions/pre-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,23 @@ runs:
echo "SOURCEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV
echo "BUILDDIR=$GITHUB_WORKSPACE/build" >> $GITHUB_ENV
echo "cacheSHA=$([[ ${{github.event_name}} = "push" ]] && git rev-parse --short HEAD || git rev-parse --short HEAD^)" >> $GITHUB_ENV
# Remove the following two lines when Geant4 is fixed in gsi cvmfs
export LD_LIBRARY_PATH="${SIMPATH}/lib:${LD_LIBRARY_PATH}"
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}" >> $GITHUB_ENV
shell: bash

- name: mount cvmfs
run: |
apt-get update
apt-get install --fix-missing -y sudo wget gnupg lsb-release
sudo -H pip3 install --ignore-installed -U conan
apt-get install --fix-missing -y sudo
if [ "${{ matrix.os }}" == "debian10" ]; then
sudo apt upgrade libc6
fi
wget https://cernbox.cern.ch/remote.php/dav/public-files/RmnTeeOZpYjCJQb/masterkey.gsi.de.pub
mkdir -p /etc/cvmfs/keys
mv masterkey.gsi.de.pub /etc/cvmfs/keys
cp .github/config/fairsoft.gsi.de.conf /etc/cvmfs/config.d
sudo -H pip3 install -U conan
echo "CVMFS_USER=$(whoami)" >> /etc/cvmfs/config.d/fairsoft.gsi.de.conf
mkdir -p ${CVMDIR}
mount -t cvmfs fairsoft.gsi.de ${CVMDIR}
Expand Down
20 changes: 13 additions & 7 deletions .github/actions/r3bbuild-steps/action.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: build-steps
description: 'steps to build R3BRoot and ucesb'


inputs:
build-needed:
description: 'build process is needed'
Expand All @@ -25,15 +24,22 @@ runs:
run: |
git config --global --add safe.directory $GITHUB_WORKSPACE
git submodule update --init --recursive
git clone https://github.com/R3BRootGroup/macros.git
echo ""
echo "path environment variable: $PATH\n"
echo ""
cmake --preset ${{ matrix.preset }} . -C "$GITHUB_WORKSPACE/cmake/CI_CD/configure_options.cmake"
# git clone https://github.com/R3BRootGroup/macros.git
conan remote update conancenter --url="https://center2.conan.io"
export ROOT_CXX_STANDARD=$(${SIMPATH}/bin/root-config --cxxstandard)
export ROOT_CXX_STANDARD="${ROOT_CXX_STANDARD:-17}"
cmake --preset ${{ matrix.preset }} . -DCMAKE_CXX_STANDARD=${ROOT_CXX_STANDARD} -C "$GITHUB_WORKSPACE/cmake/CI_CD/configure_options.cmake"
shell: bash

- name: build ${{ matrix.repos }}
if: inputs.build-needed == 'true'
run: |
cmake --build ./build -- -j ${NUM_THREADS}
cmake --build --preset ${{ matrix.preset }} -- -j ${NUM_THREADS}
shell: bash

- name: ccache stats
if: github.event_name == 'pull_request' && always()
run: |
ccache --show-stats
ccache --print-stats
shell: bash
191 changes: 191 additions & 0 deletions .github/workflows/ci-container.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
name: ci test for containers
on:
pull_request:
branches: [edwin_dev]

workflow_dispatch:

permissions: write-all

jobs:
ci:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
repos: [fedora-latest, fedora-stable]
include:
# - url: https://github.com/R3BRootGroup/R3BFileSource.git
- preset: default
container:
image: yanzhaowang/r3bdev:${{ matrix.repos }}

steps:
- uses: actions/checkout@v4
with:
# This allows all commits of all branches to be fetched.
fetch-depth: 0

- name: setup environments
run: |
echo "CCACHE_BASEDIR=${GITHUB_WORKSPACE}" >> $GITHUB_ENV
echo "CCACHE_DIR=${GITHUB_WORKSPACE}/.ccache" >> $GITHUB_ENV
echo "CCACHE_COMPRESS=true" >> $GITHUB_ENV
echo "CCACHE_COMPRESSLEVEL=6" >> $GITHUB_ENV
echo "CONAN_HOME=${GITHUB_WORKSPACE}/.conan2" >> $GITHUB_ENV
echo "CXX=clang++" >> $GITHUB_ENV
echo "CC=clang" >> $GITHUB_ENV
echo "CMAKE_GENERATOR=Ninja" >> $GITHUB_ENV
echo "NUM_THREADS=4" >> $GITHUB_ENV
sudo -H pip3 install -U conan

- name: load build cache
id: build-cache
uses: actions/cache/restore@v4
with:
path: |
${{ github.workspace }}/.ccache
key: r3b-build-cache-${{ matrix.repos }}

- name: load conan cache
id: conan-cache
uses: actions/cache/restore@v4
with:
path: |
${{ github.workspace }}/.conan2
key: r3b-conan-cache-${{ matrix.repos }}

- name: configure-build
uses: './.github/actions/r3bbuild-steps'

- name: ctest-cdash
if: always()
uses: './.github/actions/ctest-cdash'
with:
repo: ${{ matrix.repos }}

- name: ccache stats
if: always()
run: |
ccache --show-stats
ccache --print-stats

- name: cache-delete
run: |
sudo dnf -y install gh
git config --global --add safe.directory $GITHUB_WORKSPACE
gh cache delete ${{ steps.build-cache.outputs.cache-primary-key }} || true
gh cache delete ${{ steps.conan-cache.outputs.cache-primary-key }} || true
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: save build cache
uses: actions/cache/save@v4
with:
path: |
${{ github.workspace }}/.ccache
key: r3b-build-cache-${{ matrix.repos }}

- name: save conan cache
uses: actions/cache/save@v4
with:
path: |
${{ github.workspace }}/.conan2
key: r3b-conan-cache-${{ matrix.repos }}

clang-format:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: cpp-linter/cpp-linter-action@v2
id: linter
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
style: 'file' # Use .clang-format config file
tidy-checks: '-*'
version: 21
verbosity: debug
lines-changed-only: false
files-changed-only: false
step-summary: true
thread-comments: 'false'
extensions: 'h,cxx'
ignore: '*|!neuland|!r3bbase|!r3bdata/neulandData|!r3bsource/neuland|!r3bsource/base|ext_h101*'
format-review: true
- name: Fail fast?!
if: steps.linter.outputs.clang-format-checks-failed > 0
run: exit 1

clang-tidy:
runs-on: ubuntu-latest
strategy:
matrix:
repos: [fedora-latest]
include:
- preset: default
container:
image: yanzhaowang/r3bdev:${{ matrix.repos }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: setup environments
run: |
echo "CCACHE_BASEDIR=${GITHUB_WORKSPACE}" >> $GITHUB_ENV
echo "CCACHE_DIR=${GITHUB_WORKSPACE}/.ccache" >> $GITHUB_ENV
echo "CCACHE_COMPRESS=true" >> $GITHUB_ENV
echo "CCACHE_COMPRESSLEVEL=6" >> $GITHUB_ENV
echo "CONAN_HOME=${GITHUB_WORKSPACE}/.conan2" >> $GITHUB_ENV
echo "CXX=clang++" >> $GITHUB_ENV
echo "CC=clang" >> $GITHUB_ENV
echo "CMAKE_GENERATOR=Ninja" >> $GITHUB_ENV
echo "NUM_THREADS=4" >> $GITHUB_ENV
sudo -H pip3 install -U conan

- name: load build cache
id: build-cache
uses: actions/cache/restore@v4
with:
path: |
${{ github.workspace }}/.ccache
key: r3b-build-cache-${{ matrix.repos }}

- name: load conan cache
id: conan-cache
uses: actions/cache/restore@v4
with:
path: |
${{ github.workspace }}/.conan2
key: r3b-conan-cache-${{ matrix.repos }}

- name: configure r3broot
uses: './.github/actions/r3bbuild-steps'
with:
build-needed: 'false'

- name: clang-tidy check
run: |
mkdir -p clang-tidy-result
git diff -U0 HEAD^ | python3 $PWD/util/clang-tidy-diff.py -p1 -path build -j4 -use-color \
-iregex '^(.*\/)(?!ext_)([^\/]*\.(cpp|cc|c\+\+|cxx|cl|hpp|hh|h|m|mm|inc))$' \
> clang-tidy-result/fixes.yml
cat clang-tidy-result/fixes.yml |\
sed -e 's/\x1b\[[0-9;]*m//g' |\
sed 's/\(^.*\):\([0-9]*\):\([0-9]*\): warning:/::warning file=\1,line=\2,col=\3::/' |\
sed 's/\(^.*\):\([0-9]*\):\([0-9]*\): error:/::error file=\1,line=\2,col=\3::/'
echo "WARN_NUM=$(sed -e 's/\x1b\[[0-9;]*m//g' clang-tidy-result/fixes.yml | grep -w " warning:" | wc -l | xargs)" >> $GITHUB_ENV
echo "ERROR_NUM=$(sed -e 's/\x1b\[[0-9;]*m//g' clang-tidy-result/fixes.yml | grep -w " error:" | wc -l | xargs)" >> $GITHUB_ENV

- name: clang-tidy results
run: |
if [ "${{ env.WARN_NUM }}" -eq "0" ] && [ "${{ env.ERROR_NUM }}" -eq "0" ]; then
echo "::notice::All clean, LGTM!"
else
cat clang-tidy-result/fixes.yml | sed -e 's/\x1b\[[0-9;]*mnote: \x1b\[0m/\x1b\[33mnote: \x1b\[0m/g'
echo "::notice::Clang-tidy generates ${{ env.WARN_NUM }} warnings and ${{ env.ERROR_NUM }} errors! Please fix them before being merged."
exit 1
fi
shell: bash
65 changes: 65 additions & 0 deletions .github/workflows/container_deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Requires following secrets and variables:
#
# variables:
# - DOCKER_REPO: repository to be pushed to.
# - DOCKER_USERNAME: the user name of the repository owner.
#
# secrets:
# - DOCKER_TOKEN: access token to dockerhub

name: deploy-container

on:
push:
branches: [ edwin_dev ]
workflow_dispatch:


jobs:
docker-build:
strategy:
fail-fast: false
matrix:
repo:
- 'r3broot:latest'
- 'r3broot:latest-arm'
- 'r3broot:stable'
- 'r3broot:stable-arm'
include:
- repo: 'r3broot:stable'
build-repo: 'r3bdev:fedora-stable'
build-env: 'ubuntu-latest'
- repo: 'r3broot:stable-arm'
build-repo: 'r3bdev:fedora-stable-arm'
build-env: 'ubuntu-24.04-arm'
- repo: 'r3broot:latest'
build-repo: 'r3bdev:fedora-latest'
build-env: 'ubuntu-latest'
- repo: 'r3broot:latest-arm'
build-repo: 'r3bdev:fedora-latest-arm'
build-env: 'ubuntu-24.04-arm'

runs-on: ${{ matrix.build-env }}

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: 'true'

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKER_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
context: util/container
tags: ${{ vars.DOCKER_USERNAME }}/${{ matrix.repo }}
build-args: |
BUILD_REPO=${{ matrix.build-repo }}
THREAD_NUM=4
R3B_BRNAME=${{ github.head_ref || github.ref_name }}
Loading
Loading