library: libRooFit #include "RooNumConvolution.h" |
RooNumConvolution
class description - header file - source file - inheritance tree (.pdf)
protected:
RooAbsReal& cloneModel() const
RooAbsReal& clonePdf() const
RooRealVar& cloneVar() const
void initialize() const
virtual void printCompactTreeHook(ostream& os, const char* indent = "")
virtual Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive)
public:
RooNumConvolution(const char* name, const char* title, RooRealVar& convVar, RooAbsReal& pdf, RooAbsReal& resmodel, const RooNumConvolution* proto = 0)
RooNumConvolution(const RooNumConvolution& other, const char* name = "0")
virtual ~RooNumConvolution()
static TClass* Class()
void clearConvolutionWindow()
virtual TObject* clone(const char* newname) const
RooNumIntConfig& convIntConfig()
const RooNumIntConfig& convIntConfig() const
virtual Double_t evaluate() const
virtual TClass* IsA() const
RooAbsReal& model() const
RooAbsReal& pdf() const
const TH2* profileData() const
void setCallProfiling(Bool_t flag, Int_t nbinX = 40, Int_t nbinCall = 40, Int_t nCallHigh = 1000)
void setCallWarning(Int_t threshold = 2000)
void setConvolutionWindow(RooAbsReal& centerParam, RooAbsReal& widthParam, Double_t widthScaleFactor = 1)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
RooRealVar& var() const
protected:
Bool_t _init
RooNumIntConfig _convIntConfig Configuration of numeric convolution integral ;
RooConvIntegrandBinding* _integrand ! Binding of Convolution Integrand function
RooAbsIntegrator* _integrator ! Numeric integrator of convolution integrand
RooRealProxy _origVar Original convolution variable
RooRealProxy _origPdf Original input PDF
RooRealProxy _origModel Original resolution model
RooArgSet _ownedClonedPdfSet Owning set of cloned PDF components
RooArgSet _ownedClonedModelSet Owning set of cloned model components
RooAbsReal* _cloneVar Pointer to cloned convolution variable
RooAbsReal* _clonePdf Pointer to cloned PDF
RooAbsReal* _cloneModel Pointer to cloned model
Bool_t _useWindow Switch to activate window convolution
Double_t _windowScale Scale factor for window parameter
RooListProxy _windowParam Holder for optional convolution integration window scaling parameter
Int_t _verboseThresh Call count threshold for verbose printing
Bool_t _doProf Switch to activate profiling option
TH2* _callHist ! Histogram recording number of calls per convolution integral calculation
void initialize()
Initialization function -- create clone of convVar (x') and deep-copy clones of pdf and
model that are connected to x' rather than x (convVar)
void clearConvolutionWindow()
Removes previously defined convolution window, reverting to convolution from -inf to +inf
void setConvolutionWindow(RooAbsReal& centerParam, RooAbsReal& widthParam, Double_t widthScaleFactor)
Restrict convolution integral to finite range [ x - C - S*W, x - C + S*W ]
where x is current value of convolution variablem, C = centerParam, W=widthParam and S = widthScaleFactor
Inputs centerParam and withParam can be function expressions (RooAbsReal, RooFormulaVar) etc.
void setCallWarning(Int_t threshold)
Activate warning messages if number of function calls needed for evaluation of convolution integral
exceeds given threshold
void setCallProfiling(Bool_t flag, Int_t nbinX, Int_t nbinCall, Int_t nCallHigh)
Activate call profile if flag is set to true. A 2-D histogram is kept that stores the required number
of function calls versus the value of x, the convolution variable
All clones of RooNumConvolution objects will keep logging to the histogram of the original class
so that performance of temporary object clones, such as used in e.g. fitting, plotting and generating
are all logged in a single place.
Function caller should take ownership of profiling histogram as it is not deleted at the RooNumConvolution dtor
Calling this function with flag set to false will deactivate call profiling and delete the profiling histogram
Last update: Tue Jul 11 11:46:02 2006
Copyright (c) 2000-2005, Regents of the University of California *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.