Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
3ca2195
Compatibility with standalone kingmaker container and local sandboxin…
tvoigtlaender Feb 12, 2026
7e7643a
Add missing import
tvoigtlaender Feb 12, 2026
34c7661
Update init.sh function to use singularity container over cvmfs LCG s…
tvoigtlaender Feb 13, 2026
33cd891
Add dry run option to init script to only copy in configs
tvoigtlaender Feb 13, 2026
0b2e0c1
Update init script with updated argument parsing and fixed git status…
tvoigtlaender Feb 17, 2026
b5e354a
Update init.sh documentation
tvoigtlaender Feb 17, 2026
6f1427e
Update documentation
tvoigtlaender Feb 17, 2026
65bb2b9
Cleanup
tvoigtlaender Feb 17, 2026
e3c32ae
update documentation. source replaced by bash as env setup happens in…
tvoigtlaender Feb 18, 2026
2404732
improve consistency in documentation
tvoigtlaender Feb 18, 2026
68757ff
Replace autogen of dict library with cached libMyDicts.so. Add lib to…
tvoigtlaender Feb 21, 2026
61470cb
Split off Dict lib from CROWNlib to make python quantity calls more l…
tvoigtlaender Feb 22, 2026
6054aa3
Cleanup
tvoigtlaender Feb 22, 2026
e720830
Move default ccache dir to CROWN/.cache/ccache
tvoigtlaender Feb 23, 2026
35bea9e
black
tvoigtlaender Feb 23, 2026
fe227bf
update CI worflow
tvoigtlaender Feb 24, 2026
05368ce
Activate env at container startup for CI pipeline
tvoigtlaender Feb 24, 2026
a851f05
Add openssh to container
tvoigtlaender Feb 24, 2026
fa7750e
Update local container sartup and git checks
tvoigtlaender Feb 24, 2026
4f200f5
Update and apply cpp formatting. Remove unused setup_from_tarball.sh
tvoigtlaender Feb 24, 2026
4a8912a
Remove duplicates
tvoigtlaender Feb 24, 2026
619945d
Update and apply python formatting
tvoigtlaender Feb 24, 2026
7d89dc9
Add and apply cmake formatting. Add central script that runs (python/…
tvoigtlaender Feb 24, 2026
8e140d7
add c and h files to cpp formatting
tvoigtlaender Feb 24, 2026
e80ce6d
update image in github CI
tvoigtlaender Feb 24, 2026
2604c5f
add cmake format checking
tvoigtlaender Feb 24, 2026
85b1da2
Downgrade github CI checkout for checks
tvoigtlaender Feb 24, 2026
f00dbc1
update container initilization for github CI
tvoigtlaender Feb 24, 2026
2a9aac5
add ENV variable to dockerfile, even without proper init
tvoigtlaender Feb 24, 2026
0fbf929
Add openssh
tvoigtlaender Feb 24, 2026
2eb13f3
Use login shell for tests and reformat check file
tvoigtlaender Feb 24, 2026
e9a573e
Bugfixes after formatting
tvoigtlaender Feb 25, 2026
f780fe9
broaden git config --global --add safe.directory step to work with ro…
tvoigtlaender Feb 25, 2026
66bbb8a
Move up container version
tvoigtlaender Feb 25, 2026
e12ede5
cpp formatting. Formatting should not be applied to code_generation/s…
tvoigtlaender Feb 25, 2026
5a7bd70
Add exclusion list to formatting checks.
tvoigtlaender Feb 25, 2026
a1a1893
Make check output consistent across formatting checks.
tvoigtlaender Feb 25, 2026
c4fa4ed
Add container lib path to RPATH, even when building with local env to…
tvoigtlaender Feb 28, 2026
f282571
Add '-c none' option for init.sh script to use local env instead. Cle…
tvoigtlaender Mar 1, 2026
dde46e8
update container name for checks
tvoigtlaender Mar 1, 2026
0c9967d
Typo and formatting
tvoigtlaender Mar 1, 2026
f2e5c0e
Update to new container image from unpacked
tvoigtlaender Mar 2, 2026
9d64116
Merge branch 'main' into Kingmaker_sandboxing
tvoigtlaender Mar 9, 2026
985cbc8
formatting
tvoigtlaender Mar 9, 2026
6097cd8
Resolve conflicts
tvoigtlaender Mar 14, 2026
403eb1d
formatting
tvoigtlaender Mar 14, 2026
c6d305d
Add scripts to derive edges and nodes for CROWN DAG from config and s…
tvoigtlaender Mar 31, 2026
88984fc
V0.1 of DAG visualization via html
tvoigtlaender Mar 31, 2026
0f97db5
Formatting
tvoigtlaender Mar 31, 2026
f86f23d
Split DAG by scope. Add dropdown for era sample type and scope.
tvoigtlaender Apr 1, 2026
0832381
Add comments/formatting/use of defaultdict
tvoigtlaender Apr 1, 2026
73e0f21
Switch to ELK and transpose layout. Remove IN/OUT nodes and replace w…
tvoigtlaender Apr 13, 2026
a666eaa
Add edge bundling to DAG. Split processing by scope to avoide overlap…
tvoigtlaender Apr 16, 2026
83c47e7
Rework styling. Add family register for unified highlighting on click…
tvoigtlaender Apr 17, 2026
00cfe5b
Split between edges and nodes in families to allow better sidebar con…
tvoigtlaender Apr 18, 2026
74a64d6
Distangle family names of individual nodes. Make js code less defensi…
tvoigtlaender Apr 18, 2026
bbb0dd8
formatting
tvoigtlaender Apr 18, 2026
93f2ecb
Add is_filter property to producers with optional argument for ambigu…
tvoigtlaender Apr 18, 2026
b06c08d
Formatting
tvoigtlaender Apr 18, 2026
2b2d7f7
Add stump type to identify nodes with no function.
tvoigtlaender Apr 18, 2026
b58ba6a
Add focus jumping by clicking on the sidebar
tvoigtlaender Apr 19, 2026
a420d2b
Add metadata for calls and config parameters to json generation
tvoigtlaender Apr 19, 2026
faad3c7
Add sidebar information
tvoigtlaender Apr 19, 2026
d1b7b5c
formatting/codacy
tvoigtlaender Apr 19, 2026
d1dd17f
Add call and quantities read from/written to a file to search scope
tvoigtlaender Apr 19, 2026
2a91e89
Add stump entry to legend
tvoigtlaender Apr 19, 2026
b7e5717
Add friends production support to DAG creation.
tvoigtlaender Apr 20, 2026
0dfe45a
Add example code to friends config
tvoigtlaender Apr 20, 2026
36d729d
Formatting
tvoigtlaender Apr 20, 2026
79774cd
Merge branch 'main' into add_DAG_vis_PR
tvoigtlaender Apr 20, 2026
7549717
Reorder DAG creation functions
tvoigtlaender Apr 20, 2026
b9eda78
Add function descriptions
tvoigtlaender Apr 20, 2026
ef2df9b
Add more comments to code
tvoigtlaender Apr 21, 2026
1c34132
Fix logic bug. CROWN Friend configs may only read from Ntuple Files, …
tvoigtlaender Apr 21, 2026
a463ffe
Surrender to Codacy
tvoigtlaender Apr 21, 2026
c57923f
More docstrings
tvoigtlaender Apr 21, 2026
df52b1a
try again
tvoigtlaender Apr 21, 2026
98c57f3
Refactor for less redundant information in json
tvoigtlaender Apr 23, 2026
c1887a7
Let cytoscape find downstream elements after shift.
tvoigtlaender Apr 23, 2026
a521495
Fix styles
tvoigtlaender Apr 23, 2026
4793a9a
Add shift config changes to json. Show input/output quantities in UI …
tvoigtlaender Apr 23, 2026
ab08bf6
Add support for shifted input quantities in friend configs.
tvoigtlaender Apr 23, 2026
8cbd1de
Bugfix
tvoigtlaender Apr 23, 2026
2b83e94
Minor style adjustments. Reset button now also resets search and shif…
tvoigtlaender Apr 24, 2026
87c4585
Copy html into DAG_dir at runtime for compatibility with KingMaker
tvoigtlaender Apr 27, 2026
4cab4a2
Prevent redundant copying
tvoigtlaender Apr 27, 2026
3065be5
Merge logging
tvoigtlaender Apr 27, 2026
b1efc4e
Black
tvoigtlaender Apr 27, 2026
b3bbd56
Clean up parameters
tvoigtlaender Apr 27, 2026
c7d423e
clean up html code
tvoigtlaender Apr 27, 2026
799fafa
Add Quantities directly copied from input to output file to Global I/…
tvoigtlaender Apr 27, 2026
e84dfac
Merge branch 'main' into Kingmaker_sandboxing
nshadskiy Apr 28, 2026
b510b86
clang formatting
nshadskiy Apr 28, 2026
b47d1b8
Consistently use 'source' to call init script across all mentions
tvoigtlaender Apr 29, 2026
4be4887
Merge branch 'Kingmaker_sandboxing' into add_DAG_vis_PR
tvoigtlaender Apr 30, 2026
adbeac4
Redo metadata write to root file. Use root file metadata to validate …
tvoigtlaender May 2, 2026
7ee37a6
cleanup
tvoigtlaender May 2, 2026
e229b77
Add config source to inputs. Move edge bundling to clientside (To be …
tvoigtlaender May 2, 2026
b0c5a4d
Bugfix
tvoigtlaender May 2, 2026
ee87f9c
bugfix
tvoigtlaender May 7, 2026
f82a62f
update documentation for setup.sh
nshadskiy May 2, 2026
bb5dd57
add option for LCG stack environment + update to new general kingmake…
nshadskiy May 2, 2026
ba17be1
formatting
nshadskiy May 4, 2026
df4ca19
update documentation
nshadskiy May 4, 2026
0eb4fad
increasing timeout and fix cvmfs access in container
nshadskiy May 4, 2026
df7cf31
update documentation
nshadskiy May 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 0 additions & 45 deletions .github/workflows/build_unittest_container.yml

This file was deleted.

181 changes: 82 additions & 99 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
name: Checks

on:
workflow_run:
workflows: ["build_unittest_container"]
push:
branches:
- main
Expand All @@ -12,6 +10,7 @@ on:

# Settings go here!
env:
ENV_NAME: env
BUILD_TYPE: Release
ANALYSIS: unittest
CONFIG: unittest_config
Expand All @@ -25,188 +24,172 @@ env:
TWO_FRIENDS_CONFIG: unittest_friends_2
FRIEND_SHIFTS: "nominal,jesUncTotalUp,jesUncTotalDown,tauMuFakeEsDown"

# This ensures every step runs in a login shell, automatically activating conda
defaults:
run:
shell: bash -el {0}

jobs:
build_project:
runs-on: ubuntu-24.04
container:
image: ghcr.io/kit-cms/crown-crown-unittest:pr-334
image: kingmakerimages/kingmaker_standalone:V1
options: --user 0 # run as root

steps:
- name: Clone project
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.CERN_GITLAB_PRIVATE_KEY }}
submodules: "recursive"
ssh-strict: "false"
ssh-known-hosts: "[gitlab.cern.ch]:7999 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubVS0czgKaPkC5cfB75CI3XjgWBv7pj2ILiZezVf8okkCAYr+bf4w6VrH2pyv3NRUW5Mm8U/3zoSNcrYIqhFFpz6R62/3xt8hMrPKJKstbt1lSIr8QhEyD24SJEKugMi560BWRPkTzXrrFgxz0X4vuKKytpvihRsccZ7F1JaX76UCWEJ3Xr2BFCEnnN6gj9nvFr4gvSMneunWVLGw2KcHwS1OJfnWBlp3fB0rYWSxZAoVjcjZjvv3hioEftaTapff2PkdQIX//N9Cc555FzdmMzixTvU5j/i+QvjxWVbEBNSKI6te6udC4fYUZMePs2QQnqw9mXUQtaQtw+HV7utuw=="

