Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

SFH2F Class Reference

#include <SFH2F.h>

Inheritance diagram for SFH2F:

Inheritance graph
[legend]
Collaboration diagram for SFH2F:

Collaboration graph
[legend]
List of all members.

Detailed Description

A self-filling 2-dimensional TH2F histogram.

A self-filling SFH2F object is a TH2F that registers itself in a ROList histogram list when it is created. It has a Fill(S) method that fills one or several entries into the histogram. It uses FloatFun and BaseCut objects to know what to fill, and possibly FillIterator objects in the case that several entries are to be made in one Fill() call.

Author: Jenny Böhme, Benno List

Date
2005/06/10 09:22:11
Author
blist

Changelog:

Definition at line 49 of file SFH2F.h.

Public Member Functions

 SFH2F (const char *name, const char *title, Int_t nbinsx, Axis_t xlow, Axis_t xup, Int_t nbinsy, Axis_t ylow, Axis_t yup, const ROListPoR &hhl, const FloatFunPoR &xfun_, const FloatFunPoR &yfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, const FillIteratorPoR &iter_=0)
 Constructor with equidistant x and y binnings.

 SFH2F (const char *name, const char *title, Int_t nbinsx, const Double_t *xbins, Int_t nbinsy, Axis_t ylow, Axis_t yup, const ROListPoR &hhl, const FloatFunPoR &xfun_, const FloatFunPoR &yfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, const FillIteratorPoR &iter_=0)
 Constructor with non-equidistant x and equidistant y binnings.

 SFH2F (const char *name, const char *title, Int_t nbinsx, Axis_t xlow, Axis_t xup, Int_t nbinsy, const Double_t *ybins, const ROListPoR &hhl, const FloatFunPoR &xfun_, const FloatFunPoR &yfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, const FillIteratorPoR &iter_=0)
 Constructor with equidistant x and non-equidistant y binnings.

 SFH2F (const char *name, const char *title, Int_t nbinsx, const Double_t *xbins, Int_t nbinsy, const Double_t *ybins, const ROListPoR &hhl, const FloatFunPoR &xfun_, const FloatFunPoR &yfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, const FillIteratorPoR &iter_=0)
 Constructor with non-equidistant x and y binnings taking doubles.

 SFH2F (const char *name, const char *title, Int_t nbinsx, const Float_t *xbins, Int_t nbinsy, const Float_t *ybins, const ROListPoR &hhl, const FloatFunPoR &xfun_, const FloatFunPoR &yfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, const FillIteratorPoR &iter_=0)
 Constructor with non-equidistant x and y binnings taking floats.

 SFH2F (const char *name, const char *title, const Binning &xbinning, const Binning &ybinning, const ROListPoR &hhl, const FloatFunPoR &xfun_, const FloatFunPoR &yfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, const FillIteratorPoR &iter_=0)
 Constructor taking 2 Binning objects.

virtual void Fill ()
 The Self-filler method.

FloatFungetXFun () const
 Returns a pointer to the abscissa function object.

FloatFungetYFun () const
 Returns a pointer to the ordinate function object.

BaseCutgetCut () const
 Returns a pointer to the cut function object.

FloatFungetWFun () const
 Returns a pointer to the weight function object.

FillIteratorgetIter () const
 Returns a pointer to the iterator object.


Protected Member Functions

void checkIterators (const char *name)
 Checks consistency of iterators.

template<class Fun1, class Fun2> void checkTwoIterators (const char *name, const char *fun1name, Fun1 *fun1, const char *fun2name, Fun2 *fun2)
 Checks consistency of iterators of two function objects.

template<class Fun> void checkOneIterator (const char *name, const char *funname, Fun *fun)
 Function object.


Protected Attributes

FloatFunxfun
 Function object defining abscissa (what to plot on x).

FloatFunyfun
 Function object defining ordinate (what to plot on y).

BaseCutcut
 optional Function object defining a cut (0 means: no cut)

FloatFunwfun
 optional Function object defining weight (0 means: weight 1)

FillIteratoriter
 optional Iterator object for more than 1 entry per Fill() call


Private Member Functions

 SFH2F (const SFH2F &source)
 Private copy constructor, left unimplemented: No copying!

SFH2Foperator= (const SFH2F &source)
 Private assignment operator, left unimplemented: No assignment!


Constructor & Destructor Documentation

SFH2F::SFH2F const char *  name,
const char *  title,
Int_t  nbinsx,
Axis_t  xlow,
Axis_t  xup,
Int_t  nbinsy,
Axis_t  ylow,
Axis_t  yup,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const FloatFunPoR yfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
const FillIteratorPoR iter_ = 0
 

Constructor with equidistant x and y binnings.

Parameters:
name  TH2F name
title  TH2F title
nbinsx  Number of x bins (as for TH2F)
xlow  Lower x edge (as for TH2F)
xup  Upper x edge (as for TH2F)
nbinsy  Number of y bins (as for TH2F)
ylow  Lower y edge (as for TH2F)
yup  Upper y edge (as for TH2F)
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot on x)
yfun_  Function object defining ordinate (what to plot on y)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 36 of file SFH2F.C.

References checkIterators().

