Logo ROOT  
Reference Guide
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 
30 namespace RooBatchCompute {
31 struct RunContext;
32 }
33 
36 
37 class RooProdPdf : public RooAbsPdf {
38 public:
39 
40  RooProdPdf() ;
41  RooProdPdf(const char *name, const char *title, Double_t cutOff=0);
42  RooProdPdf(const char *name, const char *title,
43  RooAbsPdf& pdf1, RooAbsPdf& pdf2, Double_t cutOff=0) ;
44  RooProdPdf(const char* name, const char* title, const RooArgList& pdfList, Double_t cutOff=0) ;
45  RooProdPdf(const char* name, const char* title, const RooArgSet& fullPdfSet, const RooLinkedList& cmdArgList) ;
46 
47  RooProdPdf(const char* name, const char* title, const RooArgSet& fullPdfSet,
48  const RooCmdArg& arg1 , const RooCmdArg& arg2=RooCmdArg(),
49  const RooCmdArg& arg3=RooCmdArg(), const RooCmdArg& arg4=RooCmdArg(),
50  const RooCmdArg& arg5=RooCmdArg(), const RooCmdArg& arg6=RooCmdArg(),
51  const RooCmdArg& arg7=RooCmdArg(), const RooCmdArg& arg8=RooCmdArg()) ;
52 
53  RooProdPdf(const char* name, const char* title,
54  const RooCmdArg& arg1, const RooCmdArg& arg2=RooCmdArg(),
55  const RooCmdArg& arg3=RooCmdArg(), const RooCmdArg& arg4=RooCmdArg(),
56  const RooCmdArg& arg5=RooCmdArg(), const RooCmdArg& arg6=RooCmdArg(),
57  const RooCmdArg& arg7=RooCmdArg(), const RooCmdArg& arg8=RooCmdArg()) ;
58 
59  RooProdPdf(const RooProdPdf& other, const char* name=0) ;
60  virtual TObject* clone(const char* newname) const { return new RooProdPdf(*this,newname) ; }
61  virtual ~RooProdPdf() ;
62 
63  virtual Bool_t checkObservables(const RooArgSet* nset) const ;
64 
65  virtual Bool_t forceAnalyticalInt(const RooAbsArg& dep) const ;
66  Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& numVars, const RooArgSet* normSet, const char* rangeName=0) const ;
67  Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName=0) const ;
68  virtual Bool_t selfNormalized() const { return _selfNorm ; }
69 
70  virtual ExtendMode extendMode() const ;
71  virtual Double_t expectedEvents(const RooArgSet* nset) const ;
72 
73  const RooArgList& pdfList() const { return _pdfList ; }
74 
75  virtual Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
76  virtual void initGenerator(Int_t code) ;
77  virtual void generateEvent(Int_t code);
78  virtual Bool_t isDirectGenSafe(const RooAbsArg& arg) const ;
79 
80  // Constraint management
81  virtual RooArgSet* getConstraints(const RooArgSet& observables, RooArgSet& constrainedParams, Bool_t stripDisconnected) const ;
82 
83  virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& obs, Double_t xlo, Double_t xhi) const ;
84  virtual std::list<Double_t>* binBoundaries(RooAbsRealLValue& /*obs*/, Double_t /*xlo*/, Double_t /*xhi*/) const ;
85  Bool_t isBinnedDistribution(const RooArgSet& obs) const ;
86 
87  void printMetaArgs(std::ostream& os) const ;
88 
89  virtual void selectNormalizationRange(const char* rangeName=0, Bool_t force=kFALSE) ;
90  void fixRefRange(const char* rangeName) ;
91 
92  void setSelfNormalized(Bool_t flag) { _selfNorm = flag ; }
94 
95 
96  Bool_t redirectServersHook(const RooAbsCollection& /*newServerList*/, Bool_t /*mustReplaceAll*/, Bool_t /*nameChange*/, Bool_t /*isRecursive*/) ;
97 
98  RooArgSet* getConnectedParameters(const RooArgSet& observables) const ;
99 
100  RooArgSet* findPdfNSet(RooAbsPdf& pdf) const ;
101 
102  void writeCacheToStream(std::ostream& os, RooArgSet const* nset) const;
103 
104 private:
105 
106  Double_t evaluate() const ;
107  virtual RooSpan<double> evaluateSpan(RooBatchCompute::RunContext& evalData, const RooArgSet* normSet) const;
108 
109  RooAbsReal* makeCondPdfRatioCorr(RooAbsReal& term, const RooArgSet& termNset, const RooArgSet& termImpSet, const char* normRange, const char* refRange) const ;
110 
111  virtual void getParametersHook(const RooArgSet* /*nset*/, RooArgSet* /*list*/, Bool_t stripDisconnected) const ;
112 
113  void initializeFromCmdArgList(const RooArgSet& fullPdfSet, const RooLinkedList& l) ;
114 
115  void factorizeProduct(const RooArgSet& normSet, const RooArgSet& intSet,
116  RooLinkedList& termList, RooLinkedList& normList,
117  RooLinkedList& impDepList, RooLinkedList& crossDepList,
118  RooLinkedList& intList) const;
119  std::string makeRGPPName(const char* pfx, const RooArgSet& term, const RooArgSet& iset, const RooArgSet& nset, const char* isetRangeName) const ;
120  void groupProductTerms(std::list<std::vector<RooArgSet*>>& groupedTerms, RooArgSet& outerIntDeps,
121  const RooLinkedList& terms, const RooLinkedList& norms,
122  const RooLinkedList& imps, const RooLinkedList& ints, const RooLinkedList& cross) const ;
123 
124 
125 
126  Int_t getPartIntList(const RooArgSet* nset, const RooArgSet* iset, const char* isetRangeName=0) const ;
127 
128  std::vector<RooAbsReal*> processProductTerm(const RooArgSet* nset, const RooArgSet* iset, const char* isetRangeName,
129  const RooArgSet* term,const RooArgSet& termNSet, const RooArgSet& termISet,
130  Bool_t& isOwned, Bool_t forceWrap=kFALSE) const ;
131 
132 
133  virtual CacheMode canNodeBeCached() const { return RooAbsArg::NotAdvised ; } ;
134  virtual void setCacheAndTrackHints(RooArgSet&) ;
135 
136  // The cache object
137  class CacheElem final : public RooAbsCacheElement {
138  public:
140  ~CacheElem() override = default;
141  // Payload
146  std::vector<std::unique_ptr<RooArgSet>> _normList;
148  std::unique_ptr<RooAbsReal> _rearrangedNum{};
149  std::unique_ptr<RooAbsReal> _rearrangedDen{};
150  // Cache management functions
151  RooArgList containedArgs(Action) override ;
152  void printCompactTreeHook(std::ostream&, const char *, Int_t, Int_t) override ;
153  void writeToStream(std::ostream& os) const ;
154  } ;
155  mutable RooObjCacheManager _cacheMgr ; // The cache manager
156 
157  CacheElem* getCacheElem(RooArgSet const* nset) const ;
158  void rearrangeProduct(CacheElem&) const;
159  RooAbsReal* specializeIntegral(RooAbsReal& orig, const char* targetRangeName) const ;
160  RooAbsReal* specializeRatio(RooFormulaVar& input, const char* targetRangeName) const ;
162 
163 
164  friend class RooProdGenContext ;
165  virtual RooAbsGenContext* genContext(const RooArgSet &vars, const RooDataSet *prototype=0,
166  const RooArgSet *auxProto=0, Bool_t verbose= kFALSE) const ;
167 
168 
169  mutable RooAICRegistry _genCode ; //! Registry of composite direct generator codes
170 
171  Double_t _cutOff ; // Cutoff parameter for running product
172  RooListProxy _pdfList ; // List of PDF components
173  RooLinkedList _pdfNSetList ; // List of PDF component normalization sets
174  Int_t _extendedIndex ; // Index of extended PDF (if any)
175 
176  void useDefaultGen(Bool_t flag=kTRUE) { _useDefaultGen = flag ; }
177  Bool_t _useDefaultGen ; // Use default or distributed event generator
178 
179  mutable TNamed* _refRangeName ; // Reference range name for interpretation of conditional products
180 
181  Bool_t _selfNorm ; // Is self-normalized
182  RooArgSet _defNormSet ; // Default normalization set
183 
184 private:
185 
186  ClassDef(RooProdPdf,4) // PDF representing a product of PDFs
187 };
188 
189 
190 #endif
RooProdPdf::_pdfList
RooListProxy _pdfList
Definition: RooProdPdf.h:172
l
auto * l
Definition: textangle.C:4
RooCmdArg
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
Definition: RooCmdArg.h:27
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:100
RooProdPdf::isBinnedDistribution
Bool_t isBinnedDistribution(const RooArgSet &obs) const
If all components that depend on obs are binned that so is the product.
Definition: RooProdPdf.cxx:2211
RooProdPdf::_genCode
RooAICRegistry _genCode
Definition: RooProdPdf.h:169
RooProdPdf::evaluate
Double_t evaluate() const
Calculate current value of object.
Definition: RooProdPdf.cxx:464
RooProdPdf::writeCacheToStream
void writeCacheToStream(std::ostream &os, RooArgSet const *nset) const
Definition: RooProdPdf.cxx:2367
RooProdPdf::specializeIntegral
RooAbsReal * specializeIntegral(RooAbsReal &orig, const char *targetRangeName) const
Definition: RooProdPdf.cxx:1430
RooProdPdf::CacheElem::_normList
std::vector< std::unique_ptr< RooArgSet > > _normList
Definition: RooProdPdf.h:146
RooProdPdf::canNodeBeCached
virtual CacheMode canNodeBeCached() const
Definition: RooProdPdf.h:133
RooProdPdf::isDirectGenSafe
virtual Bool_t isDirectGenSafe(const RooAbsArg &arg) const
Forward determination of safety of internal generator code to component p.d.f that would generate the...
Definition: RooProdPdf.cxx:2016
RooProdPdf::pdfList
const RooArgList & pdfList() const
Definition: RooProdPdf.h:73
RooProdPdf::forceAnalyticalInt
virtual Bool_t forceAnalyticalInt(const RooAbsArg &dep) const
Force RooRealIntegral to offer all observables for internal integration.
Definition: RooProdPdf.cxx:1763
RooProdPdf::_cutOff
Double_t _cutOff
Registry of composite direct generator codes.
Definition: RooProdPdf.h:171
RooProdGenContext
RooProdGenContext is an efficient implementation of the generator context specific for RooProdPdf PDF...
Definition: RooProdGenContext.h:31
RooProdPdf::_cacheMgr
RooObjCacheManager _cacheMgr
Definition: RooProdPdf.h:155
RooAICRegistry
RooAICRegistry is a utility class for operator p.d.f classes that keeps track of analytical integrati...
Definition: RooAICRegistry.h:26
RooProdPdf::CacheElem::printCompactTreeHook
void printCompactTreeHook(std::ostream &, const char *, Int_t, Int_t) override
Hook function to print cache contents in tree printing of RooProdPdf.
Definition: RooProdPdf.cxx:1994
RooProdPdf::useDefaultGen
void useDefaultGen(Bool_t flag=kTRUE)
Definition: RooProdPdf.h:176
pRooLinkedList
RooLinkedList * pRooLinkedList
Definition: RooProdPdf.h:35
RooProdPdf::selectNormalizationRange
virtual void selectNormalizationRange(const char *rangeName=0, Bool_t force=kFALSE)
Interface function used by test statistics to freeze choice of range for interpretation of conditiona...
Definition: RooProdPdf.cxx:2168
RooArgList
RooArgList is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgList.h:21
RooProdPdf::getConstraints
virtual RooArgSet * getConstraints(const RooArgSet &observables, RooArgSet &constrainedParams, Bool_t stripDisconnected) const
Return all parameter constraint p.d.f.s on parameters listed in constrainedParams.
Definition: RooProdPdf.cxx:2059
RooProdPdf::getPartIntList
Int_t getPartIntList(const RooArgSet *nset, const RooArgSet *iset, const char *isetRangeName=0) const
Return list of (partial) integrals of product terms for integration of p.d.f over observables iset wh...
Definition: RooProdPdf.cxx:782
RooProdPdf::getConnectedParameters
RooArgSet * getConnectedParameters(const RooArgSet &observables) const
Return all parameter constraint p.d.f.s on parameters listed in constrainedParams.
Definition: RooProdPdf.cxx:2114
RooProdPdf::CacheElem::_rearrangedNum
std::unique_ptr< RooAbsReal > _rearrangedNum
Definition: RooProdPdf.h:148
RooProdPdf::plotSamplingHint
virtual std::list< Double_t > * plotSamplingHint(RooAbsRealLValue &obs, Double_t xlo, Double_t xhi) const
Forward the plot sampling hint from the p.d.f. that defines the observable obs.
Definition: RooProdPdf.cxx:2192
RooProdPdf::_refRangeName
TNamed * _refRangeName
Definition: RooProdPdf.h:179
RooAbsReal
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:61
RooProdPdf::groupProductTerms
void groupProductTerms(std::list< std::vector< RooArgSet * >> &groupedTerms, RooArgSet &outerIntDeps, const RooLinkedList &terms, const RooLinkedList &norms, const RooLinkedList &imps, const RooLinkedList &ints, const RooLinkedList &cross) const
Group product into terms that can be calculated independently.
Definition: RooProdPdf.cxx:1459
RooAbsArg::CacheMode
CacheMode
Definition: RooAbsArg.h:389
RooAbsCacheElement
RooAbsCacheElement is the abstract base class for objects to be stored in RooAbsCache cache manager o...
Definition: RooAbsCacheElement.h:26
RooProdPdf::_defNormSet
RooArgSet _defNormSet
Definition: RooProdPdf.h:182
RooProdPdf::redirectServersHook
Bool_t redirectServersHook(const RooAbsCollection &, Bool_t, Bool_t, Bool_t)
Implement support for node removal.
Definition: RooProdPdf.cxx:2318
RooProdPdf::initializeFromCmdArgList
void initializeFromCmdArgList(const RooArgSet &fullPdfSet, const RooLinkedList &l)
Initialize RooProdPdf configuration from given list of RooCmdArg configuration arguments and set of '...
Definition: RooProdPdf.cxx:374
RooProdPdf::evaluateSpan
virtual RooSpan< double > evaluateSpan(RooBatchCompute::RunContext &evalData, const RooArgSet *normSet) const
Evaluate product of PDFs using input data in evalData.
Definition: RooProdPdf.cxx:509
RooProdPdf::selfNormalized
virtual Bool_t selfNormalized() const
Shows if a PDF is self-normalized, which means that no attempt is made to add a normalization term.
Definition: RooProdPdf.h:68
bool
RooProdPdf::_selfNorm
Bool_t _selfNorm
Definition: RooProdPdf.h:181
RooProdPdf::extendMode
virtual ExtendMode extendMode() const
If this product contains exactly one extendable p.d.f return the extension abilities of that p....
Definition: RooProdPdf.cxx:1852
RooProdPdf::CacheElem::_numList
RooArgList _numList
Definition: RooProdPdf.h:143
RooProdPdf::CacheElem
Definition: RooProdPdf.h:137
RooAbsPdf::ExtendMode
ExtendMode
Definition: RooAbsPdf.h:230
RooProdPdf::getCacheElem
CacheElem * getCacheElem(RooArgSet const *nset) const
Definition: RooProdPdf.cxx:448
RooProdPdf::specializeRatio
RooAbsReal * specializeRatio(RooFormulaVar &input, const char *targetRangeName) const
Definition: RooProdPdf.cxx:1413
RooProdPdf::CacheElem::_isRearranged
Bool_t _isRearranged
Definition: RooProdPdf.h:147
RooProdPdf::CacheElem::_partList
RooArgList _partList
Definition: RooProdPdf.h:142
RooFormulaVar
A RooFormulaVar is a generic implementation of a real-valued object, which takes a RooArgList of serv...
Definition: RooFormulaVar.h:30
RooProdPdf::CacheElem::_ownedList
RooArgList _ownedList
Definition: RooProdPdf.h:145
RooAICRegistry.h
RooProdPdf::setDefNormSet
void setDefNormSet(const RooArgSet &nset)
Definition: RooProdPdf.h:93
RooProdPdf::makeRGPPName
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()
Definition: RooProdPdf.cxx:1736
RooAbsPdf.h
RooProdPdf::_pdfNSetList
RooLinkedList _pdfNSetList
Definition: RooProdPdf.h:173
RooAbsCollection::addClone
virtual RooAbsArg * addClone(const RooAbsArg &var, Bool_t silent=kFALSE)
Add a clone of the specified argument to list.
Definition: RooAbsCollection.cxx:428
RooProdPdf::initGenerator
virtual void initGenerator(Int_t code)
Forward one-time initialization call to component generation initialization methods.
Definition: RooProdPdf.cxx:1933
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
RooProdPdf::_extendedIndex
Int_t _extendedIndex
Definition: RooProdPdf.h:174
RooProdPdf::setCacheAndTrackHints
virtual void setCacheAndTrackHints(RooArgSet &)
Label OK'ed components of a RooProdPdf with cache-and-track, and label all RooProdPdf descendants wit...
Definition: RooProdPdf.cxx:2252
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:101
RooProdPdf::findPdfNSet
RooArgSet * findPdfNSet(RooAbsPdf &pdf) const
Look up user specified normalization set for given input PDF component.
Definition: RooProdPdf.cxx:2044
RooLinkedList
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Definition: RooLinkedList.h:37
RooProdPdf::CacheElem::_rearrangedDen
std::unique_ptr< RooAbsReal > _rearrangedDen
Definition: RooProdPdf.h:149
RooAbsPdf::normRange
const char * normRange() const
Definition: RooAbsPdf.h:264
RooAbsCollection
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.
Definition: RooAbsCollection.h:33
RooAbsGenContext
RooAbsGenContext is the abstract base class for generator contexts of RooAbsPdf objects.
Definition: RooAbsGenContext.h:26
RooProdPdf::genContext
virtual RooAbsGenContext * genContext(const RooArgSet &vars, const RooDataSet *prototype=0, const RooArgSet *auxProto=0, Bool_t verbose=kFALSE) const
Return generator context optimized for generating events from product p.d.f.s.
Definition: RooProdPdf.cxx:1878
RooProdPdf::clone
virtual TObject * clone(const char *newname) const
Definition: RooProdPdf.h:60
RooListProxy
RooListProxy is the concrete proxy for RooArgList objects.
Definition: RooListProxy.h:24
RooProdPdf::getAnalyticalIntegralWN
Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &numVars, const RooArgSet *normSet, const char *rangeName=0) const
Determine which part (if any) of given integral can be performed analytically.
Definition: RooProdPdf.cxx:1785
RooCmdArg.h
RooProdPdf::CacheElem::CacheElem
CacheElem()
Definition: RooProdPdf.h:139
RooProdPdf::rearrangeProduct
void rearrangeProduct(CacheElem &) const
Definition: RooProdPdf.cxx:1143
RooObjCacheManager.h
RooProdPdf::analyticalIntegralWN
Double_t analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName=0) const
Return analytical integral defined by given scenario code.
Definition: RooProdPdf.cxx:1805
RooProdPdf::processProductTerm
std::vector< RooAbsReal * > processProductTerm(const RooArgSet *nset, const RooArgSet *iset, const char *isetRangeName, const RooArgSet *term, const RooArgSet &termNSet, const RooArgSet &termISet, Bool_t &isOwned, Bool_t forceWrap=kFALSE) const
Calculate integrals of factorized product terms over observables iset while normalized to observables...
Definition: RooProdPdf.cxx:1550
RooProdPdf::CacheElem::~CacheElem
~CacheElem() override=default
RooListProxy.h
RooProdPdf::expectedEvents
virtual Double_t expectedEvents(const RooArgSet *nset) const
Return the expected number of events associated with the extendable input PDF in the product.
Definition: RooProdPdf.cxx:1863
Double_t
double Double_t
Definition: RtypesCore.h:59
RooProdPdf::CacheElem::_denList
RooArgList _denList
Definition: RooProdPdf.h:144
RooProdPdf::binBoundaries
virtual std::list< Double_t > * binBoundaries(RooAbsRealLValue &, Double_t, Double_t) const
Forward the plot sampling hint from the p.d.f. that defines the observable obs.
Definition: RooProdPdf.cxx:2232
RooObjCacheManager
Class RooObjCacheManager is an implementation of class RooCacheManager<RooAbsCacheElement> and specia...
Definition: RooObjCacheManager.h:30
RooProdPdf::RooProdPdf
RooProdPdf()
Default constructor.
Definition: RooProdPdf.cxx:81
RooLinkedList.h
RooAbsCacheElement::Action
Action
Definition: RooAbsCacheElement.h:39
RooProdPdf::~RooProdPdf
virtual ~RooProdPdf()
Destructor.
Definition: RooProdPdf.cxx:441
TObject
Mother of all ROOT objects.
Definition: TObject.h:37
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
RooProdPdf::CacheElem::containedArgs
RooArgList containedArgs(Action) override
Return RooAbsArg components contained in the cache.
Definition: RooProdPdf.cxx:1977
RooProdPdf::checkObservables
virtual Bool_t checkObservables(const RooArgSet *nset) const
Obsolete.
Definition: RooProdPdf.cxx:1842
RooAbsArg::NotAdvised
@ NotAdvised
Definition: RooAbsArg.h:389
RooProdPdf::setSelfNormalized
void setSelfNormalized(Bool_t flag)
Definition: RooProdPdf.h:92
name
char name[80]
Definition: TGX11.cxx:110
pRooArgList
RooArgList * pRooArgList
Definition: RooProdPdf.h:34
RooBatchCompute
Namespace for dispatching RooFit computations to various backends.
Definition: BracketAdapter.h:24
RooProdPdf::calculate
Double_t calculate(const RooProdPdf::CacheElem &cache, Bool_t verbose=kFALSE) const
Calculate running product of pdfs terms, using the supplied normalization set in 'normSetList' for ea...
Definition: RooProdPdf.cxx:475
RooProdPdf::_useDefaultGen
Bool_t _useDefaultGen
Definition: RooProdPdf.h:177
RooProdPdf::getGenerator
virtual Int_t getGenerator(const RooArgSet &directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const
Query internal generation capabilities of component p.d.f.s and aggregate capabilities into master co...
Definition: RooProdPdf.cxx:1891
genreflex::verbose
bool verbose
Definition: rootcling_impl.cxx:133
RooDataSet
RooDataSet is a container class to hold unbinned data.
Definition: RooDataSet.h:33
RooAbsArg
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
Definition: RooAbsArg.h:72
RooAbsPdf
Definition: RooAbsPdf.h:41
RooProdPdf::generateEvent
virtual void generateEvent(Int_t code)
Generate a single event with configuration specified by 'code' Defer internal generation to component...
Definition: RooProdPdf.cxx:1956
RooProdPdf::fixRefRange
void fixRefRange(const char *rangeName)
Definition: RooProdPdf.cxx:2182
RooProdPdf::printMetaArgs
void printMetaArgs(std::ostream &os) const
Customized printing of arguments of a RooProdPdf to more intuitively reflect the contents of the prod...
Definition: RooProdPdf.cxx:2284
RooProdPdf::makeCondPdfRatioCorr
RooAbsReal * makeCondPdfRatioCorr(RooAbsReal &term, const RooArgSet &termNset, const RooArgSet &termImpSet, const char *normRange, const char *refRange) const
For single normalization ranges.
Definition: RooProdPdf.cxx:1126
RooAbsCollection::removeAll
virtual void removeAll()
Remove all arguments from our set, deleting them if we own them.
Definition: RooAbsCollection.cxx:644
RooAbsRealLValue
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
Definition: RooAbsRealLValue.h:31
RooProdPdf
RooProdPdf is an efficient implementation of a product of PDFs of the form.
Definition: RooProdPdf.h:37
RooProdPdf::CacheElem::writeToStream
void writeToStream(std::ostream &os) const
Definition: RooProdPdf.cxx:2337
RooBatchCompute::RunContext
This struct enables passing computation data around between elements of a computation graph.
Definition: RunContext.h:31
RooSpan
A simple container to hold a batch of data values.
Definition: RooSpan.h:34
RooArgSet
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:33
RooProdPdf::getParametersHook
virtual void getParametersHook(const RooArgSet *, RooArgSet *, Bool_t stripDisconnected) const
Definition: RooProdPdf.cxx:2133
int
RooProdPdf::factorizeProduct
void factorizeProduct(const RooArgSet &normSet, const RooArgSet &intSet, RooLinkedList &termList, RooLinkedList &normList, RooLinkedList &impDepList, RooLinkedList &crossDepList, RooLinkedList &intList) const
Factorize product in irreducible terms for given choice of integration/normalization.
Definition: RooProdPdf.cxx:598