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 "RooCategory.h"
22#include "RooRealConstant.h"
23#include "RooDataSet.h"
24#include "RooDataHist.h"
25#include "RooNumIntConfig.h"
26#include "RooRealVar.h"
27#include "RooFitResult.h"
28#include "RooAbsPdf.h"
29#include "RooFormulaVar.h"
30#include "RooHelpers.h"
31#include "RooMsgService.h"
32#include "TH1.h"
33
34#include <algorithm>
35
36using namespace std;
37
38namespace RooFit {
39
40// anonymous namespace for helper functions for the implementation of the global functions
41namespace {
42
43template <class T>
44RooCmdArg processImportItem(std::pair<std::string const, T *> const &item)
45{
46 return Import(item.first.c_str(), *item.second);
47}
48
49template <class T>
50RooCmdArg processLinkItem(std::pair<std::string const, T *> const &item)
51{
52 return Link(item.first.c_str(), *item.second);
53}
54
55RooCmdArg processSliceItem(std::pair<RooCategory *const, std::string> const &item)
56{
57 return Slice(*item.first, item.second.c_str());
58}
59
60template <class Map_t, class Func_t>
61RooCmdArg processMap(const char *name, Func_t func, Map_t const &map)
62{
63 RooCmdArg container(name, 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
64 for (auto const &item : map) {
65 container.addArg(func(item));
66 }
67 container.setProcessRecArgs(true, false);
68 return container;
69}
70
71} // namespace
72
73namespace Experimental {
74
75RooCmdArg ParallelGradientOptions(bool enable, int orderStrategy, int chainFactor)
76{
77 return RooCmdArg("ParallelGradientOptions", enable, chainFactor, orderStrategy, 0, nullptr, nullptr, nullptr,
78 nullptr);
79}
80RooCmdArg ParallelDescentOptions(bool enable, int splitStrategy, int numSplits)
81{
82 return RooCmdArg("ParallelDescentOptions", enable, numSplits, splitStrategy, 0, nullptr, nullptr, nullptr, nullptr);
83}
84
85} // namespace Experimental
86
87// RooAbsReal::plotOn arguments
88RooCmdArg DrawOption(const char *opt)
89{
90 return RooCmdArg("DrawOption", 0, 0, 0, 0, opt, nullptr, nullptr, nullptr);
91}
92RooCmdArg Slice(const RooArgSet &sliceSet)
93{
94 RooCmdArg out{"SliceVars", 0};
95 out.setSet(0, sliceSet);
96 return out;
97}
98RooCmdArg Slice(RooCategory &cat, const char *label)
99{
100 // We don't support adding multiple slices for a single category by
101 // concatenating labels with a comma. Users were trying to do that, and were
102 // surprised it did not work. So we explicitly check if there is a comma,
103 // and if there is, we will give some helpful advice on how to get to the
104 // desired plot.
105 std::string lbl{label};
106 if (lbl.find(',') != std::string::npos) {
107 std::stringstream errorMsg;
108 errorMsg << "RooFit::Slice(): you tried to pass a comma-separated list of state labels \"" << label
109 << "\" for a given category, but selecting multiple slices like this is not supported!"
110 << " If you want to make a plot of multiple slices, use the ProjWData() command where you pass a "
111 "dataset that includes "
112 "the desired slices. If the slices are a subset of all slices, then you can create such a dataset "
113 "with RooAbsData::reduce(RooFit::Cut(\"cat==cat::label_1 || cat==cat::label_2 || ...\")). You can "
114 "find some examples in the rf501_simultaneouspdf tutorial.";
115 oocoutE(nullptr, InputArguments) << errorMsg.str() << std::endl;
116 throw std::invalid_argument(errorMsg.str().c_str());
117 }
118 return RooCmdArg("SliceCat", 0, 0, 0, 0, label, nullptr, &cat, nullptr);
119}
120RooCmdArg Slice(std::map<RooCategory *, std::string> const &arg)
121{
122 return processMap("SliceCatMany", processSliceItem, arg);
123}
124
126{
127 RooCmdArg out{"Project", 0};
128 out.setSet(0, projSet);
129 return out;
130}
131RooCmdArg ProjWData(const RooArgSet &projSet, const RooAbsData &projData, bool binData)
132{
133 RooCmdArg out{"ProjData", binData, 0, 0, 0, nullptr, nullptr, nullptr, &projData};
134 out.setSet(0, projSet);
135 return out;
136}
137RooCmdArg ProjWData(const RooAbsData &projData, bool binData)
138{
139 return RooCmdArg("ProjData", binData, 0, 0, 0, nullptr, nullptr, nullptr, &projData);
140}
142{
143 return RooCmdArg("Asymmetry", 0, 0, 0, 0, nullptr, nullptr, &cat, nullptr);
144}
146{
147 return RooCmdArg("Precision", 0, 0, prec, 0, nullptr, nullptr, nullptr, nullptr);
148}
150{
151 return RooCmdArg("ShiftToZero", 1);
152}
153RooCmdArg Normalization(double scaleFactor)
154{
155 return RooCmdArg("Normalization", RooAbsReal::Relative, 0, scaleFactor, 0, nullptr, nullptr, nullptr, nullptr);
156}
157RooCmdArg Range(const char *rangeName, bool adjustNorm)
158{
159 return RooCmdArg("RangeWithName", adjustNorm, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
160}
161RooCmdArg Range(double lo, double hi, bool adjustNorm)
162{
163 return RooCmdArg("Range", adjustNorm, 0, lo, hi, nullptr, nullptr, nullptr, nullptr);
164}
165RooCmdArg NormRange(const char *rangeNameList)
166{
167 return RooCmdArg("NormRange", 0, 0, 0, 0, rangeNameList, nullptr, nullptr, nullptr);
168}
170{
171 return RooCmdArg("VLines", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
172}
174{
175 return RooCmdArg("LineColor", color);
176}
178{
179 return RooCmdArg("LineStyle", style);
180}
182{
183 return RooCmdArg("LineWidth", width);
184}
186{
187 return RooCmdArg("FillColor", color);
188}
190{
191 return RooCmdArg("FillStyle", style);
192}
193RooCmdArg ProjectionRange(const char *rangeName)
194{
195 return RooCmdArg("ProjectionRange", 0, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
196}
197RooCmdArg Name(const char *name)
198{
199 return RooCmdArg("Name", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
200}
202{
203 return RooCmdArg("Invisible", inv, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
204}
205RooCmdArg AddTo(const char *name, double wgtSel, double wgtOther)
206{
207 return RooCmdArg("AddTo", 0, 0, wgtSel, wgtOther, name, nullptr, nullptr, nullptr);
208}
210{
211 return RooCmdArg("EvalErrorValue", 1, 0, val, 0, nullptr, nullptr, nullptr, nullptr);
212}
214{
215 return RooCmdArg("MoveToBack", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
216}
217RooCmdArg VisualizeError(const RooFitResult &fitres, double Z, bool EVmethod)
218{
219 return RooCmdArg("VisualizeError", EVmethod, 0, Z, 0, nullptr, nullptr, &fitres, nullptr);
220}
221RooCmdArg VisualizeError(const RooFitResult &fitres, const RooArgSet &param, double Z, bool EVmethod)
222{
223 return RooCmdArg("VisualizeError", EVmethod, 0, Z, 0, nullptr, nullptr, &fitres, nullptr, nullptr, nullptr, &param);
224}
225RooCmdArg VisualizeError(const RooDataSet &paramData, double Z)
226{
227 return RooCmdArg("VisualizeErrorData", 0, 0, Z, 0, nullptr, nullptr, &paramData, nullptr);
228}
230{
231 return RooCmdArg("ShowProgress", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
232}
233
234// RooAbsPdf::plotOn arguments
235RooCmdArg Components(const char *compSpec)
236{
237 return RooCmdArg("SelectCompSpec", 0, 0, 0, 0, compSpec, nullptr, nullptr, nullptr);
238}
239RooCmdArg Normalization(double scaleFactor, Int_t scaleType)
240{
241 return RooCmdArg("Normalization", scaleType, 0, scaleFactor, 0, nullptr, nullptr, nullptr, nullptr);
242}
243
244// RooAbsData::plotOn arguments
245RooCmdArg Cut(const char *cutSpec)
246{
247 return RooCmdArg("CutSpec", 0, 0, 0, 0, cutSpec, nullptr, nullptr, nullptr);
248}
250{
251 return RooCmdArg("CutVar", 0, 0, 0, 0, nullptr, nullptr, &cutVar, nullptr);
252}
254{
255 return RooCmdArg("Binning", 0, 0, 0, 0, nullptr, nullptr, &binning, nullptr);
256}
257RooCmdArg Binning(const char *binningName)
258{
259 return RooCmdArg("BinningName", 0, 0, 0, 0, binningName, nullptr, nullptr, nullptr);
260}
261RooCmdArg Binning(int nBins, double xlo, double xhi)
262{
263 return RooCmdArg("BinningSpec", nBins, 0, xlo, xhi, nullptr, nullptr, nullptr, nullptr);
264}
266{
267 return RooCmdArg("MarkerStyle", style, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
268}
270{
271 return RooCmdArg("MarkerSize", 0, 0, size, 0, nullptr, nullptr, nullptr, nullptr);
272}
274{
275 return RooCmdArg("MarkerColor", color, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
276}
277RooCmdArg CutRange(const char *rangeName)
278{
279 return RooCmdArg("CutRange", 0, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
280}
282{
283 return RooCmdArg("XErrorSize", 0, 0, width, 0, nullptr, nullptr, nullptr, nullptr);
284}
286{
287 return RooCmdArg("RefreshNorm", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
288}
290{
291 return RooCmdArg("Efficiency", 0, 0, 0, 0, nullptr, nullptr, &cat, nullptr);
292}
293RooCmdArg Rescale(double factor)
294{
295 return RooCmdArg("Rescale", 0, 0, factor, 0, nullptr, nullptr, nullptr, nullptr);
296}
297
298// RooDataHist::ctor arguments
299RooCmdArg Weight(double wgt)
300{
301 return RooCmdArg("Weight", 0, 0, wgt, 0, nullptr, nullptr, nullptr, nullptr);
302}
304{
305 return RooCmdArg("IndexCat", 0, 0, 0, 0, nullptr, nullptr, &icat, nullptr);
306}
307RooCmdArg Import(const char *state, TH1 &histo)
308{
309 return RooCmdArg("ImportDataSlice", 0, 0, 0, 0, state, nullptr, &histo, nullptr);
310}
311RooCmdArg Import(const char *state, RooDataHist &dhist)
312{
313 return RooCmdArg("ImportDataSlice", 0, 0, 0, 0, state, nullptr, &dhist, nullptr);
314}
315RooCmdArg Import(TH1 &histo, bool importDensity)
316{
317 return RooCmdArg("ImportHisto", importDensity, 0, 0, 0, nullptr, nullptr, &histo, nullptr);
318}
319
320RooCmdArg Import(const std::map<std::string, RooDataHist *> &arg)
321{
322 return processMap("ImportDataSliceMany", processImportItem<RooDataHist>, arg);
323}
324RooCmdArg Import(const std::map<std::string, TH1 *> &arg)
325{
326 return processMap("ImportDataSliceMany", processImportItem<TH1>, arg);
327}
328
329// RooDataSet::ctor arguments
330RooCmdArg WeightVar(const char *name, bool reinterpretAsWeight)
331{
332 if (name == nullptr)
333 return RooCmdArg::none(); // Passing a nullptr name means no weight variable
334 return RooCmdArg("WeightVarName", reinterpretAsWeight, 0, 0, 0, name, nullptr, nullptr, nullptr);
335}
336RooCmdArg WeightVar(const RooRealVar &arg, bool reinterpretAsWeight)
337{
338 return RooCmdArg("WeightVar", reinterpretAsWeight, 0, 0, 0, nullptr, nullptr, &arg, nullptr);
339}
340RooCmdArg Link(const char *state, RooAbsData &data)
341{
342 return RooCmdArg("LinkDataSlice", 0, 0, 0, 0, state, nullptr, &data, nullptr);
343}
344RooCmdArg Import(const char *state, RooAbsData &data)
345{
346 return RooCmdArg("ImportDataSlice", 0, 0, 0, 0, state, nullptr, &data, nullptr);
347}
349{
350 return RooCmdArg("ImportData", 0, 0, 0, 0, nullptr, nullptr, &data, nullptr);
351}
353{
354 return RooCmdArg("ImportTree", 0, 0, 0, 0, nullptr, nullptr, reinterpret_cast<TObject *>(&tree), nullptr);
355}
356RooCmdArg ImportFromFile(const char *fname, const char *tname)
357{
358 return RooCmdArg("ImportFromFile", 0, 0, 0, 0, fname, tname, nullptr, nullptr);
359}
361{
362 return RooCmdArg("StoreError", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &aset);
363}
365{
366 return RooCmdArg("StoreAsymError", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &aset);
367}
369{
370 return RooCmdArg("OwnLinked", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr);
371}
372
373RooCmdArg Import(const std::map<std::string, RooDataSet *> &arg)
374{
375 return processMap("ImportDataSliceMany", processImportItem<RooDataSet>, arg);
376}
377RooCmdArg Link(const std::map<std::string, RooAbsData *> &arg)
378{
379 return processMap("LinkDataSliceMany", processLinkItem<RooAbsData>, arg);
380}
381
382// RooChi2Var::ctor / RooNLLVar arguments
384{
385 return RooCmdArg("Extended", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
386}
388{
389 return RooCmdArg("DataError", (Int_t)etype, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
390}
391RooCmdArg NumCPU(Int_t nCPU, Int_t interleave)
392{
393 return RooCmdArg("NumCPU", nCPU, interleave, 0, 0, nullptr, nullptr, nullptr, nullptr);
394}
396{
397 return RooCmdArg("ModularL", flag, 0, 0, 0, nullptr, nullptr, nullptr);
398}
400{
401 return RooCmdArg("Parallelize", nWorkers, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
402}
404{
405 return RooCmdArg("TimingAnalysis", flag, 0, 0, 0, nullptr, nullptr, nullptr);
406}
407RooCmdArg BatchMode(std::string const &batchMode)
408{
409 oocoutW(nullptr, InputArguments) << "The BatchMode() command argument is deprecated. Please use EvalBackend() instead." << std::endl;
410 std::string lower = batchMode;
411 std::transform(lower.begin(), lower.end(), lower.begin(), [](unsigned char c) { return std::tolower(c); });
412 if (lower == "off")
413 return EvalBackend::Legacy();
414 else if (lower == "cpu")
415 return EvalBackend::Cpu();
416 else if (lower == "cuda")
417 return EvalBackend::Cuda();
418 throw std::runtime_error("Only supported string values for BatchMode() are \"off\", \"cpu\", or \"cuda\".");
419}
420/// Integrate the PDF over bins. Improves accuracy for binned fits. Switch off using `0.` as argument. \see
421/// RooAbsPdf::fitTo().
422RooCmdArg IntegrateBins(double precision)
423{
424 return RooCmdArg("IntegrateBins", 0, 0, precision);
425}
426
427// RooAbsCollection::printLatex arguments
429{
430 return RooCmdArg("Columns", ncol, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
431}
432RooCmdArg OutputFile(const char *fileName)
433{
434 return RooCmdArg("OutputFile", 0, 0, 0, 0, fileName, nullptr, nullptr, nullptr);
435}
437{
438 return RooCmdArg("Sibling", 0, 0, 0, 0, nullptr, nullptr, &sibling, nullptr);
439}
440RooCmdArg Format(const char *what, const RooCmdArg &arg1, const RooCmdArg &arg2, const RooCmdArg &arg3,
441 const RooCmdArg &arg4, const RooCmdArg &arg5, const RooCmdArg &arg6, const RooCmdArg &arg7,
442 const RooCmdArg &arg8)
443{
444 RooCmdArg ret("FormatArgs", 0, 0, 0, 0, what, nullptr, nullptr, nullptr);
445 ret.addArg(arg1);
446 ret.addArg(arg2);
447 ret.addArg(arg3);
448 ret.addArg(arg4);
449 ret.addArg(arg5);
450 ret.addArg(arg6);
451 ret.addArg(arg7);
452 ret.addArg(arg8);
453 ret.setProcessRecArgs(false);
454 return ret;
455}
456
457// RooAbsRealLValue::frame arguments
458RooCmdArg Title(const char *name)
459{
460 return RooCmdArg("Title", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
461}
463{
464 return RooCmdArg("Bins", nbin, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
465}
466RooCmdArg AutoSymRange(const RooAbsData &data, double marginFactor)
467{
468 return RooCmdArg("AutoRange", 1, 0, marginFactor, 0, nullptr, nullptr, &data, nullptr);
469}
470RooCmdArg AutoRange(const RooAbsData &data, double marginFactor)
471{
472 return RooCmdArg("AutoRange", 0, 0, marginFactor, 0, nullptr, nullptr, &data, nullptr);
473}
474
475// RooAbsData::reduce arguments
477{
478 RooCmdArg out{"SelectVars", 0};
479 out.setSet(0, vars);
480 return out;
481}
483{
484 return RooCmdArg("EventRange", nStart, nStop, 0, 0, nullptr, nullptr, nullptr, nullptr);
485}
486
487// RooAbsPdf::fitTo arguments
488
489EvalBackend::EvalBackend(EvalBackend::Value value) : RooCmdArg{"EvalBackend", static_cast<int>(value)} {}
490EvalBackend::EvalBackend(std::string const &name) : EvalBackend{toValue(name)} {}
492{
493 std::string lower = name;
494 std::transform(lower.begin(), lower.end(), lower.begin(), [](unsigned char c) { return std::tolower(c); });
495 if (lower == toName(Value::Legacy))
496 return Value::Legacy;
497 if (lower == toName(Value::Cpu))
498 return Value::Cpu;
499 if (lower == toName(Value::Cuda))
500 return Value::Cuda;
501 if (lower == toName(Value::Codegen))
502 return Value::Codegen;
503 if (lower == toName(Value::CodegenNoGrad))
505 throw std::runtime_error("Only supported string values for EvalBackend() are \"legacy\", \"cpu\", \"cuda\", "
506 "\"codegen\", or \"codegen_no_grad\".");
507}
509{
511}
513{
514 return EvalBackend(Value::Cpu);
515}
517{
518 return EvalBackend(Value::Cuda);
519}
521{
523}
525{
527}
528std::string EvalBackend::name() const
529{
530 return toName(value());
531}
533{
534 if (value == Value::Legacy)
535 return "legacy";
536 if (value == Value::Cpu)
537 return "cpu";
538 if (value == Value::Cuda)
539 return "cuda";
540 if (value == Value::Codegen)
541 return "codegen";
543 return "codegen_no_grad";
544 return "";
545}
547{
548 static Value value = Value::Legacy;
549 return value;
550}
551
553{
554 return RooCmdArg("Prefit", 0, 0, data_ratio, 0, nullptr, nullptr, nullptr, nullptr);
555}
557{
558 return RooCmdArg("Optimize", flag);
559}
561{
562 return RooCmdArg("Verbose", flag);
563}
564RooCmdArg Save(bool flag)
565{
566 return RooCmdArg("Save", flag);
567}
568RooCmdArg Timer(bool flag)
569{
570 return RooCmdArg("Timer", flag);
571}
573{
574 return RooCmdArg("PrintLevel", level);
575}
577{
578 return RooCmdArg("MaxCalls", n);
579}
581{
582 return RooCmdArg("Warnings", flag);
583}
585{
586 return RooCmdArg("Strategy", code);
587}
589{
590 return RooCmdArg("InitialHesse", flag);
591}
592RooCmdArg Hesse(bool flag)
593{
594 return RooCmdArg("Hesse", flag);
595}
596RooCmdArg Minos(bool flag)
597{
598 return RooCmdArg("Minos", flag);
599}
600RooCmdArg Minos(const RooArgSet &minosArgs)
601{
602 RooCmdArg out{"Minos", 1};
603 out.setSet(0, minosArgs);
604 return out;
605}
607{
608 return RooCmdArg("SplitRange", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
609}
610RooCmdArg SumCoefRange(const char *rangeName)
611{
612 return RooCmdArg("SumCoefRange", 0, 0, 0, 0, rangeName, nullptr, nullptr, nullptr);
613}
615{
616 for (RooAbsArg *param : params) {
617 if (!dynamic_cast<RooRealVar *>(param)) {
618 std::stringstream errorMsg;
619 errorMsg << "RooFit::Constrain(): you passed the argument \"" << param->GetName()
620 << "\", but it's not a RooRealVar!"
621 << " You can only constrain parameters, which must be RooRealVars.";
622 oocoutE(nullptr, InputArguments) << errorMsg.str() << std::endl;
623 throw std::invalid_argument(errorMsg.str().c_str());
624 }
625 }
626 return RooCmdArg("Constrain", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &params);
627}
628RooCmdArg GlobalObservablesSource(const char *sourceName)
629{
630 return {"GlobalObservablesSource", 0, 0, 0, 0, sourceName, nullptr, nullptr, nullptr};
631}
632RooCmdArg GlobalObservablesTag(const char *tagName)
633{
634 return RooCmdArg("GlobalObservablesTag", 0, 0, 0, 0, tagName, nullptr, nullptr, nullptr);
635}
637{
638 return RooCmdArg("ExternalConstraints", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &cpdfs);
639}
641{
642 return RooCmdArg("PrintEvalErrors", numErrors, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
643}
645{
646 return RooCmdArg("EvalErrorWall", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
647}
649{
650 return RooCmdArg("SumW2Error", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
651}
653{
654 return RooCmdArg("AsymptoticError", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
655}
657{
658 oocoutI(nullptr, InputArguments) << "The deprecated RooFit::CloneData(" << flag
659 << ") option passed to createNLL() is ignored." << std::endl;
660 return RooCmdArg("CloneData", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
661}
663{
664 return RooCmdArg("Integrate", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
665}
666RooCmdArg Minimizer(const char *type, const char *alg)
667{
668 return RooCmdArg("Minimizer", 0, 0, 0, 0, type, alg, nullptr, nullptr);
669}
670
671RooCmdArg Offset(std::string const &mode)
672{
673 std::string lower = mode;
674 std::transform(lower.begin(), lower.end(), lower.begin(), [](unsigned char c) { return std::tolower(c); });
676 if (lower == "none")
677 modeVal = OffsetMode::None;
678 else if (lower == "initial")
679 modeVal = OffsetMode::Initial;
680 else if (lower == "bin")
681 modeVal = OffsetMode::Bin;
682 return RooCmdArg("OffsetLikelihood", static_cast<int>(modeVal));
683}
684
685/// When parameters are chosen such that a PDF is undefined, try to indicate to the minimiser how to leave this region.
686/// \param strength Strength of hints for minimiser. Set to zero to switch off.
688{
689 return RooCmdArg("RecoverFromUndefinedRegions", 0, 0, strength, 0, nullptr, nullptr, nullptr, nullptr);
690}
691
692// RooAbsPdf::paramOn arguments
693RooCmdArg Label(const char *str)
694{
695 return RooCmdArg("Label", 0, 0, 0, 0, str, nullptr, nullptr, nullptr);
696}
697RooCmdArg Layout(double xmin, double xmax, double ymin)
698{
699 return RooCmdArg("Layout", Int_t(ymin * 10000), 0, xmin, xmax, nullptr, nullptr, nullptr, nullptr);
700}
702{
703 RooCmdArg out{"Parameters", 0};
704 out.setSet(0, params);
705 return out;
706}
708{
709 return RooCmdArg("ShowConstants", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
710}
711
712// RooTreeData::statOn arguments
713RooCmdArg What(const char *str)
714{
715 return RooCmdArg("What", 0, 0, 0, 0, str, nullptr, nullptr, nullptr);
716}
717
718// RooProdPdf::ctor arguments
719RooCmdArg Conditional(const RooArgSet &pdfSet, const RooArgSet &depSet, bool depsAreCond)
720{
721 return RooCmdArg("Conditional", depsAreCond, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &pdfSet,
722 &depSet);
723};
724
725// RooAbsPdf::generate arguments
726RooCmdArg ProtoData(const RooDataSet &protoData, bool randomizeOrder, bool resample)
727{
728 return RooCmdArg("PrototypeData", randomizeOrder, resample, 0, 0, nullptr, nullptr, &protoData, nullptr);
729}
731{
732 return RooCmdArg("NumEvents", numEvents, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
733}
734RooCmdArg NumEvents(double numEvents)
735{
736 return RooCmdArg("NumEventsD", 0, 0, numEvents, 0, nullptr, nullptr, nullptr, nullptr);
737}
739{
740 return RooCmdArg("ExpectedData", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
741}
743{
744 return ExpectedData(flag);
745}
747{
748 return RooCmdArg("AutoBinned", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
749}
750RooCmdArg GenBinned(const char *tag)
751{
752 return RooCmdArg("GenBinned", 0, 0, 0, 0, tag, nullptr, nullptr, nullptr);
753}
755{
756 return RooCmdArg("GenBinned", 0, 0, 0, 0, "*", nullptr, nullptr, nullptr);
757}
758
759// RooAbsRealLValue::createHistogram arguments
761{
762 return RooCmdArg("YVar", 0, 0, 0, 0, nullptr, nullptr, &var, nullptr, &arg);
763}
765{
766 return RooCmdArg("ZVar", 0, 0, 0, 0, nullptr, nullptr, &var, nullptr, &arg);
767}
769{
770 return RooCmdArg("AxisLabel", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
771}
773{
774 return RooCmdArg("Scaling", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
775}
776
777// RooAbsReal::createHistogram arguments
779{
780 return RooCmdArg("IntrinsicBinning", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
781}
782
783// RooAbsData::createHistogram arguments
784RooCmdArg AutoSymBinning(Int_t nbins, double marginFactor)
785{
786 return RooCmdArg("AutoRangeData", 1, nbins, marginFactor, 0, nullptr, nullptr, nullptr, nullptr);
787}
788RooCmdArg AutoBinning(Int_t nbins, double marginFactor)
789{
790 return RooCmdArg("AutoRangeData", 0, nbins, marginFactor, 0, nullptr, nullptr, nullptr, nullptr);
791}
792
793// RooAbsReal::fillHistogram arguments
795{
796 return RooCmdArg("IntObs", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, &intObs, nullptr);
797};
798
799// RooAbsReal::createIntegral arguments
801{
802 return RooCmdArg("NumIntConfig", 0, 0, 0, 0, nullptr, nullptr, &cfg, nullptr);
803}
804
805// RooMCStudy::ctor arguments
807{
808 return RooCmdArg("Silence", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
809}
811{
812 return RooCmdArg("FitModel", 0, 0, 0, 0, nullptr, nullptr, &pdf, nullptr);
813}
814RooCmdArg FitOptions(const RooCmdArg &arg1, const RooCmdArg &arg2, const RooCmdArg &arg3, const RooCmdArg &arg4,
815 const RooCmdArg &arg5, const RooCmdArg &arg6)
816{
817 RooCmdArg ret("FitOptArgs", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
818 ret.addArg(arg1);
819 ret.addArg(arg2);
820 ret.addArg(arg3);
821 ret.addArg(arg4);
822 ret.addArg(arg5);
823 ret.addArg(arg6);
824 ret.setProcessRecArgs(false);
825 return ret;
826}
828{
829 return RooCmdArg("Binned", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
830}
832{
833 return RooCmdArg("BootStrapData", 0, 0, 0, 0, nullptr, nullptr, &dset, nullptr);
834}
835
836// RooMCStudy::plot* arguments
837RooCmdArg Frame(const RooCmdArg &arg1, const RooCmdArg &arg2, const RooCmdArg &arg3, const RooCmdArg &arg4,
838 const RooCmdArg &arg5, const RooCmdArg &arg6)
839{
840 RooCmdArg ret("FrameArgs", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
841 ret.addArg(arg1);
842 ret.addArg(arg2);
843 ret.addArg(arg3);
844 ret.addArg(arg4);
845 ret.addArg(arg5);
846 ret.addArg(arg6);
847 ret.setProcessRecArgs(false);
848 return ret;
849}
851{
852 return RooCmdArg("Bins", nbins, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
853}
854RooCmdArg FrameRange(double xlo, double xhi)
855{
856 return RooCmdArg("Range", 0, 0, xlo, xhi, nullptr, nullptr, nullptr, nullptr);
857}
859{
860 return RooCmdArg("FitGauss", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
861}
862
863// RooRealVar::format arguments
865{
866 return RooCmdArg("ShowName", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
867}
869{
870 return RooCmdArg("ShowValue", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
871}
873{
874 return RooCmdArg("ShowError", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
875}
877{
878 return RooCmdArg("ShowAsymError", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
879}
881{
882 return RooCmdArg("ShowUnit", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
883}
885{
886 return RooCmdArg("AutoPrecision", ndigit, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
887}
889{
890 return RooCmdArg("FixedPrecision", ndigit, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
891}
893{
894 return RooCmdArg("TLatexStyle", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
895}
897{
898 return RooCmdArg("LatexStyle", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
899}
901{
902 return RooCmdArg("LatexTableStyle", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
903}
905{
906 return RooCmdArg("VerbatimName", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
907}
908
909// RooMsgService::addReportingStream arguments
911{
912 return RooCmdArg("Topic", topic, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
913}
915{
916 return RooCmdArg("ObjectName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
917}
919{
920 return RooCmdArg("ClassName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
921}
923{
924 return RooCmdArg("BaseClassName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
925}
927{
928 return RooCmdArg("LabelName", 0, 0, 0, 0, name, nullptr, nullptr, nullptr);
929}
931{
932 return RooCmdArg("OutputStream", 0, 0, 0, 0, nullptr, nullptr, new RooHelpers::WrapIntoTObject<ostream>(os),
933 nullptr);
934}
936{
937 return RooCmdArg("Prefix", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
938}
940{
941 return RooCmdArg("Color", color, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
942}
943
944// RooWorkspace::import() arguments
945RooCmdArg RenameConflictNodes(const char *suffix, bool ro)
946{
947 return RooCmdArg("RenameConflictNodes", ro, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
948}
950{
951 return RooCmdArg("RecycleConflictNodes", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
952}
953RooCmdArg RenameAllNodes(const char *suffix)
954{
955 return RooCmdArg("RenameAllNodes", 0, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
956}
957RooCmdArg RenameAllVariables(const char *suffix)
958{
959 return RooCmdArg("RenameAllVariables", 0, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
960}
961RooCmdArg RenameAllVariablesExcept(const char *suffix, const char *except)
962{
963 return RooCmdArg("RenameAllVariables", 0, 0, 0, 0, suffix, except, nullptr, nullptr);
964}
965RooCmdArg RenameVariable(const char *in, const char *out)
966{
967 return RooCmdArg("RenameVar", 0, 0, 0, 0, in, out, nullptr, nullptr);
968}
969RooCmdArg Rename(const char *suffix)
970{
971 return RooCmdArg("Rename", 0, 0, 0, 0, suffix, nullptr, nullptr, nullptr);
972}
974{
975 return RooCmdArg("Embedded", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
976}
978{
979 return RooCmdArg("NoRecursion", flag, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
980}
981
982// RooSimCloneTool::build() arguments
983RooCmdArg SplitParam(const char *varname, const char *catname)
984{
985 return RooCmdArg("SplitParam", 0, 0, 0, 0, varname, catname, nullptr, nullptr);
986}
988{
989 return RooCmdArg("SplitParam", 0, 0, 0, 0, var.GetName(), cat.GetName(), nullptr, nullptr);
990}
991RooCmdArg SplitParamConstrained(const char *varname, const char *catname, const char *rsname)
992{
993 return RooCmdArg("SplitParamConstrained", 0, 0, 0, 0, varname, catname, nullptr, nullptr, nullptr, rsname);
994}
995RooCmdArg SplitParamConstrained(const RooRealVar &var, const RooAbsCategory &cat, const char *rsname)
996{
997 return RooCmdArg("SplitParamConstrained", 0, 0, 0, 0, var.GetName(), cat.GetName(), nullptr, nullptr, nullptr,
998 rsname);
999}
1000RooCmdArg Restrict(const char *catName, const char *stateNameList)
1001{
1002 return RooCmdArg("Restrict", 0, 0, 0, 0, catName, stateNameList, nullptr, nullptr);
1003}
1004
1005// RooAbsPdf::createCdf() arguments
1007{
1008 RooCmdArg out{"SupNormSet", 0};
1009 out.setSet(0, nset);
1010 return out;
1011}
1013{
1014 return RooCmdArg("ScanParameters", nbins, intOrder, 0, 0, nullptr, nullptr, nullptr, nullptr);
1015}
1017{
1018 return RooCmdArg("ScanNumCdf", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1019}
1021{
1022 return RooCmdArg("ScanAllCdf", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1023}
1025{
1026 return RooCmdArg("ScanNoCdf", 1, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1027}
1028
1029RooCmdArg MultiArg(const RooCmdArg &arg1, const RooCmdArg &arg2, const RooCmdArg &arg3, const RooCmdArg &arg4,
1030 const RooCmdArg &arg5, const RooCmdArg &arg6, const RooCmdArg &arg7, const RooCmdArg &arg8)
1031{
1032 RooCmdArg ret("MultiArg", 0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
1033 ret.addArg(arg1);
1034 ret.addArg(arg2);
1035 ret.addArg(arg3);
1036 ret.addArg(arg4);
1037 ret.addArg(arg5);
1038 ret.addArg(arg6);
1039 ret.addArg(arg7);
1040 ret.addArg(arg8);
1041 ret.setProcessRecArgs(true, false);
1042 return ret;
1043}
1044
1046{
1047 return RooRealConstant::value(val);
1048}
1049
1050} // End namespace RooFit
1051
1052namespace RooFitShortHand {
1053
1055{
1056 return RooFit::RooConst(value);
1057}
1058
1059} // 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:89
int Int_t
Definition RtypesCore.h:45
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
void(* Func_t)()
Definition TSystem.h:238
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Definition RooAbsArg.h:79
RooAbsBinning is the 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
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
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.
static const RooCmdArg & none()
Return reference to null argument.
Definition RooCmdArg.cxx:51
void setProcessRecArgs(bool flag, bool prefix=true)
Definition RooCmdArg.h:45
RooConstVar represent a constant real-valued object.
Definition RooConstVar.h:23
The RooDataHist is a container class to hold N-dimensional binned data.
Definition RooDataHist.h:39
RooDataSet is a 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()
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...
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
static RooConstVar & value(double value)
Return a constant value object with given value.
RooRealVar represents a 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:58
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 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 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 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)
Definition tree.py:1
void inv(rsa_NUMBER *, rsa_NUMBER *, rsa_NUMBER *)
Definition rsaaux.cxx:949
static const char * what
Definition stlLoader.cc:6
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