70 _depList(
"depList",
"List of dependents",this),
85 <<
") ERROR variable list and RooDataHist must contain the same variables." << endl ;
89 for (
const auto arg : vars) {
90 if (!dvars->
find(arg->GetName())) {
92 <<
") ERROR variable list and RooDataHist must contain the same variables." << endl ;
112 _depList(
"depList",
"List of dependents",this),
127 <<
") ERROR variable list and RooDataHist must contain the same variables." << endl ;
131 for (
const auto arg : histObs) {
132 if (!dvars->
find(arg->GetName())) {
134 <<
") ERROR variable list and RooDataHist must contain the same variables." << endl ;
149 _depList(
"depList",this,other._depList),
150 _dataHist(other._dataHist),
151 _codeReg(other._codeReg),
152 _intOrder(other._intOrder),
153 _cdfBoundaries(other._cdfBoundaries),
154 _totVolume(other._totVolume),
155 _unitNorm(other._unitNorm)
189 harg->copyCache(parg,
kTRUE) ;
190 if (!harg->inRange(0)) {
225 if (wgt>max) max=wgt ;
276 delete allVarsCommon ;
288 if (allVarsSel->
getSize()==0) {
297 if (allVars.
find(arg->GetName())) code |= (1<<
n) ;
301 analVars.
add(*allVarsSel) ;
340 harg->copyCache(parg,
kTRUE) ;
341 if (!harg->inRange(0)) {
372 if (
string(parg->GetName())==obs.
GetName()) {
390 list<Double_t>* hint =
new list<Double_t> ;
393 xlo = xlo - 0.01*(xhi-xlo) ;
394 xhi = xhi + 0.01*(xhi-xlo) ;
401 if (boundaries[i]>=xlo && boundaries[i]<=xhi) {
402 hint->push_back(boundaries[i]-delta) ;
403 hint->push_back(boundaries[i]+delta) ;
428 if (
string(parg->GetName())==obs.
GetName()) {
444 if (
string(harg->GetName())==obs.
GetName()) {
452 cout <<
"RooHistFunc::binBoundaries(" <<
GetName() <<
") obs = " << obs.
GetName() <<
" hobs is not found, returning null" << endl ;
468 cout <<
"RooHistFunc::binBoundaries(" <<
GetName() <<
") hobs = " << hobs->
GetName() <<
" is not found in dataset?" << endl ;
474 cout <<
"RooHistFunc::binBoundaries(" <<
GetName() <<
") hobs = " << hobs->
GetName() <<
" but is not an LV, returning null" << endl ;
482 list<Double_t>* hint =
new list<Double_t> ;
489 if (boundaries[i]>xlo-delta && boundaries[i]<xhi+delta) {
493 transform->
setVal(boundary) ;
495 hint->push_back(obs.
getVal()) ;
497 hint->push_back(boundary) ;
512 std::list<RooAbsData*> allData =
ws.allEmbeddedData() ;
513 std::list<RooAbsData*>::const_iterator iter ;
514 for (iter = allData.begin() ; iter != allData.end() ; ++iter) {
540 coutE(
ObjectHandling) <<
" RooHistPdf::importWorkspaceHook(" <<
GetName() <<
") unable to import clone of underlying RooDataHist with unique name " << uniqueName <<
", abort" << endl ;
552 coutE(
ObjectHandling) <<
" RooHistPdf::importWorkspaceHook(" <<
GetName() <<
") unable to import clone of underlying RooDataHist with unique name " << uniqueName <<
", abort" << endl ;
590void RooHistFunc::Streamer(
TBuffer &R__b)
char * Form(const char *fmt,...)
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
Bool_t dependsOn(const RooAbsCollection &serverList, const RooAbsArg *ignoreArg=0, Bool_t valueOnly=kFALSE) const
Test whether we depend on (ie, are served by) any object in the specified collection.
void registerProxy(RooArgProxy &proxy)
Register an RooArgProxy in the proxy list.
RooAbsBinning is the abstract base class for RooRealVar binning definitions This class defines the in...
virtual Double_t * array() const =0
virtual Int_t numBoundaries() const =0
Int_t numTypes(const char *=0) const
Return number of types defined (in range named rangeName if rangeName!=0)
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.
RooAbsCollection * selectCommon(const RooAbsCollection &refColl) const
Create a subset of the current collection, consisting only of those elements that are contained as we...
Storage_t::size_type size() const
virtual void Print(Option_t *options=0) const
This method must be overridden when a class wants to print itself.
RooAbsArg * find(const char *name) const
Find object with given name in list.
RooAbsData is the common abstract base class for binned and unbinned datasets.
Abstract base class for objects that are lvalues, i.e.
virtual const RooAbsBinning * getBinningPtr(const char *rangeName) const =0
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
virtual Double_t getMax(const char *name=0) const
Get maximum of currently defined range.
virtual void setVal(Double_t value)=0
virtual Double_t getMin(const char *name=0) const
Get miniminum of currently defined range.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
Double_t getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual Bool_t add(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling add() for each element in the source coll...
virtual void addClone(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling addOwned() for each element in the source...
RooCategory represents a fundamental (non-derived) discrete value object.
The RooDataHist is a container class to hold N-dimensional binned data.
Double_t sum(Bool_t correctForBinSize, Bool_t inverseCorr=kFALSE) const
Return the sum of the weights of all hist bins.
virtual Double_t weight() const
virtual Double_t sumEntries() const
virtual Int_t numEntries() const
Return the number of bins.
virtual const RooArgSet * get() const
RooHistFunc implements a real-valued function sampled from a multidimensional histogram.
virtual Int_t getMaxVal(const RooArgSet &vars) const
Only handle case of maximum in all variables.
Double_t evaluate() const
Return the current value: The value of the bin enclosing the current coordinates of the dependents,...
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Determine integration scenario.
Bool_t importWorkspaceHook(RooWorkspace &ws)
Check if our datahist is already in the workspace.
virtual std::list< Double_t > * binBoundaries(RooAbsRealLValue &, Double_t, Double_t) const
Return sampling hint for making curves of (projections) of this function as the recursive division st...
RooHistFunc()
Default constructor.
Double_t totVolume() const
Return the total volume spanned by the observables of the RooDataHist.
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Return integral identified by 'code'.
virtual void ioStreamerPass2()
Schema evolution: if histObsList wasn't filled from persistence (v1) then fill it here.
Bool_t areIdentical(const RooDataHist &dh1, const RooDataHist &dh2)
virtual Double_t maxVal(Int_t code) const
Return maximum value for set of observables identified by code assigned in getMaxVal.
Int_t _intOrder
Auxiliary class keeping tracking of analytical integration code.
virtual std::list< Double_t > * plotSamplingHint(RooAbsRealLValue &obs, Double_t xlo, Double_t xhi) const
Return sampling hint for making curves of (projections) of this function as the recursive division st...
RooNameSet is a utility class that stores the names the objects in a RooArget.
RooRealVar represents a variable that can be changed from the outside.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Overloaded RooArgSet::add() method inserts 'var' into set and registers 'var' as server to owner with...
The RooWorkspace is a persistable container for RooFit projects.
Buffer base class used for serializing objects.
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
virtual const char * GetName() const
Returns name of object.
virtual void Clear(Option_t *option="")
Remove all objects from the array.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
const char * Data() const
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
RooCmdArg Embedded(Bool_t flag=kTRUE)
RooCmdArg Rename(const char *suffix)