RooAbsReal is the common abstract base class for objects that represent a real value and implements functionality common to all real-valued objects such as the ability to plot them, to construct integrals of them, the ability to advertise (partial) analytical integrals etc.
Implementation of RooAbsReal may be derived, thus no interface is provided to modify the contents.
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:
Definition at line 62 of file RooAbsReal.h.
Classes | |
class | EvalError |
class | EvalErrorContext |
Context to temporarily change the error logging mode as long as the context is alive. More... | |
struct | GlobalSelectComponentRAII |
struct | PlotOpt |
Public Types | |
enum | ErrorLoggingMode { PrintErrors , CollectErrors , CountErrors , Ignore } |
typedef std::map< constRooAbsArg *, std::pair< std::string, std::list< EvalError > > >::const_iterator | EvalErrorIter |
enum | ScaleType { Raw , Relative , NumEvent , RelativeExpected } |
using | value_type = double |
Public Types inherited from RooAbsArg | |
enum | CacheMode { Always =0 , NotAdvised =1 , Never =2 } |
enum | ConstOpCode { Activate =0 , DeActivate =1 , ConfigChange =2 , ValueChange =3 } |
enum | OperMode { Auto =0 , AClean =1 , ADirty =2 } |
using | RefCountList_t = RooSTLRefCountList< RooAbsArg > |
using | RefCountListLegacyIterator_t = TIteratorToSTLInterface< RefCountList_t::Container_t > |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) } |
enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) } |
enum | EStatusBits { kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) , kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 )) } |
Public Types inherited from RooPrintable | |
enum | ContentsOption { kName =1 , kClassName =2 , kValue =4 , kArgs =8 , kExtras =16 , kAddress =32 , kTitle =64 , kCollectionHeader =128 } |
enum | StyleOption { kInline =1 , kSingleLine =2 , kStandard =3 , kVerbose =4 , kTreeStructure =5 } |
Public Member Functions | |
RooAbsReal () | |
coverity[UNINIT_CTOR] Default constructor | |
RooAbsReal (const char *name, const char *title, const char *unit="") | |
Constructor with unit label. | |
RooAbsReal (const char *name, const char *title, double minVal, double maxVal, const char *unit="") | |
Constructor with plot range and unit label. | |
RooAbsReal (const RooAbsReal &other, const char *name=nullptr) | |
Copy constructor. | |
~RooAbsReal () override | |
Destructor. | |
virtual double | analyticalIntegral (Int_t code, const char *rangeName=nullptr) const |
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral. | |
virtual double | analyticalIntegralWN (Int_t code, const RooArgSet *normSet, const char *rangeName=nullptr) const |
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral. | |
TF1 * | 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. | |
virtual std::list< double > * | binBoundaries (RooAbsRealLValue &obs, double xlo, double xhi) const |
Retrieve bin boundaries if this distribution is binned in obs . | |
RooAbsFunc * | 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). | |
virtual RooFit::OwningPtr< RooFitResult > | chi2FitTo (RooDataHist &data, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) |
Perform a \( \chi^2 \) fit to given histogram. | |
virtual RooFit::OwningPtr< RooFitResult > | chi2FitTo (RooDataHist &data, const RooLinkedList &cmdList) |
Perform a \( \chi^2 \) fit to given histogram. | |
virtual RooFit::OwningPtr< RooFitResult > | chi2FitTo (RooDataSet &xydata, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) |
Perform a 2-D \( \chi^2 \) fit using a series of x and y values stored in the dataset xydata . | |
virtual RooFit::OwningPtr< RooFitResult > | chi2FitTo (RooDataSet &xydata, const RooLinkedList &cmdList) |
Perform a 2-D \( \chi^2 \) fit using a series of x and y values stored in the dataset xydata . | |
virtual void | computeBatch (cudaStream_t *, double *output, size_t size, RooFit::Detail::DataMap const &) const |
Base function for computing multiple values of a RooAbsReal. | |
virtual RooAbsReal * | createChi2 (RooDataHist &data, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) |
Create a \( \chi^2 \) variable from a histogram and this function. | |
virtual RooAbsReal * | createChi2 (RooDataHist &data, const RooLinkedList &cmdList) |
virtual RooAbsReal * | createChi2 (RooDataSet &data, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) |
Create a \( \chi^2 \) from a series of x and y values stored in a dataset. | |
virtual RooAbsReal * | createChi2 (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&) | |
RooAbsArg * | createFundamental (const char *newname=nullptr) const override |
Create a RooRealVar fundamental object with our properties. | |
TH1 * | createHistogram (const char *name, const RooAbsRealLValue &xvar, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const |
Create and fill a ROOT histogram TH1, TH2 or TH3 with the values of this function. | |
TH1 * | createHistogram (const char *name, const RooAbsRealLValue &xvar, RooLinkedList &argList) const |
Internal method implementing createHistogram. | |
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 with given names. | |
RooFit::OwningPtr< RooAbsReal > | createIntegral (const RooArgSet &iset, const char *rangeName) const |
Create integral over observables in iset in range named rangeName. | |
RooFit::OwningPtr< RooAbsReal > | createIntegral (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< RooAbsReal > | createIntegral (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< RooAbsReal > | createIntegral (const RooArgSet &iset, const RooArgSet *nset=nullptr, const RooNumIntConfig *cfg=nullptr, const char *rangeName=nullptr) const |
Create an object that represents the integral of the function over one or more observables std::listed in iset. | |
RooFit::OwningPtr< RooAbsReal > | createIntegral (const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const |
Create an object that represents the integral of the function over one or more observables std::listed in iset . | |
RooFit::OwningPtr< RooAbsReal > | createIntegral (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< RooAbsReal > | createIntRI (const RooArgSet &iset, const RooArgSet &nset={}) |
Utility function for createRunningIntegral. | |
const 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. | |
const 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. | |
virtual RooAbsReal * | createProfile (const RooArgSet ¶msOfInterest) |
Create a RooProfileLL object that eliminates all nuisance parameters in the present function. | |
RooFit::OwningPtr< RooAbsReal > | createRunningIntegral (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< RooAbsReal > | createRunningIntegral (const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) |
Create an object that represents the running integral of the function over one or more observables std::listed in iset, i.e. | |
RooFit::OwningPtr< 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. | |
virtual double | defaultErrorLevel () const |
RooDerivative * | 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. | |
RooDerivative * | derivative (RooRealVar &obs, Int_t order=1, double eps=0.001) |
Return function representing first, second or third order derivative of this function. | |
virtual void | enableOffsetting (bool) |
RooDataHist * | fillDataHist (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. | |
TH1 * | fillHistogram (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) |
RooFunctor * | 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. | |
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 |
RooNumIntConfig * | getIntegratorConfig () |
Return the numeric integration configuration used for this object. | |
const RooNumIntConfig * | getIntegratorConfig () const |
Return the numeric integration configuration used for this object. | |
virtual Int_t | getMaxVal (const RooArgSet &vars) const |
Advertise capability to determine maximum value of function for given set of observables. | |
const char * | getPlotLabel () const |
Get the label associated with the variable. | |
double | getPropagatedError (const RooFitResult &fr, const RooArgSet &nset=RooArgSet()) const |
Calculate error on self by linearly propagating errors on parameters using the covariance matrix from a fit result. | |
TString | getTitle (bool appendUnit=false) const |
Return this variable's title std::string. | |
const Text_t * | getUnit () const |
double | getVal (const RooArgSet &normalisationSet) const |
Like getVal(const RooArgSet*), but always requires an argument for normalisation. | |
double | getVal (const RooArgSet *normalisationSet=nullptr) const |
Evaluate object. | |
virtual RooSpan< const double > | getValBatch (std::size_t, std::size_t, const RooArgSet *=nullptr)=delete |
std::vector< double > | getValues (RooAbsData const &data) const |
virtual RooSpan< const double > | getValues (RooBatchCompute::RunContext &evalData, const RooArgSet *normSet=nullptr) const |
virtual double | getValV (const RooArgSet *normalisationSet=nullptr) const |
Return value of object. | |
RooMultiGenFunction * | iGenFunction (const RooArgSet &observables, const RooArgSet &nset=RooArgSet()) |
RooGenFunction * | iGenFunction (RooRealVar &x, const RooArgSet &nset=RooArgSet()) |
TClass * | IsA () 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. | |
RooAbsMoment * | mean (RooRealVar &obs) |
RooAbsMoment * | mean (RooRealVar &obs, const RooArgSet &nset) |
virtual Int_t | minTrialSamples (const RooArgSet &) const |
RooAbsMoment * | 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. | |
RooAbsMoment * | moment (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 RooPlot * | plotOn (RooPlot *frame, const RooCmdArg &arg1=RooCmdArg(), const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg(), const RooCmdArg &arg9=RooCmdArg(), const RooCmdArg &arg10=RooCmdArg()) const |
Plot (project) PDF on specified frame. | |
virtual RooPlot * | plotOn (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 RooPlot * | plotSliceOn (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 ¶mVars) |
void | setPlotLabel (const char *label) |
Set the label associated with this variable. | |
void | setUnit (const char *unit) |
RooAbsMoment * | sigma (RooRealVar &obs) |
RooAbsMoment * | sigma (RooRealVar &obs, const RooArgSet &nset) |
RooNumIntConfig * | specialIntegratorConfig () const |
Returns the specialized integrator configuration for this RooAbsReal. | |
RooNumIntConfig * | specialIntegratorConfig (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 TObject * | clone (const char *newname=nullptr) const =0 |
TObject * | Clone (const char *newname=nullptr) const override |
Make a clone of an object using the Streamer facility. | |
virtual RooAbsArg * | cloneTree (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< RooAbsArg > | compileForNormSet (RooArgSet const &normSet, RooFit::Detail::CompileContext &ctx) const |
std::size_t | dataToken () const |
Returns the token for retrieving results in the BatchMode. For internal use only. | |
Int_t | defaultPrintContents (Option_t *opt) const override |
Define default contents to print. | |
bool | dependsOn (const RooAbsArg &server, const RooAbsArg *ignoreArg=nullptr, bool valueOnly=false) const |
Test whether we depend on (ie, are served by) the specified object. | |
bool | dependsOn (const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=nullptr, bool valueOnly=false) const |
Test whether we depend on (ie, are served by) any object in the specified collection. | |
bool | dependsOn (TNamed const *namePtr, const RooAbsArg *ignoreArg=nullptr, bool valueOnly=false) const |
Test whether we depend on (ie, are served by) an object with a specific name. | |
bool | dependsOnValue (const RooAbsArg &server, const RooAbsArg *ignoreArg=nullptr) const |
Check whether this object depends on values served from the object passed as server . | |
bool | dependsOnValue (const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=nullptr) const |
Check whether this object depends on values from an element in the serverList . | |
bool | getAttribute (const Text_t *name) const |
Check if a named attribute is set. By default, all attributes are unset. | |
RooLinkedList | getCloningAncestors () const |
Return ancestors in cloning chain of this RooAbsArg. | |
RooFit::OwningPtr< RooArgSet > | getComponents () 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< RooArgSet > | getObservables (const RooAbsData &data) const |
Return the observables of this pdf given the observables defined by data . | |
RooFit::OwningPtr< RooArgSet > | getObservables (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< RooArgSet > | getObservables (const RooArgSet &set, bool valueOnly=true) const |
Given a set of possible observables, return the observables that this PDF depends on. | |
RooFit::OwningPtr< RooArgSet > | getObservables (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< RooArgSet > | getParameters (const RooAbsData &data, bool stripDisconnected=true) const |
Return the parameters of this p.d.f when used in conjuction with dataset 'data'. | |
RooFit::OwningPtr< RooArgSet > | getParameters (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< RooArgSet > | getParameters (const RooArgSet &observables, bool stripDisconnected=true) const |
Return the parameters of the p.d.f given the provided set of observables. | |
RooFit::OwningPtr< RooArgSet > | getParameters (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. | |
RooAbsProxy * | getProxy (Int_t index) const |
Return the nth proxy from the proxy list. | |
const Text_t * | getStringAttribute (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< RooArgSet > | getVariables (bool stripDisconnected=true) const |
Return RooArgSet with all variables (tree leaf nodes of expresssion tree) | |
void | graphVizTree (const char *fileName, const char *delimiter="\n", bool useTitle=false, bool useLatex=false) |
Create a GraphViz .dot file visualizing the expression tree headed by this RooAbsArg object. | |
void | graphVizTree (std::ostream &os, const char *delimiter="\n", bool useTitle=false, bool useLatex=false) |
Write the GraphViz representation of the expression tree headed by this RooAbsArg object to the given ostream. | |
bool | hasClients () const |
bool | hasDataToken () const |
virtual bool | hasRange (const char *) const |
virtual bool | importWorkspaceHook (RooWorkspace &ws) |
virtual bool | inRange (const char *) const |
virtual bool | isCategory () const |
bool | isCloneOf (const RooAbsArg &other) const |
Check if this object was created as a clone of 'other'. | |
bool | isConstant () const |
Check if the "Constant" attribute is set. | |
virtual bool | isDerived () const |
Does value or shape of this arg depend on any other arg? | |
virtual bool | isReducerNode () const |
bool | IsSortable () const override |
bool | localNoDirtyInhibit () const |
const TNamed * | namePtr () 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. | |
RooAbsArg & | operator= (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 RooArgSet * | ownedComponents () const |
void | Print (Option_t *options=nullptr) const override |
Print the object to the defaultPrintStream(). | |
void | printAddress (std::ostream &os) const override |
Print class name of object. | |
void | printArgs (std::ostream &os) const override |
Print object arguments, ie its proxies. | |
void | printClassName (std::ostream &os) const override |
Print object class name. | |
void | printCompactTree (const char *indent="", const char *fileName=nullptr, const char *namePat=nullptr, RooAbsArg *client=nullptr) |
Print tree structure of expression tree on stdout, or to file if filename is specified. | |
void | printCompactTree (std::ostream &os, const char *indent="", const char *namePat=nullptr, RooAbsArg *client=nullptr) |
Print tree structure of expression tree on given ostream. | |
virtual void | printCompactTreeHook (std::ostream &os, const char *ind="") |
Hook function interface for object to insert additional information when printed in the context of a tree structure. | |
void | printComponentTree (const char *indent="", const char *namePat=nullptr, Int_t nLevel=999) |
Print tree structure of expression tree on given ostream, only branch nodes are printed. | |
void | printDirty (bool depth=true) const |
Print information about current value dirty state information. | |
virtual void | printMetaArgs (std::ostream &) const |
void | printName (std::ostream &os) const override |
Print object name. | |
void | printTitle (std::ostream &os) const override |
Print object title. | |
void | printTree (std::ostream &os, TString indent="") const override |
Print object tree structure. | |
bool | recursiveCheckObservables (const RooArgSet *nset) const |
Recursively call checkObservables on all nodes in the expression tree. | |
void | removeStringAttribute (const Text_t *key) |
Delete a string attribute with a given key. | |
void | resetDataToken () |
void | setAttribute (const Text_t *name, bool value=true) |
Set (default) or clear a named boolean attribute of this object. | |
void | setDataToken (std::size_t index) |
Sets the token for retrieving results in the BatchMode. For internal use only. | |
void | setLocalNoDirtyInhibit (bool flag) const |
void | SetName (const char *name) override |
Set the name of the TNamed. | |
void | SetNameTitle (const char *name, const char *title) override |
Set all the TNamed parameters (name and title). | |
void | setProhibitServerRedirect (bool flag) |
void | setStringAttribute (const Text_t *key, const Text_t *value) |
Associate string 'value' to this object under key 'key'. | |
void | setTransientAttribute (const Text_t *name, bool value=true) |
Set (default) or clear a named boolean attribute of this object. | |
void | setWorkspace (RooWorkspace &ws) |
const std::map< std::string, std::string > & | stringAttributes () const |
const std::set< std::string > & | transientAttributes () const |
RooWorkspace * | workspace () const |
TIterator * | clientIterator () const |
Retrieve a client iterator. | |
TIterator * | valueClientIterator () const |
TIterator * | shapeClientIterator () const |
TIterator * | serverIterator () const |
RooFIter | valueClientMIterator () const |
RooFIter | shapeClientMIterator () const |
RooFIter | serverMIterator () const |
RooFit::OwningPtr< RooArgSet > | getDependents (const RooArgSet &set) const |
RooFit::OwningPtr< RooArgSet > | getDependents (const RooAbsData *set) const |
RooFit::OwningPtr< RooArgSet > | getDependents (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_t & | clients () const |
List of all clients of this object. | |
const RefCountList_t & | valueClients () const |
List of all value clients of this object. Value clients receive value updates. | |
const RefCountList_t & | shapeClients () const |
List of all shape clients of this object. | |
const RefCountList_t & | servers () const |
List of all servers of this object. | |
RooAbsArg * | findServer (const char *name) const |
Return server of this with name name . Returns nullptr if not found. | |
RooAbsArg * | findServer (const RooAbsArg &arg) const |
Return server of this that has the same name as arg . Returns nullptr if not found. | |
RooAbsArg * | findServer (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. | |
RooAbsArg * | findNewServer (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. | |
RooAbsCache * | getCache (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 () |
RooExpensiveObjectCache & | expensiveObjectCache () 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 (""). | |
TObject * | Clone (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. | |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
List TNamed name and title. | |
TNamed & | operator= (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 TObject * | DrawClone (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 TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () 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_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (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 TClass * | Class () |
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 RooNumIntConfig * | defaultIntegratorConfig () |
Returns the default numeric integration configuration for all RooAbsReals. | |
static EvalErrorIter | evalErrorIter () |
static ErrorLoggingMode | evalErrorLoggingMode () |
Return current evaluation error logging mode. | |
static bool | hideOffset () |
static void | logEvalError (const RooAbsReal *originator, const char *origName, const char *message, const char *serverValueString=nullptr) |
Interface to insert remote error logging messages received by RooRealMPFE into current error loggin stream. | |
static Int_t | numEvalErrorItems () |
static Int_t | numEvalErrors () |
Return the number of logged evaluation errors since the last clearing. | |
static void | printEvalErrors (std::ostream &os=std::cout, Int_t maxPerNode=10000000) |
Print all outstanding logged evaluation error on the given ostream. | |
static void | setEvalErrorLoggingMode (ErrorLoggingMode m) |
Set evaluation error logging mode. | |
static void | setHideOffset (bool flag) |
Static Public Member Functions inherited from RooAbsArg | |
static void | setDirtyInhibit (bool flag) |
Control global dirty inhibit mode. | |
static void | verboseDirty (bool flag) |
Activate verbose messaging related to dirty flag propagation. | |
Static Public Member Functions inherited from TNamed | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
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 TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static std::ostream & | defaultPrintStream (std::ostream *os=nullptr) |
Return a reference to the current default stream to use in Print(). | |
static void | nameFieldLength (Int_t newLen) |
Set length of field reserved from printing name of RooAbsArgs in multi-line collection printing to given amount. | |
Protected Member Functions | |
void | attachToTree (TTree &t, Int_t bufSize=32000) override |
Attach object to a branch of given TTree. | |
void | attachToVStore (RooVectorDataStore &vstore) override |
RooFit::OwningPtr< RooFitResult > | chi2FitDriver (RooAbsReal &fcn, RooLinkedList &cmdList) |
Internal driver function for chi2 fits. | |
void | copyCache (const RooAbsArg *source, bool valueOnly=false, bool setValDirty=true) override |
Copy the cached value of another RooAbsArg to our cache. | |
RooFit::OwningPtr< RooAbsReal > | createIntObj (const RooArgSet &iset, const RooArgSet *nset, const RooNumIntConfig *cfg, const char *rangeName) const |
Internal utility function for createIntegral() that creates the actual integral object. | |
virtual double | evaluate () const =0 |
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes. | |
virtual RooSpan< double > | evaluateBatch (std::size_t, std::size_t)=delete |
virtual RooSpan< double > | evaluateSpan (RooBatchCompute::RunContext &evalData, const RooArgSet *normSet) const |
Evaluate this object for a batch/span of data points. | |
void | fillTreeBranch (TTree &t) override |
Fill the tree branch that associated with this object with its current value. | |
void | findInnerMostIntegration (const RooArgSet &allObs, RooArgSet &innerObs, const char *rangeName) const |
Utility function for createIntObj() that aids in the construct of recursive integrals over functions with multiple observables with parameterized ranges. | |
TString | integralNameSuffix (const RooArgSet &iset, const RooArgSet *nset=nullptr, const char *rangeName=nullptr, bool omitEmpty=false) const |
Construct std::string with unique suffix name to give to integral object that encodes integrated observables, normalization observables and the integration range name. | |
bool | isValid () const override |
Check if current value is valid. | |
virtual bool | isValidReal (double, bool printError=false) const |
Interface function to check if given value is a valid value for this object. Returns true unless overridden. | |
void | makeProjectionSet (const RooAbsArg *plotVar, const RooArgSet *allVars, RooArgSet &projectedVars, bool silent) const |
Utility function for plotOn() that constructs the set of observables to project when plotting ourselves as function of 'plotVar'. | |
bool | matchArgs (const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const |
Utility function for use in getAnalyticalIntegral(). | |
bool | matchArgs (const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a, const RooArgProxy &b) const |
Utility function for use in getAnalyticalIntegral(). | |
bool | matchArgs (const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a, const RooArgProxy &b, const RooArgProxy &c) const |
Utility function for use in getAnalyticalIntegral(). | |
bool | matchArgs (const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a, const RooArgProxy &b, const RooArgProxy &c, const RooArgProxy &d) const |
Utility function for use in getAnalyticalIntegral(). | |
bool | matchArgs (const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgSet &set) const |
Utility function for use in getAnalyticalIntegral(). | |
virtual RooPlot * | plotAsymOn (RooPlot *frame, const RooAbsCategoryLValue &asymCat, PlotOpt o) const |
virtual RooPlot * | plotOn (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. | |
RooPlot * | plotOnWithErrorBand (RooPlot *frame, const RooFitResult &fr, double Z, const RooArgSet *params, const RooLinkedList &argList, bool method1) const |
Plot function or PDF on frame with support for visualization of the uncertainty encoded in the given fit result fr. | |
bool | plotSanityChecks (RooPlot *frame) const |
Utility function for plotOn(), perform general sanity check on frame to ensure safe plotting operations. | |
bool | redirectServersHook (const RooAbsCollection &newServerList, bool mustReplaceAll, bool nameChange, bool isRecursiveStep) override |
A buffer for reading values from trees. | |
virtual void | selectNormalization (const RooArgSet *depSet=nullptr, bool force=false) |
Interface function to force use of a given set of observables to interpret function value. | |
virtual void | selectNormalizationRange (const char *rangeName=nullptr, bool force=false) |
Interface function to force use of a given normalization range to interpret function value. | |
void | setTreeBranchStatus (TTree &t, bool active) override |
(De)Activate associated tree branch | |
void | syncCache (const RooArgSet *set=nullptr) override |
double | traceEval (const RooArgSet *set) const |
Calculate current value of object, with error tracing wrapper. | |
Protected Member Functions inherited from RooAbsArg | |
void | attachToStore (RooAbsDataStore &store) |
Attach this argument to the data store such that it reads data from there. | |
TString | cleanBranchName () const |
Construct a mangled name from the actual name that is free of any math symbols that might be interpreted by TTree. | |
void | clearShapeDirty () const |
void | clearValueAndShapeDirty () const |
void | clearValueDirty () const |
virtual void | getObservablesHook (const RooArgSet *, RooArgSet *) const |
virtual void | getParametersHook (const RooArgSet *, RooArgSet *, bool) const |
void | graphVizAddConnections (std::set< std::pair< RooAbsArg *, RooAbsArg * > > &) |
Utility function that inserts all point-to-point client-server connections between any two RooAbsArgs in the expression tree headed by this object in the linkSet argument. | |
bool | inhibitDirty () const |
Delete watch flag. | |
virtual void | ioStreamerPass2 () |
Method called by workspace container to finalize schema evolution issues that cannot be handled in a single ioStreamer pass. | |
virtual void | operModeHook () |
virtual void | optimizeDirtyHook (const RooArgSet *) |
void | printAttribList (std::ostream &os) const |
Transient boolean attributes (not copied in ctor) | |
void | registerProxy (RooArgProxy &proxy) |
Register an RooArgProxy in the proxy list. | |
void | registerProxy (RooListProxy &proxy) |
Register an RooListProxy in the proxy list. | |
void | registerProxy (RooSetProxy &proxy) |
Register an RooSetProxy in the proxy list. | |
void | setProxyNormSet (const RooArgSet *nset) |
Forward a change in the cached normalization argset to all the registered proxies. | |
void | setShapeDirty (const RooAbsArg *source) |
Notify that a shape-like property (e.g. binning) has changed. | |
void | setValueDirty (const RooAbsArg *source) |
Force element to re-evaluate itself when a value is requested. | |
void | unRegisterProxy (RooArgProxy &proxy) |
Remove proxy from proxy list. | |
void | unRegisterProxy (RooListProxy &proxy) |
Remove proxy from proxy list. | |
void | unRegisterProxy (RooSetProxy &proxy) |
Remove proxy from proxy list. | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). | |
void | MakeZombie () |
Static Protected Member Functions | |
static void | globalSelectComp (bool flag) |
Global switch controlling the activation of the selectComp() functionality. | |
Static Protected Member Functions inherited from RooAbsArg | |
static void | ioStreamerPass2Finalize () |
Method called by workspace container to finalize schema evolution issues that cannot be handled in a single ioStreamer pass. | |
Protected Attributes | |
bool | _forceNumInt |
Force numerical integration if flag set. | |
TString | _label |
Plot label for objects value. | |
RooArgSet * | _lastNSet |
! | |
Int_t | _plotBins |
Number of plot bins. | |
double | _plotMax |
Maximum of plot range. | |
double | _plotMin |
Minimum of plot range. | |
bool | _selectComp |
RooNumIntConfig * | _specIntegratorConfig |
TString | _unit |
Unit for objects value. | |
double | _value |
Cache for current value of object. | |
Protected Attributes inherited from RooAbsArg | |
std::set< std::string > | _boolAttrib |
std::set< std::string > | _boolAttribTransient |
std::vector< RooAbsCache * > | _cacheList |
RefCountList_t | _clientList |
RefCountList_t | _clientListShape |
RefCountList_t | _clientListValue |
std::size_t | _dataToken = std::numeric_limits<std::size_t>::max() |
In which workspace do I live, if any. | |
bool | _deleteWatch |
RooExpensiveObjectCache * | _eocache {nullptr} |
Prohibit server redirects – Debugging tool. | |
bool | _fast = false |
bool | _isConstant |
De-duplicated name pointer. This will be equal for all objects with the same name. | |
bool | _localNoInhibitDirty |
Cached isConstant status. | |
RooWorkspace * | _myws |
Prevent 'AlwaysDirty' mode for this node. | |
const TNamed * | _namePtr |
Pointer to global cache manager for any expensive components created by this object. | |
OperMode | _operMode |
RooArgSet * | _ownedComponents |
bool | _prohibitServerRedirect |
Set of owned component. | |
RooRefArray | _proxyList |
ProxyListCache | _proxyListCache |
RefCountList_t | _serverList |
bool | _shapeDirty |
std::map< std::string, std::string > | _stringAttrib |
bool | _valueDirty |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Static Protected Attributes | |
static bool | _globalSelectComp = false |
Component selection flag for RooAbsPdf::plotCompOn. | |
static bool | _hideOffset = true |
Offset hiding flag. | |
Static Protected Attributes inherited from RooAbsArg | |
static bool | _inhibitDirty |
static bool | _verboseDirty |
cache of the list of proxies. Avoids type casting. | |
Static Protected Attributes inherited from RooPrintable | |
static Int_t | _nameLength |
Private Member Functions | |
double | _DEBUG_getVal (const RooArgSet *normalisationSet) const |
Debug version of getVal(), which is slow and does error checking. | |
void | checkBatchComputation (const RooBatchCompute::RunContext &evalData, std::size_t evtNo, const RooArgSet *normSet=nullptr, double relAccuracy=1.E-13) const |
Walk through expression tree headed by the this object, and check a batch computation. | |
bool | matchArgsByName (const RooArgSet &allArgs, RooArgSet &matchedArgs, const TList &nameList) const |
Check if allArgs contains matching elements for each name in nameList. | |
Private Attributes | |
std::unique_ptr< TreeReadBuffer > | _treeReadBuffer |
Static Private Attributes | |
static Int_t | _evalErrorCount = 0 |
static std::map< const RooAbsArg *, std::pair< std::string, std::list< EvalError > > > | _evalErrorList |
static ErrorLoggingMode | _evalErrorMode = RooAbsReal::PrintErrors |
Friends | |
class | BatchInterfaceAccessor |
class | RooAddHelpers |
class | RooAddModel |
class | RooAddPdf |
class | RooFit::Detail::DataMap |
class | RooRealBinding |
class | RooRealSumFunc |
class | RooRealSumPdf |
class | RooVectorDataStore |
Additional Inherited Members | |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = (1ULL << ( 3 )) } |
#include <RooAbsReal.h>
typedef std::map<constRooAbsArg*,std::pair<std::string,std::list<EvalError>>>::const_iterator RooAbsReal::EvalErrorIter |
Definition at line 352 of file RooAbsReal.h.
using RooAbsReal::value_type = double |
Definition at line 64 of file RooAbsReal.h.
Enumerator | |
---|---|
PrintErrors | |
CollectErrors | |
CountErrors | |
Ignore |
Definition at line 326 of file RooAbsReal.h.
Enumerator | |
---|---|
Raw | |
Relative | |
NumEvent | |
RelativeExpected |
Definition at line 281 of file RooAbsReal.h.
RooAbsReal::RooAbsReal | ( | ) |
coverity[UNINIT_CTOR] Default constructor
Definition at line 128 of file RooAbsReal.cxx.
RooAbsReal::RooAbsReal | ( | const char * | name, |
const char * | title, | ||
const char * | unit = "" |
||
) |
Constructor with unit label.
Definition at line 137 of file RooAbsReal.cxx.
RooAbsReal::RooAbsReal | ( | const char * | name, |
const char * | title, | ||
double | minVal, | ||
double | maxVal, | ||
const char * | unit = "" |
||
) |
Constructor with plot range and unit label.
Definition at line 151 of file RooAbsReal.cxx.
RooAbsReal::RooAbsReal | ( | const RooAbsReal & | other, |
const char * | name = nullptr |
||
) |
Copy constructor.
Definition at line 165 of file RooAbsReal.cxx.
|
override |
Destructor.
Definition at line 181 of file RooAbsReal.cxx.
Debug version of getVal(), which is slow and does error checking.
Definition at line 4776 of file RooAbsReal.cxx.
|
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 RooGaussModel, RooLandau, RooArgusBG, RooBernstein, RooBifurGauss, RooBreitWigner, RooCBShape, RooChebychev, RooChiSquarePdf, RooCrystalBall, RooDstD0BG, RooExponential, RooGamma, RooGaussian, RooGExpModel, RooJohnson, RooKeysPdf, RooLognormal, RooNDKeysPdf, RooNovosibirsk, RooParametricStepFunction, RooPoisson, RooPolynomial, RooUniform, RooAddition, RooBinSamplingPdf, RooConvCoefVar, RooEfficiency, RooHistFunc, RooHistPdf, RooMultiVarGaussian, RooPolyVar, RooProduct, RooTruthModel, RooWrapperPdf, RooFixedProdPdf, RooLegendre, RooNonCentralChiSquare, and RooSpHarmonic.
Definition at line 405 of file RooAbsReal.cxx.
|
virtual |
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
This functions will only be called with codes returned by getAnalyticalIntegral, except code zero.
Reimplemented in RooNormalizedPdf, RooBinSamplingPdf, RooWrapperPdf, RooFixedProdPdf, ParamHistFunc, PiecewiseInterpolation, RooLagrangianMorphFunc, RooParamHistFunc, RooAbsAnaConvPdf, RooAbsCachedPdf, RooAbsCachedReal, RooAbsPdf, RooAddModel, RooAddPdf, RooExtendPdf, RooProdPdf, RooProjectedPdf, RooRealSumFunc, RooRealSumPdf, and RooSimultaneous.
Definition at line 391 of file RooAbsReal.cxx.
TF1 * RooAbsReal::asTF | ( | const RooArgList & | obs, |
const RooArgList & | pars = RooArgList() , |
||
const RooArgSet & | nset = RooArgSet() |
||
) | const |
Return a ROOT TF1,2,3 object bound to this RooAbsReal with given definition of observables and parameters.
Definition at line 4040 of file RooAbsReal.cxx.
Attach object to a branch of given TTree.
By default it will register the internal value cache RooAbsReal::_value as branch buffer for a double tree branch with the same name as this object. If no double branch is found with the name of this object, this method looks for a Float_t Int_t, UChar_t and UInt_t, etc branch. If any of these are found, a TreeReadBuffer that branch is created, and saved in _treeReadBuffer. TreeReadBuffer::operator double() can be used to convert the values. This is used by copyCache().
Implements RooAbsArg.
Reimplemented in RooRealVar.
Definition at line 3160 of file RooAbsReal.cxx.
|
overrideprotectedvirtual |
|
virtual |
Retrieve bin boundaries if this distribution is binned in obs
.
[in] | obs | Observable to retrieve boundaries for. |
[in] | xlo | Beginning of range. |
[in] | xhi | End of range. |
Reimplemented in ParamHistFunc, PiecewiseInterpolation, RooLagrangianMorphFunc, RooMomentMorphFunc, RooParamHistFunc, RooAddition, RooAddPdf, RooFormulaVar, RooHistFunc, RooHistPdf, RooProdPdf, RooProduct, RooRealSumFunc, RooRealSumPdf, RooBinSamplingPdf, RooBinWidthFunction, RooLinearCombination, RooWrapperPdf, and PdfWrapper.
Definition at line 3693 of file RooAbsReal.cxx.
RooAbsFunc * RooAbsReal::bindVars | ( | const RooArgSet & | vars, |
const RooArgSet * | nset = nullptr , |
||
bool | clipInvalid = false |
||
) | const |
Create an interface adaptor f(vars) that binds us to the specified variables (in arbitrary order).
For example, calling bindVars({x1,x3}) on an object F(x1,x2,x3,x4) returns an object f(x1,x3) that is evaluated using the current values of x2 and x4. The caller takes ownership of the returned adaptor.
Definition at line 3110 of file RooAbsReal.cxx.
|
private |
Walk through expression tree headed by the this
object, and check a batch computation.
Check if the results in evalData
for event evtNo
are identical to the current value of the nodes. If a difference is found, an exception is thrown, and propagates up the expression tree. The tree is formatted to see where the computation error happened.
evalData | Data with results of batch computation. This is checked against the current value of the expression tree. |
evtNo | Event from evalData to check for. |
normSet | Optional normalisation set that was used in computation. |
relAccuracy | Accuracy required for passing the check. |
Definition at line 4826 of file RooAbsReal.cxx.
|
protected |
Internal driver function for chi2 fits.
Definition at line 4457 of file RooAbsReal.cxx.
|
virtual |
Perform a \( \chi^2 \) fit to given histogram.
By default the fit is executed through the MINUIT commands MIGRAD, HESSE in succession
The following named arguments are supported
Options to control construction of chi2 | |
---|---|
Range(const char* name) | Fit only data inside range with given name |
Range(double lo, double hi) | Fit only data inside given range. A range named "fit" is created on the fly on all observables. Multiple comma separated range names can be specified. |
NumCPU(int num) | Parallelize NLL calculation on num CPUs |
Optimize(bool flag) | Activate constant term optimization (on by default) |
IntegrateBins() | Integrate PDF within each bin. This sets the desired precision. |
Options to control flow of fit procedure | |
InitialHesse(bool flag) | Flag controls if HESSE before MIGRAD as well, off by default |
Hesse(bool flag) | Flag controls if HESSE is run after MIGRAD, on by default |
Minos(bool flag) | Flag controls if MINOS is run after HESSE, on by default |
Minos(const RooArgSet& set) | Only run MINOS on given subset of arguments |
Save(bool flag) | Flac controls if RooFitResult object is produced and returned, off by default |
Strategy(Int_t flag) | Set Minuit strategy (0 through 2, default is 1) |
Options to control informational output | |
Verbose(bool flag) | Flag controls if verbose output is printed (NLL, parameter changes during fit |
Timer(bool flag) | Time CPU and wall clock consumption of fit steps, off by default |
PrintLevel(Int_t level) | Set Minuit print level (-1 through 3, default is 1). At -1 all RooFit informational messages are suppressed as well |
Warnings(bool flag) | Enable or disable MINUIT warnings (enabled by default) |
PrintEvalErrors(Int_t numErr) | Control number of p.d.f evaluation errors printed per likelihood evaluation. A negative value suppress output completely, a zero value will only print the error count per p.d.f component, a positive value is will print details of each error up to numErr messages per p.d.f component. |
Reimplemented in RooAbsPdf.
Definition at line 4244 of file RooAbsReal.cxx.
|
virtual |
Perform a \( \chi^2 \) fit to given histogram.
By default the fit is executed through the MINUIT commands MIGRAD, HESSE in succession
The following named arguments are supported
Options to control construction of chi2 | |
---|---|
Range(const char* name) | Fit only data inside range with given name |
Range(double lo, double hi) | Fit only data inside given range. A range named "fit" is created on the fly on all observables. Multiple comma separated range names can be specified. |
NumCPU(int num) | Parallelize NLL calculation on num CPUs |
Optimize(bool flag) | Activate constant term optimization (on by default) |
IntegrateBins() | Integrate PDF within each bin. This sets the desired precision. |
Options to control flow of fit procedure | |
InitialHesse(bool flag) | Flag controls if HESSE before MIGRAD as well, off by default |
Hesse(bool flag) | Flag controls if HESSE is run after MIGRAD, on by default |
Minos(bool flag) | Flag controls if MINOS is run after HESSE, on by default |
Minos(const RooArgSet& set) | Only run MINOS on given subset of arguments |
Save(bool flag) | Flac controls if RooFitResult object is produced and returned, off by default |
Strategy(Int_t flag) | Set Minuit strategy (0 through 2, default is 1) |
Options to control informational output | |
Verbose(bool flag) | Flag controls if verbose output is printed (NLL, parameter changes during fit |
Timer(bool flag) | Time CPU and wall clock consumption of fit steps, off by default |
PrintLevel(Int_t level) | Set Minuit print level (-1 through 3, default is 1). At -1 all RooFit informational messages are suppressed as well |
Warnings(bool flag) | Enable or disable MINUIT warnings (enabled by default) |
PrintEvalErrors(Int_t numErr) | Control number of p.d.f evaluation errors printed per likelihood evaluation. A negative value suppress output completely, a zero value will only print the error count per p.d.f component, a positive value is will print details of each error up to numErr messages per p.d.f component. |
Reimplemented in RooAbsPdf, and RooAbsPdf.
Definition at line 4262 of file RooAbsReal.cxx.
|
virtual |
Perform a 2-D \( \chi^2 \) fit using a series of x and y values stored in the dataset xydata
.
The y values can either be the event weights, or can be another column designated by the YVar() argument. The y value must have errors defined for the \( \chi^2 \) to be well defined.
Options to control construction of the chi-square | |
---|---|
YVar(RooRealVar& yvar) | Designate given column in dataset as Y value |
Integrate(bool flag) | Integrate function over range specified by X errors rather than take value at bin center. |
Options to control flow of fit procedure | |
InitialHesse(bool flag) | Flag controls if HESSE before MIGRAD as well, off by default |
Hesse(bool flag) | Flag controls if HESSE is run after MIGRAD, on by default |
Minos(bool flag) | Flag controls if MINOS is run after HESSE, on by default |
Minos(const RooArgSet& set) | Only run MINOS on given subset of arguments |
Save(bool flag) | Flac controls if RooFitResult object is produced and returned, off by default |
Strategy(Int_t flag) | Set Minuit strategy (0 through 2, default is 1) |
Options to control informational output | |
Verbose(bool flag) | Flag controls if verbose output is printed (NLL, parameter changes during fit |
Timer(bool flag) | Time CPU and wall clock consumption of fit steps, off by default |
PrintLevel(Int_t level) | Set Minuit print level (-1 through 3, default is 1). At -1 all RooFit informational messages are suppressed as well |
Warnings(bool flag) | Enable or disable MINUIT warnings (enabled by default) |
PrintEvalErrors(Int_t numErr) | Control number of p.d.f evaluation errors printed per likelihood evaluation. A negative value suppress output completely, a zero value will only print the error count per p.d.f component, a positive value is will print details of each error up to numErr messages per p.d.f component. |
The RooAbsReal::chi2FitTo() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.
Reimplemented in RooAbsPdf.
Definition at line 4357 of file RooAbsReal.cxx.
|
virtual |
Perform a 2-D \( \chi^2 \) fit using a series of x and y values stored in the dataset xydata
.
The y values can either be the event weights, or can be another column designated by the YVar() argument. The y value must have errors defined for the \( \chi^2 \) to be well defined.
Options to control construction of the chi-square | |
---|---|
YVar(RooRealVar& yvar) | Designate given column in dataset as Y value |
Integrate(bool flag) | Integrate function over range specified by X errors rather than take value at bin center. |
Options to control flow of fit procedure | |
InitialHesse(bool flag) | Flag controls if HESSE before MIGRAD as well, off by default |
Hesse(bool flag) | Flag controls if HESSE is run after MIGRAD, on by default |
Minos(bool flag) | Flag controls if MINOS is run after HESSE, on by default |
Minos(const RooArgSet& set) | Only run MINOS on given subset of arguments |
Save(bool flag) | Flac controls if RooFitResult object is produced and returned, off by default |
Strategy(Int_t flag) | Set Minuit strategy (0 through 2, default is 1) |
Options to control informational output | |
Verbose(bool flag) | Flag controls if verbose output is printed (NLL, parameter changes during fit |
Timer(bool flag) | Time CPU and wall clock consumption of fit steps, off by default |
PrintLevel(Int_t level) | Set Minuit print level (-1 through 3, default is 1). At -1 all RooFit informational messages are suppressed as well |
Warnings(bool flag) | Enable or disable MINUIT warnings (enabled by default) |
PrintEvalErrors(Int_t numErr) | Control number of p.d.f evaluation errors printed per likelihood evaluation. A negative value suppress output completely, a zero value will only print the error count per p.d.f component, a positive value is will print details of each error up to numErr messages per p.d.f component. |
The RooAbsReal::chi2FitTo() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.
Reimplemented in RooAbsPdf.
Definition at line 4375 of file RooAbsReal.cxx.
|
static |
|
inlinestaticconstexpr |
Definition at line 601 of file RooAbsReal.h.
|
static |
Clear the stack of evaluation error messages.
Definition at line 3675 of file RooAbsReal.cxx.
|
virtual |
Base function for computing multiple values of a RooAbsReal.
output | The array where the results are stored |
nEvents | The number of events to be processed |
dataMap | A std::map containing the input data for the computations |
Reimplemented in RooBernstein, RooBifurGauss, RooBreitWigner, RooBukinPdf, RooCBShape, RooChebychev, RooChiSquarePdf, RooDstD0BG, RooExponential, RooGamma, RooJohnson, RooLandau, RooLognormal, RooNovosibirsk, RooPoisson, RooPolynomial, RooVoigtian, RooAddition, RooAddModel, RooAddPdf, RooGenericPdf, RooPolyVar, RooProduct, RooRatio, ROOT::Experimental::RooNLLVarNew, RooStats::HistFactory::FlexibleInterpVar, ParamHistFunc, PiecewiseInterpolation, RooArgusBG, RooBMixDecay, RooGaussian, RooGaussModel, RooAbsCachedPdf, RooBinSamplingPdf, RooBinWidthFunction, RooConstraintSum, RooHistFunc, RooHistPdf, RooRealSumPdf, RooTruthModel, RooNormalizedPdf, RooFormulaVar, and RooFixedProdPdf.
Definition at line 4702 of file RooAbsReal.cxx.
|
overrideprotectedvirtual |
Copy the cached value of another RooAbsArg to our cache.
Warning: This function just copies the cached values of source, it is the callers responsibility to make sure the cache is clean.
Implements RooAbsArg.
Reimplemented in RooAbsRealLValue, and RooRealVar.
Definition at line 3128 of file RooAbsReal.cxx.
|
virtual |
Create a \( \chi^2 \) variable from a histogram and this function.
arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8 | ordered arguments |
The std::list of supported command arguments is given in the documentation for RooChi2Var::RooChi2Var(const char name, const char title, RooAbsReal& func, RooDataHist& hdata, const RooCmdArg&,const RooCmdArg&,const RooCmdArg&, const RooCmdArg&,const RooCmdArg&,const RooCmdArg&, const RooCmdArg&,const RooCmdArg&,const RooCmdArg&).
data | Histogram with data |
The RooAbsReal::createChi2() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.
Reimplemented in RooAbsPdf, and RooAbsPdf.
Definition at line 4289 of file RooAbsReal.cxx.
|
virtual |
data | hist data |
cmdList | List with RooCmdArg() from the table |
Reimplemented in RooAbsPdf.
Definition at line 4306 of file RooAbsReal.cxx.
|
virtual |
Create a \( \chi^2 \) from a series of x and y values stored in a dataset.
The y values can either be the event weights (default), or can be another column designated by the YVar() argument. The y value must have errors defined for the \( \chi^2 \) to be well defined.
The following named arguments are supported
Options to control construction of the \( \chi^2 \) | |
---|---|
YVar(RooRealVar& yvar) | Designate given column in dataset as Y value |
Integrate(bool flag) | Integrate function over range specified by X errors rather than take value at bin center. |
Reimplemented in RooAbsPdf.
Definition at line 4405 of file RooAbsReal.cxx.
|
virtual |
Reimplemented in RooAbsPdf, and RooAbsPdf.
Definition at line 4422 of file RooAbsReal.cxx.
|
overridevirtual |
Create a RooRealVar fundamental object with our properties.
The new object will be created without any fit limits.
Implements RooAbsArg.
Definition at line 3259 of file RooAbsReal.cxx.
RooAbsReal::createHistogram | ( | const char * | name, |
const RooAbsRealLValue & | xvar, | ||
const RooCmdArg & | arg1 = RooCmdArg::none() , |
||
const RooCmdArg & | arg2 = RooCmdArg::none() , |
||
const RooCmdArg & | arg3 = RooCmdArg::none() , |
||
const RooCmdArg & | arg4 = RooCmdArg::none() , |
||
const RooCmdArg & | arg5 = RooCmdArg::none() , |
||
const RooCmdArg & | arg6 = RooCmdArg::none() , |
||
const RooCmdArg & | arg7 = RooCmdArg::none() , |
||
const RooCmdArg & | arg8 = RooCmdArg::none() |
||
) | const |
Create and fill a ROOT histogram TH1, TH2 or TH3 with the values of this function.
[in] | name | Name of the ROOT histogram |
[in] | xvar | Observable to be std::mapped on x axis of ROOT histogram |
[in] | arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8 | Arguments according to std::list below |
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. 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... Definition RooAbsReal.cxx:1224 |
ZVar(const RooAbsRealLValue& var,...) | Observable to be std::mapped on z axis of ROOT histogram |
The RooAbsReal::createHistogram() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.
Definition at line 1304 of file RooAbsReal.cxx.
TH1 * RooAbsReal::createHistogram | ( | const char * | name, |
const RooAbsRealLValue & | xvar, | ||
RooLinkedList & | argList | ||
) | const |
Internal method implementing createHistogram.
Definition at line 1322 of file RooAbsReal.cxx.
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.
[in] | varNameList | List of variables to use for x, y, z axis, separated by ':' |
[in] | xbins | Number of bins for first variable |
[in] | ybins | Number of bins for second variable |
[in] | zbins | Number of bins for third variable |
For a greater degree of control use RooAbsReal::createHistogram(const char *, const RooAbsRealLValue&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&) const
Definition at line 1224 of file RooAbsReal.cxx.
|
inline |
Create integral over observables in iset in range named rangeName.
Definition at line 212 of file RooAbsReal.h.
|
inline |
Create integral over observables in iset in range named rangeName with integrand normalized over observables in nset.
Definition at line 216 of file RooAbsReal.h.
|
inline |
Create integral over observables in iset in range named rangeName with integrand normalized over observables in nset while using specified configuration for any numeric integration.
Definition at line 221 of file RooAbsReal.h.
|
virtual |
Create an object that represents the integral of the function over one or more observables std::listed in iset.
The actual integration calculation is only performed when the return object is evaluated. The name of the integral object is automatically constructed from the name of the input function, the variables it integrates and the range integrates over. If nset is specified the integrand is request to be normalized over nset (only meaningful when the integrand is a pdf). If rangename is specified the integral is performed over the named range, otherwise it is performed over the domain of each integrated observable. If cfg is specified it will be used to configure any numeric integration aspect of the integral. It will not force the integral to be performed numerically, which is decided automatically by RooRealIntegral.
Reimplemented in RooAbsRealLValue, RooBinSamplingPdf, and RooRealIntegral.
Definition at line 565 of file RooAbsReal.cxx.
RooAbsReal::createIntegral | ( | const RooArgSet & | iset, |
const RooCmdArg & | arg1, | ||
const RooCmdArg & | arg2 = RooCmdArg::none() , |
||
const RooCmdArg & | arg3 = RooCmdArg::none() , |
||
const RooCmdArg & | arg4 = RooCmdArg::none() , |
||
const RooCmdArg & | arg5 = RooCmdArg::none() , |
||
const RooCmdArg & | arg6 = RooCmdArg::none() , |
||
const RooCmdArg & | arg7 = RooCmdArg::none() , |
||
const RooCmdArg & | arg8 = RooCmdArg::none() |
||
) | const |
Create an object that represents the integral of the function over one or more observables std::listed in iset
.
The actual integration calculation is only performed when the returned object is evaluated. The name of the integral object is automatically constructed from the name of the input function, the variables it integrates and the range integrates over.
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 |
The RooAbsReal::createIntegral() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.
Definition at line 524 of file RooAbsReal.cxx.
|
inline |
Create integral over observables in iset in range named rangeName using specified configuration for any numeric integration.
Definition at line 225 of file RooAbsReal.h.
|
protected |
Internal utility function for createIntegral() that creates the actual integral object.
Definition at line 604 of file RooAbsReal.cxx.
RooFit::OwningPtr< RooAbsReal > RooAbsReal::createIntRI | ( | const RooArgSet & | iset, |
const RooArgSet & | nset = {} |
||
) |
Utility function for createRunningIntegral.
It creates an object implementing the standard (analytical) integration technique for calculating the running integral.
Definition at line 3956 of file RooAbsReal.cxx.
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").
[in] | dependentVars | Dependent variables over which to normalise, \( \{x\} \). |
[in] | projectedVars | Variables to project out, \( \{ y \} \). |
[out] | cloneSet | Will 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] | rangeName | Optional range for projection integrals |
[in] | condObs | Conditional observables, which are not integrated for normalisation, even if they are in dependentVars or projectedVars . |
cloneSet
(which includes the returned projection object). Definition at line 859 of file RooAbsReal.cxx.
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.
Definition at line 830 of file RooAbsReal.cxx.
|
virtual |
Create a RooProfileLL object that eliminates all nuisance parameters in the present function.
The nuisance parameters are defined as all parameters of the function except the stated paramsOfInterest
Reimplemented in RooProfileLL.
Definition at line 482 of file RooAbsReal.cxx.
RooFit::OwningPtr< RooAbsReal > RooAbsReal::createRunningIntegral | ( | const RooArgSet & | iset, |
const RooArgSet & | nset = {} |
||
) |
RooAbsReal::createRunningIntegral | ( | const RooArgSet & | iset, |
const RooCmdArg & | arg1, | ||
const RooCmdArg & | arg2 = RooCmdArg::none() , |
||
const RooCmdArg & | arg3 = RooCmdArg::none() , |
||
const RooCmdArg & | arg4 = RooCmdArg::none() , |
||
const RooCmdArg & | arg5 = RooCmdArg::none() , |
||
const RooCmdArg & | arg6 = RooCmdArg::none() , |
||
const RooCmdArg & | arg7 = RooCmdArg::none() , |
||
const RooCmdArg & | arg8 = RooCmdArg::none() |
||
) |
Create an object that represents the running integral of the function over one or more observables std::listed in iset, i.e.
\[ \int_{x_\mathrm{lo}}^x f(x') \, \mathrm{d}x' \]
The actual integration calculation is only performed when the return object is evaluated. The name of the integral object is automatically constructed from the name of the input function, the variables it integrates and the range integrates over. The default strategy to calculate the running integrals is
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 |
The RooAbsReal::createRunningIntegral() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.
Definition at line 3879 of file RooAbsReal.cxx.
RooFit::OwningPtr< RooAbsReal > RooAbsReal::createScanRI | ( | const RooArgSet & | iset, |
const RooArgSet & | nset, | ||
Int_t | numScanBins, | ||
Int_t | intOrder | ||
) |
Utility function for createRunningIntegral that construct an object implementing the numeric scanning technique for calculating the running integral.
Definition at line 3939 of file RooAbsReal.cxx.
|
inlinestatic |
Definition at line 601 of file RooAbsReal.h.
|
inlinevirtual |
Reimplemented in RooAddition, RooChi2Var, RooFit::TestStatistics::RooRealL, RooFormulaVar, RooNLLVar, RooXYChi2Var, ROOT::Experimental::RooAbsRealWrapper, and ROOT::Experimental::RooNLLVarNew.
Definition at line 253 of file RooAbsReal.h.
|
static |
Returns the default numeric integration configuration for all RooAbsReals.
Definition at line 3401 of file RooAbsReal.cxx.
RooDerivative * RooAbsReal::derivative | ( | RooRealVar & | obs, |
const RooArgSet & | normSet, | ||
Int_t | order, | ||
double | eps = 0.001 |
||
) |
Return function representing first, second or third order derivative of this function.
Definition at line 4128 of file RooAbsReal.cxx.
RooDerivative * RooAbsReal::derivative | ( | RooRealVar & | obs, |
Int_t | order = 1 , |
||
double | eps = 0.001 |
||
) |
Return function representing first, second or third order derivative of this function.
Definition at line 4116 of file RooAbsReal.cxx.
|
virtual |
Reimplemented in RooAbsTestStatistic, RooRealMPFE, and ROOT::Experimental::RooNLLVarNew.
Definition at line 4898 of file RooAbsReal.cxx.
|
static |
Definition at line 321 of file RooAbsReal.cxx.
|
static |
Return current evaluation error logging mode.
Definition at line 4570 of file RooAbsReal.cxx.
|
protectedpure virtual |
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
Implemented in NuMuToNuE_Oscillation, RooStats::HistFactory::FlexibleInterpVar, RooStats::HistFactory::LinInterpVar, ParamHistFunc, PiecewiseInterpolation, RooStats::HistFactory::RooBarlowBeestonLL, Roo2DKeysPdf, RooArgusBG, RooBernstein, RooBifurGauss, RooBreitWigner, RooBukinPdf, RooCBShape, RooCFunction1Binding< VO, VI >, RooCFunction1PdfBinding< VO, VI >, RooCFunction2Binding< VO, VI1, VI2 >, RooCFunction2PdfBinding< VO, VI1, VI2 >, RooCFunction3Binding< VO, VI1, VI2, VI3 >, RooCFunction3PdfBinding< VO, VI1, VI2, VI3 >, RooCFunction4Binding< VO, VI1, VI2, VI3, VI4 >, RooCFunction4PdfBinding< VO, VI1, VI2, VI3, VI4 >, RooChebychev, RooChiSquarePdf, RooCrystalBall, RooDstD0BG, RooExponential, RooFunctor1DBinding, RooFunctor1DPdfBinding, RooFunctorBinding, RooFunctorPdfBinding, RooGamma, RooGaussian, RooGaussModel, RooGExpModel, RooHistConstraint, RooIntegralMorph, RooJeffreysPrior, RooJohnson, RooKeysPdf, RooLagrangianMorphFunc, RooLandau, RooLognormal, RooMomentMorph, RooMomentMorphFunc, RooMomentMorphFuncND, RooMomentMorphND, RooMultiBinomial, RooNDKeysPdf, RooNovosibirsk, RooParametricStepFunction, RooParamHistFunc, RooPoisson, RooPolynomial, RooStepFunction, RooTFnBinding, RooTFnPdfBinding, RooUnblindCPAsymVar, RooUnblindOffset, RooUnblindPrecision, RooUnblindUniform, RooUniform, RooVoigtian, RooAbsAnaConvPdf, RooAbsTestStatistic, RooAddition, RooAddModel, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooCachedPdf, RooCachedReal, RooChangeTracker, RooConstraintSum, RooConstVar, RooConvCoefVar, RooDerivative, RooEfficiency, RooEffProd, RooErrorVar, RooExtendedBinding, RooExtendedTerm, RooExtendPdf, RooFFTConvPdf, RooFirstMoment, RooFit::TestStatistics::RooRealL, RooFormulaVar, RooFracRemainder, RooGenericPdf, RooGenProdProj, RooHistFunc, RooHistPdf, RooLinearCombination, RooLinearVar, RooMoment, RooMultiVarGaussian, RooNumConvolution, RooNumConvPdf, RooNumRunningInt, RooPolyFunc, RooPolyVar, RooProdPdf, RooProduct, RooProfileLL, RooProjectedPdf, RooPullVar, RooRangeBoolean, RooRatio, RooRealIntegral, RooRealMPFE, RooRealSumFunc, RooRealSumPdf, RooRealVar, RooRecursiveFraction, RooSecondMoment, RooSimultaneous, RooTruthModel, RooWrapperPdf, ROOT::Experimental::RooAbsRealWrapper, ROOT::Experimental::RooNLLVarNew, RooNormalizedPdf, RooFixedProdPdf, RooHypatia2, RooLegendre, RooNonCentralChiSquare, RooSpHarmonic, RooStats::Heaviside, ProgressMonitor, and PdfWrapper.
|
protectedvirtualdelete |
|
protectedvirtual |
Evaluate this object for a batch/span of data points.
This is the backend used by getValues() to perform computations. A span pointing to the computation results will be stored in evalData
, and also be returned to getValues(), which then finalises the computation.
A computation proceeds as follows:
getValues(evalData, normSet)
. Those will returnevalData
otherwise. If evalData
already contains values for those objects, these will return data without recomputing those.evalData
of the same size as those returned from the servers.[in,out] | evalData | Object holding data that should be used in computations. Computation results have to be stored here. |
[in] | normSet | Optional normalisation set passed down to the servers of this object. |
evalData
. Reimplemented in RooUniform, RooFormulaVar, RooHypatia2, RooLegendre, and RooGenericPdf.
Definition at line 4631 of file RooAbsReal.cxx.
RooDataHist * RooAbsReal::fillDataHist | ( | RooDataHist * | hist, |
const RooArgSet * | normSet, | ||
double | scaleFactor, | ||
bool | correctForBinSize = false , |
||
bool | showProgress = false |
||
) | const |
Fill a RooDataHist with values sampled from this function at the bin centers.
If extendedMode is true, the p.d.f. values is multiplied by the number of expected events in each bin
An optional scaling by a given scaleFactor can be performed. Returns a pointer to the input RooDataHist, or zero in case of an error.
If correctForBinSize is true the RooDataHist is filled with the functions density (function value times the bin volume) rather than function value.
If showProgress is true a process indicator is printed on stdout in steps of one percent, which is mostly useful for the sampling of expensive functions such as likelihoods
Definition at line 1166 of file RooAbsReal.cxx.
TH1 * RooAbsReal::fillHistogram | ( | TH1 * | hist, |
const RooArgList & | plotVars, | ||
double | scaleFactor = 1 , |
||
const RooArgSet * | projectedVars = nullptr , |
||
bool | scaleForDensity = true , |
||
const RooArgSet * | condObs = nullptr , |
||
bool | setError = true |
||
) | const |
Fill the ROOT histogram 'hist' with values sampled from this function at the bin centers.
Our value is calculated by first integrating out any variables in projectedVars and then scaling the result by scaleFactor. Returns a pointer to the input histogram, or zero in case of an error. The input histogram can be any TH1 subclass, and therefore of arbitrary dimension. Variables are matched with the (x,y,...) dimensions of the input histogram according to the order in which they appear in the input plotVars std::list. If scaleForDensity is true the histogram is filled with a the functions density rather than the functions value (i.e. the value at the bin center is multiplied with bin volume)
Definition at line 993 of file RooAbsReal.cxx.
|
overrideprotectedvirtual |
Fill the tree branch that associated with this object with its current value.
Implements RooAbsArg.
Reimplemented in RooRealVar.
Definition at line 3228 of file RooAbsReal.cxx.
|
protected |
Utility function for createIntObj() that aids in the construct of recursive integrals over functions with multiple observables with parameterized ranges.
This function finds in a given set allObs over which integration is requested the largeset subset of observables that can be integrated simultaneously. This subset consists of observables with fixed ranges and observables with parameterized ranges whose parameterization does not depend on any observable that is also integrated.
Definition at line 715 of file RooAbsReal.cxx.
double RooAbsReal::findRoot | ( | RooRealVar & | x, |
double | xmin, | ||
double | xmax, | ||
double | yval | ||
) |
Return value of x (in range xmin,xmax) at which function equals yval.
(Calculation is performed with Brent root finding algorithm)
Definition at line 4180 of file RooAbsReal.cxx.
|
virtual |
Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by this object to the given set of observables.
If the force flag is false, the normalization choice is only fixed for those RooAddPdf components that have the default 'automatic' interpretation of coefficients (i.e. the interpretation is defined by the observables passed to getVal()). If force is true, also RooAddPdf that already have a fixed interpretation are changed to a new fixed interpretation.
Definition at line 3779 of file RooAbsReal.cxx.
|
virtual |
Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by this object to the given set of observables.
If the force flag is false, the normalization range choice is only fixed for those RooAddPdf components that currently use the default full domain to interpret their coefficients. If force is true, also RooAddPdf that already have a fixed interpretation range are changed to a new fixed interpretation range.
Definition at line 3804 of file RooAbsReal.cxx.
Reimplemented in ParamHistFunc, RooParamHistFunc, RooAbsCachedReal, RooAddition, RooAddModel, RooAddPdf, RooExtendPdf, RooSimultaneous, RooNormalizedPdf, RooLagrangianMorphFunc, RooRealSumFunc, RooRealSumPdf, RooAbsAnaConvPdf, RooAbsCachedPdf, RooBinSamplingPdf, RooProdPdf, RooProduct, RooProjectedPdf, RooWrapperPdf, and RooFixedProdPdf.
Definition at line 168 of file RooAbsReal.h.
|
inlinevirtual |
Definition at line 173 of file RooAbsReal.h.
RooFunctor * RooAbsReal::functor | ( | const RooArgList & | obs, |
const RooArgList & | pars = RooArgList() , |
||
const RooArgSet & | nset = RooArgSet() |
||
) | const |
Return a RooFunctor object bound to this RooAbsReal with given definition of observables and parameters.
Definition at line 4016 of file RooAbsReal.cxx.
|
virtual |
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
'integSet' is the set of dependents for which integration is requested. The function should copy the subset of dependents it can analytically integrate to anaIntSet and return a unique identification code for this integration configuration. If no integration can be performed, zero should be returned.
Reimplemented in RooArgusBG, RooBernstein, RooBifurGauss, RooBreitWigner, RooCBShape, RooChebychev, RooChiSquarePdf, RooCrystalBall, RooDstD0BG, RooExponential, RooGamma, RooGaussian, RooGaussModel, RooGExpModel, RooJohnson, RooKeysPdf, RooLandau, RooLognormal, RooNDKeysPdf, RooNovosibirsk, RooParametricStepFunction, RooPoisson, RooPolynomial, RooUniform, RooConvCoefVar, RooEfficiency, RooHistFunc, RooHistPdf, RooMultiVarGaussian, RooPolyVar, RooTruthModel, RooLegendre, RooNonCentralChiSquare, RooSpHarmonic, RooAddition, RooBinSamplingPdf, RooWrapperPdf, and RooFixedProdPdf.
Definition at line 379 of file RooAbsReal.cxx.
|
virtual |
Variant of getAnalyticalIntegral that is also passed the normalization set that should be applied to the integrand of which the integral is requested.
For certain operator p.d.f it is useful to overload this function rather than analyticalIntegralWN() as the additional normalization information may be useful in determining a more efficient decomposition of the requested integral.
Reimplemented in RooNormalizedPdf, ParamHistFunc, PiecewiseInterpolation, RooParamHistFunc, RooAbsAnaConvPdf, RooAbsCachedPdf, RooAbsCachedReal, RooBinSamplingPdf, RooExtendPdf, RooProduct, RooProjectedPdf, RooWrapperPdf, RooFixedProdPdf, RooLagrangianMorphFunc, RooAddModel, RooAddPdf, RooProdPdf, RooRealSumFunc, RooRealSumPdf, and RooSimultaneous.
Definition at line 362 of file RooAbsReal.cxx.
|
inline |
Definition at line 178 of file RooAbsReal.h.
RooNumIntConfig * RooAbsReal::getIntegratorConfig | ( | ) |
Return the numeric integration configuration used for this object.
If a specialized configuration was associated with this object, that configuration is returned, otherwise the default configuration for all RooAbsReals is returned
Definition at line 3451 of file RooAbsReal.cxx.
const RooNumIntConfig * RooAbsReal::getIntegratorConfig | ( | ) | const |
Return the numeric integration configuration used for this object.
If a specialized configuration was associated with this object, that configuration is returned, otherwise the default configuration for all RooAbsReals is returned
Definition at line 3438 of file RooAbsReal.cxx.
Advertise capability to determine maximum value of function for given set of observables.
If no direct generator method is provided, this information will assist the accept/reject generator to operate more efficiently as it can skip the initial trial sampling phase to empirically find the function maximum
Reimplemented in RooCBShape, RooCrystalBall, RooKeysPdf, RooBinSamplingPdf, RooFFTConvPdf, RooHistFunc, RooHistPdf, RooWrapperPdf, RooLegendre, and RooSpHarmonic.
Definition at line 3521 of file RooAbsReal.cxx.
const char * RooAbsReal::getPlotLabel | ( | ) | const |
Get the label associated with the variable.
Definition at line 417 of file RooAbsReal.cxx.
double RooAbsReal::getPropagatedError | ( | const RooFitResult & | fr, |
const RooArgSet & | nset = RooArgSet() |
||
) | const |
Calculate error on self by linearly propagating errors on parameters using the covariance matrix from a fit result.
The error is calculated as follows
\[ \mathrm{error}^2(x) = F_\mathbf{a}(x) \cdot \mathrm{Cov}(\mathbf{a},\mathbf{a}') \cdot F_{\mathbf{a}'}^{\mathrm{T}}(x) \]
where \( F_mathbf{a}(x) = \frac{ f(x, mathbf{a} + \mathrm{d}mathbf{a}) - f(x, mathbf{a} - \mathrm{d}mathbf{a}) }{2} \), with \( f(x) = \) this
and \( \mathrm{d}mathbf{a} \) the vector of one-sigma uncertainties of all fit parameters taken from the fit result and \( \mathrm{Cov}(mathbf{a},mathbf{a}') \) = the covariance matrix from the fit result.
Definition at line 2603 of file RooAbsReal.cxx.
Return this variable's title std::string.
If appendUnit is true and this variable has units, also append a std::string " (<unit>)".
Definition at line 226 of file RooAbsReal.cxx.
|
inline |
Definition at line 147 of file RooAbsReal.h.
Like getVal(const RooArgSet*), but always requires an argument for normalisation.
Definition at line 114 of file RooAbsReal.h.
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.
[in] | normalisationSet | getValV() reacts differently depending on the value of the normalisation set. If the set is nullptr , an unnormalised value is returned. |
To normalise the result properly, a RooArgSet has to be passed, which contains the variables to normalise over. These are integrated over their current ranges to compute the normalisation constant, and the unnormalised result is divided by this value.
Definition at line 91 of file RooAbsReal.h.
|
virtualdelete |
std::vector< double > RooAbsReal::getValues | ( | RooAbsData const & | data | ) | const |
Definition at line 304 of file RooAbsReal.cxx.
|
virtual |
Compute batch of values for input data stored in evalData
.
This is a faster, multi-value version of getVal(). It calls evaluateSpan() to trigger computations, and finalises those (e.g. error checking or automatic normalisation) before returning a span with the results. This span will also be stored in evalData
, so subsquent calls of getValues() will return immediately.
If evalData
is empty, a single value will be returned, which is the result of evaluating the current value of each object that's serving values to us. If evalData
contains a batch of values for one or more of the objects serving values to us, a batch of values for each entry stored in evalData
is returned. To fill a RunContext with values from a dataset, use RooAbsData::getBatches().
[in] | evalData | Object holding spans of input data. The results are also stored here. |
[in] | normSet | Use these variables for normalisation (relevant for PDFs), and pass this normalisation on to object serving values to us. |
evalData
. Reimplemented in RooConstVar, and RooRealVar.
Definition at line 280 of file RooAbsReal.cxx.
Return value of object.
If the cache is clean, return the cached value, otherwise recalculate on the fly and refill the cache
Reimplemented in RooConstVar, ROOT::Experimental::RooAbsRealWrapper, RooNormalizedPdf, RooAbsHiddenReal, RooConvCoefVar, RooRealMPFE, RooRealVar, RooResolutionModel, RooAbsCachedPdf, RooAbsCachedReal, RooAbsPdf, RooAddPdf, RooErrorVar, and RooRealIntegral.
Definition at line 244 of file RooAbsReal.cxx.
|
staticprotected |
Global switch controlling the activation of the selectComp() functionality.
Definition at line 3096 of file RooAbsReal.cxx.
|
static |
Definition at line 117 of file RooAbsReal.cxx.
RooMultiGenFunction * RooAbsReal::iGenFunction | ( | const RooArgSet & | observables, |
const RooArgSet & | nset = RooArgSet() |
||
) |
Definition at line 4201 of file RooAbsReal.cxx.
RooGenFunction * RooAbsReal::iGenFunction | ( | RooRealVar & | x, |
const RooArgSet & | nset = RooArgSet() |
||
) |
Definition at line 4192 of file RooAbsReal.cxx.
|
protected |
Construct std::string with unique suffix name to give to integral object that encodes integrated observables, normalization observables and the integration range name.
Definition at line 770 of file RooAbsReal.cxx.
|
inlineoverridevirtual |
Reimplemented from TObject.
Reimplemented in RooStats::HistFactory::RooBarlowBeestonLL, RooArgusBG, RooBCPEffDecay, RooBCPGenDecay, RooBDecay, RooBernstein, RooBifurGauss, RooBMixDecay, RooBreitWigner, RooBukinPdf, RooCBShape, RooCFunction1Binding< VO, VI >, RooCFunction1PdfBinding< VO, VI >, RooCFunction2Binding< VO, VI1, VI2 >, RooCFunction2PdfBinding< VO, VI1, VI2 >, RooCFunction3Binding< VO, VI1, VI2, VI3 >, RooCFunction3PdfBinding< VO, VI1, VI2, VI3 >, RooCFunction4Binding< VO, VI1, VI2, VI3, VI4 >, RooCFunction4PdfBinding< VO, VI1, VI2, VI3, VI4 >, RooChebychev, RooChiSquarePdf, RooCrystalBall, RooDecay, RooDstD0BG, RooExponential, RooFunctor1DBinding, RooFunctor1DPdfBinding, RooFunctorBinding, RooFunctorPdfBinding, RooGamma, RooGaussian, RooGaussModel, RooGExpModel, RooHistConstraint, RooIntegralMorph, RooJeffreysPrior, RooJohnson, RooKeysPdf, RooLagrangianMorphFunc, RooLandau, RooLognormal, RooMomentMorph, RooMomentMorphFunc, RooMomentMorphFuncND, RooMomentMorphND, RooMultiBinomial, RooNDKeysPdf, RooNonCPEigenDecay, RooNovosibirsk, RooParametricStepFunction, RooParamHistFunc, RooPoisson, RooPolynomial, RooStepFunction, RooTFnBinding, RooTFnPdfBinding, RooUnblindCPAsymVar, RooUnblindOffset, RooUnblindPrecision, RooUnblindUniform, RooUniform, RooVoigtian, RooAbsRealLValue, RooAbsSelfCachedPdf, RooAbsSelfCachedReal, RooAbsTestStatistic, RooAddition, RooAddModel, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooCachedPdf, RooCachedReal, RooChangeTracker, RooChi2Var, RooConstraintSum, RooConstVar, RooConvCoefVar, RooDataWeightedAverage, RooDerivative, RooEfficiency, RooEffProd, RooErrorVar, RooExtendedBinding, RooExtendedTerm, RooExtendPdf, RooFFTConvPdf, RooFirstMoment, RooFit::TestStatistics::RooRealL, RooFormulaVar, RooFracRemainder, RooGenericPdf, RooGenProdProj, RooHistFunc, RooHistPdf, RooLinearCombination, RooLinearVar, RooMoment, RooMultiVarGaussian, RooNLLVar, RooNumCdf, RooNumConvolution, RooNumConvPdf, RooNumRunningInt, RooPolyFunc, RooPolyVar, RooProdPdf, RooProduct, RooProfileLL, RooProjectedPdf, RooPullVar, RooRangeBoolean, RooRatio, RooRealIntegral, RooRealMPFE, RooRealSumFunc, RooRealSumPdf, RooRealVar, RooRecursiveFraction, RooResolutionModel, RooSecondMoment, RooSimultaneous, RooTruthModel, RooWrapperPdf, RooXYChi2Var, RooLegendre, RooNonCentralChiSquare, and RooSpHarmonic.
Definition at line 601 of file RooAbsReal.h.
Tests if the distribution is binned. Unless overridden by derived classes, this always returns false.
Reimplemented in RooParamHistFunc, RooBinSamplingPdf, RooHistFunc, RooHistPdf, ParamHistFunc, PiecewiseInterpolation, RooLagrangianMorphFunc, RooMomentMorphFunc, RooAddition, RooAddPdf, RooBinWidthFunction, RooProdPdf, RooProduct, RooRealSumFunc, RooRealSumPdf, RooWrapperPdf, and PdfWrapper.
Definition at line 358 of file RooAbsReal.h.
|
overridevirtual |
Implements RooAbsArg.
Definition at line 211 of file RooAbsReal.cxx.
|
inlinevirtual |
Reimplemented in RooAbsTestStatistic.
Definition at line 385 of file RooAbsReal.h.
bool RooAbsReal::isSelectedComp | ( | ) | const |
If true, the current pdf is a selected component (for use in plotting)
Definition at line 3086 of file RooAbsReal.cxx.
|
inlineoverrideprotectedvirtual |
Check if current value is valid.
Reimplemented from RooAbsArg.
Reimplemented in RooRealIntegral.
Definition at line 449 of file RooAbsReal.h.
|
inlineprotectedvirtual |
Interface function to check if given value is a valid value for this object. Returns true unless overridden.
Reimplemented in RooGenericPdf, RooAbsRealLValue, RooRealIntegral, and RooFormulaVar.
Definition at line 451 of file RooAbsReal.h.
void RooAbsReal::logEvalError | ( | const char * | message, |
const char * | serverValueString = nullptr |
||
) | const |
Log evaluation error message.
Evaluation errors may be routed through a different protocol than generic RooFit warning message (which go straight through RooMsgService) because evaluation errors can occur in very large numbers in the use of likelihood evaluations. In logEvalError mode, controlled by global method enableEvalErrorLogging() messages reported through this function are not printed but all stored in a std::list, along with server values at the time of reporting. Error messages logged in this way can be printed in a structured way, eliminating duplicates and with the ability to truncate the std::list by printEvalErrors. This is the standard mode of error logging during MINUIT operations. If enableEvalErrorLogging() is false, all errors reported through this method are passed for immediate printing through RooMsgService. A std::string with server names and values is constructed automatically for error logging purposes, unless a custom std::string with similar information is passed as argument.
Definition at line 3598 of file RooAbsReal.cxx.
|
static |
Interface to insert remote error logging messages received by RooRealMPFE into current error loggin stream.
Definition at line 3543 of file RooAbsReal.cxx.
|
protected |
Utility function for plotOn() that constructs the set of observables to project when plotting ourselves as function of 'plotVar'.
'allVars' is the std::list of variables that must be projected, but may contain variables that we do not depend on. If 'silent' is cleared, warnings about inconsistent input parameters will be printed.
Definition at line 3033 of file RooAbsReal.cxx.
|
protected |
Utility function for use in getAnalyticalIntegral().
If the content of proxy 'a' occurs in set 'allDeps' then the argument held in 'a' is copied from allDeps to analDeps
Definition at line 3275 of file RooAbsReal.cxx.
|
protected |
Utility function for use in getAnalyticalIntegral().
If the contents of proxies a,b occur in set 'allDeps' then the arguments held in a,b are copied from allDeps to analDeps
Definition at line 3292 of file RooAbsReal.cxx.
|
protected |
Utility function for use in getAnalyticalIntegral().
If the contents of proxies a,b,c occur in set 'allDeps' then the arguments held in a,b,c are copied from allDeps to analDeps
Definition at line 3310 of file RooAbsReal.cxx.
|
protected |
Utility function for use in getAnalyticalIntegral().
If the contents of proxies a,b,c,d occur in set 'allDeps' then the arguments held in a,b,c,d are copied from allDeps to analDeps
Definition at line 3330 of file RooAbsReal.cxx.
|
protected |
Utility function for use in getAnalyticalIntegral().
If the contents of 'refset' occur in set 'allDeps' then the arguments held in 'refset' are copied from allDeps to analDeps.
Definition at line 3350 of file RooAbsReal.cxx.
|
private |
Check if allArgs contains matching elements for each name in nameList.
If it does, add the corresponding args from allArgs to matchedArgs and return true. Otherwise return false and do not change matchedArgs.
Definition at line 3370 of file RooAbsReal.cxx.
Return maximum value for set of observables identified by code assigned in getMaxVal.
Reimplemented in RooCBShape, RooCrystalBall, RooKeysPdf, RooBinSamplingPdf, RooFFTConvPdf, RooHistFunc, RooHistPdf, RooWrapperPdf, RooLegendre, and RooSpHarmonic.
Definition at line 3532 of file RooAbsReal.cxx.
|
inline |
Definition at line 374 of file RooAbsReal.h.
|
inline |
Definition at line 375 of file RooAbsReal.h.
Reimplemented in RooBinSamplingPdf, and RooWrapperPdf.
Definition at line 246 of file RooAbsReal.h.
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.
[in] | obs | Observable to calculate the moments for |
[in] | normObs | Normalise w.r.t. these observables |
[in] | order | Order of the moment |
[in] | central | If true, the central moment is given by \( \langle (x- \langle x \rangle )^2 \rangle \) |
[in] | takeRoot | Calculate the square root |
[in] | intNormObs | If true, the moment of the function integrated over all normalization observables is returned. |
Definition at line 4163 of file RooAbsReal.cxx.
RooAbsMoment * RooAbsReal::moment | ( | RooRealVar & | obs, |
Int_t | order, | ||
bool | central, | ||
bool | takeRoot | ||
) |
Return function representing moment of function of given order.
[in] | obs | Observable to calculate the moments for |
[in] | order | Order of the moment |
[in] | central | If true, the central moment is given by \( \langle (x- \langle x \rangle )^2 \rangle \) |
[in] | takeRoot | Calculate the square root |
Definition at line 4144 of file RooAbsReal.cxx.
|
static |
Definition at line 313 of file RooAbsReal.cxx.
|
static |
Return the number of logged evaluation errors since the last clearing.
Definition at line 3754 of file RooAbsReal.cxx.
|
inlinevirtual |
Reimplemented in RooAbsTestStatistic.
Definition at line 386 of file RooAbsReal.h.
Equality operator when comparing to another RooAbsArg.
Only functional when the other arg is a RooAbsReal
Implements RooAbsArg.
Definition at line 202 of file RooAbsReal.cxx.
Equality operator comparing to a double.
Definition at line 191 of file RooAbsReal.cxx.
|
protectedvirtual |
Definition at line 2318 of file RooAbsReal.cxx.
|
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.
[in] | frame | pointer to RooPlot |
[in] | arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10 | Ordered arguments |
If a PDF is plotted in a frame in which a dataset has already been plotted, it will show a projected curve integrated over all variables that were present in the shown dataset except for the one on the x-axis. The normalization of the curve will also be adjusted to the event count of the plotted dataset. An informational message will be printed for each projection step that is performed.
This function takes the following named arguments
Projection control | |
---|---|
Slice(const RooArgSet& set) | Override default projection behaviour by omitting observables std::listed in set from the projection, i.e. by not integrating over these. Slicing is usually only sensible in discrete observables, by e.g. creating a slice of the PDF at the current value of the category observable. |
Slice(RooCategory& cat, const char* label) | Override default projection behaviour by omitting the specified category observable from the projection, i.e., by not integrating over all states of this category. The slice is positioned at the given label value. To pass multiple Slice() commands, please use the Slice(std::map<RooCategory*, std::string> const&) argument explained below. |
Slice(std::map<RooCategory*, std::string> const&) | Omits multiple categories from the projection, as explianed above. Can be used with initializer std::lists for convenience, e.g. pdf.plotOn(frame, Slice({{&tagCategory, "2tag"}, {&jetCategory, "3jet"}});
|
Project(const RooArgSet& set) | Override default projection behaviour by projecting over observables given in the set, ignoring the default projection behavior. Advanced use only. |
ProjWData(const RooAbsData& d) | Override default projection technique (integration). For observables present in given dataset projection of PDF is achieved by constructing an average over all observable values in given set. Consult RooFit plotting tutorial for further explanation of meaning & use of this technique |
ProjWData(const RooArgSet& s, const RooAbsData& d) | As above but only consider subset 's' of observables in dataset 'd' for projection through data averaging |
ProjectionRange(const char* rn) | Override default range of projection integrals to a different range speficied by given range name. This technique allows you to project a finite width slice in a real-valued observable |
NumCPU(Int_t ncpu) | Number of CPUs to use simultaneously to calculate data-weighted projections (only in combination with ProjWData) |
Misc content control | |
PrintEvalErrors(Int_t numErr) | Control number of p.d.f evaluation errors printed per curve. A negative value suppress output completely, a zero value will only print the error count per p.d.f component, a positive value is will print details of each error up to numErr messages per p.d.f component. |
EvalErrorValue(double value) | Set curve points at which (pdf) evaluation errors occur to specified value. By default the function value is plotted. |
Normalization(double scale, ScaleType code) | Adjust normalization by given scale factor. Interpretation of number depends on code:
|
Name(const chat* name) | Give curve specified name in frame. Useful if curve is to be referenced later |
Asymmetry(const RooCategory& c) | Show the asymmetry of the PDF in given two-state category [F(+)-F(-)] / [F(+)+F(-)] rather than the PDF projection. Category must have two states with indices -1 and +1 or three states with indeces -1,0 and +1. |
ShiftToZero(bool flag) | Shift entire curve such that lowest visible point is at exactly zero. Mostly useful when plotting \( -\log(L) \) or \( \chi^2 \) distributions |
AddTo(const char* name, double_t wgtSelf, double_t wgtOther) | Add constructed projection to already existing curve with given name and relative weight factors |
Components(const char* names) | When plotting sums of PDFs, plot only the named components (e.g. only the signal of a signal+background model). |
Components(const RooArgSet& compSet) | As above, but pass a RooArgSet of the components themselves. |
Plotting control | |
DrawOption(const char* opt) | Select ROOT draw option for resulting TGraph object. Currently supported options are "F" (fill), "L" (line), and "P" (points).
|
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' |
VisualizeError() uses plotOnWithErrorBand(). Documentation of the latter:
The RooAbsReal::plotOn() function is pythonized with the command argument pythonization. The keywords must correspond to the CmdArgs of the function.
Reimplemented in RooSimultaneous, RooAbsPdf, and RooSimultaneous.
Definition at line 1652 of file RooAbsReal.cxx.
Plotting engine function for internal use.
Plot ourselves on given frame. If frame contains a histogram, all dimensions of the plotted function that occur in the previously plotted dataset are projected via partial integration, otherwise no projections are performed. Optionally, certain projections can be performed by summing over the values present in a provided dataset ('projData'), to correctly project out data dependents that are not properly described by the PDF (e.g. per-event errors).
The functions value can be multiplied with an optional scale factor. The interpretation of the scale factor is unique for generic real functions, for PDFs there are various interpretations possible, which can be selection with 'stype' (see RooAbsPdf::plotOn() for details).
The default projection behaviour can be overriden by supplying an optional set of dependents to project. For most cases, plotSliceOn() and plotProjOn() provide a more intuitive interface to modify the default projection behaviour.
Reimplemented in RooAbsPdf, and RooSimultaneous.
Definition at line 1944 of file RooAbsReal.cxx.
|
virtual |
Internal back-end function of plotOn() with named arguments.
Reimplemented in RooAbsPdf, RooSimultaneous, and RooSimultaneous.
Definition at line 1672 of file RooAbsReal.cxx.
|
protected |
Helper function for plotting of composite p.d.fs.
Given a set of selected components that should be plotted, find all nodes that (in)directly depend on these selected nodes. Mark all directly and indirecty selected nodes as 'selected' using the selectComp() method
Definition at line 1479 of file RooAbsReal.cxx.
|
protected |
Plot function or PDF on frame with support for visualization of the uncertainty encoded in the given fit result fr.
[in] | frame | RooPlot to plot on |
[in] | fr | The RooFitResult, where errors can be extracted |
[in] | Z | The desired significance (width) of the error band |
[in] | params | If non-zero, consider only the subset of the parameters in fr for the error evaluation |
[in] | argList | Optional RooCmdArg that can be applied to a regular plotOn() operation |
[in] | linMethod | By default (linMethod=true), a linearized error is shown. |
The linearized error is calculated as follows:
\[ \mathrm{error}(x) = Z * F_a(x) * \mathrm{Corr}(a,a') * F_{a'}^\mathrm{T}(x), \]
where
\[ F_a(x) = \frac{ f(x,a+\mathrm{d}a) - f(x,a-\mathrm{d}a) }{2}, \]
with \( f(x) \) the plotted curve and \( \mathrm{d}a \) taken from the fit result, and \( \mathrm{Corr}(a,a') \) = the correlation matrix from the fit result, and \( Z \) = requested signifance ( \( Z \sigma \) band)
The linear method is fast (required 2*N evaluations of the curve, where N is the number of parameters), but may not be accurate in the presence of strong correlations (~>0.9) and at Z>2 due to linear and Gaussian approximations made
Alternatively, a more robust error is calculated using a sampling method. In this method a number of curves is calculated with variations of the parameter values, as drawn from a multi-variate Gaussian p.d.f. that is constructed from the fit results covariance matrix. The error(x) is determined by calculating a central interval that capture N% of the variations for each value of x, where N% is controlled by Z (i.e. Z=1 gives N=68%). The number of sampling curves is chosen to be such that at least 30 curves are expected to be outside the N% interval, and is minimally 100 (e.g. Z=1->Ncurve=100, Z=2->Ncurve=659, Z=3->Ncurve=11111) Intervals from the sampling method can be asymmetric, and may perform better in the presence of strong correlations, but may take (much) longer to calculate.
Definition at line 2732 of file RooAbsReal.cxx.
|
virtual |
Interface for returning an optional hint for initial sampling points when constructing a curve projected on observable obs
.
[in] | obs | Observable to retrieve sampling hint for. |
[in] | xlo | Beginning of range. |
[in] | xhi | End of range. |
Reimplemented in RooLagrangianMorphFunc, RooAddition, RooFormulaVar, RooProduct, RooRealSumFunc, RooRealSumPdf, ParamHistFunc, PiecewiseInterpolation, RooMomentMorphFunc, RooParamHistFunc, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooHistFunc, RooHistPdf, RooLinearCombination, RooProdPdf, RooRangeBoolean, RooRealIntegral, and RooWrapperPdf.
Definition at line 3704 of file RooAbsReal.cxx.
Utility function for plotOn(), perform general sanity check on frame to ensure safe plotting operations.
Definition at line 2990 of file RooAbsReal.cxx.
|
virtual |
Definition at line 2287 of file RooAbsReal.cxx.
|
virtual |
Interface method for function objects to indicate their preferred order of observables for scanning their values into a (multi-dimensional) histogram or RooDataSet.
The observables to be ordered are offered in argument 'obs' and should be copied in their preferred order into argument 'orderdObs', This default implementation indicates no preference and copies the original order of 'obs' into 'orderedObs'
Reimplemented in RooIntegralMorph, and RooCachedPdf.
Definition at line 3823 of file RooAbsReal.cxx.
|
static |
Print all outstanding logged evaluation error on the given ostream.
If maxPerNode is zero, only the number of errors for each source (object with unique name) is std::listed. If maxPerNode is greater than zero, up to maxPerNode detailed error messages are shown per source of errors. A truncation message is shown if there were more errors logged than shown.
Definition at line 3715 of file RooAbsReal.cxx.
|
overridevirtual |
Structure printing.
Reimplemented from RooAbsArg.
Reimplemented in RooGenericPdf, RooResolutionModel, RooAbsRealLValue, RooFormulaVar, RooRealIntegral, RooRealVar, and ROOT::Experimental::RooAbsRealWrapper.
Definition at line 466 of file RooAbsReal.cxx.
|
overridevirtual |
Print object value.
Reimplemented from RooPrintable.
Reimplemented in RooRealVar.
Definition at line 456 of file RooAbsReal.cxx.
|
overridevirtual |
Read object contents from stream (dummy for now)
Implements RooAbsArg.
Reimplemented in RooAbsRealLValue, RooErrorVar, RooFormulaVar, RooGenericPdf, RooLinearVar, and RooRealVar.
Definition at line 437 of file RooAbsReal.cxx.
|
overrideprotectedvirtual |
A buffer for reading values from trees.
Reimplemented from RooAbsArg.
Reimplemented in RooAddPdf, RooDerivative, RooProdPdf, RooProfileLL, RooAbsTestStatistic, RooFormulaVar, RooGenericPdf, RooNumConvolution, RooRealIntegral, RooResolutionModel, and RooProjectedPdf.
Definition at line 4888 of file RooAbsReal.cxx.
|
inline |
Definition at line 409 of file RooAbsReal.h.
|
protectedvirtual |
Interface function to force use of a given set of observables to interpret function value.
Needed for functions or p.d.f.s whose shape depends on the choice of normalization such as RooAddPdf
Reimplemented in RooAddModel, RooAddPdf, and RooSimultaneous.
Definition at line 3495 of file RooAbsReal.cxx.
|
protectedvirtual |
Interface function to force use of a given normalization range to interpret function value.
Needed for functions or p.d.f.s whose shape depends on the choice of normalization such as RooAddPdf
Reimplemented in RooBernstein, RooChebychev, RooAddModel, RooAddPdf, RooProdPdf, and RooSimultaneous.
Definition at line 3508 of file RooAbsReal.cxx.
Overwrite the value stored in this object's cache.
This can be used to fake a computation that resulted in value
.
[in] | value | Value to write. |
[in] | notifyClients | If true, notify users of this object that its value changed. This is the default. |
Reimplemented from RooAbsArg.
Definition at line 621 of file RooAbsReal.h.
|
inlinevirtual |
Reimplemented in ROOT::Experimental::RooAbsRealWrapper, RooAbsTestStatistic, RooAddition, and RooConstraintSum.
Definition at line 382 of file RooAbsReal.h.
|
static |
Set evaluation error logging mode.
Options are
PrintErrors - Print each error through RooMsgService() as it occurs CollectErrors - Accumulate errors, but do not print them. A subsequent call to printEvalErrors() will print a summary CountErrors - Accumulate error count, but do not print them.
Definition at line 4584 of file RooAbsReal.cxx.
|
static |
Definition at line 116 of file RooAbsReal.cxx.
void RooAbsReal::setIntegratorConfig | ( | ) |
Remove the specialized numeric integration configuration associated with this object.
Definition at line 3478 of file RooAbsReal.cxx.
void RooAbsReal::setIntegratorConfig | ( | const RooNumIntConfig & | config | ) |
Set the given integrator configuration as default numeric integration configuration for this object.
Definition at line 3464 of file RooAbsReal.cxx.
void RooAbsReal::setParameterizeIntegral | ( | const RooArgSet & | paramVars | ) |
Definition at line 4592 of file RooAbsReal.cxx.
void RooAbsReal::setPlotLabel | ( | const char * | label | ) |
Set the label associated with this variable.
Definition at line 427 of file RooAbsReal.cxx.
(De)Activate associated tree branch
Implements RooAbsArg.
Definition at line 3245 of file RooAbsReal.cxx.
|
inline |
Definition at line 151 of file RooAbsReal.h.
|
inline |
Definition at line 376 of file RooAbsReal.h.
|
inline |
Definition at line 377 of file RooAbsReal.h.
RooNumIntConfig * RooAbsReal::specialIntegratorConfig | ( | ) | const |
Returns the specialized integrator configuration for this RooAbsReal.
If this object has no specialized configuration, a null pointer is returned.
Definition at line 3411 of file RooAbsReal.cxx.
RooNumIntConfig * RooAbsReal::specialIntegratorConfig | ( | bool | createOnTheFly | ) |
Returns the specialized integrator configuration for this RooAbsReal.
If this object has no specialized configuration, a null pointer is returned, unless createOnTheFly is true in which case a clone of the default integrator configuration is created, installed as specialized configuration, and returned
Definition at line 3423 of file RooAbsReal.cxx.
|
overridevirtual |
Stream an object of class TObject.
Reimplemented from TObject.
Reimplemented in RooStats::HistFactory::RooBarlowBeestonLL, RooArgusBG, RooBCPEffDecay, RooBCPGenDecay, RooBDecay, RooBernstein, RooBifurGauss, RooBMixDecay, RooBreitWigner, RooBukinPdf, RooCBShape, RooCFunction1Binding< VO, VI >, RooCFunction1PdfBinding< VO, VI >, RooCFunction2Binding< VO, VI1, VI2 >, RooCFunction2PdfBinding< VO, VI1, VI2 >, RooCFunction3Binding< VO, VI1, VI2, VI3 >, RooCFunction3PdfBinding< VO, VI1, VI2, VI3 >, RooCFunction4Binding< VO, VI1, VI2, VI3, VI4 >, RooCFunction4PdfBinding< VO, VI1, VI2, VI3, VI4 >, RooChebychev, RooChiSquarePdf, RooCrystalBall, RooDecay, RooDstD0BG, RooExponential, RooFunctor1DBinding, RooFunctor1DPdfBinding, RooFunctorBinding, RooFunctorPdfBinding, RooGamma, RooGaussian, RooGaussModel, RooGExpModel, RooHistConstraint, RooIntegralMorph, RooJeffreysPrior, RooJohnson, RooKeysPdf, RooLagrangianMorphFunc, RooLandau, RooLognormal, RooMomentMorph, RooMomentMorphFunc, RooMomentMorphFuncND, RooMomentMorphND, RooMultiBinomial, RooNDKeysPdf, RooNonCPEigenDecay, RooNovosibirsk, RooParametricStepFunction, RooParamHistFunc, RooPoisson, RooPolynomial, RooStepFunction, RooTFnBinding, RooTFnPdfBinding, RooUnblindCPAsymVar, RooUnblindOffset, RooUnblindPrecision, RooUnblindUniform, RooUniform, RooVoigtian, RooAbsRealLValue, RooAbsSelfCachedPdf, RooAbsSelfCachedReal, RooAbsTestStatistic, RooAddition, RooAddModel, RooAddPdf, RooBinSamplingPdf, RooBinWidthFunction, RooCachedPdf, RooCachedReal, RooChangeTracker, RooChi2Var, RooConstraintSum, RooConstVar, RooConvCoefVar, RooDataWeightedAverage, RooDerivative, RooEfficiency, RooEffProd, RooErrorVar, RooExtendedBinding, RooExtendedTerm, RooExtendPdf, RooFFTConvPdf, RooFirstMoment, RooFit::TestStatistics::RooRealL, RooFormulaVar, RooFracRemainder, RooGenericPdf, RooGenProdProj, RooHistFunc, RooHistPdf, RooLinearCombination, RooLinearVar, RooMoment, RooMultiVarGaussian, RooNLLVar, RooNumCdf, RooNumConvolution, RooNumConvPdf, RooNumRunningInt, RooPolyFunc, RooPolyVar, RooProdPdf, RooProduct, RooProfileLL, RooProjectedPdf, RooPullVar, RooRangeBoolean, RooRatio, RooRealIntegral, RooRealMPFE, RooRealSumFunc, RooRealSumPdf, RooRealVar, RooRecursiveFraction, RooResolutionModel, RooSecondMoment, RooSimultaneous, RooTruthModel, RooWrapperPdf, RooXYChi2Var, RooLegendre, RooNonCentralChiSquare, and RooSpHarmonic.
|
inline |
Definition at line 601 of file RooAbsReal.h.
|
inlineoverrideprotectedvirtual |
Calculate current value of object, with error tracing wrapper.
Definition at line 330 of file RooAbsReal.cxx.
|
overridevirtual |
Write object contents to stream (dummy for now)
Implements RooAbsArg.
Reimplemented in RooAbsRealLValue, RooConstVar, RooErrorVar, RooFormulaVar, RooGenericPdf, RooLinearVar, and RooRealVar.
Definition at line 447 of file RooAbsReal.cxx.
|
friend |
Definition at line 488 of file RooAbsReal.h.
|
friend |
Definition at line 493 of file RooAbsReal.h.
|
friend |
Definition at line 495 of file RooAbsReal.h.
|
friend |
Definition at line 494 of file RooAbsReal.h.
|
friend |
Definition at line 496 of file RooAbsReal.h.
|
friend |
Definition at line 490 of file RooAbsReal.h.
|
friend |
Definition at line 492 of file RooAbsReal.h.
|
friend |
Definition at line 491 of file RooAbsReal.h.
|
friend |
Definition at line 489 of file RooAbsReal.h.
|
staticprivate |
Definition at line 566 of file RooAbsReal.h.
|
staticprivate |
Definition at line 565 of file RooAbsReal.h.
|
staticprivate |
Definition at line 564 of file RooAbsReal.h.
|
protected |
Force numerical integration if flag set.
Definition at line 512 of file RooAbsReal.h.
|
staticprotected |
Component selection flag for RooAbsPdf::plotCompOn.
Definition at line 579 of file RooAbsReal.h.
|
staticprotected |
Offset hiding flag.
Definition at line 599 of file RooAbsReal.h.
|
protected |
Plot label for objects value.
Definition at line 511 of file RooAbsReal.h.
|
mutableprotected |
!
Definition at line 598 of file RooAbsReal.h.
|
protected |
Number of plot bins.
Definition at line 508 of file RooAbsReal.h.
|
protected |
Maximum of plot range.
Definition at line 507 of file RooAbsReal.h.
|
protected |
Minimum of plot range.
Definition at line 506 of file RooAbsReal.h.
|
protected |
Definition at line 578 of file RooAbsReal.h.
|
protected |
Definition at line 514 of file RooAbsReal.h.
|
private |
Definition at line 570 of file RooAbsReal.h.
|
protected |
Unit for objects value.
Definition at line 510 of file RooAbsReal.h.
|
mutableprotected |
Cache for current value of object.
Definition at line 509 of file RooAbsReal.h.