pyhf icon indicating copy to clipboard operation
pyhf copied to clipboard

Pruning bins per channel

Open alexander-held opened this issue 4 years ago • 2 comments

Description

It would be great to have a pruning utility to remove distinct bins, instead of just being able to remove full channels. Removing channels is generally useful for fit studies, removing distinct bins can be very useful for debugging weird issues (e.g. to spot problems in the input histogram creation).

Is your feature request related to a problem? Please describe.

When debugging workspaces, I frequently want to see the effect of removing distinct bins to see the effect on fits etc. Removing channels is already very helpful, but more control is useful.

Describe the solution you'd like

An additional pyhf prune option to remove bins, instead of just full channels.

Describe alternatives you've considered

Manual external implementation

Relevant Issues and Pull Requests

none

Additional context

none

alexander-held avatar Oct 23 '20 12:10 alexander-held

not directly related but related in spirit: #956

lukasheinrich avatar Oct 23 '20 13:10 lukasheinrich

Adding another use case: it is not uncommon to fit subsets of bins while analyses are still blinded. In some cases this can mean that not necessarily a full channel (like a signal region) is blinded, but only a subset of it (e.g. bins with S/B over some threshold or similar). I think that tooling, which would perform pruning based on some criteria (S/B, S/sqrt(B), etc.), should probably be external to pyhf. An API that drops bins from the model provided by pyhf would be convenient for that though.

alexander-held avatar Jan 05 '24 09:01 alexander-held