- name: Mark git directory as safe
run: git config --global --add safe.directory ${{github.workspace}}
- name: Mark all git directories as safe
run: git config --global --add safe.directory '*'

- name: Create Build Environment
shell: bash
run: cmake -E make_directory ${{github.workspace}}/build
run: cmake -E make_directory build

- name: adding a system path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH

- name: Configure CMake
shell: bash
run: cd ${{github.workspace}}/build && cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DANALYSIS=$ANALYSIS -DCONFIG=$CONFIG -DSAMPLES=$SAMPLES -DERAS=$ERAS -DSCOPES=$SCOPES -DSHIFTS=$SHIFTS -DOPTIMIZED=false -DONNXRUNTIME_INCLUDE_DIR=/opt/onnxruntime
run: |
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DANALYSIS=$ANALYSIS \
-DCONFIG=$CONFIG \
-DSAMPLES=$SAMPLES \
-DERAS=$ERAS \
-DSCOPES=$SCOPES \
-DSHIFTS=$SHIFTS \
-DOPTIMIZED=false

- name: Build
shell: bash
run: cd ${{github.workspace}}/build && make install -j 2
run: make -C build install -j$(nproc)

- name: Test
shell: bash
run: cd ${{github.workspace}}/build && ctest -V --label-regex "ntuple.*."
run: ctest --test-dir build -V --label-regex "ntuple.*."

