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/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) ;
110RooCmdArg ProjectionRange(const char* rangeName) ;
111RooCmdArg Name(const char* name) ;
112RooCmdArg Invisible(bool inv=true) ;
113RooCmdArg AddTo(const char* name, double wgtSel=1.0, double wgtOther=1.0) ;
116RooCmdArg VisualizeError(const RooDataSet& paramData, double Z=1) ;
117RooCmdArg VisualizeError(const RooFitResult& fitres, double Z=1, bool linearMethod=true) ;
118RooCmdArg VisualizeError(const RooFitResult& fitres, const RooArgSet& param, double Z=1, bool linearMethod=true) ;
120
121// RooAbsPdf::plotOn arguments
122RooCmdArg Normalization(double scaleFactor, Int_t scaleType) ;
123template<class... Args_t>
124RooCmdArg Components(Args_t &&... argsOrArgSet) {
125 RooCmdArg out{"SelectCompSet",0};
126 out.setSet(0, RooArgSet{std::forward<Args_t>(argsOrArgSet)...});
127 return out;
128}
129RooCmdArg Components(const char* compSpec) ;
130
131// RooAbsData::plotOn arguments
132RooCmdArg Cut(const char* cutSpec) ;
133RooCmdArg Cut(const RooFormulaVar& cutVar) ;
134RooCmdArg Binning(const RooAbsBinning& binning) ;
135RooCmdArg Binning(const char* binningName) ;
136RooCmdArg Binning(int nBins, double xlo=0.0, double xhi=0.0) ;
140RooCmdArg CutRange(const char* rangeName) ;
141RooCmdArg XErrorSize(double width) ;
143RooCmdArg Efficiency(const RooCategory& cat) ;
144RooCmdArg Rescale(double factor) ;
145
146/** @} */
147
148/**
149 * \defgroup ConstructorArgs Arguments for various constructors
150 * @{
151 */
152// RooDataHist::ctor arguments
153RooCmdArg Weight(double wgt) ;
154RooCmdArg Index(RooCategory& icat) ;
155RooCmdArg Import(const char* state, TH1& histo) ;
156RooCmdArg Import(const std::map<std::string,TH1*>&) ;
157RooCmdArg Import(const char* state, RooDataHist& dhist) ;
158RooCmdArg Import(const std::map<std::string,RooDataHist*>&) ;
159RooCmdArg Import(TH1& histo, bool importDensity=false) ;
160
161// RooDataSet::ctor arguments
162RooCmdArg WeightVar(const char* name="weight", bool reinterpretAsWeight=false) ;
163RooCmdArg WeightVar(const RooRealVar& arg, bool reinterpretAsWeight=false) ;
164RooCmdArg Import(const char* state, RooAbsData& data) ;
165RooCmdArg Import(const std::map<std::string,RooDataSet*>& ) ;
166template<class DataPtr_t>
167RooCmdArg Import(std::map<std::string,DataPtr_t> const& map) {
168 RooCmdArg container("ImportDataSliceMany",0,0,0,0,nullptr,nullptr,nullptr,nullptr) ;
169 for (auto const& item : map) {
170 container.addArg(Import(item.first.c_str(), *item.second)) ;
171 }
172 container.setProcessRecArgs(true,false) ;
173 return container ;
174}
175
176RooCmdArg Link(const char* state, RooAbsData& data) ;
177RooCmdArg Link(const std::map<std::string,RooAbsData*>&) ;
179RooCmdArg Import(TTree& tree) ;
180RooCmdArg ImportFromFile(const char* fname, const char* tname) ;
181RooCmdArg StoreError(const RooArgSet& aset) ;
184
185/** @} */
186
187// RooAbsPdf::printLatex arguments
188RooCmdArg Columns(Int_t ncol) ;
189RooCmdArg OutputFile(const char* fileName) ;
190RooCmdArg Format(const char* what, const RooCmdArg& arg1={}, const RooCmdArg& arg2={},
191 const RooCmdArg& arg3={},const RooCmdArg& arg4={},
192 const RooCmdArg& arg5={},const RooCmdArg& arg6={},
193 const RooCmdArg& arg7={},const RooCmdArg& arg8={}) ;
194RooCmdArg Sibling(const RooAbsCollection& sibling) ;
195
196// RooAbsRealLValue::frame arguments
197RooCmdArg Title(const char* name) ;
198RooCmdArg Bins(Int_t nbin) ;
199RooCmdArg AutoSymRange(const RooAbsData& data, double marginFactor=0.1) ;
200RooCmdArg AutoRange(const RooAbsData& data, double marginFactor=0.1) ;
201
202// RooAbsData::createHistogram arguments
203RooCmdArg AutoSymBinning(Int_t nbins=100, double marginFactor=0.1) ;
204RooCmdArg AutoBinning(Int_t nbins=100, double marginFactor=0.1) ;
205
206// RooAbsReal::fillHistogram arguments
208
209// RooAbsData::reduce arguments
210RooCmdArg SelectVars(const RooArgSet& vars) ;
211RooCmdArg EventRange(Int_t nStart, Int_t nStop) ;
212
213
214/**
215 * \defgroup Fitting Arguments for fitting
216 * @{
217 */
218// RooChi2Var::ctor / RooNLLVar arguments
219RooCmdArg Extended(bool flag=true) ;
221RooCmdArg NumCPU(Int_t nCPU, Int_t interleave=0) ;
222RooCmdArg Parallelize(int nWorkers) ;
223RooCmdArg ModularL(bool flag=false) ;
224RooCmdArg TimingAnalysis(bool timingAnalysis) ;
225
226//RooCmdArg BatchMode(std::string const& batchMode="cpu");
227//// The const char * overload is necessary, otherwise the compiler will cast a
228//// C-Style string to a bool and choose the BatchMode(bool) overload if one
229//// calls for example BatchMode("off").
230//inline RooCmdArg BatchMode(const char * batchMode) { return BatchMode(std::string(batchMode)); }
231//inline RooCmdArg BatchMode(bool batchModeOn) { return BatchMode(batchModeOn ? "cpu" : "off"); }
232
233RooCmdArg IntegrateBins(double precision);
234
235// RooAbsPdf::fitTo arguments
236RooCmdArg PrefitDataFraction(double data_ratio = 0.0) ;
237RooCmdArg Optimize(Int_t flag=2) ;
238
239class EvalBackend : public RooCmdArg {
240public:
242
244
245 EvalBackend(std::string const &name);
246
247 static EvalBackend Legacy();
248 static EvalBackend Cpu();
249 static EvalBackend Cuda();
250 static EvalBackend Codegen();
251 static EvalBackend CodegenNoGrad();
252
253 Value value() const { return static_cast<Value>(getInt(0)); }
254
255 bool operator==(EvalBackend const &other) const { return value() == other.value(); }
256
257 bool operator!=(EvalBackend const &other) const { return value() != other.value(); }
258
259 std::string name() const;
260
261 static Value &defaultValue();
262private:
263 static Value toValue(std::string const& name);
264 static std::string toName(Value value);
265};
266
267////////////////////////////////////////////////////////////////////////////////
268/// Create a RooCmdArg to declare conditional observables.
269/// \param[in] argsOrArgSet Can either be one or more RooRealVar with the
270// observables or a single RooArgSet containing them.
271template<class... Args_t>
272RooCmdArg ConditionalObservables(Args_t &&... argsOrArgSet) {
273 RooCmdArg out{"ProjectedObservables",0};
274 out.setSet(0, RooArgSet{std::forward<Args_t>(argsOrArgSet)...});
275 return out;
276}
277
278// obsolete, for backward compatibility
279template<class... Args_t>
280RooCmdArg ProjectedObservables(Args_t &&... argsOrArgSet) {
281 return ConditionalObservables(std::forward<Args_t>(argsOrArgSet)...);
282}
283
284RooCmdArg Verbose(bool flag=true) ;
285RooCmdArg Save(bool flag=true) ;
286RooCmdArg Timer(bool flag=true) ;
288RooCmdArg Warnings(bool flag=true) ;
290RooCmdArg InitialHesse(bool flag=true) ;
291RooCmdArg Hesse(bool flag=true) ;
292RooCmdArg Minos(bool flag=true) ;
293RooCmdArg Minos(const RooArgSet& minosArgs) ;
294RooCmdArg SplitRange(bool flag=true) ;
295RooCmdArg SumCoefRange(const char* rangeName) ;
296RooCmdArg Constrain(const RooArgSet& params) ;
297RooCmdArg MaxCalls(int n) ;
298
299template<class... Args_t>
300RooCmdArg GlobalObservables(Args_t &&... argsOrArgSet) {
301 RooCmdArg out{"GlobalObservables",0};
302 out.setSet(0, RooArgSet{std::forward<Args_t>(argsOrArgSet)...});
303 return out;
304}
305RooCmdArg GlobalObservablesSource(const char* sourceName);
306RooCmdArg GlobalObservablesTag(const char* tagName) ;
307RooCmdArg ExternalConstraints(const RooArgSet& constraintPdfs) ;
309RooCmdArg EvalErrorWall(bool flag) ;
310RooCmdArg SumW2Error(bool flag) ;
311RooCmdArg AsymptoticError(bool flag) ;
312RooCmdArg CloneData(bool flag) ;
313RooCmdArg Integrate(bool flag) ;
314RooCmdArg Minimizer(const char* type, const char* alg=nullptr) ;
315RooCmdArg Offset(std::string const& mode);
316// The const char * overload is necessary, otherwise the compiler will cast a
317// C-Style string to a bool and choose the Offset(bool) overload if one
318// calls for example Offset("off").
319inline RooCmdArg Offset(const char * mode) { return Offset(std::string(mode)); }
320// For backwards compatibility
321inline RooCmdArg Offset(bool flag=true) { return flag ? Offset("initial") : Offset("off"); }
323/** @} */
324
325// RooAbsPdf::paramOn arguments
326RooCmdArg Label(const char* str) ;
327RooCmdArg Layout(double xmin, double xmax=0.99, double ymin=0.95) ;
328RooCmdArg Parameters(const RooArgSet& params) ;
329RooCmdArg ShowConstants(bool flag=true) ;
330
331// RooTreeData::statOn arguments
332RooCmdArg What(const char* str) ;
333
334// RooProdPdf::ctor arguments
335RooCmdArg Conditional(const RooArgSet& pdfSet, const RooArgSet& depSet, bool depsAreCond=false) ;
336
337/**
338 * \defgroup Generating Arguments for generating data
339 * @{
340 */
341// RooAbsPdf::generate arguments
342RooCmdArg ProtoData(const RooDataSet& protoData, bool randomizeOrder=false, bool resample=false) ;
343RooCmdArg NumEvents(Int_t numEvents) ;
344RooCmdArg NumEvents(double numEvents) ;
345RooCmdArg AutoBinned(bool flag=true) ;
346RooCmdArg GenBinned(const char* tag) ;
348RooCmdArg ExpectedData(bool flag=true) ;
349RooCmdArg Asimov(bool flag=true) ;
350
351/** @} */
352
353// RooAbsRealLValue::createHistogram arguments
354RooCmdArg YVar(const RooAbsRealLValue& var, const RooCmdArg& arg={}) ;
355RooCmdArg ZVar(const RooAbsRealLValue& var, const RooCmdArg& arg={}) ;
356RooCmdArg AxisLabel(const char* name) ;
357RooCmdArg Scaling(bool flag) ;
358
359
360// RooAbsReal::createHistogram arguments
361RooCmdArg IntrinsicBinning(bool flag=true) ;
362
363// RooAbsReal::createIntegral arguments
364template<class... Args_t>
365RooCmdArg NormSet(Args_t &&... argsOrArgSet) {
366 RooCmdArg out{"NormSet",0};
367 out.setSet(0, RooArgSet{std::forward<Args_t>(argsOrArgSet)...});
368 return out;
369}
371
372// RooMCStudy::ctor arguments
373RooCmdArg Silence(bool flag=true) ;
375RooCmdArg FitOptions(const RooCmdArg& arg1 ,const RooCmdArg& arg2={},
376 const RooCmdArg& arg3={},const RooCmdArg& arg4={},
377 const RooCmdArg& arg5={},const RooCmdArg& arg6={}) ;
378RooCmdArg Binned(bool flag=true) ;
379
380// RooMCStudy::plot* arguments
381RooCmdArg Frame(const RooCmdArg& arg1 ,const RooCmdArg& arg2={},
382 const RooCmdArg& arg3={},const RooCmdArg& arg4={},
383 const RooCmdArg& arg5={},const RooCmdArg& arg6={}) ;
385RooCmdArg FrameRange(double xlo, double xhi) ;
386RooCmdArg FitGauss(bool flag=true) ;
387
388// RooRealVar::format arguments
389RooCmdArg AutoPrecision(Int_t ndigit=2) ;
391RooCmdArg TLatexStyle(bool flag=true) ;
392RooCmdArg LatexStyle(bool flag=true) ;
393RooCmdArg LatexTableStyle(bool flag=true) ;
394RooCmdArg VerbatimName(bool flag=true) ;
395
396// RooMsgService::addReportingStream arguments
397RooCmdArg Topic(Int_t topic) ;
398RooCmdArg ObjectName(const char* name) ;
399RooCmdArg ClassName(const char* name) ;
400RooCmdArg BaseClassName(const char* name) ;
401RooCmdArg TagName(const char* name) ;
402RooCmdArg OutputStream(std::ostream& os) ;
403RooCmdArg Prefix(bool flag) ;
404RooCmdArg Color(Color_t color) ;
405
406// RooWorkspace::import() arguments
407RooCmdArg RenameConflictNodes(const char* suffix, bool renameOrigNodes=false) ;
408RooCmdArg RenameAllNodes(const char* suffix) ;
409RooCmdArg RenameAllVariables(const char* suffix) ;
410RooCmdArg RenameAllVariablesExcept(const char* suffix,const char* exceptionList) ;
411RooCmdArg RenameVariable(const char* inputName, const char* outputName) ;
412RooCmdArg Rename(const char* suffix) ;
413RooCmdArg RecycleConflictNodes(bool flag=true) ;
414RooCmdArg Embedded(bool flag=true) ;
415RooCmdArg NoRecursion(bool flag=true) ;
416
417// RooSimCloneTool::build() arguments
418RooCmdArg SplitParam(const char* varname, const char* catname) ;
419RooCmdArg SplitParam(const RooRealVar& var, const RooAbsCategory& cat) ;
420RooCmdArg SplitParamConstrained(const char* varname, const char* catname, const char* rsname) ;
421RooCmdArg SplitParamConstrained(const RooRealVar& var, const RooAbsCategory& cat, const char* rsname) ;
422RooCmdArg Restrict(const char* catName, const char* stateNameList) ;
423
424// RooAbsPdf::createCdf() arguments
425RooCmdArg SupNormSet(const RooArgSet& nset) ;
426RooCmdArg ScanParameters(Int_t nbins,Int_t intOrder) ;
430
431// Generic container arguments (to be able to supply more command line arguments)
432RooCmdArg MultiArg(const RooCmdArg& arg1, const RooCmdArg& arg2,
433 const RooCmdArg& arg3={},const RooCmdArg& arg4={},
434 const RooCmdArg& arg5={},const RooCmdArg& arg6={},
435 const RooCmdArg& arg7={},const RooCmdArg& arg8={}) ;
436
437RooConstVar& RooConst(double val) ;
438
439// End group CmdArgs:
440/**
441 * @}
442 */
443
444namespace Detail {
445
446// Function to pack an arbitrary number of RooCmdArgs into a RooLinkedList. Implementation detail of many high-level RooFit functions.
447template <typename... Args>
448inline std::unique_ptr<RooLinkedList> createCmdList(RooCmdArg const* arg1, Args &&...args)
449{
450 auto cmdList = std::make_unique<RooLinkedList>();
451 for (auto &arg : {arg1, static_cast<RooCmdArg const *>(args)...}) {
452 cmdList->Add(const_cast<RooCmdArg *>(arg));
453 }
454 return cmdList;
455}
456
457inline std::unique_ptr<RooLinkedList> createCmdList()
458{
459 return std::make_unique<RooLinkedList>();
460}
461
462inline std::unique_ptr<RooLinkedList> createCmdList(RooLinkedList const *cmdList)
463{
464 auto cmdListCopy = std::make_unique<RooLinkedList>();
465 for (auto *arg : *cmdList) {
466 cmdListCopy->Add(arg);
467 }
468 return cmdListCopy;
469}
470
471// RooFit-internal helper struct to build a map object that only uses
472// std::vector, which can be implicitly converted to std::map in C++. Used to
473// avoid std::map in pythonizations.
474template <class Key_t, class Val_t>
475struct FlatMap {
476 std::vector<Key_t> keys;
477 std::vector<Val_t> vals;
478};
479
480template <class Key_t, class Val_t>
482 std::map<Key_t, Val_t> out;
483 for (std::size_t i = 0; i < flatMap.keys.size(); ++i) {
484 out[flatMap.keys[i]] = flatMap.vals[i];
485 }
486 return out;
487}
488
489// Internal variant of Slice(), Import(), and Link(), that take flat maps instad of std::map.
490RooCmdArg SliceFlatMap(FlatMap<RooCategory *, std::string> const &args);
491RooCmdArg ImportFlatMap(FlatMap<std::string, RooDataHist *> const &args);
492RooCmdArg ImportFlatMap(FlatMap<std::string, TH1 *> const &args);
493RooCmdArg ImportFlatMap(FlatMap<std::string, RooDataSet *> const &args);
494RooCmdArg LinkFlatMap(FlatMap<std::string, RooAbsData *> const &args);
495
496} // namespace Detail
497
498} // namespace RooFit
499
500namespace RooFitShortHand {
501
502RooConstVar& C(double value);
503
504} // namespace RooFitShortHand
505
506#endif
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
short Style_t
Definition RtypesCore.h:89
short Color_t
Definition RtypesCore.h:92
float Size_t
Definition RtypesCore.h:96
short Width_t
Definition RtypesCore.h:91
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:55
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:86
void setProcessRecArgs(bool flag, bool prefix=true)
Definition RooCmdArg.h:45
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:57
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 MarkerColor(Color_t color)
RooCmdArg RefreshNorm()
RooCmdArg Components(Args_t &&... argsOrArgSet)
RooCmdArg ProjectionRange(const char *rangeName)
RooCmdArg FillColor(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 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 Efficiency(const RooCategory &cat)
RooCmdArg LineColor(Color_t color)
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