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

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 59 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
 
class  Ref
 A RooAbsReal::Ref can be constructed from a RooAbsReal& or a double that will be implicitly converted to a RooConstVar&. More...
 

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.
 
RooFit::OwningPtr< 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 std::string buildCallToAnalyticIntegral (Int_t code, const char *rangeName, RooFit::Detail::CodeSquashContext &ctx) const
 This function defines the analytical integral translation for the class.
 
virtual RooFit::OwningPtr< RooFitResultchi2FitTo (RooDataHist &data, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={})
 Perform a \( \chi^2 \) fit to given histogram.
 
virtual RooFit::OwningPtr< RooFitResultchi2FitTo (RooDataHist &data, const RooLinkedList &cmdList)
 Calls RooAbsReal::createChi2(RooDataSet& data, const RooLinkedList& cmdList) and returns fit result.
 
virtual RooFit::OwningPtr< RooFitResultchi2FitTo (RooDataSet &xydata, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={})
 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 RooFit::OwningPtr< RooAbsRealcreateChi2 (RooDataHist &data, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={})
 Create a \( \chi^2 \) variable from a histogram and this function.
 
virtual RooFit::OwningPtr< RooAbsRealcreateChi2 (RooDataHist &data, const RooLinkedList &cmdList)
 
virtual RooFit::OwningPtr< RooAbsRealcreateChi2 (RooDataSet &data, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={})
 Create a \( \chi^2 \) from a series of x and y values stored in a dataset.
 
virtual RooFit::OwningPtr< 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&)
 
RooFit::OwningPtr< 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={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) 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 listed in iset.
 
RooFit::OwningPtr< RooAbsRealcreateIntegral (const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) const
 Create an object that represents the integral of the function over one or more observables 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 RooFit::OwningPtr< 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={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={})
 Create an object that represents the running integral of the function over one or more observables 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 doEval (RooFit::EvalContext &) const
 Base function for computing multiple values of a RooAbsReal.
 
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={}) const
 Propagates parameter uncertainties to an uncertainty estimate for this RooAbsReal.
 
TString getTitle (bool appendUnit=false) const
 Return this variable's title 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 double getValV (const RooArgSet *normalisationSet=nullptr) const
 Return value of object.
 
virtual void gradient (double *) const
 
virtual bool hasGradient () const
 
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={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}, const RooCmdArg &arg9={}, const RooCmdArg &arg10={}) 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.
 
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 conjunction 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 expression 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 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 address of this RooAbsArg.
 
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
 
virtual void translate (RooFit::Detail::CodeSquashContext &ctx) const
 This function defines a translation for each RooAbsReal based object that can be used to express the class as simple C++ code.
 
RooWorkspaceworkspace () const
 