build_single_friend:
runs-on: ubuntu-24.04
container:
image: ghcr.io/kit-cms/crown-crown-unittest:pr-334
image: kingmakerimages/kingmaker_standalone:V1
options: --user 0 # run as root

steps:

- name: Clone project
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.CERN_GITLAB_PRIVATE_KEY }}
submodules: "recursive"
ssh-strict: "false"
ssh-known-hosts: "[gitlab.cern.ch]:7999 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubVS0czgKaPkC5cfB75CI3XjgWBv7pj2ILiZezVf8okkCAYr+bf4w6VrH2pyv3NRUW5Mm8U/3zoSNcrYIqhFFpz6R62/3xt8hMrPKJKstbt1lSIr8QhEyD24SJEKugMi560BWRPkTzXrrFgxz0X4vuKKytpvihRsccZ7F1JaX76UCWEJ3Xr2BFCEnnN6gj9nvFr4gvSMneunWVLGw2KcHwS1OJfnWBlp3fB0rYWSxZAoVjcjZjvv3hioEftaTapff2PkdQIX//N9Cc555FzdmMzixTvU5j/i+QvjxWVbEBNSKI6te6udC4fYUZMePs2QQnqw9mXUQtaQtw+HV7utuw=="

- name: Mark git directory as safe
run: git config --global --add safe.directory ${{github.workspace}}
- name: Mark all git directories as safe
run: git config --global --add safe.directory '*'

