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 653 commits into
Conversation
… exclusion)" This reverts commit cd67e07.
|
Your latest changes have made CBS now require boost filesystem. This is not a problem, we do this for GUM to. We will just need to remember or document this somewhere so we can mention it in the paper for what the requirements are for CBS. |
Thanks, the standalone 'boost.system' is removed in Boost 1.9. So I remove it. |
ChrisJChang
left a comment
There was a problem hiding this comment.
Still Reviewing, but leaving another "requested change" to discuss what we want to do wrt the CBS preset stuff.
| @@ -287,27 +425,207 @@ if(NOT EXCLUDE_YODA) | |||
| else() | |||
| set(YODA_CONFIG_LDFLAGS "") | |||
| endif() | |||
| if(GAMBIT_MACOS_HOMEBREW_LLVM_OPENMP) | |||
There was a problem hiding this comment.
A few times through this PR, I have seen changes specifically for LLVM. Can you remember what some of the issues you had were? I'm unaware of what they are.
ChrisJChang
left a comment
There was a problem hiding this comment.
I've left a few more comments. The main one is the I would love some more commenting on your CBS code (I flagged some particular files). This will help me understand it greatly when doing this review.
I moved the mvautils code to the contrib folder, and added its LICENSE file.
…to find it if they need it.
There was a problem hiding this comment.
I've done a lot more of the review (now checked through all but around 7 files). The remaining files I need to check are important ones for CBS. I made a few comments asking for there to be more commenting in the files.
Edit: It doesn't look like my comments are showing up to me about commenting. This was impacting all the CBS source files (e.g. solo_batch, ...)
There was also a file that exists that I don't think should (an autogenerated file that in the current state of gambit should never be generated), and I suspect should be deleted.
Use each efficiency helper's own pipes and refresh event counts for every scan point. Remove the unimplemented EXOT analysis, stale generated header and personal scan input; correct the topness wrapper name and clean personal ignore entries. Document CBS helper functions and data structures, and clarify local single-point sequential batch execution in the help text. Validation: static diff and reference checks only; no configure, compilation or runtime tests, as requested.
ChrisJChang
left a comment
There was a problem hiding this comment.
I have now resolved all the comments. Once SUSY Run 2 is merged into master, and we have performed the release of GAMBIT 2.7, I will merge master into this branch, resolve the conflicts, and do a final review.
- legacy cuts were being redefined for every event, instead of in the constructor
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.5.1 + fjcontrib 1.101 under
contrib/ (with an object library for Nsubjettiness); the old fjcore fallback is
removed (jet clustering always requires the full FastJet contrib build), and
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) and Nsubjettiness compiled as an object library. Built onceand shared with the Rivet 4 backend via
fastjet_DIR; the old fjcore fallback is gone,so ColliderBit always links the full FastJet + contrib toolset.
cmake/utilities.cmake,executables.cmake,standalones.cmake):standalone functor generation (
standalone_facilitator.py), LDFLAGS normalisation tosilence duplicate-library warnings, and CBS target registration.
Utils/json.hpp(single-header nlohmann/json, MIT) drives CBSoutput and batch merge;
Utils/util_functionsadds small helpers.MSSMEW Run-2 scan configs (
yaml_files/SUSYRun2_MSSMEW*.yaml)..gitignore: CBS artefacts, contribfastjet/fjcontrib, BOSS castxml, and thegenerated
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.