Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need to "mask" channels which go outside of some validity range in a combination #13

Closed
ajgilbert opened this issue Dec 13, 2015 · 1 comment
Assignees

Comments

@ajgilbert
Copy link
Collaborator

Possible way to do it without modifying combine:

  • After producing the workspace identify the RooAddPdf for the channel that needs to be masked
  • Get a list of its dependent variables
  • Replace each variable with a function that evaluates to zero outside the valid range and the original parameter value inside it
  • Finally can rebuild the full RooSimultaneous replacing the pdfs that were modified

Now when we go outside the range the channel NLL no longer changes as a function of the parameters, just leaves a constant term which shouldn't affect the minimisation at all.

@ajgilbert ajgilbert self-assigned this Dec 13, 2015
@ajgilbert
Copy link
Collaborator Author

After some discussion we decided that this wasn't such a great way to go, and instead it will be better, and simpler, to do the masking at the CachingSimNLL level.

A first attempt at this is here: cms-analysis/HiggsAnalysis-CombinedLimit#294

We introduce a RooAbsReal per category, named like mask_CHANNEL that tells the NLL to skip evaluating that category when mask_CHANNEL != 0. By default these are just RooRealVars, created in the new PhysicsModel method getChannelMask(bin), but in our combination physics models we can override this to write formulae that do the masking. Eventually we could also mix and match with masking expressions in the datacards themselves, a bit like how rateParam formulae can be specified, but would need some more work.

mverzett pushed a commit to mverzett/CombineHarvester that referenced this issue Nov 27, 2017
danielwinterbottom added a commit to danielwinterbottom/CombineHarvester that referenced this issue Aug 12, 2020
Implementation Merijn for decomposing uncertainties
acarvalh pushed a commit to acarvalh/CombineHarvester that referenced this issue Feb 1, 2021
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

No branches or pull requests

1 participant