TIteratorclientIterator () const R__DEPRECATED(6
 Retrieve a client iterator.
 
TIterator Use clients () and begin()
 
TIterator Use end () or range-based loops.")
 
TIteratorvalueClientIterator () const R__DEPRECATED(6
 
TIterator Use valueClients () and begin()
 
TIterator Use end () or range-based loops.")
 
TIteratorshapeClientIterator () const R__DEPRECATED(6
 
TIterator Use shapeClients () and begin()
 
TIterator Use end () or range-based loops.")
 
TIteratorserverIterator () const R__DEPRECATED(6
 
TIterator Use servers () and begin()
 
TIterator Use end () or range-based loops.")
 
RooFIter valueClientMIterator () const R__DEPRECATED(6
 
RooFIter Use valueClients () and begin()
 
RooFIter Use end () or range-based loops.")
 
RooFIter shapeClientMIterator () const R__DEPRECATED(6
 
RooFIter Use shapeClients () and begin()
 
RooFIter Use end () or range-based loops.")
 
RooFIter serverMIterator () const R__DEPRECATED(6
 
RooFIter Use servers () and begin()
 
RooFIter Use end () or range-based loops.")
 
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 (the base implementation is no-op).
 
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, void *vp)
 Only called by placement new when throwing an exception.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
 
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 logging 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
 
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.
 
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 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().
 
bool matchArgsByName (const RooArgSet &allArgs, RooArgSet &matchedArgs, const TList &nameList) const
 Check if allArgs contains matching elements for each name in nameList.
 
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
 Function that is called at the end of redirectServers().
 
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 = false
 Force numerical integration if flag set.
 
TString _label
 Plot label for objects value.
 
RooFit::UniqueId< RooArgSet >::Value_t _lastNormSetId = RooFit::UniqueId<RooArgSet>::nullval
 Component selection flag for RooAbsPdf::plotCompOn.
 
Int_t _plotBins = 100
 Number of plot bins.
 
double _plotMax = 0.0
 Maximum of plot range.
 
double _plotMin = 0.0
 Minimum of plot range.
 
bool _selectComp = true
 A buffer for reading values from trees.
 
std::unique_ptr< RooNumIntConfig_specIntegratorConfig
 
std::unique_ptr< TreeReadBuffer_treeReadBuffer
 
TString _unit
 Unit for objects value.
 
double _value = 0.0
 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 = false
 
RooExpensiveObjectCache_eocache {nullptr}
 Prohibit server redirects – Debugging tool.
 
bool _fast = false
 
bool _isConstant = false
 De-duplicated name pointer. This will be equal for all objects with the same name.
 
bool _localNoInhibitDirty = false
 Cached isConstant status.
 
RooWorkspace_myws = nullptr
 Prevent 'AlwaysDirty' mode for this node.
 
const TNamed_namePtr = nullptr
 Pointer to global cache manager for any expensive components created by this object.
 
OperMode _operMode = Auto
 
RooArgSet_ownedComponents = nullptr
 
bool _prohibitServerRedirect = false
 Set of owned component.
 
RooRefArray _proxyList
 
ProxyListCache _proxyListCache
 
RefCountList_t _serverList
 
bool _shapeDirty = true
 
std::map< std::string, std::string > _stringAttrib
 
bool _valueDirty = true
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Static Protected Attributes

static Int_t _evalErrorCount = 0
 
static std::map< const RooAbsArg *, std::pair< std::string, std::list< EvalError > > > _evalErrorList
 
static ErrorLoggingMode _evalErrorMode = RooAbsReal::PrintErrors
 
static bool _globalSelectComp = false
 
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.
 

Friends

class AddCacheElem
 
class BatchInterfaceAccessor
 
class RooAddHelpers
 
class RooAddModel
 
class RooAddPdf
 
class RooFit::EvalContext
 
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 347 of file RooAbsReal.h.

◆ value_type

Definition at line 61 of file RooAbsReal.h.

Member Enumeration Documentation

◆ ErrorLoggingMode

Enumerator
PrintErrors 
CollectErrors 
CountErrors 
Ignore 

Definition at line 321 of file RooAbsReal.h.

◆ ScaleType

Enumerator
Raw 
Relative 
NumEvent 
RelativeExpected 

Definition at line 276 of file RooAbsReal.h.

Constructor & Destructor Documentation

◆ RooAbsReal() [1/4]

RooAbsReal::RooAbsReal ( )

coverity[UNINIT_CTOR] Default constructor

Definition at line 180 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 186 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 197 of file RooAbsReal.cxx.

◆ RooAbsReal() [4/4]

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

Copy constructor.

Definition at line 208 of file RooAbsReal.cxx.

◆ ~RooAbsReal()

RooAbsReal::~RooAbsReal ( )
override

Destructor.

Definition at line 222 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 4510 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 378 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 3987 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 3113 of file RooAbsReal.cxx.

◆ attachToVStore()

void RooAbsReal::attachToVStore ( RooVectorDataStore vstore)
overrideprotectedvirtual

Implements RooAbsArg.

Reimplemented in RooRealVar.

Definition at line 3097 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 3640 of file RooAbsReal.cxx.

◆ bindVars()

RooFit::OwningPtr< 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 3065 of file RooAbsReal.cxx.

◆ buildCallToAnalyticIntegral()

std::string RooAbsReal::buildCallToAnalyticIntegral ( Int_t  code,
const char *  rangeName,
RooFit::Detail::CodeSquashContext ctx 
) const
virtual

This function defines the analytical integral translation for the class.

Parameters
[in]codeThe code that decides the integrands.
[in]rangeNameName of the normalization range.
[in]ctxAn object to manage auxiliary information for code-squashing.
Returns
The representative code string of the integral for the given object.

Reimplemented in RooLognormal, RooPoisson, RooHistFunc, RooHistPdf, RooBernstein, RooBifurGauss, RooCBShape, RooChebychev, RooExponential, RooGamma, RooGaussian, RooLandau, RooPolynomial, RooUniform, RooEfficiency, and RooPolyVar.

Definition at line 4501 of file RooAbsReal.cxx.

◆ chi2FitTo() [1/4]

RooFit::OwningPtr< RooFitResult > RooAbsReal::chi2FitTo ( RooDataHist data,
const RooCmdArg arg1 = {},
const RooCmdArg arg2 = {},
const RooCmdArg arg3 = {},
const RooCmdArg arg4 = {},
const RooCmdArg arg5 = {},
const RooCmdArg arg6 = {},
const RooCmdArg arg7 = {},
const RooCmdArg arg8 = {} 
)
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
Extended(bool flag) Only applicable when fitting a RooAbsPdf. Scale the normalized pdf by the number of events predicted by the model instead of scaling by the total data weight. This imposes a constraint on the predicted number of events analogous to the extended term in a likelihood fit.
  • If you don't pass this command, an extended fit will be done by default if the pdf makes a prediction on the number of events (in RooFit jargon, "if the pdf can be extended").
  • Passing Extended(true) when the the pdf makes no prediction on the expected number of events will result in error messages, and the chi2 will fall back to the total data weight to scale the normalized pdf.
  • There are cases where the fit must be done in extended mode. This happens for example when you have a RooAddPdf where the coefficients represent component yields. If the fit is not extended, these coefficients will not be well-defined, as the RooAddPdf always normalizes itself. If you pass Extended(false) in such a case, an error will be printed and you'll most likely get garbage results.
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) Flag 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.

Definition at line 4181 of file RooAbsReal.cxx.

◆ chi2FitTo() [2/4]

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

Calls RooAbsReal::createChi2(RooDataSet& data, const RooLinkedList& cmdList) and returns fit result.

List of possible commands in the cmdList:

Type of CmdArg Effect on \( \chi^2 \)
DataError() Choose between:
  • RooAbsData::Expected: Expected Poisson error ( \( \sqrt{n_\text{expected}} \) from the PDF).
  • RooAbsData::SumW2: The observed error from the square root of the sum of weights, i.e., symmetric errors calculated with the standard deviation of a Poisson distribution.
  • RooAbsData::Poisson: Asymmetric errors from the central 68 % interval around a Poisson distribution with mean \( n_\text{observed} \). If for a given bin \( n_\text{expected} \) is lower than the \( n_\text{observed} \), the lower uncertainty is taken (e.g., the difference between the mean and the 16 % quantile). If \( n_\text{expected} \) is higher than \( n_\text{observed} \), the higher uncertainty is taken (e.g., the difference between the 84 % quantile and the mean).
  • RooAbsData::Auto (default): RooAbsData::Expected for unweighted data, RooAbsData::SumW2 for weighted data.
Extended() Use expected number of events of an extended p.d.f as normalization
NumCPU() Activate parallel processing feature
Range() Calculate \( \chi^2 \) only in selected region
Verbose() Verbose output of GOF framework
IntegrateBins() Integrate PDF within each bin. This sets the desired precision. Only useful for binned fits.
SumCoefRange() Set the range in which to interpret the coefficients of RooAddPdf components
SplitRange() Fit ranges used in different categories get named after the category. Using Range("range"), SplitRange() as switches, different ranges could be set like this:
myVariable.setRange("range_pi0", 135, 210);
myVariable.setRange("range_gamma", 50, 210);
ConditionalObservables(Args_t &&... argsOrArgSet)

Define projected observables. Arguments can either be multiple RooRealVar or a single RooArgSet containing them.

Definition at line 4235 of file RooAbsReal.cxx.

◆ chi2FitTo() [3/4]

RooAbsReal::chi2FitTo ( RooDataSet xydata,
const RooCmdArg arg1 = {},
const RooCmdArg arg2 = {},
const RooCmdArg arg3 = {},
const RooCmdArg arg4 = {},
const RooCmdArg arg5 = {},
const RooCmdArg arg6 = {},
const RooCmdArg arg7 = {},
const RooCmdArg arg8 = {} 
)
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) Flag 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.

Definition at line 4312 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) Flag 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.

Definition at line 4330 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 558 of file RooAbsReal.h.

◆ clearEvalErrorLog()

void RooAbsReal::clearEvalErrorLog ( )
static

Clear the stack of evaluation error messages.

Definition at line 3622 of file RooAbsReal.cxx.

◆ 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 3082 of file RooAbsReal.cxx.

◆ createChi2() [1/4]

RooAbsReal::createChi2 ( RooDataHist data,
const RooCmdArg arg1 = {},
const RooCmdArg arg2 = {},
const RooCmdArg arg3 = {},
const RooCmdArg arg4 = {},
const RooCmdArg arg5 = {},
const RooCmdArg arg6 = {},
const RooCmdArg arg7 = {},
const RooCmdArg arg8 = {} 
)
virtual

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

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

The 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.

Definition at line 4254 of file RooAbsReal.cxx.

◆ createChi2() [2/4]

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

◆ createChi2() [3/4]

RooFit::OwningPtr< RooAbsReal > RooAbsReal::createChi2 ( RooDataSet data,
const RooCmdArg arg1 = {},
const RooCmdArg arg2 = {},
const RooCmdArg arg3 = {},
const RooCmdArg arg4 = {},
const RooCmdArg arg5 = {},
const RooCmdArg arg6 = {},
const RooCmdArg arg7 = {},
const RooCmdArg arg8 = {} 
)
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.

Definition at line 4352 of file RooAbsReal.cxx.

◆ createChi2() [4/4]

◆ createFundamental()

RooFit::OwningPtr< 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 3212 of file RooAbsReal.cxx.

◆ createHistogram() [1/3]

RooAbsReal::createHistogram ( const char *  name,
const RooAbsRealLValue xvar,
const RooCmdArg arg1 = {},
const RooCmdArg arg2 = {},
const RooCmdArg arg3 = {},
const RooCmdArg arg4 = {},
const RooCmdArg arg5 = {},
const RooCmdArg arg6 = {},
const RooCmdArg arg7 = {},
const RooCmdArg arg8 = {} 
) 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 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 1291 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 1309 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 1211 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 207 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 211 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 216 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 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 551 of file RooAbsReal.cxx.

◆ createIntegral() [5/6]

RooAbsReal::createIntegral ( const RooArgSet iset,
const RooCmdArg arg1,
const RooCmdArg arg2 = {},
const RooCmdArg arg3 = {},
const RooCmdArg arg4 = {},
const RooCmdArg arg5 = {},
const RooCmdArg arg6 = {},
const RooCmdArg arg7 = {},
const RooCmdArg arg8 = {} 
) const

Create an object that represents the integral of the function over one or more observables 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 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 512 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 220 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 588 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 3903 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 842 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 813 of file RooAbsReal.cxx.

◆ createProfile()

RooFit::OwningPtr< 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 469 of file RooAbsReal.cxx.

◆ createRunningIntegral() [1/2]

◆ createRunningIntegral() [2/2]

RooAbsReal::createRunningIntegral ( const RooArgSet iset,
const RooCmdArg arg1,
const RooCmdArg arg2 = {},
const RooCmdArg arg3 = {},
const RooCmdArg arg4 = {},
const RooCmdArg arg5 = {},
const RooCmdArg arg6 = {},
const RooCmdArg arg7 = {},
const RooCmdArg arg8 = {} 
)

Create an object that represents the running integral of the function over one or more observables 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 3826 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 3886 of file RooAbsReal.cxx.

◆ DeclFileName()

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

Definition at line 558 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 3354 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 4075 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 4063 of file RooAbsReal.cxx.

◆ doEval()

◆ enableOffsetting()

void RooAbsReal::enableOffsetting ( bool  flag)
virtual

Reimplemented in RooAbsTestStatistic, and RooRealMPFE.

Definition at line 4560 of file RooAbsReal.cxx.

◆ evalErrorIter()

RooAbsReal::EvalErrorIter RooAbsReal::evalErrorIter ( )
static

Definition at line 308 of file RooAbsReal.cxx.

◆ evalErrorLoggingMode()

RooAbsReal::ErrorLoggingMode RooAbsReal::evalErrorLoggingMode ( )
static

Return current evaluation error logging mode.

Definition at line 4378 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 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, RooLegacyExpPoly, RooLognormal, RooMomentMorph, RooMomentMorphFunc, RooMomentMorphFuncND, RooMultiBinomial, RooNDKeysPdf, RooNovosibirsk, RooParametricStepFunction, RooParamHistFunc, RooPoisson, RooPolynomial, RooPowerSum, RooSpline, 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, RooFit::Experimental::RooFuncWrapper, RooGenericPdf, 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, RooGenProdProj, RooNormalizedPdf, RooFixedProdPdf, RooHypatia2, RooLegendre, RooNonCentralChiSquare, RooSpHarmonic, RooStats::Heaviside, ProgressMonitor, xRooProjectedPdf, and PdfWrapper.

◆ 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 1152 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 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 975 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 3181 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 699 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 4127 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 3726 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 3751 of file RooAbsReal.cxx.

◆ forceAnalyticalInt()

◆ forceNumInt()

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

Definition at line 169 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 3963 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, RooLegacyExpPoly, RooLognormal, RooNDKeysPdf, RooNovosibirsk, RooParametricStepFunction, RooPoisson, RooPolynomial, RooPowerSum, RooUniform, RooConvCoefVar, RooEfficiency, RooHistFunc, RooHistPdf, RooMultiVarGaussian, RooPolyVar, RooTruthModel, RooLegendre, RooNonCentralChiSquare, RooSpHarmonic, RooAddition, RooBinSamplingPdf, RooWrapperPdf, and RooFixedProdPdf.

Definition at line 366 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 349 of file RooAbsReal.cxx.

◆ getForceNumInt()

bool RooAbsReal::getForceNumInt ( ) const
inline

Definition at line 174 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 3404 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 3391 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 3468 of file RooAbsReal.cxx.

◆ getPlotLabel()

const char * RooAbsReal::getPlotLabel ( ) const

Get the label associated with the variable.

Definition at line 404 of file RooAbsReal.cxx.

◆ getPropagatedError()

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

Propagates parameter uncertainties to an uncertainty estimate for this RooAbsReal.

Estimates the uncertainty \(\sigma_f(x;\theta)\) on a function \(f(x;\theta)\) represented by this RooAbsReal. Here, \(\theta\) is a vector of parameters with uncertainties \(\sigma_\theta\), and \(x\) are usually observables. The uncertainty is estimated by linearly propagating the parameter uncertainties using the correlation matrix from a fit result.

The square of the uncertainty on \(f(x;\theta)\) is calculated as follows:

\[ \sigma_f(x)^2 = \Delta f_i(x) \cdot \mathrm{Corr}_{i, j} \cdot \Delta f_j(x), \]

where \( \Delta f_i(x) = \frac{1}{2} \left(f(x;\theta_i + \sigma_{\theta_i}) - f(x; \theta_i - \sigma_{\theta_i}) \right) \) is the vector of function variations when changing the parameters one at a time, and \( \mathrm{Corr}_{i,j} = \left(\sigma_{\theta_i} \sigma_{\theta_j}\right)^{-1} \cdot \mathrm{Cov}_{i,j} \) is the correlation matrix from the fit result.

Definition at line 2557 of file RooAbsReal.cxx.

◆ getTitle()

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

Return this variable's title string.

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

Definition at line 263 of file RooAbsReal.cxx.

◆ getUnit()

const Text_t * RooAbsReal::getUnit ( ) const
inline

Definition at line 143 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 126 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 103 of file RooAbsReal.h.

◆ 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, RooNormalizedPdf, ProgressMonitor, RooAbsHiddenReal, RooConvCoefVar, RooRealMPFE, RooRealVar, RooResolutionModel, RooMomentMorph, RooMomentMorphFunc, RooMomentMorphFuncND, RooAbsCachedPdf, RooAbsCachedReal, RooAbsPdf, RooAddPdf, RooErrorVar, and RooRealIntegral.

Definition at line 281 of file RooAbsReal.cxx.

◆ globalSelectComp()

void RooAbsReal::globalSelectComp ( bool  flag)
staticprotected

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

Definition at line 3051 of file RooAbsReal.cxx.

◆ gradient()

virtual void RooAbsReal::gradient ( double ) const
inlinevirtual

Reimplemented in RooFit::Experimental::RooFuncWrapper.

Definition at line 395 of file RooAbsReal.h.

◆ hasGradient()

virtual bool RooAbsReal::hasGradient ( ) const
inlinevirtual

Reimplemented in RooFit::Experimental::RooFuncWrapper.

Definition at line 394 of file RooAbsReal.h.

◆ hideOffset()

bool RooAbsReal::hideOffset ( )
static

Definition at line 169 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 string with unique suffix name to give to integral object that encodes integrated observables, normalization observables and the integration range name.

Definition at line 753 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, RooLegacyExpPoly, RooLognormal, RooMomentMorph, RooMomentMorphFunc, RooMomentMorphFuncND, RooMultiBinomial, RooNDKeysPdf, RooNonCPEigenDecay, RooNovosibirsk, RooParametricStepFunction, RooParamHistFunc, RooPoisson, RooPolynomial, RooPowerSum, RooSpline, RooStepFunction, RooTFnBinding, RooTFnPdfBinding, RooUnblindCPAsymVar, RooUnblindOffset, RooUnblindPrecision, RooUnblindUniform, RooUniform, RooVoigtian, RooAbsRealLValue, RooAbsTestStatistic, RooAddition, RooAddModel, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooCachedPdf, RooCachedReal, RooChangeTracker, RooChi2Var, RooConstraintSum, RooConstVar, RooConvCoefVar, RooDerivative, RooEfficiency, RooEffProd, RooErrorVar, RooExtendedBinding, RooExtendedTerm, RooExtendPdf, RooFFTConvPdf, RooFirstMoment, RooFit::TestStatistics::RooRealL, RooFormulaVar, RooFracRemainder, RooGenericPdf, 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 558 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 353 of file RooAbsReal.h.

◆ isIdentical()

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

Implements RooAbsArg.

Definition at line 248 of file RooAbsReal.cxx.

◆ isOffsetting()

virtual bool RooAbsReal::isOffsetting ( ) const
inlinevirtual

Reimplemented in RooAbsTestStatistic.

Definition at line 377 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 3041 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 452 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 RooAbsRealLValue, RooRealIntegral, RooFormulaVar, and RooGenericPdf.

Definition at line 454 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 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 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 string with server names and values is constructed automatically for error logging purposes, unless a custom string with similar information is passed as argument.

Definition at line 3545 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 logging stream.

Definition at line 3490 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 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 2988 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 3228 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 3245 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 3263 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 3283 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 3303 of file RooAbsReal.cxx.

◆ matchArgsByName()

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

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 3323 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 3479 of file RooAbsReal.cxx.

◆ mean() [1/2]

RooAbsMoment * RooAbsReal::mean ( RooRealVar obs)
inline

Definition at line 366 of file RooAbsReal.h.

◆ mean() [2/2]

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

Definition at line 367 of file RooAbsReal.h.

◆ minTrialSamples()

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

Reimplemented in RooBinSamplingPdf, and RooWrapperPdf.

Definition at line 241 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 4110 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 4091 of file RooAbsReal.cxx.

◆ numEvalErrorItems()

Int_t RooAbsReal::numEvalErrorItems ( )
static

Definition at line 300 of file RooAbsReal.cxx.

◆ numEvalErrors()

Int_t RooAbsReal::numEvalErrors ( )
static

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

Definition at line 3701 of file RooAbsReal.cxx.

◆ offset()

virtual double RooAbsReal::offset ( ) const
inlinevirtual

Reimplemented in RooAbsTestStatistic.

Definition at line 378 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 239 of file RooAbsReal.cxx.

◆ operator==() [2/2]

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

Equality operator comparing to a double.

Definition at line 228 of file RooAbsReal.cxx.

◆ plotAsymOn()

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

Definition at line 2284 of file RooAbsReal.cxx.

◆ plotOn() [1/3]

RooAbsReal::plotOn ( RooPlot frame,
const RooCmdArg arg1 = {},
const RooCmdArg arg2 = {},
const RooCmdArg arg3 = {},
const RooCmdArg arg4 = {},
const RooCmdArg arg5 = {},
const RooCmdArg arg6 = {},
const RooCmdArg arg7 = {},
const RooCmdArg arg8 = {},
const RooCmdArg arg9 = {},
const RooCmdArg arg10 = {} 
) 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 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 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 specified 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 indices -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 1639 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 overridden 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 1931 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 1659 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 indirectly selected nodes as 'selected' using the selectComp() method

Definition at line 1466 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 2686 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, RooParametricStepFunction, RooParamHistFunc, RooStepFunction, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooHistFunc, RooHistPdf, RooLinearCombination, RooProdPdf, RooRangeBoolean, RooRealIntegral, and RooWrapperPdf.

Definition at line 3651 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 2945 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 2253 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 'orderedObs', This default implementation indicates no preference and copies the original order of 'obs' into 'orderedObs'

Reimplemented in RooIntegralMorph, and RooCachedPdf.

Definition at line 3770 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 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 3662 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, and RooRealVar.

Definition at line 453 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 443 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 424 of file RooAbsReal.cxx.

◆ redirectServersHook()

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

Function that is called at the end of redirectServers().

Can be overloaded to inject some class-dependent behavior after server redirection, e.g. resetting of caches. The return value is meant to be an error flag, so in case something goes wrong the function should return true. If you overload this function, don't forget to also call the function of the base class.

See also
redirectServers() For a detailed explanation of the function parameters.

Reimplemented from RooAbsArg.

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

Definition at line 4550 of file RooAbsReal.cxx.

◆ selectComp()

void RooAbsReal::selectComp ( bool  flag)
inline

Definition at line 384 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 3442 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 3455 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 568 of file RooAbsReal.h.

◆ setData()

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

Reimplemented in ProgressMonitor, RooAbsTestStatistic, RooAddition, and RooConstraintSum.

Definition at line 374 of file RooAbsReal.h.

◆ 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 4392 of file RooAbsReal.cxx.

◆ setHideOffset()

void RooAbsReal::setHideOffset ( bool  flag)
static

Definition at line 168 of file RooAbsReal.cxx.

◆ setIntegratorConfig() [1/2]

void RooAbsReal::setIntegratorConfig ( )

Remove the specialized numeric integration configuration associated with this object.

Definition at line 3428 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 3417 of file RooAbsReal.cxx.

◆ setParameterizeIntegral()

void RooAbsReal::setParameterizeIntegral ( const RooArgSet paramVars)

Definition at line 4400 of file RooAbsReal.cxx.

◆ setPlotLabel()

void RooAbsReal::setPlotLabel ( const char *  label)

Set the label associated with this variable.

Definition at line 414 of file RooAbsReal.cxx.

◆ setTreeBranchStatus()

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

(De)Activate associated tree branch

Implements RooAbsArg.

Definition at line 3198 of file RooAbsReal.cxx.

◆ setUnit()

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

Definition at line 147 of file RooAbsReal.h.

◆ sigma() [1/2]

RooAbsMoment * RooAbsReal::sigma ( RooRealVar obs)
inline

Definition at line 368 of file RooAbsReal.h.

◆ sigma() [2/2]

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

Definition at line 369 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 3364 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 3376 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, RooLegacyExpPoly, RooLognormal, RooMomentMorph, RooMomentMorphFunc, RooMomentMorphFuncND, RooMultiBinomial, RooNDKeysPdf, RooNonCPEigenDecay, RooNovosibirsk, RooParametricStepFunction, RooParamHistFunc, RooPoisson, RooPolynomial, RooPowerSum, RooSpline, RooStepFunction, RooTFnBinding, RooTFnPdfBinding, RooUnblindCPAsymVar, RooUnblindOffset, RooUnblindPrecision, RooUnblindUniform, RooUniform, RooVoigtian, RooAbsRealLValue, RooAbsTestStatistic, RooAddition, RooAddModel, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooCachedPdf, RooCachedReal, RooChangeTracker, RooChi2Var, RooConstraintSum, RooConstVar, RooConvCoefVar, RooDerivative, RooEfficiency, RooEffProd, RooErrorVar, RooExtendedBinding, RooExtendedTerm, RooExtendPdf, RooFFTConvPdf, RooFirstMoment, RooFit::TestStatistics::RooRealL, RooFormulaVar, RooFracRemainder, RooGenericPdf, 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 558 of file RooAbsReal.h.

◆ syncCache()

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

Implements RooAbsArg.

Reimplemented in RooErrorVar.

Definition at line 463 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 317 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 434 of file RooAbsReal.cxx.

Friends And Related Symbol Documentation

◆ AddCacheElem

friend class AddCacheElem
friend

Definition at line 414 of file RooAbsReal.h.

◆ BatchInterfaceAccessor

friend class BatchInterfaceAccessor
friend

Definition at line 406 of file RooAbsReal.h.

◆ RooAddHelpers

friend class RooAddHelpers
friend

Definition at line 411 of file RooAbsReal.h.

◆ RooAddModel

friend class RooAddModel
friend

Definition at line 413 of file RooAbsReal.h.

◆ RooAddPdf

friend class RooAddPdf
friend

Definition at line 412 of file RooAbsReal.h.

◆ RooFit::EvalContext

friend class RooFit::EvalContext
friend

Definition at line 415 of file RooAbsReal.h.

◆ RooRealBinding

friend class RooRealBinding
friend

Definition at line 408 of file RooAbsReal.h.

◆ RooRealSumFunc

friend class RooRealSumFunc
friend

Definition at line 410 of file RooAbsReal.h.

◆ RooRealSumPdf

friend class RooRealSumPdf
friend

Definition at line 409 of file RooAbsReal.h.

◆ RooVectorDataStore

friend class RooVectorDataStore
friend

Definition at line 407 of file RooAbsReal.h.

Member Data Documentation

◆ _evalErrorCount

Int_t RooAbsReal::_evalErrorCount = 0
staticprotected

Definition at line 554 of file RooAbsReal.h.

◆ _evalErrorList

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

Definition at line 553 of file RooAbsReal.h.

◆ _evalErrorMode

RooAbsReal::ErrorLoggingMode RooAbsReal::_evalErrorMode = RooAbsReal::PrintErrors
staticprotected

Definition at line 552 of file RooAbsReal.h.

◆ _forceNumInt

bool RooAbsReal::_forceNumInt = false
protected

Force numerical integration if flag set.

Definition at line 546 of file RooAbsReal.h.

◆ _globalSelectComp

bool RooAbsReal::_globalSelectComp = false
staticprotected

Definition at line 555 of file RooAbsReal.h.

◆ _hideOffset

bool RooAbsReal::_hideOffset = true
staticprotected

Offset hiding flag.

Definition at line 556 of file RooAbsReal.h.

◆ _label

TString RooAbsReal::_label
protected

Plot label for objects value.

Definition at line 545 of file RooAbsReal.h.

◆ _lastNormSetId

RooFit::UniqueId<RooArgSet>::Value_t RooAbsReal::_lastNormSetId = RooFit::UniqueId<RooArgSet>::nullval
mutableprotected

Component selection flag for RooAbsPdf::plotCompOn.

!

Definition at line 550 of file RooAbsReal.h.

◆ _plotBins

Int_t RooAbsReal::_plotBins = 100
protected

Number of plot bins.

Definition at line 542 of file RooAbsReal.h.

◆ _plotMax

double RooAbsReal::_plotMax = 0.0
protected

Maximum of plot range.

Definition at line 541 of file RooAbsReal.h.

◆ _plotMin

double RooAbsReal::_plotMin = 0.0
protected

Minimum of plot range.

Definition at line 540 of file RooAbsReal.h.

◆ _selectComp

bool RooAbsReal::_selectComp = true
protected

A buffer for reading values from trees.

Definition at line 549 of file RooAbsReal.h.

◆ _specIntegratorConfig

std::unique_ptr<RooNumIntConfig> RooAbsReal::_specIntegratorConfig
protected

Definition at line 547 of file RooAbsReal.h.

◆ _treeReadBuffer

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

Definition at line 548 of file RooAbsReal.h.

◆ _unit

TString RooAbsReal::_unit
protected

Unit for objects value.

Definition at line 544 of file RooAbsReal.h.

◆ _value

double RooAbsReal::_value = 0.0
mutableprotected

Cache for current value of object.

Definition at line 543 of file RooAbsReal.h.

Libraries for RooAbsReal:

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