Skip to content

ColliderBit: CBS standalone, analysis naming migration, Run-2 analysis wave, Rivet 4.1/Contur 3.0 - #608

Open
Pengxuan-Zhu-Phys wants to merge 629 commits into
masterfrom
ColliderBit_solo_development
Open

ColliderBit: CBS standalone, analysis naming migration, Run-2 analysis wave, Rivet 4.1/Contur 3.0#608
Pengxuan-Zhu-Phys wants to merge 629 commits into
masterfrom
ColliderBit_solo_development

Conversation

@Pengxuan-Zhu-Phys

@Pengxuan-Zhu-Phys Pengxuan-Zhu-Phys commented Jun 19, 2026

Copy link
Copy Markdown

Headline numbers: 328 files changed, +313k/−14.9k lines — of which ~266k added lines
are data assets (two ATLAS pyhf background JSONs, MET-significance resolution tables,
a vendored nlohmann::json header); the code change is ~+47.6k/−14.9k.
Registered analyses grow from 100 to 135 names.

Breaking changes
Analysis names: 72 analyses renamed; the legacy names are gone from
AnalysisContainer.cpp, so existing user YAML files must be updated. The shipped
yaml_files/*.yaml are already migrated. Mapping table: doc/analysis_rename_map.md
(also in each .info as OldName:).
Rivet/Contur: support for Rivet 3.1.5 / Contur 2.1.1 is replaced by
Rivet 4.1.0 / Contur 3.0.0 (frontends, BOSS configs and patches renamed/regenerated;
CI now installs pathos joblib for Contur 3).
HEPUtils (contrib/heputils): Event gains named variable-R jet collections
(vrjets(key), add_vrjet, …) alongside the existing named jet collections; analyses
and event converters use them when the run YAML declares VRJet_collections.
FastJet: ColliderBit now builds against FastJet 3.4.2 + fjcontrib 1.049 under
contrib/ (with an object library for Nsubjettiness); deprecated FastJet API usages
in Py8EventConversions were fixed.
No physics behaviour of existing, unrenamed analyses is intentionally changed except
where listed under "Bug fixes".

1. ColliderBit Solo (CBS)

CBS_Documentation.md

2. Analysis naming migration

rename-map.md

3. New and rewritten analyses

Brand-new implementations (no predecessor in master):

Analysis Notes
ATLAS_EXOT_2016_013 large-R jets, histograms
ATLAS_EXOT_2016_014 large-R jets
ATLAS_EXOT_2016_017 jet reclustering
ATLAS_EXOT_2019_04 large-R + variable-R jets, histogram-backed SRs
ATLAS_EXOT_2019_07 large-R + variable-R jets
ATLAS_EXOT_2021_35 large-R jets, histograms
ATLAS_SUSY_2012_10, ATLAS_SUSY_2018_07, ATLAS_SUSY_2018_12_RJR Run-1/Run-2 gap fills
CMS_EXO_12_048, CMS_SUS_13_006, CMS_SUS_20_003 Run-1/Run-2 gap fills
Baselines, Dummy validation / no-op utility analyses

Major rewrites carried over from legacy names (selection):
ATLAS_SUSY_2018_05(+_RJR) (2L+jets EW, object-based MET significance, FullLikes JSON),
ATLAS_SUSY_2018_16 (soft 2L, FullLikes), ATLAS_SUSY_2018_30 (3b, ONNX NN),
ATLAS_SUSY_2019_02 (2L0J EW, BDT), ATLAS_SUSY_2018_41, ATLAS_SUSY_2019_09,
ATLAS_SUSY_2019_18, ATLAS_SUSY_2019_22, ATLAS_SUSY_2020_16, ATLAS_CONF_2019_008
(chargino, FullLikes JSON), CMS_SUS_16_039, CMS_SUS_18_004, CMS_SUS_19_010,
CMS_SUS_20_001, CMS_SUS_20_004, CMS_SUS_21_002(+_OLD), CMS_SUS_21_009.

Many analyses register multiple variants (inclusive/binned/per-channel), hence
135 registered names from 91 source files.

4. Backends, build system, support code

  • Rivet 4.1.0 + Contur 3.0.0 frontends and regenerated BOSS wrappers
    (Backends/include/gambit/Backends/backend_types/Rivet_4_1_0/, patches, BOSS config);
    Pythia 8.312 wrapper/patch refresh; ATLAS_FullLikes frontend updates;
    new config/gambit_backend_interfaces.yaml.
  • FastJet 3.4.2 + fjcontrib 1.049 under contrib/ with rpath wiring
    (cmake/contrib.cmake); Nsubjettiness object library.
  • cmake/utilities.cmake / executables.cmake / standalones.cmake: standalone functor
    generation (standalone_facilitator.py), LDFLAGS normalisation to kill
    duplicate-library warnings, CBS target registration.
  • Utils/json.hpp: vendored single-header nlohmann/json (MIT), used by CBS output and
    batch merge. Utils/util_functions: small helpers.
  • DecayBit: refactor of the off-shell-W chargino width integration used by the new
    MSSMEW Run-2 scan configs (yaml_files/SUSYRun2_MSSMEW*.yaml).
  • .gitignore: CBS artefacts, contrib fastjet/fjcontrib, BOSS castxml, generated
    functors_for_CBS.cpp.

FastJet_Code_Changes.md

6. Variable-R Jet implementation.

VariableR_Jet_Changes.md

7. Histogram support based on SignalRegion class.

Histogram_SR_Design.md

Thank you for such massive merge PR request.

Pengxuan-Zhu-Phys and others added 30 commits January 15, 2025 14:45

@ChrisJChang ChrisJChang left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have made some small fixes myself. I have added a review with a single requested change that prevents me from building. After you fix that, I will continue with the review.

Comment thread cmake/contrib.cmake Outdated
Pengxuan-Zhu-Phys and others added 8 commits August 18, 2026 22:18
Add public cbs and cbs-llvm presets that configure a Release CBS build
in GAMBIT's default build/ directory. Optional CBS features (MPI, ROOT,
RestFrames, ONNX, Rivet/Contur) are requested by default and skipped
when their prerequisites are missing. Ordinary cmake .. is unchanged,
including FastJet 3.4.2 for non-preset ColliderBit builds.
  - Reimplements a fix in the SUSY Run 2 branch, along with some other small improvements.
  - many analyses have lots of unused variable warnings, so these should be addressed.
@ChrisJChang
ChrisJChang self-requested a review August 20, 2026 14:51

@ChrisJChang ChrisJChang left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am now able to build both gambit and CBS. My next step will be going more carefully through all the different lines of code. I left one requested change comment. This is not something too serious, just resolving undefined variable warnings in ColliderBit analyses.

bJets.at(0)->mom().E()};
for (unsigned int i = 0; i < 2; i++)
{
double pb2[] = {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In quite a few of the analyses, there are undefined variable warnings. Some of these existed before this PR. Could you address any of the ones you can here? In particular, I have flagged one new analysis that contains quite a few.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I should fix this more earlier. It's on my to-do list. So, please wait for me to clean them.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

Scan ColliderBit/src/analyses/*.info at runtime instead of a hardcoded
catalogue. Copy YAML fields into strings immediately; yaml-cpp 0.6.2
Node assignment merges documents, so sorting stored nodes mixed
metadata across analyses.

CBS -h/-l skip RestFrames' load-time banner and the uninitialised
logger dump. RestFrames is patched at configure/link time to honour
RESTFRAMES_QUIET.
Emit Mach-O linker options as single -Wl, tokens in MacOSX.cmake so
AppleClang and LLVM clang both accept them and rivet-build cannot
split them. Drop CBS_RIVET_USE_LLVM_LINKER_DRIVER.

Build FastJet 3.5.1, fjcontrib 1.101, and Contur 3.0.0 for ordinary
GAMBIT cmake .. as well as CBS, matching the Contur_3_0_0 frontend.
Strip OpenMP from YODA's private libtool flags on AppleClang.
Drop the unused fjcore include branches from ATLAS EXOT/SUSY analyses
that already require FastJet tools. Do not compile the fjcore object
library when ColliderBit builds full FastJet.
METSignificance includes HEPUtils::Jet and must not be declared when
ColliderBit is off. Drop the leftover FastJet 3.4.2 include from the
Rivet 4.1.0 BOSS config so CastXML matches the 3.5.1 contrib build.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backends Relates to GAMBIT interaction with external codes. ColliderBit

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants