115 pc.defineObject(
"fitModel",
"FitModel",0,0) ;
116 pc.defineObject(
"condObs",
"ProjectedDependents",0,0) ;
117 pc.defineObject(
"protoData",
"PrototypeData",0,0) ;
118 pc.defineSet(
"cPars",
"Constrain",0,0) ;
119 pc.defineSet(
"extCons",
"ExternalConstraints",0,0) ;
120 pc.defineInt(
"silence",
"Silence",0,0) ;
121 pc.defineInt(
"randProtoData",
"PrototypeData",0,0) ;
122 pc.defineInt(
"verboseGen",
"Verbose",0,0) ;
123 pc.defineInt(
"extendedGen",
"Extended",0,0) ;
124 pc.defineInt(
"binGenData",
"Binned",0,0) ;
125 pc.defineString(
"fitOpts",
"FitOptions",0,
"") ;
126 pc.defineInt(
"dummy",
"FitOptArgs",0,0) ;
127 pc.defineMutex(
"FitOptions",
"FitOptArgs") ;
128 pc.defineMutex(
"Constrain",
"FitOptions") ;
129 pc.defineMutex(
"ExternalConstraints",
"FitOptions") ;
132 pc.process(cmdList) ;
135 throw std::string(
"RooMCStudy::RooMCStudy() Error in parsing arguments passed to contructor") ;
140 if (
pc.hasProcessed(
"FitOptArgs")) {
160 cPars->
add(*cParsTmp) ;
177 allConstraints.
add(*constraints) ;
183 if (allConstraints.
getSize()>0) {
184 _constrPdf =
new RooProdPdf(
"mcs_constr_prod",
"RooMCStudy constraints product",allConstraints) ;
187 consPars.
add(*cPars) ;
191 consPars.
add(*cparams) ;
199 coutI(
Generation) <<
"RooMCStudy::RooMCStudy: INFO have pdf with constraints, will generate parameters from constraint pdf for each experiment" << endl ;
218 if (
pc.getObject(
"condObs",0)) {
229 oocoutW(
_fitModel,
Generation) <<
"RooMCStudy::RooMCStudy: WARNING Using generator option 'e' (Poisson distribution of #events) together " << endl
230 <<
" with a prototype dataset implies incomplete sampling or oversampling of proto data." << endl
231 <<
" Use option \"r\" to randomize prototype dataset order and thus to randomize" << endl
232 <<
" the set of over/undersampled prototype events for each generation cycle." << endl ;
288 list<RooAbsMCStudyModule*>::iterator iter ;
290 Bool_t ok = (*iter)->doInitializeInstance(*
this) ;
292 oocoutE(
_fitModel,
Generation) <<
"RooMCStudy::ctor: removing study module " << (*iter)->GetName() <<
" from analysis chain because initialization failed" << endl ;
317 const RooArgSet& dependents,
const char* genOptions,
318 const char* fitOptions,
const RooDataSet* genProtoData,
320 TNamed(
"mcstudy",
"mcstudy"),
322 _genProtoData(genProtoData),
325 _constrGenContext(0),
326 _dependents(dependents),
327 _allDependents(dependents),
332 _fitOptions(fitOptions),
333 _canAddFitResults(
kTRUE),
334 _perExptGenParams(0),
338 TString genOpt(genOptions) ;
346 oocoutE(
_fitModel,
Generation) <<
"RooMCStudy::RooMCStudy: WARNING Using generator option 'e' (Poisson distribution of #events) together " << endl
347 <<
" with a prototype dataset implies incomplete sampling or oversampling of proto data." << endl
348 <<
" Use option \"r\" to randomize prototype dataset order and thus to randomize" << endl
349 <<
" the set of over/undersampled prototype events for each generation cycle." << endl ;
393 list<RooAbsMCStudyModule*>::iterator iter ;
395 Bool_t ok = (*iter)->doInitializeInstance(*
this) ;
397 oocoutE(
_fitModel,
Generation) <<
"RooMCStudy::ctor: removing study module " << (*iter)->GetName() <<
" from analysis chain because initialization failed" << endl ;
460 list<RooAbsMCStudyModule*>::iterator iter ;
462 (*iter)->initializeRun(nSamples) ;
465 Int_t prescale = nSamples>100 ?
Int_t(nSamples/100) : 1 ;
469 if (nSamples%prescale==0) {
481 Int_t nEvt(nEvtPerSample) ;
499 list<RooAbsMCStudyModule*>::iterator iter2 ;
501 (*iter2)->processBeforeGen(nSamples) ;
525 oocoutI(
_fitModel,
Generation) <<
"RooMCStudy: (Re)randomizing event order in prototype dataset (Nevt=" << nEvt <<
")" << endl ;
531 cout <<
"RooMCStudy: now generating " << nEvt <<
" events" << endl ;
544 }
else if (asciiFilePat) {
547 char asciiFile[1024] ;
548 snprintf(asciiFile,1024,asciiFilePat,nSamples) ;
556 existingData =
kTRUE ;
567 list<RooAbsMCStudyModule*>::iterator iter3 ;
569 (*iter3)->processBetweenGenAndFit(nSamples) ;
576 (*iter3)->processAfterFit(nSamples) ;
580 if (doGenerate && asciiFilePat && *asciiFilePat) {
581 char asciiFile[1024] ;
582 snprintf(asciiFile,1024,asciiFilePat,nSamples) ;
585 unbinnedData->
write(asciiFile) ;
587 coutE(
InputArguments) <<
"RooMCStudy::run(" <<
GetName() <<
") ERROR: ASCII writing of binned datasets is not supported" << endl ;
602 RooDataSet* auxData = (*iter)->finalizeRun() ;
653 return run(
kTRUE,
kTRUE,nSamples,nEvtPerSample,keepGenData,asciiFilePat) ;
673 return run(
kTRUE,
kFALSE,nSamples,nEvtPerSample,keepGenData,asciiFilePat) ;
737 TString fitOpt2(
_fitOptions) ; fitOpt2.Append(
"r") ;
739 fitOpt2.Append(
"b") ;
764 fitOptList.
Add(&save) ;
766 fitOptList.
Add(&condo) ;
769 fitOptList.
Add(&plevel) ;
793 fr =
doFit(genSample) ;
821 fr =
doFit(genSample) ;
845 if (userSaveRequest) {
911 name.Append(
"pull") ;
912 title.Append(
" Pull") ;
999 << sampleNum <<
", did you use the 'r; fit option?" << endl ;
1072 return plotParam(*param,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
1152 RooPlot* frame =
plotParam(*evar_rrv,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
1189 name.Append(
"pull") ; title.Append(
" Pull") ;
1199 pc.defineInt(
"fitGauss",
"FitGauss",0,0) ;
1200 pc.allowUndefined() ;
1201 pc.process(cmdList) ;
1202 Bool_t fitGauss=
pc.getInt(
"fitGauss") ;
1205 pc.stripCmdList(cmdList,
"FitGauss") ;
1210 RooRealVar pullMean(
"pullMean",
"Mean of pull",0,-10,10) ;
1211 RooRealVar pullSigma(
"pullSigma",
"Width of pull",1,0.1,5) ;
1213 "exp(-0.5*(@0-@1)*(@0-@1)/(@2*@2))",
1216 pullGauss.
plotOn(frame) ;
1234 pc.defineInt(
"nbins",
"Bins",0,0) ;
1235 pc.defineDouble(
"xlo",
"Range",0,0) ;
1236 pc.defineDouble(
"xhi",
"Range",1,0) ;
1237 pc.defineInt(
"dummy",
"FrameArgs",0,0) ;
1238 pc.defineMutex(
"Bins",
"FrameArgs") ;
1239 pc.defineMutex(
"Range",
"FrameArgs") ;
1242 pc.allowUndefined() ;
1243 pc.process(cmdList) ;
1249 Int_t nbins =
pc.getInt(
"nbins") ;
1254 if (
pc.hasProcessed(
"FrameArgs")) {
1265 if (
pc.hasProcessed(
"Bins")) frameCmdList.
Add(&bins) ;
1266 if (
pc.hasProcessed(
"Range")) {
1267 frameCmdList.
Add(&range) ;
1269 frameCmdList.
Add(&autor) ;
1271 frame = param.
frame(frameCmdList) ;
1275 pc.stripCmdList(cmdList,
"FrameArgs,Bins,Range") ;
1333 name.Append(
"pull") ; title.Append(
" Pull") ;
1341 RooRealVar pullMean(
"pullMean",
"Mean of pull",0,lo,
hi) ;
1342 RooRealVar pullSigma(
"pullSigma",
"Width of pull",1,0,5) ;
1344 "exp(-0.5*(@0-@1)*(@0-@1)/(@2*@2))",
1347 pullGauss.
plotOn(frame) ;
float type_of_call hi(const int &, const int &)
char * Form(const char *fmt,...)
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
RooArgSet * getObservables(const RooArgSet &set, Bool_t valueOnly=kTRUE) const
virtual TObject * Clone(const char *newname=0) const
Make a clone of an object using the Streamer facility.
RooArgSet * getParameters(const RooAbsData *data, Bool_t stripDisconnected=kTRUE) const
Create a list of leaf nodes in the arg tree starting with ourself as top node that don't match any of...
RooAbsCollection * snapshot(Bool_t deepCopy=kTRUE) const
Take a snap shot of current collection contents: An owning collection is returned containing clones o...
void setAttribAll(const Text_t *name, Bool_t value=kTRUE)
Set given attribute in each element of the collection by calling each elements setAttribute() functio...
TIterator * createIterator(Bool_t dir=kIterForward) const
RooAbsArg * find(const char *name) const
Find object with given name in list.
RooAbsData is the common abstract base class for binned and unbinned datasets.
virtual void RecursiveRemove(TObject *obj)
If one of the TObject we have a referenced to is deleted, remove the reference.
virtual Bool_t changeObservableName(const char *from, const char *to)
virtual Double_t sumEntries() const =0
virtual Int_t numEntries() const
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
Calls RooPlot* plotOn(RooPlot* frame, const RooLinkedList& cmdList) const ;.
virtual void attach(const RooArgSet ¶ms)
Interface to attach given parameters to object in this context.
virtual RooDataSet * generate(Double_t nEvents=0, Bool_t skipInit=kFALSE, Bool_t extendedMode=kFALSE)
Generate the specified number of events with nEvents>0 and and return a dataset containing the genera...
virtual void setProtoDataOrder(Int_t *lut)
Set the traversal order of prototype data to that in the lookup tables passed as argument.
RooAbsMCStudyModule is a base class for add-on modules to RooMCStudy that can perform additional calc...
Bool_t doInitializeInstance(RooMCStudy &)
Store reference to RooMCStudy object that this module relates to and call internal module initializat...
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
virtual RooAbsGenContext * genContext(const RooArgSet &vars, const RooDataSet *prototype=0, const RooArgSet *auxProto=0, Bool_t verbose=kFALSE) const
Interface function to create a generator context from a p.d.f.
virtual RooFitResult * fitTo(RooAbsData &data, 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())
Fit PDF to given dataset.
virtual RooDataHist * generateBinned(const RooArgSet &whatVars, Double_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())
As RooAbsPdf::generateBinned(const RooArgSet&, const RooCmdArg&,const RooCmdArg&, const RooCmdArg&,...
virtual RooPlot * paramOn(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())
Add a box with parameter values (and errors) to the specified frame.
Int_t * randomizeProtoOrder(Int_t nProto, Int_t nGen, Bool_t resample=kFALSE) const
Return lookup table with randomized access order for prototype events, given nProto prototype data ev...
virtual Double_t expectedEvents(const RooArgSet *nset) const
Return expected number of events from this p.d.f for use in extended likelihood calculations.
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.
RooPlot * frame(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 a new RooPlot on the heap with a drawing frame initialized for this object,...
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooAbsArg * createFundamental(const char *newname=0) const
Create a RooRealVar fundamental object with our properties.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual Bool_t add(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling add() for each element in the source coll...
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
RooLinkedList & subArgs()
virtual TObject * Clone(const char *newName=0) const
Make a clone of an object using the Streamer facility.
Class RooCmdConfig is a configurable parser for RooCmdArg named arguments.
RooDataSet is a container class to hold N-dimensional binned data.
RooDataSet is a container class to hold unbinned data.
virtual const RooArgSet * get(Int_t index) const
Return RooArgSet with coordinates of event 'index'.
virtual RooAbsArg * addColumn(RooAbsArg &var, Bool_t adjustRange=kTRUE)
Add a column with the values of the given (function) argument to this dataset.
Bool_t write(const char *filename) const
Write the contents of this dataset to an ASCII file with the specified name.
virtual void add(const RooArgSet &row, Double_t weight=1.0, Double_t weightError=0)
Add a data point, with its coordinates specified in the 'data' argset, to the data set.
static RooDataSet * read(const char *filename, const RooArgList &variables, const char *opts="", const char *commonPath="", const char *indexCatName=0)
Read given list of ascii files, and construct a data set, using the given ArgList as structure defini...
Bool_t merge(RooDataSet *data1, RooDataSet *data2=0, RooDataSet *data3=0, RooDataSet *data4=0, RooDataSet *data5=0, RooDataSet *data6=0)
RooErrorVar is an auxilary class that represents the error of a RooRealVar as a seperate object.
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
const RooArgList & floatParsFinal() const
RooGenericPdf is a concrete implementation of a probability density function, which takes a RooArgLis...
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
TObject * FindObject(const char *name) const
Return pointer to obejct with given name.
TObject * At(Int_t index) const
Return object stored in sequential position given by index.
void Delete(Option_t *o=0)
Remove all elements in collection and delete all elements NB: Collection does not own elements,...
virtual void RecursiveRemove(TObject *obj)
If one of the TObject we have a referenced to is deleted, remove the reference.
virtual void Add(TObject *arg)
RooMCStudy is a help class to facilitate Monte Carlo studies such as 'goodness-of-fit' studies,...
const RooArgSet * fitParams(Int_t sampleNum) const
Return an argset with the fit parameters for the given sample number.
RooPlot * plotParamOn(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())
Plot the distribution of fitted values of a parameter.
void calcPulls()
Calculate the pulls for all fit parameters in the fit results data set, and add them to that dataset.
RooPlot * plotPull(const RooRealVar ¶m, 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())
Plot the distribution of pull values for the specified parameter on a newly created frame.
RooPlot * plotError(const RooRealVar ¶m, 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())
Plot the distribution of the fit errors for the specified parameter on a newly created frame.
Bool_t addFitResult(const RooFitResult &fr)
Utility function to add fit result from external fit to this RooMCStudy and process its results throu...
Bool_t run(Bool_t generate, Bool_t fit, Int_t nSamples, Int_t nEvtPerSample, Bool_t keepGenData, const char *asciiFilePat)
Run engine method.
RooPlot * plotParam(const RooRealVar ¶m, 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())
Plot the distribution of the fitted value of the given parameter on a newly created frame.
RooMCStudy(const RooAbsPdf &model, const RooArgSet &observables, 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())
Construct Monte Carlo Study Manager.
std::list< RooAbsMCStudyModule * > _modList
RooAbsGenContext * _constrGenContext
RooFitResult * refit(RooAbsData *genSample=0)
Redo fit on 'current' toy sample, or if genSample is not NULL do fit on given sample instead.
RooPlot * plotNLL(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())
Plot the distribution of the -log(L) values on a newly created frame.
Bool_t fitSample(RooAbsData *genSample)
Internal method.
const RooDataSet * _genProtoData
const RooFitResult * fitResult(Int_t sampleNum) const
Return the RooFitResult object of the fit to given sample.
RooAbsGenContext * _genContext
RooArgSet * _fitInitParams
RooPlot * makeFrameAndPlotCmd(const RooRealVar ¶m, RooLinkedList &cmdList, Bool_t symRange=kFALSE) const
Internal function.
virtual void RecursiveRemove(TObject *obj)
If one of the TObject we have a referenced to is deleted, remove the reference.
RooAbsData * genData(Int_t sampleNum) const
Return the given generated dataset.
RooArgSet * _genInitParams
const RooDataSet & fitParDataSet()
Return a RooDataSet the resulting fit parameters of each toy cycle.
RooLinkedList _fitOptList
Bool_t generate(Int_t nSamples, Int_t nEvtPerSample=0, Bool_t keepGenData=kFALSE, const char *asciiFilePat=0)
Generate 'nSamples' samples of 'nEvtPerSample' events.
void resetFitParams()
Reset all fit parameters to the initial model parameters at the time of the RooMCStudy constructor.
Bool_t generateAndFit(Int_t nSamples, Int_t nEvtPerSample=0, Bool_t keepGenData=kFALSE, const char *asciiFilePat=0)
Generate and fit 'nSamples' samples of 'nEvtPerSample' events.
Bool_t fit(Int_t nSamples, const char *asciiFilePat)
Fit 'nSamples' datasets, which are read from ASCII files.
void addModule(RooAbsMCStudyModule &module)
Insert given RooMCStudy add-on module to the processing chain of this MCStudy object.
RooFitResult * doFit(RooAbsData *genSample)
Internal function. Performs actual fit according to specifications.
static RooMsgService & instance()
Return reference to singleton instance.
void setGlobalKillBelow(RooFit::MsgLevel level)
RooFit::MsgLevel globalKillBelow() const
A RooPlot is a plot frame and a container for graphics objects within that frame.
RooProdPdf is an efficient implementation of a product of PDFs of the form.
Class RooPullVar represents the pull of measurement w.r.t to true value using the measurement value a...
static TRandom * randomGenerator()
Return a pointer to a singleton random-number generator implementation.
RooRealVar represents a fundamental (non-derived) real valued object.
void setBins(Int_t nBins, const char *name=0)
RooErrorVar * errorVar() const
Return a RooAbsRealLValue representing the error associated with this variable.
virtual void setVal(Double_t value)
Set value of variable to 'value'.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Iterator abstract base class.
virtual TObject * Next()=0
virtual void Add(TObject *obj)
virtual TObject * At(Int_t idx) const
Returns the object at position idx. Returns 0 if idx is out of range.
virtual void RecursiveRemove(TObject *obj)
Remove object from this collection and recursively remove the object from all other objects (and coll...
virtual TIterator * MakeIterator(Bool_t dir=kIterForward) const
Return a list iterator.
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
The TNamed class is the base class for all named ROOT classes.
virtual const char * GetTitle() const
Returns title of object.
virtual const char * GetName() const
Returns name of object.
Mother of all ROOT objects.
virtual Int_t Poisson(Double_t mean)
Generates a random integer N according to a Poisson law.
RooCmdArg Constrain(const RooArgSet ¶ms)
RooCmdArg ExternalConstraints(const RooArgSet &constraintPdfs)
RooCmdArg Save(Bool_t flag=kTRUE)
RooCmdArg PrintLevel(Int_t code)
RooCmdArg FitOptions(const char *opts)
RooCmdArg Range(const char *rangeName, Bool_t adjustNorm=kTRUE)
RooCmdArg ConditionalObservables(const RooArgSet &set)
RooCmdArg AutoSymRange(const RooAbsData &data, Double_t marginFactor=0.1)
RooCmdArg AutoRange(const RooAbsData &data, Double_t marginFactor=0.1)
RooCmdArg Bins(Int_t nbin)
RooCmdArg Minos(Bool_t flag=kTRUE)
static constexpr double pc