- name: Create Build Environment
shell: bash
run: cmake -E make_directory ${{github.workspace}}/build
run: cmake -E make_directory build

- name: adding a system path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH

- name: Configure CMake
shell: bash
run: cd ${{github.workspace}}/build && cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DANALYSIS=$ANALYSIS -DCONFIG=$SINGLE_FRIEND_CONFIG -DSAMPLES=$SAMPLES -DERAS=$ERAS -DSCOPES=$SINGLE_FRIEND_SCOPES -DSHIFTS=$FRIEND_SHIFTS -DOPTIMIZED=false -DQUANTITIESMAP="dummy" -DONNXRUNTIME_INCLUDE_DIR=/opt/onnxruntime
run: |
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DANALYSIS=$ANALYSIS \
-DCONFIG=$SINGLE_FRIEND_CONFIG \
-DSAMPLES=$SAMPLES \
-DERAS=$ERAS \
-DSCOPES=$SINGLE_FRIEND_SCOPES \
-DSHIFTS=$FRIEND_SHIFTS \
-DOPTIMIZED=false \
-DQUANTITIESMAP="dummy"

- name: Build
shell: bash
run: cd ${{github.workspace}}/build && make install -j 2
run: make -C build install -j$(nproc)

- name: Test
shell: bash
run: cd ${{github.workspace}}/build && ctest -V --label-regex "single_friend.*."
run: ctest --test-dir build -V --label-regex "single_friend.*."

