Warning, file /include/root/RooEffGenContext.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 #ifndef ROO_EFF_GEN_CONTEXT
0015 #define ROO_EFF_GEN_CONTEXT
0016
0017 #include "RooAbsGenContext.h"
0018 class RooAbsPdf;
0019 class RooArgSet;
0020 class RooDataSet;
0021 class RooAbsReal;
0022
0023 class RooEffGenContext : public RooAbsGenContext {
0024 public:
0025 RooEffGenContext(const RooAbsPdf &model, const RooAbsPdf &pdf, const RooAbsReal &eff, const RooArgSet &vars,
0026 const RooDataSet *prototype = nullptr, const RooArgSet *auxProto = nullptr, bool verbose = false,
0027 const RooArgSet *forceDirect = nullptr);
0028
0029 void printMultiline(std::ostream &os, Int_t content, bool verbose = false, TString indent = "") const override;
0030
0031 protected:
0032 void initGenerator(const RooArgSet &theEvent) override;
0033 void generateEvent(RooArgSet &theEvent, Int_t remaining) override;
0034
0035 private:
0036 inline void initializeEff(RooAbsReal const &eff)
0037 {
0038 _eff = dynamic_cast<RooAbsReal *>(_cloneSet.find(eff.GetName()));
0039 }
0040
0041 RooArgSet _cloneSet;
0042 RooAbsReal *_eff;
0043 std::unique_ptr<RooAbsGenContext> _generator;
0044 RooArgSet _vars;
0045 double _maxEff;
0046
0047 ClassDefOverride(RooEffGenContext, 0);
0048 };
0049 #endif