Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
RooEffProd.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitModels *
4 * File: $Id: RooEffProd.h,v 1.2 2007/05/11 10:14:56 verkerke Exp $
5 * Authors: *
6 * GR, Gerhard Raven, NIKHEF/VU *
7 * *
8 * Redistribution and use in source and binary forms, *
9 * with or without modification, are permitted according to the terms *
10 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
11 *****************************************************************************/
12#ifndef ROO_EFF_PROD
13#define ROO_EFF_PROD
14
15#include "RooAbsPdf.h"
16#include "RooRealProxy.h"
17#include "RooObjCacheManager.h"
18
19class RooEffProd: public RooAbsPdf {
20public:
21 // Constructors, assignment etc
23 RooEffProd(const char *name, const char *title, RooAbsPdf& pdf, RooAbsReal& efficiency);
24 RooEffProd(const RooEffProd& other, const char* name=nullptr);
25
26 TObject* clone(const char* newname) const override { return new RooEffProd(*this,newname); }
27
29 const RooArgSet* auxProto, bool verbose) const override;
30
31 RooAbsReal const& pdf() const { return *_pdf; }
32 RooAbsReal const& eff() const { return *_eff; }
33
34protected:
35
36 // Function evaluation
37 double evaluate() const override ;
38
39 RooRealProxy _pdf ; ///< Probability Density function
40 RooRealProxy _eff; ///< Efficiency function
41
42 ClassDefOverride(RooEffProd,2) // Product operator p.d.f of (PDF x efficiency) implementing optimized generator context
43};
44
45#endif
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
char name[80]
Definition TGX11.cxx:110
Abstract base class for generator contexts of RooAbsPdf objects.
Abstract interface for all probability density functions.
Definition RooAbsPdf.h:40
Abstract base class for objects that represent a real value and implements functionality common to al...
Definition RooAbsReal.h:59
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:24
Container class to hold unbinned data.
Definition RooDataSet.h:34
The class RooEffProd implements the product of a PDF with an efficiency function.
Definition RooEffProd.h:19
RooAbsReal const & pdf() const
Definition RooEffProd.h:31
RooAbsGenContext * genContext(const RooArgSet &vars, const RooDataSet *prototype, const RooArgSet *auxProto, bool verbose) const override
Return specialized generator context for RooEffProds that implements generation in a more efficient w...
TObject * clone(const char *newname) const override
Definition RooEffProd.h:26
RooRealProxy _pdf
Probability Density function.
Definition RooEffProd.h:39
RooAbsReal const & eff() const
Definition RooEffProd.h:32
RooRealProxy _eff
Efficiency function.
Definition RooEffProd.h:40
double evaluate() const override
Calculate and return 'raw' unnormalized value of p.d.f.
Mother of all ROOT objects.
Definition TObject.h:41