#include "QSigExDisTH.h"

QSigExDisTH


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

class QSigExDisTH : public QSigExDis

Inheritance Chart:
TObject
<-
TNamed
QSigExIO
<-
QSigExDis
<-
QSigExDisTH

    public:
QSigExDisTH() QSigExDisTH(const Char_t* classname) QSigExDisTH(const QSigExDisTH& newqdth) QSigExDisTH(const Char_t* classname, const Char_t* filename, const Char_t* objectname) QSigExDisTH(const Char_t* classname, const TH1& newobject) virtual ~QSigExDisTH() static TClass* Class() virtual QSigExDis* CloneQSigExDis() const virtual Int_t GetDimension() virtual TClass* IsA() const virtual void Normalize(Option_t* cutexpr = "NULL", Int_t normflags = 0, Double_t* fullintegral = NULL, Double_t* cutintegral = NULL, Double_t* error = NULL) const QSigExDisTH& operator=(const QSigExDisTH& newqdis) virtual Double_t ProbDensity(const Double_t& x, const Double_t& y, const Double_t& z) const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
static QSigExTHOps fQSigExTHOps !

Class Description

                                                                  
 QSigExDisTH                                                      
                                                                  
 This class creates a probability density function from a TH      
 object. The class is derived from abstract base class QSigExDis  
 that gives a common interface to all type of p.d.f.. It          
 implements a Normalize function that allows to normalize the     
 initial function using complex cuts.                             
                                                                  

Double_t ProbDensity(const Double_t &x,const Double_t &y,const Double_t &z)
This function returns the probability density associated with a point which
coordinates are (x,y,z). For p.d.f. with less than 3 dimensions, the
arguments of extra dimensions are optional. Before calling this function,
the user must call QSigExDisTH::Normalize() to normalize the p.d.f. properly. 
void Normalize(Option_t* cutexpr, Int_t normflags, Double_t* fullintegral, Double_t* cutintegral, Double_t* error)
This function normalizes the PDF according to the normalization
flags normflags and the cuts defined via the cutexpr string. This
string is a standard ROOT selection expression that contains x
and/or y and/or z variables. The normalization flag values are the
following:
 
0: Regular PDF 
1: Conditional PDF with 1 fixed coordinate
2: Conditional PDF with 2 fixed coordinates
3: Conditional PDF with 3 fixed coordinates
4: PDF with variable bin size for which the histogram bin content
   corresponds to a number of events

Flags can be combined using a bitwise "OR" operator

Since a histogram is a binned function, there is a normalization
error when the cuts cross bins.  If the fourth argument is provided
by the user, it is filled with the normalization error. The
cutintegral value is computed by including all the bins for which
at least one corner pass the cuts.  The error is the total area,
volume or hypervolume occupied by the bins that cross the cuts. The
second and third arguments (optional) are filled with the total
function integral and the integral of function between cuts
respectively.
QSigExDisTH()


{}
QSigExDisTH(const Char_t* classname)


{}
QSigExDisTH(const QSigExDisTH& newqdth)


{PRINTF2(this,"\tQSigExDisTH::QSigExDisTH(const QSigExDisTH& newqdth)\n") *this=newqdth; }
QSigExDisTH(const Char_t* classname, const Char_t* filename, const Char_t* objectname)

QSigExDisTH(const Char_t* classname, const TH1& newobject)

virtual ~QSigExDisTH()


{PRINTF2(this,"\tQSigExDisTH::~QSigExDisTH()\n")}
const QSigExDisTH& operator=(const QSigExDisTH& newqdis)

QSigExDis* CloneQSigExDis()

Int_t GetDimension()


{return dynamic_cast<TH1*>(GetObject())->GetDimension();}

Author: Pierre-Luc Drouin
Last update: Fri Nov 17 16:35:13 2006


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.