11#ifndef ROOMOMENTMORPHFUNCND
12#define ROOMOMENTMORPHFUNCND
36class RooMomentMorphFraction;
63 for (
unsigned int i = 0; i <
binnings.size(); i++) {
76 mutable std::vector<RooAbsBinning *>
_grid;
78 mutable std::map<std::vector<int>,
int>
_pdfMap;
80 mutable std::vector<std::vector<double>>
_nref;
94 std::unique_ptr<RooAbsReal>
_sum;
139 std::unique_ptr<RooAbsArg>
148 void findShape(
const std::vector<double> &
x)
const;
162 mutable std::unique_ptr<TMatrixD>
_M;
163 mutable std::unique_ptr<TMatrixD>
_MSqr;
#define ClassDef(name, id)
#define ClassDefOverride(name, id)
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
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...
Helper compute-graph node that exposes one of the morph mixing fractions to the RooFit::Evaluator.
TObject * clone(const char *newname) const override
const RooMomentMorphFuncND * _parent
! morph that owns the cache (not owned)
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
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
std::unique_ptr< RooAbsArg > compileForNormSet(RooArgSet const &normSet, RooFit::Detail::CompileContext &ctx) const override
~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.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...