11#ifndef ROOMOMENTMORPHFUNCND
12#define ROOMOMENTMORPHFUNCND
54 Grid2(std::vector<RooAbsBinning *>
const &binnings)
56 for (
unsigned int i = 0; i < binnings.size(); i++) {
69 mutable std::vector<RooAbsBinning *>
_grid;
71 mutable std::map<std::vector<int>,
int>
_pdfMap;
73 mutable std::vector<std::vector<double>>
_nref;
87 std::unique_ptr<RooAbsReal>
_sum;
103 const Grid2 &referenceGrid,
const Setting &setting);
138 void findShape(
const std::vector<double> &
x)
const;
151 mutable std::unique_ptr<TMatrixD>
_M;
152 mutable std::unique_ptr<TMatrixD>
_MSqr;
160 inline int sij(
const int &i,
const int &j)
const {
return (i *
_obsList.
size() + j); }
#define ClassDef(name, id)
#define ClassDefOverride(name, id)
Abstract base class for RooRealVar binning definitions.
virtual RooAbsBinning * clone(const char *name=nullptr) const =0
Abstract base class for objects to be stored in RooAbsCache cache manager objects.
Storage_t::size_type size() const
Abstract base class for objects that represent a real value and implements functionality common to al...
RooAbsReal()
coverity[UNINIT_CTOR] Default constructor
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Meta object that tracks value changes in a given set of RooAbsArgs by registering itself as value cli...
void calculateFractions(const RooMomentMorphFuncND &self, bool verbose=true) const
std::unique_ptr< RooChangeTracker > _tracker
std::unique_ptr< RooAbsReal > _sum
RooArgList containedArgs(Action) override
std::vector< int > _nnuis
Grid2(const RooAbsBinning &binning_x, const RooAbsBinning &binning_y)
void addBinning(const RooAbsBinning &binning)
std::vector< RooAbsBinning * > _grid
Grid2(std::vector< RooAbsBinning * > const &binnings)
std::map< std::vector< int >, int > _pdfMap
Grid2(const RooAbsBinning &binning_x)
Grid2(const RooAbsBinning &binning_x, const RooAbsBinning &binning_y, const RooAbsBinning &binning_z)
std::vector< std::vector< double > > _nref
void addPdf(const RooAbsReal &func, int bin_x)
RooObjCacheManager _cacheMgr
! Transient cache manager
std::unique_ptr< TMatrixD > _MSqr
void findShape(const std::vector< double > &x) const
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
RooAbsReal * sumFunc(const RooArgSet *nset)
CacheElem * getCache(const RooArgSet *nset) const
std::unique_ptr< TMatrixD > _M
void useHorizontalMorphing(bool val)
TObject * clone(const char *newname) const override
RooArgSet * _curNormSet
! Transient cache manager
void setMode(const Setting &setting)
bool setBinIntegrator(RooArgSet &allVars)
double getValV(const RooArgSet *set=nullptr) const override
Return value of object.
void setPdfMode(bool flag=true)
Setting flag makes this RooMomentMorphFuncND instance behave like the former RooMomentMorphND class,...
std::vector< std::vector< double > > _squareVec
int sij(const int &i, const int &j) const
~RooMomentMorphFuncND() override
std::vector< int > _squareIdx
Implementation of a RooCacheManager<RooAbsCacheElement> that specializes in the storage of cache elem...
Variable that can be changed from the outside.
Mother of all ROOT objects.