library: libRooFit #include "Roo2DKeysPdf.h"

# Roo2DKeysPdf

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

## class Roo2DKeysPdf : public RooAbsPdf

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

        private:

          Double_t evaluateFull(Double_t thisX, Double_t thisY) const
          Double_t g(Double_t var1, Double_t* _var1, Double_t sigma1, Double_t var2, Double_t* _var2, Double_t sigma2) const
          Double_t highBoundaryCorrection(Double_t thisVar, Double_t thisH, Double_t high, Double_t tVar) const
          Double_t lowBoundaryCorrection(Double_t thisVar, Double_t thisH, Double_t low, Double_t tVar) const

        public:

                           Roo2DKeysPdf(const char* name, const char* title, RooAbsReal& xx, RooAbsReal& yy, RooDataSet& data, TString options = a, Double_t widthScaleFactor = 1.0)
                           Roo2DKeysPdf(const Roo2DKeysPdf& other, const char* name = "0")
                   virtual ~Roo2DKeysPdf()
                     Int_t calculateBandWidth(Int_t kernel = -999)
            static TClass* Class()
          virtual TObject* clone(const char* newname) const
          virtual Double_t evaluate() const
                     Int_t getBandWidthType() const
                  Double_t getMean(const char* axis) const
                      void getOptions() const
                  Double_t getSigma(const char* axis) const
           virtual TClass* IsA() const
                     Int_t loadDataSet(RooDataSet& data, TString options)
                      void PrintInfo(ostream&) const
                      void setOptions(TString options)
                      void setWidthScaleFactor(Double_t widthScaleFactor)
              virtual void ShowMembers(TMemberInspector& insp, char* parent)
              virtual void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)
                      void writeHistToFile(char* outputFile, const char* histName) const
                      void writeNTupleToFile(char* outputFile, const char* name) const
                      void writeToFile(char* outputFile, const char* name) const

### Data Members

        private:

          Double_t* _x
          Double_t* _hx
          Double_t* _y
          Double_t* _hy
           Double_t _norm
           Double_t _xMean             the (x,y) mean and sigma are properties of the data, not of the PDF
           Double_t _xSigma
           Double_t _yMean
           Double_t _ySigma
           Double_t _n                 coefficient of the kernel estimation sum
           Double_t _n16               pow(_nEvents, -1/6)
           Double_t _sqrt2pi
           Double_t _2pi               = M_PI*2
           Double_t _lox
           Double_t _hix
           Double_t _loy
           Double_t _hiy
           Double_t _xoffset
           Double_t _yoffset
           Double_t _widthScaleFactor  allow manipulation of the bandwidth by a scale factor
              Int_t _nEvents
              Int_t _BandWidthType
              Int_t _MirrorAtBoundary
              Int_t _debug
              Int_t _verbosedebug
              Int_t _vverbosedebug

        public:

          RooRealProxy x
          RooRealProxy y

## Class Description

Roo2DKeysPdf(const char *name, const char *title, RooAbsReal& xx, RooAbsReal & yy, RooDataSet& data, TString options, Double_t widthScaleFactor): RooAbsPdf(name,title), x("x", "x dimension",this, xx), y("y", "y dimension",this, yy)

Roo2DKeysPdf(const Roo2DKeysPdf & other, const char* name) : RooAbsPdf(other,name), x("x", this, other.x), y("y", this, other.y)

~Roo2DKeysPdf()

     Load a new data set into the class instance.  If the calculation fails,
        return 1
        return 0 indicates a success

Int_t loadDataSet(RooDataSet& data, TString options)

void setOptions(TString options)

void getOptions(void) const

Int_t calculateBandWidth(Int_t kernel)

Double_t evaluate() const

     use the cacheing intrinsic in RFC to bypass the grid and remove
     the grid and extrapolation approximation in the kernel estimation method
    implementation - cheers Wouter :)

Double_t evaluateFull(Double_t thisX, Double_t thisY) const

Double_t highBoundaryCorrection(Double_t thisVar, Double_t thisH, Double_t high, Double_t tVar) const

Double_t lowBoundaryCorrection(Double_t thisVar, Double_t thisH, Double_t low, Double_t tVar) const

Double_t g(Double_t varMean1, Double_t * _var1, Double_t sigma1, Double_t varMean2, Double_t * _var2, Double_t sigma2) const

Int_t getBandWidthType() const

Double_t getMean(const char * axis) const

Double_t getSigma(const char * axis) const

void writeToFile(char * outputFile, const char * name) const

void writeHistToFile(char * outputFile, const char * histName) const

void writeNTupleToFile(char * outputFile, const char * name) const

void PrintInfo(ostream & out) const

### Inline Functions

               TObject* clone(const char* newname) const
                   void setWidthScaleFactor(Double_t widthScaleFactor)
                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:08:38 2005
Copyright (c) 2000-2005, Regents of the University of California, *