12#ifndef ROOSTATS_PdfProposal
13#define ROOSTATS_PdfProposal
72 std::map<RooRealVar*, RooAbsReal*>::iterator it;
73 for (it =
fMap.begin(); it !=
fMap.end(); it++)
74 std::cout << it->first->GetName() <<
" => " << it->second->GetName() << std::endl;
84 coutE(Eval) <<
"Warning: Requested non-positive cache size: " <<
size <<
". Cache size unchanged."
104 std::map<RooRealVar*, RooAbsReal*>
fMap;
105 std::map<RooRealVar*, RooAbsReal*>::iterator
fIt;
static void update(gsl_integration_workspace *workspace, double a1, double b1, double area1, double error1, double a2, double b2, double area2, double error2)
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
virtual void removeAll()
Remove all arguments from our set, deleting them if we own them.
Abstract interface for all probability density functions.
Abstract base class for objects that represent a real value and implements functionality common to al...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Variable that can be changed from the outside.
PdfProposal is a concrete implementation of the ProposalFunction interface.
std::map< RooRealVar *, RooAbsReal * >::iterator fIt
map of values in pdf to update
RooArgSet fMaster
the cached proposal data set
bool IsSymmetric(RooArgSet &x1, RooArgSet &x2) override
Determine whether or not the proposal density is symmetric for points x1 and x2 - that is,...
virtual void AddMapping(RooRealVar &proposalParam, RooAbsReal &update)
specify a mapping between a parameter of the proposal function and a parameter of interest.
virtual void SetCacheSize(Int_t size)
Set how many points to generate each time we propose from a new point Default (and minimum) is 1.
virtual const RooAbsPdf * GetPdf() const
Get the PDF is the proposal density function.
bool fOwnsPdf
pointers to master variables needed for updates
virtual bool Equals(RooArgSet &x1, RooArgSet &x2)
whether we own the proposal density function
RooArgSet fLastX
pdf iterator
void Propose(RooArgSet &xPrime, RooArgSet &x) override
Populate xPrime with a new proposed point.
virtual void SetOwnsPdf(bool ownsPdf)
set whether we own the PDF that serves as the proposal density function By default,...
Int_t fCacheSize
the last point we were at
virtual void SetPdf(RooAbsPdf &pdf)
Set the PDF to be the proposal density function.
Int_t fCachePosition
how many points to generate each time
std::map< RooRealVar *, RooAbsReal * > fMap
the proposal density function
virtual void printMappings()
PdfProposal()
By default, PdfProposal does NOT own the PDF that serves as the proposal density function.
std::unique_ptr< RooDataSet > fCache
our position in the cached proposal data set
double GetProposalDensity(RooArgSet &x1, RooArgSet &x2) override
Return the probability of proposing the point x1 given the starting point x2.
ProposalFunction is an interface for all proposal functions that would be used with a Markov Chain Mo...
Namespace for the RooStats classes.