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 "RooCacheManager.h"
24 #include "RooObjCacheManager.h"
25 #include "RooCmdArg.h"
26 #include <vector>
27 #include <list>
28 #include <string>
29 
30 namespace BatchHelpers {
31 struct RunContext;
32 }
33 
36 
37 class RooProdPdf : public RooAbsPdf {
38 public:
39  RooProdPdf() ;
40  RooProdPdf(const char *name, const char *title, Double_t cutOff=0);
41  RooProdPdf(const char *name, const char *title,
42  RooAbsPdf& pdf1, RooAbsPdf& pdf2, Double_t cutOff=0) ;
43  RooProdPdf(const char* name, const char* title, const RooArgList& pdfList, Double_t cutOff=0) ;
44  RooProdPdf(const char* name, const char* title, const RooArgSet& fullPdfSet, const RooLinkedList& cmdArgList) ;
45 
46  RooProdPdf(const char* name, const char* title, const RooArgSet& fullPdfSet,
47  const RooCmdArg& arg1 , const RooCmdArg& arg2=RooCmdArg(),
48  const RooCmdArg& arg3=RooCmdArg(), const RooCmdArg& arg4=RooCmdArg(),
49  const RooCmdArg& arg5=RooCmdArg(), const RooCmdArg& arg6=RooCmdArg(),
50  const RooCmdArg& arg7=RooCmdArg(), const RooCmdArg& arg8=RooCmdArg()) ;
51 
52  RooProdPdf(const char* name, const char* title,
53  const RooCmdArg& arg1, const RooCmdArg& arg2=RooCmdArg(),
54  const RooCmdArg& arg3=RooCmdArg(), const RooCmdArg& arg4=RooCmdArg(),
55  const RooCmdArg& arg5=RooCmdArg(), const RooCmdArg& arg6=RooCmdArg(),
56  const RooCmdArg& arg7=RooCmdArg(), const RooCmdArg& arg8=RooCmdArg()) ;
57 
58  RooProdPdf(const RooProdPdf& other, const char* name=0) ;
59  virtual TObject* clone(const char* newname) const { return new RooProdPdf(*this,newname) ; }
60  virtual ~RooProdPdf() ;
61 
62  virtual Bool_t checkObservables(const RooArgSet* nset) const ;
63 
64  virtual Bool_t forceAnalyticalInt(const RooAbsArg& dep) const ;
65  Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& numVars, const RooArgSet* normSet, const char* rangeName=0) const ;
66  Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName=0) const ;
67  virtual Bool_t selfNormalized() const { return _selfNorm ; }
68 
69  virtual ExtendMode extendMode() const ;
70  virtual Double_t expectedEvents(const RooArgSet* nset) const ;
71  virtual Double_t expectedEvents(const RooArgSet& nset) const { return expectedEvents(&nset) ; }
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 
103 private:
104 
105  Double_t evaluate() const ;
106  virtual RooSpan<double> evaluateSpan(BatchHelpers::RunContext& evalData, const RooArgSet* normSet) const;
107 
108  RooAbsReal* makeCondPdfRatioCorr(RooAbsReal& term, const RooArgSet& termNset, const RooArgSet& termImpSet, const char* normRange, const char* refRange) const ;
109 
110  virtual void getParametersHook(const RooArgSet* /*nset*/, RooArgSet* /*list*/, Bool_t stripDisconnected) const ;
111 
112  void initializeFromCmdArgList(const RooArgSet& fullPdfSet, const RooLinkedList& l) ;
113 
114  void factorizeProduct(const RooArgSet& normSet, const RooArgSet& intSet,
115  RooLinkedList& termList, RooLinkedList& normList,
116  RooLinkedList& impDepList, RooLinkedList& crossDepList,
117  RooLinkedList& intList) const;
118  std::string makeRGPPName(const char* pfx, const RooArgSet& term, const RooArgSet& iset, const RooArgSet& nset, const char* isetRangeName) const ;
119  void groupProductTerms(RooLinkedList& groupedTerms, RooArgSet& outerIntDeps,
120  const RooLinkedList& terms, const RooLinkedList& norms,
121  const RooLinkedList& imps, const RooLinkedList& ints, const RooLinkedList& cross) const ;
122 
123 
124 
125  Int_t getPartIntList(const RooArgSet* nset, const RooArgSet* iset, const char* isetRangeName=0) const ;
126 
127  std::vector<RooAbsReal*> processProductTerm(const RooArgSet* nset, const RooArgSet* iset, const char* isetRangeName,
128  const RooArgSet* term,const RooArgSet& termNSet, const RooArgSet& termISet,
129  Bool_t& isOwned, Bool_t forceWrap=kFALSE) const ;
130 
131 
132  virtual CacheMode canNodeBeCached() const { return RooAbsArg::NotAdvised ; } ;
133  virtual void setCacheAndTrackHints(RooArgSet&) ;
134 
135  // The cache object
136  class CacheElem : public RooAbsCacheElement {
137  public:
139  virtual ~CacheElem() = default;
140  // Payload
145  std::vector<std::unique_ptr<RooArgSet>> _normList;
147  std::unique_ptr<RooAbsReal> _rearrangedNum{};
148  std::unique_ptr<RooAbsReal> _rearrangedDen{};
149  // Cache management functions
150  virtual RooArgList containedArgs(Action) ;
151  virtual void printCompactTreeHook(std::ostream&, const char *, Int_t, Int_t) ;
152  private:
154  } ;
155  mutable RooObjCacheManager _cacheMgr ; // The cache manager
156 
157  void rearrangeProduct(CacheElem&) const;
158  RooAbsReal* specializeIntegral(RooAbsReal& orig, const char* targetRangeName) const ;
159  RooAbsReal* specializeRatio(RooFormulaVar& input, const char* targetRangeName) const ;
161 
162 
163  friend class RooProdGenContext ;
164  virtual RooAbsGenContext* genContext(const RooArgSet &vars, const RooDataSet *prototype=0,
165  const RooArgSet *auxProto=0, Bool_t verbose= kFALSE) const ;
166 
167 
168  mutable RooAICRegistry _genCode ; //! Registry of composite direct generator codes
169 
170  Double_t _cutOff ; // Cutoff parameter for running product
171  RooListProxy _pdfList ; // List of PDF components
172  RooLinkedList _pdfNSetList ; // List of PDF component normalization sets
173  Int_t _extendedIndex ; // Index of extended PDF (if any)
174 
175  void useDefaultGen(Bool_t flag=kTRUE) { _useDefaultGen = flag ; }
176  Bool_t _useDefaultGen ; // Use default or distributed event generator
177 
178  mutable TNamed* _refRangeName ; // Reference range name for interpretation of conditional products
179 
180  Bool_t _selfNorm ; // Is self-normalized
181  RooArgSet _defNormSet ; // Default normalization set
182 
183 private:
184 
185  ClassDef(RooProdPdf,4) // PDF representing a product of PDFs
186 };
187 
188 
189 #endif
RooProdPdf::_pdfList
RooListProxy _pdfList
Definition: RooProdPdf.h:171
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:91
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:2191
RooCacheManager.h
RooProdPdf::_genCode
RooAICRegistry _genCode
Definition: RooProdPdf.h:168
RooArgSet::addClone
RooAbsArg * addClone(const RooAbsArg &var, Bool_t silent=kFALSE) override
Add clone of specified element to an owning set.
Definition: RooArgSet.cxx:288
RooProdPdf::evaluate
Double_t evaluate() const
Calculate current value of object.
Definition: RooProdPdf.cxx:451
RooProdPdf::specializeIntegral
RooAbsReal * specializeIntegral(RooAbsReal &orig, const char *targetRangeName) const
Definition: RooProdPdf.cxx:1395
RooProdPdf::CacheElem::_normList
std::vector< std::unique_ptr< RooArgSet > > _normList
Definition: RooProdPdf.h:145
RooProdPdf::canNodeBeCached
virtual CacheMode canNodeBeCached() const
Definition: RooProdPdf.h:132
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:1996
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:1734
RooProdPdf::_cutOff
Double_t _cutOff
Registry of composite direct generator codes.
Definition: RooProdPdf.h:170
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::useDefaultGen
void useDefaultGen(Bool_t flag=kTRUE)
Definition: RooProdPdf.h:175
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:2148
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:2039
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:737
RooProdPdf::getConnectedParameters
RooArgSet * getConnectedParameters(const RooArgSet &observables) const
Return all parameter constraint p.d.f.s on parameters listed in constrainedParams.
Definition: RooProdPdf.cxx:2094
RooProdPdf::CacheElem::_rearrangedNum
std::unique_ptr< RooAbsReal > _rearrangedNum
Definition: RooProdPdf.h:147
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:2172
RooProdPdf::expectedEvents
virtual Double_t expectedEvents(const RooArgSet &nset) const
Return expected number of events to be used in calculation of extended likelihood.
Definition: RooProdPdf.h:71
RooProdPdf::_refRangeName
TNamed * _refRangeName
Definition: RooProdPdf.h:178
RooAbsReal
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:61
RooProdPdf::CacheElem::CacheElem
CacheElem(const CacheElem &)
RooAbsArg::CacheMode
CacheMode
Definition: RooAbsArg.h:387
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:181
RooProdPdf::CacheElem::printCompactTreeHook
virtual void printCompactTreeHook(std::ostream &, const char *, Int_t, Int_t)
Hook function to print cache contents in tree printing of RooProdPdf.
Definition: RooProdPdf.cxx:1971
RooProdPdf::redirectServersHook
Bool_t redirectServersHook(const RooAbsCollection &, Bool_t, Bool_t, Bool_t)
Implement support for node removal.
Definition: RooProdPdf.cxx:2299
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:373
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:67
bool
BatchHelpers::RunContext
Data that has to be passed around when evaluating functions / PDFs.
Definition: RunContext.h:32
RooProdPdf::_selfNorm
Bool_t _selfNorm
Definition: RooProdPdf.h:180
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:1829
RooProdPdf::CacheElem::_numList
RooArgList _numList
Definition: RooProdPdf.h:142
RooProdPdf::CacheElem
Definition: RooProdPdf.h:136
RooAbsPdf::ExtendMode
ExtendMode
Definition: RooAbsPdf.h:232
BatchHelpers
Definition: RooFitComputeInterface.h:9
RooProdPdf::specializeRatio
RooAbsReal * specializeRatio(RooFormulaVar &input, const char *targetRangeName) const
Definition: RooProdPdf.cxx:1378
RooProdPdf::CacheElem::_isRearranged
Bool_t _isRearranged
Definition: RooProdPdf.h:146
RooProdPdf::CacheElem::_partList
RooArgList _partList
Definition: RooProdPdf.h:141
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:144
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:1707
RooAbsPdf.h
RooProdPdf::_pdfNSetList
RooLinkedList _pdfNSetList
Definition: RooProdPdf.h:172
RooProdPdf::initGenerator
virtual void initGenerator(Int_t code)
Forward one-time initialization call to component generation initialization methods.
Definition: RooProdPdf.cxx:1910
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:173
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:2232
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
RooProdPdf::findPdfNSet
RooArgSet * findPdfNSet(RooAbsPdf &pdf) const
Look up user specified normalization set for given input PDF component.
Definition: RooProdPdf.cxx:2024
RooLinkedList
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Definition: RooLinkedList.h:35
RooProdPdf::CacheElem::_rearrangedDen
std::unique_ptr< RooAbsReal > _rearrangedDen
Definition: RooProdPdf.h:148
RooProdPdf::CacheElem::containedArgs
virtual RooArgList containedArgs(Action)
Return RooAbsArg components contained in the cache.
Definition: RooProdPdf.cxx:1954
RooAbsPdf::normRange
const char * normRange() const
Definition: RooAbsPdf.h:261
RooAbsCollection
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.
Definition: RooAbsCollection.h:31
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:1855
RooProdPdf::clone
virtual TObject * clone(const char *newname) const
Definition: RooProdPdf.h:59
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:1756
RooCmdArg.h
RooProdPdf::CacheElem::CacheElem
CacheElem()
Definition: RooProdPdf.h:138
RooProdPdf::rearrangeProduct
void rearrangeProduct(CacheElem &) const
Definition: RooProdPdf.cxx:1108
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:1776
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:1521
RooProdPdf::CacheElem::~CacheElem
virtual ~CacheElem()=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:1840
Double_t
double Double_t
Definition: RtypesCore.h:59
RooProdPdf::CacheElem::_denList
RooArgList _denList
Definition: RooProdPdf.h:143
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:2212
RooProdPdf::evaluateSpan
virtual RooSpan< double > evaluateSpan(BatchHelpers::RunContext &evalData, const RooArgSet *normSet) const
Evaluate product of PDFs using input data in evalData.
Definition: RooProdPdf.cxx:506
RooObjCacheManager
Class RooObjCacheManager is an implementation of class RooCacheManager<RooAbsCacheElement> and specia...
Definition: RooObjCacheManager.h:32
RooProdPdf::RooProdPdf
RooProdPdf()
Default constructor.
Definition: RooProdPdf.cxx:80
RooLinkedList.h
RooAbsCacheElement::Action
Action
Definition: RooAbsCacheElement.h:39
RooProdPdf::~RooProdPdf
virtual ~RooProdPdf()
Destructor.
Definition: RooProdPdf.cxx:440
TObject
Mother of all ROOT objects.
Definition: TObject.h:37
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
RooProdPdf::checkObservables
virtual Bool_t checkObservables(const RooArgSet *nset) const
Obsolete.
Definition: RooProdPdf.cxx:1819
RooAbsArg::NotAdvised
@ NotAdvised
Definition: RooAbsArg.h:387
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
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:472
RooProdPdf::_useDefaultGen
Bool_t _useDefaultGen
Definition: RooProdPdf.h:176
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:1868
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:43
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:1933
RooProdPdf::fixRefRange
void fixRefRange(const char *rangeName)
Definition: RooProdPdf.cxx:2162
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:2265
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:1091
RooAbsCollection::removeAll
virtual void removeAll()
Remove all arguments from our set, deleting them if we own them.
Definition: RooAbsCollection.cxx:643
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::groupProductTerms
void groupProductTerms(RooLinkedList &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:1424
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:29
RooProdPdf::getParametersHook
virtual void getParametersHook(const RooArgSet *, RooArgSet *, Bool_t stripDisconnected) const
Definition: RooProdPdf.cxx:2113
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:552