This PR contains two things:
- It makes combine v9.1.0 the default version as it is the recommended version since recently.
- Certain flags added to the workspace creation for performance reasons are optional now. More details below.
Details on performance flags
CreateWorkspace is running with 5 flags that increase the performance of limit and likelihood computations:
--use-histsum, and --no-wrappers`.
- There are two things that make the limits fast:
--use-histsum --no-wrappers. Each of them accounts for about 50% of the performance boost.
- There is no issue with
--optimize-simpdf-constraints cmswhatsoever, so it should be always safe to use that one.
--no-wrappersalways have to be used together. When used alone, each of them leads to failures (either already in text2workspace.py or Segfaults in combine).
--X-optimizeMHDependency fixedonly works when both
--no-wrappersare enabled, but it doesn't increase the performance on top of these two any further.
--X-pack-asympowsworks when used alone, but not when
--optimize-simpdf-constraints cmsis enabled, unless
But most importantly: when
--use-histsum --no-wrappersis set, the result of FitDiagnostics is unusable as it's missing all per-channel info and postfit histograms are collapsed to single bins.
- We can safely add
--optimize-simpdf-constraints cms. It makes things faster and doesn't break anything.
- Per default, none any of the other flags should be enabled as users will run into issues with FitDiagnostics, which they will most likely always need.
- However, there is an
--optimize-limitsflag in CreateWorkspace now that adds the additional four flags.
- In the combination, we can always set this flag to True by default. This can also be done conveniently with an env variable DHI_WORKSPACE_OPTIMIZE_LIMITS=1 so that nothing changes for the workflows there.
- One should just keep in mind that FitDiagnostics won't work and in case it's needed, one needs to have a second set of workspaces created with