Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooAbsReal Class Referenceabstract

RooAbsReal is the common abstract base class for objects that represent a real value and implements functionality common to all real-valued objects such as the ability to plot them, to construct integrals of them, the ability to advertise (partial) analytical integrals etc.

Implementation of RooAbsReal may be derived, thus no interface is provided to modify the contents.

PyROOT

Some member functions of RooAbsReal that take a RooCmdArg as argument also support keyword arguments. So far, this applies to RooAbsReal::plotOn, RooAbsReal::createHistogram, RooAbsReal::chi2FitTo, RooAbsReal::createChi2, RooAbsReal::createRunningIntegral and RooAbsReal::createIntegral For example, the following code is equivalent in PyROOT:

# Directly passing a RooCmdArg:
var.plotOn(frame, ROOT.RooFit.Components("background"))
# With keyword arguments:
var.plotOn(frame, Components="background")

Definition at line 62 of file RooAbsReal.h.

Classes

class  EvalError
 
class  EvalErrorContext
 Context to temporarily change the error logging mode as long as the context is alive. More...
 
struct  GlobalSelectComponentRAII
 
struct  PlotOpt
 

Public Types

enum  ErrorLoggingMode { PrintErrors , CollectErrors , CountErrors , Ignore }
 
typedef std::map< constRooAbsArg *, std::pair< std::string, std::list< EvalError > > >::const_iterator EvalErrorIter
 
enum  ScaleType { Raw , Relative , NumEvent , RelativeExpected }
 
using value_type = double
 
- Public Types inherited from RooAbsArg
enum  CacheMode { Always =0 , NotAdvised =1 , Never =2 }
 
enum  ConstOpCode { Activate =0 , DeActivate =1 , ConfigChange =2 , ValueChange =3 }
 
enum  OperMode { Auto =0 , AClean =1 , ADirty =2 }
 
using RefCountList_t = RooSTLRefCountList< RooAbsArg >
 
using RefCountListLegacyIterator_t = TIteratorToSTLInterface< RefCountList_t::Container_t >
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Public Types inherited from RooPrintable
enum  ContentsOption {
  kName =1 , kClassName =2 , kValue =4 , kArgs =8 ,
  kExtras =16 , kAddress =32 , kTitle =64 , kCollectionHeader =128
}
 
enum  StyleOption {
  kInline =1 , kSingleLine =2 , kStandard =3 , kVerbose =4 ,
  kTreeStructure =5
}
 

Public Member Functions

 RooAbsReal ()
 coverity[UNINIT_CTOR] Default constructor
 
 RooAbsReal (const char *name, const char *title, const char *unit="")
 Constructor with unit label.
 
 RooAbsReal (const char *name, const char *title, double minVal, double maxVal, const char *unit="")
 Constructor with plot range and unit label.
 
 RooAbsReal (const RooAbsReal &other, const char *name=nullptr)
 Copy constructor.
 
 ~RooAbsReal () override
 Destructor.
 
virtual double analyticalIntegral (Int_t code, const char *rangeName=nullptr) const
 Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
 
virtual double analyticalIntegralWN (Int_t code, const RooArgSet *normSet, const char *rangeName=nullptr) const
 Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
 
TF1asTF (const RooArgList &obs, const RooArgList &pars=RooArgList(), const RooArgSet &nset=RooArgSet()) const
 Return a ROOT TF1,2,3 object bound to this RooAbsReal with given definition of observables and parameters.
 
virtual std::list< double > * binBoundaries (RooAbsRealLValue &obs, double xlo, double xhi) const
 Retrieve bin boundaries if this distribution is binned in obs.
 
RooAbsFuncbindVars (const RooArgSet &vars, const RooArgSet *nset=nullptr, bool clipInvalid=false) const
 Create an interface adaptor f(vars) that binds us to the specified variables (in arbitrary order).
 
virtual RooFit::OwningPtr< RooFitResultchi2FitTo (RooDataHist &data, const RooCmdArg &arg1=RooCmdArg::none(), 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())
 Perform a \( \chi^2 \) fit to given histogram.
 
virtual RooFit::OwningPtr< RooFitResultchi2FitTo (RooDataHist &data, const RooLinkedList &cmdList)
 Perform a \( \chi^2 \) fit to given histogram.
 
virtual RooFit::OwningPtr< RooFitResultchi2FitTo (RooDataSet &xydata, const RooCmdArg &arg1=RooCmdArg::none(), 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())
 Perform a 2-D \( \chi^2 \) fit using a series of x and y values stored in the dataset xydata.
 
virtual RooFit::OwningPtr< RooFitResultchi2FitTo (RooDataSet &xydata, const RooLinkedList &cmdList)
 Perform a 2-D \( \chi^2 \) fit using a series of x and y values stored in the dataset xydata.
 
virtual void computeBatch (cudaStream_t *, double *output, size_t size, RooFit::Detail::DataMap const &) const
 Base function for computing multiple values of a RooAbsReal.
 
virtual RooAbsRealcreateChi2 (RooDataHist &data, const RooCmdArg &arg1=RooCmdArg::none(), 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())
 Create a \( \chi^2 \) variable from a histogram and this function.
 
virtual RooAbsRealcreateChi2 (RooDataHist &data, const RooLinkedList &cmdList)
 
virtual RooAbsRealcreateChi2 (RooDataSet &data, const RooCmdArg &arg1=RooCmdArg::none(), 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())
 Create a \( \chi^2 \) from a series of x and y values stored in a dataset.
 
virtual RooAbsRealcreateChi2 (RooDataSet &data, const RooLinkedList &cmdList)
 See RooAbsReal::createChi2(RooDataSet&,const RooCmdArg&,const RooCmdArg&,const RooCmdArg&,const RooCmdArg&,const RooCmdArg&,const RooCmdArg&,const RooCmdArg&,const RooCmdArg&)
 
RooAbsArgcreateFundamental (const char *newname=nullptr) const override
 Create a RooRealVar fundamental object with our properties.
 
