library: libRooFit #include "RooParametricStepFunction.h"

# RooParametricStepFunction

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

## class RooParametricStepFunction : public RooAbsPdf

| Inheritance Chart:
`TObject`
| <- | `TNamed`
`RooPrintable`
| <- | `RooAbsArg`
| <- | `RooAbsReal`
| <- | `RooAbsPdf`
| <- | `RooParametricStepFunction` |

        protected:

          virtual Double_t evaluate() const

        public:

                                    RooParametricStepFunction(const char* name, const char* title, RooAbsReal& x, const RooArgList& coefList, TArrayD& limits, Int_t nBins = 1)
                                    RooParametricStepFunction(const RooParametricStepFunction& other, const char* name = "0")
                            virtual ~RooParametricStepFunction()
                   virtual Double_t analyticalIntegral(Int_t code, const char* rangeName = "0") const
                     static TClass* Class()
                   virtual TObject* clone(const char* newname) const
                      virtual Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName = "0") const
                          Double_t* getLimits()
                              Int_t getnBins()
                    virtual TClass* IsA() const
                       virtual void ShowMembers(TMemberInspector& insp, char* parent)
                       virtual void Streamer(TBuffer& b)
                               void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

          RooRealProxy _x
          RooListProxy _coefList
               TArrayD _limits
                 Int_t _nBins
            TIterator* _coefIter  ! do not persist

## Class Description

     This PDF may be used to describe oddly shaped distributions.  It differs
     from a RooKeysPdf or a RooHistPdf in that a RooParametricStepFunction
     has free parameters.  In particular, any statistical uncertainty in
     sample used to model this PDF may be understood with these free parameters;
     this is not possible with non-parametric PDFs.

     The RooParametricStepFunction has Nbins-1 free parameters. Note that
     the limits of the dependent varaible must match the low and hi bin limits.

     An example of usage is:

     Int_t nbins(10);
     TArrayD limits(nbins+1);
     limits[0] = 0.0; //etc...
     RooArgList* list = new RooArgList("list");
     RooRealVar* binHeight0 = new RooRealVar("binHeight0","bin 0 Value",0.1,0.0,1.0);
     list->add(binHeight0); // up to binHeight8, ie. 9 parameters

     RooParametricStepFunction  aPdf = ("aPdf","PSF",*x,
                                        *list,limits,nbins);

RooParametricStepFunction(const char* name, const char* title, RooAbsReal& x, const RooArgList& coefList, TArrayD& limits, Int_t nBins) : RooAbsPdf(name, title), _x("x", "Dependent", this, x), _coefList("coefList","List of coefficients",this), _nBins(nBins)

     Constructor

RooParametricStepFunction(const RooParametricStepFunction& other, const char* name) : RooAbsPdf(other, name), _x("x", this, other._x), _coefList("coefList",this,other._coefList), _nBins(other._nBins)

     Copy constructor

~RooParametricStepFunction()

     Destructor

Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* /*rangeName*/) const

Double_t analyticalIntegral(Int_t code, const char* /*rangeName*/) const

Double_t evaluate() const

Int_t getnBins()

Double_t* getLimits()

### Inline Functions

               TObject* clone(const char* newname) 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:14:12 2005
Copyright (c) 2004, Stanford University. All rights reserved. *