Tool to gauge impact of individual parameters on process yields #268
+35
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a new function
RateEvolution
to the CombineHarvester. The function loops through the parameters in a given RooFitResults object and sets the respective parameter in the workspace to the post-fit value while leaving the other parameters at the pre-fit values. For each parameter, the yield of the processes is evaluated and stored in a map of the formatwhere
parname
is the name of the parameter andprocess_yield
is the yield of all processes in the harvester instance. The PR also adds the bindings for the python interface, where the map is accessible as a python dictionary.This information can be used to gauge the impact of individual parameters on process yields. An example code snippet would be
where
This functionality helped to further analyze and understand the statistical model in the HIG-19-011 and might also be interesting for other analyses.
process_list
is the list of processes that are considered. The resulting nested dictionary can be used to create e.g. a 2D Histogram of the yield changes for the processes that are introduced by a given parameter, see this example: