|
ROOT
Reference Guide |
|
Go to the documentation of this file.
93 _plotCoefNormSet(
"!plotCoefNormSet",
"plotCoefNormSet",this,
kFALSE,
kFALSE),
94 _plotCoefNormRange(0),
96 _indexCat(
"indexCat",
"Index category",this,inIndexCat),
116 _plotCoefNormSet(
"!plotCoefNormSet",
"plotCoefNormSet",this,
kFALSE,
kFALSE),
117 _plotCoefNormRange(0),
118 _partIntMgr(this,10),
119 _indexCat(
"indexCat",
"Index category",this,inIndexCat),
122 if (inPdfList.
size() != inIndexCat.
size()) {
124 <<
" ERROR: Number PDF list entries must match number of index category states, no PDFs added" << endl ;
128 map<string,RooAbsPdf*> pdfMap ;
129 auto indexCatIt = inIndexCat.
begin();
130 for (
unsigned int i=0; i < inPdfList.
size(); ++i) {
131 auto pdf =
static_cast<RooAbsPdf*
>(&inPdfList[i]);
132 const auto& nameIdx = (*indexCatIt++);
133 pdfMap[nameIdx.first] = pdf;
145 _plotCoefNormSet(
"!plotCoefNormSet",
"plotCoefNormSet",this,
kFALSE,
kFALSE),
146 _plotCoefNormRange(0),
147 _partIntMgr(this,10),
148 _indexCat(
"indexCat",
"Index category",this,inIndexCat),
172 for (map<string,RooAbsPdf*>::iterator iter=pdfMap.begin() ; iter!=pdfMap.end() ; ++iter) {
181 bool failure =
false;
182 for (map<string,RooAbsPdf*>::iterator iter=pdfMap.begin() ; iter!=pdfMap.end() ; ++iter) {
183 failure |=
addPdf(*iter->second,iter->first.c_str()) ;
187 throw std::invalid_argument(std::string(
"At least one of the PDFs of the RooSimultaneous ")
194 coutI(
InputArguments) <<
"RooSimultaneous::initialize(" <<
GetName() <<
") INFO: one or more input component of simultaneous p.d.f.s are"
195 <<
" simultaneous p.d.f.s themselves, rewriting composite expressions as one-level simultaneous p.d.f. in terms of"
196 <<
" final constituents and extended index category" << endl ;
200 map<string,RooSimultaneousAux::CompInfo> compMap ;
201 for (map<string,RooAbsPdf*>::iterator iter=pdfMap.begin() ; iter!=pdfMap.end() ; ++iter) {
202 RooSimultaneousAux::CompInfo ci ;
203 ci.pdf = iter->second ;
206 ci.simPdf = simComp ;
207 ci.subIndex = &simComp->
indexCat() ;
209 allAuxCats.
add(*(ci.subIndexComps),
kTRUE) ;
213 ci.subIndexComps = 0 ;
215 compMap[iter->first] = ci ;
220 allCats.
add(allAuxCats) ;
223 bool failure =
false;
226 for (map<string,RooSimultaneousAux::CompInfo>::iterator citer = compMap.begin() ; citer != compMap.end() ; ++citer) {
229 if (citer->second.subIndexComps) {
230 repliCats.
remove(*citer->second.subIndexComps) ;
231 delete citer->second.subIndexComps ;
233 inIndexCat.
setLabel(citer->first.c_str()) ;
235 if (!citer->second.simPdf) {
241 for (
const auto& nameIdx : repliSuperCat) {
243 repliSuperCat.setLabel(nameIdx.first) ;
246 failure |=
addPdf(*citer->second.pdf,superLabel.c_str()) ;
248 <<
") assigning pdf " << citer->second.pdf->GetName() <<
" to super label " << superLabel << endl ;
258 for (
const auto&
type : *citer->second.subIndex) {
261 RooAbsPdf* compPdf = citer->second.simPdf->getPdf(
type.first.c_str());
263 failure |=
addPdf(*compPdf,superLabel.c_str()) ;
265 <<
") assigning pdf " << compPdf->
GetName() <<
"(member of " << citer->second.pdf->GetName()
266 <<
") to super label " << superLabel << endl ;
269 <<
type.second <<
" for component RooSimultaneous p.d.f " << citer->second.pdf->GetName()
270 <<
"which is associated with master index label " << citer->first << endl ;
281 for (
const auto& stype : *citer->second.subIndex) {
284 for (
const auto& nameIdx : repliSuperCat) {
285 repliSuperCat.
setLabel(nameIdx.first) ;
287 RooAbsPdf* compPdf = citer->second.simPdf->getPdf(stype.first.c_str());
289 failure |=
addPdf(*compPdf,superLabel.c_str()) ;
291 <<
") assigning pdf " << compPdf->
GetName() <<
"(member of " << citer->second.pdf->GetName()
292 <<
") to super label " << superLabel << endl ;
295 << stype.second <<
" for component RooSimultaneous p.d.f " << citer->second.pdf->GetName()
296 <<
"which is associated with master index label " << citer->first << endl ;
305 throw std::invalid_argument(std::string(
"Failed to initialise RooSimultaneous ") +
GetName());
321 _plotCoefNormSet(
"!plotCoefNormSet",this,other._plotCoefNormSet),
322 _plotCoefNormRange(other._plotCoefNormRange),
323 _partIntMgr(other._partIntMgr,this),
324 _indexCat(
"indexCat",this,other._indexCat),
325 _numPdf(other._numPdf)
354 return proxy ? ((
RooAbsPdf*)proxy->absArg()) : 0 ;
385 << catLabel <<
"' has already an associated PDF." << endl ;
393 <<
") ERROR: you cannot add a RooSimultaneous component to a RooSimultaneous using addPdf()."
394 <<
" Use the constructor with RooArgList if input p.d.f.s or the map<string,RooAbsPdf&> instead." << endl ;
430 anyCanExtend =
kTRUE;
434 anyMustExtend =
kTRUE;
463 if (proxy==0)
return 0 ;
477 catFrac=nEvtCat/nEvtTot ;
501 sum += ((
RooAbsPdf*)(proxy->absArg()))->expectedEvents(nset) ;
513 if (proxy==0)
return 0 ;
516 return ((
RooAbsPdf*)(proxy->absArg()))->expectedEvents(nset);
528 const RooArgSet* normSet,
const char* rangeName)
const
531 analVars.
add(allVars) ;
597 pc.defineString(
"sliceCatState",
"SliceCat",0,
"",
kTRUE) ;
598 pc.defineDouble(
"scaleFactor",
"Normalization",0,1.0) ;
600 pc.defineObject(
"sliceCatList",
"SliceCat",0,0,
kTRUE) ;
601 pc.defineObject(
"projSet",
"Project",0) ;
602 pc.defineObject(
"sliceSet",
"SliceVars",0) ;
603 pc.defineObject(
"projDataSet",
"ProjData",0) ;
604 pc.defineObject(
"projData",
"ProjData",1) ;
605 pc.defineMutex(
"Project",
"SliceVars") ;
606 pc.allowUndefined() ;
609 pc.process(cmdList) ;
617 std::unique_ptr<RooArgSet> sliceSet( sliceSetTmp ? ((
RooArgSet*) sliceSetTmp->
Clone()) :
nullptr );
619 Double_t scaleFactor =
pc.getDouble(
"scaleFactor") ;
624 const char* sliceCatState =
pc.getString(
"sliceCatState",0,
kTRUE) ;
639 unsigned int tokenIndex = 0;
641 const char* slabel = tokenIndex >= catTokens.size() ? nullptr : catTokens[tokenIndex++].c_str();
647 sliceSet->add(*scat,
kFALSE) ;
655 coutE(
InputArguments) <<
"RooSimultaneous::plotOn(" <<
GetName() <<
") ERROR: must have a projection dataset for index category" << endl ;
665 for (
const auto sliceArg : *sliceSet) {
668 projectedVars.
remove(*arg) ;
671 << sliceArg->GetName() <<
" was not projected anyway" << endl ;
674 }
else if (projSet) {
688 coutE(
Plotting) <<
"RooSimultaneous::plotOn(" <<
GetName() <<
") ERROR: Projection over index category "
689 <<
"requested, but projection data set doesn't contain index category" << endl ;
704 if (projectedVars.
find(server->GetName())) {
706 projIdxServers.
add(*server) ;
716 for (
const auto server : projIdxServers) {
717 if (!projData->
get()->
find(server->GetName())) {
719 missing = server->GetName();
725 <<
") ERROR: Projection dataset doesn't contain complete set of index categories to do projection."
726 <<
"\n\tcategory " << missing <<
" is missing." << endl ;
740 std::unique_ptr<RooArgSet> idxCloneSet(
RooArgSet(*_indexCat).snapshot(
true) );
745 std::unique_ptr<RooArgSet> idxCompSliceSet( idxCatClone->getObservables(frame->
getNormVars()) );
751 <<
" represents a slice in the index category (" <<
_indexCat.
arg().
GetName() <<
")" << endl ;
759 for (
const auto arg : *idxCompSliceSet) {
762 if (sliceSet && (slicedComponent = sliceSet->find(*idxComp)) !=
nullptr) {
763 auto theCat =
static_cast<const RooAbsCategory*
>(slicedComponent);
764 idxComp->setIndex(theCat->getCurrentIndex(),
false);
772 cutString.
Append(
Form(
"%s==%d",idxComp->GetName(),idxComp->getCurrentIndex())) ;
779 std::unique_ptr<RooAbsData> projDataTmp(
const_cast<RooAbsData*
>(projData)->reduce(projDataVars,cutString) );
787 if (!cmdList.
find(
"Asymmetry")) {
788 cmdList2.
Add(&tmp1) ;
790 cmdList2.
Add(&tmp2) ;
801 idxCompSliceSet->remove(projectedVars,
kTRUE,
kTRUE) ;
812 idxCatClone->setLabel(proxy->name()) ;
816 for (
const auto idxSliceCompArg : *idxCompSliceSet) {
817 const auto idxSliceComp =
static_cast<RooAbsCategory*
>(idxSliceCompArg);
829 sumWeight += wTable->getFrac(proxy->name()) ;
832 pdfCompList.
add(proxy->arg()) ;
836 RooAddPdf *plotVar =
new RooAddPdf(plotVarName,
"weighted sum of RS components",pdfCompList,wgtCompList) ;
843 std::unique_ptr<RooAbsData> projDataTmp;
849 if (idxCompSliceSet->getSize()>0) {
851 for (
const auto idxSliceCompArg : *idxCompSliceSet) {
852 const auto idxSliceComp =
static_cast<RooAbsCategory*
>(idxSliceCompArg);
858 cutString.
Append(
Form(
"%s==%d",idxSliceComp->GetName(),idxSliceComp->getCurrentIndex())) ;
868 if (idxCompSliceSet->getSize()>0) {
869 projDataTmp.reset(
const_cast<RooAbsData*
>(projData)->reduce(projDataVars,cutString) );
871 projDataTmp.reset(
const_cast<RooAbsData*
>(projData)->reduce(projDataVars) );
877 projSetTmp.
add(*projSet) ;
882 delete idxCatServers ;
888 <<
" represents a slice in index category components " << *idxCompSliceSet << endl ;
892 if (idxCompProjSet->
getSize()>0) {
894 <<
" averages with data index category components " << *idxCompProjSet << endl ;
896 delete idxCompProjSet ;
909 if (!cmdList.
find(
"Asymmetry")) {
910 cmdList2.
Add(&tmp1) ;
912 cmdList2.
Add(&tmp2) ;
918 cmdList2.
Add(&tmp3) ;
919 frame2 = plotVar->
plotOn(frame,cmdList2) ;
922 frame2 = plotVar->
plotOn(frame,cmdList2) ;
990 if (vars.
find(idxCatName) && prototype==0
991 && (auxProto==0 || auxProto->
getSize()==0)
992 && (autoBinned || (binnedTag && strlen(binnedTag)))) {
1013 const RooArgSet* protoVars = prototype ? prototype->
get() : 0 ;
1015 if (vars.
find(idxCatName) || (protoVars && protoVars->
find(idxCatName))) {
1044 }
else if (!allServers && anyServer) {
1046 coutE(
Plotting) <<
"RooSimultaneous::genContext: ERROR: prototype must include either all "
1047 <<
" components of the RooSimultaneous index category or none " << endl ;
1057 <<
") ERROR: no PDF associated with current state ("
1061 return ((
RooAbsPdf*)proxy->absArg())->genContext(vars,prototype,auxProto,
verbose) ;
1072 Bool_t correctForBinVolume,
1073 Bool_t showProgress)
const
1076 correctForBinVolume, showProgress) == 0)
1102 for (
Int_t i=0 ; i<nEvents ; i++) {
1103 for (
const auto& nameIdx :
indexCat()) {
1113 *globClone = *tmp->
get(0) ;
1119 data->
add(*globClone) ;
RooArgSet * _normSet
Normalization integral (owned by _normMgr)
Int_t setObj(const RooArgSet *nset, T *obj, const TNamed *isetRangeName=0)
TIterator * serverIterator() const
TObject * find(const char *name) const
Return pointer to object with given name in collection.
TIterator * MakeIterator(Bool_t forward=kTRUE) const
Create a TIterator for this list.
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
virtual ExtendMode extendMode() const
Examine the pdf components and check if one of them can be extended or must be extended It is enough ...
RooCmdArg ProjWData(const RooAbsData &projData, Bool_t binData=kFALSE)
RooAddPdf is an efficient implementation of a sum of PDFs of the form.
static const TNamed * ptr(const char *stringPtr)
Return a unique TNamed pointer for given C++ string.
const RooAbsCategoryLValue & indexCat() const
RooAbsData is the common abstract base class for binned and unbinned datasets.
double weight(std::size_t i) const
Return weight of i-th bin.
void initialize(RooAbsCategoryLValue &inIndexCat, std::map< std::string, RooAbsPdf * > pdfMap)
virtual value_type getCurrentIndex() const
Return index number of current state.
virtual bool setLabel(const char *label, Bool_t printError=kTRUE)=0
Change category state by specifying a state name.
const T & arg() const
Return reference to object held in proxy.
T * getObj(const RooArgSet *nset, Int_t *sterileIndex=0, const TNamed *isetRangeName=0)
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
RooAbsReal * createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Create an object that represents the integral of the function over one or more observables listed in ...
char * Form(const char *fmt,...)
Double_t analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName=0) const
Return analytical integration defined by given code.
static uint64_t sum(uint64_t i)
RooArgList is a container object that can hold multiple RooAbsArg objects.
friend class RooSimGenContext
Bool_t plotSanityChecks(RooPlot *frame) const
Utility function for plotOn(), perform general sanity check on frame to ensure safe plotting operatio...
Double_t getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
Double_t sumEntries() const override
Sum the weights of all bins.
RooCmdArg Normalization(Double_t scaleFactor)
virtual Bool_t remove(const RooAbsArg &var, Bool_t silent=kFALSE, Bool_t matchByNameOnly=kFALSE)
Remove the specified argument from our list.
void makeProjectionSet(const RooAbsArg *plotVar, const RooArgSet *allVars, RooArgSet &projectedVars, Bool_t silent) const
Utility function for plotOn() that constructs the set of observables to project when plotting ourselv...
RooAbsArg * find(const char *name) const
Find object with given name in list.
static constexpr double pc
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
friend class RooSimSplitGenContext
RooAbsArg * at(Int_t idx) const
Return object at given index, or nullptr if index is out of range.
virtual const char * getCurrentLabel() const
Return label string of current state.
Bool_t addPdf(const RooAbsPdf &pdf, const char *catLabel)
Associate given PDF with index category state label 'catLabel'.
virtual void fixAddCoefNormalization(const RooArgSet &addNormSet=RooArgSet(), Bool_t force=kTRUE)
Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by...
virtual RooPlot * plotOn(RooPlot *frame, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none(), const RooCmdArg &arg9=RooCmdArg::none(), const RooCmdArg &arg10=RooCmdArg::none()) const
Helper calling plotOn(RooPlot*, RooLinkedList&) const.
Iterator abstract base class.
RooCmdArg Project(const RooArgSet &projSet)
virtual const RooArgSet * get(Int_t index) const override
Return RooArgSet with coordinates of event 'index'.
virtual Int_t IndexOf(const TObject *obj) const
Return index of object in collection.
RooAbsCategory is the base class for objects that represent a discrete value with a finite number of ...
Class RooCmdConfig is a configurable parser for RooCmdArg named arguments.
Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &numVars, const RooArgSet *normSet, const char *rangeName=0) const
Forward determination of analytical integration capabilities to component p.d.f.s A unique code is as...
virtual Bool_t isDerived() const
Does value or shape of this arg depend on any other arg?
RooArgSet * snapshot(bool deepCopy=true) const
Use RooAbsCollection::snapshot(), but return as RooArgSet.
virtual TIterator * MakeIterator(Bool_t dir=kIterForward) const
Return a list iterator.
virtual TObject * At(Int_t idx) const
Returns the object at position idx. Returns 0 if idx is out of range.
virtual void add(const RooArgSet &row, Double_t weight=1.0, Double_t weightError=0) override
Add a data point, with its coordinates specified in the 'data' argset, to the data set.
Bool_t contains(const RooAbsArg &var) const
Check if collection contains an argument with the same name as var.
virtual Roo1DTable * table(const RooArgSet &catSet, const char *cuts="", const char *opts="") const
Construct table for product of categories in catSet.
The RooDataHist is a container class to hold N-dimensional binned data.
virtual Bool_t setLabel(const char *label, bool printError=true) override
Set value by specifying the name of the desired state.
RooCmdArg DrawOption(const char *opt)
T * getObjByIndex(Int_t index) const
Retrieve payload object by slot index.
virtual void selectNormalizationRange(const char *rangeName=0, Bool_t force=kFALSE)
Interface function used by test statistics to freeze choice of range for interpretation of fraction c...
virtual RooDataHist * fillDataHist(RooDataHist *hist, const RooArgSet *nset, Double_t scaleFactor, Bool_t correctForBinVolume=kFALSE, Bool_t showProgress=kFALSE) const
RooTemplateProxy< RooAbsReal > RooRealProxy
Compatibility typedef replacing the old RooRealProxy class.
TString & Append(const char *cs)
virtual const RooArgSet * get() const
Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE) override
Add element to non-owning set.
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
RooDataHist * fillDataHist(RooDataHist *hist, const RooArgSet *nset, Double_t scaleFactor, Bool_t correctForBinVolume=kFALSE, Bool_t showProgress=kFALSE) const
Fill a RooDataHist with values sampled from this function at the bin centers.
virtual RooAbsGenContext * genContext(const RooArgSet &vars, const RooDataSet *prototype=0, const RooArgSet *auxProto=0, Bool_t verbose=kFALSE) const
Return specialized generator context for simultaneous p.d.f.s.
A RooPlot is a plot frame and a container for graphics objects within that frame.
virtual void selectNormalization(const RooArgSet *depSet=0, Bool_t force=kFALSE)
Interface function used by test statistics to freeze choice of observables for interpretation of frac...
virtual RooAbsGenContext * autoGenContext(const RooArgSet &vars, const RooDataSet *prototype=0, const RooArgSet *auxProto=0, Bool_t verbose=kFALSE, Bool_t autoBinned=kTRUE, const char *binnedTag="") const
RooAbsGenContext is the abstract base class for generator contexts of RooAbsPdf objects.
std::map< std::string, value_type >::const_iterator begin() const
Iterator for category state names. Points to pairs of index and name.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Add the specified argument to list.
Storage_t::size_type size() const
RooCategoryProxy _indexCat
virtual void Add(TObject *arg)
bool setArg(T &newRef)
Change object held in proxy into newRef.
virtual Bool_t addOwned(RooAbsArg &var, Bool_t silent=kFALSE)
Add the specified argument to list.
const char * label() const
Get the label of the current category state. This function only makes sense for category proxies.
virtual TObject * Next()=0
const RefCountList_t & servers() const
List of all servers of this object.
virtual Bool_t isFundamental() const
Is this object a fundamental type that can be added to a dataset? Fundamental-type subclasses overrid...
std::vector< std::string > tokenise(const std::string &str, const std::string &delims, bool returnEmptyToken=true)
Tokenise the string by splitting at the characters in delims.
virtual void removeAll() override
Remove all argument inset using remove(const RooAbsArg&).
Int_t numEntries() const override
Return the number of bins.
virtual Double_t expectedEvents(const RooArgSet *nset) const
Return the number of expected events: If the index is in nset, then return the sum of the expected ev...
std::size_t size() const
Number of states defined.
Bool_t mustBeExtended() const
If true PDF must provide extended likelihood term.
const RooArgSet * getNormVars() const
RooArgSet * getObservables(const RooArgSet &set, Bool_t valueOnly=kTRUE) const
Given a set of possible observables, return the observables that this PDF depends on.
Bool_t addOwnedComponents(const RooArgSet &comps)
Take ownership of the contents of 'comps'.
RooCategory is an object to represent discrete states.
RooObjCacheManager _partIntMgr
RooDataSet * generate(const RooArgSet &whatVars, Int_t nEvents, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none())
See RooAbsPdf::generate(const RooArgSet&,const RooCmdArg&,const RooCmdArg&,const RooCmdArg&,...
The RooSuperCategory can join several RooAbsCategoryLValue objects into a single category.
virtual void Add(TObject *obj)
Mother of all ROOT objects.
virtual TObject * Clone(const char *newname=0) const
Make a clone of an object using the Streamer facility.
virtual RooDataSet * generateSimGlobal(const RooArgSet &whatVars, Int_t nEvents)
Special generator interface for generation of 'global observables' – for RooStats tools.
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.
RooAbsPdf * getPdf(const char *catName) const
Return the p.d.f associated with the given index category name.
virtual ~RooSimultaneous()
Destructor.
RooDataSet is a container class to hold unbinned data.
RooSetProxy _plotCoefNormSet
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
virtual RooPlot * plotOn(RooPlot *frame, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none(), const RooCmdArg &arg9=RooCmdArg::none(), const RooCmdArg &arg10=RooCmdArg::none()) const
Helper calling plotOn(RooPlot*, RooLinkedList&) const.
virtual const char * GetName() const
Returns name of object.
RooArgSet * getVariables(Bool_t stripDisconnected=kTRUE) const
Return RooArgSet with all variables (tree leaf nodes of expresssion tree)
RooSimultaneous facilitates simultaneous fitting of multiple PDFs to subsets of a given dataset.
RooAbsCategoryLValue is the common abstract base class for objects that represent a discrete value th...
RooRealVar represents a variable that can be changed from the outside.
void set(std::size_t binNumber, double weight, double wgtErr)
Set bin content of bin that was last loaded with get(std::size_t).
RooAbsRealLValue * getPlotVar() const
const TNamed * _plotCoefNormRange
Bool_t canBeExtended() const
If true, PDF can provide extended likelihood term.
void Delete(Option_t *o=0)
Remove all elements in collection and delete all elements NB: Collection does not own elements,...
virtual Double_t evaluate() const
Return the current value: the value of the PDF associated with the current index category state.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE) override
Overloaded RooArgSet::add() method inserts 'var' into set and registers 'var' as server to owner with...
RooArgSet is a container object that can hold multiple RooAbsArg objects.