69 const RooArgSet& _normSet,
const char* isetRangeName,
const char* normRangeName,
Bool_t doFactorize) :
73 _compSetN(
"compSetN",
"Set of integral components owned by numerator",this,
kFALSE),
74 _compSetD(
"compSetD",
"Set of integral components owned by denominator",this,
kFALSE),
85 RooAbsReal* numerator =
makeIntegral(
"numerator",_prodSet,_intSet,*_compSetOwnedN,isetRangeName,doFactorize) ;
113 _compSetN(
"compSetN",
"Set of integral components owned by numerator",this),
114 _compSetD(
"compSetD",
"Set of integral components owned by denominator",this),
115 _intList(
"intList",
"List of integrals",this)
191 }
else if (count==1) {
192 anaIntSet.
add(*arg) ;
199 numIntSet.
add(intSet) ;
203 if (doFactorize && pdf->
dependsOn(anaIntSet)) {
215 numIntSet.
remove(anaSet) ;
234 prodName =
Form(
"%s_%s_Range[%s]",
GetName(),name,isetRangeName) ;
virtual const char * GetName() const
Returns name of object.
TIterator * createIterator(Bool_t dir=kIterForward) const
virtual Bool_t add(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling add() for each element in the source coll...
Bool_t dependsOn(const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=0, Bool_t valueOnly=kFALSE) const
Test whether we depend on (ie, are served by) any object in the specified collection.
Double_t getVal(const RooArgSet *set=0) const
virtual void operModeHook()
Intercept cache mode operation changes and propagate them to the components.
Iterator abstract base class.
virtual ~RooGenProdProj()
Destructor.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Reimplementation of standard RooArgList::add()
RooAbsReal * createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Create an object that represents the integral of the function over one or more observables listed in ...
RooAbsCollection * snapshot(Bool_t deepCopy=kTRUE) const
Take a snap shot of current collection contents: An owning collection is returned containing clones o...
RooExpensiveObjectCache & expensiveObjectCache() const
RooAbsArg * at(Int_t idx) const
RooAbsArg * first() const
virtual Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &analVars, const RooArgSet *normSet, const char *rangeName=0) const
Variant of getAnalyticalIntegral that is also passed the normalization set that should be applied to ...
RooGenProdProj()
Default constructor.
char * Form(const char *fmt,...)
RooArgSet * _compSetOwnedN
virtual Bool_t addOwned(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling addOwned() for each element in the source...
TIterator * serverIterator() const
RooProduct a RooAbsReal implementation that represent the product of a given set of other RooAbsReal ...
virtual void setExpensiveObjectCache(RooExpensiveObjectCache &cache)
RooArgSet * _compSetOwnedD
RooAbsArg * find(const char *name) const
Find object with given name in list.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooGenProdProj is an auxiliary class for RooProdPdf that calculates a general normalized projection o...
virtual Bool_t remove(const RooAbsArg &var, Bool_t silent=kFALSE, Bool_t matchByNameOnly=kFALSE)
Remove the specified argument from our list.
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
RooAbsReal * makeIntegral(const char *name, const RooArgSet &compSet, const RooArgSet &intSet, RooArgSet &saveSet, const char *isetRangeName, Bool_t doFactorize)
Utility function to create integral over observables intSet in range isetRangeName over product of p...
virtual TObject * Next()=0
Double_t evaluate() const
Calculate and return value of normalization projection.
void setOperMode(OperMode mode, Bool_t recurseADirty=kTRUE)
Change cache operation mode to given mode.
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
void removeServer(RooAbsArg &server, Bool_t force=kFALSE)
Unregister another RooAbsArg as a server to us, ie, declare that we no longer depend on its value and...
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Overloaded RooArgSet::add() method inserts 'var' into set and registers 'var' as server to owner with...