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),
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 coutP(
Generation) <<
"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) ;
764 fitOptList.
Add(&save) ;
766 fitOptList.
Add(&condo) ;
769 fitOptList.
Add(&plevel) ;
793 fr =
doFit(genSample) ;
821 fr =
doFit(genSample) ;
845 if (userSaveRequest) {
903 const auto par =
static_cast<RooRealVar*
>(*it);
908 TString name(par->GetName()), title(par->GetTitle()) ;
909 name.Append(
"pull") ;
912 if (!par->hasError(
false)) {
913 coutW(
Generation) <<
"Fit parameter '" << par->GetName() <<
"' does not have an error."
914 " A pull distribution cannot be generated. This might be caused by the parameter being constant or"
915 " because the fits were not run." << std::endl;
933 static_cast<RooAbsReal*
>((*_genInitParams)[index]) :
937 coutW(
Generation) <<
"The fit parameter '" << par->GetName() <<
"' is not in the model that was used to generate toy data. "
938 "The parameter '" << genParOrig->GetName() <<
"'=" << genParOrig->getVal() <<
" was found at the same position in the generator model."
939 " It will be used to compute pulls."
940 "\nIf this is not desired, the parameters of the generator model need to be renamed or reordered." << std::endl;
945 std::unique_ptr<RooAbsReal> genPar(
static_cast<RooAbsReal*
>(genParOrig->Clone(
"truth")));
950 coutE(
Generation) <<
"Cannot generate pull distribution for the fit parameter '" << par->GetName() <<
"'."
951 "\nNo similar parameter was found in the set of parameters that were used to generate toy data." << std::endl;
1016 << sampleNum <<
", did you use the 'r; fit option?" << endl ;
1089 return plotParam(*param,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
1169 RooPlot* frame =
plotParam(*evar_rrv,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) ;
1213 name.Append(
"pull") ; title.
Append(
" Pull") ;
1223 pc.defineInt(
"fitGauss",
"FitGauss",0,0) ;
1224 pc.allowUndefined() ;
1225 pc.process(cmdList) ;
1226 Bool_t fitGauss=
pc.getInt(
"fitGauss") ;
1229 pc.stripCmdList(cmdList,
"FitGauss") ;
1233 coutF(
Plotting) <<
"No pull distribution for the parameter '" << param.
GetName() <<
"'. Check logs for errors." << std::endl;
1239 RooRealVar pullMean(
"pullMean",
"Mean of pull",0,-10,10) ;
1240 RooRealVar pullSigma(
"pullSigma",
"Width of pull",1,0.1,5) ;
1242 "exp(-0.5*(@0-@1)*(@0-@1)/(@2*@2))",
1245 pullGauss.
plotOn(frame) ;
1263 pc.defineInt(
"nbins",
"Bins",0,0) ;
1264 pc.defineDouble(
"xlo",
"Range",0,0) ;
1265 pc.defineDouble(
"xhi",
"Range",1,0) ;
1266 pc.defineInt(
"dummy",
"FrameArgs",0,0) ;
1267 pc.defineMutex(
"Bins",
"FrameArgs") ;
1268 pc.defineMutex(
"Range",
"FrameArgs") ;
1271 pc.allowUndefined() ;
1272 pc.process(cmdList) ;
1278 Int_t nbins =
pc.getInt(
"nbins") ;
1283 if (
pc.hasProcessed(
"FrameArgs")) {
1294 if (
pc.hasProcessed(
"Bins")) frameCmdList.
Add(&bins) ;
1295 if (
pc.hasProcessed(
"Range")) {
1296 frameCmdList.
Add(&range) ;
1298 frameCmdList.
Add(&autor) ;
1300 frame = param.
frame(frameCmdList) ;
1304 pc.stripCmdList(cmdList,
"FrameArgs,Bins,Range") ;
1368 name.Append(
"pull") ; title.
Append(
" Pull") ;
1376 coutF(
Plotting) <<
"No pull distribution for the parameter '" << param.
GetName() <<
"'. Check logs for errors." << std::endl;
1381 RooRealVar pullMean(
"pullMean",
"Mean of pull",0,lo,
hi) ;
1382 RooRealVar pullSigma(
"pullSigma",
"Width of pull",1,0,5) ;
1384 "exp(-0.5*(@0-@1)*(@0-@1)/(@2*@2))",
1387 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 RooArgSet * getAllConstraints(const RooArgSet &observables, RooArgSet &constrainedParams, Bool_t stripDisconnected=kTRUE) const
This helper function finds and collects all constraints terms of all coponent 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 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.
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
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 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 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.
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)
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