build_two_friends:
runs-on: ubuntu-24.04
container:
image: ghcr.io/kit-cms/crown-crown-unittest:pr-334
image: kingmakerimages/kingmaker_standalone:V1
options: --user 0 # run as root

steps:
- name: Clone project
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.CERN_GITLAB_PRIVATE_KEY }}
submodules: "recursive"
ssh-strict: "false"
ssh-known-hosts: "[gitlab.cern.ch]:7999 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubVS0czgKaPkC5cfB75CI3XjgWBv7pj2ILiZezVf8okkCAYr+bf4w6VrH2pyv3NRUW5Mm8U/3zoSNcrYIqhFFpz6R62/3xt8hMrPKJKstbt1lSIr8QhEyD24SJEKugMi560BWRPkTzXrrFgxz0X4vuKKytpvihRsccZ7F1JaX76UCWEJ3Xr2BFCEnnN6gj9nvFr4gvSMneunWVLGw2KcHwS1OJfnWBlp3fB0rYWSxZAoVjcjZjvv3hioEftaTapff2PkdQIX//N9Cc555FzdmMzixTvU5j/i+QvjxWVbEBNSKI6te6udC4fYUZMePs2QQnqw9mXUQtaQtw+HV7utuw=="

- name: Mark git directory as safe
run: git config --global --add safe.directory ${{github.workspace}}

- name: Create Build Environment
shell: bash
run: cmake -E make_directory ${{github.workspace}}/build

- name: adding a system path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Mark all directories as safe
run: git config --global --add safe.directory '*'

- name: Configure CMake
shell: bash
run: cd ${{github.workspace}}/build && cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DANALYSIS=$ANALYSIS -DCONFIG=$TWO_FRIENDS_CONFIG -DSAMPLES=$SAMPLES -DERAS=$ERAS -DSCOPES=$TWO_FRIENDS_SCOPES -DSHIFTS=$FRIEND_SHIFTS -DOPTIMIZED=false -DQUANTITIESMAP="dummy" -DONNXRUNTIME_INCLUDE_DIR=/opt/onnxruntime
run: |
mkdir -p build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DANALYSIS=$ANALYSIS \
-DCONFIG=$TWO_FRIENDS_CONFIG \
-DSAMPLES=$SAMPLES \
-DERAS=$ERAS \
-DSCOPES=$TWO_FRIENDS_SCOPES \
-DSHIFTS=$FRIEND_SHIFTS \
-DOPTIMIZED=false \
-DQUANTITIESMAP="dummy"

- name: Build
shell: bash
run: cd ${{github.workspace}}/build && make install -j 2
run: make -C build install -j$(nproc)

- name: Test
shell: bash
run: cd ${{github.workspace}}/build && ctest -V --label-regex "two_friends.*."

run: ctest --test-dir build -V --label-regex "two_friends.*."

python_format:
code_formatting:
runs-on: ubuntu-24.04
container:
image: ghcr.io/kit-cms/crown-crown-unittest:pr-334
options: --user 0 # run as root

