81   intpdf(
"!IntegratedPdf",
this,
other.intpdf),
 
   82   intobs(
"!IntegrationObservables",
this,
other.intobs),
 
 
 
  115    return static_cast<const RooAbsReal*
>(cache->_projection.get());
 
  130  coutI(Integration) << 
"RooProjectedPdf::getProjection(" << 
GetName() << 
") creating new projection " 
  131                     << cache->_projection->GetName() << 
" with code " << code << std::endl;
 
  133  return cache->_projection.get();
 
 
  187    return cache->_projection->getVal() ;
 
 
  267    os << 
indent << 
"RooProjectedPdf begin projection cache" << std::endl ;
 
  273  _projection->printCompactTree(os,
indent2) ;
 
  276    os << 
indent << 
"RooProjectedPdf end projection cache" << std::endl ;
 
 
  281std::unique_ptr<RooAbsArg>
 
 
 
static void indent(ostringstream &buf, int indent_level)
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
 
Common abstract base class for objects that represent a value and a "shape" in RooFit.
 
RooFit::OwningPtr< RooArgSet > getParameters(const RooAbsData *data, bool stripDisconnected=true) const
Create a list of leaf nodes in the arg tree starting with ourself as top node that don't match any of...
 
RooFit::OwningPtr< RooArgSet > getObservables(const RooArgSet &set, bool valueOnly=true) const
Given a set of possible observables, return the observables that this PDF depends on.
 
Abstract container object that can hold multiple RooAbsArg objects.
 
virtual bool add(const RooAbsArg &var, bool silent=false)
Add the specified argument to list.
 
Abstract interface for all probability density functions.
 
RooArgSet const  * _normSet
Normalization integral (owned by _normMgr)
 
const char * normRange() const
 
bool redirectServersHook(const RooAbsCollection &newServerList, bool mustReplaceAll, bool nameChange, bool isRecursiveStep) override
The cache manager.
 
virtual RooAbsPdf * createProjection(const RooArgSet &iset)
Return a p.d.f that represent a projection of this p.d.f integrated over given observables.
 
Abstract base class for objects that represent a real value and implements functionality common to al...
 
RooFit::OwningPtr< RooAbsReal > createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) const
Create an object that represents the integral of the function over one or more observables listed in ...
 
RooArgList is a container object that can hold multiple RooAbsArg objects.
 
RooArgSet is a container object that can hold multiple RooAbsArg objects.
 
Int_t setObj(const RooArgSet *nset, T *obj, const TNamed *isetRangeName=nullptr)
Setter function without integration set.
 
RooArgSet selectFromSet1(RooArgSet const &argSet, int index) const
Create RooArgSet containing the objects that are both in the cached set 1 with a given index and an i...
 
T * getObjByIndex(Int_t index) const
Retrieve payload object by slot index.
 
RooArgSet selectFromSet2(RooArgSet const &argSet, int index) const
Create RooArgSet containing the objects that are both in the cached set 2 with a given index and an i...
 
Int_t lastIndex() const
Return index of slot used in last get or set operation.
 
T * getObj(const RooArgSet *nset, Int_t *sterileIndex=nullptr, const TNamed *isetRangeName=nullptr)
Getter function without integration set.
 
bool add(const RooAbsArg &var, bool valueServer, bool shapeServer, bool silent)
Overloaded RooCollection_t::add() method insert object into set and registers object as server to own...
 
bool remove(const RooAbsArg &var, bool silent=false, bool matchByNameOnly=false) override
Remove object 'var' from set and deregister 'var' as server to owner.
 
void markAsCompiled(RooAbsArg &arg) const
 
static const TNamed * ptr(const char *stringPtr)
Return a unique TNamed pointer for given C++ string.
 
RooArgList containedArgs(Action) override
Return RooAbsArg elements contained in projection cache element.
 
void printCompactTreeHook(std::ostream &, const char *, Int_t, Int_t) override
Print contents of cache when printing self as part of object tree.
 
std::unique_ptr< RooAbsReal > _projection
 
A RooAbsPdf implementation that represent a projection of a given input p.d.f and the object returned...
 
RooRealProxy intpdf
p.d.f that is integrated
 
RooObjCacheManager _cacheMgr
! The cache manager
 
double evaluate() const override
Evaluate projected p.d.f.
 
double analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName=nullptr) const override
Return analytical integral represent by appropriate element of projection cache.
 
bool forceAnalyticalInt(const RooAbsArg &dep) const override
Force RooRealIntegral to relegate integration of all observables to internal logic.
 
bool redirectServersHook(const RooAbsCollection &newServerList, bool, bool, bool) override
Intercept a server redirection all and update list of dependents if necessary Specifically update the...
 
RooAbsPdf * createProjection(const RooArgSet &iset) override
Special version of RooAbsReal::createProjection that deals with projections of projections.
 
void printMetaArgs(std::ostream &os) const override
Customized printing of arguments of a RooRealIntegral to more intuitively reflect the contents of the...
 
std::unique_ptr< RooAbsArg > compileForNormSet(RooArgSet const &normSet, RooFit::Detail::CompileContext &ctx) const override
 
RooProjectedPdf()
Default constructor.
 
const RooAbsReal * getProjection(const RooArgSet *iset, const RooArgSet *nset, const char *rangeName, int &code) const
Retrieve object representing projection integral of input p.d.f over observables iset,...
 
RooSetProxy intobs
observables that p.d.f is integrated over
 
RooSetProxy deps
dependents of this p.d.f
 
Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &analVars, const RooArgSet *normSet, const char *rangeName=nullptr) const override
Mark all requested variables as internally integrated.
 
const T & arg() const
Return reference to object held in proxy.
 
const char * GetName() const override
Returns name of object.