16 #ifndef ROO_SIM_PDF_BUILDER
17 #define ROO_SIM_PDF_BUILDER
25 class RooSimultaneous ;
28 class RooSuperCategory ;
30 class RooSimPdfBuilder :
public TObject {
33 RooSimPdfBuilder(
const RooArgSet& pdfProtoList) ;
36 RooArgSet* createProtoBuildConfig() ;
38 RooSimultaneous* buildPdf(
const RooArgSet& buildConfig,
const RooArgSet& dependents,
39 const RooArgSet* auxSplitCats=0, Bool_t verbose=kFALSE) ;
41 RooSimultaneous* buildPdf(
const RooArgSet& buildConfig,
const RooAbsData* dataSet,
42 const RooArgSet& auxSplitCats, Bool_t verbose=kFALSE) {
43 return buildPdf(buildConfig,*dataSet->get(),&auxSplitCats,verbose) ;
46 RooSimultaneous* buildPdf(
const RooArgSet& buildConfig,
const RooArgSet& dependents,
47 const RooArgSet& auxSplitCats, Bool_t verbose=kFALSE) {
48 return buildPdf(buildConfig,dependents,&auxSplitCats,verbose) ;
51 RooSimultaneous* buildPdf(
const RooArgSet& buildConfig,
const RooAbsData* dataSet,
52 const RooArgSet* auxSplitCats=0, Bool_t verbose=kFALSE) {
53 return buildPdf(buildConfig,*dataSet->get(),auxSplitCats,verbose) ;
56 const RooArgSet& splitLeafList() {
return _splitNodeList; }
58 void addSpecializations(
const RooArgSet& specSet) ;
62 RooArgSet _protoPdfSet ;
64 RooArgSet _compSplitCatSet ;
65 RooArgSet _splitNodeListOwned ;
66 RooArgSet _splitNodeList ;
67 TList _retiredCustomizerList ;
69 std::list<RooSimultaneous*> _simPdfList ;
70 std::list<RooSuperCategory*> _fitCatList ;
74 RooSimPdfBuilder(
const RooSimPdfBuilder&) ;
77 ClassDef(RooSimPdfBuilder,0)