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

Add global flag to set NLL evaluation backend #1018

Merged
merged 1 commit into from
Nov 18, 2024

Conversation

guitargeek
Copy link
Contributor

  * In case the value is `"combine"`, it will use combines caching NLL
    classes

  * In any other case, it will RooFits default `createNLL()`, setting
    the RooFit::EvalBackend to the value on the global flag.
    See: https://root.cern.ch/doc/master/classRooAbsPdf.html#a24b1afec4fd149e08967eac4285800de
@guitargeek
Copy link
Contributor Author

Example:

# To use the evaluation backends of RooFit
ROOT.gInterpreter.Declare("#include <HiggsAnalysis/CombinedLimit/interface/Combine.h>")

# Do any of:
ROOT.Combine.nllBackend_ = "combine" # the combine caching NLL
ROOT.Combine.nllBackend_ = "cpu" # the default in RooFit
ROOT.Combine.nllBackend_ = "legacy" # the old backend of RooFit, very slow
ROOT.Combine.nllBackend_ = "codegen" # do the code generation to get analytic gradients

@anigamova anigamova merged commit 7ed438e into cms-analysis:main Nov 18, 2024
8 checks passed
@guitargeek guitargeek deleted the evalbackend branch November 18, 2024 15:22
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

Successfully merging this pull request may close these issues.

2 participants