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

SFSetOfH2F Class Reference

#include <SFSetOfH2F.h>

Inheritance diagram for SFSetOfH2F:

Inheritance graph
[legend]
Collaboration diagram for SFSetOfH2F:

Collaboration graph
[legend]
List of all members.

Detailed Description

A collection of profile histograms that have the same axis.

A SFSetOfH2F contains a set of 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 a BinningFun object that at the same time defines the number of histograms.

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

A SFSetOfH2F 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: Benno List

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

Changelog:

Definition at line 51 of file SFSetOfH2F.h.

Public Member Functions

 SFSetOfH2F (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 &binning_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms with equidistant x and y binnings.

 SFSetOfH2F (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 &binning_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms with non-equidistant x and equidistant y binnings.

 SFSetOfH2F (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 &binning_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms with equidistant x and non-equidistant y binnings.

 SFSetOfH2F (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 &binning_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms with non-equidistant x and y binnings taking doubles.

 SFSetOfH2F (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 &binning_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms with non-equidistant x and y binnings taking floats.

 SFSetOfH2F (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 &binning_, const FillIteratorPoR &iter_=0)
 Constructor for a set of histograms, taking 2 Binning objects.

virtual ~SFSetOfH2F ()
 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.


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

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

SFSetOfH2Foperator= (const SFSetOfH2F &source)
 Private assignment operator, left unimplemented: No assignment!


Constructor & Destructor Documentation

SFSetOfH2F::SFSetOfH2F 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 binning_,
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)
binning_  The BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 39 of file SFSetOfH2F.C.

References checkIterators().

SFSetOfH2F::SFSetOfH2F 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 binning_,
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)
binning_  The BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 60 of file SFSetOfH2F.C.

References checkIterators().

SFSetOfH2F::SFSetOfH2F 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 binning_,
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)
binning_  The BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 80 of file SFSetOfH2F.C.

References checkIterators().

SFSetOfH2F::SFSetOfH2F 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 binning_,
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)
binning_  The BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 100 of file SFSetOfH2F.C.

References checkIterators().

SFSetOfH2F::SFSetOfH2F 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 binning_,
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)
binning_  The BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 119 of file SFSetOfH2F.C.

References checkIterators().

SFSetOfH2F::SFSetOfH2F 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 binning_,
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)
binning_  The BinningFun that assigns entries to histograms
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 138 of file SFSetOfH2F.C.

References checkIterators().


Member Function Documentation

void SFSetOfH2F::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 159 of file SFSetOfH2F.C.

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

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

Checks consistency of iterators.

Parameters:
name  The histogram name

Definition at line 240 of file SFSetOfH2F.C.

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

Referenced by SFSetOfH2F().

template<class Fun1, class Fun2>
void SFSetOfH2F::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 196 of file SFSetOfH2F.C.

Referenced by checkIterators().

template<class Fun>
void SFSetOfH2F::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 210 of file SFSetOfH2F.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:18 2006 for SFH by doxygen 1.3.2