128 pc.defineObject(
"fitModel",
"FitModel",0,0) ;
129 pc.defineObject(
"condObs",
"ProjectedDependents",0,0) ;
130 pc.defineObject(
"protoData",
"PrototypeData",0,0) ;
131 pc.defineSet(
"cPars",
"Constrain",0,0) ;
132 pc.defineSet(
"extCons",
"ExternalConstraints",0,0) ;
133 pc.defineInt(
"silence",
"Silence",0,0) ;
134 pc.defineInt(
"randProtoData",
"PrototypeData",0,0) ;
135 pc.defineInt(
"verboseGen",
"Verbose",0,0) ;
136 pc.defineInt(
"extendedGen",
"Extended",0,0) ;
137 pc.defineInt(
"binGenData",
"Binned",0,0) ;
138 pc.defineString(
"fitOpts",
"FitOptions",0,
"") ;
139 pc.defineInt(
"dummy",
"FitOptArgs",0,0) ;
140 pc.defineMutex(
"FitOptions",
"FitOptArgs") ;
141 pc.defineMutex(
"Constrain",
"FitOptions") ;
142 pc.defineMutex(
"ExternalConstraints",
"FitOptions") ;
145 pc.process(cmdList) ;
148 throw std::string(
"RooMCStudy::RooMCStudy() Error in parsing arguments passed to contructor") ;
153 if (
pc.hasProcessed(
"FitOptArgs")) {
173 cPars->
add(*cParsTmp) ;
190 allConstraints.
add(*constraints) ;
196 if (allConstraints.
getSize()>0) {
197 _constrPdf =
new RooProdPdf(
"mcs_constr_prod",
"RooMCStudy constraints product",allConstraints) ;
200 consPars.
add(*cPars) ;
204 consPars.
add(*cparams) ;
212 coutI(
Generation) <<
"RooMCStudy::RooMCStudy: INFO have pdf with constraints, will generate parameters from constraint pdf for each experiment" << endl ;
231 if (
pc.getObject(
"condObs",0)) {
242 oocoutW(
_fitModel,
Generation) <<
"RooMCStudy::RooMCStudy: WARNING Using generator option 'e' (Poisson distribution of #events) together " << endl
243 <<
" with a prototype dataset implies incomplete sampling or oversampling of proto data." << endl
244 <<
" Use option \"r\" to randomize prototype dataset order and thus to randomize" << endl
245 <<
" the set of over/undersampled prototype events for each generation cycle." << endl ;
301 list<RooAbsMCStudyModule*>::iterator iter ;
303 Bool_t ok = (*iter)->doInitializeInstance(*
this) ;
305 oocoutE(
_fitModel,
Generation) <<
"RooMCStudy::ctor: removing study module " << (*iter)->GetName() <<
" from analysis chain because initialization failed" << endl ;
330 const RooArgSet& dependents,
const char* genOptions,
331 const char* fitOptions,
const RooDataSet* genProtoData,
333 TNamed(
"mcstudy",
"mcstudy"),
335 _genProtoData(genProtoData),
338 _constrGenContext(0),
339 _dependents(dependents),
340 _allDependents(dependents),
345 _fitOptions(fitOptions),
346 _canAddFitResults(
kTRUE),
347 _perExptGenParams(0),
359 oocoutE(
_fitModel,
Generation) <<
"RooMCStudy::RooMCStudy: WARNING Using generator option 'e' (Poisson distribution of #events) together " << endl
360 <<
" with a prototype dataset implies incomplete sampling or oversampling of proto data." << endl
361 <<
" Use option \"r\" to randomize prototype dataset order and thus to randomize" << endl
362 <<
" the set of over/undersampled prototype events for each generation cycle." << endl ;
406 list<RooAbsMCStudyModule*>::iterator iter ;
408 Bool_t ok = (*iter)->doInitializeInstance(*
this) ;
410 oocoutE(
_fitModel,
Generation) <<
"RooMCStudy::ctor: removing study module " << (*iter)->GetName() <<
" from analysis chain because initialization failed" << endl ;
473 list<RooAbsMCStudyModule*>::iterator iter ;
475 (*iter)->initializeRun(nSamples) ;
478 Int_t prescale = nSamples>100 ?
Int_t(nSamples/100) : 1 ;
482 if (nSamples%prescale==0) {
494 Int_t nEvt(nEvtPerSample) ;
512 list<RooAbsMCStudyModule*>::iterator iter2 ;
514 (*iter2)->processBeforeGen(nSamples) ;
538 oocoutI(
_fitModel,
Generation) <<
"RooMCStudy: (Re)randomizing event order in prototype dataset (Nevt=" << nEvt <<
")" << endl ;
544 coutP(
Generation) <<
"RooMCStudy: now generating " << nEvt <<
" events" << endl ;
557 }
else if (asciiFilePat) {
560 char asciiFile[1024] ;
561 snprintf(asciiFile,1024,asciiFilePat,nSamples) ;
569 existingData =
kTRUE ;
580 list<RooAbsMCStudyModule*>::iterator iter3 ;
582 (*iter3)->processBetweenGenAndFit(nSamples) ;
589 (*iter3)->processAfterFit(nSamples) ;
593 if (doGenerate && asciiFilePat && *asciiFilePat) {
594 char asciiFile[1024] ;
595 snprintf(asciiFile,1024,asciiFilePat,nSamples) ;
598 unbinnedData->
write(asciiFile) ;
600 coutE(
InputArguments) <<
"RooMCStudy::run(" <<
GetName() <<
") ERROR: ASCII writing of binned datasets is not supported" << endl ;
615 RooDataSet* auxData = (*iter)->finalizeRun() ;
666 return run(
kTRUE,
kTRUE,nSamples,nEvtPerSample,keepGenData,asciiFilePat) ;
686 return run(
kTRUE,
kFALSE,nSamples,nEvtPerSample,keepGenData,asciiFilePat) ;
777 fitOptList.
Add(&save) ;
779 fitOptList.
Add(&condo) ;
782 fitOptList.
Add(&plevel) ;
806 fr =
doFit(genSample) ;
834 fr =
doFit(genSample) ;
858 if (userSaveRequest) {
916 const auto par =
static_cast<RooRealVar*
>(*it);
921 TString name(par->GetName()), title(par->GetTitle()) ;
922 name.Append(
"pull") ;
925 if (!par->hasError(
false)) {
926 coutW(
Generation) <<
"Fit parameter '" << par->GetName() <<
"' does not have an error."
927 " A pull distribution cannot be generated. This might be caused by the parameter being constant or"
928 " because the fits were not run." << std::endl;
946 static_cast<RooAbsReal*
>((*_genInitParams)[index]) :
950 coutW(
Generation) <<
"The fit parameter '" << par->GetName() <<
"' is not in the model that was used to generate toy data. "
951 "The parameter '" << genParOrig->GetName() <<
"'=" << genParOrig->getVal() <<
" was found at the same position in the generator model."
952 " It will be used to compute pulls."
953 "\nIf this is not desired, the parameters of the generator model need to be renamed or reordered." << std::endl;
958 std::unique_ptr<RooAbsReal> genPar(
static_cast<RooAbsReal*
>(genParOrig->Clone(
"truth")));
963 coutE(
Generation) <<
"Cannot generate pull distribution for the fit parameter '" << par->GetName() <<
"'."
964 "\nNo similar parameter was found in the set of parameters that were used to generate toy data." << std::endl;
1032 << sampleNum <<
", did you use the 'r; fit option?" << endl ;
1105 return plotParam(*param,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
1185 RooPlot* frame =
plotParam(*evar_rrv,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
1229 name.Append(
"pull") ; title.
Append(
" Pull") ;
1239 pc.defineInt(
"fitGauss",
"FitGauss",0,0) ;
1240 pc.allowUndefined() ;
1241 pc.process(cmdList) ;
1242 Bool_t fitGauss=
pc.getInt(
"fitGauss") ;
1245 pc.stripCmdList(cmdList,
"FitGauss") ;
1249 coutF(
Plotting) <<
"No pull distribution for the parameter '" << param.
GetName() <<
"'. Check logs for errors." << std::endl;
1255 RooRealVar pullMean(
"pullMean",
"Mean of pull",0,-10,10) ;
1256 RooRealVar pullSigma(
"pullSigma",
"Width of pull",1,0.1,5) ;
1258 "exp(-0.5*(@0-@1)*(@0-@1)/(@2*@2))",
1261 pullGauss.
plotOn(frame) ;
1279 pc.defineInt(
"nbins",
"Bins",0,0) ;
1280 pc.defineDouble(
"xlo",
"Range",0,0) ;
1281 pc.defineDouble(
"xhi",
"Range",1,0) ;
1282 pc.defineInt(
"dummy",
"FrameArgs",0,0) ;
1283 pc.defineMutex(
"Bins",
"FrameArgs") ;
1284 pc.defineMutex(
"Range",
"FrameArgs") ;
1287 pc.allowUndefined() ;
1288 pc.process(cmdList) ;
1294 Int_t nbins =
pc.getInt(
"nbins") ;
1299 if (
pc.hasProcessed(
"FrameArgs")) {
1310 if (
pc.hasProcessed(
"Bins")) frameCmdList.
Add(&bins) ;
1311 if (
pc.hasProcessed(
"Range")) {
1312 frameCmdList.
Add(&range) ;
1314 frameCmdList.
Add(&autor) ;
1316 frame = param.
frame(frameCmdList) ;
1320 pc.stripCmdList(cmdList,
"FrameArgs,Bins,Range") ;
1384 name.Append(
"pull") ; title.
Append(
" Pull") ;
1392 coutF(
Plotting) <<
"No pull distribution for the parameter '" << param.
GetName() <<
"'. Check logs for errors." << std::endl;
1397 RooRealVar pullMean(
"pullMean",
"Mean of pull",0,lo,
hi) ;
1398 RooRealVar pullSigma(
"pullSigma",
"Width of pull",1,0,5) ;
1400 "exp(-0.5*(@0-@1)*(@0-@1)/(@2*@2))",
1403 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
Return the observables of this pdf given a set of observables.
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...
Storage_t::size_type size() const
const_iterator begin() const
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 R__SUGGEST_ALTERNATIVE("begin()
TIterator-style iteration over contained elements.
TIterator end() and range-based for loops.")
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...
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 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()) const
As RooAbsPdf::generateBinned(const RooArgSet&, const RooCmdArg&,const RooCmdArg&, const RooCmdArg&,...
virtual RooArgSet * getAllConstraints(const RooArgSet &observables, RooArgSet &constrainedParams, Bool_t stripDisconnected=kTRUE) const
This helper function finds and collects all constraints terms of all component p.d....
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.
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.
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.
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.
The RooDataHist 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 override
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.
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)
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.
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 helper 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 of the fit with the given run number.
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 containing the post-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.
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 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 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.
void ToLower()
Change string to lower-case.
const char * Data() const
TString & Append(const char *cs)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
RooCmdArg Constrain(const RooArgSet ¶ms)
MsgLevel
Verbosity level for RooMsgService::StreamConfig in RooMsgService.
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