Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooGlobalFunc.cxx
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * @(#)root/roofitcore:$Id$
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
17// Global helper functions
18
19#include <RooGlobalFunc.h>
20
21#include <RooAbsPdf.h>
22#include <RooCategory.h>
23#include <RooDataHist.h>
24#include <RooDataSet.h>
25#include <RooFitResult.h>
26#include <RooFormulaVar.h>
27#include <RooHelpers.h>
28#include <RooMsgService.h>
29#include <RooNumIntConfig.h>
30#include <RooRealConstant.h>
31#include <RooRealVar.h>
32
33#include <TColor.h>
34#include <TH1.h>
35#include <TInterpreter.h>
36
37#include <algorithm>
38
39namespace RooFit {
40
41// anonymous namespace for helper functions for the implementation of the global functions
42namespace {
43
44template <class T>
45RooCmdArg processImportItem(std::string const &key, T *val)
46{
47 return Import(key.c_str(), *val);
48}
49
50template <class T>
51RooCmdArg processLinkItem(std::string const &key, T *val)
52{
53 return Link(key.c_str(), *val);
54}
55
56RooCmdArg processSliceItem(RooCategory *key, std::string const &val)
57{
58 return Slice(*key, val.c_str());
59}
60
61template <class Key_t, class Val_t, class Func_t>
62RooCmdArg processMap(const char *name, Func_t func, std::map<Key_t, Val_t> const &map)
63{
64 RooCmdArg container(name, 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
65 for (auto const &item : map) {
66 container.addArg(func(item.first, item.second));
67 }
68 container.setProcessRecArgs(true, false);
69 return container;
70}
71
72template <class Key_t, class Val_t, class Func_t>
73RooCmdArg processFlatMap(const char *name, Func_t func, Detail::FlatMap<Key_t, Val_t> const &map)
74{
75 RooCmdArg container(name, 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
76 for (std::size_t i = 0; i < map.keys.size(); ++i) {
77 container.addArg(func(map.keys[i], map.vals[i]));
78 }
79 container.setProcessRecArgs(true, false);
80 return container;
81}
82
83int interpretString(std::string const &s)
84{
85 return gInterpreter->ProcessLine(s.c_str());
86}
87
88Color_t interpretColorString(std::string const &color)
89{
90 using Map = std::unordered_map<std::string, Color_t>;
91 // Color dictionary to define matplotlib conventions
92 static Map colorMap{{"r", kRed}, {"b", kBlue}, {"g", kGreen}, {"y", kYellow},
93 {"w", kWhite}, {"k", kBlack}, {"m", kMagenta}, {"c", kCyan}};
94 auto found = colorMap.find(color);
95 if (found != colorMap.end())
96 return found->second;
97 // Lookup color from static color map otherwise
98 return TColor::GetColorByName(color.c_str());
99}
100
101Style_t interpretLineStyleString(std::string const &style)
102{
103 using Map = std::unordered_map<std::string, Style_t>;
104 // Style dictionary to define matplotlib conventions
105 static Map styleMap{{"-", kSolid}, {"--", kDashed}, {":", kDotted}, {"-.", kDashDotted}};
106 auto found = styleMap.find(style);
107 if (found != styleMap.end())
108 return found->second;
109 // Use interpreter if style was not matched in the style map
110 return gInterpreter->ProcessLine(style.c_str());
111}
112
113} // namespace
114
115namespace Experimental {
116
118{
119 return RooCmdArg("ParallelGradientOptions", enable, chainFactor, orderStrategy, 0, nullptr, nullptr, nullptr,
120 nullptr);
121}
123{
124 return RooCmdArg("ParallelDescentOptions", enable, numSplits, splitStrategy, 0, nullptr, nullptr, nullptr, nullptr);
125}
126
127} // namespace Experimental
128
129// RooAbsReal::plotOn arguments
130RooCmdArg DrawOption(const char *opt)
131{
132 return RooCmdArg("DrawOption", 0, 0, 0, 0, opt, nullptr, nullptr, nullptr);
133}
135{
136 RooCmdArg out{"SliceVars", 0};
137 out.setSet(0, sliceSet);
138 return out;
139}
141{
142 // We don't support adding multiple slices for a single category by
143 // concatenating labels with a comma. Users were trying to do that, and were
144 // surprised it did not work. So we explicitly check if there is a comma,
145 // and if there is, we will give some helpful advice on how to get to the
146 // desired plot.
147 std::string lbl{label};
148 if (lbl.find(',') != std::string::npos) {
149 std::stringstream errorMsg;
150 errorMsg << "RooFit::Slice(): you tried to pass a comma-separated list of state labels \"" << label
151 << "\" for a given category, but selecting multiple slices like this is not supported!"
152 << " If you want to make a plot of multiple slices, use the ProjWData() command where you pass a "
153 "dataset that includes "
154 "the desired slices. If the slices are a subset of all slices, then you can create such a dataset "
155 "with RooAbsData::reduce(RooFit::Cut(\"cat==cat::label_1 || cat==cat::label_2 || ...\")). You can "
156 "find some examples in the rf501_simultaneouspdf tutorial.";
157 oocoutE(nullptr, InputArguments) << errorMsg.str() << std::endl;
158 throw std::invalid_argument(errorMsg.str().c_str());
159 }
160 return RooCmdArg("SliceCat", 0, 0, 0, 0, label, nullptr, &cat, nullptr);
161}
162RooCmdArg Slice(std::map<RooCategory *, std::string> const &arg)
163{
164 return processMap("SliceCatMany", processSliceItem, arg);
165}
166
168{
169 RooCmdArg out{"Project", 0};
170 out.setSet(0, projSet);
171 return out;
172}
173RooCmdArg ProjWData(const RooArgSet &projSet, const RooAbsData &projData, bool binData)
174{
175 RooCmdArg out{"ProjData", binData, 0, 0, 0, nullptr, nullptr, nullptr, &projData};
176 out.setSet(0, projSet);
177 return out;
178}
179RooCmdArg ProjWData(const RooAbsData &projData, bool binData)
180{
181 return RooCmdArg("ProjData", binData, 0, 0, 0, nullptr, nullptr, nullptr, &projData);
182}
184{
185 return RooCmdArg("Asymmetry", 0, 0, 0, 0, nullptr, nullptr, &cat, nullptr);
186}
188{
189 return RooCmdArg("Precision", 0, 0, prec, 0, nullptr, nullptr, nullptr, nullptr);
190}
192{
193 return RooCmdArg("ShiftToZero", 1);
194}
195RooCmdArg Normalization(double scaleFactor)
196{
197 return RooCmdArg("Normalization", RooAbsReal::Relative, 0, scaleFactor, 0, nullptr, nullptr, nullptr, nullptr);
198}
199RooCmdArg Range(const char *rangeName, bool adjustNorm)
200{
201 return RooCmdArg("RangeWithName", adjustNorm, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
202}
203RooCmdArg Range(double lo, double hi, bool adjustNorm)
204{
205 return RooCmdArg("Range", adjustNorm, 0, lo, hi, nullptr, nullptr, nullptr, nullptr);
206}
208{
209 return RooCmdArg("NormRange", 0, 0, 0, 0, rangeNameList, nullptr, nullptr, nullptr);
210}
212{
213 return RooCmdArg("VLines", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
214}
216{
217 return RooCmdArg("LineColor", color);
218}
219
220/// The `color` string argument argument will be evaluated with the ROOT
221/// interpreter to get the actual ROOT color enum value, like `ROOT.kRed`.
222/// Here is what you can do with it:
223///
224/// 1. Pass a string with the enum value name instead, e.g.:
225/// ~~~ {.cxx}
226/// pdf.plotOn(frame, LineColor("kRed"))
227/// ~~~
228/// 2. Pass a string with the corresponding single-character color code following the matplotlib convention:
229/// ~~~ {.cxx}
230/// pdf.plotOn(frame, LineColor("r"))
231/// ~~~
232/// 3. Pass a string with the enum value name instead followed by some manipulation of the enum value:
233/// ~~~ {.cxx}
234/// pdf.plotOn(frame, LineColor("kRed+1"))
235/// ~~~
236RooCmdArg LineColor(std::string const &color)
237{
238 return LineColor(interpretColorString(color));
239}
241{
242 return RooCmdArg("LineStyle", style);
243}
244RooCmdArg LineStyle(std::string const &style)
245{
247}
249{
250 return RooCmdArg("LineWidth", width);
251}
253{
254 return RooCmdArg("FillColor", color);
255}
256RooCmdArg FillColor(std::string const &color)
257{
258 return RooCmdArg("FillColor", interpretColorString(color));
259}
261{
262 return RooCmdArg("FillStyle", style);
263}
264RooCmdArg FillStyle(std::string const &style)
265{
267}
268RooCmdArg ProjectionRange(const char *rangeName)
269{
270 return RooCmdArg("ProjectionRange", 0, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
271}
272RooCmdArg Name(const char *name)
273{
274 return RooCmdArg("Name", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
275}
277{
278 return RooCmdArg("Invisible", inv, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
279}
280RooCmdArg AddTo(const char *name, double wgtSel, double wgtOther)
281{
282 return RooCmdArg("AddTo", 0, 0, wgtSel, wgtOther, name, nullptr, nullptr, nullptr);
283}
285{
286 return RooCmdArg("EvalErrorValue", 1, 0, val, 0, nullptr, nullptr, nullptr, nullptr);
287}
289{
290 return RooCmdArg("MoveToBack", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
291}
293{
294 return RooCmdArg("VisualizeError", EVmethod, 0, Z, 0, nullptr, nullptr, &fitres, nullptr);
295}
296RooCmdArg VisualizeError(const RooFitResult &fitres, const RooArgSet &param, double Z, bool EVmethod)
297{
298 return RooCmdArg("VisualizeError", EVmethod, 0, Z, 0, nullptr, nullptr, &fitres, nullptr, nullptr, nullptr, &param);
299}
301{
302 return RooCmdArg("VisualizeErrorData", 0, 0, Z, 0, nullptr, nullptr, &paramData, nullptr);
303}
305{
306 return RooCmdArg("ShowProgress", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
307}
308
309// RooAbsPdf::plotOn arguments
311{
312 return RooCmdArg("SelectCompSpec", 0, 0, 0, 0, compSpec, nullptr, nullptr, nullptr);
313}
315{
316 return RooCmdArg("Normalization", scaleType, 0, scaleFactor, 0, nullptr, nullptr, nullptr, nullptr);
317}
318
319// RooAbsData::plotOn arguments
321{
322 return RooCmdArg("CutSpec", 0, 0, 0, 0, cutSpec, nullptr, nullptr, nullptr);
323}
325{
326 return RooCmdArg("CutVar", 0, 0, 0, 0, nullptr, nullptr, &cutVar, nullptr);
327}
329{
330 return RooCmdArg("Binning", 0, 0, 0, 0, nullptr, nullptr, &binning, nullptr);
331}
332RooCmdArg Binning(const char *binningName)
333{
334 return RooCmdArg("BinningName", 0, 0, 0, 0, binningName, nullptr, nullptr, nullptr);
335}
336RooCmdArg Binning(int nBins, double xlo, double xhi)
337{
338 return RooCmdArg("BinningSpec", nBins, 0, xlo, xhi, nullptr, nullptr, nullptr, nullptr);
339}
341{
342 return RooCmdArg("MarkerStyle", style, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
343}
344RooCmdArg MarkerStyle(std::string const &color)
345{
346 return MarkerStyle(interpretString(color));
347}
349{
350 return RooCmdArg("MarkerSize", 0, 0, size, 0, nullptr, nullptr, nullptr, nullptr);
351}
353{
354 return RooCmdArg("MarkerColor", color, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
355}
356RooCmdArg MarkerColor(std::string const &color)
357{
358 return MarkerColor(interpretColorString(color));
359}
360RooCmdArg CutRange(const char *rangeName)
361{
362 return RooCmdArg("CutRange", 0, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
363}
365{
366 return RooCmdArg("XErrorSize", 0, 0, width, 0, nullptr, nullptr, nullptr, nullptr);
367}
369{
370 return RooCmdArg("RefreshNorm", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
371}
373{
374 return RooCmdArg("Efficiency", 0, 0, 0, 0, nullptr, nullptr, &cat, nullptr);
375}
376RooCmdArg Rescale(double factor)
377{
378 return RooCmdArg("Rescale", 0, 0, factor, 0, nullptr, nullptr, nullptr, nullptr);
379}
380
381// RooDataHist::ctor arguments
383{
384 return RooCmdArg("Weight", 0, 0, wgt, 0, nullptr, nullptr, nullptr, nullptr);
385}
387{
388 return RooCmdArg("IndexCat", 0, 0, 0, 0, nullptr, nullptr, &icat, nullptr);
389}
390RooCmdArg Import(const char *state, TH1 &histo)
391{
392 return RooCmdArg("ImportDataSlice", 0, 0, 0, 0, state, nullptr, &histo, nullptr);
393}
394RooCmdArg Import(const char *state, RooDataHist &dhist)
395{
396 return RooCmdArg("ImportDataSlice", 0, 0, 0, 0, state, nullptr, &dhist, nullptr);
397}
399{
400 return RooCmdArg("ImportHisto", importDensity, 0, 0, 0, nullptr, nullptr, &histo, nullptr);
401}
402
403RooCmdArg Import(const std::map<std::string, RooDataHist *> &arg)
404{
405 return processMap("ImportDataSliceMany", processImportItem<RooDataHist>, arg);
406}
407RooCmdArg Import(const std::map<std::string, TH1 *> &arg)
408{
409 return processMap("ImportDataSliceMany", processImportItem<TH1>, arg);
410}
411
412// RooDataSet::ctor arguments
414{
415 if (name == nullptr)
416 return RooCmdArg::none(); // Passing a nullptr name means no weight variable
417 return RooCmdArg("WeightVarName", reinterpretAsWeight, 0, 0, 0, name, nullptr, nullptr, nullptr);
418}
420{
421 return RooCmdArg("WeightVar", reinterpretAsWeight, 0, 0, 0, nullptr, nullptr, &arg, nullptr);
422}
423RooCmdArg Link(const char *state, RooAbsData &data)
424{
425 return RooCmdArg("LinkDataSlice", 0, 0, 0, 0, state, nullptr, &data, nullptr);
426}
427RooCmdArg Import(const char *state, RooAbsData &data)
428{
429 return RooCmdArg("ImportDataSlice", 0, 0, 0, 0, state, nullptr, &data, nullptr);
430}
432{
433 return RooCmdArg("ImportData", 0, 0, 0, 0, nullptr, nullptr, &data, nullptr);
434}
436{
437 return RooCmdArg("ImportTree", 0, 0, 0, 0, nullptr, nullptr, reinterpret_cast<TObject *>(&tree), nullptr);
438}
439RooCmdArg ImportFromFile(const char *fname, const char *tname)
440{
441 return RooCmdArg("ImportFromFile", 0, 0, 0, 0, fname, tname, nullptr, nullptr);
442}
444{
445 return RooCmdArg("StoreError", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &aset);
446}
448{
449 return RooCmdArg("StoreAsymError", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &aset);
450}
452{
453 return RooCmdArg("OwnLinked", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr);
454}
455
456RooCmdArg Import(const std::map<std::string, RooDataSet *> &arg)
457{
458 return processMap("ImportDataSliceMany", processImportItem<RooDataSet>, arg);
459}
460RooCmdArg Link(const std::map<std::string, RooAbsData *> &arg)
461{
462 return processMap("LinkDataSliceMany", processLinkItem<RooAbsData>, arg);
463}
464
465// RooChi2Var::ctor / RooNLLVar arguments
467{
468 return RooCmdArg("Extended", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
469}
471{
472 return RooCmdArg("DataError", (Int_t)etype, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
473}
474RooCmdArg NumCPU(Int_t nCPU, Int_t interleave)
475{
476 return RooCmdArg("NumCPU", nCPU, interleave, 0, 0, nullptr, nullptr, nullptr, nullptr);
477}
479{
480 return RooCmdArg("ModularL", flag, 0, 0, 0, nullptr, nullptr, nullptr);
481}
483{
484 return RooCmdArg("Parallelize", nWorkers, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
485}
487{
488 return RooCmdArg("TimingAnalysis", flag, 0, 0, 0, nullptr, nullptr, nullptr);
489}
490RooCmdArg BatchMode(std::string const &batchMode)
491{
492 oocoutW(nullptr, InputArguments)
493 << "The BatchMode() command argument is deprecated. Please use EvalBackend() instead." << std::endl;
494 std::string lower = batchMode;
495 std::transform(lower.begin(), lower.end(), lower.begin(), [](unsigned char c) { return std::tolower(c); });
496 if (lower == "off") {
497 return EvalBackend::Legacy();
498 } else if (lower == "cpu") {
499 return EvalBackend::Cpu();
500 } else if (lower == "cuda") {
501 return EvalBackend::Cuda();
502 }
503 throw std::runtime_error("Only supported string values for BatchMode() are \"off\", \"cpu\", or \"cuda\".");
504}
505/// Integrate the PDF over bins. Improves accuracy for binned fits. Switch off using `0.` as argument. \see
506/// RooAbsPdf::fitTo().
507RooCmdArg IntegrateBins(double precision)
508{
509 return RooCmdArg("IntegrateBins", 0, 0, precision);
510}
511
512// RooAbsCollection::printLatex arguments
514{
515 return RooCmdArg("Columns", ncol, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
516}
517RooCmdArg OutputFile(const char *fileName)
518{
519 return RooCmdArg("OutputFile", 0, 0, 0, 0, fileName, nullptr, nullptr, nullptr);
520}
522{
523 return RooCmdArg("Sibling", 0, 0, 0, 0, nullptr, nullptr, &sibling, nullptr);
524}
525RooCmdArg Format(const char *what, const RooCmdArg &arg1, const RooCmdArg &arg2, const RooCmdArg &arg3,
526 const RooCmdArg &arg4, const RooCmdArg &arg5, const RooCmdArg &arg6, const RooCmdArg &arg7,
527 const RooCmdArg &arg8)
528{
529 RooCmdArg ret("FormatArgs", 0, 0, 0, 0, what, nullptr, nullptr, nullptr);
530 ret.addArg(arg1);
531 ret.addArg(arg2);
532 ret.addArg(arg3);
533 ret.addArg(arg4);
534 ret.addArg(arg5);
535 ret.addArg(arg6);
536 ret.addArg(arg7);
537 ret.addArg(arg8);
538 ret.setProcessRecArgs(false);
539 return ret;
540}
541
542// RooAbsRealLValue::frame arguments
543RooCmdArg Title(const char *name)
544{
545 return RooCmdArg("Title", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
546}
548{
549 return RooCmdArg("Bins", nbin, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
550}
552{
553 return RooCmdArg("AutoRange", 1, 0, marginFactor, 0, nullptr, nullptr, &data, nullptr);
554}
556{
557 return RooCmdArg("AutoRange", 0, 0, marginFactor, 0, nullptr, nullptr, &data, nullptr);
558}
559
560// RooAbsData::reduce arguments
562{
563 RooCmdArg out{"SelectVars", 0};
564 out.setSet(0, vars);
565 return out;
566}
568{
569 return RooCmdArg("EventRange", nStart, nStop, 0, 0, nullptr, nullptr, nullptr, nullptr);
570}
571
572// RooAbsPdf::fitTo arguments
573
575EvalBackend::EvalBackend(std::string const &name) : EvalBackend{toValue(name)} {}
577{
578 std::string lower = name;
579 std::transform(lower.begin(), lower.end(), lower.begin(), [](unsigned char c) { return std::tolower(c); });
580 if (lower == toName(Value::Legacy))
581 return Value::Legacy;
582 if (lower == toName(Value::Cpu))
583 return Value::Cpu;
584 if (lower == toName(Value::Cuda))
585 return Value::Cuda;
587 return Value::Codegen;
590 throw std::runtime_error("Only supported string values for EvalBackend() are \"legacy\", \"cpu\", \"cuda\", "
591 "\"codegen\", or \"codegen_no_grad\".");
592}
613std::string EvalBackend::name() const
614{
615 return toName(value());
616}
618{
619 if (value == Value::Legacy)
620 return "legacy";
621 if (value == Value::Cpu)
622 return "cpu";
623 if (value == Value::Cuda)
624 return "cuda";
625 if (value == Value::Codegen)
626 return "codegen";
628 return "codegen_no_grad";
629 return "";
630}
636
638{
639 return RooCmdArg("Prefit", 0, 0, data_ratio, 0, nullptr, nullptr, nullptr, nullptr);
640}
642{
643 return RooCmdArg("Optimize", flag);
644}
646{
647 return RooCmdArg("Verbose", flag);
648}
650{
651 return RooCmdArg("Save", flag);
652}
654{
655 return RooCmdArg("Timer", flag);
656}
658{
659 return RooCmdArg("PrintLevel", level);
660}
662{
663 return RooCmdArg("MaxCalls", n);
664}
666{
667 return RooCmdArg("Warnings", flag);
668}
670{
671 return RooCmdArg("Strategy", code);
672}
674{
675 return RooCmdArg("InitialHesse", flag);
676}
678{
679 return RooCmdArg("Hesse", flag);
680}
682{
683 return RooCmdArg("Minos", flag);
684}
686{
687 RooCmdArg out{"Minos", 1};
688 out.setSet(0, minosArgs);
689 return out;
690}
692{
693 return RooCmdArg("SplitRange", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
694}
695RooCmdArg SumCoefRange(const char *rangeName)
696{
697 return RooCmdArg("SumCoefRange", 0, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
698}
700{
701 for (RooAbsArg *param : params) {
702 if (!dynamic_cast<RooRealVar *>(param)) {
703 std::stringstream errorMsg;
704 errorMsg << "RooFit::Constrain(): you passed the argument \"" << param->GetName()
705 << "\", but it's not a RooRealVar!"
706 << " You can only constrain parameters, which must be RooRealVars.";
707 oocoutE(nullptr, InputArguments) << errorMsg.str() << std::endl;
708 throw std::invalid_argument(errorMsg.str().c_str());
709 }
710 }
711 return RooCmdArg("Constrain", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &params);
712}
714{
715 return {"GlobalObservablesSource", 0, 0, 0, 0, sourceName, nullptr, nullptr, nullptr};
716}
717RooCmdArg GlobalObservablesTag(const char *tagName)
718{
719 return RooCmdArg("GlobalObservablesTag", 0, 0, 0, 0, tagName, nullptr, nullptr, nullptr);
720}
722{
723 return RooCmdArg("ExternalConstraints", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &cpdfs);
724}
726{
727 return RooCmdArg("PrintEvalErrors", numErrors, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
728}
730{
731 return RooCmdArg("EvalErrorWall", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
732}
734{
735 return RooCmdArg("SumW2Error", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
736}
738{
739 return RooCmdArg("AsymptoticError", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
740}
742{
743 oocoutI(nullptr, InputArguments) << "The deprecated RooFit::CloneData(" << flag
744 << ") option passed to createNLL() is ignored." << std::endl;
745 return RooCmdArg("CloneData", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
746}
748{
749 return RooCmdArg("Integrate", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
750}
751RooCmdArg Minimizer(const char *type, const char *alg)
752{
753 return RooCmdArg("Minimizer", 0, 0, 0, 0, type, alg, nullptr, nullptr);
754}
755
756RooCmdArg Offset(std::string const &mode)
757{
758 std::string lower = mode;
759 std::transform(lower.begin(), lower.end(), lower.begin(), [](unsigned char c) { return std::tolower(c); });
761 if (lower == "none") {
763 } else if (lower == "initial") {
765 } else if (lower == "bin") {
767 }
768 return RooCmdArg("OffsetLikelihood", static_cast<int>(modeVal));
769}
770
771/// When parameters are chosen such that a PDF is undefined, try to indicate to the minimiser how to leave this region.
772/// \param strength Strength of hints for minimiser. Set to zero to switch off.
774{
775 return RooCmdArg("RecoverFromUndefinedRegions", 0, 0, strength, 0, nullptr, nullptr, nullptr, nullptr);
776}
777
778// RooAbsPdf::paramOn arguments
779RooCmdArg Label(const char *str)
780{
781 return RooCmdArg("Label", 0, 0, 0, 0, str, nullptr, nullptr, nullptr);
782}
783RooCmdArg Layout(double xmin, double xmax, double ymin)
784{
785 return RooCmdArg("Layout", Int_t(ymin * 10000), 0, xmin, xmax, nullptr, nullptr, nullptr, nullptr);
786}
788{
789 RooCmdArg out{"Parameters", 0};
790 out.setSet(0, params);
791 return out;
792}
794{
795 return RooCmdArg("ShowConstants", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
796}
797
798// RooTreeData::statOn arguments
799RooCmdArg What(const char *str)
800{
801 return RooCmdArg("What", 0, 0, 0, 0, str, nullptr, nullptr, nullptr);
802}
803
804// RooProdPdf::ctor arguments
806{
807 return RooCmdArg("Conditional", depsAreCond, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &pdfSet,
808 &depSet);
809};
810
811// RooAbsPdf::generate arguments
813{
814 return RooCmdArg("PrototypeData", randomizeOrder, resample, 0, 0, nullptr, nullptr, &protoData, nullptr);
815}
817{
818 return RooCmdArg("NumEvents", numEvents, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
819}
821{
822 return RooCmdArg("NumEventsD", 0, 0, numEvents, 0, nullptr, nullptr, nullptr, nullptr);
823}
825{
826 return RooCmdArg("ExpectedData", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
827}
829{
830 return ExpectedData(flag);
831}
833{
834 return RooCmdArg("AutoBinned", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
835}
836RooCmdArg GenBinned(const char *tag)
837{
838 return RooCmdArg("GenBinned", 0, 0, 0, 0, tag, nullptr, nullptr, nullptr);
839}
841{
842 return RooCmdArg("GenBinned", 0, 0, 0, 0, "*", nullptr, nullptr, nullptr);
843}
844
845// RooAbsRealLValue::createHistogram arguments
847{
848 return RooCmdArg("YVar", 0, 0, 0, 0, nullptr, nullptr, &var, nullptr, &arg);
849}
851{
852 return RooCmdArg("ZVar", 0, 0, 0, 0, nullptr, nullptr, &var, nullptr, &arg);
853}
855{
856 return RooCmdArg("AxisLabel", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
857}
859{
860 return RooCmdArg("Scaling", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
861}
862
863// RooAbsReal::createHistogram arguments
865{
866 return RooCmdArg("IntrinsicBinning", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
867}
868
869// RooAbsData::createHistogram arguments
871{
872 return RooCmdArg("AutoRangeData", 1, nbins, marginFactor, 0, nullptr, nullptr, nullptr, nullptr);
873}
875{
876 return RooCmdArg("AutoRangeData", 0, nbins, marginFactor, 0, nullptr, nullptr, nullptr, nullptr);
877}
878
879// RooAbsReal::fillHistogram arguments
881{
882 return RooCmdArg("IntObs", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &intObs, nullptr);
883};
884
885// RooAbsReal::createIntegral arguments
887{
888 return RooCmdArg("NumIntConfig", 0, 0, 0, 0, nullptr, nullptr, &cfg, nullptr);
889}
890
891// RooMCStudy::ctor arguments
893{
894 return RooCmdArg("Silence", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
895}
897{
898 return RooCmdArg("FitModel", 0, 0, 0, 0, nullptr, nullptr, &pdf, nullptr);
899}
901 const RooCmdArg &arg5, const RooCmdArg &arg6)
902{
903 RooCmdArg ret("FitOptArgs", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
904 ret.addArg(arg1);
905 ret.addArg(arg2);
906 ret.addArg(arg3);
907 ret.addArg(arg4);
908 ret.addArg(arg5);
909 ret.addArg(arg6);
910 ret.setProcessRecArgs(false);
911 return ret;
912}
914{
915 return RooCmdArg("Binned", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
916}
918{
919 return RooCmdArg("BootStrapData", 0, 0, 0, 0, nullptr, nullptr, &dset, nullptr);
920}
921
922// RooMCStudy::plot* arguments
924 const RooCmdArg &arg5, const RooCmdArg &arg6)
925{
926 RooCmdArg ret("FrameArgs", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
927 ret.addArg(arg1);
928 ret.addArg(arg2);
929 ret.addArg(arg3);
930 ret.addArg(arg4);
931 ret.addArg(arg5);
932 ret.addArg(arg6);
933 ret.setProcessRecArgs(false);
934 return ret;
935}
937{
938 return RooCmdArg("Bins", nbins, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
939}
940RooCmdArg FrameRange(double xlo, double xhi)
941{
942 return RooCmdArg("Range", 0, 0, xlo, xhi, nullptr, nullptr, nullptr, nullptr);
943}
945{
946 return RooCmdArg("FitGauss", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
947}
948
949// RooRealVar::format arguments
951{
952 return RooCmdArg("ShowName", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
953}
955{
956 return RooCmdArg("ShowValue", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
957}
959{
960 return RooCmdArg("ShowError", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
961}
963{
964 return RooCmdArg("ShowAsymError", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
965}
967{
968 return RooCmdArg("ShowUnit", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
969}
971{
972 return RooCmdArg("AutoPrecision", ndigit, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
973}
975{
976 return RooCmdArg("FixedPrecision", ndigit, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
977}
979{
980 return RooCmdArg("TLatexStyle", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
981}
983{
984 return RooCmdArg("LatexStyle", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
985}
987{
988 return RooCmdArg("LatexTableStyle", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
989}
991{
992 return RooCmdArg("VerbatimName", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
993}
994
995// RooMsgService::addReportingStream arguments
997{
998 return RooCmdArg("Topic", topic, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
999}
1001{
1002 return RooCmdArg("ObjectName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
1003}
1005{
1006 return RooCmdArg("ClassName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
1007}
1009{
1010 return RooCmdArg("BaseClassName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
1011}
1013{
1014 return RooCmdArg("LabelName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
1015}
1016RooCmdArg OutputStream(std::ostream &os)
1017{
1018 return RooCmdArg("OutputStream", 0, 0, 0, 0, nullptr, nullptr, new RooHelpers::WrapIntoTObject<std::ostream>(os),
1019 nullptr);
1020}
1022{
1023 return RooCmdArg("Prefix", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1024}
1026{
1027 return RooCmdArg("Color", color, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1028}
1029
1030// RooWorkspace::import() arguments
1032{
1033 return RooCmdArg("RenameConflictNodes", ro, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
1034}
1036{
1037 return RooCmdArg("RecycleConflictNodes", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1038}
1040{
1041 return RooCmdArg("RenameAllNodes", 0, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
1042}
1044{
1045 return RooCmdArg("RenameAllVariables", 0, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
1046}
1048{
1049 return RooCmdArg("RenameAllVariables", 0, 0, 0, 0, suffix, except, nullptr, nullptr);
1050}
1051RooCmdArg RenameVariable(const char *in, const char *out)
1052{
1053 return RooCmdArg("RenameVar", 0, 0, 0, 0, in, out, nullptr, nullptr);
1054}
1056{
1057 return RooCmdArg("Rename", 0, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
1058}
1060{
1061 return RooCmdArg("Embedded", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1062}
1064{
1065 return RooCmdArg("NoRecursion", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1066}
1067
1068// RooSimCloneTool::build() arguments
1069RooCmdArg SplitParam(const char *varname, const char *catname)
1070{
1071 return RooCmdArg("SplitParam", 0, 0, 0, 0, varname, catname, nullptr, nullptr);
1072}
1074{
1075 return RooCmdArg("SplitParam", 0, 0, 0, 0, var.GetName(), cat.GetName(), nullptr, nullptr);
1076}
1077RooCmdArg SplitParamConstrained(const char *varname, const char *catname, const char *rsname)
1078{
1079 return RooCmdArg("SplitParamConstrained", 0, 0, 0, 0, varname, catname, nullptr, nullptr, nullptr, rsname);
1080}
1082{
1083 return RooCmdArg("SplitParamConstrained", 0, 0, 0, 0, var.GetName(), cat.GetName(), nullptr, nullptr, nullptr,
1084 rsname);
1085}
1086RooCmdArg Restrict(const char *catName, const char *stateNameList)
1087{
1088 return RooCmdArg("Restrict", 0, 0, 0, 0, catName, stateNameList, nullptr, nullptr);
1089}
1090
1091// RooAbsPdf::createCdf() arguments
1093{
1094 RooCmdArg out{"SupNormSet", 0};
1095 out.setSet(0, nset);
1096 return out;
1097}
1099{
1100 return RooCmdArg("ScanParameters", nbins, intOrder, 0, 0, nullptr, nullptr, nullptr, nullptr);
1101}
1103{
1104 return RooCmdArg("ScanNumCdf", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1105}
1107{
1108 return RooCmdArg("ScanAllCdf", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1109}
1111{
1112 return RooCmdArg("ScanNoCdf", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1113}
1114
1116 const RooCmdArg &arg5, const RooCmdArg &arg6, const RooCmdArg &arg7, const RooCmdArg &arg8)
1117{
1118 RooCmdArg ret("MultiArg", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1119 ret.addArg(arg1);
1120 ret.addArg(arg2);
1121 ret.addArg(arg3);
1122 ret.addArg(arg4);
1123 ret.addArg(arg5);
1124 ret.addArg(arg6);
1125 ret.addArg(arg7);
1126 ret.addArg(arg8);
1127 ret.setProcessRecArgs(true, false);
1128 return ret;
1129}
1130
1132{
1133 return RooRealConstant::value(val);
1134}
1135
1136namespace Detail {
1137
1139{
1140 return processFlatMap("SliceCatMany", processSliceItem, args);
1141}
1143{
1144 return processFlatMap("ImportDataSliceMany", processImportItem<RooDataHist>, args);
1145}
1147{
1148 return processFlatMap("ImportDataSliceMany", processImportItem<TH1>, args);
1149}
1151{
1152 return processFlatMap("ImportDataSliceMany", processImportItem<RooDataSet>, args);
1153}
1155{
1156 return processFlatMap("LinkDataSliceMany", processLinkItem<RooAbsData>, args);
1157}
1158
1159} // namespace Detail
1160
1161} // namespace RooFit
1162
1163namespace RooFitShortHand {
1164
1166{
1167 return RooFit::RooConst(value);
1168}
1169
1170} // namespace RooFitShortHand
#define c(i)
Definition RSha256.hxx:101
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
#define oocoutW(o, a)
#define oocoutE(o, a)
#define oocoutI(o, a)
short Style_t
Definition RtypesCore.h:82
int Int_t
Definition RtypesCore.h:45
short Color_t
Definition RtypesCore.h:85
float Size_t
Definition RtypesCore.h:89
short Width_t
Definition RtypesCore.h:84
@ kRed
Definition Rtypes.h:66
@ kBlack
Definition Rtypes.h:65
@ kGreen
Definition Rtypes.h:66
@ kMagenta
Definition Rtypes.h:66
@ kWhite
Definition Rtypes.h:65
@ kCyan
Definition Rtypes.h:66
@ kBlue
Definition Rtypes.h:66
@ kYellow
Definition Rtypes.h:66
@ kDashed
Definition TAttLine.h:48
@ kSolid
Definition TAttLine.h:48
@ kDashDotted
Definition TAttLine.h:48
@ kDotted
Definition TAttLine.h:48
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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
#define gInterpreter
void(* Func_t)()
Definition TSystem.h:249
const_iterator begin() const
const_iterator end() const
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Definition RooAbsArg.h:79
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 ...
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
static const RooCmdArg & none()
Return reference to null argument.
Definition RooCmdArg.cxx:52
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()
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)
A RooFormulaVar is a generic implementation of a real-valued object, which takes a RooArgList of serv...
Holds the configuration parameters of the various numeric integrators used by RooRealIntegral.
static RooConstVar & value(double value)
Return a constant value object with given value.
Variable that can be changed from the outside.
Definition RooRealVar.h:37
static Int_t GetColorByName(const char *colorname)
Static method returning color index for a color specified by name.
Definition TColor.cxx:2073
TH1 is the base class of all histogram classes in ROOT.
Definition TH1.h:59
const char * GetName() const override
Returns name of object.
Definition TNamed.h:47
Mother of all ROOT objects.
Definition TObject.h:41
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 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 Index(RooCategory &icat)
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 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 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 Timer(bool flag=true)
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 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)
auto Map(Args &&... args)
Create new collection applying a callable to the elements of the input collection.
Definition RVec.hxx:2150
const Int_t n
Definition legend1.C:16
RooConstVar & C(double value)
RooCmdArg LinkFlatMap(FlatMap< std::string, RooAbsData * > const &args)
RooCmdArg ImportFlatMap(FlatMap< std::string, RooDataHist * > const &args)
RooCmdArg SliceFlatMap(FlatMap< RooCategory *, std::string > const &args)
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
RooCmdArg BootStrapData(const RooDataSet &dset)
RooCmdArg ShowName(bool flag)
RooCmdArg ShowError(bool flag)
RooCmdArg BatchMode(std::string const &batchMode)
OffsetMode
For setting the offset mode with the Offset() command argument to RooAbsPdf::fitTo()
@ InputArguments
RooCmdArg ShowValue(bool flag)
RooCmdArg ShowAsymError(bool flag)
RooCmdArg ShowUnit(bool flag)
void inv(rsa_NUMBER *, rsa_NUMBER *, rsa_NUMBER *)
Definition rsaaux.cxx:949
static const char * what
Definition stlLoader.cc:5
Wrap an object into a TObject. Sometimes needed to avoid reinterpret_cast or enable RTTI.
Definition RooHelpers.h:57
static int Prefix[4096]
Definition gifdecode.c:12