SFH2F::SFH2F const char *  name,
const char *  title,
Int_t  nbinsx,
const Double_t *  xbins,
Int_t  nbinsy,
Axis_t  ylow,
Axis_t  yup,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const FloatFunPoR yfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
const FillIteratorPoR iter_ = 0
 

Constructor with non-equidistant x and equidistant y binnings.

Parameters:
name  TH2F name
title  TH2F title
nbinsx  Number of x bins (as for TH2F)
xbins  Bin edges in x (as for TH2F)
nbinsy  Number of y bins (as for TH2F)
ylow  Lower y edge (as for TH2F)
yup  Upper y edge (as for TH2F)
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot on x)
yfun_  Function object defining ordinate (what to plot on y)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 52 of file SFH2F.C.

References checkIterators().

SFH2F::SFH2F const char *  name,
const char *  title,
Int_t  nbinsx,
Axis_t  xlow,
Axis_t  xup,
Int_t  nbinsy,
const Double_t *  ybins,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const FloatFunPoR yfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
const FillIteratorPoR iter_ = 0
 

Constructor with equidistant x and non-equidistant y binnings.

Parameters:
name  TH2F name
title  TH2F title
nbinsx  Number of x bins (as for TH2F)
xlow  Lower x edge (as for TH2F)
xup  Upper x edge (as for TH2F)
nbinsy  Number of y bins (as for TH2F)
ybins  Bin edges in y (as for TH2F)
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot on x)
yfun_  Function object defining ordinate (what to plot on y)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 68 of file SFH2F.C.

References checkIterators().

SFH2F::SFH2F const char *  name,
const char *  title,
Int_t  nbinsx,
const Double_t *  xbins,
Int_t  nbinsy,
const Double_t *  ybins,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const FloatFunPoR yfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
const FillIteratorPoR iter_ = 0
 

Constructor with non-equidistant x and y binnings taking doubles.

Parameters:
name  TH2F name
title  TH2F title
nbinsx  Number of x bins (as for TH2F)
xbins  Bin edges in x (as for TH2F)
nbinsy  Number of y bins (as for TH2F)
ybins  Bin edges in y (as for TH2F)
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot on x)
yfun_  Function object defining ordinate (what to plot on y)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 84 of file SFH2F.C.

References checkIterators().

SFH2F::SFH2F const char *  name,
const char *  title,
Int_t  nbinsx,
const Float_t *  xbins,
Int_t  nbinsy,
const Float_t *  ybins,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const FloatFunPoR yfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
const FillIteratorPoR iter_ = 0
 

Constructor with non-equidistant x and y binnings taking floats.

Parameters:
name  TH2F name
title  TH2F title
nbinsx  Number of x bins (as for TH2F)
xbins  Bin edges in x (as for TH2F)
nbinsy  Number of y bins (as for TH2F)
ybins  Bin edges in y (as for TH2F)
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot on x)
yfun_  Function object defining ordinate (what to plot on y)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 99 of file SFH2F.C.

References checkIterators().

SFH2F::SFH2F const char *  name,
const char *  title,
const Binning &  xbinning,
const Binning &  ybinning,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const FloatFunPoR yfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
const FillIteratorPoR iter_ = 0
 

Constructor taking 2 Binning objects.

Parameters:
name  TH2F name
title  TH2F title
xbinning  Defines the histogram x binning
ybinning  Defines the histogram y binning
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot on x)
yfun_  Function object defining ordinate (what to plot on y)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 114 of file SFH2F.C.

References checkIterators().


Member Function Documentation

void SFH2F::Fill  )  [virtual]
 

The Self-filler method.

Fill() evaluates the cut object to see whether an event fulfills the cut defined by the cut object, then evaluates the xfun object to get the abscissa, yfun to obtain the ordinate, and the wfun object to obtain the weight.

Optionally, the iter object serves as iterator.

Implements SFO.

Definition at line 133 of file SFH2F.C.

References cut, iter, FillIterator::next(), FillIterator::reset(), wfun, xfun, and yfun.

void SFH2F::checkIterators const char *  name  )  [protected]
 

Checks consistency of iterators.

Parameters:
name  The histogram name

Definition at line 190 of file SFH2F.C.

References checkOneIterator(), checkTwoIterators(), cut, wfun, xfun, and yfun.

Referenced by SFH2F().

template<class Fun1, class Fun2>
void SFH2F::checkTwoIterators const char *  name,
const char *  fun1name,
Fun1 *  fun1,
const char *  fun2name,
Fun2 *  fun2
[protected]
 

Checks consistency of iterators of two function objects.

Function object 2

Parameters:
name  The histogram name
fun1name  Name of function object 1
fun1  Function object 1
fun2name  Name of function object 2

Definition at line 146 of file SFH2F.C.

Referenced by checkIterators().

template<class Fun>
void SFH2F::checkOneIterator const char *  name,
const char *  funname,
Fun *  fun
[protected]
 

Function object.

Parameters:
name  The histogram name
funname  Name of function object

Definition at line 160 of file SFH2F.C.

References NamedO::getName(), and iter.

Referenced by checkIterators().


The documentation for this class was generated from the following files:
Generated on Thu Oct 26 12:55:12 2006 for SFH by doxygen 1.3.2