Logo ROOT   6.18/05
Reference Guide
RooAbsReal.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id: RooAbsReal.h,v 1.75 2007/07/13 21:50:24 wouter Exp $
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16#ifndef ROO_ABS_REAL
17#define ROO_ABS_REAL
18
19#include "RooAbsArg.h"
20#include "RooCmdArg.h"
21#include "RooCurve.h"
22#include "RooArgSet.h"
23#include "RooArgList.h"
24#include "RooGlobalFunc.h"
25
26class RooArgList ;
27class RooDataSet ;
28class RooPlot;
29class RooRealVar;
30class RooAbsFunc;
32class RooCategory ;
33class RooLinkedList ;
34class RooNumIntConfig ;
35class RooDataHist ;
36class RooFunctor ;
37class RooGenFunction ;
39class RooFitResult ;
40class RooAbsMoment ;
41class RooDerivative ;
43
44class TH1;
45class TH1F;
46class TH2F;
47class TH3F;
48
49#include <list>
50#include <string>
51#include <iostream>
52
53class RooAbsReal : public RooAbsArg {
54public:
55 // Constructors, assignment etc
56 RooAbsReal() ;
57 RooAbsReal(const char *name, const char *title, const char *unit= "") ;
58 RooAbsReal(const char *name, const char *title, Double_t minVal, Double_t maxVal,
59 const char *unit= "") ;
60 RooAbsReal(const RooAbsReal& other, const char* name=0);
61 RooAbsReal& operator=(const RooAbsReal& other);
62 virtual ~RooAbsReal();
63
64
65
66
67 //////////////////////////////////////////////////////////////////////////////////
68 /// Evaluate object. Returns either cached value or triggers a recalculation.
69 /// The recalculation happens by calling getValV(), which in the end calls the
70 /// virtual evaluate() functions of the respective PDFs.
71 /// \param[in] normalisationSet getValV() reacts differently depending on the value of the normalisation set.
72 /// If the set is `nullptr`, an unnormalised value is returned.
73 /// \note The normalisation is arbitrary, because it is up to the implementation
74 /// of the PDF to e.g. leave out normalisation constants for speed reasons. The range
75 /// of the variables is also ignored.
76 ///
77 /// To normalise the result properly, a RooArgSet has to be passed, which contains
78 /// the variables to normalise over.
79 /// These are integrated over their current ranges to compute the normalisation constant,
80 /// and the unnormalised result is divided by this value.
81 inline Double_t getVal(const RooArgSet* normalisationSet = nullptr) const {
82/* if (_fast && !_inhibitDirty && std::string("RooHistFunc")==IsA()->GetName()) std::cout << "RooAbsReal::getVal(" << GetName() << ") CLEAN value = " << _value << std::endl ; */
83#ifndef _WIN32
84 return (_fast && !_inhibitDirty) ? _value : getValV(normalisationSet) ;
85#else
86 return (_fast && !inhibitDirty()) ? _value : getValV(normalisationSet) ;
87#endif
88 }
89 /// Like getVal(const RooArgSet*), but always requires an argument for normalisation.
90 inline Double_t getVal(const RooArgSet& normalisationSet) const { return _fast ? _value : getValV(&normalisationSet) ; }
91
92 virtual Double_t getValV(const RooArgSet* normalisationSet = nullptr) const ;
93
95
96 Bool_t operator==(Double_t value) const ;
97 virtual Bool_t operator==(const RooAbsArg& other) ;
98 virtual Bool_t isIdentical(const RooAbsArg& other, Bool_t assumeSameType=kFALSE) ;
99
100
101 inline const Text_t *getUnit() const {
102 // Return string with unit description
103 return _unit.Data();
104 }
105 inline void setUnit(const char *unit) {
106 // Set unit description to given string
107 _unit= unit;
108 }
109 TString getTitle(Bool_t appendUnit= kFALSE) const;
110
111 // Lightweight interface adaptors (caller takes ownership)
112 RooAbsFunc *bindVars(const RooArgSet &vars, const RooArgSet* nset=0, Bool_t clipInvalid=kFALSE) const;
113
114 // Create a fundamental-type object that can hold our value.
115 RooAbsArg *createFundamental(const char* newname=0) const;
116
117 // Analytical integration support
118 virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& analVars, const RooArgSet* normSet, const char* rangeName=0) const ;
119 virtual Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName=0) const ;
120 virtual Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
121 virtual Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
122 virtual Bool_t forceAnalyticalInt(const RooAbsArg& /*dep*/) const {
123 // Interface to force RooRealIntegral to offer given observable for internal integration
124 // even if this is deemed unsafe. This default implementation returns always flase
125 return kFALSE ;
126 }
127 virtual void forceNumInt(Bool_t flag=kTRUE) {
128 // If flag is true, all advertised analytical integrals will be ignored
129 // and all integrals are calculated numerically
130 _forceNumInt = flag ;
131 }
132 Bool_t getForceNumInt() const { return _forceNumInt ; }
133
134 // Chi^2 fits to histograms
135 virtual RooFitResult* chi2FitTo(RooDataHist& data, const RooCmdArg& arg1=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(),
136 const RooCmdArg& arg3=RooCmdArg::none(), const RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5=RooCmdArg::none(),
137 const RooCmdArg& arg6=RooCmdArg::none(), const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none()) ;
138 virtual RooFitResult* chi2FitTo(RooDataHist& data, const RooLinkedList& cmdList) ;
139
140 virtual RooAbsReal* createChi2(RooDataHist& data, const RooLinkedList& cmdList) ;
141 virtual RooAbsReal* createChi2(RooDataHist& data, const RooCmdArg& arg1=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(),
142 const RooCmdArg& arg3=RooCmdArg::none(), const RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5=RooCmdArg::none(),
143 const RooCmdArg& arg6=RooCmdArg::none(), const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none()) ;
144
145 // Chi^2 fits to X-Y datasets
146 virtual RooFitResult* chi2FitTo(RooDataSet& xydata, const RooCmdArg& arg1=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(),
147 const RooCmdArg& arg3=RooCmdArg::none(), const RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5=RooCmdArg::none(),
148 const RooCmdArg& arg6=RooCmdArg::none(), const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none()) ;
149 virtual RooFitResult* chi2FitTo(RooDataSet& xydata, const RooLinkedList& cmdList) ;
150
151 virtual RooAbsReal* createChi2(RooDataSet& data, const RooLinkedList& cmdList) ;
152 virtual RooAbsReal* createChi2(RooDataSet& data, const RooCmdArg& arg1=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(),
153 const RooCmdArg& arg3=RooCmdArg::none(), const RooCmdArg& arg4=RooCmdArg::none(), const RooCmdArg& arg5=RooCmdArg::none(),
154 const RooCmdArg& arg6=RooCmdArg::none(), const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none()) ;
155
156
157 virtual RooAbsReal* createProfile(const RooArgSet& paramsOfInterest) ;
158
159
160 RooAbsReal* createIntegral(const RooArgSet& iset, const RooCmdArg& arg1, const RooCmdArg& arg2=RooCmdArg::none(),
161 const RooCmdArg& arg3=RooCmdArg::none(), const RooCmdArg& arg4=RooCmdArg::none(),
162 const RooCmdArg& arg5=RooCmdArg::none(), const RooCmdArg& arg6=RooCmdArg::none(),
163 const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none()) const ;
164
165 RooAbsReal* createIntegral(const RooArgSet& iset, const char* rangeName) const {
166 // Create integral over observables in iset in range named rangeName
167 return createIntegral(iset,0,0,rangeName) ;
168 }
169 RooAbsReal* createIntegral(const RooArgSet& iset, const RooArgSet& nset, const char* rangeName=0) const {
170 // Create integral over observables in iset in range named rangeName with integrand normalized over observables in nset
171 return createIntegral(iset,&nset,0,rangeName) ;
172 }
173 RooAbsReal* createIntegral(const RooArgSet& iset, const RooArgSet& nset, const RooNumIntConfig& cfg, const char* rangeName=0) const {
174 // Create integral over observables in iset in range named rangeName with integrand normalized over observables in nset while
175 // using specified configuration for any numeric integration
176 return createIntegral(iset,&nset,&cfg,rangeName) ;
177 }
178 RooAbsReal* createIntegral(const RooArgSet& iset, const RooNumIntConfig& cfg, const char* rangeName=0) const {
179 // Create integral over observables in iset in range named rangeName using specified configuration for any numeric integration
180 return createIntegral(iset,0,&cfg,rangeName) ;
181 }
182 virtual RooAbsReal* createIntegral(const RooArgSet& iset, const RooArgSet* nset=0, const RooNumIntConfig* cfg=0, const char* rangeName=0) const ;
183
184
185 void setParameterizeIntegral(const RooArgSet& paramVars) ;
186
187 // Create running integrals
188 RooAbsReal* createRunningIntegral(const RooArgSet& iset, const RooArgSet& nset=RooArgSet()) ;
189 RooAbsReal* createRunningIntegral(const RooArgSet& iset, const RooCmdArg& arg1, const RooCmdArg& arg2=RooCmdArg::none(),
190 const RooCmdArg& arg3=RooCmdArg::none(), const RooCmdArg& arg4=RooCmdArg::none(),
191 const RooCmdArg& arg5=RooCmdArg::none(), const RooCmdArg& arg6=RooCmdArg::none(),
192 const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none()) ;
193 RooAbsReal* createIntRI(const RooArgSet& iset, const RooArgSet& nset=RooArgSet()) ;
194 RooAbsReal* createScanRI(const RooArgSet& iset, const RooArgSet& nset, Int_t numScanBins, Int_t intOrder) ;
195
196
197 // Optimized accept/reject generator support
198 virtual Int_t getMaxVal(const RooArgSet& vars) const ;
199 virtual Double_t maxVal(Int_t code) const ;
200 virtual Int_t minTrialSamples(const RooArgSet& /*arGenObs*/) const { return 0 ; }
201
202
203 // Plotting options
204 void setPlotLabel(const char *label);
205 const char *getPlotLabel() const;
206
207 virtual Double_t defaultErrorLevel() const {
208 // Return default level for MINUIT error analysis
209 return 1.0 ;
210 }
211
212 const RooNumIntConfig* getIntegratorConfig() const ;
217 void setIntegratorConfig() ;
218 void setIntegratorConfig(const RooNumIntConfig& config) ;
219
220 virtual void fixAddCoefNormalization(const RooArgSet& addNormSet=RooArgSet(),Bool_t force=kTRUE) ;
221 virtual void fixAddCoefRange(const char* rangeName=0,Bool_t force=kTRUE) ;
222
223 virtual void preferredObservableScanOrder(const RooArgSet& obs, RooArgSet& orderedObs) const ;
224
225 // User entry point for plotting
226 virtual RooPlot* plotOn(RooPlot* frame,
227 const RooCmdArg& arg1=RooCmdArg(), const RooCmdArg& arg2=RooCmdArg(),
228 const RooCmdArg& arg3=RooCmdArg(), const RooCmdArg& arg4=RooCmdArg(),
229 const RooCmdArg& arg5=RooCmdArg(), const RooCmdArg& arg6=RooCmdArg(),
230 const RooCmdArg& arg7=RooCmdArg(), const RooCmdArg& arg8=RooCmdArg(),
231 const RooCmdArg& arg9=RooCmdArg(), const RooCmdArg& arg10=RooCmdArg()
232 ) const ;
233
234
236
237 // Forwarder function for backward compatibility
238 virtual RooPlot *plotSliceOn(RooPlot *frame, const RooArgSet& sliceSet, Option_t* drawOptions="L",
239 Double_t scaleFactor=1.0, ScaleType stype=Relative, const RooAbsData* projData=0) const;
240
241 // Fill an existing histogram
242 TH1 *fillHistogram(TH1 *hist, const RooArgList &plotVars,
243 Double_t scaleFactor= 1, const RooArgSet *projectedVars= 0, Bool_t scaling=kTRUE,
244 const RooArgSet* condObs=0, Bool_t setError=kTRUE) const;
245
246 // Create 1,2, and 3D histograms from and fill it
247 TH1 *createHistogram(const char* varNameList, Int_t xbins=0, Int_t ybins=0, Int_t zbins=0) const ;
248 TH1* createHistogram(const char *name, const RooAbsRealLValue& xvar, RooLinkedList& argList) const ;
249 TH1 *createHistogram(const char *name, const RooAbsRealLValue& xvar,
250 const RooCmdArg& arg1=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(),
251 const RooCmdArg& arg3=RooCmdArg::none(), const RooCmdArg& arg4=RooCmdArg::none(),
252 const RooCmdArg& arg5=RooCmdArg::none(), const RooCmdArg& arg6=RooCmdArg::none(),
253 const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none()) const ;
254
255 // Fill a RooDataHist
256 RooDataHist* fillDataHist(RooDataHist *hist, const RooArgSet* nset, Double_t scaleFactor,
257 Bool_t correctForBinVolume=kFALSE, Bool_t showProgress=kFALSE) const ;
258
259 // I/O streaming interface (machine readable)
260 virtual Bool_t readFromStream(std::istream& is, Bool_t compact, Bool_t verbose=kFALSE) ;
261 virtual void writeToStream(std::ostream& os, Bool_t compact) const ;
262
263 // Printing interface (human readable)
264 virtual void printValue(std::ostream& os) const ;
265 virtual void printMultiline(std::ostream& os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const ;
266
267 static void setCacheCheck(Bool_t flag) ;
268
269 // Evaluation error logging
270 class EvalError {
271 public:
273 EvalError(const EvalError& other) : _msg(other._msg), _srvval(other._srvval) { }
274 void setMessage(const char* tmp) { std::string s(tmp); s.swap(_msg); }
275 void setServerValues(const char* tmp) { std::string s(tmp); s.swap(_srvval); }
276 std::string _msg;
277 std::string _srvval;
278 } ;
279
283 void logEvalError(const char* message, const char* serverValueString=0) const ;
284 static void logEvalError(const RooAbsReal* originator, const char* origName, const char* message, const char* serverValueString=0) ;
285 static void printEvalErrors(std::ostream&os=std::cout, Int_t maxPerNode=10000000) ;
286 static Int_t numEvalErrors() ;
287 static Int_t numEvalErrorItems() ;
288
289
290 typedef std::map<const RooAbsArg*,std::pair<std::string,std::list<EvalError> > >::const_iterator EvalErrorIter ;
292
293 static void clearEvalErrorLog() ;
294
295 virtual Bool_t isBinnedDistribution(const RooArgSet& /*obs*/) const { return kFALSE ; }
296 virtual std::list<Double_t>* binBoundaries(RooAbsRealLValue& /*obs*/, Double_t /*xlo*/, Double_t /*xhi*/) const { return 0 ; }
297 virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& /*obs*/, Double_t /*xlo*/, Double_t /*xhi*/) const {
298 // Interface for returning an optional hint for initial sampling points when constructing a curve
299 // projected on observable.
300 return 0 ;
301 }
302
304 RooMultiGenFunction* iGenFunction(const RooArgSet& observables, const RooArgSet& nset=RooArgSet()) ;
305
306 RooFunctor* functor(const RooArgList& obs, const RooArgList& pars=RooArgList(), const RooArgSet& nset=RooArgSet()) const ;
307 TF1* asTF(const RooArgList& obs, const RooArgList& pars=RooArgList(), const RooArgSet& nset=RooArgSet()) const ;
308
309 RooDerivative* derivative(RooRealVar& obs, Int_t order=1, Double_t eps=0.001) ;
310 RooDerivative* derivative(RooRealVar& obs, const RooArgSet& normSet, Int_t order, Double_t eps=0.001) ;
311
312 RooAbsMoment* moment(RooRealVar& obs, Int_t order, Bool_t central, Bool_t takeRoot) ;
313 RooAbsMoment* moment(RooRealVar& obs, const RooArgSet& normObs, Int_t order, Bool_t central, Bool_t takeRoot, Bool_t intNormObs) ;
314
315 RooAbsMoment* mean(RooRealVar& obs) { return moment(obs,1,kFALSE,kFALSE) ; }
316 RooAbsMoment* mean(RooRealVar& obs, const RooArgSet& nset) { return moment(obs,nset,1,kFALSE,kFALSE,kTRUE) ; }
317 RooAbsMoment* sigma(RooRealVar& obs) { return moment(obs,2,kTRUE,kTRUE) ; }
318 RooAbsMoment* sigma(RooRealVar& obs, const RooArgSet& nset) { return moment(obs,nset,2,kTRUE,kTRUE,kTRUE) ; }
319
321
322
323 virtual Bool_t setData(RooAbsData& /*data*/, Bool_t /*cloneData*/=kTRUE) { return kTRUE ; }
324
325 virtual void enableOffsetting(Bool_t) {} ;
326 virtual Bool_t isOffsetting() const { return kFALSE ; }
327 virtual Double_t offset() const { return 0 ; }
328
329 static void setHideOffset(Bool_t flag);
330 static Bool_t hideOffset() ;
331
332protected:
333 // Hook for objects with normalization-dependent parameters interperetation
334 virtual void selectNormalization(const RooArgSet* depSet=0, Bool_t force=kFALSE) ;
335 virtual void selectNormalizationRange(const char* rangeName=0, Bool_t force=kFALSE) ;
336
337 // Helper functions for plotting
338 Bool_t plotSanityChecks(RooPlot* frame) const ;
339 void makeProjectionSet(const RooAbsArg* plotVar, const RooArgSet* allVars,
340 RooArgSet& projectedVars, Bool_t silent) const ;
341
342 TString integralNameSuffix(const RooArgSet& iset, const RooArgSet* nset=0, const char* rangeName=0, Bool_t omitEmpty=kFALSE) const ;
343
344
345 Bool_t isSelectedComp() const ;
346
347
348 public:
349 const RooAbsReal* createPlotProjection(const RooArgSet& depVars, const RooArgSet& projVars) const ;
350 const RooAbsReal* createPlotProjection(const RooArgSet& depVars, const RooArgSet& projVars, RooArgSet*& cloneSet) const ;
351 const RooAbsReal *createPlotProjection(const RooArgSet &dependentVars, const RooArgSet *projectedVars,
352 RooArgSet *&cloneSet, const char* rangeName=0, const RooArgSet* condObs=0) const;
353 protected:
354
356
357 void plotOnCompSelect(RooArgSet* selNodes) const ;
358 RooPlot* plotOnWithErrorBand(RooPlot* frame,const RooFitResult& fr, Double_t Z, const RooArgSet* params, const RooLinkedList& argList, Bool_t method1) const ;
359
360 // Support interface for subclasses to advertise their analytic integration
361 // and generator capabilities in their analticalIntegral() and generateEvent()
362 // implementations.
363 Bool_t matchArgs(const RooArgSet& allDeps, RooArgSet& numDeps,
364 const RooArgProxy& a) const ;
365 Bool_t matchArgs(const RooArgSet& allDeps, RooArgSet& numDeps,
366 const RooArgProxy& a, const RooArgProxy& b) const ;
367 Bool_t matchArgs(const RooArgSet& allDeps, RooArgSet& numDeps,
368 const RooArgProxy& a, const RooArgProxy& b, const RooArgProxy& c) const ;
369 Bool_t matchArgs(const RooArgSet& allDeps, RooArgSet& numDeps,
370 const RooArgProxy& a, const RooArgProxy& b,
371 const RooArgProxy& c, const RooArgProxy& d) const ;
372
373 Bool_t matchArgs(const RooArgSet& allDeps, RooArgSet& numDeps,
374 const RooArgSet& set) const ;
375
376
377 RooAbsReal* createIntObj(const RooArgSet& iset, const RooArgSet* nset, const RooNumIntConfig* cfg, const char* rangeName) const ;
378 void findInnerMostIntegration(const RooArgSet& allObs, RooArgSet& innerObs, const char* rangeName) const ;
379
380
381 // Internal consistency checking (needed by RooDataSet)
382 virtual Bool_t isValid() const ;
383 virtual Bool_t isValidReal(Double_t value, Bool_t printError=kFALSE) const ;
384
385 // Function evaluation and error tracing
386 Double_t traceEval(const RooArgSet* set) const ;
387 virtual Bool_t traceEvalHook(Double_t /*value*/) const {
388 // Hook function to add functionality to evaluation tracing in derived classes
389 return kFALSE ;
390 }
391 /// Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
392 virtual Double_t evaluate() const = 0 ;
393
394 // Hooks for RooDataSet interface
395 friend class RooRealIntegral ;
396 friend class RooVectorDataStore ;
397 virtual void syncCache(const RooArgSet* set=0) { getVal(set) ; }
398 virtual void copyCache(const RooAbsArg* source, Bool_t valueOnly=kFALSE, Bool_t setValDirty=kTRUE) ;
399 virtual void attachToTree(TTree& t, Int_t bufSize=32000) ;
400 virtual void attachToVStore(RooVectorDataStore& vstore) ;
401 virtual void setTreeBranchStatus(TTree& t, Bool_t active) ;
402 virtual void fillTreeBranch(TTree& t) ;
403
404 friend class RooRealBinding ;
405 Double_t _plotMin ; // Minimum of plot range
406 Double_t _plotMax ; // Maximum of plot range
407 Int_t _plotBins ; // Number of plot bins
408 mutable Double_t _value ; // Cache for current value of object
409 TString _unit ; // Unit for objects value
410 TString _label ; // Plot label for objects value
411 Bool_t _forceNumInt ; // Force numerical integration if flag set
412
413 mutable Float_t _floatValue{0.}; //! Transient cache for floating point values from tree branches
414 mutable Int_t _intValue{0}; //! Transient cache for integer values from tree branches
415 mutable Bool_t _boolValue{false}; //! Transient cache for bool values from tree branches
416 mutable UChar_t _byteValue{'\0'}; //! Transient cache for byte values from tree branches
417 mutable Char_t _sbyteValue{'\0'}; //! Transient cache for signed byte values from tree branches
418 mutable UInt_t _uintValue{0u}; //! Transient cache for unsigned integer values from tree branches
419
420 friend class RooAbsPdf ;
421 friend class RooAbsAnaConvPdf ;
422 friend class RooRealProxy ;
423
424 RooNumIntConfig* _specIntegratorConfig ; // Numeric integrator configuration specific for this object
425
426 Bool_t _treeVar ; // !do not persist
427
428 static Bool_t _cacheCheck ; // If true, always validate contents of clean which outcome of evaluate()
429
430 friend class RooDataProjBinding ;
432
433 struct PlotOpt {
447 const char* normRangeName ;
454 const char* curveName ;
455 const char* addToCurveName ;
460 const char* curveNameSuffix ;
465 } ;
466
467 // Plot implementation functions
468 virtual RooPlot *plotOn(RooPlot* frame, PlotOpt o) const;
469
470public:
471 // PlotOn with command list
472 virtual RooPlot* plotOn(RooPlot* frame, RooLinkedList& cmdList) const ;
473
474 protected:
475 virtual RooPlot *plotAsymOn(RooPlot *frame, const RooAbsCategoryLValue& asymCat, PlotOpt o) const;
476
477
478private:
479
481 static std::map<const RooAbsArg*,std::pair<std::string,std::list<EvalError> > > _evalErrorList ;
483
484 Bool_t matchArgsByName(const RooArgSet &allArgs, RooArgSet &matchedArgs, const TList &nameList) const;
485
486protected:
487
488
489 friend class RooRealSumPdf ;
490 friend class RooRealSumFunc;
491 friend class RooAddPdf ;
492 friend class RooAddModel ;
493 void selectComp(Bool_t flag) {
494 // If flag is true, only selected component will be included in evaluates of RooAddPdf components
495 _selectComp = flag ;
496 }
497 static void globalSelectComp(Bool_t flag) ;
498 Bool_t _selectComp ; //! Component selection flag for RooAbsPdf::plotCompOn
499 static Bool_t _globalSelectComp ; // Global activation switch for component selection
500 // This struct can be used to flip the global switch to select components.
501 // Doing this with RAII prevents forgetting to reset the state.
507 }
508
512 }
513
515 };
516
517
518 mutable RooArgSet* _lastNSet ; //!
519 static Bool_t _hideOffset ; // Offset hiding flag
520
521 ClassDef(RooAbsReal,2) // Abstract real-valued variable
522};
523
524#endif
#define d(i)
Definition: RSha256.hxx:102
#define b(i)
Definition: RSha256.hxx:100
#define c(i)
Definition: RSha256.hxx:101
#define e(i)
Definition: RSha256.hxx:103
int Int_t
Definition: RtypesCore.h:41
char Text_t
Definition: RtypesCore.h:58
unsigned char UChar_t
Definition: RtypesCore.h:34
char Char_t
Definition: RtypesCore.h:29
unsigned int UInt_t
Definition: RtypesCore.h:42
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
float Float_t
Definition: RtypesCore.h:53
const Bool_t kTRUE
Definition: RtypesCore.h:87
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:326
static void indent(ostringstream &buf, int indent_level)
char name[80]
Definition: TGX11.cxx:109
float xmin
Definition: THbookFile.cxx:93
float xmax
Definition: THbookFile.cxx:93
RooAbsAnaConvPdf is the base class for PDFs that represent a physics model that can be analytically c...
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
Definition: RooAbsArg.h:70
Bool_t _fast
Definition: RooAbsArg.h:620
friend class RooArgSet
Definition: RooAbsArg.h:516
Bool_t inhibitDirty() const
Delete watch flag.
Definition: RooAbsArg.cxx:84
static Bool_t _inhibitDirty
Definition: RooAbsArg.h:602
RooAbsCategoryLValue is the common abstract base class for objects that represent a discrete value th...
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:37
Abstract interface for evaluating a real-valued function of one real variable and performing numerica...
Definition: RooAbsFunc.h:23
RooAbsMoment represents the first, second, or third order derivative of any RooAbsReal as calculated ...
Definition: RooAbsMoment.h:27
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
void setServerValues(const char *tmp)
Definition: RooAbsReal.h:275
std::string _srvval
Definition: RooAbsReal.h:277
void setMessage(const char *tmp)
Definition: RooAbsReal.h:274
EvalError(const EvalError &other)
Definition: RooAbsReal.h:273
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:53
void plotOnCompSelect(RooArgSet *selNodes) const
Helper function for plotting of composite p.d.fs.
RooGenFunction * iGenFunction(RooRealVar &x, const RooArgSet &nset=RooArgSet())
virtual RooPlot * plotSliceOn(RooPlot *frame, const RooArgSet &sliceSet, Option_t *drawOptions="L", Double_t scaleFactor=1.0, ScaleType stype=Relative, const RooAbsData *projData=0) const
virtual Bool_t readFromStream(std::istream &is, Bool_t compact, Bool_t verbose=kFALSE)
Read object contents from stream (dummy for now)
Definition: RooAbsReal.cxx:418
TString _label
Definition: RooAbsReal.h:410
@ RelativeExpected
Definition: RooAbsReal.h:235
RooAbsReal * createIntegral(const RooArgSet &iset, const RooNumIntConfig &cfg, const char *rangeName=0) const
Definition: RooAbsReal.h:178
virtual Bool_t isIdentical(const RooAbsArg &other, Bool_t assumeSameType=kFALSE)
Definition: RooAbsReal.cxx:239
RooAbsMoment * mean(RooRealVar &obs)
Definition: RooAbsReal.h:315
TH1 * fillHistogram(TH1 *hist, const RooArgList &plotVars, Double_t scaleFactor=1, const RooArgSet *projectedVars=0, Bool_t scaling=kTRUE, const RooArgSet *condObs=0, Bool_t setError=kTRUE) const
Fill the ROOT histogram 'hist' with values sampled from this function at the bin centers.
virtual void selectNormalizationRange(const char *rangeName=0, Bool_t force=kFALSE)
Interface function to force use of a given normalization range to interpret function value.
TString getTitle(Bool_t appendUnit=kFALSE) const
Return this variable's title string.
Definition: RooAbsReal.cxx:254
virtual Bool_t isOffsetting() const
Definition: RooAbsReal.h:326
static Int_t numEvalErrorItems()
Definition: RooAbsReal.cxx:294
static void setHideOffset(Bool_t flag)
Definition: RooAbsReal.cxx:117
RooAbsReal()
coverity[UNINIT_CTOR] Default constructor
Definition: RooAbsReal.cxx:129
virtual Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &analVars, const RooArgSet *normSet, const char *rangeName=0) const
Variant of getAnalyticalIntegral that is also passed the normalization set that should be applied to ...
Definition: RooAbsReal.cxx:343
Bool_t _forceNumInt
Definition: RooAbsReal.h:411
RooAbsReal * createScanRI(const RooArgSet &iset, const RooArgSet &nset, Int_t numScanBins, Int_t intOrder)
Utility function for createRunningIntegral that construct an object implementing the numeric scanning...
virtual Double_t defaultErrorLevel() const
Definition: RooAbsReal.h:207
UChar_t _byteValue
Transient cache for bool values from tree branches.
Definition: RooAbsReal.h:416
Bool_t isSelectedComp() const
If true, the current pdf is a selected component (for use in plotting)
virtual RooAbsReal * createChi2(RooDataHist &data, const RooLinkedList &cmdList)
Create a variable from a histogram and this function.
RooArgSet * _lastNSet
Definition: RooAbsReal.h:518
RooDerivative * derivative(RooRealVar &obs, Int_t order=1, Double_t eps=0.001)
Return function representing first, second or third order derivative of this function.
Float_t _floatValue
Definition: RooAbsReal.h:413
virtual Bool_t isValidReal(Double_t value, Bool_t printError=kFALSE) const
Interface function to check if given value is a valid value for this object.
Definition: RooAbsReal.cxx:473
virtual std::list< Double_t > * plotSamplingHint(RooAbsRealLValue &, Double_t, Double_t) const
Definition: RooAbsReal.h:297
static Bool_t _cacheCheck
Definition: RooAbsReal.h:428
virtual RooPlot * plotOn(RooPlot *frame, const RooCmdArg &arg1=RooCmdArg(), const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg(), const RooCmdArg &arg9=RooCmdArg(), const RooCmdArg &arg10=RooCmdArg()) const
Plot (project) PDF on specified frame.
void setParameterizeIntegral(const RooArgSet &paramVars)
static Bool_t hideOffset()
Definition: RooAbsReal.cxx:118
virtual Double_t evaluate() const =0
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
virtual void setTreeBranchStatus(TTree &t, Bool_t active)
(De)Activate associated tree branch
virtual RooAbsReal * createProfile(const RooArgSet &paramsOfInterest)
Create a RooProfileLL object that eliminates all nuisance parameters in the present function.
Definition: RooAbsReal.cxx:486
RooAbsReal * createIntegral(const RooArgSet &iset, const RooArgSet &nset, const RooNumIntConfig &cfg, const char *rangeName=0) const
Definition: RooAbsReal.h:173
TString integralNameSuffix(const RooArgSet &iset, const RooArgSet *nset=0, const char *rangeName=0, Bool_t omitEmpty=kFALSE) const
Construct string with unique suffix name to give to integral object that encodes integrated observabl...
Definition: RooAbsReal.cxx:782
Double_t traceEval(const RooArgSet *set) const
Calculate current value of object, with error tracing wrapper.
Definition: RooAbsReal.cxx:311
Int_t _intValue
Transient cache for floating point values from tree branches.
Definition: RooAbsReal.h:414
Double_t getPropagatedError(const RooFitResult &fr, const RooArgSet &nset=RooArgSet())
Calculate error on self by propagated errors on parameters with correlations as given by fit result T...
Double_t getVal(const RooArgSet &normalisationSet) const
Like getVal(const RooArgSet*), but always requires an argument for normalisation.
Definition: RooAbsReal.h:90
virtual void copyCache(const RooAbsArg *source, Bool_t valueOnly=kFALSE, Bool_t setValDirty=kTRUE)
Copy the cached value of another RooAbsArg to our cache.
virtual void fixAddCoefRange(const char *rangeName=0, Bool_t force=kTRUE)
Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by...
TH1 * createHistogram(const char *varNameList, Int_t xbins=0, Int_t ybins=0, Int_t zbins=0) const
Create and fill a ROOT histogram TH1, TH2 or TH3 with the values of this function for the variables w...
static EvalErrorIter evalErrorIter()
Definition: RooAbsReal.cxx:302
RooAbsReal & operator=(const RooAbsReal &other)
Assign values, name and configs from another RooAbsReal.
Definition: RooAbsReal.cxx:181
Double_t findRoot(RooRealVar &x, Double_t xmin, Double_t xmax, Double_t yval)
Return value of x (in range xmin,xmax) at which function equals yval.
RooAbsReal * createIntRI(const RooArgSet &iset, const RooArgSet &nset=RooArgSet())
Utility function for createRunningIntegral that construct an object implementing the standard (analyt...
TF1 * asTF(const RooArgList &obs, const RooArgList &pars=RooArgList(), const RooArgSet &nset=RooArgSet()) const
Return a ROOT TF1,2,3 object bound to this RooAbsReal with given definition of observables and parame...
virtual Double_t analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
Definition: RooAbsReal.cxx:372
virtual void attachToVStore(RooVectorDataStore &vstore)
TString _unit
Definition: RooAbsReal.h:409
static RooNumIntConfig * defaultIntegratorConfig()
Returns the default numeric integration configuration for all RooAbsReals.
RooFitResult * chi2FitDriver(RooAbsReal &fcn, RooLinkedList &cmdList)
Internal driver function for chi2 fits.
friend class RooAbsOptGoodnessOfFit
Definition: RooAbsReal.h:431
Double_t _value
Definition: RooAbsReal.h:408
virtual std::list< Double_t > * binBoundaries(RooAbsRealLValue &, Double_t, Double_t) const
Definition: RooAbsReal.h:296
virtual void attachToTree(TTree &t, Int_t bufSize=32000)
Attach object to a branch of given TTree.
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
RooNumIntConfig * _specIntegratorConfig
Definition: RooAbsReal.h:424
virtual RooPlot * plotAsymOn(RooPlot *frame, const RooAbsCategoryLValue &asymCat, PlotOpt o) const
static ErrorLoggingMode evalErrorLoggingMode()
Return current evaluation error logging mode.
virtual Bool_t forceAnalyticalInt(const RooAbsArg &) const
Definition: RooAbsReal.h:122
virtual Int_t minTrialSamples(const RooArgSet &) const
Definition: RooAbsReal.h:200
void setIntegratorConfig()
Remove the specialized numeric integration configuration associated with this object.
static void setCacheCheck(Bool_t flag)
Activate cache validation mode.
virtual void selectNormalization(const RooArgSet *depSet=0, Bool_t force=kFALSE)
Interface function to force use of a given set of observables to interpret function value.
void setUnit(const char *unit)
Definition: RooAbsReal.h:105
virtual void printMultiline(std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
Structure printing.
Definition: RooAbsReal.cxx:447
virtual void syncCache(const RooArgSet *set=0)
Definition: RooAbsReal.h:397
Double_t getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
Definition: RooAbsReal.h:81
RooAbsMoment * moment(RooRealVar &obs, Int_t order, Bool_t central, Bool_t takeRoot)
Return function representing moment of function of given order.
static ErrorLoggingMode _evalErrorMode
Definition: RooAbsReal.h:480
virtual void enableOffsetting(Bool_t)
Definition: RooAbsReal.h:325
static Int_t _evalErrorCount
Definition: RooAbsReal.h:482
virtual Bool_t isValid() const
Check if current value is valid.
Definition: RooAbsReal.cxx:462
static void globalSelectComp(Bool_t flag)
Global switch controlling the activation of the selectComp() functionality.
RooAbsArg * createFundamental(const char *newname=0) const
Create a RooRealVar fundamental object with our properties.
virtual Bool_t setData(RooAbsData &, Bool_t=kTRUE)
Definition: RooAbsReal.h:323
std::map< constRooAbsArg *, std::pair< std::string, std::list< EvalError > > >::const_iterator EvalErrorIter
Definition: RooAbsReal.h:290
virtual Double_t maxVal(Int_t code) const
Return maximum value for set of observables identified by code assigned in getMaxVal.
static Bool_t _globalSelectComp
Component selection flag for RooAbsPdf::plotCompOn.
Definition: RooAbsReal.h:499
RooAbsReal * createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
Create an object that represents the integral of the function over one or more observables listed in ...
Definition: RooAbsReal.cxx:531
RooNumIntConfig * specialIntegratorConfig() const
Returns the specialized integrator configuration for this RooAbsReal.
RooAbsReal * createIntObj(const RooArgSet &iset, const RooArgSet *nset, const RooNumIntConfig *cfg, const char *rangeName) const
Utility function for createIntegral that creates the actual integreal object.
Definition: RooAbsReal.cxx:606
RooAbsReal * createIntegral(const RooArgSet &iset, const RooArgSet &nset, const char *rangeName=0) const
Definition: RooAbsReal.h:169
Bool_t getForceNumInt() const
Definition: RooAbsReal.h:132
static std::map< const RooAbsArg *, std::pair< std::string, std::list< EvalError > > > _evalErrorList
Definition: RooAbsReal.h:481
virtual void forceNumInt(Bool_t flag=kTRUE)
Definition: RooAbsReal.h:127
Bool_t plotSanityChecks(RooPlot *frame) const
Utility function for plotOn(), perform general sanity check on frame to ensure safe plotting operatio...
Double_t _plotMin
Definition: RooAbsReal.h:405
Char_t _sbyteValue
Transient cache for byte values from tree branches.
Definition: RooAbsReal.h:417
const char * getPlotLabel() const
Get the label associated with the variable.
Definition: RooAbsReal.cxx:398
virtual RooFitResult * chi2FitTo(RooDataHist &data, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none())
Perform a fit to given histogram.
virtual void fillTreeBranch(TTree &t)
Fill the tree branch that associated with this object with its current value.
Bool_t operator==(Double_t value) const
Equality operator comparing to a Double_t.
Definition: RooAbsReal.cxx:219
RooAbsFunc * bindVars(const RooArgSet &vars, const RooArgSet *nset=0, Bool_t clipInvalid=kFALSE) const
Create an interface adaptor f(vars) that binds us to the specified variables (in arbitrary order).
static Int_t numEvalErrors()
Return the number of logged evaluation errors since the last clearing.
static void setEvalErrorLoggingMode(ErrorLoggingMode m)
Set evaluation error logging mode.
Bool_t matchArgsByName(const RooArgSet &allArgs, RooArgSet &matchedArgs, const TList &nameList) const
Check if allArgs contains matching elements for each name in nameList.
virtual Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
Definition: RooAbsReal.cxx:386
virtual Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
Definition: RooAbsReal.cxx:360
virtual void preferredObservableScanOrder(const RooArgSet &obs, RooArgSet &orderedObs) const
Interface method for function objects to indicate their preferred order of observables for scanning t...
void findInnerMostIntegration(const RooArgSet &allObs, RooArgSet &innerObs, const char *rangeName) const
Utility function for createIntObj() that aids in the construct of recursive integrals over functions ...
Definition: RooAbsReal.cxx:727
void selectComp(Bool_t flag)
Definition: RooAbsReal.h:493
RooAbsReal * createIntegral(const RooArgSet &iset, const char *rangeName) const
Definition: RooAbsReal.h:165
static Bool_t _hideOffset
Definition: RooAbsReal.h:519
const Text_t * getUnit() const
Definition: RooAbsReal.h:101
virtual void printValue(std::ostream &os) const
Print object value.
Definition: RooAbsReal.cxx:437
const RooNumIntConfig * getIntegratorConfig() const
Return the numeric integration configuration used for this object.
Bool_t _boolValue
Transient cache for integer values from tree branches.
Definition: RooAbsReal.h:415
virtual Bool_t isBinnedDistribution(const RooArgSet &) const
Definition: RooAbsReal.h:295
RooPlot * plotOnWithErrorBand(RooPlot *frame, const RooFitResult &fr, Double_t Z, const RooArgSet *params, const RooLinkedList &argList, Bool_t method1) const
Plot function or PDF on frame with support for visualization of the uncertainty encoded in the given ...
virtual Double_t getValV(const RooArgSet *normalisationSet=nullptr) const
Return value of object.
Definition: RooAbsReal.cxx:272
static void printEvalErrors(std::ostream &os=std::cout, Int_t maxPerNode=10000000)
Print all outstanding logged evaluation error on the given ostream.
virtual void fixAddCoefNormalization(const RooArgSet &addNormSet=RooArgSet(), Bool_t force=kTRUE)
Fix the interpretation of the coefficient of any RooAddPdf component in the expression tree headed by...
void logEvalError(const char *message, const char *serverValueString=0) const
Log evaluation error message.
static void clearEvalErrorLog()
Clear the stack of evaluation error messages.
RooAbsMoment * sigma(RooRealVar &obs, const RooArgSet &nset)
Definition: RooAbsReal.h:318
Bool_t _selectComp
Definition: RooAbsReal.h:498
Bool_t _treeVar
Definition: RooAbsReal.h:426
RooFunctor * functor(const RooArgList &obs, const RooArgList &pars=RooArgList(), const RooArgSet &nset=RooArgSet()) const
Return a RooFunctor object bound to this RooAbsReal with given definition of observables and paramete...
UInt_t _uintValue
Transient cache for signed byte values from tree branches.
Definition: RooAbsReal.h:418
virtual Bool_t traceEvalHook(Double_t) const
Definition: RooAbsReal.h:387
void makeProjectionSet(const RooAbsArg *plotVar, const RooArgSet *allVars, RooArgSet &projectedVars, Bool_t silent) const
Utility function for plotOn() that constructs the set of observables to project when plotting ourselv...
Int_t _plotBins
Definition: RooAbsReal.h:407
void setPlotLabel(const char *label)
Set the label associated with this variable.
Definition: RooAbsReal.cxx:408
virtual ~RooAbsReal()
Destructor.
Definition: RooAbsReal.cxx:209
virtual Int_t getMaxVal(const RooArgSet &vars) const
Advertise capability to determine maximum value of function for given set of observables.
RooAbsMoment * mean(RooRealVar &obs, const RooArgSet &nset)
Definition: RooAbsReal.h:316
virtual void writeToStream(std::ostream &os, Bool_t compact) const
Write object contents to stream (dummy for now)
Definition: RooAbsReal.cxx:428
const RooAbsReal * createPlotProjection(const RooArgSet &depVars, const RooArgSet &projVars) const
Utility function for plotOn() that creates a projection of a function or p.d.f to be plotted on a Roo...
Definition: RooAbsReal.cxx:861
RooDataHist * fillDataHist(RooDataHist *hist, const RooArgSet *nset, Double_t scaleFactor, Bool_t correctForBinVolume=kFALSE, Bool_t showProgress=kFALSE) const
Fill a RooDataHist with values sampled from this function at the bin centers.
Double_t _plotMax
Definition: RooAbsReal.h:406
virtual Double_t offset() const
Definition: RooAbsReal.h:327
RooAbsMoment * sigma(RooRealVar &obs)
Definition: RooAbsReal.h:317
RooAbsReal * createRunningIntegral(const RooArgSet &iset, const RooArgSet &nset=RooArgSet())
Calls createRunningIntegral(const RooArgSet&, const RooCmdArg&, const RooCmdArg&, const RooCmdArg&,...
RooAddPdf is an efficient implementation of a sum of PDFs of the form.
Definition: RooAddPdf.h:29
RooArgList is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgList.h:21
RooArgProxy is the abstact interface for RooAbsArg proxy classes.
Definition: RooArgProxy.h:24
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:28
RooCategory represents a fundamental (non-derived) discrete value object.
Definition: RooCategory.h:24
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
Definition: RooCmdArg.h:27
static const RooCmdArg & none()
Return reference to null argument.
Definition: RooCmdArg.cxx:50
A RooCurve is a one-dimensional graphical representation of a real-valued function.
Definition: RooCurve.h:32
The RooDataHist is a container class to hold N-dimensional binned data.
Definition: RooDataHist.h:40
adaptor that projects a real function via summation of states provided in a dataset.
RooDataSet is a container class to hold unbinned data.
Definition: RooDataSet.h:31
RooDerivative represents the first, second, or third order derivative of any RooAbsReal as calculated...
Definition: RooDerivative.h:31
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
Definition: RooFitResult.h:40
Lightweight interface adaptor that exports a RooAbsPdf as a functor.
Definition: RooFunctor.h:25
Lightweight interface adaptor that exports a RooAbsReal as a ROOT::Math::IGenFunction.
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Definition: RooLinkedList.h:36
Lightweight interface adaptor that exports a RooAbsReal as a ROOT::Math::IMultiGenFunction.
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
A RooPlot is a plot frame and a container for graphics objects within that frame.
Definition: RooPlot.h:41
Lightweight interface adaptor that binds a RooAbsReal object to a subset of its servers and present i...
RooRealIntegral performs hybrid numerical/analytical integrals of RooAbsReal objects.
RooRealProxy is the concrete proxy for RooAbsReal objects A RooRealProxy is the general mechanism to ...
Definition: RooRealProxy.h:23
The class RooRealSumPdf implements a PDF constructed from a sum of functions:
Definition: RooRealSumPdf.h:24
RooRealVar represents a fundamental (non-derived) real valued object.
Definition: RooRealVar.h:36
RooVectorDataStore is the abstract base class for data collection that use a TTree as internal storag...
1-Dim function class
Definition: TF1.h:211
1-D histogram with a float per channel (see TH1 documentation)}
Definition: TH1.h:571
The TH1 histogram class.
Definition: TH1.h:56
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:248
3-D histogram with a float per channel (see TH1 documentation)}
Definition: TH3.h:265
A doubly linked list.
Definition: TList.h:44
Basic string class.
Definition: TString.h:131
const char * Data() const
Definition: TString.h:364
A TTree represents a columnar dataset.
Definition: TTree.h:71
Double_t x[n]
Definition: legend1.C:17
Template specialisation used in RooAbsArg:
RooCmdArg Extended(Bool_t flag=kTRUE)
@ Interleave
Definition: RooGlobalFunc.h:60
static constexpr double s
Bool_t postRangeFracScale
Definition: RooAbsReal.h:450
RooCurve::WingMode wmode
Definition: RooAbsReal.h:451
const char * normRangeName
Definition: RooAbsReal.h:447
RooFit::MPSplit interleave
Definition: RooAbsReal.h:459
const char * projectionRangeName
Definition: RooAbsReal.h:452
Double_t scaleFactor
Definition: RooAbsReal.h:439
const RooArgSet * projDataSet
Definition: RooAbsReal.h:446
Double_t addToWgtSelf
Definition: RooAbsReal.h:456
const char * curveNameSuffix
Definition: RooAbsReal.h:460
Double_t addToWgtOther
Definition: RooAbsReal.h:457
const char * addToCurveName
Definition: RooAbsReal.h:455
const RooArgSet * projSet
Definition: RooAbsReal.h:443
const char * curveName
Definition: RooAbsReal.h:454
const RooAbsData * projData
Definition: RooAbsReal.h:441
Option_t * drawOptions
Definition: RooAbsReal.h:437
auto * m
Definition: textangle.C:8
auto * a
Definition: textangle.C:12