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

SFSetOfHProf Class Reference

#include <SFSetOfHProf.h>

Inheritance diagram for SFSetOfHProf:

Inheritance graph
[legend]
Collaboration diagram for SFSetOfHProf:

Collaboration graph
[legend]
List of all members.

Detailed Description

A self-filling collection of profile histograms that have the same axis.

A SFSetOfHProf contains a set of THProfile 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 SFSetOfHProf 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.

A SFSetOfHProf is a self-filling set of histograms, NOT a set of self-filling histograms (which is a SFROList). This means that instead of calling a Fill() of each histogram, the SFSetOfHProf object uses the BinningFun object to determine which of the histograms gets an entry, and then makes the entry in just that histogram.

Author: Benno List

Date
2005/06/07 17:03:24
Author
blist

Changelog:

Definition at line 59 of file SFSetOfHProf.h.

Public Member Functions

 SFSetOfHProf (const char *name_, const char *title_, const ROListPoR &hhl, const FloatFunPoR &xfun_, const FloatFunPoR &yfun_, const BaseCutPoR &cut_, const FloatFunPoR &wfun_, const BinningFunPoR &binning_, const FillIteratorPoR &iter_=0)
 Constructor for an empty set histograms.

 SFSetOfHProf (const char *name_, const char *title_, Int_t nbinsx, Axis_t xlow, Axis_t xup, Option_t *option_, 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 binning.

 SFSetOfHProf (const char *name_, const char *title_, Int_t nbinsx, Axis_t xlow, Axis_t xup, Axis_t ylow_, Axis_t yup_, Option_t *option_, 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 binning and limited y range.

 SFSetOfHProf (const char *name_, const char *title_, Int_t nbinsx, const Float_t *xbins, Option_t *option_, 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 binning, taking float bin edges.

 SFSetOfHProf (const char *name_, const char *title_, Int_t nbinsx, const Double_t *xbins, Option_t *option_, 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 binning, taking double bin edges.

 SFSetOfHProf (const char *name_, const char *title_, Int_t nbinsx, const Double_t *xbins, Axis_t ylow_, Axis_t yup_, Option_t *option_, 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 binning and limited y range.

 SFSetOfHProf (const char *name_, const char *title_, const Binning &axisbinning_, Option_t *option_, 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 Binning object.

 SFSetOfHProf (const char *name_, const char *title_, const Binning &axisbinning_, Axis_t ylow_, Axis_t yup_, Option_t *option_, 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 Binning object and limited y range.

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

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

SFSetOfHProfoperator= (const SFSetOfHProf &source)
 Private assignment operator, left unimplemented: No assignment!


Constructor & Destructor Documentation

SFSetOfHProf::SFSetOfHProf const char *  name_,
const char *  title_,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const FloatFunPoR yfun_,
const BaseCutPoR cut_,
const FloatFunPoR wfun_,
const BinningFunPoR binning_,
const FillIteratorPoR iter_ = 0
 

Constructor for an empty set histograms.

Parameters:
name_  Common histogram name
title_  Common histogram title
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 38 of file SFSetOfHProf.C.

References checkIterators().

SFSetOfHProf::SFSetOfHProf const char *  name_,
const char *  title_,
Int_t  nbinsx,
Axis_t  xlow,
Axis_t  xup,
Option_t *  option_,
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 binning.

Parameters:
name_  Common histogram name
title_  Common histogram title
nbinsx  Number of x bins (as for TProfile)
xlow  Lower x edge (as for TProfile)
xup  Upper x edge (as for TProfile)
option_  Option string (as for TProfile)
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 53 of file SFSetOfHProf.C.

References checkIterators().

SFSetOfHProf::SFSetOfHProf const char *  name_,
const char *  title_,
Int_t  nbinsx,
Axis_t  xlow,
Axis_t  xup,
Axis_t  ylow_,
Axis_t  yup_,
Option_t *  option_,
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 binning and limited y range.

Parameters:
name_  Common histogram name
title_  Common histogram title
nbinsx  Number of x bins (as for TProfile)
xlow  Lower x edge (as for TProfile)
xup  Upper x edge (as for TProfile)
ylow_  Minimum y value (as for TProfile)
yup_  Maximum y value (as for TProfile)
option_  Option string (as for TProfile)
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 72 of file SFSetOfHProf.C.

References checkIterators().

SFSetOfHProf::SFSetOfHProf const char *  name_,
const char *  title_,
Int_t  nbinsx,
const Float_t *  xbins,
Option_t *  option_,
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 binning, taking float bin edges.

Parameters:
name_  Common histogram name
title_  Common histogram title
nbinsx  Number of x bins (as for TProfile)
xbins  Bin edges in x (as for TProfile)
option_  Option string (as for TProfile)
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 93 of file SFSetOfHProf.C.

References checkIterators().

SFSetOfHProf::SFSetOfHProf const char *  name_,
const char *  title_,
Int_t  nbinsx,
const Double_t *  xbins,
Option_t *  option_,
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 binning, taking double bin edges.

Parameters:
name_  Common histogram name
title_  Common histogram title
nbinsx  Number of x bins (as for TProfile)
xbins  Bin edges in x (as for TProfile)
option_  Option string (as for TProfile)
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 111 of file SFSetOfHProf.C.

References checkIterators().

SFSetOfHProf::SFSetOfHProf const char *  name_,
const char *  title_,
Int_t  nbinsx,
const Double_t *  xbins,
Axis_t  ylow_,
Axis_t  yup_,
Option_t *  option_,
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 binning and limited y range.

Parameters:
name_  Common histogram name
title_  Common histogram title
nbinsx  Number of x bins (as for TProfile)
xbins  Bin edges in x (as for TProfile)
ylow_  Minimum y value (as for TProfile)
yup_  Maximum y value (as for TProfile)
option_  Option string (as for TProfile)
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 129 of file SFSetOfHProf.C.

References checkIterators().

SFSetOfHProf::SFSetOfHProf const char *  name_,
const char *  title_,
const Binning &  axisbinning_,
Option_t *  option_,
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 Binning object.

Parameters:
name_  Common histogram name
title_  Common histogram title
axisbinning_  Defines the histogram binning
option_  Option string (as for TProfile)
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 149 of file SFSetOfHProf.C.

References checkIterators().

SFSetOfHProf::SFSetOfHProf const char *  name_,
const char *  title_,
const Binning &  axisbinning_,
Axis_t  ylow_,
Axis_t  yup_,
Option_t *  option_,
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 Binning object and limited y range.

Parameters:
name_  Common histogram name
title_  Common histogram title
axisbinning_  Defines the histogram binning
ylow_  Minimum y value (as for TProfile)
yup_  Maximum y value (as for TProfile)
option_  Option string (as for TProfile)
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 166 of file SFSetOfHProf.C.

References checkIterators().


Member Function Documentation

void SFSetOfHProf::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 190 of file SFSetOfHProf.C.

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

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

Checks consistency of iterators.

Parameters:
name  The histogram name

Definition at line 272 of file SFSetOfHProf.C.

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

Referenced by SFSetOfHProf().

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

Referenced by checkIterators().

template<class Fun>
void SFSetOfHProf::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 242 of file SFSetOfHProf.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:20 2006 for SFH by doxygen 1.3.2