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 <RooAbsData.h>
22#include <RooAbsPdf.h>
23#include <RooBatchCompute.h>
24#include <RooCategory.h>
25#include <RooDataHist.h>
26#include <RooDataSet.h>
27#include <RooFitResult.h>
28#include <RooFormulaVar.h>
29#include <RooHelpers.h>
30#include <RooMsgService.h>
31#include <RooNumIntConfig.h>
32#include <RooRealConstant.h>
33#include <RooRealVar.h>
34
35#include "RooEvaluatorWrapper.h"
36
37#include <TH1.h>
38#include <TInterpreter.h>
39
40#include <algorithm>
41
42namespace RooFit {
43
44/// Get the global choice for the RooBatchCompute library that RooFit will load.
45/// \see RooFit::setBatchCompute().
50
51/// Globally select the RooBatchCompute CPU implementation that will be loaded
52/// in RooFit.
53/// Supported options are "auto" (default), "avx512", "avx2", "avx", "sse", "generic".
54/// \note It is not possible to change the selection after RooFit has already
55/// loaded a library (which is usually triggered by likelihood creation or fitting).
56void setBatchCompute(std::string const &value)
57{
59}
60
61// anonymous namespace for helper functions for the implementation of the global functions
62namespace {
63
64template <class T>
65RooCmdArg processImportItem(std::string const &key, T *val)
66{
67 return Import(key.c_str(), *val);
68}
69
70template <class T>
71RooCmdArg processLinkItem(std::string const &key, T *val)
72{
73 return Link(key.c_str(), *val);
74}
75
76RooCmdArg processSliceItem(RooCategory *key, std::string const &val)
77{
78 return Slice(*key, val.c_str());
79}
80
81template <class Key_t, class Val_t, class Func_t>
82RooCmdArg processMap(const char *name, Func_t func, std::map<Key_t, Val_t> const &map)
83{
84 RooCmdArg container(name, 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
85 for (auto const &item : map) {
86 container.addArg(func(item.first, item.second));
87 }
88 container.setProcessRecArgs(true, false);
89 return container;
90}
91
92template <class Key_t, class Val_t, class Func_t>
93RooCmdArg processFlatMap(const char *name, Func_t func, Detail::FlatMap<Key_t, Val_t> const &map)
94{
95 RooCmdArg container(name, 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
96 for (std::size_t i = 0; i < map.keys.size(); ++i) {
97 container.addArg(func(map.keys[i], map.vals[i]));
98 }
99 container.setProcessRecArgs(true, false);
100 return container;
101}
102
103int interpretString(std::string const &s)
104{
105 return gInterpreter->ProcessLine(s.c_str());
106}
107
108Style_t interpretLineStyleString(std::string const &style)
109{
110 using Map = std::unordered_map<std::string, Style_t>;
111 // Style dictionary to define matplotlib conventions
112 static Map styleMap{{"-", kSolid}, {"--", kDashed}, {":", kDotted}, {"-.", kDashDotted}};
113 auto found = styleMap.find(style);
114 if (found != styleMap.end())
115 return found->second;
116 // Use interpreter if style was not matched in the style map
117 return gInterpreter->ProcessLine(style.c_str());
118}
119
120} // namespace
121
122namespace Experimental {
123
125{
126 return RooCmdArg("ParallelGradientOptions", enable, chainFactor, orderStrategy, 0, nullptr, nullptr, nullptr,
127 nullptr);
128}
130{
131 return RooCmdArg("ParallelDescentOptions", enable, numSplits, splitStrategy, 0, nullptr, nullptr, nullptr, nullptr);
132}
133
134void writeCodegenDebugMacro(RooAbsReal const &absReal, std::string const &name)
135{
136 if (auto *wrapper = dynamic_cast<RooEvaluatorWrapper const *>(&absReal)) {
137 wrapper->writeDebugMacro(name);
138 }
139}
140
141} // namespace Experimental
142
143// RooAbsReal::plotOn arguments
144RooCmdArg DrawOption(const char *opt)
145{
146 return RooCmdArg("DrawOption", 0, 0, 0, 0, opt, nullptr, nullptr, nullptr);
147}
149{
150 RooCmdArg out{"SliceVars", 0};
151 out.setSet(0, sliceSet);
152 return out;
153}
154RooCmdArg Slice(RooCategory &cat, const char *label)
155{
156 // We don't support adding multiple slices for a single category by
157 // concatenating labels with a comma. Users were trying to do that, and were
158 // surprised it did not work. So we explicitly check if there is a comma,
159 // and if there is, we will give some helpful advice on how to get to the
160 // desired plot.
161 std::string lbl{label};
162 if (lbl.find(',') != std::string::npos) {
163 std::stringstream errorMsg;
164 errorMsg << "RooFit::Slice(): you tried to pass a comma-separated list of state labels \"" << label
165 << "\" for a given category, but selecting multiple slices like this is not supported!"
166 << " If you want to make a plot of multiple slices, use the ProjWData() command where you pass a "
167 "dataset that includes "
168 "the desired slices. If the slices are a subset of all slices, then you can create such a dataset "
169 "with RooAbsData::reduce(RooFit::Cut(\"cat==cat::label_1 || cat==cat::label_2 || ...\")). You can "
170 "find some examples in the rf501_simultaneouspdf tutorial.";
171 oocoutE(nullptr, InputArguments) << errorMsg.str() << std::endl;
172 throw std::invalid_argument(errorMsg.str().c_str());
173 }
174 return RooCmdArg("SliceCat", 0, 0, 0, 0, label, nullptr, &cat, nullptr);
175}
176RooCmdArg Slice(std::map<RooCategory *, std::string> const &arg)
177{
178 return processMap("SliceCatMany", processSliceItem, arg);
179}
180
182{
183 RooCmdArg out{"Project", 0};
184 out.setSet(0, projSet);
185 return out;
186}
187RooCmdArg ProjWData(const RooArgSet &projSet, const RooAbsData &projData, bool binData)
188{
189 RooCmdArg out{"ProjData", binData, 0, 0, 0, nullptr, nullptr, nullptr, &projData};
190 out.setSet(0, projSet);
191 return out;
192}
193RooCmdArg ProjWData(const RooAbsData &projData, bool binData)
194{
195 return RooCmdArg("ProjData", binData, 0, 0, 0, nullptr, nullptr, nullptr, &projData);
196}
198{
199 return RooCmdArg("Asymmetry", 0, 0, 0, 0, nullptr, nullptr, &cat, nullptr);
200}
202{
203 return RooCmdArg("Precision", 0, 0, prec, 0, nullptr, nullptr, nullptr, nullptr);
204}
206{
207 return RooCmdArg("ShiftToZero", 1);
208}
209RooCmdArg Normalization(double scaleFactor)
210{
211 return RooCmdArg("Normalization", RooAbsReal::Relative, 0, scaleFactor, 0, nullptr, nullptr, nullptr, nullptr);
212}
214{
215 return RooCmdArg("RangeWithName", adjustNorm, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
216}
217RooCmdArg Range(double lo, double hi, bool adjustNorm)
218{
219 return RooCmdArg("Range", adjustNorm, 0, lo, hi, nullptr, nullptr, nullptr, nullptr);
220}
222{
223 return RooCmdArg("NormRange", 0, 0, 0, 0, rangeNameList, nullptr, nullptr, nullptr);
224}
226{
227 return RooCmdArg("VLines", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
228}
230{
231 return RooCmdArg("LineColor", color.number());
232}
234{
235 return RooCmdArg("LineStyle", style);
236}
237RooCmdArg LineStyle(std::string const &style)
238{
240}
242{
243 return RooCmdArg("LineWidth", width);
244}
246{
247 return RooCmdArg("FillColor", color.number());
248}
250{
251 return RooCmdArg("FillStyle", style);
252}
253RooCmdArg FillStyle(std::string const &style)
254{
256}
258{
259 return RooCmdArg("ProjectionRange", 0, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
260}
261RooCmdArg Name(const char *name)
262{
263 return RooCmdArg("Name", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
264}
266{
267 return RooCmdArg("Invisible", inv, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
268}
269RooCmdArg AddTo(const char *name, double wgtSel, double wgtOther)
270{
271 return RooCmdArg("AddTo", 0, 0, wgtSel, wgtOther, name, nullptr, nullptr, nullptr);
272}
274{
275 return RooCmdArg("EvalErrorValue", 1, 0, val, 0, nullptr, nullptr, nullptr, nullptr);
276}
278{
279 return RooCmdArg("MoveToBack", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
280}
282{
283 return RooCmdArg("VisualizeError", EVmethod, 0, Z, 0, nullptr, nullptr, &fitres, nullptr);
284}
285RooCmdArg VisualizeError(const RooFitResult &fitres, const RooArgSet &param, double Z, bool EVmethod)
286{
287 return RooCmdArg("VisualizeError", EVmethod, 0, Z, 0, nullptr, nullptr, &fitres, nullptr, nullptr, nullptr, &param);
288}
290{
291 return RooCmdArg("VisualizeErrorData", 0, 0, Z, 0, nullptr, nullptr, &paramData, nullptr);
292}
294{
295 return RooCmdArg("ShowProgress", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
296}
297
298// RooAbsPdf::plotOn arguments
300{
301 return RooCmdArg("SelectCompSpec", 0, 0, 0, 0, compSpec, nullptr, nullptr, nullptr);
302}
304{
305 return RooCmdArg("Normalization", scaleType, 0, scaleFactor, 0, nullptr, nullptr, nullptr, nullptr);
306}
307
308// RooAbsData::plotOn arguments
310{
311 return RooCmdArg("CutSpec", 0, 0, 0, 0, cutSpec, nullptr, nullptr, nullptr);
312}
314{
315 return RooCmdArg("CutVar", 0, 0, 0, 0, nullptr, nullptr, &cutVar, nullptr);
316}
318{
319 return RooCmdArg("Binning", 0, 0, 0, 0, nullptr, nullptr, &binning, nullptr);
320}
321RooCmdArg Binning(const char *binningName)
322{
323 return RooCmdArg("BinningName", 0, 0, 0, 0, binningName, nullptr, nullptr, nullptr);
324}
325RooCmdArg Binning(int nBins, double xlo, double xhi)
326{
327 return RooCmdArg("BinningSpec", nBins, 0, xlo, xhi, nullptr, nullptr, nullptr, nullptr);
328}
330{
331 return RooCmdArg("MarkerStyle", style, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
332}
333RooCmdArg MarkerStyle(std::string const &color)
334{
335 return MarkerStyle(interpretString(color));
336}
338{
339 return RooCmdArg("MarkerSize", 0, 0, size, 0, nullptr, nullptr, nullptr, nullptr);
340}
342{
343 return RooCmdArg("MarkerColor", color.number());
344}
346{
347 return RooCmdArg("CutRange", 0, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
348}
350{
351 return RooCmdArg("XErrorSize", 0, 0, width, 0, nullptr, nullptr, nullptr, nullptr);
352}
354{
355 return RooCmdArg("RefreshNorm", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
356}
358{
359 return RooCmdArg("Efficiency", 0, 0, 0, 0, nullptr, nullptr, &cat, nullptr);
360}
361RooCmdArg Rescale(double factor)
362{
363 return RooCmdArg("Rescale", 0, 0, factor, 0, nullptr, nullptr, nullptr, nullptr);
364}
365
366// RooDataHist::ctor arguments
368{
369 return RooCmdArg("Weight", 0, 0, wgt, 0, nullptr, nullptr, nullptr, nullptr);
370}
372{
373 return RooCmdArg("IndexCat", 0, 0, 0, 0, nullptr, nullptr, &icat, nullptr);
374}
375RooCmdArg Import(const char *state, TH1 &histo)
376{
377 return RooCmdArg("ImportDataSlice", 0, 0, 0, 0, state, nullptr, &histo, nullptr);
378}
379RooCmdArg Import(const char *state, RooDataHist &dhist)
380{
381 return RooCmdArg("ImportDataSlice", 0, 0, 0, 0, state, nullptr, &dhist, nullptr);
382}
384{
385 return RooCmdArg("ImportHisto", importDensity, 0, 0, 0, nullptr, nullptr, &histo, nullptr);
386}
387
388RooCmdArg Import(const std::map<std::string, RooDataHist *> &arg)
389{
390 return processMap("ImportDataSliceMany", processImportItem<RooDataHist>, arg);
391}
392RooCmdArg Import(const std::map<std::string, TH1 *> &arg)
393{
394 return processMap("ImportDataSliceMany", processImportItem<TH1>, arg);
395}
396
397// RooDataSet::ctor arguments
399{
400 if (name == nullptr)
401 return RooCmdArg::none(); // Passing a nullptr name means no weight variable
402 return RooCmdArg("WeightVarName", reinterpretAsWeight, 0, 0, 0, name, nullptr, nullptr, nullptr);
403}
405{
406 return RooCmdArg("WeightVar", reinterpretAsWeight, 0, 0, 0, nullptr, nullptr, &arg, nullptr);
407}
408RooCmdArg Link(const char *state, RooAbsData &data)
409{
410 return RooCmdArg("LinkDataSlice", 0, 0, 0, 0, state, nullptr, &data, nullptr);
411}
412RooCmdArg Import(const char *state, RooAbsData &data)
413{
414 return RooCmdArg("ImportDataSlice", 0, 0, 0, 0, state, nullptr, &data, nullptr);
415}
417{
418 return RooCmdArg("ImportData", 0, 0, 0, 0, nullptr, nullptr, &data, nullptr);
419}
421{
422 return RooCmdArg("ImportTree", 0, 0, 0, 0, nullptr, nullptr, reinterpret_cast<TObject *>(&tree), nullptr);
423}
424RooCmdArg ImportFromFile(const char *fname, const char *tname)
425{
426 return RooCmdArg("ImportFromFile", 0, 0, 0, 0, fname, tname, nullptr, nullptr);
427}
429{
430 return RooCmdArg("StoreError", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &aset);
431}
433{
434 return RooCmdArg("StoreAsymError", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &aset);
435}
437{
438 return RooCmdArg("OwnLinked", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr);
439}
440
441RooCmdArg Import(const std::map<std::string, RooDataSet *> &arg)
442{
443 return processMap("ImportDataSliceMany", processImportItem<RooDataSet>, arg);
444}
445RooCmdArg Link(const std::map<std::string, RooAbsData *> &arg)
446{
447 return processMap("LinkDataSliceMany", processLinkItem<RooAbsData>, arg);
448}
449
450// RooChi2Var::ctor / RooNLLVar arguments
452{
453 return RooCmdArg("Extended", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
454}
456{
457 return RooCmdArg("DataError", etype);
458}
459RooCmdArg DataError(std::string const &etype)
460{
462}
464{
465 return RooCmdArg("NumCPU", nCPU, interleave, 0, 0, nullptr, nullptr, nullptr, nullptr);
466}
468{
469 return RooCmdArg("ModularL", flag, 0, 0, 0, nullptr, nullptr, nullptr);
470}
472{
473 return RooCmdArg("Parallelize", nWorkers, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
474}
476{
477 return RooCmdArg("TimingAnalysis", flag, 0, 0, 0, nullptr, nullptr, nullptr);
478}
479RooCmdArg BatchMode(std::string const &batchMode)
480{
481 oocoutW(nullptr, InputArguments)
482 << "The BatchMode() command argument is deprecated. Please use EvalBackend() instead." << std::endl;
483 std::string lower = batchMode;
484 std::transform(lower.begin(), lower.end(), lower.begin(), [](unsigned char c) { return std::tolower(c); });
485 if (lower == "off") {
486 return EvalBackend::Legacy();
487 } else if (lower == "cpu") {
488 return EvalBackend::Cpu();
489 } else if (lower == "cuda") {
490 return EvalBackend::Cuda();
491 }
492 throw std::runtime_error("Only supported string values for BatchMode() are \"off\", \"cpu\", or \"cuda\".");
493}
494/// Integrate the PDF over bins. Improves accuracy for binned fits. Switch off using `0.` as argument. \see
495/// RooAbsPdf::fitTo().
496RooCmdArg IntegrateBins(double precision)
497{
498 return RooCmdArg("IntegrateBins", 0, 0, precision);
499}
500
501// RooAbsCollection::printLatex arguments
503{
504 return RooCmdArg("Columns", ncol, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
505}
506RooCmdArg OutputFile(const char *fileName)
507{
508 return RooCmdArg("OutputFile", 0, 0, 0, 0, fileName, nullptr, nullptr, nullptr);
509}
511{
512 return RooCmdArg("Sibling", 0, 0, 0, 0, nullptr, nullptr, &sibling, nullptr);
513}
514RooCmdArg Format(const char *what, const RooCmdArg &arg1, const RooCmdArg &arg2, const RooCmdArg &arg3,
515 const RooCmdArg &arg4, const RooCmdArg &arg5, const RooCmdArg &arg6, const RooCmdArg &arg7,
516 const RooCmdArg &arg8)
517{
518 RooCmdArg ret("FormatArgs", 0, 0, 0, 0, what, nullptr, nullptr, nullptr);
519 ret.addArg(arg1);
520 ret.addArg(arg2);
521 ret.addArg(arg3);
522 ret.addArg(arg4);
523 ret.addArg(arg5);
524 ret.addArg(arg6);
525 ret.addArg(arg7);
526 ret.addArg(arg8);
527 ret.setProcessRecArgs(false);
528 return ret;
529}
530
531// RooAbsRealLValue::frame arguments
532RooCmdArg Title(const char *name)
533{
534 return RooCmdArg("Title", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
535}
537{
538 return RooCmdArg("Bins", nbin, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
539}
541{
542 return RooCmdArg("AutoRange", 1, 0, marginFactor, 0, nullptr, nullptr, &data, nullptr);
543}
545{
546 return RooCmdArg("AutoRange", 0, 0, marginFactor, 0, nullptr, nullptr, &data, nullptr);
547}
548
549// RooAbsData::reduce arguments
551{
552 RooCmdArg out{"SelectVars", 0};
553 out.setSet(0, vars);
554 return out;
555}
557{
558 return RooCmdArg("EventRange", nStart, nStop, 0, 0, nullptr, nullptr, nullptr, nullptr);
559}
560
561// RooAbsPdf::fitTo arguments
562
564EvalBackend::EvalBackend(std::string const &name) : EvalBackend{toValue(name)} {}
566{
567 std::string lower = name;
568 std::transform(lower.begin(), lower.end(), lower.begin(), [](unsigned char c) { return std::tolower(c); });
569 if (lower == toName(Value::Legacy))
570 return Value::Legacy;
571 if (lower == toName(Value::Cpu))
572 return Value::Cpu;
573 if (lower == toName(Value::Cuda))
574 return Value::Cuda;
576 return Value::Codegen;
579 throw std::runtime_error("Only supported string values for EvalBackend() are \"legacy\", \"cpu\", \"cuda\", "
580 "\"codegen\", or \"codegen_no_grad\".");
581}
602std::string EvalBackend::name() const
603{
604 return toName(value());
605}
607{
608 if (value == Value::Legacy)
609 return "legacy";
610 if (value == Value::Cpu)
611 return "cpu";
612 if (value == Value::Cuda)
613 return "cuda";
614 if (value == Value::Codegen)
615 return "codegen";
617 return "codegen_no_grad";
618 return "";
619}
625
627{
628 return RooCmdArg("Prefit", 0, 0, data_ratio, 0, nullptr, nullptr, nullptr, nullptr);
629}
631{
632 return RooCmdArg("Optimize", flag);
633}
635{
636 return RooCmdArg("Verbose", flag);
637}
639{
640 return RooCmdArg("Save", flag);
641}
643{
644 return RooCmdArg("Timer", flag);
645}
647{
648 return RooCmdArg("PrintLevel", level);
649}
651{
652 return RooCmdArg("MaxCalls", n);
653}
655{
656 return RooCmdArg("Warnings", flag);
657}
659{
660 return RooCmdArg("Strategy", code);
661}
663{
664 return RooCmdArg("InitialHesse", flag);
665}
667{
668 return RooCmdArg("Hesse", flag);
669}
671{
672 return RooCmdArg("Minos", flag);
673}
675{
676 RooCmdArg out{"Minos", 1};
677 out.setSet(0, minosArgs);
678 return out;
679}
681{
682 return RooCmdArg("SplitRange", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
683}
685{
686 return RooCmdArg("SumCoefRange", 0, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
687}
689{
690 for (RooAbsArg *param : params) {
691 if (!dynamic_cast<RooRealVar *>(param)) {
692 std::stringstream errorMsg;
693 errorMsg << "RooFit::Constrain(): you passed the argument \"" << param->GetName()
694 << "\", but it's not a RooRealVar!"
695 << " You can only constrain parameters, which must be RooRealVars.";
696 oocoutE(nullptr, InputArguments) << errorMsg.str() << std::endl;
697 throw std::invalid_argument(errorMsg.str().c_str());
698 }
699 }
700 return RooCmdArg("Constrain", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &params);
701}
703{
704 return {"GlobalObservablesSource", 0, 0, 0, 0, sourceName, nullptr, nullptr, nullptr};
705}
706RooCmdArg GlobalObservablesTag(const char *tagName)
707{
708 return RooCmdArg("GlobalObservablesTag", 0, 0, 0, 0, tagName, nullptr, nullptr, nullptr);
709}
711{
712 return RooCmdArg("ExternalConstraints", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &cpdfs);
713}
715{
716 return RooCmdArg("PrintEvalErrors", numErrors, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
717}
719{
720 return RooCmdArg("EvalErrorWall", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
721}
723{
724 return RooCmdArg("SumW2Error", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
725}
727{
728 return RooCmdArg("AsymptoticError", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
729}
731{
732 oocoutI(nullptr, InputArguments) << "The deprecated RooFit::CloneData(" << flag
733 << ") option passed to createNLL() is ignored." << std::endl;
734 return RooCmdArg("CloneData", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
735}
737{
738 return RooCmdArg("Integrate", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
739}
740RooCmdArg Minimizer(const char *type, const char *alg)
741{
742 return RooCmdArg("Minimizer", 0, 0, 0, 0, type, alg, nullptr, nullptr);
743}
744
745RooCmdArg Offset(std::string const &mode)
746{
747 std::string lower = mode;
748 std::transform(lower.begin(), lower.end(), lower.begin(), [](unsigned char c) { return std::tolower(c); });
750 if (lower == "none") {
752 } else if (lower == "initial") {
754 } else if (lower == "bin") {
756 }
757 return RooCmdArg("OffsetLikelihood", static_cast<int>(modeVal));
758}
759
760/// When parameters are chosen such that a PDF is undefined, try to indicate to the minimiser how to leave this region.
761/// \param strength Strength of hints for minimiser. Set to zero to switch off.
763{
764 return RooCmdArg("RecoverFromUndefinedRegions", 0, 0, strength, 0, nullptr, nullptr, nullptr, nullptr);
765}
766
767// RooAbsPdf::paramOn arguments
768RooCmdArg Label(const char *str)
769{
770 return RooCmdArg("Label", 0, 0, 0, 0, str, nullptr, nullptr, nullptr);
771}
772RooCmdArg Layout(double xmin, double xmax, double ymin)
773{
774 return RooCmdArg("Layout", Int_t(ymin * 10000), 0, xmin, xmax, nullptr, nullptr, nullptr, nullptr);
775}
777{
778 RooCmdArg out{"Parameters", 0};
779 out.setSet(0, params);
780 return out;
781}
783{
784 return RooCmdArg("ShowConstants", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
785}
786
787// RooTreeData::statOn arguments
788RooCmdArg What(const char *str)
789{
790 return RooCmdArg("What", 0, 0, 0, 0, str, nullptr, nullptr, nullptr);
791}
792
793// RooProdPdf::ctor arguments
795{
796 return RooCmdArg("Conditional", depsAreCond, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &pdfSet,
797 &depSet);
798};
799
800// RooAbsPdf::generate arguments
802{
803 return RooCmdArg("PrototypeData", randomizeOrder, resample, 0, 0, nullptr, nullptr, &protoData, nullptr);
804}
806{
807 return RooCmdArg("NumEvents", numEvents, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
808}
810{
811 return RooCmdArg("NumEventsD", 0, 0, numEvents, 0, nullptr, nullptr, nullptr, nullptr);
812}
814{
815 return RooCmdArg("ExpectedData", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
816}
818{
819 return ExpectedData(flag);
820}
822{
823 return RooCmdArg("AutoBinned", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
824}
825RooCmdArg GenBinned(const char *tag)
826{
827 return RooCmdArg("GenBinned", 0, 0, 0, 0, tag, nullptr, nullptr, nullptr);
828}
830{
831 return RooCmdArg("GenBinned", 0, 0, 0, 0, "*", nullptr, nullptr, nullptr);
832}
833
834// RooAbsRealLValue::createHistogram arguments
836{
837 return RooCmdArg("YVar", 0, 0, 0, 0, nullptr, nullptr, &var, nullptr, &arg);
838}
840{
841 return RooCmdArg("ZVar", 0, 0, 0, 0, nullptr, nullptr, &var, nullptr, &arg);
842}
844{
845 return RooCmdArg("AxisLabel", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
846}
848{
849 return RooCmdArg("Scaling", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
850}
851
852// RooAbsReal::createHistogram arguments
854{
855 return RooCmdArg("IntrinsicBinning", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
856}
857
858// RooAbsData::createHistogram arguments
860{
861 return RooCmdArg("AutoRangeData", 1, nbins, marginFactor, 0, nullptr, nullptr, nullptr, nullptr);
862}
864{
865 return RooCmdArg("AutoRangeData", 0, nbins, marginFactor, 0, nullptr, nullptr, nullptr, nullptr);
866}
867
868// RooAbsReal::fillHistogram arguments
870{
871 return RooCmdArg("IntObs", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &intObs, nullptr);
872};
873
874// RooAbsReal::createIntegral arguments
876{
877 return RooCmdArg("NumIntConfig", 0, 0, 0, 0, nullptr, nullptr, &cfg, nullptr);
878}
879
880// RooMCStudy::ctor arguments
882{
883 return RooCmdArg("Silence", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
884}
886{
887 return RooCmdArg("FitModel", 0, 0, 0, 0, nullptr, nullptr, &pdf, nullptr);
888}
890 const RooCmdArg &arg5, const RooCmdArg &arg6)
891{
892 RooCmdArg ret("FitOptArgs", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
893 ret.addArg(arg1);
894 ret.addArg(arg2);
895 ret.addArg(arg3);
896 ret.addArg(arg4);
897 ret.addArg(arg5);
898 ret.addArg(arg6);
899 ret.setProcessRecArgs(false);
900 return ret;
901}
903{
904 return RooCmdArg("Binned", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
905}
907{
908 return RooCmdArg("BootStrapData", 0, 0, 0, 0, nullptr, nullptr, &dset, nullptr);
909}
910
911// RooMCStudy::plot* arguments
913 const RooCmdArg &arg5, const RooCmdArg &arg6)
914{
915 RooCmdArg ret("FrameArgs", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
916 ret.addArg(arg1);
917 ret.addArg(arg2);
918 ret.addArg(arg3);
919 ret.addArg(arg4);
920 ret.addArg(arg5);
921 ret.addArg(arg6);
922 ret.setProcessRecArgs(false);
923 return ret;
924}
926{
927 return RooCmdArg("Bins", nbins, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
928}
929RooCmdArg FrameRange(double xlo, double xhi)
930{
931 return RooCmdArg("Range", 0, 0, xlo, xhi, nullptr, nullptr, nullptr, nullptr);
932}
934{
935 return RooCmdArg("FitGauss", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
936}
937
938// RooRealVar::format arguments
940{
941 return RooCmdArg("ShowName", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
942}
944{
945 return RooCmdArg("ShowValue", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
946}
948{
949 return RooCmdArg("ShowError", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
950}
952{
953 return RooCmdArg("ShowAsymError", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
954}
956{
957 return RooCmdArg("ShowUnit", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
958}
960{
961 return RooCmdArg("AutoPrecision", ndigit, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
962}
964{
965 return RooCmdArg("FixedPrecision", ndigit, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
966}
968{
969 return RooCmdArg("TLatexStyle", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
970}
972{
973 return RooCmdArg("LatexStyle", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
974}
976{
977 return RooCmdArg("LatexTableStyle", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
978}
980{
981 return RooCmdArg("VerbatimName", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
982}
983
984// RooMsgService::addReportingStream arguments
986{
987 return RooCmdArg("Topic", topic, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
988}
990{
991 return RooCmdArg("ObjectName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
992}
994{
995 return RooCmdArg("ClassName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
996}
998{
999 return RooCmdArg("BaseClassName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
1000}
1002{
1003 return RooCmdArg("LabelName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
1004}
1005RooCmdArg OutputStream(std::ostream &os)
1006{
1007 return RooCmdArg("OutputStream", 0, 0, 0, 0, nullptr, nullptr, new RooHelpers::WrapIntoTObject<std::ostream>(os),
1008 nullptr);
1009}
1011{
1012 return RooCmdArg("Prefix", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1013}
1015{
1016 return RooCmdArg("Color", color.number());
1017}
1018
1019// RooWorkspace::import() arguments
1021{
1022 return RooCmdArg("RenameConflictNodes", ro, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
1023}
1025{
1026 return RooCmdArg("RecycleConflictNodes", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1027}
1029{
1030 return RooCmdArg("RenameAllNodes", 0, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
1031}
1033{
1034 return RooCmdArg("RenameAllVariables", 0, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
1035}
1037{
1038 return RooCmdArg("RenameAllVariables", 0, 0, 0, 0, suffix, except, nullptr, nullptr);
1039}
1040RooCmdArg RenameVariable(const char *in, const char *out)
1041{
1042 return RooCmdArg("RenameVar", 0, 0, 0, 0, in, out, nullptr, nullptr);
1043}
1045{
1046 return RooCmdArg("Rename", 0, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
1047}
1049{
1050 return RooCmdArg("Embedded", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1051}
1053{
1054 return RooCmdArg("NoRecursion", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1055}
1056
1057// RooSimCloneTool::build() arguments
1058RooCmdArg SplitParam(const char *varname, const char *catname)
1059{
1060 return RooCmdArg("SplitParam", 0, 0, 0, 0, varname, catname, nullptr, nullptr);
1061}
1063{
1064 return RooCmdArg("SplitParam", 0, 0, 0, 0, var.GetName(), cat.GetName(), nullptr, nullptr);
1065}
1066RooCmdArg SplitParamConstrained(const char *varname, const char *catname, const char *rsname)
1067{
1068 return RooCmdArg("SplitParamConstrained", 0, 0, 0, 0, varname, catname, nullptr, nullptr, nullptr, rsname);
1069}
1071{
1072 return RooCmdArg("SplitParamConstrained", 0, 0, 0, 0, var.GetName(), cat.GetName(), nullptr, nullptr, nullptr,
1073 rsname);
1074}
1075RooCmdArg Restrict(const char *catName, const char *stateNameList)
1076{
1077 return RooCmdArg("Restrict", 0, 0, 0, 0, catName, stateNameList, nullptr, nullptr);
1078}
1079
1080// RooAbsPdf::createCdf() arguments
1082{
1083 RooCmdArg out{"SupNormSet", 0};
1084 out.setSet(0, nset);
1085 return out;
1086}
1088{
1089 return RooCmdArg("ScanParameters", nbins, intOrder, 0, 0, nullptr, nullptr, nullptr, nullptr);
1090}
1092{
1093 return RooCmdArg("ScanNumCdf", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1094}
1096{
1097 return RooCmdArg("ScanAllCdf", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1098}
1100{
1101 return RooCmdArg("ScanNoCdf", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1102}
1103
1105 const RooCmdArg &arg5, const RooCmdArg &arg6, const RooCmdArg &arg7, const RooCmdArg &arg8)
1106{
1107 RooCmdArg ret("MultiArg", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1108 ret.addArg(arg1);
1109 ret.addArg(arg2);
1110 ret.addArg(arg3);
1111 ret.addArg(arg4);
1112 ret.addArg(arg5);
1113 ret.addArg(arg6);
1114 ret.addArg(arg7);
1115 ret.addArg(arg8);
1116 ret.setProcessRecArgs(true, false);
1117 return ret;
1118}
1119
1121{
1122 return RooRealConstant::value(val);
1123}
1124
1125namespace Detail {
1126
1128{
1129 return processFlatMap("SliceCatMany", processSliceItem, args);
1130}
1132{
1133 return processFlatMap("ImportDataSliceMany", processImportItem<RooDataHist>, args);
1134}
1136{
1137 return processFlatMap("ImportDataSliceMany", processImportItem<TH1>, args);
1138}
1140{
1141 return processFlatMap("ImportDataSliceMany", processImportItem<RooDataSet>, args);
1142}
1144{
1145 return processFlatMap("LinkDataSliceMany", processLinkItem<RooAbsData>, args);
1146}
1147
1148} // namespace Detail
1149
1150} // namespace RooFit
1151
1152namespace RooFitShortHand {
1153
1155{
1156 return RooFit::RooConst(value);
1157}
1158
1159} // 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
Style number (short)
Definition RtypesCore.h:96
int Int_t
Signed integer 4 bytes (int)
Definition RtypesCore.h:59
float Size_t
Attribute size (float)
Definition RtypesCore.h:103
short Width_t
Line width (short)
Definition RtypesCore.h:98
@ kDashed
Definition TAttLine.h:52
@ kSolid
Definition TAttLine.h:52
@ kDashDotted
Definition TAttLine.h:52
@ kDotted
Definition TAttLine.h:52
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:76
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
static ErrorType errorTypeFromString(std::string const &name)
Convert a string to the value of the RooAbsData::ErrorType enum with the same name.
Abstract interface for all probability density functions.
Definition RooAbsPdf.h:32
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:63
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:51
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:32
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
Int_t number() const
Definition TColor.h:147
TH1 is the base class of all histogram classes in ROOT.
Definition TH1.h:109
const char * GetName() const override
Returns name of object.
Definition TNamed.h:49
Mother of all ROOT objects.
Definition TObject.h:41
A TTree represents a columnar dataset.
Definition TTree.h:89
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 Parameters(const RooArgSet &params)
RooCmdArg NumIntConfig(const RooNumIntConfig &cfg)
RooCmdArg ScanParameters(Int_t nbins, Int_t intOrder)
RooCmdArg Label(const char *str)
RooCmdArg Color(TColorNumber color)
RooCmdArg TagName(const char *name)
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 BaseClassName(const char *name)
RooCmdArg FitOptions(const RooCmdArg &arg1, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={})
RooCmdArg IntrinsicBinning(bool flag=true)
RooCmdArg Restrict(const char *catName, const char *stateNameList)
RooCmdArg TLatexStyle(bool flag=true)
RooCmdArg RenameAllVariables(const char *suffix)
RooCmdArg ShowConstants(bool flag=true)
RooCmdArg RenameVariable(const char *inputName, const char *outputName)
RooCmdArg FixedPrecision(Int_t ndigit=2)
RooCmdArg AutoPrecision(Int_t ndigit=2)
RooCmdArg Title(const char *name)
RooCmdArg RenameAllNodes(const char *suffix)
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 Frame(const RooCmdArg &arg1, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={})
RooCmdArg YVar(const RooAbsRealLValue &var, const RooCmdArg &arg={})
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 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 Silence(bool flag=true)
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 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 DataError(Int_t)
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 FillColor(TColorNumber 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 LineColor(TColorNumber color)
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 MarkerColor(TColorNumber color)
RooCmdArg Rescale(double factor)
RooCmdArg Cut(const char *cutSpec)
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:2147
const Int_t n
Definition legend1.C:16
std::string getBatchComputeChoice()
void setBatchComputeChoice(std::string const &value)
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)
void writeCodegenDebugMacro(RooAbsReal const &absReal, std::string const &name)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition CodegenImpl.h:67
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)
void setBatchCompute(std::string const &value)
Globally select the RooBatchCompute CPU implementation that will be loaded in RooFit.
RooCmdArg ShowAsymError(bool flag)
RooCmdArg ShowUnit(bool flag)
std::string getBatchCompute()
Get the global choice for the RooBatchCompute library that RooFit will load.
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