Skip to content

Conversation

@anderkve
Copy link
Collaborator

Hi,

Here's the PR for the big ColliderBit_development --> master merge. This is a big one as we have accumulated code developments on ColliderBit_development for a long time now.

(While the PR is big, don't be too alarmed by the large number of changed files. A significant portion of this are just data tables and changes in BOSS-generated files.)

Major stuff included in this merge are:

  • the gravitino project developments
  • the Contur + Rivet backends + use in ColliderBit
  • the ATLAS FullLikes backend + use in ColliderBit
  • the simple_xs backend
  • the current state of CBS
  • some BOSS developments + new versions of BOSS-generated headers
  • cleanup of files from ColliderBit_development that should not go to master. (Much has been moved to the gambit_community repo.)
  • various bugfixes + probably some things I've forgotten

While preparing the PR I've tried to squash as many compiler warnings as possible. Will see if I can get rid of the remaining few that pop up on my system (gcc-11).

Of the YAML files, I've updated and tested that all the files that include some collider simulations work, at least on my system:

  • ColliderBit_CMSSM.yaml (our main file for demonstrating ColliderBit)
  • CMSSM.yaml
  • NUHM1.yaml
  • NUHM2.yaml
  • MSSM9.yaml

I've assigned @tegonzalo as the main reviewer, and I will also try to look over parts of the code that I haven't worked too closely on myself. If you have time, it would also be good if @ChrisJChang + @ahye can help out a bit, e.g. with testing compilation on Mac and testing some YAML files.

(Other recent CB developments, like the jet substructure work and the Pythia 8.2 --> 8.3 upgrade, will have to follow in a future PR, as it's not completely ready yet.)

anderkve and others added 30 commits November 29, 2021 13:47
…ullLikes_merge. Fixed merge conflicts, deleted unused variables and made other small tweaks (variable names, etc.) for the ColliderBit interface to ATLAS full likelihoods. Added BibTex references for the ATLAS full likelihoods.
…l likelihoods). Currently only one file, for ATLAS_13TeV_1Lep2b_139invfb.

	new file:   ColliderBit/data/analyses_json_files/ATLAS_13TeV_1Lep2b_139invfb_bkgonly.json
	deleted:    Backends/examples/ATLAS_FullLikes/1.0/Analyses/ATLAS_13TeV_1Lep2b_139invfb/BkgOnly.json
	modified:   ColliderBit/include/gambit/ColliderBit/ColliderBit_LEP_rollcall.hpp
…functinos

	modified:   ColliderBit/src/ColliderBit_LEP.cpp
	modified:   ColliderBit/src/ColliderBit_LEP.cpp
…ng it from Backend/examples to Backends/installed. Changed configs/backend_locations.yaml.default accordingly.

	modified:   cmake/backends.cmake
	modified:   config/backend_locations.yaml.default
…new member function "combine_SR_MC_signal" to be used when the MC signals from different OpenMP threads are combined. (Updates the MC stat uncertainty accordingly.)

	modified:   ColliderBit/include/gambit/ColliderBit/ColliderBit_types.hpp
	modified:   ColliderBit/include/gambit/ColliderBit/analyses/AnalysisData.hpp
	new file:   ColliderBit/include/gambit/ColliderBit/analyses/SignalRegionData.hpp
	modified:   ColliderBit/src/analyses/Analysis.cpp
…'m documenting them for the appendix may as well copy and paste the descriptions here too
….load_functions less vulnarable to differences in the amount of whitespace.

	modified:   Backends/scripts/BOSS/boss.py
	modified:   Backends/scripts/BOSS/modules/utils.py
@anderkve
Copy link
Collaborator Author

anderkve commented Mar 9, 2023

Has anyone else seen this on their linux machines? If not, there might be some issue with my python yoda module, and I can try to sort this separately to this PR. Pretty much all my testing has been on the Mac, so I hadn't checked with the linux since before we fixed the many rivet problems.

I don't think I've ever seen this. I'll run another test of ColliderBit_CMSSM.yaml this afternoon.

@ChrisJChang, I did a fresh rebuild on my Ubuntu machine now, and I don't see this problem. ColliderBit_CMSSM.yaml seems to be running fine.

@ChrisJChang
Copy link
Collaborator

I figured out the problem. For some reason I had tried to pip install yoda at some point early on, and there is a python yoda package that it was trying to use instead of the one from contrib. This conflicted and caused the error.

Now I can confirm that everything seems to work for me on both my machines and I am happy for this to be merged. :)

@anderkve
Copy link
Collaborator Author

Thanks @ChrisJChang!

The CI jobs are currently failing when building some standalone, but I'll take care of this now. Once we know that the CI jobs complete, I think this is good to go.

@anderkve
Copy link
Collaborator Author

anderkve commented Mar 13, 2023

The CI jobs are currently failing when building some standalone, but I'll take care of this now. Once we know that the CI jobs complete, I think this is good to go.

Turns out we have had an issue where a standalone would fail to build if one of the required backends are ditched. If the backend is simply not built, that's OK and will just give a runtime error. But if it's ditched, e.g. due to incompatible compiler versions, the standalone fails to compile.

Maybe something to look into later, but for now I've just extended the add_standalone cmake function such that a standalone target is excluded if one of its required backends are ditched: f554cd1

@ChrisJChang
Copy link
Collaborator

I just ran with ColliderBit ditched to test something else and realised that a small change was needed for the Rivet_3_1_5.cpp file to move an include header outside of the ifndef hepmc/yoda block. Otherwise I don't think these exclude_hepmc/yoda variables were being recognised and the build would fail if you ditched ColliderBit.

I pushed this change. Let me know if this was wrong.

@tegonzalo
Copy link
Collaborator

Good catch @ChrisJChang

The CI tests finished successfully last night with my latest changes, so I do expect they will also finish in a bit now after Chris' last push. In the meantime I will try again all the yaml files just to be safe, and if nothing else breaks we can finally merge

@tegonzalo
Copy link
Collaborator

@ChrisJChang before I merge, I noticed that in the repo there are two simplified model yaml files, one for the scalar and fermion models and one for vector one, could you combine them into one?

@tegonzalo
Copy link
Collaborator

Nevermind, it was easy to combine them, so i did it myself. I'll then go ahead and merge this to master and prepare the release. @ahye @ChrisJChang shall I keep the ColliderBit_development branch alive, or is it ok if I delete it after the merge?

@ahye
Copy link
Member

ahye commented Mar 15, 2023

Nevermind, it was easy to combine them, so i did it myself. I'll then go ahead and merge this to master and prepare the release. @ahye @ChrisJChang shall I keep the ColliderBit_development branch alive, or is it ok if I delete it after the merge?

OK for me.

@anderkve
Copy link
Collaborator Author

@ahye @ChrisJChang shall I keep the ColliderBit_development branch alive, or is it ok if I delete it after the merge?

OK for me.

+1

@tegonzalo
Copy link
Collaborator

Ok, I've now managed to test, fix and clean almost all yaml files. The only one I cannot test is the PrecisionBit_MSSM20.yaml file, since it requires FeynHiggs and it doesn't work for gcc>10. So I've left it as it is. Hopefully we can test it once we have the new FH version backended. This is now finally finished, so I'll merge and release

@tegonzalo tegonzalo merged commit 48321ab into master Mar 15, 2023
@tegonzalo tegonzalo deleted the ColliderBit_development branch March 15, 2023 14:44
@anderkve
Copy link
Collaborator Author

Thanks @tegonzalo!

@agbuckley
Copy link
Collaborator

Incredible :) Thanks @tegonzalo and everyone

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nuke-all deletes everything from ColliderBit/data folder