image: kingmakerimages/kingmaker_standalone:V1
options: --user 0
steps:
- name: apt update
run: apt-get -y update

- name: Install missing software
run: apt-get install -y git python3-pip && pip install black==23.3.0 --break-system-packages

- uses: actions/checkout@v2

- name: Check Python formatting
shell: bash
run: cd $GITHUB_WORKSPACE && bash checks/python-formatting.sh

cpp_format:
runs-on: ubuntu-24.04
container:
image: ghcr.io/kit-cms/crown-crown-unittest:pr-334
options: --user 0 # run as root

steps:
- name: apt update
run: apt-get -y update

- name: Install missing software
run: apt-get install -y git python3-pip && pip install clang-format --break-system-packages

- uses: actions/checkout@v2

- name: Check C++ formatting
shell: bash
run: cd $GITHUB_WORKSPACE && bash checks/cpp-formatting.sh
- name: Clone project
uses: actions/checkout@v4
- name: Run all formatting checks
run: |
git config --global --add safe.directory '*'
bash ./checks/run-all-checks.sh

docs:
runs-on: ubuntu-24.04
container:
image: ghcr.io/kit-cms/crown-crown-unittest:pr-334
options: --user 0 # run as root

image: kingmakerimages/kingmaker_standalone:V1
options: --user 0
steps:
- name: apt update
run: apt-get -y update

- name: Install missing software
run: apt-get install -y git cmake make doxygen python3-pip

- name: install docs related packages
run: pip install breathe==4.36 sphinx==8.1.3 sphinx_rtd_theme==3.0.2 --break-system-packages

- uses: actions/checkout@v2
- name: Clone project
uses: actions/checkout@v4

- name: Create Build Environment
shell: bash
run: cmake -E make_directory ${{github.workspace}}/build

- name: Configure CMake
shell: bash
run: cd ${{github.workspace}}/build && cmake $GITHUB_WORKSPACE/docs
run: |
cd ${{github.workspace}}/build
cmake $GITHUB_WORKSPACE/docs

- name: Build docs
shell: bash
run: cd ${{github.workspace}}/build && make
run: |
cd ${{github.workspace}}/build
make

- name: Publish
shell: bash
run: echo "TODO"
run: echo "TODO"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ build*/
log/
logs/
generation_logs/
.cache/*
# ignore all analysis in the config folder apart from the unittest and the template
analysis_configurations/*
!analysis_configurations/quantities
Expand Down
22 changes: 12 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,6 @@ message(
)
message(STATUS "")

message(STATUS "Finding Packages")
# add the different dependencies
include(AddBaseDependencies)
include(AddRoot)
include(AddLogging)
include(AddCorrectionlib)
include(AddOnnxruntime)
include(ConfigurePython)

# installdir
if(NOT DEFINED INSTALLDIR)
message(
Expand All @@ -48,15 +39,26 @@ if(NOT DEFINED INSTALLDIR)
endif()
set(GENERATE_CPP_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})

message(STATUS "Finding Packages")
# add the different dependencies
include(AddBaseDependencies)
include(AddRoot)
include(AddDicts)
include(AddLogging)
include(AddCorrectionlib)
include(AddOnnxruntime)
include(ConfigurePython)

# crownlib setup
include(ConfigureCrownlib)
if (BUILD_CROWNLIB_ONLY)
if(BUILD_CROWNLIB_ONLY)
# exit if only crownlib is being built
return()
endif()
# run the code generation
include(CodeGeneration)

message(STATUS "Next is Build")
# run the build
include(Build)

Expand Down
1 change: 1 addition & 0 deletions analysis_configurations/template_analysis/generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ def run(args):
available_samples,
available_eras,
available_scopes,
DAG_dir=f"{args.output}/visualization",
)
# create a CodeGenerator object
generator = CodeGenerator(
Expand Down
Loading
Loading