Logo ROOT  
Reference Guide
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 "RooAbsReal.h"
17#include "RooRealProxy.h"
18#include "RooObjCacheManager.h"
19
20class RooEffProd: public RooAbsPdf {
21public:
22 // Constructors, assignment etc
23 RooEffProd(const char *name, const char *title, RooAbsPdf& pdf, RooAbsReal& efficiency);
24 RooEffProd(const RooEffProd& other, const char* name=0);
25
26 TObject* clone(const char* newname) const override { return new RooEffProd(*this,newname); }
27
28 RooAbsGenContext* genContext(const RooArgSet &vars, const RooDataSet *prototype,
29 const RooArgSet* auxProto, bool verbose) const override;
30
31protected:
32
33 // Function evaluation
34 double evaluate() const override ;
35
36 RooRealProxy _pdf ; ///< Probability Density function
37 RooRealProxy _eff; ///< Efficiency function
38
39 ClassDefOverride(RooEffProd,2) // Product operator p.d.f of (PDF x efficiency) implementing optimized generator context
40};
41
42#endif
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
char name[80]
Definition: TGX11.cxx:110
RooAbsGenContext is the abstract base class for generator contexts of RooAbsPdf objects.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:64
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:57
RooDataSet is a container class to hold unbinned data.
Definition: RooDataSet.h:55
The class RooEffProd implements the product of a PDF with an efficiency function.
Definition: RooEffProd.h:20
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...
Definition: RooEffProd.cxx:67
RooEffProd(const char *name, const char *title, RooAbsPdf &pdf, RooAbsReal &efficiency)
Constructor of a a production of p.d.f inPdf with efficiency function inEff.
Definition: RooEffProd.cxx:34
TObject * clone(const char *newname) const override
Definition: RooEffProd.h:26
RooRealProxy _pdf
Probability Density function.
Definition: RooEffProd.h:36
RooRealProxy _eff
Efficiency function.
Definition: RooEffProd.h:37
double evaluate() const override
Calculate and return 'raw' unnormalized value of p.d.f.
Definition: RooEffProd.cxx:57
Mother of all ROOT objects.
Definition: TObject.h:37