114 _origVar(
"origVar",
"Original Convolution variable",this,convVar),
115 _origPdf(
"origPdf",
"Original Input PDF",this,inPdf),
116 _origModel(
"origModel",
"Original Resolution model",this,resmodel),
117 _ownedClonedPdfSet(
"ownedClonePdfSet"),
118 _ownedClonedModelSet(
"ownedCloneModelSet"),
124 _windowParam(
"windowParam",
"Convolution window parameter",this,
kFALSE),
125 _verboseThresh(2000),
135 if (
proto->_useWindow) {
149 _convIntConfig(other._convIntConfig),
152 _origVar(
"origVar",this,other._origVar),
153 _origPdf(
"origPdf",this,other._origPdf),
154 _origModel(
"origModel",this,other._origModel),
155 _ownedClonedPdfSet(
"ownedClonePdfSet"),
156 _ownedClonedModelSet(
"ownedCloneModelSet"),
160 _useWindow(other._useWindow),
161 _windowScale(other._windowScale),
162 _windowParam(
"windowParam",this,other._windowParam),
163 _verboseThresh(other._verboseThresh),
164 _doProf(other._doProf),
165 _callHist(other._callHist)
309 coutE(
InputArguments) <<
"RooNumConvolution::setCallWarning(" <<
GetName() <<
") ERROR: threshold must be positive, value unchanged" << endl ;
336 nbinCall,0,nCallHigh) ;
356 os <<
indent <<
"RooNumConvolution begin cache" << endl ;
364 os <<
indent <<
"RooNumConvolution end cache" << endl ;
static void indent(ostringstream &buf, int indent_level)
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
void printCompactTree(const char *indent="", const char *fileName=0, const char *namePat=0, RooAbsArg *client=0)
Print tree structure of expression tree on stdout, or to file if filename is specified.
void SetName(const char *name) override
Set the name of the TNamed.
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.
virtual void removeAll()
Remove all arguments from our set, deleting them if we own them.
void resetNumCall() const
Reset function call counter.
Int_t numCall() const
Return number of function calls since last reset.
virtual Double_t integral(const Double_t *yvec=0)=0
virtual Bool_t setUseIntegrandLimits(Bool_t flag)
Interface function that allows to defer limit definition to integrand definition.
virtual Bool_t setLimits(Double_t *, Double_t *)
const RooArgSet * nset() const
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Double_t getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
RooAbsArg * at(Int_t idx) const
Return object at given index, or nullptr if index is out of range.
Bool_t setLabel(const char *label, bool printError=true) override
Set value by specifying the name of the desired state.
void removeAll() override
Remove all argument inset using remove(const RooAbsArg&).
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...
Implementation of RooAbsFunc that represent the the integrand of a generic (numeric) convolution A (x...
void setNormalizationSet(const RooArgSet *nset)
RooCustomizer is a factory class to produce clones of a prototype composite PDF object with the same ...
void setCloneBranchSet(RooArgSet &cloneBranchSet)
Releases ownership of list of cloned branch nodes.
void replaceArg(const RooAbsArg &orig, const RooAbsArg &subst)
Replace any occurence of arg 'orig' with arg 'subst'.
RooAbsArg * build(const char *masterCatState, Bool_t verbose=kFALSE)
Build a clone of the prototype executing all registered 'replace' rules and 'split' rules for the mas...
Numeric 1-dimensional convolution operator PDF.
void clearConvolutionWindow()
Removes previously defined convolution window, reverting to convolution from -inf to +inf.
RooArgSet _ownedClonedModelSet
Owning set of cloned model components.
RooAbsReal * _cloneModel
Pointer to cloned model.
~RooNumConvolution() override
Destructor.
void setConvolutionWindow(RooAbsReal ¢erParam, RooAbsReal &widthParam, Double_t widthScaleFactor=1)
Restrict convolution integral to finite range [ x - C - S*W, x - C + S*W ] where x is current value o...
void initialize() const
One-time initialization of object.
Double_t _windowScale
Scale factor for window parameter.
RooRealProxy _origVar
Original convolution variable.
Int_t _verboseThresh
Call count threshold for verbose printing.
RooConvIntegrandBinding * _integrand
! Binding of Convolution Integrand function
RooAbsIntegrator * _integrator
! Numeric integrator of convolution integrand
void printCompactTreeHook(std::ostream &os, const char *indent="") override
Hook function to intercept printCompactTree() calls so that it can print out the content of its priva...
void setCallProfiling(Bool_t flag, Int_t nbinX=40, Int_t nbinCall=40, Int_t nCallHigh=1000)
Activate call profile if flag is set to true.
RooListProxy _windowParam
Holder for optional convolution integration window scaling parameter.
RooArgSet _ownedClonedPdfSet
Owning set of cloned PDF components.
Bool_t redirectServersHook(const RooAbsCollection &newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive) override
Intercept server redirects. Throw away cache, as figuring out redirections on the cache is an unsolva...
RooAbsReal * _cloneVar
Pointer to cloned convolution variable.
Bool_t _useWindow
Switch to activate window convolution.
Bool_t _doProf
Switch to activate profiling option.
RooAbsReal * _clonePdf
Pointer to cloned PDF.
RooNumIntConfig & convIntConfig()
void setCallWarning(Int_t threshold=2000)
Activate warning messages if number of function calls needed for evaluation of convolution integral e...
RooNumIntConfig _convIntConfig
Configuration of numeric convolution integral ;.
RooAbsReal & model() const
TH2 * _callHist
! Histogram recording number of calls per convolution integral calculation
Double_t evaluate() const override
Calculate convolution integral.
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
RooCategory & method1DOpen()
RooAbsIntegrator * createIntegrator(RooAbsFunc &func, const RooNumIntConfig &config, Int_t ndim=0, Bool_t isBinned=kFALSE) const
Construct a numeric integrator instance that operates on function 'func' and is configured with 'conf...
static RooNumIntFactory & instance()
Static method returning reference to singleton instance of factory.
static Double_t infinity()
Return internal infinity representation.
RooRealVar represents a variable that can be changed from the outside.
double min(const char *rname=0) const
Query lower limit of range. This requires the payload to be RooAbsRealLValue or derived.
double max(const char *rname=0) const
Query upper limit of range. This requires the payload to be RooAbsRealLValue or derived.
const T & arg() const
Return reference to object held in proxy.
2-D histogram with a float per channel (see TH1 documentation)}
Int_t Fill(Double_t) override
Invalid Fill method.
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.