Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooProdPdf.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id: RooProdPdf.h,v 1.44 2007/07/16 21:04:28 wouter Exp $
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16#ifndef ROO_PROD_PDF
17#define ROO_PROD_PDF
18
19#include "RooAbsPdf.h"
20#include "RooListProxy.h"
21#include "RooLinkedList.h"
22#include "RooAICRegistry.h"
23#include "RooObjCacheManager.h"
24#include "RooCmdArg.h"
25
26#include <vector>
27#include <list>
28#include <string>
29
30namespace RooFit {
31namespace Detail {
32class RooFixedProdPdf;
33}
34}
35
36class RooProdPdf : public RooAbsPdf {
37public:
38
39 RooProdPdf() ;
40 RooProdPdf(const char *name, const char *title,
41 RooAbsPdf& pdf1, RooAbsPdf& pdf2, double cutOff=0.0) ;
42 RooProdPdf(const char* name, const char* title, const RooArgList& pdfList, double cutOff=0.0) ;
43 RooProdPdf(const char* name, const char* title, const RooArgSet& fullPdfSet, const RooLinkedList& cmdArgList) ;
44
45 RooProdPdf(const char* name, const char* title, const RooArgSet& fullPdfSet,
46 const RooCmdArg& arg1 , const RooCmdArg& arg2={},
47 const RooCmdArg& arg3={}, const RooCmdArg& arg4={},
48 const RooCmdArg& arg5={}, const RooCmdArg& arg6={},
49 const RooCmdArg& arg7={}, const RooCmdArg& arg8={}) ;
50
51 RooProdPdf(const char* name, const char* title,
52 const RooCmdArg& arg1, const RooCmdArg& arg2={},
53 const RooCmdArg& arg3={}, const RooCmdArg& arg4={},
54 const RooCmdArg& arg5={}, const RooCmdArg& arg6={},
55 const RooCmdArg& arg7={}, const RooCmdArg& arg8={}) ;
56
57 RooProdPdf(const RooProdPdf& other, const char* name=nullptr) ;
58 TObject* clone(const char* newname=nullptr) const override { return new RooProdPdf(*this,newname) ; }
59 ~RooProdPdf() override ;
60
61 bool forceAnalyticalInt(const RooAbsArg& dep) const override ;
62 Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& numVars, const RooArgSet* normSet, const char* rangeName=nullptr) const override ;
63 double analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName=nullptr) const override ;
64 bool selfNormalized() const override { return _selfNorm ; }
65
66 ExtendMode extendMode() const override ;
67 double expectedEvents(const RooArgSet* nset) const override ;
68 std::unique_ptr<RooAbsReal> createExpectedEventsFunc(const RooArgSet* nset) const override;
69
70 const RooArgList& pdfList() const { return _pdfList ; }
71
72 void addPdfs(RooAbsCollection const& pdfs);
73 void removePdfs(RooAbsCollection const& pdfs);
74
75 Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, bool staticInitOK=true) const override;
76 void initGenerator(Int_t code) override ;
77 void generateEvent(Int_t code) override;
78 bool isDirectGenSafe(const RooAbsArg& arg) const override ;
79
80 // Constraint management
81 std::unique_ptr<RooArgSet> getConstraints(const RooArgSet &observables, RooArgSet const &constrainedParams,
82 RooArgSet &pdfParams) const override;
83
84 std::list<double>* plotSamplingHint(RooAbsRealLValue& obs, double xlo, double xhi) const override ;
85 std::list<double>* binBoundaries(RooAbsRealLValue& /*obs*/, double /*xlo*/, double /*xhi*/) const override ;
86 bool isBinnedDistribution(const RooArgSet& obs) const override ;
87
88 void printMetaArgs(std::ostream& os) const override ;
89
90 void selectNormalizationRange(const char* rangeName=nullptr, bool force=false) override ;
91 void fixRefRange(const char* rangeName) ;
92
95
96
97 bool redirectServersHook(const RooAbsCollection& /*newServerList*/, bool /*mustReplaceAll*/, bool /*nameChange*/, bool /*isRecursive*/) override ;
98
99 RooArgSet* getConnectedParameters(const RooArgSet& observables) const ;
100
101 RooArgSet* findPdfNSet(RooAbsPdf const& pdf) const ;
102
103 std::unique_ptr<RooAbsArg> compileForNormSet(RooArgSet const &normSet, RooFit::Detail::CompileContext & ctx) const override;
104
105 // The cache object. Internal, do not use.
107 public:
109 // Payload
114 std::vector<std::unique_ptr<RooArgSet>> _normList;
116 std::unique_ptr<RooAbsReal> _rearrangedNum{};
117 std::unique_ptr<RooAbsReal> _rearrangedDen{};
118 // Cache management functions
120 void printCompactTreeHook(std::ostream&, const char *, Int_t, Int_t) override ;
121 void writeToStream(std::ostream& os) const ;
122 } ;
123
124private:
125
126 std::unique_ptr<RooArgSet> fillNormSetForServer(RooArgSet const& normSet, RooAbsArg const& server) const;
127
128 double evaluate() const override ;
129
130 std::unique_ptr<RooAbsReal> makeCondPdfRatioCorr(RooAbsReal& term, const RooArgSet& termNset, const RooArgSet& termImpSet, const char* normRange, const char* refRange) const ;
131
133
134 struct Factorized {
135 ~Factorized();
136
137 RooArgSet *termNormDeps(int i) const { return static_cast<RooArgSet*>(norms.At(i)); }
138 RooArgSet *termIntDeps(int i) const { return static_cast<RooArgSet*>(ints.At(i)); }
139 RooArgSet *termImpDeps(int i) const { return static_cast<RooArgSet*>(imps.At(i)); }
140 RooArgSet *termCrossDeps(int i) const { return static_cast<RooArgSet*>(cross.At(i)); }
141
147 };
148
150 std::string makeRGPPName(const char* pfx, const RooArgSet& term, const RooArgSet& iset, const RooArgSet& nset, const char* isetRangeName) const ;
151 void groupProductTerms(std::list<std::vector<RooArgSet*>>& groupedTerms, RooArgSet& outerIntDeps, Factorized const &factorized) const;
152
153
154
155 Int_t getPartIntList(const RooArgSet* nset, const RooArgSet* iset, const char* isetRangeName=nullptr) const ;
156
158 bool isOwned = false;
159 RooAbsReal* x0 = nullptr;
160 std::unique_ptr<RooAbsReal> x1;
161 std::unique_ptr<RooAbsReal> x2;
162 };
163
165 const RooArgSet* term,const RooArgSet& termNSet, const RooArgSet& termISet,
166 bool forceWrap=false) const ;
167
168
169 CacheMode canNodeBeCached() const override { return RooAbsArg::NotAdvised ; } ;
170 void setCacheAndTrackHints(RooArgSet&) override ;
171
172 std::unique_ptr<CacheElem> createCacheElem(const RooArgSet* nset, const RooArgSet* iset, const char* isetRangeName=nullptr) const;
173
174 mutable RooObjCacheManager _cacheMgr ; //! The cache manager
175
176 CacheElem* getCacheElem(RooArgSet const* nset) const ;
177 void rearrangeProduct(CacheElem&) const;
178 std::unique_ptr<RooAbsReal> specializeIntegral(RooAbsReal& orig, const char* targetRangeName) const ;
179 std::unique_ptr<RooAbsReal> specializeRatio(RooFormulaVar& input, const char* targetRangeName) const ;
180 double calculate(const RooProdPdf::CacheElem& cache, bool verbose=false) const ;
181 void doEvalImpl(RooAbsArg const* caller, const RooProdPdf::CacheElem &cache, RooFit::EvalContext &) const;
182
183
184 friend class RooProdGenContext ;
186 RooAbsGenContext* genContext(const RooArgSet &vars, const RooDataSet *prototype=nullptr,
187 const RooArgSet *auxProto=nullptr, bool verbose= false) const override ;
188
189
190 mutable RooAICRegistry _genCode ; ///<! Registry of composite direct generator codes
191
192 double _cutOff = 0.0; ///< Cutoff parameter for running product
193 RooListProxy _pdfList ; ///< List of PDF components
194 std::vector<std::unique_ptr<RooArgSet>> _pdfNSetList ; ///< List of PDF component normalization sets
195 Int_t _extendedIndex = -1; ///< Index of extended PDF (if any)
196
197 void useDefaultGen(bool flag=true) { _useDefaultGen = flag ; }
198 bool _useDefaultGen = false; ///< Use default or distributed event generator
199
200 mutable TNamed* _refRangeName = nullptr; ///< Reference range name for interpretation of conditional products
201
202 bool _selfNorm = true; ///< Is self-normalized
203 RooArgSet _defNormSet ; ///< Default normalization set
204
205private:
206
207
208
209 ClassDefOverride(RooProdPdf,6) // PDF representing a product of PDFs
210};
211
212namespace RooFit {
213namespace Detail {
214
215/// A RooProdPdf with a fixed normalization set can be replaced by this class.
216/// Its purpose is to provide the right client-server interface for the
217/// evaluation of RooProdPdf cache elements that were created for a given
218/// normalization set.
220public:
221 RooFixedProdPdf(std::unique_ptr<RooProdPdf> &&prodPdf, RooArgSet const &normSet);
222 RooFixedProdPdf(const RooFixedProdPdf &other, const char *name = nullptr);
223
224 inline TObject *clone(const char *newname) const override { return new RooFixedProdPdf(*this, newname); }
225
226 inline bool selfNormalized() const override { return true; }
227
228 inline bool canComputeBatchWithCuda() const override { return true; }
229
230 inline void doEval(RooFit::EvalContext &ctx) const override { _prodPdf->doEvalImpl(this, *_cache, ctx); }
231
232 inline ExtendMode extendMode() const override { return _prodPdf->extendMode(); }
233 inline double expectedEvents(const RooArgSet * /*nset*/) const override
234 {
235 return _prodPdf->expectedEvents(&_normSet);
236 }
237 inline std::unique_ptr<RooAbsReal> createExpectedEventsFunc(const RooArgSet * /*nset*/) const override
238 {
239 return _prodPdf->createExpectedEventsFunc(&_normSet);
240 }
241
242 // Analytical Integration handling
243 inline bool forceAnalyticalInt(const RooAbsArg &dep) const override { return _prodPdf->forceAnalyticalInt(dep); }
245 const char *rangeName = nullptr) const override
246 {
247 return _prodPdf->getAnalyticalIntegralWN(allVars, analVars, normSet, rangeName);
248 }
249 inline Int_t
250 getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &numVars, const char *rangeName = nullptr) const override
251 {
252 return _prodPdf->getAnalyticalIntegral(allVars, numVars, rangeName);
253 }
254 inline double analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName) const override
255 {
256 return _prodPdf->analyticalIntegralWN(code, normSet, rangeName);
257 }
258 inline double analyticalIntegral(Int_t code, const char *rangeName = nullptr) const override
259 {
260 return _prodPdf->analyticalIntegral(code, rangeName);
261 }
262
263 RooProdPdf::CacheElem const &cache() const { return *_cache; }
264
265private:
266 void initialize();
267
268 inline double evaluate() const override { return _prodPdf->calculate(*_cache); }
269
271 std::unique_ptr<RooProdPdf::CacheElem> _cache;
273 std::unique_ptr<RooProdPdf> _prodPdf;
274
276};
277
278} // namespace Detail
279} // namespace RooFit
280
281#endif
#define ClassDefOverride(name, id)
Definition Rtypes.h:348
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 input
char name[80]
Definition TGX11.cxx:110
Utility class for operator p.d.f classes that keeps track of analytical integration codes and associa...
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Definition RooAbsArg.h:76
Abstract base class for objects to be stored in RooAbsCache cache manager objects.
Abstract container object that can hold multiple RooAbsArg objects.
virtual void removeAll()
Remove all arguments from our set, deleting them if we own them.
virtual RooAbsArg * addClone(const RooAbsArg &var, bool silent=false)
Add a clone of the specified argument to list.
Abstract base class for generator contexts of RooAbsPdf objects.
Abstract interface for all probability density functions.
Definition RooAbsPdf.h:32
const char * normRange() const
Definition RooAbsPdf.h:246
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
RooArgList is a container object that can hold multiple RooAbsArg objects.
Definition RooArgList.h:22
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:24
Named container for two doubles, two integers two object points and three string pointers that can be...
Definition RooCmdArg.h:26
Container class to hold unbinned data.
Definition RooDataSet.h:32
A RooProdPdf with a fixed normalization set can be replaced by this class.
Definition RooProdPdf.h:219
double expectedEvents(const RooArgSet *) const override
Return expected number of events to be used in calculation of extended likelihood.
Definition RooProdPdf.h:233
RooFixedProdPdf(std::unique_ptr< RooProdPdf > &&prodPdf, RooArgSet const &normSet)
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &numVars, const char *rangeName=nullptr) const override
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
Definition RooProdPdf.h:250
bool selfNormalized() const override
Shows if a PDF is self-normalized, which means that no attempt is made to add a normalization term.
Definition RooProdPdf.h:226
double analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName) const override
Analytical integral with normalization (see RooAbsReal::analyticalIntegralWN() for further informatio...
Definition RooProdPdf.h:254
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
Definition RooProdPdf.h:268
Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &analVars, const RooArgSet *normSet, const char *rangeName=nullptr) const override
Variant of getAnalyticalIntegral that is also passed the normalization set that should be applied to ...
Definition RooProdPdf.h:244
void doEval(RooFit::EvalContext &ctx) const override
Base function for computing multiple values of a RooAbsReal.
Definition RooProdPdf.h:230
std::unique_ptr< RooProdPdf > _prodPdf
Definition RooProdPdf.h:273
bool canComputeBatchWithCuda() const override
Definition RooProdPdf.h:228
RooProdPdf::CacheElem const & cache() const
Definition RooProdPdf.h:263
TObject * clone(const char *newname) const override
Definition RooProdPdf.h:224
bool forceAnalyticalInt(const RooAbsArg &dep) const override
Definition RooProdPdf.h:243
std::unique_ptr< RooAbsReal > createExpectedEventsFunc(const RooArgSet *) const override
Returns an object that represents the expected number of events for a given normalization set,...
Definition RooProdPdf.h:237
ExtendMode extendMode() const override
Returns ability of PDF to provide extended likelihood terms.
Definition RooProdPdf.h:232
std::unique_ptr< RooProdPdf::CacheElem > _cache
Definition RooProdPdf.h:271
double analyticalIntegral(Int_t code, const char *rangeName=nullptr) const override
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
Definition RooProdPdf.h:258
A RooFormulaVar is a generic implementation of a real-valued object, which takes a RooArgList of serv...
Collection class for internal use, storing a collection of RooAbsArg pointers in a doubly linked list...
TObject * At(int index) const
Return object stored in sequential position given by index.
Implementation of a RooCacheManager<RooAbsCacheElement> that specializes in the storage of cache elem...
Efficient implementation of the generator context specific for RooProdPdf PDFs.
RooArgList containedArgs(Action) override
Return RooAbsArg components contained in the cache.
std::unique_ptr< RooAbsReal > _rearrangedNum
Definition RooProdPdf.h:116
void printCompactTreeHook(std::ostream &, const char *, Int_t, Int_t) override
Hook function to print cache contents in tree printing of RooProdPdf.
std::vector< std::unique_ptr< RooArgSet > > _normList
Definition RooProdPdf.h:114
std::unique_ptr< RooAbsReal > _rearrangedDen
Definition RooProdPdf.h:117
void writeToStream(std::ostream &os) const
Efficient implementation of a product of PDFs of the form.
Definition RooProdPdf.h:36
std::unique_ptr< RooArgSet > getConstraints(const RooArgSet &observables, RooArgSet const &constrainedParams, RooArgSet &pdfParams) const override
Return all parameter constraint p.d.f.s on parameters listed in constrainedParams.
void setCacheAndTrackHints(RooArgSet &) override
Label OK'ed components of a RooProdPdf with cache-and-track, and label all RooProdPdf descendants wit...
Int_t getGenerator(const RooArgSet &directVars, RooArgSet &generateVars, bool staticInitOK=true) const override
Query internal generation capabilities of component p.d.f.s and aggregate capabilities into master co...
void rearrangeProduct(CacheElem &) const
bool selfNormalized() const override
Shows if a PDF is self-normalized, which means that no attempt is made to add a normalization term.
Definition RooProdPdf.h:64
double analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName=nullptr) const override
Return analytical integral defined by given scenario code.
~RooProdPdf() override
Destructor.
Int_t _extendedIndex
Index of extended PDF (if any)
Definition RooProdPdf.h:195
std::unique_ptr< RooAbsReal > specializeRatio(RooFormulaVar &input, const char *targetRangeName) const
RooProdPdf()
Default constructor.
void removePdfs(RooAbsCollection const &pdfs)
Remove some PDFs from the factors of this RooProdPdf.
bool _useDefaultGen
Use default or distributed event generator.
Definition RooProdPdf.h:198
std::vector< std::unique_ptr< RooArgSet > > _pdfNSetList
List of PDF component normalization sets.
Definition RooProdPdf.h:194
std::unique_ptr< RooArgSet > fillNormSetForServer(RooArgSet const &normSet, RooAbsArg const &server) const
std::unique_ptr< RooAbsReal > specializeIntegral(RooAbsReal &orig, const char *targetRangeName) const
void factorizeProduct(const RooArgSet &normSet, const RooArgSet &intSet, Factorized &factorized) const
Factorize product in irreducible terms for given choice of integration/normalization.
void useDefaultGen(bool flag=true)
Definition RooProdPdf.h:197
bool forceAnalyticalInt(const RooAbsArg &dep) const override
Force RooRealIntegral to offer all observables for internal integration.
std::unique_ptr< RooAbsArg > compileForNormSet(RooArgSet const &normSet, RooFit::Detail::CompileContext &ctx) const override
RooAbsGenContext * genContext(const RooArgSet &vars, const RooDataSet *prototype=nullptr, const RooArgSet *auxProto=nullptr, bool verbose=false) const override
Return generator context optimized for generating events from product p.d.f.s.
void setSelfNormalized(bool flag)
Definition RooProdPdf.h:93
TNamed * _refRangeName
Reference range name for interpretation of conditional products.
Definition RooProdPdf.h:200
RooAICRegistry _genCode
! Registry of composite direct generator codes
Definition RooProdPdf.h:190
void addPdfs(RooAbsCollection const &pdfs)
Add some full PDFs to the factors of this RooProdPdf.
RooListProxy _pdfList
List of PDF components.
Definition RooProdPdf.h:193
Int_t getPartIntList(const RooArgSet *nset, const RooArgSet *iset, const char *isetRangeName=nullptr) const
Return list of (partial) integrals of product terms for integration of p.d.f over observables iset wh...
TObject * clone(const char *newname=nullptr) const override
Definition RooProdPdf.h:58
void printMetaArgs(std::ostream &os) const override
Customized printing of arguments of a RooProdPdf to more intuitively reflect the contents of the prod...
std::list< double > * binBoundaries(RooAbsRealLValue &, double, double) const override
Forward the plot sampling hint from the p.d.f. that defines the observable obs.
CacheMode canNodeBeCached() const override
Definition RooProdPdf.h:169
RooObjCacheManager _cacheMgr
Definition RooProdPdf.h:174
std::string makeRGPPName(const char *pfx, const RooArgSet &term, const RooArgSet &iset, const RooArgSet &nset, const char *isetRangeName) const
Make an appropriate automatic name for a RooGenProdProj object in getPartIntList()
bool isDirectGenSafe(const RooAbsArg &arg) const override
Forward determination of safety of internal generator code to component p.d.f that would generate the...
ProcessProductTermOutput processProductTerm(const RooArgSet *nset, const RooArgSet *iset, const char *isetRangeName, const RooArgSet *term, const RooArgSet &termNSet, const RooArgSet &termISet, bool forceWrap=false) const
Calculate integrals of factorized product terms over observables iset while normalized to observables...
std::unique_ptr< RooAbsReal > makeCondPdfRatioCorr(RooAbsReal &term, const RooArgSet &termNset, const RooArgSet &termImpSet, const char *normRange, const char *refRange) const
For single normalization ranges.
RooArgSet * findPdfNSet(RooAbsPdf const &pdf) const
Look up user specified normalization set for given input PDF component.
ExtendMode extendMode() const override
If this product contains exactly one extendable p.d.f return the extension abilities of that p....
std::list< double > * plotSamplingHint(RooAbsRealLValue &obs, double xlo, double xhi) const override
Forward the plot sampling hint from the p.d.f. that defines the observable obs.
double expectedEvents(const RooArgSet *nset) const override
Return the expected number of events associated with the extendable input PDF in the product.
Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &numVars, const RooArgSet *normSet, const char *rangeName=nullptr) const override
Determine which part (if any) of given integral can be performed analytically.
bool isBinnedDistribution(const RooArgSet &obs) const override
If all components that depend on obs are binned that so is the product.
RooArgSet * getConnectedParameters(const RooArgSet &observables) const
Return all parameter constraint p.d.f.s on parameters listed in constrainedParams.
double calculate(const RooProdPdf::CacheElem &cache, bool verbose=false) const
Calculate running product of pdfs terms, using the supplied normalization set in 'normSetList' for ea...
RooArgSet _defNormSet
Default normalization set.
Definition RooProdPdf.h:203
std::unique_ptr< RooAbsReal > createExpectedEventsFunc(const RooArgSet *nset) const override
Returns an object that represents the expected number of events for a given normalization set,...
CacheElem * getCacheElem(RooArgSet const *nset) const
The cache manager.
bool redirectServersHook(const RooAbsCollection &, bool, bool, bool) override
Implement support for node removal.
void groupProductTerms(std::list< std::vector< RooArgSet * > > &groupedTerms, RooArgSet &outerIntDeps, Factorized const &factorized) const
Group product into terms that can be calculated independently.
void initGenerator(Int_t code) override
Forward one-time initialization call to component generation initialization methods.
void doEvalImpl(RooAbsArg const *caller, const RooProdPdf::CacheElem &cache, RooFit::EvalContext &) const
Evaluate product of PDFs in batch mode.
void generateEvent(Int_t code) override
Generate a single event with configuration specified by 'code' Defer internal generation to component...
const RooArgList & pdfList() const
Definition RooProdPdf.h:70
void fixRefRange(const char *rangeName)
std::unique_ptr< CacheElem > createCacheElem(const RooArgSet *nset, const RooArgSet *iset, const char *isetRangeName=nullptr) const
double evaluate() const override
Calculate current value of object.
void initializeFromCmdArgList(const RooArgSet &fullPdfSet, const RooLinkedList &l)
Initialize RooProdPdf configuration from given list of RooCmdArg configuration arguments and set of '...
void selectNormalizationRange(const char *rangeName=nullptr, bool force=false) override
Interface function used by test statistics to freeze choice of range for interpretation of conditiona...
bool _selfNorm
Is self-normalized.
Definition RooProdPdf.h:202
double _cutOff
Cutoff parameter for running product.
Definition RooProdPdf.h:192
void setDefNormSet(const RooArgSet &nset)
Definition RooProdPdf.h:94
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
Mother of all ROOT objects.
Definition TObject.h:41
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition CodegenImpl.h:67
RooLinkedList cross
Definition RooProdPdf.h:146
RooLinkedList norms
Definition RooProdPdf.h:143
RooArgSet * termNormDeps(int i) const
Definition RooProdPdf.h:137
RooLinkedList terms
Definition RooProdPdf.h:142
RooArgSet * termImpDeps(int i) const
Definition RooProdPdf.h:139
RooArgSet * termIntDeps(int i) const
Definition RooProdPdf.h:138
RooArgSet * termCrossDeps(int i) const
Definition RooProdPdf.h:140
std::unique_ptr< RooAbsReal > x1
Definition RooProdPdf.h:160
std::unique_ptr< RooAbsReal > x2
Definition RooProdPdf.h:161
TLine l
Definition textangle.C:4