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

SFMatrixOfH2F Class Reference

#include <SFMatrixOfH2F.h>

Inheritance diagram for SFMatrixOfH2F:

Inheritance graph
[legend]
Collaboration diagram for SFMatrixOfH2F:

Collaboration graph
[legend]
List of all members.

Detailed Description

A 2-dimensional collection of 2-dimensional histograms that have the same axis.

A SFMatrixOfH2F contains a set of 1-dimensional TH2F histograms; these histograms are (normally) all created by the constructor. The histograms share the same axis binning, and their names and titles are created using two BinningFun objects that at the same time define the number of histograms.

The histogram names will a concatenation of the name given by the user, and the bin names given by the BinningFun objects. The same applies to the title.

A SFMatrixOfH2F is a convenient tool to create a large set of histograms at the same time.

Functions exist to add, multiply, and divide sets of histograms. These operations are performed on pairs of corresponding histograms, if possible.

Author: Jenny Böhme, Benno List

Date
2005/06/14 13:18:33
Author
blist

Changelog:

Definition at line 54 of file SFMatrixOfH2F.h.

Public Member Functions

 SFMatrixOfH2F (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_, const FloatFunPoR &wfun_, const BinningFunPoR &binning1_, const BinningFunPoR &binning2_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms with equidistant x and y binnings.

 SFMatrixOfH2F (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_, const FloatFunPoR &wfun_, const BinningFunPoR &binning1_, const BinningFunPoR &binning2_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms with non-equidistant x and equidistant y binnings.

 SFMatrixOfH2F (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_, const FloatFunPoR &wfun_, const BinningFunPoR &binning1_, const BinningFunPoR &binning2_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms with equidistant x and non-equidistant y binnings.

 SFMatrixOfH2F (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_, const FloatFunPoR &wfun_, const BinningFunPoR &binning1_, const BinningFunPoR &binning2_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms with non-equidistant x and y binnings taking doubles.

 SFMatrixOfH2F (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_, const FloatFunPoR &wfun_, const BinningFunPoR &binning1_, const BinningFunPoR &binning2_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms with non-equidistant x and y binnings taking floats.

 SFMatrixOfH2F (const char *name_, const char *title_, const Binning &xbinning, const Binning &ybinning, const ROListPoR &hhl, const FloatFunPoR &xfun_, const FloatFunPoR &yfun_, const BaseCutPoR &cut_, const FloatFunPoR &wfun_, const BinningFunPoR &binning1_, const BinningFunPoR &binning2_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms, taking 2 Binning objects.

virtual ~SFMatrixOfH2F ()
 Virtual destructor.

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)
 Checks consistency of iterator of function object with FillIterator.


Private Member Functions

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

SFMatrixOfH2Foperator= (const SFMatrixOfH2F &source)
 Private assignment, left unimplemented: No assignment!


Private 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


Constructor & Destructor Documentation

SFMatrixOfH2F::SFMatrixOfH2F 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_,
const FloatFunPoR wfun_,
const BinningFunPoR binning1_,
const BinningFunPoR binning2_,
const FillIteratorPoR iter_ = 0
 

Constructor for a set of histograms 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)
binning1_  The 1st BinningFun that assigns entries to histograms
binning2_  The 2nd BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 36 of file SFMatrixOfH2F.C.

References checkIterators().

SFMatrixOfH2F::SFMatrixOfH2F 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_,
const FloatFunPoR wfun_,
const BinningFunPoR binning1_,
const BinningFunPoR binning2_,
const FillIteratorPoR iter_ = 0
 

Constructor for a set of histograms 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)
binning1_  The 1st BinningFun that assigns entries to histograms
binning2_  The 2nd BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 58 of file SFMatrixOfH2F.C.

References checkIterators().

SFMatrixOfH2F::SFMatrixOfH2F 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_,
const FloatFunPoR wfun_,
const BinningFunPoR binning1_,
const BinningFunPoR binning2_,
const FillIteratorPoR iter_ = 0
 

Constructor for a set of histograms 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)
binning1_  The 1st BinningFun that assigns entries to histograms
binning2_  The 2nd BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 79 of file SFMatrixOfH2F.C.

References checkIterators().

SFMatrixOfH2F::SFMatrixOfH2F 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_,
const FloatFunPoR wfun_,
const BinningFunPoR binning1_,
const BinningFunPoR binning2_,
const FillIteratorPoR iter_ = 0
 

Constructor for a set of histograms 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)
binning1_  The 1st BinningFun that assigns entries to histograms
binning2_  The 2nd BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 100 of file SFMatrixOfH2F.C.

References checkIterators().

SFMatrixOfH2F::SFMatrixOfH2F 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_,
const FloatFunPoR wfun_,
const BinningFunPoR binning1_,
const BinningFunPoR binning2_,
const FillIteratorPoR iter_ = 0
 

Constructor for a set of histograms 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 TH1F)
nbinsy  Number of y bins (as for TH2F)
ybins  Bin edges in x (as for TH1F)
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)
binning1_  The 1st BinningFun that assigns entries to histograms
binning2_  The 2nd BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 120 of file SFMatrixOfH2F.C.

References checkIterators().

SFMatrixOfH2F::SFMatrixOfH2F const char *  name_,
const char *  title_,
const Binning &  xbinning,
const Binning &  ybinning,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const FloatFunPoR yfun_,
const BaseCutPoR cut_,
const FloatFunPoR wfun_,
const BinningFunPoR binning1_,
const BinningFunPoR binning2_,
const FillIteratorPoR iter_ = 0
 

Constructor for a set of histograms, 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)
binning1_  The 1st BinningFun that assigns entries to histograms
binning2_  The 2nd BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 140 of file SFMatrixOfH2F.C.

References checkIterators().


Member Function Documentation

void SFMatrixOfH2F::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 BinningFun object to see into which histogram to make an entry, then evaluates the xfun object to get the abscissa and the wfun object to obtain the weight. Optionally, the iter object serves as iterator.

Implements SFO.

Definition at line 163 of file SFMatrixOfH2F.C.

References cut, SetOfH::getBinning(), MatrixOfH::getBinNumber(), ROList::getEntries(), ROList::getEntry(), ROList::IndexType, BinningFun::isExclusive(), iter, FillIterator::next(), FillIterator::reset(), wfun, xfun, and yfun.

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

Checks consistency of iterators.

Parameters:
name  The histogram name

Definition at line 301 of file SFMatrixOfH2F.C.

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

Referenced by SFMatrixOfH2F().

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

Checks consistency of iterators of two function objects.

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

Definition at line 257 of file SFMatrixOfH2F.C.

Referenced by checkIterators().

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

Checks consistency of iterator of function object with FillIterator.

Parameters:
name  The histogram name
funname  Name of function object
fun  Function object

Definition at line 271 of file SFMatrixOfH2F.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:14 2006 for SFH by doxygen 1.3.2