16 #ifndef ROO_SIM_SPLIT_GEN_CONTEXT
17 #define ROO_SIM_SPLIT_GEN_CONTEXT
24 class RooSimultaneous;
26 class RooAbsCategoryLValue ;
28 class RooSimSplitGenContext :
public RooAbsGenContext {
30 RooSimSplitGenContext(
const RooSimultaneous &model,
const RooArgSet &vars, Bool_t _verbose= kFALSE, Bool_t autoBinned=kTRUE,
const char* binnedTag=
"");
31 virtual ~RooSimSplitGenContext();
32 virtual void setProtoDataOrder(Int_t* lut) ;
34 virtual void attach(
const RooArgSet& params) ;
36 virtual void printMultiline(std::ostream &os, Int_t content, Bool_t verbose=kFALSE, TString indent=
"")
const ;
38 virtual RooDataSet *generate(Double_t nEvents= 0, Bool_t skipInit=kFALSE, Bool_t extendedMode=kFALSE);
40 virtual void setExpectedData(Bool_t) ;
44 virtual void initGenerator(
const RooArgSet &theEvent);
45 virtual void generateEvent(RooArgSet &theEvent, Int_t remaining);
47 RooDataSet* createDataSet(
const char* name,
const char* title,
const RooArgSet& obs) ;
49 RooSimSplitGenContext(
const RooSimSplitGenContext& other) ;
51 RooAbsCategoryLValue* _idxCat ;
52 RooArgSet* _idxCatSet ;
53 const RooSimultaneous *_pdf ;
54 std::vector<RooAbsGenContext*> _gcList ;
55 std::vector<int> _gcIndex ;
58 Double_t* _fracThresh ;
60 RooArgSet _allVarsPdf ;
61 TIterator* _proxyIter ;
63 ClassDef(RooSimSplitGenContext,0)