library: libRooFit #include "RooExtendPdf.h"

# RooExtendPdf

class description - source file - inheritance tree (.pdf)

## class RooExtendPdf : public RooAbsPdf

| Inheritance Chart:

`TObject`

<-

`TNamed`

`RooPrintable`

<-

`RooAbsArg`

<-

`RooAbsReal`

<-

`RooAbsPdf`

<-

`RooExtendPdf`

        public:

                                        RooExtendPdf(const char* name, const char* title, const RooAbsPdf& pdf, const RooAbsReal& norm, const char* rangeName = "0")
                                        RooExtendPdf(const RooExtendPdf& other, const char* name = "0")
                                virtual ~RooExtendPdf()
                       virtual Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName = "0") const
                         static TClass* Class()
                       virtual TObject* clone(const char* newname) const
                       virtual Double_t evaluate() const
                       virtual Double_t expectedEvents(const RooArgSet* nset = 0) const
          virtual RooAbsPdf::ExtendMode extendMode() const
                         virtual Bool_t forceAnalyticalInt(const RooAbsArg&) const
                          virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& analVars, const RooArgSet* normSet, const char* rangeName = "0") const
                        virtual TClass* IsA() const
                         virtual Bool_t selfNormalized() const
                           virtual void ShowMembers(TMemberInspector& insp, char* parent)
                           virtual void Streamer(TBuffer& b)
                                   void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

           RooRealProxy _pdf        PDF used for fractional correction factor
           RooRealProxy _n          Number of expected events
          const TNamed* _rangeName  Name of subset range

## Class Description

RooExtendPdf(const char *name, const char *title, const RooAbsPdf& pdf, const RooAbsReal& norm, const char* rangeName) : RooAbsPdf(name,title), _pdf("pdf","PDF",this,(RooAbsReal&)pdf), _n("n","Normalization",this,(RooAbsReal&)norm), _rangeName(RooNameReg::ptr(rangeName))

     Constructor. The ExtendedPdf behaves identical to the supplied input pdf,
     but adds an extended likelihood term. The expected number of events return
     is 'norm'. If a rangename is given, the number of events is interpreted as
     the number of events in the given range

RooExtendPdf(const RooExtendPdf& other, const char* name) : RooAbsPdf(other,name), _pdf("pdf",this,other._pdf), _n("n",this,other._n), _rangeName(other._rangeName)

     Copy constructor

~RooExtendPdf()

     Destructor

Double_t expectedEvents(const RooArgSet* nset) const

     Return the number of expected events, which is

     n / [ Int(xC,yF) pdf(x,y) / Int(xF,yF) pdf(x,y) ]

     Where x is the set of dependents with cuts defined
     and y are the other dependents. xC is the integration
     of x over the cut range, xF is the integration of
     x over the full range.

### Inline Functions

                         TObject* clone(const char* newname) const
                         Double_t evaluate() const
                           Bool_t forceAnalyticalInt(const RooAbsArg&) const
                            Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& analVars, const RooArgSet* normSet, const char* rangeName = "0") const
                         Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName = "0") const
                           Bool_t selfNormalized() const
            RooAbsPdf::ExtendMode extendMode() const
                          TClass* Class()
                          TClass* IsA() const
                             void ShowMembers(TMemberInspector& insp, char* parent)
                             void Streamer(TBuffer& b)
                             void StreamerNVirtual(TBuffer& b)

Last update: Tue Jun 28 18:12:09 2005
Copyright (c) 2000-2005, Regents of the University of California *