Docs | All | Real | Category | PDF | DataSet | Plot | Container | Misc | Aux | User

RooFit Toolkit for Data Modeling
#include "Roo2DKeysPdf.hh"

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

 Use of the PDF:
  If you generate the PDF using the same domain as you fit to, for data populated
  near the edges, there will be no compensating 'feed through from the other side
  of the boundary'.  There are the following options available to you to avoid or
  reduce edge effects in your fits:
	1) enlarge your fit domain to avoid having significant data at the boundaries
         of your fit.
	2) try using the 'm' option.  This mirrors all gaussuans within the domain at
         the domain boundary.  This will lead to an overestimate of the PDF near the
         boundary instead of the previously observed deficit.
      3) define the fit domain [the RooRealVars in the ctor] to be smaller than the
         domain which the data set ctor used.  This PDF is construced using the events
         in the data set, so if the boundaries are really giving you a problem and
         mirroring is not satisfactory solution to the problem, you have to take a hit
         in using a reduced data set to construct the PDF from.  Recall that you will
         be fitting to data in a different domain [and hence dataset] so there are no
         inconsistencies as a result [unless you are really limited by MC stats and
         use the same MC to generate the PDF and test the PDF's systematics].



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()

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 CVS Update: v 1.20 2005/06/20 15:51:05 wverkerke Top
Copyright © 2000-2005 University of California, Stanford University

Page maintained by Wouter Verkerke and David Kirkby

SourceForge.net Logo