Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooFit::Detail::CompileContext Class Reference

Definition at line 29 of file NormalizationHelpers.h.

Public Member Functions

 CompileContext (RooArgSet const &topLevelNormSet)
 
 ~CompileContext ()
 
bool binnedLikelihoodMode () const
 
bool binWidthFuncFlag () const
 
template<class T >
T * compile (T &arg, RooAbsArg &owner, RooArgSet const &normSet)
 
void compileServer (RooAbsArg &server, RooAbsArg &arg, RooArgSet const &normSet)
 
void compileServers (RooAbsArg &arg, RooArgSet const &normSet)
 
bool likelihoodMode () const
 
RooArgSet mapToCompiled (RooArgSet const &args) const
 Return a copy of args where each element is replaced by its compiled counterpart in this context, if there is one.
 
void markAsCompiled (RooAbsArg &arg) const
 
void markSubtreeAsCompiled (RooAbsArg &arg) const
 Mark arg and every branch node reachable through its server tree as already compiled.
 
void setBinnedLikelihoodMode (bool flag)
 
void setBinWidthFuncFlag (bool flag)
 
void setLikelihoodMode (bool flag)
 

Private Member Functions

void add (RooAbsArg &arg)
 
RooAbsArg * compileImpl (RooAbsArg &arg, RooAbsArg &owner, RooArgSet const &normSet)
 
RooAbsArg * find (RooAbsArg &arg) const
 
bool isMarkedAsCompiled (RooAbsArg const &arg) const
 

Private Attributes

bool _binnedLikelihoodMode = false
 
bool _binWidthFuncFlag = false
 
std::unordered_map< TNamed const *, RooAbsArg * > _clonedArgsSet
 
bool _likelihoodMode = false
 
std::unordered_map< RooAbsArg *, RooAbsArg * > _replacements
 
RooArgSet const & _topLevelNormSet
 

#include <RooFit/Detail/NormalizationHelpers.h>

Constructor & Destructor Documentation

◆ CompileContext()

RooFit::Detail::CompileContext::CompileContext ( RooArgSet const & topLevelNormSet)

Definition at line 21 of file NormalizationHelpers.cxx.

◆ ~CompileContext()

RooFit::Detail::CompileContext::~CompileContext ( )

Definition at line 23 of file NormalizationHelpers.cxx.

Member Function Documentation

◆ add()

void RooFit::Detail::CompileContext::add ( RooAbsArg & arg)
private

Definition at line 25 of file NormalizationHelpers.cxx.

◆ binnedLikelihoodMode()

bool RooFit::Detail::CompileContext::binnedLikelihoodMode ( ) const
inline

Definition at line 53 of file NormalizationHelpers.h.

◆ binWidthFuncFlag()

bool RooFit::Detail::CompileContext::binWidthFuncFlag ( ) const
inline

Definition at line 55 of file NormalizationHelpers.h.

◆ compile()

template<class T >
T * RooFit::Detail::CompileContext::compile ( T & arg,
RooAbsArg & owner,
RooArgSet const & normSet )
inline

Definition at line 36 of file NormalizationHelpers.h.

◆ compileImpl()

RooAbsArg * RooFit::Detail::CompileContext::compileImpl ( RooAbsArg & arg,
RooAbsArg & owner,
RooArgSet const & normSet )
private

Definition at line 69 of file NormalizationHelpers.cxx.

◆ compileServer()

void RooFit::Detail::CompileContext::compileServer ( RooAbsArg & server,
RooAbsArg & arg,
RooArgSet const & normSet )

Definition at line 47 of file NormalizationHelpers.cxx.

◆ compileServers()

void RooFit::Detail::CompileContext::compileServers ( RooAbsArg & arg,
RooArgSet const & normSet )

Definition at line 39 of file NormalizationHelpers.cxx.

◆ find()

RooAbsArg * RooFit::Detail::CompileContext::find ( RooAbsArg & arg) const
private

Definition at line 30 of file NormalizationHelpers.cxx.

◆ isMarkedAsCompiled()

bool RooFit::Detail::CompileContext::isMarkedAsCompiled ( RooAbsArg const & arg) const
private

Definition at line 110 of file NormalizationHelpers.cxx.

◆ likelihoodMode()

bool RooFit::Detail::CompileContext::likelihoodMode ( ) const
inline

Definition at line 51 of file NormalizationHelpers.h.

◆ mapToCompiled()

RooArgSet RooFit::Detail::CompileContext::mapToCompiled ( RooArgSet const & args) const

Return a copy of args where each element is replaced by its compiled counterpart in this context, if there is one.

Compiled objects that need to remember a normalization set must store the compiled args: the original args are not part of the compiled computation graph, so they are not affected by later transformations of that graph (for example the renaming of the channel observables in RooSimultaneous::compileForNormSet()).

Definition at line 59 of file NormalizationHelpers.cxx.

◆ markAsCompiled()

void RooFit::Detail::CompileContext::markAsCompiled ( RooAbsArg & arg) const

Definition at line 90 of file NormalizationHelpers.cxx.

◆ markSubtreeAsCompiled()

void RooFit::Detail::CompileContext::markSubtreeAsCompiled ( RooAbsArg & arg) const

Mark arg and every branch node reachable through its server tree as already compiled.

Use this after assembling or cloning a sub-graph yourself inside compileForNormSet: it prevents a follow-up compileServers call from re-cloning any of those internal nodes, while still letting the recursive descent reach the genuine leaves (fundamental observables and parameters) at the bottom of the tree.

Definition at line 101 of file NormalizationHelpers.cxx.

◆ setBinnedLikelihoodMode()

void RooFit::Detail::CompileContext::setBinnedLikelihoodMode ( bool flag)
inline

Definition at line 52 of file NormalizationHelpers.h.

◆ setBinWidthFuncFlag()

void RooFit::Detail::CompileContext::setBinWidthFuncFlag ( bool flag)
inline

Definition at line 54 of file NormalizationHelpers.h.

◆ setLikelihoodMode()

void RooFit::Detail::CompileContext::setLikelihoodMode ( bool flag)
inline

Definition at line 50 of file NormalizationHelpers.h.

Member Data Documentation

◆ _binnedLikelihoodMode

bool RooFit::Detail::CompileContext::_binnedLikelihoodMode = false
private

Definition at line 68 of file NormalizationHelpers.h.

◆ _binWidthFuncFlag

bool RooFit::Detail::CompileContext::_binWidthFuncFlag = false
private

Definition at line 69 of file NormalizationHelpers.h.

◆ _clonedArgsSet

std::unordered_map<TNamed const *, RooAbsArg *> RooFit::Detail::CompileContext::_clonedArgsSet
private

Definition at line 64 of file NormalizationHelpers.h.

◆ _likelihoodMode

bool RooFit::Detail::CompileContext::_likelihoodMode = false
private

Definition at line 67 of file NormalizationHelpers.h.

◆ _replacements

std::unordered_map<RooAbsArg *, RooAbsArg *> RooFit::Detail::CompileContext::_replacements
private

Definition at line 65 of file NormalizationHelpers.h.

◆ _topLevelNormSet

RooArgSet const& RooFit::Detail::CompileContext::_topLevelNormSet
private

Definition at line 63 of file NormalizationHelpers.h.

Libraries for RooFit::Detail::CompileContext:

The documentation for this class was generated from the following files: