Refactoring
-
Review changes -
-
Download -
Patches
-
Plain diff
(PR details and descriptions below)
Summary of changes that affect the usage
Software updates
- Combine has been updated to v9.0.0 with CMSSW 11.3.4. It is recommended to update all software by using
DHI_REINSTALL_SOFTWARE=1 source setup.sh <setup_name>
once.
Plot style updates
- The
--paper
and--summary
task parameters are removed. Instead, one can add--style paper
,--style summary
, or even--style paper,summary
(comma-separated). It would be best if the default style is preserved and specific custom styles should depend on the value(s) of the passed style flags. See e.g. plots.exclusion.plot_exclusion_and_bestfit_2d for an example. - In case people / groups want to use their own plot function, this is possible now by adding a
--plot-function
parameter. This function will be called with the exact same arguments. - To tweak plots outside of task structures, there is the option
--save-plot-data
now whichs saves all arguments which would be passed to plot functions in a pkl file. This file can be loaded to obtain the arguments which can be passed to the plot function.
Datacard manipulation scripts
- All scripts have a default value for the
--directory
setting now, meaning that when omitted, datacards are not updated in place by mistake. If in-place updates are required, one should explicitely pass--directory none
or--directory ''
(empty string).
Code-style & testing
- Each commit triggers a CI job that checks the code style according to a rather loose flake8 style (see the .flake8 file in the project directory). Before pushing, developers should check the style of their changes with
./lint.sh
, or by directly configuring the IDE to show linting issues while developing. See pipelines for more info. - There is a test pipeline now that can trigger every single inference task based on example datacards. For that, go to "CI/CD > Pipelines" and click on "Run Pipeline". Each test job stores pdf and png versions of the output plots and ensures that they are accessible for one month. Example.
Changes due to law updates
- Job submission should run way faster now since the number of files that are sent with the jobs are drastically reduced.
- The
--start-branch A
and--end-branch B
parameters no longer exist. Instead, use--branches A:B
which leads to identical outputs.
PR details
This PR is meant to refactor the current state of the project.
This is currently still in a draft stage and should only be merged after the items below were resolved and discussed.
Items under "Refactoring" as well as "Critical fixes" should be solved in the context of this PR, whereas those under "Fixes" and "Improvements" are meant for documentation purposes and could be carried over to separate PRs. Unchecked items marked with
Currently open PRs should be able to be merged right after this one.
Refactoring:
-
Streamline setup routine -
Cleanup models -
Cleanup base tasks -
Cleanup actual tasks and plot methods in tandem -
Snapshots -
Likelihoods -
Significances -
Limits -
Benchmark limits -
Exclusion -
GOF -
Pulls & impacts -
Postfit -
Test tasks -
Study tasks -
Other EFT things
-
-
Cleanup hooks -
Cleanup scripts -
Cleanup documentation
Critical fixes:
-
Update to latest recommended combine version -
Use CMSSW-based combine installation -
Failing setup under python 2 -
CLs grid scan method for limit extraction (#20 (closed), #21 (closed)) -
Axis ordering in 2D c2 scans (#18 (closed)) -
Fix plot library dependencies (#22 (closed)) -
Add updated example cards and fix tests (!70 (closed)) -
Add a default directory to all datacard manipulation scripts -
Adapt documentation to changes
Smaller fixes:
-
Fix param label position in study.Enhancement plots -
2D nll scan, start at Combine POI or at custom point for recompute best fitOpened #28 to follow up. -
Repeat best fit if on one axis there is no error in 2D fitOpened #27 to follow up.
Improvements:
-
Adjust submission to use only cmssw-based combine -
Update underlying law version -
Add mechanism for dumping plot data -
Implement plot data dumping in all plot tasks -
Add mechanism for switching plot functions -
Add documentation focussing on developing aspectsOpened #26 to follow up. -
Full update to python 3 (actual issue for #22 (closed))Opened #25 (closed) to follow up. -
Enforce coding rules and tests in CI/CD (test based on dhi/tasks/test.py
) -
Add back previous plot styles using new --style
feature.
Fixes #18 (closed), #20 (closed), #21 (closed), #22 (closed), #23 (closed). Closes !68 (closed), !70 (closed).
Merge request reports
- version 749d8b6e5c
- version 73d800b3dc
- version 7200352233
- version 7109122461
- version 700cf0a35e
- version 69eff67a38
- version 68c80685de
- version 67efdce293
- version 6628dcf564
- version 657afd8707
- version 640e38f38c
- version 63dcbf0ef2
- version 6258b8e91f
- version 613a3676ef
- version 60f2871178
- version 59ed744b06
- version 58e94c0f04
- version 57c9bcc096
- version 56866093b1
- version 55e49a4e2b
- version 541e36764b
- version 53306940a3
- version 528e31ad58
- version 51d9904b15
- version 50e3a48e63
- version 495922c14a
- version 48778fcac1
- version 474bcc167c
- version 465a701ad3
- version 45354dd2c4
- version 44ecc2a307
- version 43c0a27af6
- version 4230404de8
- version 414a157f23
- version 40cca417ce
- version 39c9dc6466
- version 38b56abe81
- version 37be72b5bc
- version 3671b77d7d
- version 351d15f198
- version 345729b870
- version 3398c380ab
- version 324a5f1c9d
- version 31df7fed3a
- version 30f518e588
- version 29b8169d5b
- version 2804bc7078
- version 27d667bc0d
- version 2648b279ad
- version 25c505f55e
- version 246c3f10a0
- version 2362903c7d
- version 22ce1bf2ce
- version 212217e4a9
- version 202ae1a8b5
- version 19db15cf1f
- version 1893216f74
- version 179068ce93
- version 16dffb87c4
- version 15e78eede8
- version 148d17b0bf
- version 1346c55c25
- version 129126b81a
- version 11b7e3ff39
- version 10548381ad
- version 93677487f
- version 8aaf8b4e4
- version 798394678
- version 626d40cca
- version 54d03729b
- version 459d53d95
- version 39e3d4cf5
- version 21e3dcb2c
- version 11bd05e38
- master (base)
- latest version3a676ed992 commits,
- version 749d8b6e5c91 commits,
- version 73d800b3dc90 commits,
- version 720035223389 commits,
- version 710912246188 commits,
- version 700cf0a35e87 commits,
- version 69eff67a3886 commits,
- version 68c80685de85 commits,
- version 67efdce29383 commits,
- version 6628dcf56482 commits,
- version 657afd870781 commits,
- version 640e38f38c80 commits,
- version 63dcbf0ef279 commits,
- version 6258b8e91f78 commits,
- version 613a3676ef77 commits,
- version 60f287117876 commits,
- version 59ed744b0675 commits,
- version 58e94c0f0474 commits,
- version 57c9bcc09673 commits,
- version 56866093b172 commits,
- version 55e49a4e2b71 commits,
- version 541e36764b70 commits,
- version 53306940a369 commits,
- version 528e31ad5868 commits,
- version 51d9904b1567 commits,
- version 50e3a48e6366 commits,
- version 495922c14a65 commits,
- version 48778fcac164 commits,
- version 474bcc167c63 commits,
- version 465a701ad362 commits,
- version 45354dd2c461 commits,
- version 44ecc2a30760 commits,
- version 43c0a27af659 commits,
- version 4230404de858 commits,
- version 414a157f2357 commits,
- version 40cca417ce56 commits,
- version 39c9dc646655 commits,
- version 38b56abe8154 commits,
- version 37be72b5bc53 commits,
- version 3671b77d7d52 commits,
- version 351d15f19851 commits,
- version 345729b87050 commits,
- version 3398c380ab49 commits,
- version 324a5f1c9d48 commits,
- version 31df7fed3a47 commits,
- version 30f518e58846 commits,
- version 29b8169d5b45 commits,
- version 2804bc707844 commits,
- version 27d667bc0d43 commits,
- version 2648b279ad42 commits,
- version 25c505f55e41 commits,
- version 246c3f10a037 commits,
- version 2362903c7d36 commits,
- version 22ce1bf2ce35 commits,
- version 212217e4a934 commits,
- version 202ae1a8b533 commits,
- version 19db15cf1f32 commits,
- version 1893216f7431 commits,
- version 179068ce9330 commits,
- version 16dffb87c428 commits,
- version 15e78eede826 commits,
- version 148d17b0bf25 commits,
- version 1346c55c2524 commits,
- version 129126b81a23 commits,
- version 11b7e3ff3921 commits,
- version 10548381ad20 commits,
- version 93677487f19 commits,
- version 8aaf8b4e415 commits,
- version 79839467814 commits,
- version 626d40cca12 commits,
- version 54d03729b10 commits,
- version 459d53d959 commits,
- version 39e3d4cf57 commits,
- version 21e3dcb2c3 commits,
- version 11bd05e382 commits,
- Side-by-side
- Inline
Some changes are not shown
For a faster browsing experience, some files are collapsed by default.