125 pc.defineObject(
"fitModel",
"FitModel",0,0) ;
126 pc.defineObject(
"condObs",
"ProjectedDependents",0,0) ;
127 pc.defineObject(
"protoData",
"PrototypeData",0,0) ;
128 pc.defineSet(
"cPars",
"Constrain",0,0) ;
129 pc.defineSet(
"extCons",
"ExternalConstraints",0,0) ;
130 pc.defineInt(
"silence",
"Silence",0,0) ;
131 pc.defineInt(
"randProtoData",
"PrototypeData",0,0) ;
132 pc.defineInt(
"verboseGen",
"Verbose",0,0) ;
133 pc.defineInt(
"extendedGen",
"Extended",0,0) ;
134 pc.defineInt(
"binGenData",
"Binned",0,0) ;
135 pc.defineInt(
"dummy",
"FitOptArgs",0,0) ;
138 pc.process(cmdList) ;
141 throw std::string(
"RooMCStudy::RooMCStudy() Error in parsing arguments passed to contructor") ;
146 if (
pc.hasProcessed(
"FitOptArgs")) {
166 cPars->
add(*cParsTmp) ;
183 allConstraints.
add(*constraints) ;
189 if (allConstraints.
getSize()>0) {
190 _constrPdf =
new RooProdPdf(
"mcs_constr_prod",
"RooMCStudy constraints product",allConstraints) ;
193 consPars.
add(*cPars) ;
197 consPars.
add(*cparams) ;
205 coutI(
Generation) <<
"RooMCStudy::RooMCStudy: INFO have pdf with constraints, will generate parameters from constraint pdf for each experiment" << endl ;
224 if (
pc.getObject(
"condObs",0)) {
234 oocoutW(
_fitModel,
Generation) <<
"RooMCStudy::RooMCStudy: WARNING Using generator option 'e' (Poisson distribution of #events) together " << endl
235 <<
" with a prototype dataset implies incomplete sampling or oversampling of proto data." << endl
236 <<
" Use option \"r\" to randomize prototype dataset order and thus to randomize" << endl
237 <<
" the set of over/undersampled prototype events for each generation cycle." << endl ;
293 list<RooAbsMCStudyModule*>::iterator iter ;
295 bool ok = (*iter)->doInitializeInstance(*
this) ;
297 oocoutE(
_fitModel,
Generation) <<
"RooMCStudy::ctor: removing study module " << (*iter)->GetName() <<
" from analysis chain because initialization failed" << endl ;
359 list<RooAbsMCStudyModule*>::iterator iter ;
361 (*iter)->initializeRun(nSamples) ;
364 Int_t prescale = nSamples>100 ?
Int_t(nSamples/100) : 1 ;
368 if (nSamples%prescale==0) {
377 bool existingData = false ;
380 Int_t nEvt(nEvtPerSample) ;
398 list<RooAbsMCStudyModule*>::iterator iter2 ;
400 (*iter2)->processBeforeGen(nSamples) ;
424 oocoutI(
_fitModel,
Generation) <<
"RooMCStudy: (Re)randomizing event order in prototype dataset (Nevt=" << nEvt <<
")" << endl ;
430 coutP(
Generation) <<
"RooMCStudy: now generating " << nEvt <<
" events" << endl ;
443 }
else if (asciiFilePat) {
446 char asciiFile[1024] ;
447 snprintf(asciiFile,1024,asciiFilePat,nSamples) ;
455 existingData = true ;
466 list<RooAbsMCStudyModule*>::iterator iter3 ;
468 (*iter3)->processBetweenGenAndFit(nSamples) ;
475 (*iter3)->processAfterFit(nSamples) ;
479 if (doGenerate && asciiFilePat && *asciiFilePat) {
480 char asciiFile[1024] ;
481 snprintf(asciiFile,1024,asciiFilePat,nSamples) ;
484 unbinnedData->
write(asciiFile) ;
486 coutE(
InputArguments) <<
"RooMCStudy::run(" <<
GetName() <<
") ERROR: ASCII writing of binned datasets is not supported" << endl ;
501 RooDataSet* auxData = (*iter)->finalizeRun() ;
548 return run(
true,
true,nSamples,nEvtPerSample,keepGenData,asciiFilePat) ;
568 return run(
true,
false,nSamples,nEvtPerSample,keepGenData,asciiFilePat) ;
586 return run(
false,
true,nSamples,0,
false,asciiFilePat) ;
610 return run(
false,
true,nSamples,0,
true,0) ;
646 fitOptList.
Add(&save) ;
648 fitOptList.
Add(&condo) ;
650 fitOptList.
Add(&plevel) ;
672 fr =
doFit(genSample) ;
700 fr =
doFit(genSample) ;
717 bool userSaveRequest = false ;
722 if (userSaveRequest) {
754 bool ok = (fr.
status()==0) ;
780 const auto par =
static_cast<RooRealVar*
>(*it);
785 TString name(par->GetName()), title(par->GetTitle()) ;
786 name.Append(
"pull") ;
789 if (!par->hasError(
false)) {
790 coutW(
Generation) <<
"Fit parameter '" << par->GetName() <<
"' does not have an error."
791 " A pull distribution cannot be generated. This might be caused by the parameter being constant or"
792 " because the fits were not run." << std::endl;
814 coutW(
Generation) <<
"The fit parameter '" << par->GetName() <<
"' is not in the model that was used to generate toy data. "
815 "The parameter '" << genParOrig->GetName() <<
"'=" << genParOrig->getVal() <<
" was found at the same position in the generator model."
816 " It will be used to compute pulls."
817 "\nIf this is not desired, the parameters of the generator model need to be renamed or reordered." << std::endl;
822 std::unique_ptr<RooAbsReal> genPar(
static_cast<RooAbsReal*
>(genParOrig->Clone(
"truth")));
827 coutE(
Generation) <<
"Cannot generate pull distribution for the fit parameter '" << par->GetName() <<
"'."
828 "\nNo similar parameter was found in the set of parameters that were used to generate toy data." << std::endl;
896 << sampleNum <<
", did you use the 'r; fit option?" << endl ;
969 return plotParam(*param,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
1049 RooPlot* frame =
plotParam(*evar_rrv,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
1093 name.Append(
"pull") ; title.
Append(
" Pull") ;
1103 pc.defineInt(
"fitGauss",
"FitGauss",0,0) ;
1104 pc.allowUndefined() ;
1105 pc.process(cmdList) ;
1106 bool fitGauss=
pc.getInt(
"fitGauss") ;
1109 pc.stripCmdList(cmdList,
"FitGauss") ;
1113 coutF(
Plotting) <<
"No pull distribution for the parameter '" << param.
GetName() <<
"'. Check logs for errors." << std::endl;
1119 RooRealVar pullMean(
"pullMean",
"Mean of pull",0,-10,10) ;
1120 RooRealVar pullSigma(
"pullSigma",
"Width of pull",1,0.1,5) ;
1122 "exp(-0.5*(@0-@1)*(@0-@1)/(@2*@2))",
1125 pullGauss.
plotOn(frame) ;
1143 pc.defineInt(
"nbins",
"Bins",0,0) ;
1144 pc.defineDouble(
"xlo",
"Range",0,0) ;
1145 pc.defineDouble(
"xhi",
"Range",1,0) ;
1146 pc.defineInt(
"dummy",
"FrameArgs",0,0) ;
1147 pc.defineMutex(
"Bins",
"FrameArgs") ;
1148 pc.defineMutex(
"Range",
"FrameArgs") ;
1151 pc.allowUndefined() ;
1152 pc.process(cmdList) ;
1158 Int_t nbins =
pc.getInt(
"nbins") ;
1159 double xlo =
pc.getDouble(
"xlo") ;
1160 double xhi =
pc.getDouble(
"xhi") ;
1163 if (
pc.hasProcessed(
"FrameArgs")) {
1174 if (
pc.hasProcessed(
"Bins")) frameCmdList.
Add(&bins) ;
1175 if (
pc.hasProcessed(
"Range")) {
1176 frameCmdList.
Add(&range) ;
1178 frameCmdList.
Add(&autor) ;
1180 frame = param.
frame(frameCmdList) ;
1184 pc.stripCmdList(cmdList,
"FrameArgs,Bins,Range") ;
1248 name.Append(
"pull") ; title.
Append(
" Pull") ;
1256 coutF(
Plotting) <<
"No pull distribution for the parameter '" << param.
GetName() <<
"'. Check logs for errors." << std::endl;
1261 RooRealVar pullMean(
"pullMean",
"Mean of pull",0,lo,
hi) ;
1262 RooRealVar pullSigma(
"pullSigma",
"Width of pull",1,0,5) ;
1264 "exp(-0.5*(@0-@1)*(@0-@1)/(@2*@2))",
1267 pullGauss.
plotOn(frame) ;
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
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
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
RooArgSet * getObservables(const RooArgSet &set, bool valueOnly=true) const
Given a set of possible observables, return the observables that this PDF depends on.
RooArgSet * getParameters(const RooAbsData *data, bool stripDisconnected=true) const
Create a list of leaf nodes in the arg tree starting with ourself as top node that don't match any of...
Int_t getSize() const
Return the number of elements in the collection.
virtual bool add(const RooAbsArg &var, bool silent=false)
Add the specified argument to list.
void setAttribAll(const Text_t *name, bool value=true)
Set given attribute in each element of the collection by calling each elements setAttribute() functio...
const_iterator end() const
void assign(const RooAbsCollection &other) const
Sets the value, cache and constant attribute of any argument in our set that also appears in the othe...
Storage_t::size_type size() const
const_iterator begin() 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 double sumEntries() const =0
Return effective number of entries in dataset, i.e., sum all weights.
virtual bool changeObservableName(const char *from, const char *to)
void RecursiveRemove(TObject *obj) override
If one of the TObject we have a referenced to is deleted, remove the reference.
virtual Int_t numEntries() const
Return number of entries in dataset, i.e., count unweighted entries.
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
virtual void attach(const RooArgSet ¶ms)
Interface to attach given parameters to object in this context.
virtual RooDataSet * generate(double nEvents=0, bool skipInit=false, bool extendedMode=false)
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 doInitializeInstance(RooMCStudy &)
Initializer method called upon attachement to given RooMCStudy object.
virtual double expectedEvents(const RooArgSet *nset) const
Return expected number of events to be used in calculation of extended likelihood.
Int_t * randomizeProtoOrder(Int_t nProto, Int_t nGen, bool resample=false) const
Return lookup table with randomized order for nProto prototype events.
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 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.
virtual RooDataHist * generateBinned(const RooArgSet &whatVars, double nEvents, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none()) const
As RooAbsPdf::generateBinned(const RooArgSet&, const RooCmdArg&,const RooCmdArg&, const RooCmdArg&,...
virtual RooArgSet * getAllConstraints(const RooArgSet &observables, RooArgSet &constrainedParams, bool stripDisconnected=true) const
This helper function finds and collects all constraints terms of all component p.d....
virtual RooAbsGenContext * genContext(const RooArgSet &vars, const RooDataSet *prototype=0, const RooArgSet *auxProto=0, bool verbose=false) const
Interface function to create a generator context from a p.d.f.
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 override
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 override
Create a RooRealVar fundamental object with our properties.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooArgSet * snapshot(bool deepCopy=true) const
Use RooAbsCollection::snapshot(), but return as RooArgSet.
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
RooLinkedList const & subArgs() const
Return list of sub-arguments in this RooCmdArg.
TObject * Clone(const char *newName=0) const override
Make a clone of an object using the Streamer facility.
Class RooCmdConfig is a configurable parser for RooCmdArg named arguments.
The RooDataHist is a container class to hold N-dimensional binned data.
RooDataSet is a container class to hold unbinned data.
const RooArgSet * get(Int_t index) const override
Return RooArgSet with coordinates of event 'index'.
virtual RooAbsArg * addColumn(RooAbsArg &var, bool adjustRange=true)
Add a column with the values of the given (function) argument to this dataset.
bool write(const char *filename) const
Write the contents of this dataset to an ASCII file with the specified name.
static RooDataSet * read(const char *filename, const RooArgList &variables, const char *opts="", const char *commonPath="", const char *indexCatName=0)
Read data from a text file and create a dataset from it.
bool merge(RooDataSet *data1, RooDataSet *data2=0, RooDataSet *data3=0, RooDataSet *data4=0, RooDataSet *data5=0, RooDataSet *data6=0)
void add(const RooArgSet &row, double weight=1.0, double weightError=0) override
Add one ore more rows of data.
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
Return list of floating parameters after fit.
Int_t status() const
Return MINUIT status code.
double minNll() const
Return minimized -log(L) value.
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 * At(int index) const
Return object stored in sequential position given by index.
void RecursiveRemove(TObject *obj) override
If one of the TObject we have a referenced to is deleted, remove the reference.
void Delete(Option_t *o=0) override
Remove all elements in collection and delete all elements NB: Collection does not own elements,...
virtual void Add(TObject *arg)
TObject * FindObject(const char *name) const override
Return pointer to obejct with given name.
RooMCStudy is a helper class to facilitate Monte Carlo studies such as 'goodness-of-fit' studies,...
bool addFitResult(const RooFitResult &fr)
Utility function to add fit result from external fit to this RooMCStudy and process its results throu...
RooAbsData * _genSample
Currently generated sample.
RooPlot * makeFrameAndPlotCmd(const RooRealVar ¶m, RooLinkedList &cmdList, bool symRange=false) const
Internal function.
RooArgSet _projDeps
List of projected dependents in fit.
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.
const RooArgSet * fitParams(Int_t sampleNum) const
Return an argset with the fit parameters for the given sample number.
bool generateAndFit(Int_t nSamples, Int_t nEvtPerSample=0, bool keepGenData=false, const char *asciiFilePat=0)
Generate and fit 'nSamples' samples of 'nEvtPerSample' events.
void calcPulls()
Calculate the pulls for all fit parameters in the fit results data set, and add them to that dataset.
RooArgSet _dependents
List of dependents.
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.
bool _verboseGen
Verbose generation?
std::list< RooAbsMCStudyModule * > _modList
List of additional study modules ;.
RooAbsGenContext * _constrGenContext
Generator context for constraints p.d.f.
RooFitResult * refit(RooAbsData *genSample=0)
Redo fit on 'current' toy sample, or if genSample is not nullptr do fit on given sample instead.
bool generate(Int_t nSamples, Int_t nEvtPerSample=0, bool keepGenData=false, const char *asciiFilePat=0)
Generate 'nSamples' samples of 'nEvtPerSample' events.
bool fitSample(RooAbsData *genSample)
Internal method.
const RooDataSet * _genProtoData
Generator prototype data set.
bool _canAddFitResults
Allow adding of external fit results?
const RooFitResult * fitResult(Int_t sampleNum) const
Return the RooFitResult of the fit with the given run number.
bool _perExptGenParams
Do generation parameter change per event?
bool _silence
Silent running mode?
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.
RooAbsGenContext * _genContext
Generator context.
RooAbsPdf * _constrPdf
Constraints p.d.f.
RooArgSet * _fitInitParams
List of initial values of fit parameters.
RooAbsData * genData(Int_t sampleNum) const
Return the given generated dataset.
RooArgSet * _genInitParams
List of original generator parameters.
void RecursiveRemove(TObject *obj) override
If one of the TObject we have a referenced to is deleted, remove the reference.
RooAbsPdf * _genModel
Generator model.
const RooDataSet & fitParDataSet()
Return a RooDataSet containing the post-fit parameters of each toy cycle.
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.
RooLinkedList _fitOptList
RooArgSet _allDependents
List of generate + prototype dependents.
RooArgSet * _fitParams
List of actual fit parameters.
bool run(bool generate, bool fit, Int_t nSamples, Int_t nEvtPerSample, bool keepGenData, const char *asciiFilePat)
Run engine method.
void resetFitParams()
Reset all fit parameters to the initial model parameters at the time of the RooMCStudy constructor.
RooArgSet * _genParams
List of actual generator parameters.
RooAbsPdf * _fitModel
Fit model.
bool fit(Int_t nSamples, const char *asciiFilePat)
Fit 'nSamples' datasets, which are read from ASCII files.
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.
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.
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.
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.
RooPullVar represents the pull of a measurement w.r.t.
static TRandom * randomGenerator()
Return a pointer to a singleton random-number generator implementation.
RooRealVar represents a variable that can be changed from the outside.
void setVal(double value) override
Set value of variable to 'value'.
void setBins(Int_t nBins, const char *name=0)
Create a uniform binning under name 'name' for this variable.
RooErrorVar * errorVar() const
Return a RooAbsRealLValue representing the error associated with this variable.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Iterator abstract base class.
virtual TObject * Next()=0
void RecursiveRemove(TObject *obj) override
Remove object from this collection and recursively remove the object from all other objects (and coll...
void Add(TObject *obj) override
TIterator * MakeIterator(Bool_t dir=kIterForward) const override
Return a list iterator.
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
The TNamed class is the base class for all named ROOT classes.
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
Mother of all ROOT objects.
virtual Int_t Poisson(Double_t mean)
Generates a random integer N according to a Poisson law.
const char * Data() const
TString & Append(const char *cs)
RooCmdArg AutoRange(const RooAbsData &data, double marginFactor=0.1)
RooCmdArg AutoSymRange(const RooAbsData &data, double marginFactor=0.1)
RooCmdArg Bins(Int_t nbin)
RooCmdArg Constrain(const RooArgSet ¶ms)
RooCmdArg Save(bool flag=true)
RooCmdArg ExternalConstraints(const RooArgSet &constraintPdfs)
RooCmdArg Minos(bool flag=true)
RooCmdArg PrintLevel(Int_t code)
RooCmdArg ConditionalObservables(Args_t &&... argsOrArgSet)
Create a RooCmdArg to declare conditional observables.
RooCmdArg Range(const char *rangeName, bool adjustNorm=true)
MsgLevel
Verbosity level for RooMsgService::StreamConfig in RooMsgService.
static constexpr double pc