83  x(
"x",
"Dependent or convolution variable",this,_x),
 
   84  _basisCode(0), _basis(0),
 
   98  _basisCode(other._basisCode), _basis(0),
 
  153    coutE(InputArguments) << 
"RooResolutionModel::convolution(" << 
GetName() << 
"," << 
this 
  154           << 
") convolution parameter of basis function and PDF don't match" << endl
 
  155           << 
"basis->findServer(0) = " << inBasis->
findServer(0) << endl
 
  156           << 
"x.absArg()           = " << 
x.
absArg() << endl ;
 
  161    coutE(InputArguments) << 
"RooResolutionModel::convolution(" << 
GetName() << 
"," << 
this 
  162           << 
") basis function '" << inBasis->
GetTitle() << 
"' is not supported." << endl ;
 
  167  newName.
Append(
"_conv_") ;
 
  176  newTitle.
Append(
" convoluted with basis function ") ;
 
  335    os << 
indent << 
"--- RooResolutionModel ---" << endl;
 
  336    os << 
indent << 
"basis function = " ;
 
  340      os << 
"<none>" << endl ;
 
static void indent(ostringstream &buf, int indent_level)
 
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
 
void removeServer(RooAbsArg &server, bool force=false)
Unregister another RooAbsArg as a server to us, ie, declare that we no longer depend on its value and...
 
static bool _verboseDirty
cache of the list of proxies. Avoids type casting.
 
bool redirectServers(const RooAbsCollection &newServerList, bool mustReplaceAll=false, bool nameChange=false, bool isRecursionStep=false)
Replace all direct servers of this object with the new servers in newServerList.
 
void clearValueDirty() const
 
const RefCountList_t & servers() const
List of all servers of this object.
 
void addServer(RooAbsArg &server, bool valueProp=true, bool shapeProp=false, std::size_t refCount=1)
Register another RooAbsArg as a server to us, ie, declare that we depend on it.
 
bool isValueDirty() const
 
TObject * Clone(const char *newname=nullptr) const override
Make a clone of an object using the Streamer facility.
 
void clearShapeDirty() const
 
void leafNodeServerList(RooAbsCollection *list, const RooAbsArg *arg=nullptr, bool recurseNonDerived=false) const
Fill supplied list with all leaf nodes of the arg tree, starting with ourself as top node.
 
RooAbsArg * findServer(const char *name) const
Return server of this with name name. Returns nullptr if not found.
 
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.
 
RooAbsArg * find(const char *name) const
Find object with given name in list.
 
virtual bool syncNormalization(const RooArgSet *dset, bool adjustProxies=true) const
Verify that the normalization integral cached with this PDF is valid for given set of normalization o...
 
double getValV(const RooArgSet *set=nullptr) const override
Return current value, normalized by integrating over the observables in nset.
 
void printMultiline(std::ostream &os, Int_t contents, bool verbose=false, TString indent="") const override
Print multi line detailed information of this RooAbsPdf.
 
bool redirectServersHook(const RooAbsCollection &newServerList, bool mustReplaceAll, bool nameChange, bool isRecursiveStep) override
The cache manager.
 
static Int_t _verboseEval
 
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
 
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
 
double _value
Cache for current value of object.
 
virtual double evaluate() const =0
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
 
RooAbsArg * absArg() const
Return pointer to contained argument.
 
RooArgSet is a container object that can hold multiple RooAbsArg objects.
 
virtual void printStream(std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
Print description of object on ostream, printing contents set by contents integer,...
 
RooRealVar represents a variable that can be changed from the outside.
 
RooResolutionModel is the base class for PDFs that represent a resolution model that can be convolute...
 
~RooResolutionModel() override
Destructor.
 
TObject * clone(const char *newname) const override=0
 
double getValV(const RooArgSet *nset=nullptr) const override
Modified version of RooAbsPdf::getValF().
 
virtual void changeBasis(RooFormulaVar *basis)
Change the basis function we convolute with.
 
virtual Int_t basisCode(const char *name) const =0
 
virtual RooResolutionModel * convolution(RooFormulaVar *basis, RooAbsArg *owner) const
Instantiate a clone of this resolution model representing a convolution with given basis function.
 
double getNorm(const RooArgSet *nset=nullptr) const override
Return the integral of this PDF over all elements of 'nset'.
 
static RooFormulaVar * identity()
Return identity formula pointer.
 
bool redirectServersHook(const RooAbsCollection &newServerList, bool mustReplaceAll, bool nameChange, bool isRecursive) override
Forward redirectServers call to our basis function, which is not connected to either resolution model...
 
const RooRealVar & basisConvVar() const
Return the convolution variable of the selection basis function.
 
bool _ownBasis
Flag indicating ownership of _basis.
 
virtual void normLeafServerList(RooArgSet &list) const
Floating point error checking and tracing for given float value.
 
void printMultiline(std::ostream &os, Int_t content, bool verbose=false, TString indent="") const override
Print info about this object to the specified stream.
 
Int_t _basisCode
Identifier code for selected basis function.
 
RooFormulaVar * _basis
Basis function convolved with this resolution model.
 
const RooFormulaVar & basis() const
 
RooTemplateProxy< RooAbsRealLValue > x
Dependent/convolution variable.
 
Container_t::const_iterator begin() const
Iterator over contained objects.
 
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
 
const char * GetName() const override
Returns name of object.
 
const char * GetTitle() const override
Returns title of object.
 
virtual const char * ClassName() const
Returns name of class to which the object belongs.
 
const char * Data() const
 
TString & Append(const char *cs)