TH1createHistogram (const char *name, const RooAbsRealLValue &xvar, const RooCmdArg &arg1=RooCmdArg::none(), 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 and fill a ROOT histogram TH1, TH2 or TH3 with the values of this function.
 
TH1createHistogram (const char *name, const RooAbsRealLValue &xvar, RooLinkedList &argList) const
 Internal method implementing createHistogram.
 
TH1createHistogram (RooStringView varNameList, Int_t xbins=0, Int_t ybins=0, Int_t zbins=0) const
 Create and fill a ROOT histogram TH1, TH2 or TH3 with the values of this function for the variables with given names.
 
RooFit::OwningPtr< RooAbsRealcreateIntegral (const RooArgSet &iset, const char *rangeName) const
 Create integral over observables in iset in range named rangeName.
 
RooFit::OwningPtr< RooAbsRealcreateIntegral (const RooArgSet &iset, const RooArgSet &nset, const char *rangeName=nullptr) const
 Create integral over observables in iset in range named rangeName with integrand normalized over observables in nset.
 
RooFit::OwningPtr< RooAbsRealcreateIntegral (const RooArgSet &iset, const RooArgSet &nset, const RooNumIntConfig &cfg, const char *rangeName=nullptr) const
 Create integral over observables in iset in range named rangeName with integrand normalized over observables in nset while using specified configuration for any numeric integration.
 
virtual RooFit::OwningPtr< RooAbsRealcreateIntegral (const RooArgSet &iset, const RooArgSet *nset=nullptr, const RooNumIntConfig *cfg=nullptr, const char *rangeName=nullptr) const
 Create an object that represents the integral of the function over one or more observables std::listed in iset.
 
RooFit::OwningPtr< RooAbsRealcreateIntegral (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 std::listed in iset.
 
RooFit::OwningPtr< RooAbsRealcreateIntegral (const RooArgSet &iset, const RooNumIntConfig &cfg, const char *rangeName=nullptr) const
 Create integral over observables in iset in range named rangeName using specified configuration for any numeric integration.
 
RooFit::OwningPtr< RooAbsRealcreateIntRI (const RooArgSet &iset, const RooArgSet &nset={})
 Utility function for createRunningIntegral.
 
const RooAbsRealcreatePlotProjection (const RooArgSet &dependentVars, const RooArgSet *projectedVars, RooArgSet *&cloneSet, const char *rangeName=nullptr, const RooArgSet *condObs=nullptr) const
 Utility function for plotOn() that creates a projection of a function or p.d.f to be plotted on a RooPlot.
 
const RooAbsRealcreatePlotProjection (const RooArgSet &depVars, const RooArgSet &projVars, RooArgSet *&cloneSet) const
 Utility function for plotOn() that creates a projection of a function or p.d.f to be plotted on a RooPlot.
 
virtual RooAbsRealcreateProfile (const RooArgSet &paramsOfInterest)
 Create a RooProfileLL object that eliminates all nuisance parameters in the present function.
 
RooFit::OwningPtr< RooAbsRealcreateRunningIntegral (const RooArgSet &iset, const RooArgSet &nset={})
 Calls createRunningIntegral(const RooArgSet&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&)
 
RooFit::OwningPtr< RooAbsRealcreateRunningIntegral (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())
 Create an object that represents the running integral of the function over one or more observables std::listed in iset, i.e.
 
RooFit::OwningPtr< RooAbsRealcreateScanRI (const RooArgSet &iset, const RooArgSet &nset, Int_t numScanBins, Int_t intOrder)
 Utility function for createRunningIntegral that construct an object implementing the numeric scanning technique for calculating the running integral.
 
virtual double defaultErrorLevel () const
 
RooDerivativederivative (RooRealVar &obs, const RooArgSet &normSet, Int_t order, double eps=0.001)
 Return function representing first, second or third order derivative of this function.
 
RooDerivativederivative (RooRealVar &obs, Int_t order=1, double eps=0.001)
 Return function representing first, second or third order derivative of this function.
 
virtual void enableOffsetting (bool)
 
RooDataHistfillDataHist (RooDataHist *hist, const RooArgSet *nset, double scaleFactor, bool correctForBinVolume=false, bool showProgress=false) const
 Fill a RooDataHist with values sampled from this function at the bin centers.
 
TH1fillHistogram (TH1 *hist, const RooArgList &plotVars, double scaleFactor=1, const RooArgSet *projectedVars=nullptr, bool scaling=true, const RooArgSet *condObs=nullptr, bool setError=true) const
 Fill the ROOT histogram 'hist' with values sampled from this function at the bin centers.
 
double findRoot (RooRealVar &x, double xmin, double xmax, double yval)
 Return value of x (in range xmin,xmax) at which function equals yval.
 
virtual void fixAddCoefNormalization (const RooArgSet &addNormSet=RooArgSet(), bool force=true)
 Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by this object to the given set of observables.
 
virtual void fixAddCoefRange (const char *rangeName=nullptr, bool force=true)
 Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by this object to the given set of observables.
 
virtual bool forceAnalyticalInt (const RooAbsArg &) const
 
virtual void forceNumInt (bool flag=true)
 
RooFunctorfunctor (const RooArgList &obs, const RooArgList &pars=RooArgList(), const RooArgSet &nset=RooArgSet()) const
 Return a RooFunctor object bound to this RooAbsReal with given definition of observables and parameters.
 
virtual Int_t getAnalyticalIntegral (RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=nullptr) const
 Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
 
virtual Int_t getAnalyticalIntegralWN (RooArgSet &allVars, RooArgSet &analVars, const RooArgSet *normSet, const char *rangeName=nullptr) const
 Variant of getAnalyticalIntegral that is also passed the normalization set that should be applied to the integrand of which the integral is requested.
 
bool getForceNumInt () const
 
RooNumIntConfiggetIntegratorConfig ()
 Return the numeric integration configuration used for this object.
 
const RooNumIntConfiggetIntegratorConfig () const
 Return the numeric integration configuration used for this object.
 
virtual Int_t getMaxVal (const RooArgSet &vars) const
 Advertise capability to determine maximum value of function for given set of observables.
 
const char * getPlotLabel () const
 Get the label associated with the variable.
 
double getPropagatedError (const RooFitResult &fr, const RooArgSet &nset=RooArgSet()) const
 Calculate error on self by linearly propagating errors on parameters using the covariance matrix from a fit result.
 
TString getTitle (bool appendUnit=false) const
 Return this variable's title std::string.
 
const Text_tgetUnit () const
 
double getVal (const RooArgSet &normalisationSet) const
 Like getVal(const RooArgSet*), but always requires an argument for normalisation.
 
double getVal (const RooArgSet *normalisationSet=nullptr) const
 Evaluate object.
 
virtual RooSpan< const doublegetValBatch (std::size_t, std::size_t, const RooArgSet *=nullptr)=delete
 
std::vector< doublegetValues (RooAbsData const &data) const
 
virtual RooSpan< const doublegetValues (RooBatchCompute::RunContext &evalData, const RooArgSet *normSet=nullptr) const
 
virtual double getValV (const RooArgSet *normalisationSet=nullptr) const
 Return value of object.
 
RooMultiGenFunctioniGenFunction (const RooArgSet &observables, const RooArgSet &nset=RooArgSet())
 
RooGenFunctioniGenFunction (RooRealVar &x, const RooArgSet &nset=RooArgSet())
 
TClassIsA () const override
 
virtual bool isBinnedDistribution (const RooArgSet &) const
 Tests if the distribution is binned. Unless overridden by derived classes, this always returns false.
 
bool isIdentical (const RooAbsArg &other, bool assumeSameType=false) const override
 
virtual bool isOffsetting () const
 
bool isSelectedComp () const
 If true, the current pdf is a selected component (for use in plotting)
 
void logEvalError (const char *message, const char *serverValueString=nullptr) const
 Log evaluation error message.
 
virtual double maxVal (Int_t code) const
 Return maximum value for set of observables identified by code assigned in getMaxVal.
 
RooAbsMomentmean (RooRealVar &obs)
 
RooAbsMomentmean (RooRealVar &obs, const RooArgSet &nset)
 
virtual Int_t minTrialSamples (const RooArgSet &) const
 
RooAbsMomentmoment (RooRealVar &obs, const RooArgSet &normObs, Int_t order, bool central, bool takeRoot, bool intNormObs)
 Return function representing moment of p.d.f (normalized w.r.t given observables) of given order.
 
RooAbsMomentmoment (RooRealVar &obs, Int_t order, bool central, bool takeRoot)
 Return function representing moment of function of given order.
 
virtual double offset () const
 
bool operator== (const RooAbsArg &other) const override
 Equality operator when comparing to another RooAbsArg.
 
bool operator== (double value) const
 Equality operator comparing to a double.
 
virtual RooPlotplotOn (RooPlot *frame, const RooCmdArg &arg1=RooCmdArg(), const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg(), const RooCmdArg &arg9=RooCmdArg(), const RooCmdArg &arg10=RooCmdArg()) const
 Plot (project) PDF on specified frame.
 
virtual RooPlotplotOn (RooPlot *frame, RooLinkedList &cmdList) const
 Internal back-end function of plotOn() with named arguments.
 
virtual std::list< double > * plotSamplingHint (RooAbsRealLValue &obs, double xlo, double xhi) const
 Interface for returning an optional hint for initial sampling points when constructing a curve projected on observable obs.
 
virtual RooPlotplotSliceOn (RooPlot *frame, const RooArgSet &sliceSet, Option_t *drawOptions="L", double scaleFactor=1.0, ScaleType stype=Relative, const RooAbsData *projData=nullptr) const
 
virtual void preferredObservableScanOrder (const RooArgSet &obs, RooArgSet &orderedObs) const
 Interface method for function objects to indicate their preferred order of observables for scanning their values into a (multi-dimensional) histogram or RooDataSet.
 
void printMultiline (std::ostream &os, Int_t contents, bool verbose=false, TString indent="") const override
 Structure printing.
 
void printValue (std::ostream &os) const override
 Print object value.
 
bool readFromStream (std::istream &is, bool compact, bool verbose=false) override
 Read object contents from stream (dummy for now)
 
void selectComp (bool flag)
 
void setCachedValue (double value, bool notifyClients=true) final
 Overwrite the value stored in this object's cache.
 
virtual bool setData (RooAbsData &, bool=true)
 
void setIntegratorConfig ()
 Remove the specialized numeric integration configuration associated with this object.
 
void setIntegratorConfig (const RooNumIntConfig &config)
 Set the given integrator configuration as default numeric integration configuration for this object.
 
void setParameterizeIntegral (const RooArgSet &paramVars)
 
void setPlotLabel (const char *label)
 Set the label associated with this variable.
 
void setUnit (const char *unit)
 
RooAbsMomentsigma (RooRealVar &obs)
 
RooAbsMomentsigma (RooRealVar &obs, const RooArgSet &nset)
 
RooNumIntConfigspecialIntegratorConfig () const
 Returns the specialized integrator configuration for this RooAbsReal.
 
RooNumIntConfigspecialIntegratorConfig (bool createOnTheFly)
 Returns the specialized integrator configuration for this RooAbsReal.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
void writeToStream (std::ostream &os, bool compact) const override
 Write object contents to stream (dummy for now)
 
- Public Member Functions inherited from RooAbsArg
 RooAbsArg ()
 Default constructor.
 
 RooAbsArg (const char *name, const char *title)
 Create an object with the specified name and descriptive title.
 
 RooAbsArg (const RooAbsArg &other, const char *name=nullptr)
 Copy constructor transfers all boolean and string properties of the original object.
 
 ~RooAbsArg () override
 Destructor.
 
bool addOwnedComponents (const RooAbsCollection &comps)
 Take ownership of the contents of 'comps'.
 
bool addOwnedComponents (RooAbsCollection &&comps)
 Take ownership of the contents of 'comps'.
 
bool addOwnedComponents (RooArgList &&comps)
 Take ownership of the contents of 'comps'.
 
template<typename... Args_t>
bool addOwnedComponents (std::unique_ptr< Args_t >... comps)
 
virtual void applyWeightSquared (bool flag)
 Disables or enables the usage of squared weights.
 
void attachArgs (const RooAbsCollection &set)
 Bind this node to objects in set.
 
void attachDataSet (const RooAbsData &set)
 Replace server nodes with names matching the dataset variable names with those data set variables, making this PDF directly dependent on the dataset.
 
void attachDataStore (const RooAbsDataStore &set)
 Replace server nodes with names matching the dataset variable names with those data set variables, making this PDF directly dependent on the dataset.
 
const std::set< std::string > & attributes () const
 
virtual bool canComputeBatchWithCuda () const
 
virtual bool checkObservables (const RooArgSet *nset) const
 Overloadable function in which derived classes can implement consistency checks of the variables.
 
virtual TObjectclone (const char *newname=nullptr) const =0
 
TObjectClone (const char *newname=nullptr) const override
 Make a clone of an object using the Streamer facility.
 
virtual RooAbsArgcloneTree (const char *newname=nullptr) const
 Clone tree expression of objects.
 
Int_t Compare (const TObject *other) const override
 Utility function used by TCollection::Sort to compare contained TObjects We implement comparison by name, resulting in alphabetical sorting by object name.
 
virtual std::unique_ptr< RooAbsArgcompileForNormSet (RooArgSet const &normSet, RooFit::Detail::CompileContext &ctx) const
 
std::size_t dataToken () const
 Returns the token for retrieving results in the BatchMode. For internal use only.
 
Int_t defaultPrintContents (Option_t *opt) const override
 Define default contents to print.
 
bool dependsOn (const RooAbsArg &server, const RooAbsArg *ignoreArg=nullptr, bool valueOnly=false) const
 Test whether we depend on (ie, are served by) the specified object.
 
bool dependsOn (const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=nullptr, bool valueOnly=false) const
 Test whether we depend on (ie, are served by) any object in the specified collection.
 
bool dependsOn (TNamed const *namePtr, const RooAbsArg *ignoreArg=nullptr, bool valueOnly=false) const
 Test whether we depend on (ie, are served by) an object with a specific name.
 
bool dependsOnValue (const RooAbsArg &server, const RooAbsArg *ignoreArg=nullptr) const
 Check whether this object depends on values served from the object passed as server.
 
bool dependsOnValue (const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=nullptr) const
 Check whether this object depends on values from an element in the serverList.
 
bool getAttribute (const Text_t *name) const
 Check if a named attribute is set. By default, all attributes are unset.
 
RooLinkedList getCloningAncestors () const
 Return ancestors in cloning chain of this RooAbsArg.
 
RooFit::OwningPtr< RooArgSetgetComponents () const
 Create a RooArgSet with all components (branch nodes) of the expression tree headed by this object.
 
bool getObservables (const RooAbsCollection *depList, RooArgSet &outputSet, bool valueOnly=true) const
 Create a list of leaf nodes in the arg tree starting with ourself as top node that match any of the names the args in the supplied argset.
 
RooFit::OwningPtr< RooArgSetgetObservables (const RooAbsData &data) const
 Return the observables of this pdf given the observables defined by data.
 
RooFit::OwningPtr< RooArgSetgetObservables (const RooAbsData *data) const
 Create a list of leaf nodes in the arg tree starting with ourself as top node that match any of the names of the variable list of the supplied data set (the dependents).
 
RooFit::OwningPtr< RooArgSetgetObservables (const RooArgSet &set, bool valueOnly=true) const
 Given a set of possible observables, return the observables that this PDF depends on.
 
RooFit::OwningPtr< RooArgSetgetObservables (const RooArgSet *depList, bool valueOnly=true) const
 Create a list of leaf nodes in the arg tree starting with ourself as top node that match any of the names the args in the supplied argset.
 
RooFit::OwningPtr< RooArgSetgetParameters (const RooAbsData &data, bool stripDisconnected=true) const
 Return the parameters of this p.d.f when used in conjuction with dataset 'data'.
 
RooFit::OwningPtr< RooArgSetgetParameters (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 the names of the variable list of the supplied data set (the dependents).
 
RooFit::OwningPtr< RooArgSetgetParameters (const RooArgSet &observables, bool stripDisconnected=true) const
 Return the parameters of the p.d.f given the provided set of observables.
 
RooFit::OwningPtr< RooArgSetgetParameters (const RooArgSet *observables, 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 the names the args in the supplied argset.
 
virtual bool getParameters (const RooArgSet *observables, RooArgSet &outputSet, bool stripDisconnected=true) const
 Fills a list with leaf nodes in the arg tree starting with ourself as top node that don't match any of the names the args in the supplied argset.
 
RooAbsProxygetProxy (Int_t index) const
 Return the nth proxy from the proxy list.
 
const Text_tgetStringAttribute (const Text_t *key) const
 Get string attribute mapped under key 'key'.
 
bool getTransientAttribute (const Text_t *name) const
 Check if a named attribute is set.
 
RooFit::OwningPtr< RooArgSetgetVariables (bool stripDisconnected=true) const
 Return RooArgSet with all variables (tree leaf nodes of expresssion tree)
 
void graphVizTree (const char *fileName, const char *delimiter="\n", bool useTitle=false, bool useLatex=false)
 Create a GraphViz .dot file visualizing the expression tree headed by this RooAbsArg object.
 
void graphVizTree (std::ostream &os, const char *delimiter="\n", bool useTitle=false, bool useLatex=false)
 Write the GraphViz representation of the expression tree headed by this RooAbsArg object to the given ostream.
 
bool hasClients () const
 
bool hasDataToken () const
 
virtual bool hasRange (const char *) const
 
virtual bool importWorkspaceHook (RooWorkspace &ws)
 
virtual bool inRange (const char *) const
 
virtual bool isCategory () const
 
bool isCloneOf (const RooAbsArg &other) const
 Check if this object was created as a clone of 'other'.
 
bool isConstant () const
 Check if the "Constant" attribute is set.
 
virtual bool isDerived () const
 Does value or shape of this arg depend on any other arg?
 
virtual bool isReducerNode () const
 
bool IsSortable () const override
 
bool localNoDirtyInhibit () const
 
const TNamednamePtr () const
 De-duplicated pointer to this object's name.
 
Int_t numProxies () const
 Return the number of registered proxies.
 
bool observableOverlaps (const RooAbsData *dset, const RooAbsArg &testArg) const
 Test if any of the dependents of the arg tree (as determined by getObservables) overlaps with those of the testArg.
 
bool observableOverlaps (const RooArgSet *depList, const RooAbsArg &testArg) const
 Test if any of the dependents of the arg tree (as determined by getObservables) overlaps with those of the testArg.
 
RooAbsArgoperator= (const RooAbsArg &other)=delete
 
bool overlaps (const RooAbsArg &testArg, bool valueOnly=false) const
 Test if any of the nodes of tree are shared with that of the given tree.
 
const RooArgSetownedComponents () const
 
void Print (Option_t *options=nullptr) const override
 Print the object to the defaultPrintStream().
 
void printAddress (std::ostream &os) const override
 Print class name of object.
 
void printArgs (std::ostream &os) const override
 Print object arguments, ie its proxies.
 
void printClassName (std::ostream &os) const override
 Print object class name.
 
void printCompactTree (const char *indent="", const char *fileName=nullptr, const char *namePat=nullptr, RooAbsArg *client=nullptr)
 Print tree structure of expression tree on stdout, or to file if filename is specified.
 
void printCompactTree (std::ostream &os, const char *indent="", const char *namePat=nullptr, RooAbsArg *client=nullptr)
 Print tree structure of expression tree on given ostream.
 
virtual void printCompactTreeHook (std::ostream &os, const char *ind="")
 Hook function interface for object to insert additional information when printed in the context of a tree structure.
 
void printComponentTree (const char *indent="", const char *namePat=nullptr, Int_t nLevel=999)
 Print tree structure of expression tree on given ostream, only branch nodes are printed.
 
void printDirty (bool depth=true) const
 Print information about current value dirty state information.
 
virtual void printMetaArgs (std::ostream &) const
 
void printName (std::ostream &os) const override
 Print object name.
 
void printTitle (std::ostream &os) const override
 Print object title.
 
void printTree (std::ostream &os, TString indent="") const override
 Print object tree structure.
 
bool recursiveCheckObservables (const RooArgSet *nset) const
 Recursively call checkObservables on all nodes in the expression tree.
 
void removeStringAttribute (const Text_t *key)
 Delete a string attribute with a given key.
 
void resetDataToken ()
 
void setAttribute (const Text_t *name, bool value=true)
 Set (default) or clear a named boolean attribute of this object.
 
void setDataToken (std::size_t index)
 Sets the token for retrieving results in the BatchMode. For internal use only.
 
void setLocalNoDirtyInhibit (bool flag) const
 
void SetName (const char *name) override
 Set the name of the TNamed.
 
void SetNameTitle (const char *name, const char *title) override
 Set all the TNamed parameters (name and title).
 
void setProhibitServerRedirect (bool flag)
 
void setStringAttribute (const Text_t *key, const Text_t *value)
 Associate string 'value' to this object under key 'key'.
 
void setTransientAttribute (const Text_t *name, bool value=true)
 Set (default) or clear a named boolean attribute of this object.
 
void setWorkspace (RooWorkspace &ws)
 
const std::map< std::string, std::string > & stringAttributes () const
 
const std::set< std::string > & transientAttributes () const
 
RooWorkspaceworkspace () const
 
TIteratorclientIterator () const
 Retrieve a client iterator.
 
TIteratorvalueClientIterator () const
 
TIteratorshapeClientIterator () const
 
TIteratorserverIterator () const
 
RooFIter valueClientMIterator () const
 
RooFIter shapeClientMIterator () const
 
RooFIter serverMIterator () const
 
RooFit::OwningPtr< RooArgSetgetDependents (const RooArgSet &set) const
 
RooFit::OwningPtr< RooArgSetgetDependents (const RooAbsData *set) const
 
RooFit::OwningPtr< RooArgSetgetDependents (const RooArgSet *depList) const
 
bool dependentOverlaps (const RooAbsData *dset, const RooAbsArg &testArg) const
 
bool dependentOverlaps (const RooArgSet *depList, const RooAbsArg &testArg) const
 
bool checkDependents (const RooArgSet *nset) const
 
bool recursiveCheckDependents (const RooArgSet *nset) const
 
const RefCountList_tclients () const
 List of all clients of this object.
 
const RefCountList_tvalueClients () const
 List of all value clients of this object. Value clients receive value updates.
 
const RefCountList_tshapeClients () const
 List of all shape clients of this object.
 
const RefCountList_tservers () const
 List of all servers of this object.
 
RooAbsArgfindServer (const char *name) const
 Return server of this with name name. Returns nullptr if not found.
 
RooAbsArgfindServer (const RooAbsArg &arg) const
 Return server of this that has the same name as arg. Returns nullptr if not found.
 
RooAbsArgfindServer (Int_t index) const
 Return i-th server from server list.
 
bool isValueServer (const RooAbsArg &arg) const
 Check if this is serving values to arg.
 
bool isValueServer (const char *name) const
 Check if this is serving values to an object with name name.
 
bool isShapeServer (const RooAbsArg &arg) const
 Check if this is serving shape to arg.
 
bool isShapeServer (const char *name) const
 Check if this is serving shape to an object with name name.
 
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.
 
void branchNodeServerList (RooAbsCollection *list, const RooAbsArg *arg=nullptr, bool recurseNonDerived=false) const
 Fill supplied list with all branch nodes of the arg tree starting with ourself as top node.
 
void treeNodeServerList (RooAbsCollection *list, const RooAbsArg *arg=nullptr, bool doBranch=true, bool doLeaf=true, bool valueOnly=false, bool recurseNonDerived=false) const
 Fill supplied list with nodes of the arg tree, following all server links, starting with ourself as top node.
 
virtual bool isFundamental () const
 Is this object a fundamental type that can be added to a dataset? Fundamental-type subclasses override this method to return true.
 
virtual bool isLValue () const
 Is this argument an l-value, i.e., can it appear on the left-hand side of an assignment expression? LValues are also special since they can potentially be analytically integrated and generated.
 
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.
 
bool redirectServers (std::unordered_map< RooAbsArg *, RooAbsArg * > const &replacements)
 Replace some servers of this object.
 
bool recursiveRedirectServers (const RooAbsCollection &newServerList, bool mustReplaceAll=false, bool nameChange=false, bool recurseInNewSet=true)
 Recursively replace all servers with the new servers in newSet.
 
virtual void serverNameChangeHook (const RooAbsArg *, const RooAbsArg *)
 
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.
 
void addServerList (RooAbsCollection &serverList, bool valueProp=true, bool shapeProp=false)
 Register a list of RooAbsArg as servers to us by calling addServer() for each arg in the list.
 
void replaceServer (RooAbsArg &oldServer, RooAbsArg &newServer, bool valueProp, bool shapeProp)
 Replace 'oldServer' with 'newServer', specifying whether the new server has value or shape server properties.
 
void changeServer (RooAbsArg &server, bool valueProp, bool shapeProp)
 Change dirty flag propagation mask for specified server.
 
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 shape.
 
RooAbsArgfindNewServer (const RooAbsCollection &newSet, bool nameChange) const
 Find the new server in the specified set that matches the old server.
 
virtual void optimizeCacheMode (const RooArgSet &observables)
 Activate cache mode optimization with given definition of observables.
 
virtual void optimizeCacheMode (const RooArgSet &observables, RooArgSet &optNodes, RooLinkedList &processedNodes)
 Activate cache mode optimization with given definition of observables.
 
bool findConstantNodes (const RooArgSet &observables, RooArgSet &cacheList)
 Find branch nodes with all-constant parameters, and add them to the list of nodes that can be cached with a dataset in a test statistic calculation.
 
bool findConstantNodes (const RooArgSet &observables, RooArgSet &cacheList, RooLinkedList &processedNodes)
 Find branch nodes with all-constant parameters, and add them to the list of nodes that can be cached with a dataset in a test statistic calculation.
 
virtual void constOptimizeTestStatistic (ConstOpCode opcode, bool doAlsoTrackingOpt=true)
 Interface function signaling a request to perform constant term optimization.
 
virtual CacheMode canNodeBeCached () const
 
virtual void setCacheAndTrackHints (RooArgSet &)
 
bool isShapeDirty () const
 
bool isValueDirty () const
 
bool isValueDirtyAndClear () const
 
bool isValueOrShapeDirtyAndClear () const
 
void registerCache (RooAbsCache &cache)
 Register RooAbsCache with this object.
 
void unRegisterCache (RooAbsCache &cache)
 Unregister a RooAbsCache. Called from the RooAbsCache destructor.
 
Int_t numCaches () const
 Return number of registered caches.
 
RooAbsCachegetCache (Int_t index) const
 Return registered cache object by index.
 
OperMode operMode () const
 Query the operation mode of this node.
 
void setOperMode (OperMode mode, bool recurseADirty=true)
 Set the operation mode of this node.
 
void setValueDirty ()
 Mark the element dirty. This forces a re-evaluation when a value is requested.
 
void setShapeDirty ()
 Notify that a shape-like property (e.g. binning) has changed.
 
const char * aggregateCacheUniqueSuffix () const
 
virtual const char * cacheUniqueSuffix () const
 
void wireAllCaches ()
 
RooExpensiveObjectCacheexpensiveObjectCache () const
 
virtual void setExpensiveObjectCache (RooExpensiveObjectCache &cache)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
void Clear (Option_t *option="") override
 Set name and title to empty strings ("").
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
 
void Copy (TObject &named) const override
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
const char * GetName () const override
 Returns name of object.
 
const char * GetTitle () const override
 Returns title of object.
 
ULong_t Hash () const override
 Return hash value for this object.
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
void Print (Option_t *option="") const override
 Print TNamed name and title.
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification.
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 
- Public Member Functions inherited from RooPrintable
 RooPrintable ()
 
virtual ~RooPrintable ()
 
virtual StyleOption defaultPrintStyle (Option_t *opt) const
 
virtual void printExtras (std::ostream &os) const
 Interface to print extras of object.
 
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, which is interpreted as an OR of 'enum ContentsOptions' values and in the style given by 'enum StyleOption'.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static void clearEvalErrorLog ()
 Clear the stack of evaluation error messages.
 
static const char * DeclFileName ()
 
static RooNumIntConfigdefaultIntegratorConfig ()
 Returns the default numeric integration configuration for all RooAbsReals.
 
static EvalErrorIter evalErrorIter ()
 
static ErrorLoggingMode evalErrorLoggingMode ()
 Return current evaluation error logging mode.
 
static bool hideOffset ()
 
static void logEvalError (const RooAbsReal *originator, const char *origName, const char *message, const char *serverValueString=nullptr)
 Interface to insert remote error logging messages received by RooRealMPFE into current error loggin stream.
 
static Int_t numEvalErrorItems ()
 
static Int_t numEvalErrors ()
 Return the number of logged evaluation errors since the last clearing.
 
static void printEvalErrors (std::ostream &os=std::cout, Int_t maxPerNode=10000000)
 Print all outstanding logged evaluation error on the given ostream.
 
static void setEvalErrorLoggingMode (ErrorLoggingMode m)
 Set evaluation error logging mode.
 
static void setHideOffset (bool flag)
 
- Static Public Member Functions inherited from RooAbsArg
static void setDirtyInhibit (bool flag)
 Control global dirty inhibit mode.
 
static void verboseDirty (bool flag)
 Activate verbose messaging related to dirty flag propagation.
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 
- Static Public Member Functions inherited from RooPrintable
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static std::ostream & defaultPrintStream (std::ostream *os=nullptr)
 Return a reference to the current default stream to use in Print().
 
static void nameFieldLength (Int_t newLen)
 Set length of field reserved from printing name of RooAbsArgs in multi-line collection printing to given amount.
 

Protected Member Functions

void attachToTree (TTree &t, Int_t bufSize=32000) override
 Attach object to a branch of given TTree.
 
void attachToVStore (RooVectorDataStore &vstore) override
 
RooFit::OwningPtr< RooFitResultchi2FitDriver (RooAbsReal &fcn, RooLinkedList &cmdList)
 Internal driver function for chi2 fits.
 
void copyCache (const RooAbsArg *source, bool valueOnly=false, bool setValDirty=true) override
 Copy the cached value of another RooAbsArg to our cache.
 
RooFit::OwningPtr< RooAbsRealcreateIntObj (const RooArgSet &iset, const RooArgSet *nset, const RooNumIntConfig *cfg, const char *rangeName) const
 Internal utility function for createIntegral() that creates the actual integral object.
 
virtual double evaluate () const =0
 Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
 
virtual RooSpan< doubleevaluateBatch (std::size_t, std::size_t)=delete
 
virtual RooSpan< doubleevaluateSpan (RooBatchCompute::RunContext &evalData, const RooArgSet *normSet) const
 Evaluate this object for a batch/span of data points.
 
void fillTreeBranch (TTree &t) override
 Fill the tree branch that associated with this object with its current value.
 
void findInnerMostIntegration (const RooArgSet &allObs, RooArgSet &innerObs, const char *rangeName) const
 Utility function for createIntObj() that aids in the construct of recursive integrals over functions with multiple observables with parameterized ranges.
 
TString integralNameSuffix (const RooArgSet &iset, const RooArgSet *nset=nullptr, const char *rangeName=nullptr, bool omitEmpty=false) const
 Construct std::string with unique suffix name to give to integral object that encodes integrated observables, normalization observables and the integration range name.
 
bool isValid () const override
 Check if current value is valid.
 
virtual bool isValidReal (double, bool printError=false) const
 Interface function to check if given value is a valid value for this object. Returns true unless overridden.
 
void makeProjectionSet (const RooAbsArg *plotVar, const RooArgSet *allVars, RooArgSet &projectedVars, bool silent) const
 Utility function for plotOn() that constructs the set of observables to project when plotting ourselves as function of 'plotVar'.
 
bool matchArgs (const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
 Utility function for use in getAnalyticalIntegral().
 
bool matchArgs (const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a, const RooArgProxy &b) const
 Utility function for use in getAnalyticalIntegral().
 
bool matchArgs (const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a, const RooArgProxy &b, const RooArgProxy &c) const
 Utility function for use in getAnalyticalIntegral().
 
bool matchArgs (const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a, const RooArgProxy &b, const RooArgProxy &c, const RooArgProxy &d) const
 Utility function for use in getAnalyticalIntegral().
 
bool matchArgs (const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgSet &set) const
 Utility function for use in getAnalyticalIntegral().
 
virtual RooPlotplotAsymOn (RooPlot *frame, const RooAbsCategoryLValue &asymCat, PlotOpt o) const
 
virtual RooPlotplotOn (RooPlot *frame, PlotOpt o) const
 Plotting engine function for internal use.
 
void plotOnCompSelect (RooArgSet *selNodes) const
 Helper function for plotting of composite p.d.fs.
 
RooPlotplotOnWithErrorBand (RooPlot *frame, const RooFitResult &fr, double Z, const RooArgSet *params, const RooLinkedList &argList, bool method1) const
 Plot function or PDF on frame with support for visualization of the uncertainty encoded in the given fit result fr.
 
bool plotSanityChecks (RooPlot *frame) const
 Utility function for plotOn(), perform general sanity check on frame to ensure safe plotting operations.
 
bool redirectServersHook (const RooAbsCollection &newServerList, bool mustReplaceAll, bool nameChange, bool isRecursiveStep) override
 A buffer for reading values from trees.
 
virtual void selectNormalization (const RooArgSet *depSet=nullptr, bool force=false)
 Interface function to force use of a given set of observables to interpret function value.
 
virtual void selectNormalizationRange (const char *rangeName=nullptr, bool force=false)
 Interface function to force use of a given normalization range to interpret function value.
 
void setTreeBranchStatus (TTree &t, bool active) override
 (De)Activate associated tree branch
 
void syncCache (const RooArgSet *set=nullptr) override
 
double traceEval (const RooArgSet *set) const
 Calculate current value of object, with error tracing wrapper.
 
- Protected Member Functions inherited from RooAbsArg
void attachToStore (RooAbsDataStore &store)
 Attach this argument to the data store such that it reads data from there.
 
TString cleanBranchName () const
 Construct a mangled name from the actual name that is free of any math symbols that might be interpreted by TTree.
 
void clearShapeDirty () const
 
void clearValueAndShapeDirty () const
 
void clearValueDirty () const
 
virtual void getObservablesHook (const RooArgSet *, RooArgSet *) const
 
virtual void getParametersHook (const RooArgSet *, RooArgSet *, bool) const
 
void graphVizAddConnections (std::set< std::pair< RooAbsArg *, RooAbsArg * > > &)
 Utility function that inserts all point-to-point client-server connections between any two RooAbsArgs in the expression tree headed by this object in the linkSet argument.
 
bool inhibitDirty () const
 Delete watch flag.
 
virtual void ioStreamerPass2 ()
 Method called by workspace container to finalize schema evolution issues that cannot be handled in a single ioStreamer pass.
 
virtual void operModeHook ()
 
virtual void optimizeDirtyHook (const RooArgSet *)
 
void printAttribList (std::ostream &os) const
 Transient boolean attributes (not copied in ctor)
 
void registerProxy (RooArgProxy &proxy)
 Register an RooArgProxy in the proxy list.
 
void registerProxy (RooListProxy &proxy)
 Register an RooListProxy in the proxy list.
 
void registerProxy (RooSetProxy &proxy)
 Register an RooSetProxy in the proxy list.
 
void setProxyNormSet (const RooArgSet *nset)
 Forward a change in the cached normalization argset to all the registered proxies.
 
void setShapeDirty (const RooAbsArg *source)
 Notify that a shape-like property (e.g. binning) has changed.
 
void setValueDirty (const RooAbsArg *source)
 Force element to re-evaluate itself when a value is requested.
 
void unRegisterProxy (RooArgProxy &proxy)
 Remove proxy from proxy list.
 
void unRegisterProxy (RooListProxy &proxy)
 Remove proxy from proxy list.
 
void unRegisterProxy (RooSetProxy &proxy)
 Remove proxy from proxy list.
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

Static Protected Member Functions

static void globalSelectComp (bool flag)
 Global switch controlling the activation of the selectComp() functionality.
 
- Static Protected Member Functions inherited from RooAbsArg
static void ioStreamerPass2Finalize ()
 Method called by workspace container to finalize schema evolution issues that cannot be handled in a single ioStreamer pass.
 

Protected Attributes

bool _forceNumInt
 Force numerical integration if flag set.
 
TString _label
 Plot label for objects value.
 
RooArgSet_lastNSet
 !
 
Int_t _plotBins
 Number of plot bins.
 
double _plotMax
 Maximum of plot range.
 
double _plotMin
 Minimum of plot range.
 
bool _selectComp
 
RooNumIntConfig_specIntegratorConfig
 
TString _unit
 Unit for objects value.
 
double _value
 Cache for current value of object.
 
- Protected Attributes inherited from RooAbsArg
std::set< std::string > _boolAttrib
 
std::set< std::string > _boolAttribTransient
 
std::vector< RooAbsCache * > _cacheList
 
RefCountList_t _clientList
 
RefCountList_t _clientListShape
 
RefCountList_t _clientListValue
 
std::size_t _dataToken = std::numeric_limits<std::size_t>::max()
 In which workspace do I live, if any.
 
bool _deleteWatch
 
RooExpensiveObjectCache_eocache {nullptr}
 Prohibit server redirects – Debugging tool.
 
bool _fast = false
 
bool _isConstant
 De-duplicated name pointer. This will be equal for all objects with the same name.
 
bool _localNoInhibitDirty
 Cached isConstant status.
 
RooWorkspace_myws
 Prevent 'AlwaysDirty' mode for this node.
 
const TNamed_namePtr
 Pointer to global cache manager for any expensive components created by this object.
 
OperMode _operMode
 
RooArgSet_ownedComponents
 
bool _prohibitServerRedirect
 Set of owned component.
 
RooRefArray _proxyList
 
ProxyListCache _proxyListCache
 
RefCountList_t _serverList
 
bool _shapeDirty
 
std::map< std::string, std::string > _stringAttrib
 
bool _valueDirty
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Static Protected Attributes

static bool _globalSelectComp = false
 Component selection flag for RooAbsPdf::plotCompOn.
 
static bool _hideOffset = true
 Offset hiding flag.
 
- Static Protected Attributes inherited from RooAbsArg
static bool _inhibitDirty
 
static bool _verboseDirty
 cache of the list of proxies. Avoids type casting.
 
- Static Protected Attributes inherited from RooPrintable
static Int_t _nameLength
 

Private Member Functions

double _DEBUG_getVal (const RooArgSet *normalisationSet) const
 Debug version of getVal(), which is slow and does error checking.
 
void checkBatchComputation (const RooBatchCompute::RunContext &evalData, std::size_t evtNo, const RooArgSet *normSet=nullptr, double relAccuracy=1.E-13) const
 Walk through expression tree headed by the this object, and check a batch computation.
 
bool matchArgsByName (const RooArgSet &allArgs, RooArgSet &matchedArgs, const TList &nameList) const
 Check if allArgs contains matching elements for each name in nameList.
 

Private Attributes

std::unique_ptr< TreeReadBuffer_treeReadBuffer
 

Static Private Attributes

static Int_t _evalErrorCount = 0
 
static std::map< const RooAbsArg *, std::pair< std::string, std::list< EvalError > > > _evalErrorList
 
static ErrorLoggingMode _evalErrorMode = RooAbsReal::PrintErrors
 

Friends

class BatchInterfaceAccessor
 
class RooAddHelpers
 
class RooAddModel
 
class RooAddPdf
 
class RooFit::Detail::DataMap
 
class RooRealBinding
 
class RooRealSumFunc
 
class RooRealSumPdf
 
class RooVectorDataStore
 

Additional Inherited Members

- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 

#include <RooAbsReal.h>

Inheritance diagram for RooAbsReal:
[legend]

Member Typedef Documentation

◆ EvalErrorIter

typedef std::map<constRooAbsArg*,std::pair<std::string,std::list<EvalError>>>::const_iterator RooAbsReal::EvalErrorIter

Definition at line 352 of file RooAbsReal.h.

◆ value_type

Definition at line 64 of file RooAbsReal.h.

Member Enumeration Documentation

◆ ErrorLoggingMode

Enumerator
PrintErrors 
CollectErrors 
CountErrors 
Ignore 

Definition at line 326 of file RooAbsReal.h.

◆ ScaleType

Enumerator
Raw 
Relative 
NumEvent 
RelativeExpected 

Definition at line 281 of file RooAbsReal.h.

Constructor & Destructor Documentation

◆ RooAbsReal() [1/4]

RooAbsReal::RooAbsReal ( )

coverity[UNINIT_CTOR] Default constructor

Definition at line 128 of file RooAbsReal.cxx.

◆ RooAbsReal() [2/4]

RooAbsReal::RooAbsReal ( const char *  name,
const char *  title,
const char *  unit = "" 
)

Constructor with unit label.

Definition at line 137 of file RooAbsReal.cxx.

◆ RooAbsReal() [3/4]

RooAbsReal::RooAbsReal ( const char *  name,
const char *  title,
double  minVal,
double  maxVal,
const char *  unit = "" 
)

Constructor with plot range and unit label.

Definition at line 151 of file RooAbsReal.cxx.

◆ RooAbsReal() [4/4]

RooAbsReal::RooAbsReal ( const RooAbsReal other,
const char *  name = nullptr 
)

Copy constructor.

Definition at line 165 of file RooAbsReal.cxx.

◆ ~RooAbsReal()

RooAbsReal::~RooAbsReal ( )
override

Destructor.

Definition at line 181 of file RooAbsReal.cxx.

Member Function Documentation

◆ _DEBUG_getVal()

double RooAbsReal::_DEBUG_getVal ( const RooArgSet normalisationSet) const
private

Debug version of getVal(), which is slow and does error checking.

Definition at line 4776 of file RooAbsReal.cxx.

◆ analyticalIntegral()

double RooAbsReal::analyticalIntegral ( Int_t  code,
const char *  rangeName = nullptr 
) const
virtual

◆ analyticalIntegralWN()

double RooAbsReal::analyticalIntegralWN ( Int_t  code,
const RooArgSet normSet,
const char *  rangeName = nullptr 
) const
virtual

Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.

This functions will only be called with codes returned by getAnalyticalIntegral, except code zero.

Reimplemented in RooNormalizedPdf, RooBinSamplingPdf, RooWrapperPdf, RooFixedProdPdf, ParamHistFunc, PiecewiseInterpolation, RooLagrangianMorphFunc, RooParamHistFunc, RooAbsAnaConvPdf, RooAbsCachedPdf, RooAbsCachedReal, RooAbsPdf, RooAddModel, RooAddPdf, RooExtendPdf, RooProdPdf, RooProjectedPdf, RooRealSumFunc, RooRealSumPdf, and RooSimultaneous.

Definition at line 391 of file RooAbsReal.cxx.

◆ asTF()

TF1 * RooAbsReal::asTF ( const RooArgList obs,
const RooArgList pars = RooArgList(),
const RooArgSet nset = RooArgSet() 
) const

Return a ROOT TF1,2,3 object bound to this RooAbsReal with given definition of observables and parameters.

Definition at line 4040 of file RooAbsReal.cxx.

◆ attachToTree()

void RooAbsReal::attachToTree ( TTree t,
Int_t  bufSize = 32000 
)
overrideprotectedvirtual

Attach object to a branch of given TTree.

By default it will register the internal value cache RooAbsReal::_value as branch buffer for a double tree branch with the same name as this object. If no double branch is found with the name of this object, this method looks for a Float_t Int_t, UChar_t and UInt_t, etc branch. If any of these are found, a TreeReadBuffer that branch is created, and saved in _treeReadBuffer. TreeReadBuffer::operator double() can be used to convert the values. This is used by copyCache().

Implements RooAbsArg.

Reimplemented in RooRealVar.

Definition at line 3160 of file RooAbsReal.cxx.

◆ attachToVStore()

void RooAbsReal::attachToVStore ( RooVectorDataStore vstore)
overrideprotectedvirtual

Implements RooAbsArg.

Reimplemented in RooRealVar.

Definition at line 3143 of file RooAbsReal.cxx.

◆ binBoundaries()

std::list< double > * RooAbsReal::binBoundaries ( RooAbsRealLValue obs,
double  xlo,
double  xhi 
) const
virtual

Retrieve bin boundaries if this distribution is binned in obs.

Parameters
[in]obsObservable to retrieve boundaries for.
[in]xloBeginning of range.
[in]xhiEnd of range.
Returns
The caller owns the returned std::list.

Reimplemented in ParamHistFunc, PiecewiseInterpolation, RooLagrangianMorphFunc, RooMomentMorphFunc, RooParamHistFunc, RooAddition, RooAddPdf, RooFormulaVar, RooHistFunc, RooHistPdf, RooProdPdf, RooProduct, RooRealSumFunc, RooRealSumPdf, RooBinSamplingPdf, RooBinWidthFunction, RooLinearCombination, RooWrapperPdf, and PdfWrapper.

Definition at line 3693 of file RooAbsReal.cxx.

◆ bindVars()

RooAbsFunc * RooAbsReal::bindVars ( const RooArgSet vars,
const RooArgSet nset = nullptr,
bool  clipInvalid = false 
) const

Create an interface adaptor f(vars) that binds us to the specified variables (in arbitrary order).

For example, calling bindVars({x1,x3}) on an object F(x1,x2,x3,x4) returns an object f(x1,x3) that is evaluated using the current values of x2 and x4. The caller takes ownership of the returned adaptor.

Definition at line 3110 of file RooAbsReal.cxx.

◆ checkBatchComputation()

void RooAbsReal::checkBatchComputation ( const RooBatchCompute::RunContext evalData,
std::size_t  evtNo,
const RooArgSet normSet = nullptr,
double  relAccuracy = 1.E-13 
) const
private

Walk through expression tree headed by the this object, and check a batch computation.

Check if the results in evalData for event evtNo are identical to the current value of the nodes. If a difference is found, an exception is thrown, and propagates up the expression tree. The tree is formatted to see where the computation error happened.

Parameters
evalDataData with results of batch computation. This is checked against the current value of the expression tree.
evtNoEvent from evalData to check for.
normSetOptional normalisation set that was used in computation.
relAccuracyAccuracy required for passing the check.

Definition at line 4826 of file RooAbsReal.cxx.

◆ chi2FitDriver()

RooFit::OwningPtr< RooFitResult > RooAbsReal::chi2FitDriver ( RooAbsReal fcn,
RooLinkedList cmdList 
)
protected

Internal driver function for chi2 fits.

Definition at line 4457 of file RooAbsReal.cxx.

◆ chi2FitTo() [1/4]

RooFit::OwningPtr< RooFitResult > RooAbsReal::chi2FitTo ( RooDataHist data,
const RooCmdArg arg1 = RooCmdArg::none(),
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() 
)
virtual

Perform a \( \chi^2 \) fit to given histogram.

By default the fit is executed through the MINUIT commands MIGRAD, HESSE in succession

The following named arguments are supported

Options to control construction of chi2
Range(const char* name) Fit only data inside range with given name
Range(double lo, double hi) Fit only data inside given range. A range named "fit" is created on the fly on all observables. Multiple comma separated range names can be specified.
NumCPU(int num) Parallelize NLL calculation on num CPUs
Optimize(bool flag) Activate constant term optimization (on by default)
IntegrateBins()

Integrate PDF within each bin. This sets the desired precision.

Options to control flow of fit procedure
InitialHesse(bool flag) Flag controls if HESSE before MIGRAD as well, off by default
Hesse(bool flag) Flag controls if HESSE is run after MIGRAD, on by default
Minos(bool flag) Flag controls if MINOS is run after HESSE, on by default
Minos(const RooArgSet& set) Only run MINOS on given subset of arguments
Save(bool flag) Flac controls if RooFitResult object is produced and returned, off by default
Strategy(Int_t flag)

Set Minuit strategy (0 through 2, default is 1)

Options to control informational output
Verbose(bool flag) Flag controls if verbose output is printed (NLL, parameter changes during fit
Timer(bool flag) Time CPU and wall clock consumption of fit steps, off by default
PrintLevel(Int_t level) Set Minuit print level (-1 through 3, default is 1). At -1 all RooFit informational messages are suppressed as well
Warnings(bool flag) Enable or disable MINUIT warnings (enabled by default)
PrintEvalErrors(Int_t numErr) Control number of p.d.f evaluation errors printed per likelihood evaluation. A negative value suppress output completely, a zero value will only print the error count per p.d.f component, a positive value is will print details of each error up to numErr messages per p.d.f component.

Reimplemented in RooAbsPdf.

Definition at line 4244 of file RooAbsReal.cxx.

◆ chi2FitTo() [2/4]

RooFit::OwningPtr< RooFitResult > RooAbsReal::chi2FitTo ( RooDataHist data,
const RooLinkedList cmdList 
)
virtual

Perform a \( \chi^2 \) fit to given histogram.

By default the fit is executed through the MINUIT commands MIGRAD, HESSE in succession

The following named arguments are supported

Options to control construction of chi2
Range(const char* name) Fit only data inside range with given name
Range(double lo, double hi) Fit only data inside given range. A range named "fit" is created on the fly on all observables. Multiple comma separated range names can be specified.
NumCPU(int num) Parallelize NLL calculation on num CPUs
Optimize(bool flag) Activate constant term optimization (on by default)
IntegrateBins()

Integrate PDF within each bin. This sets the desired precision.

Options to control flow of fit procedure
InitialHesse(bool flag) Flag controls if HESSE before MIGRAD as well, off by default
Hesse(bool flag) Flag controls if HESSE is run after MIGRAD, on by default
Minos(bool flag) Flag controls if MINOS is run after HESSE, on by default
Minos(const RooArgSet& set) Only run MINOS on given subset of arguments
Save(bool flag) Flac controls if RooFitResult object is produced and returned, off by default
Strategy(Int_t flag)

Set Minuit strategy (0 through 2, default is 1)

Options to control informational output
Verbose(bool flag) Flag controls if verbose output is printed (NLL, parameter changes during fit
Timer(bool flag) Time CPU and wall clock consumption of fit steps, off by default
PrintLevel(Int_t level) Set Minuit print level (-1 through 3, default is 1). At -1 all RooFit informational messages are suppressed as well
Warnings(bool flag) Enable or disable MINUIT warnings (enabled by default)
PrintEvalErrors(Int_t numErr) Control number of p.d.f evaluation errors printed per likelihood evaluation. A negative value suppress output completely, a zero value will only print the error count per p.d.f component, a positive value is will print details of each error up to numErr messages per p.d.f component.

Reimplemented in RooAbsPdf, and RooAbsPdf.

Definition at line 4262 of file RooAbsReal.cxx.

◆ chi2FitTo() [3/4]

RooAbsReal::chi2FitTo ( RooDataSet xydata,
const RooCmdArg arg1 = RooCmdArg::none(),
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() 
)
virtual

Perform a 2-D \( \chi^2 \) fit using a series of x and y values stored in the dataset xydata.

The y values can either be the event weights, or can be another column designated by the YVar() argument. The y value must have errors defined for the \( \chi^2 \) to be well defined.

Options to control construction of the chi-square
YVar(RooRealVar& yvar) Designate given column in dataset as Y value
Integrate(bool flag)

Integrate function over range specified by X errors rather than take value at bin center.

Options to control flow of fit procedure
InitialHesse(bool flag) Flag controls if HESSE before MIGRAD as well, off by default
Hesse(bool flag) Flag controls if HESSE is run after MIGRAD, on by default
Minos(bool flag) Flag controls if MINOS is run after HESSE, on by default
Minos(const RooArgSet& set) Only run MINOS on given subset of arguments
Save(bool flag) Flac controls if RooFitResult object is produced and returned, off by default
Strategy(Int_t flag)

Set Minuit strategy (0 through 2, default is 1)

Options to control informational output
Verbose(bool flag) Flag controls if verbose output is printed (NLL, parameter changes during fit
Timer(bool flag) Time CPU and wall clock consumption of fit steps, off by default
PrintLevel(Int_t level) Set Minuit print level (-1 through 3, default is 1). At -1 all RooFit informational messages are suppressed as well
Warnings(bool flag) Enable or disable MINUIT warnings (enabled by default)
PrintEvalErrors(Int_t numErr) Control number of p.d.f evaluation errors printed per likelihood evaluation. A negative value suppress output completely, a zero value will only print the error count per p.d.f component, a positive value is will print details of each error up to numErr messages per p.d.f component.

PyROOT

The RooAbsReal::chi2FitTo() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.

Reimplemented in RooAbsPdf.

Definition at line 4357 of file RooAbsReal.cxx.

◆ chi2FitTo() [4/4]

RooFit::OwningPtr< RooFitResult > RooAbsReal::chi2FitTo ( RooDataSet xydata,
const RooLinkedList cmdList 
)
virtual

Perform a 2-D \( \chi^2 \) fit using a series of x and y values stored in the dataset xydata.

The y values can either be the event weights, or can be another column designated by the YVar() argument. The y value must have errors defined for the \( \chi^2 \) to be well defined.

Options to control construction of the chi-square
YVar(RooRealVar& yvar) Designate given column in dataset as Y value
Integrate(bool flag)

Integrate function over range specified by X errors rather than take value at bin center.

Options to control flow of fit procedure
InitialHesse(bool flag) Flag controls if HESSE before MIGRAD as well, off by default
Hesse(bool flag) Flag controls if HESSE is run after MIGRAD, on by default
Minos(bool flag) Flag controls if MINOS is run after HESSE, on by default
Minos(const RooArgSet& set) Only run MINOS on given subset of arguments
Save(bool flag) Flac controls if RooFitResult object is produced and returned, off by default
Strategy(Int_t flag)

Set Minuit strategy (0 through 2, default is 1)

Options to control informational output
Verbose(bool flag) Flag controls if verbose output is printed (NLL, parameter changes during fit
Timer(bool flag) Time CPU and wall clock consumption of fit steps, off by default
PrintLevel(Int_t level) Set Minuit print level (-1 through 3, default is 1). At -1 all RooFit informational messages are suppressed as well
Warnings(bool flag) Enable or disable MINUIT warnings (enabled by default)
PrintEvalErrors(Int_t numErr) Control number of p.d.f evaluation errors printed per likelihood evaluation. A negative value suppress output completely, a zero value will only print the error count per p.d.f component, a positive value is will print details of each error up to numErr messages per p.d.f component.

PyROOT

The RooAbsReal::chi2FitTo() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.

Reimplemented in RooAbsPdf.

Definition at line 4375 of file RooAbsReal.cxx.

◆ Class()

static TClass * RooAbsReal::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * RooAbsReal::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t RooAbsReal::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 601 of file RooAbsReal.h.

◆ clearEvalErrorLog()

void RooAbsReal::clearEvalErrorLog ( )
static

Clear the stack of evaluation error messages.

Definition at line 3675 of file RooAbsReal.cxx.

◆ computeBatch()

void RooAbsReal::computeBatch ( cudaStream_t *  ,
double output,
size_t  nEvents,
RooFit::Detail::DataMap const &  dataMap 
) const
virtual

◆ copyCache()

void RooAbsReal::copyCache ( const RooAbsArg source,
bool  valueOnly = false,
bool  setValDirty = true 
)
overrideprotectedvirtual

Copy the cached value of another RooAbsArg to our cache.

Warning: This function just copies the cached values of source, it is the callers responsibility to make sure the cache is clean.

Implements RooAbsArg.

Reimplemented in RooAbsRealLValue, and RooRealVar.

Definition at line 3128 of file RooAbsReal.cxx.

◆ createChi2() [1/4]

RooAbsReal::createChi2 ( RooDataHist data,
const RooCmdArg arg1 = RooCmdArg::none(),
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() 
)
virtual

Create a \( \chi^2 \) variable from a histogram and this function.

Parameters
arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8ordered arguments

The std::list of supported command arguments is given in the documentation for RooChi2Var::RooChi2Var(const char name, const char title, RooAbsReal& func, RooDataHist& hdata, const RooCmdArg&,const RooCmdArg&,const RooCmdArg&, const RooCmdArg&,const RooCmdArg&,const RooCmdArg&, const RooCmdArg&,const RooCmdArg&,const RooCmdArg&).

Parameters
dataHistogram with data
Returns
\( \chi^2 \) variable

PyROOT

The RooAbsReal::createChi2() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.

Reimplemented in RooAbsPdf, and RooAbsPdf.

Definition at line 4289 of file RooAbsReal.cxx.

◆ createChi2() [2/4]

RooAbsReal * RooAbsReal::createChi2 ( RooDataHist data,
const RooLinkedList cmdList 
)
virtual

◆ createChi2() [3/4]

RooAbsReal * RooAbsReal::createChi2 ( RooDataSet data,
const RooCmdArg arg1 = RooCmdArg::none(),
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() 
)
virtual

Create a \( \chi^2 \) from a series of x and y values stored in a dataset.

The y values can either be the event weights (default), or can be another column designated by the YVar() argument. The y value must have errors defined for the \( \chi^2 \) to be well defined.

The following named arguments are supported

Options to control construction of the \( \chi^2 \)
YVar(RooRealVar& yvar) Designate given column in dataset as Y value
Integrate(bool flag) Integrate function over range specified by X errors rather than take value at bin center.

Reimplemented in RooAbsPdf.

Definition at line 4405 of file RooAbsReal.cxx.

◆ createChi2() [4/4]

◆ createFundamental()

RooAbsArg * RooAbsReal::createFundamental ( const char *  newname = nullptr) const
overridevirtual

Create a RooRealVar fundamental object with our properties.

The new object will be created without any fit limits.

Implements RooAbsArg.

Definition at line 3259 of file RooAbsReal.cxx.

◆ createHistogram() [1/3]

RooAbsReal::createHistogram ( const char *  name,
const RooAbsRealLValue xvar,
const RooCmdArg arg1 = RooCmdArg::none(),
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 and fill a ROOT histogram TH1, TH2 or TH3 with the values of this function.

Parameters
[in]nameName of the ROOT histogram
[in]xvarObservable to be std::mapped on x axis of ROOT histogram
[in]arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8Arguments according to std::list below
Returns
TH1 *, one of TH{1,2,3}. The caller takes ownership.
Effect on histogram creation
IntrinsicBinning() Apply binning defined by function or pdf (as advertised via binBoundaries() method)
Binning(const char* name) Apply binning with given name to x axis of histogram
Binning(RooAbsBinning& binning) Apply specified binning to x axis of histogram
Binning(int nbins, [double lo, double hi]) Apply specified binning to x axis of histogram
ConditionalObservables(Args_t &&... argsOrArgSet) Do not normalise PDF over following observables when projecting PDF into histogram.
Scaling(bool) Apply density-correction scaling (multiply by bin volume), default is true
Extended(bool)

Plot event yield instead of probability density (for extended pdfs only)

YVar(const RooAbsRealLValue& var,...) Observable to be std::mapped on y axis of ROOT histogram. The YVar() and ZVar() arguments can be supplied with optional Binning() arguments to control the binning of the Y and Z axes, e.g.
createHistogram("histo",x,Binning(-1,1,20), YVar(y,Binning(-1,1,30)), ZVar(z,Binning("zbinning")))
TH1 * createHistogram(RooStringView varNameList, Int_t xbins=0, Int_t ybins=0, Int_t zbins=0) const
Create and fill a ROOT histogram TH1, TH2 or TH3 with the values of this function for the variables w...
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
ZVar(const RooAbsRealLValue& var,...) Observable to be std::mapped on z axis of ROOT histogram

PyROOT

The RooAbsReal::createHistogram() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.

Definition at line 1304 of file RooAbsReal.cxx.

◆ createHistogram() [2/3]

TH1 * RooAbsReal::createHistogram ( const char *  name,
const RooAbsRealLValue xvar,
RooLinkedList argList 
) const

Internal method implementing createHistogram.

Definition at line 1322 of file RooAbsReal.cxx.

◆ createHistogram() [3/3]

TH1 * RooAbsReal::createHistogram ( RooStringView  varNameList,
Int_t  xbins = 0,
Int_t  ybins = 0,
Int_t  zbins = 0 
) const

Create and fill a ROOT histogram TH1, TH2 or TH3 with the values of this function for the variables with given names.

Parameters
[in]varNameListList of variables to use for x, y, z axis, separated by ':'
[in]xbinsNumber of bins for first variable
[in]ybinsNumber of bins for second variable
[in]zbinsNumber of bins for third variable
Returns
TH1*, which is one of TH[1-3]. The histogram is owned by the caller.

For a greater degree of control use RooAbsReal::createHistogram(const char *, const RooAbsRealLValue&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&) const

Definition at line 1224 of file RooAbsReal.cxx.

◆ createIntegral() [1/6]

RooFit::OwningPtr< RooAbsReal > RooAbsReal::createIntegral ( const RooArgSet iset,
const char *  rangeName 
) const
inline

Create integral over observables in iset in range named rangeName.

Definition at line 212 of file RooAbsReal.h.

◆ createIntegral() [2/6]

RooFit::OwningPtr< RooAbsReal > RooAbsReal::createIntegral ( const RooArgSet iset,
const RooArgSet nset,
const char *  rangeName = nullptr 
) const
inline

Create integral over observables in iset in range named rangeName with integrand normalized over observables in nset.

Definition at line 216 of file RooAbsReal.h.

◆ createIntegral() [3/6]

RooFit::OwningPtr< RooAbsReal > RooAbsReal::createIntegral ( const RooArgSet iset,
const RooArgSet nset,
const RooNumIntConfig cfg,
const char *  rangeName = nullptr 
) const
inline

Create integral over observables in iset in range named rangeName with integrand normalized over observables in nset while using specified configuration for any numeric integration.

Definition at line 221 of file RooAbsReal.h.

◆ createIntegral() [4/6]

RooFit::OwningPtr< RooAbsReal > RooAbsReal::createIntegral ( const RooArgSet iset,
const RooArgSet nset = nullptr,
const RooNumIntConfig cfg = nullptr,
const char *  rangeName = nullptr 
) const
virtual

Create an object that represents the integral of the function over one or more observables std::listed in iset.

The actual integration calculation is only performed when the return object is evaluated. The name of the integral object is automatically constructed from the name of the input function, the variables it integrates and the range integrates over. If nset is specified the integrand is request to be normalized over nset (only meaningful when the integrand is a pdf). If rangename is specified the integral is performed over the named range, otherwise it is performed over the domain of each integrated observable. If cfg is specified it will be used to configure any numeric integration aspect of the integral. It will not force the integral to be performed numerically, which is decided automatically by RooRealIntegral.

Reimplemented in RooAbsRealLValue, RooBinSamplingPdf, and RooRealIntegral.

Definition at line 565 of file RooAbsReal.cxx.

◆ createIntegral() [5/6]

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 std::listed in iset.

The actual integration calculation is only performed when the returned object is evaluated. The name of the integral object is automatically constructed from the name of the input function, the variables it integrates and the range integrates over.

Note
The integral over a PDF is usually not normalised (i.e., it is usually not 1 when integrating the PDF over the full range). In fact, this integral is used to compute the normalisation of each PDF. See the rf110 tutorial at https://root.cern.ch/doc/master/group__tutorial__roofit.html for details on PDF normalisation.

The following named arguments are accepted

Effect on integral creation
NormSet(const RooArgSet&) Specify normalization set, mostly useful when working with PDFs
NumIntConfig(const RooNumIntConfig&) Use given configuration for any numeric integration, if necessary
Range(const char* name) Integrate only over given range. Multiple ranges may be specified by passing multiple Range() arguments

PyROOT

The RooAbsReal::createIntegral() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.

Definition at line 524 of file RooAbsReal.cxx.

◆ createIntegral() [6/6]

RooFit::OwningPtr< RooAbsReal > RooAbsReal::createIntegral ( const RooArgSet iset,
const RooNumIntConfig cfg,
const char *  rangeName = nullptr 
) const
inline

Create integral over observables in iset in range named rangeName using specified configuration for any numeric integration.

Definition at line 225 of file RooAbsReal.h.

◆ createIntObj()

RooFit::OwningPtr< RooAbsReal > RooAbsReal::createIntObj ( const RooArgSet iset,
const RooArgSet nset,
const RooNumIntConfig cfg,
const char *  rangeName 
) const
protected

Internal utility function for createIntegral() that creates the actual integral object.

Definition at line 604 of file RooAbsReal.cxx.

◆ createIntRI()

RooFit::OwningPtr< RooAbsReal > RooAbsReal::createIntRI ( const RooArgSet iset,
const RooArgSet nset = {} 
)

Utility function for createRunningIntegral.

It creates an object implementing the standard (analytical) integration technique for calculating the running integral.

Definition at line 3956 of file RooAbsReal.cxx.

◆ createPlotProjection() [1/2]

const RooAbsReal * RooAbsReal::createPlotProjection ( const RooArgSet dependentVars,
const RooArgSet projectedVars,
RooArgSet *&  cloneSet,
const char *  rangeName = nullptr,
const RooArgSet condObs = nullptr 
) const

Utility function for plotOn() that creates a projection of a function or p.d.f to be plotted on a RooPlot.

Create a new object \( G \) that represents the normalized projection:

\[ G[x,p] = \frac{\int F[x,y,p] \; \mathrm{d}\{y\}} {\int F[x,y,p] \; \mathrm{d}\{x\} \, \mathrm{d}\{y\}} \]

where \( F[x,y,p] \) is the function we represent, and \( \{ p \} \) are the remaining variables ("parameters").

Parameters
[in]dependentVarsDependent variables over which to normalise, \( \{x\} \).
[in]projectedVarsVariables to project out, \( \{ y \} \).
[out]cloneSetWill be set to a RooArgSet*, which will contain a clone of *this plus its projection integral object. The latter will also be returned. The caller takes ownership of this set.
[in]rangeNameOptional range for projection integrals
[in]condObsConditional observables, which are not integrated for normalisation, even if they are in dependentVars or projectedVars.
Returns
A pointer to the newly created object, or zero in case of an error. The caller is responsible for deleting the cloneSet (which includes the returned projection object).

Definition at line 859 of file RooAbsReal.cxx.

◆ createPlotProjection() [2/2]

const RooAbsReal * RooAbsReal::createPlotProjection ( const RooArgSet depVars,
const RooArgSet projVars,
RooArgSet *&  cloneSet 
) const

Utility function for plotOn() that creates a projection of a function or p.d.f to be plotted on a RooPlot.

createPlotProjection()

Definition at line 830 of file RooAbsReal.cxx.

◆ createProfile()

RooAbsReal * RooAbsReal::createProfile ( const RooArgSet paramsOfInterest)
virtual

Create a RooProfileLL object that eliminates all nuisance parameters in the present function.

The nuisance parameters are defined as all parameters of the function except the stated paramsOfInterest

Reimplemented in RooProfileLL.

Definition at line 482 of file RooAbsReal.cxx.

◆ createRunningIntegral() [1/2]

◆ createRunningIntegral() [2/2]

RooAbsReal::createRunningIntegral ( 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() 
)

Create an object that represents the running integral of the function over one or more observables std::listed in iset, i.e.

\[ \int_{x_\mathrm{lo}}^x f(x') \, \mathrm{d}x' \]

The actual integration calculation is only performed when the return object is evaluated. The name of the integral object is automatically constructed from the name of the input function, the variables it integrates and the range integrates over. The default strategy to calculate the running integrals is

  • If the integrand (this object) supports analytical integration, construct an integral object that calculate the running integrals value by calculating the analytical integral each time the running integral object is evaluated
  • If the integrand (this object) requires numeric integration to construct the running integral create an object of class RooNumRunningInt which first samples the entire function and integrates the sampled function numerically. This method has superior performance as there is no need to perform a full (numeric) integration for each evaluation of the running integral object, but only when one of its parameters has changed.

The choice of strategy can be changed with the ScanAll() argument, which forces the use of the scanning technique implemented in RooNumRunningInt for all use cases, and with the ScanNone() argument which forces the 'integrate each evaluation' technique for all use cases. The sampling granularity for the scanning technique can be controlled with the ScanParameters technique which allows to specify the number of samples to be taken, and to which order the resulting running integral should be interpolated. The default values are 1000 samples and 2nd order interpolation.

The following named arguments are accepted

Effect on integral creation
SupNormSet(const RooArgSet&) Observables over which should be normalized in addition to the integration observables
ScanParameters(Int_t nbins, Int_t intOrder) Parameters for scanning technique of making CDF: number of sampled bins and order of interpolation applied on numeric cdf
ScanNum() Apply scanning technique if cdf integral involves numeric integration
ScanAll() Always apply scanning technique
ScanNone() Never apply scanning technique

PyROOT

The RooAbsReal::createRunningIntegral() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.

Definition at line 3879 of file RooAbsReal.cxx.

◆ createScanRI()

RooFit::OwningPtr< RooAbsReal > RooAbsReal::createScanRI ( const RooArgSet iset,
const RooArgSet nset,
Int_t  numScanBins,
Int_t  intOrder 
)

Utility function for createRunningIntegral that construct an object implementing the numeric scanning technique for calculating the running integral.

Definition at line 3939 of file RooAbsReal.cxx.

◆ DeclFileName()

static const char * RooAbsReal::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 601 of file RooAbsReal.h.

◆ defaultErrorLevel()

virtual double RooAbsReal::defaultErrorLevel ( ) const
inlinevirtual

◆ defaultIntegratorConfig()

RooNumIntConfig * RooAbsReal::defaultIntegratorConfig ( )
static

Returns the default numeric integration configuration for all RooAbsReals.

Definition at line 3401 of file RooAbsReal.cxx.

◆ derivative() [1/2]

RooDerivative * RooAbsReal::derivative ( RooRealVar obs,
const RooArgSet normSet,
Int_t  order,
double  eps = 0.001 
)

Return function representing first, second or third order derivative of this function.

Definition at line 4128 of file RooAbsReal.cxx.

◆ derivative() [2/2]

RooDerivative * RooAbsReal::derivative ( RooRealVar obs,
Int_t  order = 1,
double  eps = 0.001 
)

Return function representing first, second or third order derivative of this function.

Definition at line 4116 of file RooAbsReal.cxx.

◆ enableOffsetting()

void RooAbsReal::enableOffsetting ( bool  flag)
virtual

Reimplemented in RooAbsTestStatistic, RooRealMPFE, and ROOT::Experimental::RooNLLVarNew.

Definition at line 4898 of file RooAbsReal.cxx.

◆ evalErrorIter()

RooAbsReal::EvalErrorIter RooAbsReal::evalErrorIter ( )
static

Definition at line 321 of file RooAbsReal.cxx.

◆ evalErrorLoggingMode()

RooAbsReal::ErrorLoggingMode RooAbsReal::evalErrorLoggingMode ( )
static

Return current evaluation error logging mode.

Definition at line 4570 of file RooAbsReal.cxx.

◆ evaluate()

virtual double RooAbsReal::evaluate ( ) const
protectedpure virtual

Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.

Implemented in NuMuToNuE_Oscillation, RooStats::HistFactory::FlexibleInterpVar, RooStats::HistFactory::LinInterpVar, ParamHistFunc, PiecewiseInterpolation, RooStats::HistFactory::RooBarlowBeestonLL, Roo2DKeysPdf, RooArgusBG, RooBernstein, RooBifurGauss, RooBreitWigner, RooBukinPdf, RooCBShape, RooCFunction1Binding< VO, VI >, RooCFunction1PdfBinding< VO, VI >, RooCFunction2Binding< VO, VI1, VI2 >, RooCFunction2PdfBinding< VO, VI1, VI2 >, RooCFunction3Binding< VO, VI1, VI2, VI3 >, RooCFunction3PdfBinding< VO, VI1, VI2, VI3 >, RooCFunction4Binding< VO, VI1, VI2, VI3, VI4 >, RooCFunction4PdfBinding< VO, VI1, VI2, VI3, VI4 >, RooChebychev, RooChiSquarePdf, RooCrystalBall, RooDstD0BG, RooExponential, RooFunctor1DBinding, RooFunctor1DPdfBinding, RooFunctorBinding, RooFunctorPdfBinding, RooGamma, RooGaussian, RooGaussModel, RooGExpModel, RooHistConstraint, RooIntegralMorph, RooJeffreysPrior, RooJohnson, RooKeysPdf, RooLagrangianMorphFunc, RooLandau, RooLognormal, RooMomentMorph, RooMomentMorphFunc, RooMomentMorphFuncND, RooMomentMorphND, RooMultiBinomial, RooNDKeysPdf, RooNovosibirsk, RooParametricStepFunction, RooParamHistFunc, RooPoisson, RooPolynomial, RooStepFunction, RooTFnBinding, RooTFnPdfBinding, RooUnblindCPAsymVar, RooUnblindOffset, RooUnblindPrecision, RooUnblindUniform, RooUniform, RooVoigtian, RooAbsAnaConvPdf, RooAbsTestStatistic, RooAddition, RooAddModel, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooCachedPdf, RooCachedReal, RooChangeTracker, RooConstraintSum, RooConstVar, RooConvCoefVar, RooDerivative, RooEfficiency, RooEffProd, RooErrorVar, RooExtendedBinding, RooExtendedTerm, RooExtendPdf, RooFFTConvPdf, RooFirstMoment, RooFit::TestStatistics::RooRealL, RooFormulaVar, RooFracRemainder, RooGenericPdf, RooGenProdProj, RooHistFunc, RooHistPdf, RooLinearCombination, RooLinearVar, RooMoment, RooMultiVarGaussian, RooNumConvolution, RooNumConvPdf, RooNumRunningInt, RooPolyFunc, RooPolyVar, RooProdPdf, RooProduct, RooProfileLL, RooProjectedPdf, RooPullVar, RooRangeBoolean, RooRatio, RooRealIntegral, RooRealMPFE, RooRealSumFunc, RooRealSumPdf, RooRealVar, RooRecursiveFraction, RooSecondMoment, RooSimultaneous, RooTruthModel, RooWrapperPdf, ROOT::Experimental::RooAbsRealWrapper, ROOT::Experimental::RooNLLVarNew, RooNormalizedPdf, RooFixedProdPdf, RooHypatia2, RooLegendre, RooNonCentralChiSquare, RooSpHarmonic, RooStats::Heaviside, ProgressMonitor, and PdfWrapper.

◆ evaluateBatch()

virtual RooSpan< double > RooAbsReal::evaluateBatch ( std::size_t  ,
std::size_t   
)
protectedvirtualdelete
Deprecated:
evaluateBatch() has been removed in favour of the faster evaluateSpan(). If your code is affected by this change, please consult the release notes for ROOT 6.24 for guidance on how to make this transition. https://root.cern/doc/v624/release-notes.html

◆ evaluateSpan()

RooSpan< double > RooAbsReal::evaluateSpan ( RooBatchCompute::RunContext evalData,
const RooArgSet normSet 
) const
protectedvirtual

Evaluate this object for a batch/span of data points.

This is the backend used by getValues() to perform computations. A span pointing to the computation results will be stored in evalData, and also be returned to getValues(), which then finalises the computation.

Note
Derived classes should override this function to reach maximal performance. If this function is not overridden, the slower, single-valued evaluate() will be called in a loop.

A computation proceeds as follows:

  • Request input data from all our servers using getValues(evalData, normSet). Those will return
    • batches of size 1 if their value is constant over the entire dataset.
    • batches of the size of the dataset stored in evalData otherwise. If evalData already contains values for those objects, these will return data without recomputing those.
  • Create a new batch in evalData of the same size as those returned from the servers.
  • Use the input data to perform the computations, and store those in the batch.
Note
Error checking and normalisation (of PDFs) will be performed in getValues().
Parameters
[in,out]evalDataObject holding data that should be used in computations. Computation results have to be stored here.
[in]normSetOptional normalisation set passed down to the servers of this object.
Returns
Span pointing to the results. The memory is owned by evalData.

Reimplemented in RooUniform, RooFormulaVar, RooHypatia2, RooLegendre, and RooGenericPdf.

Definition at line 4631 of file RooAbsReal.cxx.

◆ fillDataHist()

RooDataHist * RooAbsReal::fillDataHist ( RooDataHist hist,
const RooArgSet normSet,
double  scaleFactor,
bool  correctForBinSize = false,
bool  showProgress = false 
) const

Fill a RooDataHist with values sampled from this function at the bin centers.

If extendedMode is true, the p.d.f. values is multiplied by the number of expected events in each bin

An optional scaling by a given scaleFactor can be performed. Returns a pointer to the input RooDataHist, or zero in case of an error.

If correctForBinSize is true the RooDataHist is filled with the functions density (function value times the bin volume) rather than function value.

If showProgress is true a process indicator is printed on stdout in steps of one percent, which is mostly useful for the sampling of expensive functions such as likelihoods

Definition at line 1166 of file RooAbsReal.cxx.

◆ fillHistogram()

TH1 * RooAbsReal::fillHistogram ( TH1 hist,
const RooArgList plotVars,
double  scaleFactor = 1,
const RooArgSet projectedVars = nullptr,
bool  scaleForDensity = true,
const RooArgSet condObs = nullptr,
bool  setError = true 
) const

Fill the ROOT histogram 'hist' with values sampled from this function at the bin centers.

Our value is calculated by first integrating out any variables in projectedVars and then scaling the result by scaleFactor. Returns a pointer to the input histogram, or zero in case of an error. The input histogram can be any TH1 subclass, and therefore of arbitrary dimension. Variables are matched with the (x,y,...) dimensions of the input histogram according to the order in which they appear in the input plotVars std::list. If scaleForDensity is true the histogram is filled with a the functions density rather than the functions value (i.e. the value at the bin center is multiplied with bin volume)

Definition at line 993 of file RooAbsReal.cxx.

◆ fillTreeBranch()

void RooAbsReal::fillTreeBranch ( TTree t)
overrideprotectedvirtual

Fill the tree branch that associated with this object with its current value.

Implements RooAbsArg.

Reimplemented in RooRealVar.

Definition at line 3228 of file RooAbsReal.cxx.

◆ findInnerMostIntegration()

void RooAbsReal::findInnerMostIntegration ( const RooArgSet allObs,
RooArgSet innerObs,
const char *  rangeName 
) const
protected

Utility function for createIntObj() that aids in the construct of recursive integrals over functions with multiple observables with parameterized ranges.

This function finds in a given set allObs over which integration is requested the largeset subset of observables that can be integrated simultaneously. This subset consists of observables with fixed ranges and observables with parameterized ranges whose parameterization does not depend on any observable that is also integrated.

Definition at line 715 of file RooAbsReal.cxx.

◆ findRoot()

double RooAbsReal::findRoot ( RooRealVar x,
double  xmin,
double  xmax,
double  yval 
)

Return value of x (in range xmin,xmax) at which function equals yval.

(Calculation is performed with Brent root finding algorithm)

Definition at line 4180 of file RooAbsReal.cxx.

◆ fixAddCoefNormalization()

void RooAbsReal::fixAddCoefNormalization ( const RooArgSet addNormSet = RooArgSet(),
bool  force = true 
)
virtual

Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by this object to the given set of observables.

If the force flag is false, the normalization choice is only fixed for those RooAddPdf components that have the default 'automatic' interpretation of coefficients (i.e. the interpretation is defined by the observables passed to getVal()). If force is true, also RooAddPdf that already have a fixed interpretation are changed to a new fixed interpretation.

Definition at line 3779 of file RooAbsReal.cxx.

◆ fixAddCoefRange()

void RooAbsReal::fixAddCoefRange ( const char *  rangeName = nullptr,
bool  force = true 
)
virtual

Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by this object to the given set of observables.

If the force flag is false, the normalization range choice is only fixed for those RooAddPdf components that currently use the default full domain to interpret their coefficients. If force is true, also RooAddPdf that already have a fixed interpretation range are changed to a new fixed interpretation range.

Definition at line 3804 of file RooAbsReal.cxx.

◆ forceAnalyticalInt()

◆ forceNumInt()

virtual void RooAbsReal::forceNumInt ( bool  flag = true)
inlinevirtual

Definition at line 173 of file RooAbsReal.h.

◆ functor()

RooFunctor * RooAbsReal::functor ( const RooArgList obs,
const RooArgList pars = RooArgList(),
const RooArgSet nset = RooArgSet() 
) const

Return a RooFunctor object bound to this RooAbsReal with given definition of observables and parameters.

Definition at line 4016 of file RooAbsReal.cxx.

◆ getAnalyticalIntegral()

Int_t RooAbsReal::getAnalyticalIntegral ( RooArgSet allVars,
RooArgSet analVars,
const char *  rangeName = nullptr 
) const
virtual

Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.

'integSet' is the set of dependents for which integration is requested. The function should copy the subset of dependents it can analytically integrate to anaIntSet and return a unique identification code for this integration configuration. If no integration can be performed, zero should be returned.

Reimplemented in RooArgusBG, RooBernstein, RooBifurGauss, RooBreitWigner, RooCBShape, RooChebychev, RooChiSquarePdf, RooCrystalBall, RooDstD0BG, RooExponential, RooGamma, RooGaussian, RooGaussModel, RooGExpModel, RooJohnson, RooKeysPdf, RooLandau, RooLognormal, RooNDKeysPdf, RooNovosibirsk, RooParametricStepFunction, RooPoisson, RooPolynomial, RooUniform, RooConvCoefVar, RooEfficiency, RooHistFunc, RooHistPdf, RooMultiVarGaussian, RooPolyVar, RooTruthModel, RooLegendre, RooNonCentralChiSquare, RooSpHarmonic, RooAddition, RooBinSamplingPdf, RooWrapperPdf, and RooFixedProdPdf.

Definition at line 379 of file RooAbsReal.cxx.

◆ getAnalyticalIntegralWN()

Int_t RooAbsReal::getAnalyticalIntegralWN ( RooArgSet allDeps,
RooArgSet analDeps,
const RooArgSet normSet,
const char *  rangeName = nullptr 
) const
virtual

Variant of getAnalyticalIntegral that is also passed the normalization set that should be applied to the integrand of which the integral is requested.

For certain operator p.d.f it is useful to overload this function rather than analyticalIntegralWN() as the additional normalization information may be useful in determining a more efficient decomposition of the requested integral.

Reimplemented in RooNormalizedPdf, ParamHistFunc, PiecewiseInterpolation, RooParamHistFunc, RooAbsAnaConvPdf, RooAbsCachedPdf, RooAbsCachedReal, RooBinSamplingPdf, RooExtendPdf, RooProduct, RooProjectedPdf, RooWrapperPdf, RooFixedProdPdf, RooLagrangianMorphFunc, RooAddModel, RooAddPdf, RooProdPdf, RooRealSumFunc, RooRealSumPdf, and RooSimultaneous.

Definition at line 362 of file RooAbsReal.cxx.

◆ getForceNumInt()

bool RooAbsReal::getForceNumInt ( ) const
inline

Definition at line 178 of file RooAbsReal.h.

◆ getIntegratorConfig() [1/2]

RooNumIntConfig * RooAbsReal::getIntegratorConfig ( )

Return the numeric integration configuration used for this object.

If a specialized configuration was associated with this object, that configuration is returned, otherwise the default configuration for all RooAbsReals is returned

Definition at line 3451 of file RooAbsReal.cxx.

◆ getIntegratorConfig() [2/2]

const RooNumIntConfig * RooAbsReal::getIntegratorConfig ( ) const

Return the numeric integration configuration used for this object.

If a specialized configuration was associated with this object, that configuration is returned, otherwise the default configuration for all RooAbsReals is returned

Definition at line 3438 of file RooAbsReal.cxx.

◆ getMaxVal()

Int_t RooAbsReal::getMaxVal ( const RooArgSet vars) const
virtual

Advertise capability to determine maximum value of function for given set of observables.

If no direct generator method is provided, this information will assist the accept/reject generator to operate more efficiently as it can skip the initial trial sampling phase to empirically find the function maximum

Reimplemented in RooCBShape, RooCrystalBall, RooKeysPdf, RooBinSamplingPdf, RooFFTConvPdf, RooHistFunc, RooHistPdf, RooWrapperPdf, RooLegendre, and RooSpHarmonic.

Definition at line 3521 of file RooAbsReal.cxx.

◆ getPlotLabel()

const char * RooAbsReal::getPlotLabel ( ) const

Get the label associated with the variable.

Definition at line 417 of file RooAbsReal.cxx.

◆ getPropagatedError()

double RooAbsReal::getPropagatedError ( const RooFitResult fr,
const RooArgSet nset = RooArgSet() 
) const

Calculate error on self by linearly propagating errors on parameters using the covariance matrix from a fit result.

The error is calculated as follows

\[ \mathrm{error}^2(x) = F_\mathbf{a}(x) \cdot \mathrm{Cov}(\mathbf{a},\mathbf{a}') \cdot F_{\mathbf{a}'}^{\mathrm{T}}(x) \]

where \( F_mathbf{a}(x) = \frac{ f(x, mathbf{a} + \mathrm{d}mathbf{a}) - f(x, mathbf{a} - \mathrm{d}mathbf{a}) }{2} \), with \( f(x) = \) this and \( \mathrm{d}mathbf{a} \) the vector of one-sigma uncertainties of all fit parameters taken from the fit result and \( \mathrm{Cov}(mathbf{a},mathbf{a}') \) = the covariance matrix from the fit result.

Definition at line 2603 of file RooAbsReal.cxx.

◆ getTitle()

TString RooAbsReal::getTitle ( bool  appendUnit = false) const

Return this variable's title std::string.

If appendUnit is true and this variable has units, also append a std::string " (<unit>)".

Definition at line 226 of file RooAbsReal.cxx.

◆ getUnit()

const Text_t * RooAbsReal::getUnit ( ) const
inline

Definition at line 147 of file RooAbsReal.h.

◆ getVal() [1/2]

double RooAbsReal::getVal ( const RooArgSet normalisationSet) const
inline

Like getVal(const RooArgSet*), but always requires an argument for normalisation.

Definition at line 114 of file RooAbsReal.h.

◆ getVal() [2/2]

double RooAbsReal::getVal ( const RooArgSet normalisationSet = nullptr) const
inline

Evaluate object.

Returns either cached value or triggers a recalculation. The recalculation happens by calling getValV(), which in the end calls the virtual evaluate() functions of the respective PDFs.

Parameters
[in]normalisationSetgetValV() reacts differently depending on the value of the normalisation set. If the set is nullptr, an unnormalised value is returned.
Note
The normalisation is arbitrary, because it is up to the implementation of the PDF to e.g. leave out normalisation constants for speed reasons. The range of the variables is also ignored.

To normalise the result properly, a RooArgSet has to be passed, which contains the variables to normalise over. These are integrated over their current ranges to compute the normalisation constant, and the unnormalised result is divided by this value.

Definition at line 91 of file RooAbsReal.h.

◆ getValBatch()

virtual RooSpan< const double > RooAbsReal::getValBatch ( std::size_t  ,
std::size_t  ,
const RooArgSet = nullptr 
)
virtualdelete
Deprecated:
getValBatch() has been removed in favour of the faster getValues(). If your code is affected by this change, please consult the release notes for ROOT 6.24 for guidance on how to make this transition. https://root.cern/doc/v624/release-notes.html

◆ getValues() [1/2]

std::vector< double > RooAbsReal::getValues ( RooAbsData const &  data) const

Definition at line 304 of file RooAbsReal.cxx.

◆ getValues() [2/2]

RooSpan< const double > RooAbsReal::getValues ( RooBatchCompute::RunContext evalData,
const RooArgSet normSet = nullptr 
) const
virtual

Compute batch of values for input data stored in evalData.

Deprecated:
getValBatch() has been removed in favour of the faster getValues(). If your code is affected by this change, please consult the release notes for ROOT 6.24 for guidance on how to make this transition. https://root.cern/doc/v624/release-notes.html

This is a faster, multi-value version of getVal(). It calls evaluateSpan() to trigger computations, and finalises those (e.g. error checking or automatic normalisation) before returning a span with the results. This span will also be stored in evalData, so subsquent calls of getValues() will return immediately.

If evalData is empty, a single value will be returned, which is the result of evaluating the current value of each object that's serving values to us. If evalData contains a batch of values for one or more of the objects serving values to us, a batch of values for each entry stored in evalData is returned. To fill a RunContext with values from a dataset, use RooAbsData::getBatches().

Parameters
[in]evalDataObject holding spans of input data. The results are also stored here.
[in]normSetUse these variables for normalisation (relevant for PDFs), and pass this normalisation on to object serving values to us.
Returns
RooSpan pointing to the computation results. The memory this span points to is owned by evalData.

Reimplemented in RooConstVar, and RooRealVar.

Definition at line 280 of file RooAbsReal.cxx.

◆ getValV()

double RooAbsReal::getValV ( const RooArgSet nset = nullptr) const
virtual

Return value of object.

If the cache is clean, return the cached value, otherwise recalculate on the fly and refill the cache

Reimplemented in RooConstVar, ROOT::Experimental::RooAbsRealWrapper, RooNormalizedPdf, RooAbsHiddenReal, RooConvCoefVar, RooRealMPFE, RooRealVar, RooResolutionModel, RooAbsCachedPdf, RooAbsCachedReal, RooAbsPdf, RooAddPdf, RooErrorVar, and RooRealIntegral.

Definition at line 244 of file RooAbsReal.cxx.

◆ globalSelectComp()

void RooAbsReal::globalSelectComp ( bool  flag)
staticprotected

Global switch controlling the activation of the selectComp() functionality.

Definition at line 3096 of file RooAbsReal.cxx.

◆ hideOffset()

bool RooAbsReal::hideOffset ( )
static

Definition at line 117 of file RooAbsReal.cxx.

◆ iGenFunction() [1/2]

RooMultiGenFunction * RooAbsReal::iGenFunction ( const RooArgSet observables,
const RooArgSet nset = RooArgSet() 
)

Definition at line 4201 of file RooAbsReal.cxx.

◆ iGenFunction() [2/2]

RooGenFunction * RooAbsReal::iGenFunction ( RooRealVar x,
const RooArgSet nset = RooArgSet() 
)

Definition at line 4192 of file RooAbsReal.cxx.

◆ integralNameSuffix()

TString RooAbsReal::integralNameSuffix ( const RooArgSet iset,
const RooArgSet nset = nullptr,
const char *  rangeName = nullptr,
bool  omitEmpty = false 
) const
protected

Construct std::string with unique suffix name to give to integral object that encodes integrated observables, normalization observables and the integration range name.

Definition at line 770 of file RooAbsReal.cxx.

◆ IsA()

TClass * RooAbsReal::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TObject.

Reimplemented in RooStats::HistFactory::RooBarlowBeestonLL, RooArgusBG, RooBCPEffDecay, RooBCPGenDecay, RooBDecay, RooBernstein, RooBifurGauss, RooBMixDecay, RooBreitWigner, RooBukinPdf, RooCBShape, RooCFunction1Binding< VO, VI >, RooCFunction1PdfBinding< VO, VI >, RooCFunction2Binding< VO, VI1, VI2 >, RooCFunction2PdfBinding< VO, VI1, VI2 >, RooCFunction3Binding< VO, VI1, VI2, VI3 >, RooCFunction3PdfBinding< VO, VI1, VI2, VI3 >, RooCFunction4Binding< VO, VI1, VI2, VI3, VI4 >, RooCFunction4PdfBinding< VO, VI1, VI2, VI3, VI4 >, RooChebychev, RooChiSquarePdf, RooCrystalBall, RooDecay, RooDstD0BG, RooExponential, RooFunctor1DBinding, RooFunctor1DPdfBinding, RooFunctorBinding, RooFunctorPdfBinding, RooGamma, RooGaussian, RooGaussModel, RooGExpModel, RooHistConstraint, RooIntegralMorph, RooJeffreysPrior, RooJohnson, RooKeysPdf, RooLagrangianMorphFunc, RooLandau, RooLognormal, RooMomentMorph, RooMomentMorphFunc, RooMomentMorphFuncND, RooMomentMorphND, RooMultiBinomial, RooNDKeysPdf, RooNonCPEigenDecay, RooNovosibirsk, RooParametricStepFunction, RooParamHistFunc, RooPoisson, RooPolynomial, RooStepFunction, RooTFnBinding, RooTFnPdfBinding, RooUnblindCPAsymVar, RooUnblindOffset, RooUnblindPrecision, RooUnblindUniform, RooUniform, RooVoigtian, RooAbsRealLValue, RooAbsSelfCachedPdf, RooAbsSelfCachedReal, RooAbsTestStatistic, RooAddition, RooAddModel, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooCachedPdf, RooCachedReal, RooChangeTracker, RooChi2Var, RooConstraintSum, RooConstVar, RooConvCoefVar, RooDataWeightedAverage, RooDerivative, RooEfficiency, RooEffProd, RooErrorVar, RooExtendedBinding, RooExtendedTerm, RooExtendPdf, RooFFTConvPdf, RooFirstMoment, RooFit::TestStatistics::RooRealL, RooFormulaVar, RooFracRemainder, RooGenericPdf, RooGenProdProj, RooHistFunc, RooHistPdf, RooLinearCombination, RooLinearVar, RooMoment, RooMultiVarGaussian, RooNLLVar, RooNumCdf, RooNumConvolution, RooNumConvPdf, RooNumRunningInt, RooPolyFunc, RooPolyVar, RooProdPdf, RooProduct, RooProfileLL, RooProjectedPdf, RooPullVar, RooRangeBoolean, RooRatio, RooRealIntegral, RooRealMPFE, RooRealSumFunc, RooRealSumPdf, RooRealVar, RooRecursiveFraction, RooResolutionModel, RooSecondMoment, RooSimultaneous, RooTruthModel, RooWrapperPdf, RooXYChi2Var, RooLegendre, RooNonCentralChiSquare, and RooSpHarmonic.

Definition at line 601 of file RooAbsReal.h.

◆ isBinnedDistribution()

virtual bool RooAbsReal::isBinnedDistribution ( const RooArgSet ) const
inlinevirtual

Tests if the distribution is binned. Unless overridden by derived classes, this always returns false.

Reimplemented in RooParamHistFunc, RooBinSamplingPdf, RooHistFunc, RooHistPdf, ParamHistFunc, PiecewiseInterpolation, RooLagrangianMorphFunc, RooMomentMorphFunc, RooAddition, RooAddPdf, RooBinWidthFunction, RooProdPdf, RooProduct, RooRealSumFunc, RooRealSumPdf, RooWrapperPdf, and PdfWrapper.

Definition at line 358 of file RooAbsReal.h.

◆ isIdentical()

bool RooAbsReal::isIdentical ( const RooAbsArg other,
bool  assumeSameType = false 
) const
overridevirtual

Implements RooAbsArg.

Definition at line 211 of file RooAbsReal.cxx.

◆ isOffsetting()

virtual bool RooAbsReal::isOffsetting ( ) const
inlinevirtual

Reimplemented in RooAbsTestStatistic.

Definition at line 385 of file RooAbsReal.h.

◆ isSelectedComp()

bool RooAbsReal::isSelectedComp ( ) const

If true, the current pdf is a selected component (for use in plotting)

Definition at line 3086 of file RooAbsReal.cxx.

◆ isValid()

bool RooAbsReal::isValid ( ) const
inlineoverrideprotectedvirtual

Check if current value is valid.

Reimplemented from RooAbsArg.

Reimplemented in RooRealIntegral.

Definition at line 449 of file RooAbsReal.h.

◆ isValidReal()

virtual bool RooAbsReal::isValidReal ( double  ,
bool  printError = false 
) const
inlineprotectedvirtual

Interface function to check if given value is a valid value for this object. Returns true unless overridden.

Reimplemented in RooGenericPdf, RooAbsRealLValue, RooRealIntegral, and RooFormulaVar.

Definition at line 451 of file RooAbsReal.h.

◆ logEvalError() [1/2]

void RooAbsReal::logEvalError ( const char *  message,
const char *  serverValueString = nullptr 
) const

Log evaluation error message.

Evaluation errors may be routed through a different protocol than generic RooFit warning message (which go straight through RooMsgService) because evaluation errors can occur in very large numbers in the use of likelihood evaluations. In logEvalError mode, controlled by global method enableEvalErrorLogging() messages reported through this function are not printed but all stored in a std::list, along with server values at the time of reporting. Error messages logged in this way can be printed in a structured way, eliminating duplicates and with the ability to truncate the std::list by printEvalErrors. This is the standard mode of error logging during MINUIT operations. If enableEvalErrorLogging() is false, all errors reported through this method are passed for immediate printing through RooMsgService. A std::string with server names and values is constructed automatically for error logging purposes, unless a custom std::string with similar information is passed as argument.

Definition at line 3598 of file RooAbsReal.cxx.

◆ logEvalError() [2/2]

void RooAbsReal::logEvalError ( const RooAbsReal originator,
const char *  origName,
const char *  message,
const char *  serverValueString = nullptr 
)
static

Interface to insert remote error logging messages received by RooRealMPFE into current error loggin stream.

Definition at line 3543 of file RooAbsReal.cxx.

◆ makeProjectionSet()

void RooAbsReal::makeProjectionSet ( const RooAbsArg plotVar,
const RooArgSet allVars,
RooArgSet projectedVars,
bool  silent 
) const
protected

Utility function for plotOn() that constructs the set of observables to project when plotting ourselves as function of 'plotVar'.

'allVars' is the std::list of variables that must be projected, but may contain variables that we do not depend on. If 'silent' is cleared, warnings about inconsistent input parameters will be printed.

Definition at line 3033 of file RooAbsReal.cxx.

◆ matchArgs() [1/5]

bool RooAbsReal::matchArgs ( const RooArgSet allDeps,
RooArgSet analDeps,
const RooArgProxy a 
) const
protected

Utility function for use in getAnalyticalIntegral().

If the content of proxy 'a' occurs in set 'allDeps' then the argument held in 'a' is copied from allDeps to analDeps

Definition at line 3275 of file RooAbsReal.cxx.

◆ matchArgs() [2/5]

bool RooAbsReal::matchArgs ( const RooArgSet allDeps,
RooArgSet analDeps,
const RooArgProxy a,
const RooArgProxy b 
) const
protected

Utility function for use in getAnalyticalIntegral().

If the contents of proxies a,b occur in set 'allDeps' then the arguments held in a,b are copied from allDeps to analDeps

Definition at line 3292 of file RooAbsReal.cxx.

◆ matchArgs() [3/5]

bool RooAbsReal::matchArgs ( const RooArgSet allDeps,
RooArgSet analDeps,
const RooArgProxy a,
const RooArgProxy b,
const RooArgProxy c 
) const
protected

Utility function for use in getAnalyticalIntegral().

If the contents of proxies a,b,c occur in set 'allDeps' then the arguments held in a,b,c are copied from allDeps to analDeps

Definition at line 3310 of file RooAbsReal.cxx.

◆ matchArgs() [4/5]

bool RooAbsReal::matchArgs ( const RooArgSet allDeps,
RooArgSet analDeps,
const RooArgProxy a,
const RooArgProxy b,
const RooArgProxy c,
const RooArgProxy d 
) const
protected

Utility function for use in getAnalyticalIntegral().

If the contents of proxies a,b,c,d occur in set 'allDeps' then the arguments held in a,b,c,d are copied from allDeps to analDeps

Definition at line 3330 of file RooAbsReal.cxx.

◆ matchArgs() [5/5]

bool RooAbsReal::matchArgs ( const RooArgSet allDeps,
RooArgSet analDeps,
const RooArgSet refset 
) const
protected

Utility function for use in getAnalyticalIntegral().

If the contents of 'refset' occur in set 'allDeps' then the arguments held in 'refset' are copied from allDeps to analDeps.

Definition at line 3350 of file RooAbsReal.cxx.

◆ matchArgsByName()

bool RooAbsReal::matchArgsByName ( const RooArgSet allArgs,
RooArgSet matchedArgs,
const TList nameList 
) const
private

Check if allArgs contains matching elements for each name in nameList.

If it does, add the corresponding args from allArgs to matchedArgs and return true. Otherwise return false and do not change matchedArgs.

Definition at line 3370 of file RooAbsReal.cxx.

◆ maxVal()

double RooAbsReal::maxVal ( Int_t  code) const
virtual

Return maximum value for set of observables identified by code assigned in getMaxVal.

Reimplemented in RooCBShape, RooCrystalBall, RooKeysPdf, RooBinSamplingPdf, RooFFTConvPdf, RooHistFunc, RooHistPdf, RooWrapperPdf, RooLegendre, and RooSpHarmonic.

Definition at line 3532 of file RooAbsReal.cxx.

◆ mean() [1/2]

RooAbsMoment * RooAbsReal::mean ( RooRealVar obs)
inline

Definition at line 374 of file RooAbsReal.h.

◆ mean() [2/2]

RooAbsMoment * RooAbsReal::mean ( RooRealVar obs,
const RooArgSet nset 
)
inline

Definition at line 375 of file RooAbsReal.h.

◆ minTrialSamples()

virtual Int_t RooAbsReal::minTrialSamples ( const RooArgSet ) const
inlinevirtual

Reimplemented in RooBinSamplingPdf, and RooWrapperPdf.

Definition at line 246 of file RooAbsReal.h.

◆ moment() [1/2]

RooAbsMoment * RooAbsReal::moment ( RooRealVar obs,
const RooArgSet normObs,
Int_t  order,
bool  central,
bool  takeRoot,
bool  intNormObs 
)

Return function representing moment of p.d.f (normalized w.r.t given observables) of given order.

Parameters
[in]obsObservable to calculate the moments for
[in]normObsNormalise w.r.t. these observables
[in]orderOrder of the moment
[in]centralIf true, the central moment is given by \( \langle (x- \langle x \rangle )^2 \rangle \)
[in]takeRootCalculate the square root
[in]intNormObsIf true, the moment of the function integrated over all normalization observables is returned.

Definition at line 4163 of file RooAbsReal.cxx.

◆ moment() [2/2]

RooAbsMoment * RooAbsReal::moment ( RooRealVar obs,
Int_t  order,
bool  central,
bool  takeRoot 
)

Return function representing moment of function of given order.

Parameters
[in]obsObservable to calculate the moments for
[in]orderOrder of the moment
[in]centralIf true, the central moment is given by \( \langle (x- \langle x \rangle )^2 \rangle \)
[in]takeRootCalculate the square root

Definition at line 4144 of file RooAbsReal.cxx.

◆ numEvalErrorItems()

Int_t RooAbsReal::numEvalErrorItems ( )
static

Definition at line 313 of file RooAbsReal.cxx.

◆ numEvalErrors()

Int_t RooAbsReal::numEvalErrors ( )
static

Return the number of logged evaluation errors since the last clearing.

Definition at line 3754 of file RooAbsReal.cxx.

◆ offset()

virtual double RooAbsReal::offset ( ) const
inlinevirtual

Reimplemented in RooAbsTestStatistic.

Definition at line 386 of file RooAbsReal.h.

◆ operator==() [1/2]

bool RooAbsReal::operator== ( const RooAbsArg other) const
overridevirtual

Equality operator when comparing to another RooAbsArg.

Only functional when the other arg is a RooAbsReal

Implements RooAbsArg.

Definition at line 202 of file RooAbsReal.cxx.

◆ operator==() [2/2]

bool RooAbsReal::operator== ( double  value) const

Equality operator comparing to a double.

Definition at line 191 of file RooAbsReal.cxx.

◆ plotAsymOn()

RooPlot * RooAbsReal::plotAsymOn ( RooPlot frame,
const RooAbsCategoryLValue asymCat,
PlotOpt  o 
) const
protectedvirtual

Definition at line 2318 of file RooAbsReal.cxx.

◆ plotOn() [1/3]

RooAbsReal::plotOn ( RooPlot frame,
const RooCmdArg arg1 = RooCmdArg(),
const RooCmdArg arg2 = RooCmdArg(),
const RooCmdArg arg3 = RooCmdArg(),
const RooCmdArg arg4 = RooCmdArg(),
const RooCmdArg arg5 = RooCmdArg(),
const RooCmdArg arg6 = RooCmdArg(),
const RooCmdArg arg7 = RooCmdArg(),
const RooCmdArg arg8 = RooCmdArg(),
const RooCmdArg arg9 = RooCmdArg(),
const RooCmdArg arg10 = RooCmdArg() 
) const
virtual

Plot (project) PDF on specified frame.

If a PDF is plotted in an empty frame, it will show a unit normalized curve in the frame variable, taken at the present value of other observables defined for this PDF.

Parameters
[in]framepointer to RooPlot
[in]arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10Ordered arguments

If a PDF is plotted in a frame in which a dataset has already been plotted, it will show a projected curve integrated over all variables that were present in the shown dataset except for the one on the x-axis. The normalization of the curve will also be adjusted to the event count of the plotted dataset. An informational message will be printed for each projection step that is performed.

This function takes the following named arguments

Projection control
Slice(const RooArgSet& set)

Override default projection behaviour by omitting observables std::listed in set from the projection, i.e. by not integrating over these. Slicing is usually only sensible in discrete observables, by e.g. creating a slice of the PDF at the current value of the category observable.

Slice(RooCategory& cat, const char* label)

Override default projection behaviour by omitting the specified category observable from the projection, i.e., by not integrating over all states of this category. The slice is positioned at the given label value. To pass multiple Slice() commands, please use the Slice(std::map<RooCategory*, std::string> const&) argument explained below.

Slice(std::map<RooCategory*, std::string> const&)

Omits multiple categories from the projection, as explianed above. Can be used with initializer std::lists for convenience, e.g.

pdf.plotOn(frame, Slice({{&tagCategory, "2tag"}, {&jetCategory, "3jet"}});

Project(const RooArgSet& set)

Override default projection behaviour by projecting over observables given in the set, ignoring the default projection behavior. Advanced use only.

ProjWData(const RooAbsData& d)

Override default projection technique (integration). For observables present in given dataset projection of PDF is achieved by constructing an average over all observable values in given set. Consult RooFit plotting tutorial for further explanation of meaning & use of this technique

ProjWData(const RooArgSet& s, const RooAbsData& d)

As above but only consider subset 's' of observables in dataset 'd' for projection through data averaging

ProjectionRange(const char* rn)

Override default range of projection integrals to a different range speficied by given range name. This technique allows you to project a finite width slice in a real-valued observable

NumCPU(Int_t ncpu)

Number of CPUs to use simultaneously to calculate data-weighted projections (only in combination with ProjWData)

Misc content control
PrintEvalErrors(Int_t numErr)

Control number of p.d.f evaluation errors printed per curve. A negative value suppress output completely, a zero value will only print the error count per p.d.f component, a positive value is will print details of each error up to numErr messages per p.d.f component.

EvalErrorValue(double value)

Set curve points at which (pdf) evaluation errors occur to specified value. By default the function value is plotted.

Normalization(double scale, ScaleType code)

Adjust normalization by given scale factor. Interpretation of number depends on code:

  • Relative: relative adjustment factor for a normalized function,
  • NumEvent: scale to match given number of events.
  • Raw: relative adjustment factor for an un-normalized function.

Name(const chat* name)

Give curve specified name in frame. Useful if curve is to be referenced later

Asymmetry(const RooCategory& c)

Show the asymmetry of the PDF in given two-state category [F(+)-F(-)] / [F(+)+F(-)] rather than the PDF projection. Category must have two states with indices -1 and +1 or three states with indeces -1,0 and +1.

ShiftToZero(bool flag)

Shift entire curve such that lowest visible point is at exactly zero. Mostly useful when plotting \( -\log(L) \) or \( \chi^2 \) distributions

AddTo(const char* name, double_t wgtSelf, double_t wgtOther) Add constructed projection to already existing curve with given name and relative weight factors
Components(const char* names) When plotting sums of PDFs, plot only the named components (e.g. only the signal of a signal+background model).
Components(const RooArgSet& compSet)

As above, but pass a RooArgSet of the components themselves.

Plotting control
DrawOption(const char* opt) Select ROOT draw option for resulting TGraph object. Currently supported options are "F" (fill), "L" (line), and "P" (points).
Note
Option "P" will cause RooFit to plot (and treat) this pdf as if it were data! This is intended for plotting "corrected data"-type pdfs such as "data-minus-background" or unfolded datasets.
LineStyle(Int_t style)

Select line style by ROOT line style code, default is solid

LineColor(Int_t color)

Select line color by ROOT color code, default is blue

LineWidth(Int_t width)

Select line with in pixels, default is 3

MarkerStyle(Int_t style)

Select the ROOT marker style, default is 21

MarkerColor(Int_t color)

Select the ROOT marker color, default is black

MarkerSize(double size)

Select the ROOT marker size

FillStyle(Int_t style) Select fill style, default is not filled. If a filled style is selected, also use VLines() to add vertical downward lines at end of curve to ensure proper closure. Add DrawOption("F") for filled drawing.
FillColor(Int_t color)

Select fill color by ROOT color code

Range(const char* name)

Only draw curve in range defined by given name

Range(double lo, double hi)

Only draw curve in specified range

VLines()

Add vertical lines to y=0 at end points of curve

Precision(double eps)

Control precision of drawn curve w.r.t to scale of plot, default is 1e-3. Higher precision will result in more and more densely spaced curve points

Invisible(bool flag)

Add curve to frame, but do not display. Useful in combination AddTo()

VisualizeError(const RooFitResult& fitres, double Z=1, bool linearMethod=true)

Visualize the uncertainty on the parameters, as given in fitres, at 'Z' sigma'. The linear method is fast but may not be accurate in the presence of strong correlations (~>0.9) and at Z>2 due to linear and Gaussian approximations made. Intervals from the sampling method can be asymmetric, and may perform better in the presence of strong correlations, but may take (much) longer to calculate

VisualizeError(const RooFitResult& fitres, const RooArgSet& param, double Z=1, bool linearMethod=true) Visualize the uncertainty on the subset of parameters 'param', as given in fitres, at 'Z' sigma'

Details on error band visualization

VisualizeError() uses plotOnWithErrorBand(). Documentation of the latter:

See also
plotOnWithErrorBand()

PyROOT

The RooAbsReal::plotOn() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.

Reimplemented in RooSimultaneous, RooAbsPdf, and RooSimultaneous.

Definition at line 1652 of file RooAbsReal.cxx.

◆ plotOn() [2/3]

RooPlot * RooAbsReal::plotOn ( RooPlot frame,
PlotOpt  o 
) const
protectedvirtual

Plotting engine function for internal use.

Plot ourselves on given frame. If frame contains a histogram, all dimensions of the plotted function that occur in the previously plotted dataset are projected via partial integration, otherwise no projections are performed. Optionally, certain projections can be performed by summing over the values present in a provided dataset ('projData'), to correctly project out data dependents that are not properly described by the PDF (e.g. per-event errors).

The functions value can be multiplied with an optional scale factor. The interpretation of the scale factor is unique for generic real functions, for PDFs there are various interpretations possible, which can be selection with 'stype' (see RooAbsPdf::plotOn() for details).

The default projection behaviour can be overriden by supplying an optional set of dependents to project. For most cases, plotSliceOn() and plotProjOn() provide a more intuitive interface to modify the default projection behaviour.

Reimplemented in RooAbsPdf, and RooSimultaneous.

Definition at line 1944 of file RooAbsReal.cxx.

◆ plotOn() [3/3]

RooPlot * RooAbsReal::plotOn ( RooPlot frame,
RooLinkedList cmdList 
) const
virtual

Internal back-end function of plotOn() with named arguments.

Reimplemented in RooAbsPdf, RooSimultaneous, and RooSimultaneous.

Definition at line 1672 of file RooAbsReal.cxx.

◆ plotOnCompSelect()

void RooAbsReal::plotOnCompSelect ( RooArgSet selNodes) const
protected

Helper function for plotting of composite p.d.fs.

Given a set of selected components that should be plotted, find all nodes that (in)directly depend on these selected nodes. Mark all directly and indirecty selected nodes as 'selected' using the selectComp() method

Definition at line 1479 of file RooAbsReal.cxx.

◆ plotOnWithErrorBand()

RooPlot * RooAbsReal::plotOnWithErrorBand ( RooPlot frame,
const RooFitResult fr,
double  Z,
const RooArgSet params,
const RooLinkedList argList,
bool  linMethod 
) const
protected

Plot function or PDF on frame with support for visualization of the uncertainty encoded in the given fit result fr.

Parameters
[in]frameRooPlot to plot on
[in]frThe RooFitResult, where errors can be extracted
[in]ZThe desired significance (width) of the error band
[in]paramsIf non-zero, consider only the subset of the parameters in fr for the error evaluation
[in]argListOptional RooCmdArg that can be applied to a regular plotOn() operation
[in]linMethodBy default (linMethod=true), a linearized error is shown.
Returns
The RooPlot the band was plotted on (for chaining of plotting commands).

The linearized error is calculated as follows:

\[ \mathrm{error}(x) = Z * F_a(x) * \mathrm{Corr}(a,a') * F_{a'}^\mathrm{T}(x), \]

where

\[ F_a(x) = \frac{ f(x,a+\mathrm{d}a) - f(x,a-\mathrm{d}a) }{2}, \]

with \( f(x) \) the plotted curve and \( \mathrm{d}a \) taken from the fit result, and \( \mathrm{Corr}(a,a') \) = the correlation matrix from the fit result, and \( Z \) = requested signifance ( \( Z \sigma \) band)

The linear method is fast (required 2*N evaluations of the curve, where N is the number of parameters), but may not be accurate in the presence of strong correlations (~>0.9) and at Z>2 due to linear and Gaussian approximations made

Alternatively, a more robust error is calculated using a sampling method. In this method a number of curves is calculated with variations of the parameter values, as drawn from a multi-variate Gaussian p.d.f. that is constructed from the fit results covariance matrix. The error(x) is determined by calculating a central interval that capture N% of the variations for each value of x, where N% is controlled by Z (i.e. Z=1 gives N=68%). The number of sampling curves is chosen to be such that at least 30 curves are expected to be outside the N% interval, and is minimally 100 (e.g. Z=1->Ncurve=100, Z=2->Ncurve=659, Z=3->Ncurve=11111) Intervals from the sampling method can be asymmetric, and may perform better in the presence of strong correlations, but may take (much) longer to calculate.

Definition at line 2732 of file RooAbsReal.cxx.

◆ plotSamplingHint()

std::list< double > * RooAbsReal::plotSamplingHint ( RooAbsRealLValue obs,
double  xlo,
double  xhi 
) const
virtual

Interface for returning an optional hint for initial sampling points when constructing a curve projected on observable obs.

Parameters
[in]obsObservable to retrieve sampling hint for.
[in]xloBeginning of range.
[in]xhiEnd of range.
Returns
The caller owns the returned std::list.

Reimplemented in RooLagrangianMorphFunc, RooAddition, RooFormulaVar, RooProduct, RooRealSumFunc, RooRealSumPdf, ParamHistFunc, PiecewiseInterpolation, RooMomentMorphFunc, RooParamHistFunc, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooHistFunc, RooHistPdf, RooLinearCombination, RooProdPdf, RooRangeBoolean, RooRealIntegral, and RooWrapperPdf.

Definition at line 3704 of file RooAbsReal.cxx.

◆ plotSanityChecks()

bool RooAbsReal::plotSanityChecks ( RooPlot frame) const
protected

Utility function for plotOn(), perform general sanity check on frame to ensure safe plotting operations.

Definition at line 2990 of file RooAbsReal.cxx.

◆ plotSliceOn()

RooPlot * RooAbsReal::plotSliceOn ( RooPlot frame,
const RooArgSet sliceSet,
Option_t drawOptions = "L",
double  scaleFactor = 1.0,
ScaleType  stype = Relative,
const RooAbsData projData = nullptr 
) const
virtual
Deprecated:
OBSOLETE – RETAINED FOR BACKWARD COMPATIBILITY. Use plotOn() with Slice() instead

Definition at line 2287 of file RooAbsReal.cxx.

◆ preferredObservableScanOrder()

void RooAbsReal::preferredObservableScanOrder ( const RooArgSet obs,
RooArgSet orderedObs 
) const
virtual

Interface method for function objects to indicate their preferred order of observables for scanning their values into a (multi-dimensional) histogram or RooDataSet.

The observables to be ordered are offered in argument 'obs' and should be copied in their preferred order into argument 'orderdObs', This default implementation indicates no preference and copies the original order of 'obs' into 'orderedObs'

Reimplemented in RooIntegralMorph, and RooCachedPdf.

Definition at line 3823 of file RooAbsReal.cxx.

◆ printEvalErrors()

void RooAbsReal::printEvalErrors ( std::ostream &  os = std::cout,
Int_t  maxPerNode = 10000000 
)
static

Print all outstanding logged evaluation error on the given ostream.

If maxPerNode is zero, only the number of errors for each source (object with unique name) is std::listed. If maxPerNode is greater than zero, up to maxPerNode detailed error messages are shown per source of errors. A truncation message is shown if there were more errors logged than shown.

Definition at line 3715 of file RooAbsReal.cxx.

◆ printMultiline()

void RooAbsReal::printMultiline ( std::ostream &  os,
Int_t  contents,
bool  verbose = false,
TString  indent = "" 
) const
overridevirtual

Structure printing.

Reimplemented from RooAbsArg.

Reimplemented in RooGenericPdf, RooResolutionModel, RooAbsRealLValue, RooFormulaVar, RooRealIntegral, RooRealVar, and ROOT::Experimental::RooAbsRealWrapper.

Definition at line 466 of file RooAbsReal.cxx.

◆ printValue()

void RooAbsReal::printValue ( std::ostream &  os) const
overridevirtual

Print object value.

Reimplemented from RooPrintable.

Reimplemented in RooRealVar.

Definition at line 456 of file RooAbsReal.cxx.

◆ readFromStream()

bool RooAbsReal::readFromStream ( std::istream &  is,
bool  compact,
bool  verbose = false 
)
overridevirtual

Read object contents from stream (dummy for now)

Implements RooAbsArg.

Reimplemented in RooAbsRealLValue, RooErrorVar, RooFormulaVar, RooGenericPdf, RooLinearVar, and RooRealVar.

Definition at line 437 of file RooAbsReal.cxx.

◆ redirectServersHook()

bool RooAbsReal::redirectServersHook ( const RooAbsCollection newServerList,
bool  mustReplaceAll,
bool  nameChange,
bool  isRecursiveStep 
)
overrideprotectedvirtual

A buffer for reading values from trees.

Reimplemented from RooAbsArg.

Reimplemented in RooAddPdf, RooDerivative, RooProdPdf, RooProfileLL, RooAbsTestStatistic, RooFormulaVar, RooGenericPdf, RooNumConvolution, RooRealIntegral, RooResolutionModel, and RooProjectedPdf.

Definition at line 4888 of file RooAbsReal.cxx.

◆ selectComp()

void RooAbsReal::selectComp ( bool  flag)
inline

Definition at line 409 of file RooAbsReal.h.

◆ selectNormalization()

void RooAbsReal::selectNormalization ( const RooArgSet depSet = nullptr,
bool  force = false 
)
protectedvirtual

Interface function to force use of a given set of observables to interpret function value.

Needed for functions or p.d.f.s whose shape depends on the choice of normalization such as RooAddPdf

Reimplemented in RooAddModel, RooAddPdf, and RooSimultaneous.

Definition at line 3495 of file RooAbsReal.cxx.

◆ selectNormalizationRange()

void RooAbsReal::selectNormalizationRange ( const char *  rangeName = nullptr,
bool  force = false 
)
protectedvirtual

Interface function to force use of a given normalization range to interpret function value.

Needed for functions or p.d.f.s whose shape depends on the choice of normalization such as RooAddPdf

Reimplemented in RooBernstein, RooChebychev, RooAddModel, RooAddPdf, RooProdPdf, and RooSimultaneous.

Definition at line 3508 of file RooAbsReal.cxx.

◆ setCachedValue()

void RooAbsReal::setCachedValue ( double  value,
bool  notifyClients = true 
)
inlinefinalvirtual

Overwrite the value stored in this object's cache.

This can be used to fake a computation that resulted in value.

Parameters
[in]valueValue to write.
[in]notifyClientsIf true, notify users of this object that its value changed. This is the default.

Reimplemented from RooAbsArg.

Definition at line 621 of file RooAbsReal.h.

◆ setData()

virtual bool RooAbsReal::setData ( RooAbsData ,
bool  = true 
)
inlinevirtual

◆ setEvalErrorLoggingMode()

void RooAbsReal::setEvalErrorLoggingMode ( RooAbsReal::ErrorLoggingMode  m)
static

Set evaluation error logging mode.

Options are

PrintErrors - Print each error through RooMsgService() as it occurs CollectErrors - Accumulate errors, but do not print them. A subsequent call to printEvalErrors() will print a summary CountErrors - Accumulate error count, but do not print them.

Definition at line 4584 of file RooAbsReal.cxx.

◆ setHideOffset()

void RooAbsReal::setHideOffset ( bool  flag)
static

Definition at line 116 of file RooAbsReal.cxx.

◆ setIntegratorConfig() [1/2]

void RooAbsReal::setIntegratorConfig ( )

Remove the specialized numeric integration configuration associated with this object.

Definition at line 3478 of file RooAbsReal.cxx.

◆ setIntegratorConfig() [2/2]

void RooAbsReal::setIntegratorConfig ( const RooNumIntConfig config)

Set the given integrator configuration as default numeric integration configuration for this object.

Definition at line 3464 of file RooAbsReal.cxx.

◆ setParameterizeIntegral()

void RooAbsReal::setParameterizeIntegral ( const RooArgSet paramVars)

Definition at line 4592 of file RooAbsReal.cxx.

◆ setPlotLabel()

void RooAbsReal::setPlotLabel ( const char *  label)

Set the label associated with this variable.

Definition at line 427 of file RooAbsReal.cxx.

◆ setTreeBranchStatus()

void RooAbsReal::setTreeBranchStatus ( TTree t,
bool  active 
)
overrideprotectedvirtual

(De)Activate associated tree branch

Implements RooAbsArg.

Definition at line 3245 of file RooAbsReal.cxx.

◆ setUnit()

void RooAbsReal::setUnit ( const char *  unit)
inline

Definition at line 151 of file RooAbsReal.h.

◆ sigma() [1/2]

RooAbsMoment * RooAbsReal::sigma ( RooRealVar obs)
inline

Definition at line 376 of file RooAbsReal.h.

◆ sigma() [2/2]

RooAbsMoment * RooAbsReal::sigma ( RooRealVar obs,
const RooArgSet nset 
)
inline

Definition at line 377 of file RooAbsReal.h.

◆ specialIntegratorConfig() [1/2]

RooNumIntConfig * RooAbsReal::specialIntegratorConfig ( ) const

Returns the specialized integrator configuration for this RooAbsReal.

If this object has no specialized configuration, a null pointer is returned.

Definition at line 3411 of file RooAbsReal.cxx.

◆ specialIntegratorConfig() [2/2]

RooNumIntConfig * RooAbsReal::specialIntegratorConfig ( bool  createOnTheFly)

Returns the specialized integrator configuration for this RooAbsReal.

If this object has no specialized configuration, a null pointer is returned, unless createOnTheFly is true in which case a clone of the default integrator configuration is created, installed as specialized configuration, and returned

Definition at line 3423 of file RooAbsReal.cxx.

◆ Streamer()

void RooAbsReal::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TObject.

Reimplemented from TObject.

Reimplemented in RooStats::HistFactory::RooBarlowBeestonLL, RooArgusBG, RooBCPEffDecay, RooBCPGenDecay, RooBDecay, RooBernstein, RooBifurGauss, RooBMixDecay, RooBreitWigner, RooBukinPdf, RooCBShape, RooCFunction1Binding< VO, VI >, RooCFunction1PdfBinding< VO, VI >, RooCFunction2Binding< VO, VI1, VI2 >, RooCFunction2PdfBinding< VO, VI1, VI2 >, RooCFunction3Binding< VO, VI1, VI2, VI3 >, RooCFunction3PdfBinding< VO, VI1, VI2, VI3 >, RooCFunction4Binding< VO, VI1, VI2, VI3, VI4 >, RooCFunction4PdfBinding< VO, VI1, VI2, VI3, VI4 >, RooChebychev, RooChiSquarePdf, RooCrystalBall, RooDecay, RooDstD0BG, RooExponential, RooFunctor1DBinding, RooFunctor1DPdfBinding, RooFunctorBinding, RooFunctorPdfBinding, RooGamma, RooGaussian, RooGaussModel, RooGExpModel, RooHistConstraint, RooIntegralMorph, RooJeffreysPrior, RooJohnson, RooKeysPdf, RooLagrangianMorphFunc, RooLandau, RooLognormal, RooMomentMorph, RooMomentMorphFunc, RooMomentMorphFuncND, RooMomentMorphND, RooMultiBinomial, RooNDKeysPdf, RooNonCPEigenDecay, RooNovosibirsk, RooParametricStepFunction, RooParamHistFunc, RooPoisson, RooPolynomial, RooStepFunction, RooTFnBinding, RooTFnPdfBinding, RooUnblindCPAsymVar, RooUnblindOffset, RooUnblindPrecision, RooUnblindUniform, RooUniform, RooVoigtian, RooAbsRealLValue, RooAbsSelfCachedPdf, RooAbsSelfCachedReal, RooAbsTestStatistic, RooAddition, RooAddModel, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooCachedPdf, RooCachedReal, RooChangeTracker, RooChi2Var, RooConstraintSum, RooConstVar, RooConvCoefVar, RooDataWeightedAverage, RooDerivative, RooEfficiency, RooEffProd, RooErrorVar, RooExtendedBinding, RooExtendedTerm, RooExtendPdf, RooFFTConvPdf, RooFirstMoment, RooFit::TestStatistics::RooRealL, RooFormulaVar, RooFracRemainder, RooGenericPdf, RooGenProdProj, RooHistFunc, RooHistPdf, RooLinearCombination, RooLinearVar, RooMoment, RooMultiVarGaussian, RooNLLVar, RooNumCdf, RooNumConvolution, RooNumConvPdf, RooNumRunningInt, RooPolyFunc, RooPolyVar, RooProdPdf, RooProduct, RooProfileLL, RooProjectedPdf, RooPullVar, RooRangeBoolean, RooRatio, RooRealIntegral, RooRealMPFE, RooRealSumFunc, RooRealSumPdf, RooRealVar, RooRecursiveFraction, RooResolutionModel, RooSecondMoment, RooSimultaneous, RooTruthModel, RooWrapperPdf, RooXYChi2Var, RooLegendre, RooNonCentralChiSquare, and RooSpHarmonic.

◆ StreamerNVirtual()

void RooAbsReal::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 601 of file RooAbsReal.h.

◆ syncCache()

void RooAbsReal::syncCache ( const RooArgSet set = nullptr)
inlineoverrideprotectedvirtual

Implements RooAbsArg.

Reimplemented in RooErrorVar.

Definition at line 499 of file RooAbsReal.h.

◆ traceEval()

double RooAbsReal::traceEval ( const RooArgSet set) const
protected

Calculate current value of object, with error tracing wrapper.

Definition at line 330 of file RooAbsReal.cxx.

◆ writeToStream()

void RooAbsReal::writeToStream ( std::ostream &  os,
bool  compact 
) const
overridevirtual

Write object contents to stream (dummy for now)

Implements RooAbsArg.

Reimplemented in RooAbsRealLValue, RooConstVar, RooErrorVar, RooFormulaVar, RooGenericPdf, RooLinearVar, and RooRealVar.

Definition at line 447 of file RooAbsReal.cxx.

Friends And Related Symbol Documentation

◆ BatchInterfaceAccessor

friend class BatchInterfaceAccessor
friend

Definition at line 488 of file RooAbsReal.h.

◆ RooAddHelpers

friend class RooAddHelpers
friend

Definition at line 493 of file RooAbsReal.h.

◆ RooAddModel

friend class RooAddModel
friend

Definition at line 495 of file RooAbsReal.h.

◆ RooAddPdf

friend class RooAddPdf
friend

Definition at line 494 of file RooAbsReal.h.

◆ RooFit::Detail::DataMap

friend class RooFit::Detail::DataMap
friend

Definition at line 496 of file RooAbsReal.h.

◆ RooRealBinding

friend class RooRealBinding
friend

Definition at line 490 of file RooAbsReal.h.

◆ RooRealSumFunc

friend class RooRealSumFunc
friend

Definition at line 492 of file RooAbsReal.h.

◆ RooRealSumPdf

friend class RooRealSumPdf
friend

Definition at line 491 of file RooAbsReal.h.

◆ RooVectorDataStore

friend class RooVectorDataStore
friend

Definition at line 489 of file RooAbsReal.h.

Member Data Documentation

◆ _evalErrorCount

Int_t RooAbsReal::_evalErrorCount = 0
staticprivate

Definition at line 566 of file RooAbsReal.h.

◆ _evalErrorList

std::map< const RooAbsArg *, std::pair< std::string, std::list< RooAbsReal::EvalError > > > RooAbsReal::_evalErrorList
staticprivate

Definition at line 565 of file RooAbsReal.h.

◆ _evalErrorMode

RooAbsReal::ErrorLoggingMode RooAbsReal::_evalErrorMode = RooAbsReal::PrintErrors
staticprivate

Definition at line 564 of file RooAbsReal.h.

◆ _forceNumInt

bool RooAbsReal::_forceNumInt
protected

Force numerical integration if flag set.

Definition at line 512 of file RooAbsReal.h.

◆ _globalSelectComp

bool RooAbsReal::_globalSelectComp = false
staticprotected

Component selection flag for RooAbsPdf::plotCompOn.

Definition at line 579 of file RooAbsReal.h.

◆ _hideOffset

bool RooAbsReal::_hideOffset = true
staticprotected

Offset hiding flag.

Definition at line 599 of file RooAbsReal.h.

◆ _label

TString RooAbsReal::_label
protected

Plot label for objects value.

Definition at line 511 of file RooAbsReal.h.

◆ _lastNSet

RooArgSet* RooAbsReal::_lastNSet
mutableprotected

!

Definition at line 598 of file RooAbsReal.h.

◆ _plotBins

Int_t RooAbsReal::_plotBins
protected

Number of plot bins.

Definition at line 508 of file RooAbsReal.h.

◆ _plotMax

double RooAbsReal::_plotMax
protected

Maximum of plot range.

Definition at line 507 of file RooAbsReal.h.

◆ _plotMin

double RooAbsReal::_plotMin
protected

Minimum of plot range.

Definition at line 506 of file RooAbsReal.h.

◆ _selectComp

bool RooAbsReal::_selectComp
protected

Definition at line 578 of file RooAbsReal.h.

◆ _specIntegratorConfig

RooNumIntConfig* RooAbsReal::_specIntegratorConfig
protected

Definition at line 514 of file RooAbsReal.h.

◆ _treeReadBuffer

std::unique_ptr<TreeReadBuffer> RooAbsReal::_treeReadBuffer
private

Definition at line 570 of file RooAbsReal.h.

◆ _unit

TString RooAbsReal::_unit
protected

Unit for objects value.

Definition at line 510 of file RooAbsReal.h.

◆ _value

double RooAbsReal::_value
mutableprotected

Cache for current value of object.

Definition at line 509 of file RooAbsReal.h.

Libraries for RooAbsReal:

The documentation for this class was generated from the following files: