ColliderBit: CBS standalone, analysis naming migration, Run-2 analysis wave, Rivet 4.1/Contur 3.0 - #608
ColliderBit: CBS standalone, analysis naming migration, Run-2 analysis wave, Rivet 4.1/Contur 3.0#608Pengxuan-Zhu-Phys wants to merge 629 commits into
Conversation
Synchronise the seven validated VLQ analyses, register CMS B2G 18 003, add analysis metadata, and retain the required BuckFast jet-collection support.
… been in git ignore)
ChrisJChang
left a comment
There was a problem hiding this comment.
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.
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.
…f built in the wrong order
- 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
left a comment
There was a problem hiding this comment.
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[] = { |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Sorry, I should fix this more earlier. It's on my to-do list. So, please wait for me to clean them.
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.
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):
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
(
Backends/include/gambit/Backends/backend_types/Rivet_4_1_0/, patches, BOSS config);Pythia 8.312 wrapper/patch refresh;
ATLAS_FullLikesfrontend updates;new
config/gambit_backend_interfaces.yaml.contrib/with rpath wiring(
cmake/contrib.cmake); Nsubjettiness object library.cmake/utilities.cmake/executables.cmake/standalones.cmake: standalone functorgeneration (
standalone_facilitator.py), LDFLAGS normalisation to killduplicate-library warnings, CBS target registration.
Utils/json.hpp: vendored single-header nlohmann/json (MIT), used by CBS output andbatch merge.
Utils/util_functions: small helpers.MSSMEW Run-2 scan configs (
yaml_files/SUSYRun2_MSSMEW*.yaml)..gitignore: CBS artefacts, contrib fastjet/fjcontrib, BOSS castxml, generatedfunctors_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.