library: libRooFit #include "RooSimultaneous.h" |
RooSimultaneous
class description - source file - inheritance tree (.pdf)
protected:
virtual RooAbsGenContext* genContext(const RooArgSet& vars, const RooDataSet* prototype = 0, const RooArgSet* auxProto = 0, Bool_t verbose = kFALSE) const
virtual RooPlot* plotOn(RooPlot* frame, RooLinkedList& cmdList) const
virtual Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive)
virtual void selectNormalization(const RooArgSet* depSet = 0, Bool_t force = kFALSE)
virtual void selectNormalizationRange(const char* rangeName = "0", Bool_t force = kFALSE)
public:
RooSimultaneous()
RooSimultaneous(const char* name, const char* title, RooAbsCategoryLValue& indexCat)
RooSimultaneous(const char* name, const char* title, const RooArgList& pdfList, RooAbsCategoryLValue& indexCat)
RooSimultaneous(const RooSimultaneous& other, const char* name = "0")
virtual ~RooSimultaneous()
Bool_t addPdf(const RooAbsPdf& pdf, const char* catLabel)
virtual Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName = "0") const
static TClass* Class()
virtual TObject* clone(const char* newname) const
virtual Double_t evaluate() const
virtual Double_t expectedEvents(const RooArgSet* nset = 0) const
virtual RooAbsPdf::ExtendMode extendMode() const
virtual Bool_t forceAnalyticalInt(const RooAbsArg&) const
virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& numVars, const RooArgSet* normSet, const char* rangeName = "0") const
RooAbsPdf* getPdf(const char* catName) const
const RooAbsCategory& indexCat() const
virtual TClass* IsA() const
virtual RooPlot* plotOn(RooPlot* frame, const RooCmdArg& arg1, 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
virtual RooPlot* plotOn(RooPlot* frame, Option_t* drawOptions, Double_t scaleFactor = 1.0, RooAbsReal::ScaleType stype = Relative, const RooAbsData* projData = 0, const RooArgSet* projSet = 0, Double_t precision = 1e-3, Bool_t shiftToZero = kFALSE, const RooArgSet* projDataSet = 0, Double_t rangeLo = 0, Double_t rangeHi = 0, RooCurve::WingMode wmode = RooCurve::Extended) const
virtual Bool_t selfNormalized() const
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
RooSetProxy _plotCoefNormSet
const TNamed* _plotCoefNormRange
RooNormListManager _normListMgr Component normalization list manager
RooCategoryProxy _indexCat Index category
TList _pdfProxyList List of PDF proxies (named after applicable category state)
Int_t _numPdf Number of registered PDFs
Bool_t _anyCanExtend Flag set if all component PDFs are extendable
Bool_t _anyMustExtend Flag set if all component PDFs are extendable
RooSimultaneous(const char *name, const char *title,
RooAbsCategoryLValue& indexCat) :
RooAbsPdf(name,title),
_plotCoefNormSet("plotCoefNormSet","plotCoefNormSet",this,kFALSE,kFALSE),
_normListMgr(10),
_indexCat("indexCat","Index category",this,indexCat),
_numPdf(0),
_anyCanExtend(kFALSE),
_anyMustExtend(kFALSE)
Constructor from index category. PDFs associated with indexCat
states can be added after construction with the addPdf() function.
RooSimultaneous can function without having a PDF associated
with every single state. The normalization in such cases is taken
from the number of registered PDFs, but getVal() will assert if
when called for an unregistered index state.
RooSimultaneous(const char *name, const char *title,
const RooArgList& pdfList, RooAbsCategoryLValue& indexCat) :
RooAbsPdf(name,title),
_plotCoefNormSet("plotCoefNormSet","plotCoefNormSet",this,kFALSE,kFALSE),
_normListMgr(10),
_indexCat("indexCat","Index category",this,indexCat),
_numPdf(0),
_anyCanExtend(kFALSE),
_anyMustExtend(kFALSE)
Constructor from index category and full list of PDFs.
In this constructor form, a PDF must be supplied for each indexCat state
to avoid ambiguities. The PDFS are associated in order with the state of the
index category as listed by the index categories type iterator.
PDFs may not overlap (i.e. share any variables) with the index category
RooSimultaneous(const RooSimultaneous& other, const char* name) :
RooAbsPdf(other,name),
_plotCoefNormSet("plotCoefNormSet",this,other._plotCoefNormSet),
_normListMgr(other._normListMgr),
_indexCat("indexCat",this,other._indexCat),
_numPdf(other._numPdf),
_anyCanExtend(other._anyCanExtend),
_anyMustExtend(other._anyMustExtend)
Copy constructor
~RooSimultaneous()
Destructor
RooAbsPdf* getPdf(const char* catName) const
Retrieve the proxy by index name
Bool_t addPdf(const RooAbsPdf& pdf, const char* catLabel)
Associate given PDF with index category state label 'catLabel'.
The names state must be already defined in the index category
RooSimultaneous can function without having a PDF associated
with every single state. The normalization in such cases is taken
from the number of registered PDFs, but getVal() will assert if
when called for an unregistered index state.
PDFs may not overlap (i.e. share any variables) with the index category
Double_t evaluate() const
Return the current value:
the value of the PDF associated with the current index category state
Double_t expectedEvents(const RooArgSet* nset) const
Return the number of expected events:
the number of expected events of the PDF associated with the current index category state
Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& analVars,
const RooArgSet* normSet, const char* rangeName) const
Distributed integration implementation
Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* /*rangeName*/) const
Return analytical integral defined by given scenario code
Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t /*isRecursive*/)
RooPlot* plotOn(RooPlot *frame, RooLinkedList& cmdList) const
New experimental plotOn() with varargs...
RooPlot* plotOn(RooPlot *frame, Option_t* drawOptions, Double_t scaleFactor,
ScaleType stype, const RooAbsData* projData, const RooArgSet* projSet,
Double_t /*precision*/, Bool_t /*shiftToZero*/, const RooArgSet* /*projDataSet*/,
Double_t /*rangeLo*/, Double_t /*rangeHi*/, RooCurve::WingMode /*wmode*/) const
Forward to new implementation
void selectNormalization(const RooArgSet* normSet, Bool_t /*force*/)
void selectNormalizationRange(const char* normRange, Bool_t /*force*/)
RooAbsGenContext* genContext(const RooArgSet &vars, const RooDataSet *prototype,
const RooArgSet* auxProto, Bool_t verbose) const
Inline Functions
RooSimultaneous RooSimultaneous(const RooSimultaneous& other, const char* name = "0")
TObject* clone(const char* newname) const
Bool_t selfNormalized() const
RooAbsPdf::ExtendMode extendMode() const
Bool_t forceAnalyticalInt(const RooAbsArg&) const
const RooAbsCategory& indexCat() const
RooPlot* plotOn(RooPlot* frame, RooLinkedList& cmdList) const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Last update: Tue Jun 28 18:15:17 2005
Copyright (c) 2000-2005, Regents of the University of California *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.