Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooGlobalFunc.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id: RooGlobalFunc.h,v 1.14 2007/07/16 21:04:28 wouter Exp $
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16#ifndef ROO_GLOBAL_FUNC
17#define ROO_GLOBAL_FUNC
18
19#include "RooCmdArg.h"
20#include "RooLinkedList.h"
21#include "RooArgSet.h"
22
23#include "ROOT/RConfig.hxx"
24
25#include <map>
26#include <string>
27
28class RooDataHist ;
29class RooDataSet ;
30class RooFitResult ;
31class RooAbsPdf ;
32class RooAbsRealLValue ;
33class RooRealConstant ;
34class RooMsgService ;
35class RooFormulaVar ;
36class RooAbsData ;
37class RooCategory ;
38class RooAbsReal ;
39class RooAbsBinning ;
40class RooAbsCollection ;
41class RooAbsPdf ;
42class RooConstVar ;
43class RooRealVar ;
44class RooAbsCategory ;
45class RooNumIntConfig ;
46class TH1 ;
47class TTree ;
48
49/*! \namespace RooFit
50The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs
51(or other types of arguments).
52
53These switches are documented with the relevant functions, e.g. RooAbsPdf::fitTo().
54For an introduction to RooFit (not the namespace), check the [user's guides](https://root.cern/root-user-guides-and-manuals),
55[courses](https://root.cern/learn/courses) or [the RooFit chapter of the Manual](https://root.cern/manual/roofit/).
56*/
57namespace RooFit {
58
59/// Verbosity level for RooMsgService::StreamConfig in RooMsgService
60enum MsgLevel { DEBUG=0, INFO=1, PROGRESS=2, WARNING=3, ERROR=4, FATAL=5 } ;
61/// Topics for a RooMsgService::StreamConfig in RooMsgService
64 Contents=4096, DataHandling=8192, NumIntegration=16384, FastEvaluations=1<<15, HistFactory=1<<16, IO=1<<17 };
66
67/// For setting the offset mode with the Offset() command argument to
68/// RooAbsPdf::fitTo()
69enum class OffsetMode { None, Initial, Bin };
70
71namespace Experimental {
72
73/// Configuration options for parallel minimization with multiprocessing library
74RooCmdArg ParallelGradientOptions(bool enable=true, int orderStrategy=0, int chainFactor=1) ;
75RooCmdArg ParallelDescentOptions(bool enable=false, int splitStrategy=0, int numSplits=4) ;
76
77} // Experimental
78
79/**
80 * \defgroup CmdArgs RooFit command arguments
81 * These arguments can be passed to functions of RooFit objects.
82 * \ingroup Roofitmain
83 * @{
84 */
85
86/**
87 * \defgroup Plotting Arguments for plotOn functions
88 * @{
89 */
90RooCmdArg DrawOption(const char* opt) ;
91RooCmdArg Normalization(double scaleFactor) ;
92RooCmdArg Slice(const RooArgSet& sliceSet) ;
93RooCmdArg Slice(RooCategory& cat, const char* label) ;
94RooCmdArg Slice(std::map<RooCategory*, std::string> const&) ;
95RooCmdArg Project(const RooArgSet& projSet) ;
96RooCmdArg ProjWData(const RooAbsData& projData, bool binData=false) ;
97RooCmdArg ProjWData(const RooArgSet& projSet, const RooAbsData& projData, bool binData=false) ;
99RooCmdArg Precision(double prec) ;
101RooCmdArg Range(const char* rangeName, bool adjustNorm=true) ;
102RooCmdArg Range(double lo, double hi, bool adjustNorm=true) ;
103RooCmdArg NormRange(const char* rangeNameList) ;
106RooCmdArg LineColor(std::string const &color) ;
108RooCmdArg LineStyle(std::string const &style) ;
111RooCmdArg FillColor(std::string const &color) ;
113RooCmdArg FillStyle(std::string const &style) ;
114RooCmdArg ProjectionRange(const char* rangeName) ;
115RooCmdArg Name(const char* name) ;
116RooCmdArg Invisible(bool inv=true) ;
117RooCmdArg AddTo(const char* name, double wgtSel=1.0, double wgtOther=1.0) ;
120RooCmdArg VisualizeError(const RooDataSet& paramData, double Z=1) ;
121RooCmdArg VisualizeError(const RooFitResult& fitres, double Z=1, bool linearMethod=true) ;
122RooCmdArg VisualizeError(const RooFitResult& fitres, const RooArgSet& param, double Z=1, bool linearMethod=true) ;
124
125// RooAbsPdf::plotOn arguments
126RooCmdArg Normalization(double scaleFactor, Int_t scaleType) ;
127template<class... Args_t>
128RooCmdArg Components(Args_t &&... argsOrArgSet) {
129 RooCmdArg out{"SelectCompSet",0};
130 out.setSet(0, RooArgSet{std::forward<Args_t>(argsOrArgSet)...});
131 return out;
132}
133RooCmdArg Components(const char* compSpec) ;
134
135// RooAbsData::plotOn arguments
136RooCmdArg Cut(const char* cutSpec) ;
137RooCmdArg Cut(const RooFormulaVar& cutVar) ;
138RooCmdArg Binning(const RooAbsBinning& binning) ;
139RooCmdArg Binning(const char* binningName) ;
140RooCmdArg Binning(int nBins, double xlo=0.0, double xhi=0.0) ;
142RooCmdArg MarkerStyle(std::string const &style) ;
145RooCmdArg MarkerColor(std::string const &color) ;
146RooCmdArg CutRange(const char* rangeName) ;
147RooCmdArg XErrorSize(double width) ;
149RooCmdArg Efficiency(const RooCategory& cat) ;
150RooCmdArg Rescale(double factor) ;
151
152/** @} */
153
154/**
155 * \defgroup ConstructorArgs Arguments for various constructors
156 * @{
157 */
158// RooDataHist::ctor arguments
159RooCmdArg Weight(double wgt) ;
160RooCmdArg Index(RooCategory& icat) ;
161RooCmdArg Import(const char* state, TH1& histo) ;
162RooCmdArg Import(const std::map<std::string,TH1*>&) ;
163RooCmdArg Import(const char* state, RooDataHist& dhist) ;
164RooCmdArg Import(const std::map<std::string,RooDataHist*>&) ;
165RooCmdArg Import(TH1& histo, bool importDensity=false) ;
166
167// RooDataSet::ctor arguments
168RooCmdArg WeightVar(const char* name="weight", bool reinterpretAsWeight=false) ;
169RooCmdArg WeightVar(const RooRealVar& arg, bool reinterpretAsWeight=false) ;
170RooCmdArg Import(const char* state, RooAbsData& data) ;
171RooCmdArg Import(const std::map<std::string,RooDataSet*>& ) ;
172template<class DataPtr_t>
173RooCmdArg Import(std::map<std::string,DataPtr_t> const& map) {
174 RooCmdArg container("ImportDataSliceMany",0,0,0,0,nullptr,nullptr,nullptr,nullptr) ;
175 for (auto const& item : map) {
176 container.addArg(Import(item.first.c_str(), *item.second)) ;
177 }
178 container.setProcessRecArgs(true,false) ;
179 return container ;
180}
181
182RooCmdArg Link(const char* state, RooAbsData& data) ;
183RooCmdArg Link(const std::map<std::string,RooAbsData*>&) ;
185RooCmdArg Import(TTree& tree) ;
186RooCmdArg ImportFromFile(const char* fname, const char* tname) ;
187RooCmdArg StoreError(const RooArgSet& aset) ;
190
191/** @} */
192
193// RooAbsPdf::printLatex arguments
194RooCmdArg Columns(Int_t ncol) ;
195RooCmdArg OutputFile(const char* fileName) ;
196RooCmdArg Format(const char* what, const RooCmdArg& arg1={}, const RooCmdArg& arg2={},
197 const RooCmdArg& arg3={},const RooCmdArg& arg4={},
198 const RooCmdArg& arg5={},const RooCmdArg& arg6={},
199 const RooCmdArg& arg7={},const RooCmdArg& arg8={}) ;
200RooCmdArg Sibling(const RooAbsCollection& sibling) ;
201
202// RooAbsRealLValue::frame arguments
203RooCmdArg Title(const char* name) ;
204RooCmdArg Bins(Int_t nbin) ;
205RooCmdArg AutoSymRange(const RooAbsData& data, double marginFactor=0.1) ;
206RooCmdArg AutoRange(const RooAbsData& data, double marginFactor=0.1) ;
207
208// RooAbsData::createHistogram arguments
209RooCmdArg AutoSymBinning(Int_t nbins=100, double marginFactor=0.1) ;
210RooCmdArg AutoBinning(Int_t nbins=100, double marginFactor=0.1) ;
211
212// RooAbsReal::fillHistogram arguments
214
215// RooAbsData::reduce arguments
216RooCmdArg SelectVars(const RooArgSet& vars) ;
217RooCmdArg EventRange(Int_t nStart, Int_t nStop) ;
218
219
220/**
221 * \defgroup Fitting Arguments for fitting
222 * @{
223 */
224// RooChi2Var::ctor / RooNLLVar arguments
225RooCmdArg Extended(bool flag=true) ;
227RooCmdArg NumCPU(Int_t nCPU, Int_t interleave=0) ;
228RooCmdArg Parallelize(int nWorkers) ;
229RooCmdArg ModularL(bool flag=false) ;
230RooCmdArg TimingAnalysis(bool timingAnalysis) ;
231
232//RooCmdArg BatchMode(std::string const& batchMode="cpu");
233//// The const char * overload is necessary, otherwise the compiler will cast a
234//// C-Style string to a bool and choose the BatchMode(bool) overload if one
235//// calls for example BatchMode("off").
236//inline RooCmdArg BatchMode(const char * batchMode) { return BatchMode(std::string(batchMode)); }
237//inline RooCmdArg BatchMode(bool batchModeOn) { return BatchMode(batchModeOn ? "cpu" : "off"); }
238
239RooCmdArg IntegrateBins(double precision);
240
241// RooAbsPdf::fitTo arguments
242RooCmdArg PrefitDataFraction(double data_ratio = 0.0) ;
243RooCmdArg Optimize(Int_t flag=2) ;
244
245class EvalBackend : public RooCmdArg {
246public:
248
250
251 EvalBackend(std::string const &name);
252
253 static EvalBackend Legacy();
254 static EvalBackend Cpu();
255 static EvalBackend Cuda();
256 static EvalBackend Codegen();
257 static EvalBackend CodegenNoGrad();
258
259 Value value() const { return static_cast<Value>(getInt(0)); }
260
261 bool operator==(EvalBackend const &other) const { return value() == other.value(); }
262
263 bool operator!=(EvalBackend const &other) const { return value() != other.value(); }
264
265 std::string name() const;
266
267 static Value &defaultValue();
268private:
269 static Value toValue(std::string const& name);
270 static std::string toName(Value value);
271};
272
273////////////////////////////////////////////////////////////////////////////////
274/// Create a RooCmdArg to declare conditional observables.
275/// \param[in] argsOrArgSet Can either be one or more RooRealVar with the
276// observables or a single RooArgSet containing them.
277template<class... Args_t>
278RooCmdArg ConditionalObservables(Args_t &&... argsOrArgSet) {
279 RooCmdArg out{"ProjectedObservables",0};
280 out.setSet(0, RooArgSet{std::forward<Args_t>(argsOrArgSet)...});
281 return out;
282}
283
284// obsolete, for backward compatibility
285template<class... Args_t>
286RooCmdArg ProjectedObservables(Args_t &&... argsOrArgSet) {
287 return ConditionalObservables(std::forward<Args_t>(argsOrArgSet)...);
288}
289
290RooCmdArg Verbose(bool flag=true) ;
291RooCmdArg Save(bool flag=true) ;
292RooCmdArg Timer(bool flag=true) ;
294RooCmdArg Warnings(bool flag=true) ;
296RooCmdArg InitialHesse(bool flag=true) ;
297RooCmdArg Hesse(bool flag=true) ;
298RooCmdArg Minos(bool flag=true) ;
299RooCmdArg Minos(const RooArgSet& minosArgs) ;
300RooCmdArg SplitRange(bool flag=true) ;
301RooCmdArg SumCoefRange(const char* rangeName) ;
302RooCmdArg Constrain(const RooArgSet& params) ;
303RooCmdArg MaxCalls(int n) ;
304
305template<class... Args_t>
306RooCmdArg GlobalObservables(Args_t &&... argsOrArgSet) {
307 RooCmdArg out{"GlobalObservables",0};
308 out.setSet(0, RooArgSet{std::forward<Args_t>(argsOrArgSet)...});
309 return out;
310}
311RooCmdArg GlobalObservablesSource(const char* sourceName);
312RooCmdArg GlobalObservablesTag(const char* tagName) ;
313RooCmdArg ExternalConstraints(const RooArgSet& constraintPdfs) ;
315RooCmdArg EvalErrorWall(bool flag) ;
316RooCmdArg SumW2Error(bool flag) ;
317RooCmdArg AsymptoticError(bool flag) ;
318RooCmdArg CloneData(bool flag) ;
319RooCmdArg Integrate(bool flag) ;
320RooCmdArg Minimizer(const char* type, const char* alg=nullptr) ;
321RooCmdArg Offset(std::string const& mode);
322// The const char * overload is necessary, otherwise the compiler will cast a
323// C-Style string to a bool and choose the Offset(bool) overload if one
324// calls for example Offset("off").
325inline RooCmdArg Offset(const char * mode) { return Offset(std::string(mode)); }
326// For backwards compatibility
327inline RooCmdArg Offset(bool flag=true) { return flag ? Offset("initial") : Offset("off"); }
329/** @} */
330
331// RooAbsPdf::paramOn arguments
332RooCmdArg Label(const char* str) ;
333RooCmdArg Layout(double xmin, double xmax=0.99, double ymin=0.95) ;
334RooCmdArg Parameters(const RooArgSet& params) ;
335RooCmdArg ShowConstants(bool flag=true) ;
336
337// RooTreeData::statOn arguments
338RooCmdArg What(const char* str) ;
339
340// RooProdPdf::ctor arguments
341RooCmdArg Conditional(const RooArgSet& pdfSet, const RooArgSet& depSet, bool depsAreCond=false) ;
342
343/**
344 * \defgroup Generating Arguments for generating data
345 * @{
346 */
347// RooAbsPdf::generate arguments
348RooCmdArg ProtoData(const RooDataSet& protoData, bool randomizeOrder=false, bool resample=false) ;
349RooCmdArg NumEvents(Int_t numEvents) ;
350RooCmdArg NumEvents(double numEvents) ;
351RooCmdArg AutoBinned(bool flag=true) ;
352RooCmdArg GenBinned(const char* tag) ;
354RooCmdArg ExpectedData(bool flag=true) ;
355RooCmdArg Asimov(bool flag=true) ;
356
357/** @} */
358
359// RooAbsRealLValue::createHistogram arguments
360RooCmdArg YVar(const RooAbsRealLValue& var, const RooCmdArg& arg={}) ;
361RooCmdArg ZVar(const RooAbsRealLValue& var, const RooCmdArg& arg={}) ;
362RooCmdArg AxisLabel(const char* name) ;
363RooCmdArg Scaling(bool flag) ;
364
365
366// RooAbsReal::createHistogram arguments
367RooCmdArg IntrinsicBinning(bool flag=true) ;
368
369// RooAbsReal::createIntegral arguments
370template<class... Args_t>
371RooCmdArg NormSet(Args_t &&... argsOrArgSet) {
372 RooCmdArg out{"NormSet",0};
373 out.setSet(0, RooArgSet{std::forward<Args_t>(argsOrArgSet)...});
374 return out;
375}
377
378// RooMCStudy::ctor arguments
379RooCmdArg Silence(bool flag=true) ;
381RooCmdArg FitOptions(const RooCmdArg& arg1 ,const RooCmdArg& arg2={},
382 const RooCmdArg& arg3={},const RooCmdArg& arg4={},
383 const RooCmdArg& arg5={},const RooCmdArg& arg6={}) ;
384RooCmdArg Binned(bool flag=true) ;
385
386// RooMCStudy::plot* arguments
387RooCmdArg Frame(const RooCmdArg& arg1 ,const RooCmdArg& arg2={},
388 const RooCmdArg& arg3={},const RooCmdArg& arg4={},
389 const RooCmdArg& arg5={},const RooCmdArg& arg6={}) ;
391RooCmdArg FrameRange(double xlo, double xhi) ;
392RooCmdArg FitGauss(bool flag=true) ;
393
394// RooRealVar::format arguments
395RooCmdArg AutoPrecision(Int_t ndigit=2) ;
397RooCmdArg TLatexStyle(bool flag=true) ;
398RooCmdArg LatexStyle(bool flag=true) ;
399RooCmdArg LatexTableStyle(bool flag=true) ;
400RooCmdArg VerbatimName(bool flag=true) ;
401
402// RooMsgService::addReportingStream arguments
403RooCmdArg Topic(Int_t topic) ;
404RooCmdArg ObjectName(const char* name) ;
405RooCmdArg ClassName(const char* name) ;
406RooCmdArg BaseClassName(const char* name) ;
407RooCmdArg TagName(const char* name) ;
408RooCmdArg OutputStream(std::ostream& os) ;
409RooCmdArg Prefix(bool flag) ;
410RooCmdArg Color(Color_t color) ;
411
412// RooWorkspace::import() arguments
413RooCmdArg RenameConflictNodes(const char* suffix, bool renameOrigNodes=false) ;
414RooCmdArg RenameAllNodes(const char* suffix) ;
415RooCmdArg RenameAllVariables(const char* suffix) ;
416RooCmdArg RenameAllVariablesExcept(const char* suffix,const char* exceptionList) ;
417RooCmdArg RenameVariable(const char* inputName, const char* outputName) ;
418RooCmdArg Rename(const char* suffix) ;
419RooCmdArg RecycleConflictNodes(bool flag=true) ;
420RooCmdArg Embedded(bool flag=true) ;
421RooCmdArg NoRecursion(bool flag=true) ;
422
423// RooSimCloneTool::build() arguments
424RooCmdArg SplitParam(const char* varname, const char* catname) ;
425RooCmdArg SplitParam(const RooRealVar& var, const RooAbsCategory& cat) ;
426RooCmdArg SplitParamConstrained(const char* varname, const char* catname, const char* rsname) ;
427RooCmdArg SplitParamConstrained(const RooRealVar& var, const RooAbsCategory& cat, const char* rsname) ;
428RooCmdArg Restrict(const char* catName, const char* stateNameList) ;
429
430// RooAbsPdf::createCdf() arguments
431RooCmdArg SupNormSet(const RooArgSet& nset) ;
432RooCmdArg ScanParameters(Int_t nbins,Int_t intOrder) ;
436
437// Generic container arguments (to be able to supply more command line arguments)
438RooCmdArg MultiArg(const RooCmdArg& arg1, const RooCmdArg& arg2,
439 const RooCmdArg& arg3={},const RooCmdArg& arg4={},
440 const RooCmdArg& arg5={},const RooCmdArg& arg6={},
441 const RooCmdArg& arg7={},const RooCmdArg& arg8={}) ;
442
443RooConstVar& RooConst(double val) ;
444
445// End group CmdArgs:
446/**
447 * @}
448 */
449
450namespace Detail {
451
452// Function to pack an arbitrary number of RooCmdArgs into a RooLinkedList. Implementation detail of many high-level RooFit functions.
453template <typename... Args>
454inline std::unique_ptr<RooLinkedList> createCmdList(RooCmdArg const* arg1, Args &&...args)
455{
456 auto cmdList = std::make_unique<RooLinkedList>();
457 for (auto &arg : {arg1, static_cast<RooCmdArg const *>(args)...}) {
458 cmdList->Add(const_cast<RooCmdArg *>(arg));
459 }
460 return cmdList;
461}
462
463inline std::unique_ptr<RooLinkedList> createCmdList()
464{
465 return std::make_unique<RooLinkedList>();
466}
467
468inline std::unique_ptr<RooLinkedList> createCmdList(RooLinkedList const *cmdList)
469{
470 auto cmdListCopy = std::make_unique<RooLinkedList>();
471 for (auto *arg : *cmdList) {
472 cmdListCopy->Add(arg);
473 }
474 return cmdListCopy;
475}
476
477// RooFit-internal helper struct to build a map object that only uses
478// std::vector, which can be implicitly converted to std::map in C++. Used to
479// avoid std::map in pythonizations.
480template <class Key_t, class Val_t>
481struct FlatMap {
482 std::vector<Key_t> keys;
483 std::vector<Val_t> vals;
484};
485
486template <class Key_t, class Val_t>
488 std::map<Key_t, Val_t> out;
489 for (std::size_t i = 0; i < flatMap.keys.size(); ++i) {
490 out[flatMap.keys[i]] = flatMap.vals[i];
491 }
492 return out;
493}
494
495// Internal variant of Slice(), Import(), and Link(), that take flat maps instad of std::map.
496RooCmdArg SliceFlatMap(FlatMap<RooCategory *, std::string> const &args);
497RooCmdArg ImportFlatMap(FlatMap<std::string, RooDataHist *> const &args);
498RooCmdArg ImportFlatMap(FlatMap<std::string, TH1 *> const &args);
499RooCmdArg ImportFlatMap(FlatMap<std::string, RooDataSet *> const &args);
500RooCmdArg LinkFlatMap(FlatMap<std::string, RooAbsData *> const &args);
501
502} // namespace Detail
503
504} // namespace RooFit
505
506namespace RooFitShortHand {
507
508RooConstVar& C(double value);
509
510} // namespace RooFitShortHand
511
512#endif
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
short Style_t
Definition RtypesCore.h:82
short Color_t
Definition RtypesCore.h:85
float Size_t
Definition RtypesCore.h:89
short Width_t
Definition RtypesCore.h:84
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 value
Option_t Option_t TPoint TPoint const char mode
Option_t Option_t width
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Option_t Option_t style
char name[80]
Definition TGX11.cxx:110
float xmin
#define hi
float ymin
float xmax
Abstract base class for RooRealVar binning definitions.
A space to attach TBranches.
Abstract container object that can hold multiple RooAbsArg objects.
Abstract base class for binned and unbinned datasets.
Definition RooAbsData.h:57
Abstract interface for all probability density functions.
Definition RooAbsPdf.h:40
Abstract base class for objects that represent a real value that may appear on the left hand side of ...
Abstract base class for objects that represent a real value and implements functionality common to al...
Definition RooAbsReal.h:59
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:24
Object to represent discrete states.
Definition RooCategory.h:28
Named container for two doubles, two integers two object points and three string pointers that can be...
Definition RooCmdArg.h:26
void addArg(const RooCmdArg &arg)
Utility function to add nested RooCmdArg to payload of this RooCmdArg.
Int_t getInt(Int_t idx) const
Definition RooCmdArg.h:87
void setProcessRecArgs(bool flag, bool prefix=true)
Definition RooCmdArg.h:46
Represents a constant real-valued object.
Definition RooConstVar.h:23
Container class to hold N-dimensional binned data.
Definition RooDataHist.h:40
Container class to hold unbinned data.
Definition RooDataSet.h:33
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
static Value & defaultValue()
static EvalBackend Cuda()
static EvalBackend Codegen()
static EvalBackend CodegenNoGrad()
bool operator!=(EvalBackend const &other) const
EvalBackend(Value value)
static EvalBackend Legacy()
std::string name() const
Value value() const
static EvalBackend Cpu()
static Value toValue(std::string const &name)
static std::string toName(Value value)
bool operator==(EvalBackend const &other) const
A RooFormulaVar is a generic implementation of a real-valued object, which takes a RooArgList of serv...
Collection class for internal use, storing a collection of RooAbsArg pointers in a doubly linked list...
Singleton class that organizes messages generated in RooFit.
Holds the configuration parameters of the various numeric integrators used by RooRealIntegral.
Provides static functions to create and keep track of RooRealVar constants.
Variable that can be changed from the outside.
Definition RooRealVar.h:37
TH1 is the base class of all histogram classes in ROOT.
Definition TH1.h:59
A TTree represents a columnar dataset.
Definition TTree.h:79
RooCmdArg RecycleConflictNodes(bool flag=true)
RooCmdArg ScanNoCdf()
RooCmdArg AutoRange(const RooAbsData &data, double marginFactor=0.1)
RooCmdArg FitGauss(bool flag=true)
RooCmdArg FrameBins(Int_t nbins)
RooCmdArg ClassName(const char *name)
RooCmdArg FitModel(RooAbsPdf &pdf)
RooCmdArg LatexStyle(bool flag=true)
RooCmdArg VerbatimName(bool flag=true)
RooCmdArg IntegratedObservables(const RooArgSet &intObs)
RooCmdArg OutputStream(std::ostream &os)
RooCmdArg Topic(Int_t topic)
RooCmdArg MultiArg(const RooCmdArg &arg1, const RooCmdArg &arg2, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={})
RooCmdArg Parameters(const RooArgSet &params)
RooCmdArg NumIntConfig(const RooNumIntConfig &cfg)
RooCmdArg ScanParameters(Int_t nbins, Int_t intOrder)
RooCmdArg Label(const char *str)
RooCmdArg TagName(const char *name)
RooCmdArg BaseClassName(const char *name)
RooCmdArg IntrinsicBinning(bool flag=true)
RooCmdArg Restrict(const char *catName, const char *stateNameList)
RooCmdArg TLatexStyle(bool flag=true)
RooCmdArg RenameAllVariables(const char *suffix)
RooCmdArg YVar(const RooAbsRealLValue &var, const RooCmdArg &arg={})
RooCmdArg ShowConstants(bool flag=true)
RooCmdArg Frame(const RooCmdArg &arg1, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={})
RooCmdArg RenameVariable(const char *inputName, const char *outputName)
RooCmdArg Color(Color_t color)
RooCmdArg FixedPrecision(Int_t ndigit=2)
RooCmdArg AutoPrecision(Int_t ndigit=2)
RooCmdArg Title(const char *name)
RooCmdArg RenameAllNodes(const char *suffix)
RooCmdArg Format(const char *what, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={})
RooCmdArg ZVar(const RooAbsRealLValue &var, const RooCmdArg &arg={})
RooCmdArg SplitParam(const char *varname, const char *catname)
RooCmdArg Rename(const char *suffix)
RooCmdArg SupNormSet(const RooArgSet &nset)
RooCmdArg SelectVars(const RooArgSet &vars)
RooCmdArg AutoBinning(Int_t nbins=100, double marginFactor=0.1)
RooCmdArg FrameRange(double xlo, double xhi)
RooCmdArg Conditional(const RooArgSet &pdfSet, const RooArgSet &depSet, bool depsAreCond=false)
RooCmdArg LatexTableStyle(bool flag=true)
RooCmdArg RenameAllVariablesExcept(const char *suffix, const char *exceptionList)
RooCmdArg Scaling(bool flag)
RooConstVar & RooConst(double val)
RooCmdArg Columns(Int_t ncol)
RooCmdArg EventRange(Int_t nStart, Int_t nStop)
RooCmdArg ScanAllCdf()
RooCmdArg ObjectName(const char *name)
RooCmdArg Silence(bool flag=true)
RooCmdArg FitOptions(const RooCmdArg &arg1, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={})
RooCmdArg NoRecursion(bool flag=true)
RooCmdArg AxisLabel(const char *name)
RooCmdArg Sibling(const RooAbsCollection &sibling)
RooCmdArg Binned(bool flag=true)
RooCmdArg NormSet(Args_t &&... argsOrArgSet)
RooCmdArg SplitParamConstrained(const char *varname, const char *catname, const char *rsname)
RooCmdArg What(const char *str)
RooCmdArg RenameConflictNodes(const char *suffix, bool renameOrigNodes=false)
RooCmdArg AutoSymRange(const RooAbsData &data, double marginFactor=0.1)
RooCmdArg ScanNumCdf()
RooCmdArg Bins(Int_t nbin)
RooCmdArg Embedded(bool flag=true)
RooCmdArg OutputFile(const char *fileName)
RooCmdArg AutoSymBinning(Int_t nbins=100, double marginFactor=0.1)
RooCmdArg Layout(double xmin, double xmax=0.99, double ymin=0.95)
RooCmdArg OwnLinked()
RooCmdArg ImportFromFile(const char *fname, const char *tname)
RooCmdArg StoreAsymError(const RooArgSet &aset)
RooCmdArg Weight(double wgt)
RooCmdArg StoreError(const RooArgSet &aset)
RooCmdArg Link(const char *state, RooAbsData &data)
RooCmdArg WeightVar(const char *name="weight", bool reinterpretAsWeight=false)
RooCmdArg Import(const char *state, TH1 &histo)
RooCmdArg InitialHesse(bool flag=true)
RooCmdArg IntegrateBins(double precision)
Integrate the PDF over bins.
RooCmdArg MaxCalls(int n)
RooCmdArg ProjectedObservables(Args_t &&... argsOrArgSet)
RooCmdArg SplitRange(bool flag=true)
RooCmdArg AsymptoticError(bool flag)
RooCmdArg PrefitDataFraction(double data_ratio=0.0)
RooCmdArg Offset(std::string const &mode)
RooCmdArg Constrain(const RooArgSet &params)
RooCmdArg GlobalObservablesTag(const char *tagName)
RooCmdArg Minimizer(const char *type, const char *alg=nullptr)
RooCmdArg Hesse(bool flag=true)
RooCmdArg Strategy(Int_t code)
RooCmdArg Save(bool flag=true)
RooCmdArg Integrate(bool flag)
RooCmdArg SumW2Error(bool flag)
RooCmdArg GlobalObservables(Args_t &&... argsOrArgSet)
RooCmdArg GlobalObservablesSource(const char *sourceName)
RooCmdArg SumCoefRange(const char *rangeName)
RooCmdArg PrintEvalErrors(Int_t numErrors)
RooCmdArg Optimize(Int_t flag=2)
RooCmdArg Parallelize(int nWorkers)
RooCmdArg EvalErrorWall(bool flag)
RooCmdArg DataError(Int_t)
RooCmdArg Warnings(bool flag=true)
RooCmdArg ExternalConstraints(const RooArgSet &constraintPdfs)
RooCmdArg Minos(bool flag=true)
RooCmdArg ModularL(bool flag=false)
RooCmdArg TimingAnalysis(bool timingAnalysis)
RooCmdArg PrintLevel(Int_t code)
RooCmdArg NumCPU(Int_t nCPU, Int_t interleave=0)
RooCmdArg CloneData(bool flag)
RooCmdArg RecoverFromUndefinedRegions(double strength)
When parameters are chosen such that a PDF is undefined, try to indicate to the minimiser how to leav...
RooCmdArg Verbose(bool flag=true)
RooCmdArg ConditionalObservables(Args_t &&... argsOrArgSet)
Create a RooCmdArg to declare conditional observables.
RooCmdArg Extended(bool flag=true)
RooCmdArg ProtoData(const RooDataSet &protoData, bool randomizeOrder=false, bool resample=false)
RooCmdArg AllBinned()
RooCmdArg AutoBinned(bool flag=true)
RooCmdArg Asimov(bool flag=true)
RooCmdArg NumEvents(Int_t numEvents)
RooCmdArg GenBinned(const char *tag)
RooCmdArg ExpectedData(bool flag=true)
RooCmdArg RefreshNorm()
RooCmdArg Components(Args_t &&... argsOrArgSet)
RooCmdArg ProjectionRange(const char *rangeName)
RooCmdArg MarkerColor(Color_t color)
RooCmdArg Binning(const RooAbsBinning &binning)
RooCmdArg ProjWData(const RooAbsData &projData, bool binData=false)
RooCmdArg Precision(double prec)
RooCmdArg EvalErrorValue(double value)
RooCmdArg NormRange(const char *rangeNameList)
RooCmdArg ShowProgress()
RooCmdArg DrawOption(const char *opt)
RooCmdArg Project(const RooArgSet &projSet)
RooCmdArg FillStyle(Style_t style)
RooCmdArg Range(const char *rangeName, bool adjustNorm=true)
RooCmdArg FillColor(Color_t color)
RooCmdArg Invisible(bool inv=true)
RooCmdArg MarkerStyle(Style_t style)
RooCmdArg LineWidth(Width_t width)
RooCmdArg Normalization(double scaleFactor)
RooCmdArg VisualizeError(const RooDataSet &paramData, double Z=1)
RooCmdArg ShiftToZero()
RooCmdArg Slice(const RooArgSet &sliceSet)
RooCmdArg AddTo(const char *name, double wgtSel=1.0, double wgtOther=1.0)
RooCmdArg CutRange(const char *rangeName)
RooCmdArg XErrorSize(double width)
RooCmdArg MoveToBack()
RooCmdArg MarkerSize(Size_t size)
RooCmdArg Rescale(double factor)
RooCmdArg Cut(const char *cutSpec)
RooCmdArg LineColor(Color_t color)
RooCmdArg Efficiency(const RooCategory &cat)
RooCmdArg Name(const char *name)
RooCmdArg LineStyle(Style_t style)
RooCmdArg VLines()
RooCmdArg Asymmetry(const RooCategory &cat)
const Int_t n
Definition legend1.C:16
RooConstVar & C(double value)
RooCmdArg LinkFlatMap(FlatMap< std::string, RooAbsData * > const &args)
auto flatMapToStdMap(FlatMap< Key_t, Val_t > const &flatMap)
RooCmdArg ImportFlatMap(FlatMap< std::string, RooDataHist * > const &args)
RooCmdArg SliceFlatMap(FlatMap< RooCategory *, std::string > const &args)
std::unique_ptr< RooLinkedList > createCmdList()
RooCmdArg ParallelGradientOptions(bool enable=true, int orderStrategy=0, int chainFactor=1)
Configuration options for parallel minimization with multiprocessing library.
RooCmdArg ParallelDescentOptions(bool enable=false, int splitStrategy=0, int numSplits=4)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition JSONIO.h:26
MsgLevel
Verbosity level for RooMsgService::StreamConfig in RooMsgService.
@ SimComponents
@ BulkPartition
OffsetMode
For setting the offset mode with the Offset() command argument to RooAbsPdf::fitTo()
MsgTopic
Topics for a RooMsgService::StreamConfig in RooMsgService.
@ FastEvaluations
@ NumIntegration
@ InputArguments
@ ObjectHandling
@ LinkStateMgmt
void inv(rsa_NUMBER *, rsa_NUMBER *, rsa_NUMBER *)
Definition rsaaux.cxx:949
static const char * what
Definition stlLoader.cc:5
std::vector< Key_t > keys
std::vector< Val_t > vals
static int Prefix[4096]
Definition gifdecode.c:12