20 class RooEffProd:
public RooAbsPdf {
23 inline RooEffProd() : _nset(0), _fixedNset(0) { };
24 virtual ~RooEffProd();
25 RooEffProd(
const char *name,
const char *title, RooAbsPdf& pdf, RooAbsReal& efficiency);
26 RooEffProd(
const RooEffProd& other,
const char* name=0);
28 virtual TObject* clone(
const char* newname)
const {
return new RooEffProd(*
this,newname); }
30 virtual RooAbsGenContext* genContext(
const RooArgSet &vars,
const RooDataSet *prototype,
31 const RooArgSet* auxProto, Bool_t verbose)
const;
33 virtual Double_t getValV(
const RooArgSet* set=0)
const ;
35 virtual Bool_t forceAnalyticalInt(
const RooAbsArg& )
const {
39 Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& numVars,
const RooArgSet* normSet,
const char* rangeName=0)
const ;
40 Double_t analyticalIntegralWN(Int_t code,
const RooArgSet* normSet,
const char* rangeName=0)
const ;
44 const RooAbsPdf* pdf()
const {
46 return (RooAbsPdf*) _pdf.absArg() ;
48 const RooAbsReal* eff()
const {
50 return (RooAbsReal*) _eff.absArg() ;
54 virtual Double_t evaluate()
const ;
56 class CacheElem :
public RooAbsCacheElement {
58 CacheElem() : _clone(0), _int(0) {}
59 virtual ~CacheElem() {
delete _int ;
delete _clone ; }
65 virtual RooArgList containedArgs(Action) ;
67 mutable RooObjCacheManager _cacheMgr ;
73 mutable const RooArgSet* _nset ;
75 RooArgSet* _fixedNset ;
77 ClassDef(RooEffProd,2)