Warning, file /include/root/RooProdGenContext.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef ROO_PROD_GEN_CONTEXT
0017 #define ROO_PROD_GEN_CONTEXT
0018
0019 #include "RooAbsGenContext.h"
0020 #include "RooArgSet.h"
0021 #include <list>
0022
0023 class RooProdPdf;
0024 class RooDataSet;
0025 class RooRealIntegral;
0026 class RooAcceptReject;
0027 class TRandom;
0028 class RooSuperCategory ;
0029
0030 class RooProdGenContext : public RooAbsGenContext {
0031 public:
0032 RooProdGenContext(const RooProdPdf &model, const RooArgSet &vars, const RooDataSet *prototype= nullptr,
0033 const RooArgSet* auxProto=nullptr, bool _verbose= false);
0034 ~RooProdGenContext() override;
0035
0036 void setProtoDataOrder(Int_t* lut) override ;
0037 void printMultiline(std::ostream &os, Int_t content, bool verbose=false, TString indent="") const override ;
0038
0039 void attach(const RooArgSet& params) override ;
0040
0041 protected:
0042
0043 void initGenerator(const RooArgSet &theEvent) override;
0044 void generateEvent(RooArgSet &theEvent, Int_t remaining) override;
0045
0046 void updateCCDTable() ;
0047
0048
0049 RooProdGenContext(const RooProdGenContext& other) ;
0050
0051 RooArgSet _commonCats ;
0052 RooArgSet* _ccdCloneSet ;
0053 RooSuperCategory* _ccdSuper ;
0054 RooArgSet* _pdfCloneSet ;
0055 RooAbsPdf* _pdfClone ;
0056 RooRealIntegral* _pdfCcdInt ;
0057 RooArgSet _uniObs ;
0058 bool _ccdRefresh ;
0059 double * _ccdTable ;
0060 const RooProdPdf *_pdf ;
0061 std::list<std::unique_ptr<RooAbsGenContext>> _gcList ;
0062 RooArgSet _ownedMultiProds ;
0063
0064 ClassDefOverride(RooProdGenContext,0)
0065 };
0066
0067 #endif