| The Gaudi Framework v28r2-patches (bc4ad17a)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Protected Member Functions | List of all members
IHistoTool Class Referenceabstract

An abstract interface for "histogramming tool". More...

`#include <GaudiTools/IHistoTool.h>`

Inheritance diagram for IHistoTool:
[legend]
Collaboration diagram for IHistoTool:
[legend]

## Public Types
typedef Histos::HistoID | HistoID
| the actual type for histogram identifier (HBOOK style) More...
Public Types inherited from IInterface
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
| Return status. More...
using | iid = Gaudi::InterfaceId< IInterface, 0, 0 >
| Interface ID. More...
using | ext_iids = Gaudi::interface_list< iid >
| Extra interfaces. More...

## Public Member Functions
| DeclareInterfaceID (IHistoTool, 2, 0)
| InterfaceID. More...
virtual AIDA::IHistogram1D * | plot1D (const double value, const std::string &title, const double low, const double high, const unsigned long bins=100, const double weight=1.0) const =0
| fill the 1D histogram (book on demand) More...
AIDA::IHistogram1D * | plot (const double value, const std::string &title, const double low, const double high, const unsigned long bins=100, const double weight=1.0) const
| fill the 1D histogram (book on demand) More...
virtual AIDA::IHistogram1D * | plot1D (const double value, const HistoID &ID, const std::string &title, const double low, const double high, const unsigned long bins=100, const double weight=1.0) const =0
| fill the 1D histogram with forced ID assignement (book on demand) More...
AIDA::IHistogram1D * | plot (const double value, const HistoID &ID, const std::string &title, const double low, const double high, const unsigned long bins=100, const double weight=1.0) const
| fill the 1D histogram with forced ID assignment (book on demand) More...
virtual AIDA::IHistogram2D * | plot2D (const double valueX, const double valueY, const std::string &title, const double lowX, const double highX, const double lowY, const double highY, const unsigned long binsX=50, const unsigned long binsY=50, const double weight=1.0) const =0
| fill the 2D histogram (book on demand) More...
virtual AIDA::IHistogram2D * | plot2D (const double valueX, const double valueY, const HistoID &ID, const std::string &title, const double lowX, const double highX, const double lowY, const double highY, const unsigned long binsX=50, const unsigned long binsY=50, const double weight=1.0) const =0
| fill the 2D histogram with forced ID assignment (book on demand) More...
virtual AIDA::IHistogram3D * | plot3D (const double valueX, const double valueY, const double valueZ, const std::string &title, const double lowX, const double highX, const double lowY, const double highY, const double lowZ, const double highZ, const unsigned long binsX=10, const unsigned long binsY=10, const unsigned long binsZ=10, const double weight=1.0) const =0
| fill the 3D histogram (book on demand) More...
virtual AIDA::IHistogram3D * | plot3D (const double valueX, const double valueY, const double valueZ, const HistoID &ID, const std::string &title, const double lowX, const double highX, const double lowY, const double highY, const double lowZ, const double highZ, const unsigned long binsX=10, const unsigned long binsY=10, const unsigned long binsZ=10, const double weight=1.0) const =0
| fill the 3D histogram with forced ID assignment (book on demand) More...
virtual AIDA::IHistogram1D * | book1D (const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const =0
| book the 1D histogram More...
AIDA::IHistogram1D * | book (const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const
| book the 1D histogram More...
virtual AIDA::IHistogram2D * | book2D (const std::string &title, const double lowX=0, const double highX=100, const unsigned long binsX=50, const double lowY=0, const double highY=100, const unsigned long binsY=50) const =0
| book the 2D histogram More...
virtual AIDA::IHistogram3D * | book3D (const std::string &title, const double lowX=0, const double highX=100, const unsigned long binsX=10, const double lowY=0, const double highY=100, const unsigned long binsY=10, const double lowZ=0, const double highZ=100, const unsigned long binsZ=10) const =0
| book the 3D histogram More...
virtual AIDA::IHistogram1D * | book1D (const HistoID &ID, const std::string &title="", const double low=0, const double high=100, const unsigned long bins=100) const =0
| book the 1D histogram with forced ID More...
AIDA::IHistogram1D * | book (const HistoID &ID, const std::string &title="", const double low=0, const double high=100, const unsigned long bins=100) const
| book the 1D histogram with forced ID More...
virtual AIDA::IHistogram2D * | book2D (const HistoID &ID, const std::string &title, const double lowX=0, const double highX=100, const unsigned long binsX=100, const double lowY=0, const double highY=100, const unsigned long binsY=100) const =0
| book the 2D histogram with forced ID More...
virtual AIDA::IHistogram3D * | book3D (const HistoID &ID, const std::string &title, const double lowX=0, const double highX=100, const unsigned long binsX=10, const double lowY=0, const double highY=100, const unsigned long binsY=10, const double lowZ=0, const double highZ=100, const unsigned long binsZ=10) const =0
| book the 3D histogram with forced ID More...
virtual AIDA::IHistogram1D * | fill (AIDA::IHistogram1D *histo, const double value, const double weight, const std::string &title="") const =0
| fill the 1D histo with the value and weight More...
virtual AIDA::IHistogram2D * | fill (AIDA::IHistogram2D *histo, const double valueX, const double valueY, const double weight, const std::string &title="") const =0
| fill the 2D histo with the value and weight More...
virtual AIDA::IHistogram3D * | fill (AIDA::IHistogram3D *histo, const double valueX, const double valueY, const double valueZ, const double weight, const std::string &title="") const =0
| fill the 3D histo with the value and weight More...
virtual AIDA::IHistogram1D * | histo1D (const std::string &title) const =0
| access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL More...
AIDA::IHistogram1D * | histo (const std::string &title) const
| access the EXISTING 1D histogram by title More...
virtual AIDA::IHistogram2D * | histo2D (const std::string &title) const =0
| access the EXISTING 2D histogram by title return the pointer to existing 2D histogram or NULL More...
virtual AIDA::IHistogram3D * | histo3D (const std::string &title) const =0
| access the EXISTING 3D histogram by title return the pointer to existing 3D histogram or NULL More...
virtual AIDA::IHistogram1D * | histo1D (const HistoID &ID) const =0
| access the EXISTING 1D histogram by ID return the pointer to existing 1D histogram or NULL More...
AIDA::IHistogram1D * | histo (const HistoID &ID) const
| access the EXISTING 1D histogram by ID More...
virtual AIDA::IHistogram2D * | histo2D (const HistoID &ID) const =0
| access the EXISTING 2D histogram by ID return the pointer to existing 2D histogram or NULL More...
virtual AIDA::IHistogram3D * | histo3D (const HistoID &ID) const =0
| access the EXISTING 3D histogram by ID return the pointer to existing 3D histogram or NULL More...
virtual bool | histoExists (const std::string &title) const =0
| check the existence AND validity of the histogram with given title More...
virtual bool | histoExists (const HistoID &ID) const =0
| check the existence AND validity of the histogram with given title More...
template<class FUNCTION , class OBJECT >
AIDA::IHistogram1D * | plot (const FUNCTION &func, OBJECT first, OBJECT last, const std::string &title, const double low, const double high, const unsigned long bins=100) const
| fill the 1D histogram with information from [first,last) sequence More...
template<class FUNCTION , class OBJECT >
AIDA::IHistogram1D * | plot (const FUNCTION &func, OBJECT first, OBJECT last, const HistoID &ID, const std::string &title, const double low, const double high, const unsigned long bins=100) const
| fill the 1D histogram with forced ID and information from [first,last) sequence More...
template<class FUNCTION , class OBJECT , class WEIGHT >
AIDA::IHistogram1D * | plot (const FUNCTION &func, OBJECT first, OBJECT last, const std::string &title, const double low, const double high, const unsigned long bins, const WEIGHT &weight) const
| book and fill the 1D histogram with information from [first,last) sequence with given weight More...
template<class FUNCTION , class OBJECT , class WEIGHT >
AIDA::IHistogram1D * | plot (const FUNCTION &func, OBJECT first, OBJECT last, const HistoID &ID, const std::string &title, const double low, const double high, const unsigned long bins, const WEIGHT &weight) const
| book and fill the 1D histogram with forced ID and information from [first,last) sequence with given weight More...
Public Member Functions inherited from IAlgTool
| DeclareInterfaceID (IAlgTool, 4, 0)
| InterfaceID. More...
virtual const std::string & | type () const =0
| The type of an AlgTool, meaning the concrete AlgTool class. More...
virtual const IInterface * | parent () const =0
| The parent of the concrete AlgTool. More...
virtual StatusCode | configure ()=0
| Configuration (from OFFLINE to CONFIGURED). More...
virtual StatusCode | initialize ()=0
| Initialization (from CONFIGURED to INITIALIZED). More...
virtual StatusCode | start ()=0
| Start (from INITIALIZED to RUNNING). More...
virtual StatusCode | stop ()=0
| Stop (from RUNNING to INITIALIZED). More...
virtual StatusCode | finalize ()=0
| Finalize (from INITIALIZED to CONFIGURED). More...
virtual StatusCode | terminate ()=0
| Initialization (from CONFIGURED to OFFLINE). More...
virtual StatusCode | reinitialize ()=0
| Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). More...
virtual StatusCode | restart ()=0
| Initialization (from RUNNING to RUNNING, via INITIALIZED). More...
virtual Gaudi::StateMachine::State | FSMState () const =0
| Get the current state. More...
virtual StatusCode | sysInitialize ()=0
| Initialization of the Tool. More...
virtual StatusCode | sysStart ()=0
| Initialization of the Tool. More...
virtual StatusCode | sysStop ()=0
| Initialization of the Tool. More...
virtual StatusCode | sysFinalize ()=0
| Finalization of the Tool. More...
virtual StatusCode | sysReinitialize ()=0
| Initialization of the Tool. More...
virtual StatusCode | sysRestart ()=0
| Initialization of the Tool. More...
Public Member Functions inherited from INamedInterface
| DeclareInterfaceID (INamedInterface, 1, 0)
| InterfaceID. More...
virtual const std::string & | name () const =0
| Retrieve the name of the instance. More...
Public Member Functions inherited from IInterface
virtual void * | i_cast (const InterfaceID &) const =0
| main cast function More...
virtual std::vector< std::string > | getInterfaceNames () const =0
| Returns a vector of strings containing the names of all the implemented interfaces. More...
virtual unsigned long | addRef ()=0
| Increment the reference count of Interface instance. More...
virtual unsigned long | release ()=0
| Release Interface instance. More...
virtual unsigned long | refCount () const =0
| Current reference count. More...
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0
| Set the void** to the pointer to the requested interface of the instance. More...
virtual | ~IInterface ()=default
| Virtual destructor. More...

## Protected Member Functions
| ~IHistoTool () override=default

## Additional Inherited Members
Static Public Member Functions inherited from IInterface
static const InterfaceID & | interfaceID ()
| Return an instance of InterfaceID identifying the interface. More...

## Detailed Description

An abstract interface for "histogramming tool".

Author
  Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@i.nosp@m.tep..nosp@m.ru

Date
  2004-06-28

Definition at line 31 of file IHistoTool.h.

## Member Typedef Documentation

typedef Histos::HistoID IHistoTool::HistoID

the actual type for histogram identifier (HBOOK style)

Definition at line 38 of file IHistoTool.h.

## Constructor & Destructor Documentation

IHistoTool::~IHistoTool | ( |  | ) |
| override protected default

## Member Function Documentation

AIDA::IHistogram1D* IHistoTool::book | ( | const std::string & | title,
|  | const double | low = `0`,
|  | const double | high = `100`,
|  | const unsigned long | bins = `100`
| ) |  | const
| inline

book the 1D histogram

Wrapper method for the equivalent book1D method. Retained for backwards compatibility, please use book1D instead.

See also
  IHistogram1D

Parameters

  title | histogram title (must be unique within the algorithm)
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins

Returns
  pointer to AIDA 1D histogram

Definition at line 445 of file IHistoTool.h.

449 {
450 return book1D( title, low, high, bins );
451 }
IHistoTool::book1D
virtual AIDA::IHistogram1D * book1D(const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const =0
book the 1D histogram

AIDA::IHistogram1D* IHistoTool::book | ( | const HistoID & | ID,
|  | const std::string & | title = `""`,
|  | const double | low = `0`,
|  | const double | high = `100`,
|  | const unsigned long | bins = `100`
| ) |  | const
| inline

book the 1D histogram with forced ID

Wrapper method for the equivalent book1D method. Retained for backwards compatibility, please use book1D instead.

See also
  IHistogram1D

Parameters

  ID | unique histogram ID
  title | histogram title (must be unique within the algorithm)
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins

Returns
  pointer to AIDA histogram

Definition at line 536 of file IHistoTool.h.

541 {
542 return book1D( ID, title, low, high, bins );
543 }
IHistoTool::book1D
virtual AIDA::IHistogram1D * book1D(const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const =0
book the 1D histogram

virtual AIDA::IHistogram1D* IHistoTool::book1D | ( | const std::string & | title,
|  | const double | low = `0`,
|  | const double | high = `100`,
|  | const unsigned long | bins = `100`
| ) |  | const
| pure virtual

book the 1D histogram

The histogram will be assigned a unique identifier

See also
  IHistogram1D

Parameters

  title | histogram title (must be unique within the algorithm)
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins

Returns
  pointer to AIDA 1D histogram

Implemented in HistoTool.

virtual AIDA::IHistogram1D* IHistoTool::book1D | ( | const HistoID & | ID,
|  | const std::string & | title = `""`,
|  | const double | low = `0`,
|  | const double | high = `100`,
|  | const unsigned long | bins = `100`
| ) |  | const
| pure virtual

book the 1D histogram with forced ID

See also
  IHistogram1D

Parameters

  ID | unique histogram ID
  title | histogram title (must be unique within the algorithm)
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins

Returns
  pointer to AIDA histogram

Implemented in HistoTool.

virtual AIDA::IHistogram2D* IHistoTool::book2D | ( | const std::string & | title,
|  | const double | lowX = `0`,
|  | const double | highX = `100`,
|  | const unsigned long | binsX = `50`,
|  | const double | lowY = `0`,
|  | const double | highY = `100`,
|  | const unsigned long | binsY = `50`
| ) |  | const
| pure virtual

book the 2D histogram

The histogram will be assigned a unique identifier

See also
  IHistogram2D

Parameters

  title | histogram title (must be unique within the algorithm)
  lowX | low x limit for histogram
  highX | high x limit for histogram
  binsX | number of bins in x
  lowY | low y limit for histogram
  highY | high y limit for histogram
  binsY | number of bins in y

Returns
  pointer to AIDA 2D histogram

Implemented in HistoTool.

virtual AIDA::IHistogram2D* IHistoTool::book2D | ( | const HistoID & | ID,
|  | const std::string & | title,
|  | const double | lowX = `0`,
|  | const double | highX = `100`,
|  | const unsigned long | binsX = `100`,
|  | const double | lowY = `0`,
|  | const double | highY = `100`,
|  | const unsigned long | binsY = `100`
| ) |  | const
| pure virtual

book the 2D histogram with forced ID

See also
  IHistogram2D

Parameters

  ID | unique histogram ID
  title | histogram title (must be unique within the algorithm)
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins

Returns
  pointer to AIDA histogram

Implemented in HistoTool.

virtual AIDA::IHistogram3D* IHistoTool::book3D | ( | const std::string & | title,
|  | const double | lowX = `0`,
|  | const double | highX = `100`,
|  | const unsigned long | binsX = `10`,
|  | const double | lowY = `0`,
|  | const double | highY = `100`,
|  | const unsigned long | binsY = `10`,
|  | const double | lowZ = `0`,
|  | const double | highZ = `100`,
|  | const unsigned long | binsZ = `10`
| ) |  | const
| pure virtual

book the 3D histogram

The histogram will be assigned a unique identifier

See also
  IHistogram3D

Parameters

  title | histogram title (must be unique within the algorithm)
  lowX | low x limit for histogram
  highX | high x limit for histogram
  binsX | number of bins in x
  lowY | low y limit for histogram
  highY | high y limit for histogram
  binsY | number of bins in y
  lowZ | low y limit for histogram
  highZ | high y limit for histogram
  binsZ | number of bins in y

Returns
  pointer to AIDA 3D histogram

Implemented in HistoTool.

virtual AIDA::IHistogram3D* IHistoTool::book3D | ( | const HistoID & | ID,
|  | const std::string & | title,
|  | const double | lowX = `0`,
|  | const double | highX = `100`,
|  | const unsigned long | binsX = `10`,
|  | const double | lowY = `0`,
|  | const double | highY = `100`,
|  | const unsigned long | binsY = `10`,
|  | const double | lowZ = `0`,
|  | const double | highZ = `100`,
|  | const unsigned long | binsZ = `10`
| ) |  | const
| pure virtual

book the 3D histogram with forced ID

See also
  IHistogram3D

Parameters

  ID | unique histogram ID
  title | histogram title (must be unique within the algorithm)
  lowX | low x limit for histogram
  highX | high x limit for histogram
  binsX | number of bins in x
  lowY | low y limit for histogram
  highY | high y limit for histogram
  binsY | number of bins in y
  lowZ | low y limit for histogram
  highZ | high y limit for histogram
  binsZ | number of bins in y

Returns
  pointer to AIDA 3D histogram

Implemented in HistoTool.

IHistoTool::DeclareInterfaceID | ( | IHistoTool | ,
|  | 2 | ,
|  | 0 |
| ) |  |

InterfaceID.

virtual AIDA::IHistogram1D* IHistoTool::fill | ( | AIDA::IHistogram1D * | histo,
|  | const double | value,
|  | const double | weight,
|  | const std::string & | title = `""`
| ) |  | const
| pure virtual

fill the 1D histo with the value and weight

Parameters

  histo | 1D histogram to be filled
  value | value to be put into the histogram
  weight | weight to be used
  title | histogram title (to be used for error report)

Returns
  pointer to AIDA 1D histogram

Implemented in HistoTool.

virtual AIDA::IHistogram2D* IHistoTool::fill | ( | AIDA::IHistogram2D * | histo,
|  | const double | valueX,
|  | const double | valueY,
|  | const double | weight,
|  | const std::string & | title = `""`
| ) |  | const
| pure virtual

fill the 2D histo with the value and weight

Parameters

  histo | 2D histogram to be filled
  valueX | x value to be put into the histogram
  valueY | y value to be put into the histogram
  weight | weight to be used
  title | histogram title (to be used for error report)

Returns
  pointer to AIDA 2D histogram

Implemented in HistoTool.

virtual AIDA::IHistogram3D* IHistoTool::fill | ( | AIDA::IHistogram3D * | histo,
|  | const double | valueX,
|  | const double | valueY,
|  | const double | valueZ,
|  | const double | weight,
|  | const std::string & | title = `""`
| ) |  | const
| pure virtual

fill the 3D histo with the value and weight

Parameters

  histo | 3D histogram to be filled
  valueX | x value to be put into the histogram
  valueY | y value to be put into the histogram
  valueZ | z value to be put into the histogram
  weight | weight to be used
  title | histogram title (to be used for error report)

Returns
  pointer to AIDA 3D histogram

Implemented in HistoTool.

AIDA::IHistogram1D* IHistoTool::histo | ( | const std::string & | title | ) | const
| inline

access the EXISTING 1D histogram by title

Wrapper method for the equivalent histo1D method. Retained for backwards compatibility, please use histo1D instead.

return the pointer to existing 1D histogram or NULL

Definition at line 651 of file IHistoTool.h.

652 {
653 return histo1D( title );
654 };
IHistoTool::histo1D
virtual AIDA::IHistogram1D * histo1D(const std::string &title) const =0
access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL ...

AIDA::IHistogram1D* IHistoTool::histo | ( | const HistoID & | ID | ) | const
| inline

access the EXISTING 1D histogram by ID

Wrapper method for the equivalent histo1D method. Retained for backwards compatibility, please use histo1D instead.

return the pointer to existing 1D histogram or NULL

Definition at line 679 of file IHistoTool.h.

680 {
681 return histo1D( ID );
682 };
IHistoTool::histo1D
virtual AIDA::IHistogram1D * histo1D(const std::string &title) const =0
access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL ...

virtual AIDA::IHistogram1D* IHistoTool::histo1D | ( | const std::string & | title | ) | const
| pure virtual

access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL

Implemented in HistoTool.

virtual AIDA::IHistogram1D* IHistoTool::histo1D | ( | const HistoID & | ID | ) | const
| pure virtual

access the EXISTING 1D histogram by ID return the pointer to existing 1D histogram or NULL

Implemented in HistoTool.

virtual AIDA::IHistogram2D* IHistoTool::histo2D | ( | const std::string & | title | ) | const
| pure virtual

access the EXISTING 2D histogram by title return the pointer to existing 2D histogram or NULL

Implemented in HistoTool.

virtual AIDA::IHistogram2D* IHistoTool::histo2D | ( | const HistoID & | ID | ) | const
| pure virtual

access the EXISTING 2D histogram by ID return the pointer to existing 2D histogram or NULL

Implemented in HistoTool.

virtual AIDA::IHistogram3D* IHistoTool::histo3D | ( | const std::string & | title | ) | const
| pure virtual

access the EXISTING 3D histogram by title return the pointer to existing 3D histogram or NULL

Implemented in HistoTool.

virtual AIDA::IHistogram3D* IHistoTool::histo3D | ( | const HistoID & | ID | ) | const
| pure virtual

access the EXISTING 3D histogram by ID return the pointer to existing 3D histogram or NULL

Implemented in HistoTool.

virtual bool IHistoTool::histoExists | ( | const std::string & | title | ) | const
| pure virtual

check the existence AND validity of the histogram with given title

Implemented in HistoTool.

virtual bool IHistoTool::histoExists | ( | const HistoID & | ID | ) | const
| pure virtual

check the existence AND validity of the histogram with given title

Implemented in HistoTool.

AIDA::IHistogram1D* IHistoTool::plot | ( | const double | value,
|  | const std::string & | title,
|  | const double | low,
|  | const double | high,
|  | const unsigned long | bins = `100`,
|  | const double | weight = `1.0`
| ) |  | const
| inline

fill the 1D histogram (book on demand)

Wrapper method for the equivalent plot1D method. Retained for backwards compatibility, please use plot1D instead.

Parameters

  value | value to be filled
  title | histogram title (must be unique within the algorithm)
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins
  weight | weight

Returns
  pointer to AIDA 1D histogram

Definition at line 94 of file IHistoTool.h.

100 {
101 return plot1D ( value, title, low, high, bins, weight );
102 }
IHistoTool::plot1D
virtual AIDA::IHistogram1D * plot1D(const double value, const std::string &title, const double low, const double high, const unsigned long bins=100, const double weight=1.0) const =0
fill the 1D histogram (book on demand)

AIDA::IHistogram1D* IHistoTool::plot | ( | const double | value,
|  | const HistoID & | ID,
|  | const std::string & | title,
|  | const double | low,
|  | const double | high,
|  | const unsigned long | bins = `100`,
|  | const double | weight = `1.0`
| ) |  | const
| inline

fill the 1D histogram with forced ID assignment (book on demand)

Wrapper method for the equivalent plot1D method. Retained for backwards compatibility, please use plot1D instead.

Parameters

  value | value to be filled
  ID | histogram identifier
  title | histogram title (must be unique within the algorithm)
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins
  weight | weight

Returns
  pointer to AIDA histogram

Definition at line 168 of file IHistoTool.h.

175 {
176 return plot1D ( value, ID, title, low, high, bins, weight );
177 };
IHistoTool::plot1D
virtual AIDA::IHistogram1D * plot1D(const double value, const std::string &title, const double low, const double high, const unsigned long bins=100, const double weight=1.0) const =0
fill the 1D histogram (book on demand)
template<class FUNCTION , class OBJECT >

AIDA::IHistogram1D* IHistoTool::plot | ( | const FUNCTION & | func,
|  | OBJECT | first,
|  | OBJECT | last,
|  | const std::string & | title,
|  | const double | low,
|  | const double | high,
|  | const unsigned long | bins = `100`
| ) |  | const
| inline

fill the 1D histogram with information from [first,last) sequence

std::vector<double> v = ... ;
plot( sin , // function
v.begin() , v.end() , // sequence
" bla-bla " , // title
-1. , 1.0 , // low and high limits
100 ) // number of bins

The histogram will get a unique integer identifier automatically assigned

Sequence, objects and function can be non-trivial:

Particles* p = ... ;
plot( PT , // function
p->begin() , p->end() , // sequence
" bla-bla " , // title
-1. , 1.0 , // low and high limits
100 ) ; // number of bins

where `PT` can be any function or function object for which the expression `PT(p)` , with `p` of type `Particle*` have some sense and can be evaluated to the values, which is convertible to `double`

Note : These plot methods using iterator ranges are more efficient than the simplier "value" only methods, since the associated histogram only requires locating from internal storage once per loop, as opposed to once per fill for the simplier functions. It is recommended to use these whenever possible.

See also
  AIDA::IHistogram1D

Parameters

  func | function to be plotted
  first | begin of the sequence
  last | end of the sequence
  title | histogram title
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins for histogram

Definition at line 753 of file IHistoTool.h.

760 {
761 // retrieve or book the histogram
762 AIDA::IHistogram1D* h = histo1D ( title ) ;
763 if ( !h ) { h = book1D ( title , low , high , bins ); }
764 while ( first != last && h )
765 { h = fill ( h , func( *first ) , 1.0 , title ) ; ++first ; }
766 return h ;
767 }
GaudiPluginService.cpluginsvc.func
func
Definition: cpluginsvc.py:218
HiveAlgSequencer.h
h
Definition: HiveAlgSequencer.py:24
IHistoTool::fill
virtual AIDA::IHistogram1D * fill(AIDA::IHistogram1D *histo, const double value, const double weight, const std::string &title="") const =0
fill the 1D histo with the value and weight
IHistoTool::histo1D
virtual AIDA::IHistogram1D * histo1D(const std::string &title) const =0
access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL ...
IHistoTool::book1D
virtual AIDA::IHistogram1D * book1D(const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const =0
book the 1D histogram
template<class FUNCTION , class OBJECT >

AIDA::IHistogram1D* IHistoTool::plot | ( | const FUNCTION & | func,
|  | OBJECT | first,
|  | OBJECT | last,
|  | const HistoID & | ID,
|  | const std::string & | title,
|  | const double | low,
|  | const double | high,
|  | const unsigned long | bins = `100`
| ) |  | const
| inline

fill the 1D histogram with forced ID and information from [first,last) sequence

std::vector<double> v = ... ;
plot( sin , // function
v.begin() , v.end() , // sequence
100 , " bla-bla " , // ID and title
-1. , 1.0 , // low and high limits
100 ); // number of bins

Sequence, objects and function can be non-trivial:

Particles* p = ... ;
plot( PT , // function
p->begin() , p->end() , // sequence
100 , " bla-bla " , // ID and title
-1. , 1.0 , // low and high limits
100 ) ; // number of bins

Note : These plot methods using iterator ranges are more efficient than the simplier "value" only methods, since the associated histogram only requires locating from internal storage once per loop, as opposed to once per fill for the simplier functions. It is recommended to use these whenever possible.

Note : This method is more efficient that the similar method without forced ID, since the histogram lookup is faster using a numerical ID.

See also
  AIDA::IHistogram1D

Parameters

  func | function to be plotted
  first | begin of the sequence
  last | end of the sequence
  ID | histogram identifier
  title | histogram title
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins for histogram

Definition at line 820 of file IHistoTool.h.

828 {
829 // retrieve or book the histogram
830 AIDA::IHistogram1D* h = histo1D ( ID ) ;
831 if ( !h ) { h = book1D ( ID , title , low , high , bins ); }
832 while ( first != last && h )
833 { h = fill( h , func( *first ) , 1.0 , title ) ; ++first ; }
834 return h ;
835 }
GaudiPluginService.cpluginsvc.func
func
Definition: cpluginsvc.py:218
HiveAlgSequencer.h
h
Definition: HiveAlgSequencer.py:24
IHistoTool::fill
virtual AIDA::IHistogram1D * fill(AIDA::IHistogram1D *histo, const double value, const double weight, const std::string &title="") const =0
fill the 1D histo with the value and weight
IHistoTool::histo1D
virtual AIDA::IHistogram1D * histo1D(const std::string &title) const =0
access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL ...
IHistoTool::book1D
virtual AIDA::IHistogram1D * book1D(const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const =0
book the 1D histogram
template<class FUNCTION , class OBJECT , class WEIGHT >

AIDA::IHistogram1D* IHistoTool::plot | ( | const FUNCTION & | func,
|  | OBJECT | first,
|  | OBJECT | last,
|  | const std::string & | title,
|  | const double | low,
|  | const double | high,
|  | const unsigned long | bins,
|  | const WEIGHT & | weight
| ) |  | const
| inline

book and fill the 1D histogram with information from [first,last) sequence with given weight

std::vector<double> v = ... ;
plot( sin , // function
v.begin() , v.end() , // sequence
" bla-bla " , // title
-1. , 1.0 , // low and high limits
100 , // number of bins
tanh ); // weight function

The histogram will get a unique integer identifier automatically assigned

Sequence, objects and function can be non-trivial:

Particles* p = ... ;
plot( PT , // function
p->begin() , p->end() , // sequence
" bla-bla " , // title
-1. , 1.0 , // low and high limits
100 , // number of bins
MASS ) ; // weight function

where `PT` and `MASS` can be any function or function object for which the expressions `PT(p)` and `MASS` with `p` of type `Particle*` have some sense and can be evaluated to the values, which is convertible to `double`

Note : These plot methods using iterator ranges are more efficient than the simplier "value" only methods, since the associated histogram only requires locating from internal storage once per loop, as opposed to once per fill for the simplier functions. It is recommended to use these whenever possible.

See also
  AIDA::IHistogram1D

Parameters

  first | begin of the sequence
  last | end of the sequence
  title | histogram title
  func | function to be plotted
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins for histogram
  weight | weight function

Definition at line 893 of file IHistoTool.h.

901 {
902 // retrieve or book the histogram
903 AIDA::IHistogram1D* h = histo1D ( title ) ;
904 if ( !h ) { h = book1D ( title , low , high , bins ); }
905 while( first != last && h )
906 { h = fill ( h ,
907 func ( *first ) ,
908 weight ( *first ) , title ) ; ++first ; }
909 return h ;
910 }
GaudiPluginService.cpluginsvc.func
func
Definition: cpluginsvc.py:218
HiveAlgSequencer.h
h
Definition: HiveAlgSequencer.py:24
IHistoTool::fill
virtual AIDA::IHistogram1D * fill(AIDA::IHistogram1D *histo, const double value, const double weight, const std::string &title="") const =0
fill the 1D histo with the value and weight
IHistoTool::histo1D
virtual AIDA::IHistogram1D * histo1D(const std::string &title) const =0
access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL ...
IHistoTool::book1D
virtual AIDA::IHistogram1D * book1D(const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const =0
book the 1D histogram
template<class FUNCTION , class OBJECT , class WEIGHT >

AIDA::IHistogram1D* IHistoTool::plot | ( | const FUNCTION & | func,
|  | OBJECT | first,
|  | OBJECT | last,
|  | const HistoID & | ID,
|  | const std::string & | title,
|  | const double | low,
|  | const double | high,
|  | const unsigned long | bins,
|  | const WEIGHT & | weight
| ) |  | const
| inline

book and fill the 1D histogram with forced ID and information from [first,last) sequence with given weight

std::vector<double> v = ... ;
plot( sin , // function
v.begin() , v.end() , // sequence
100 , " bla-bla " , // ID and title
-1. , 1.0 , // low and high limits
100 , // number of bins
sinh ); // weight function

Attention
  no checks for NaN and Finite is performed!

Sequence, objects and function can be non-trivial:

Particles* p = ... ;
plot( PT , // function
p->begin() , p->end() , // sequence
100 , " bla-bla " , // ID and title
-1. , 1.0 , // low and high limits
100 , // number of bins
MASS ) ; // weight function

where `PT` and `MASS` can be any function or function object for which the expressions `PT(p)` and `MASS` with `p` of type `Particle*` have some sense and can be evaluated to the values, which is convertible to `double`

Note : These plot methods using iterator ranges are more efficient than the simplier "value" only methods, since the associated histogram only requires locating from internal storage once per loop, as opposed to once per fill for the simplier functions. It is recommended to use these whenever possible.

Note : This method is more efficient that the similar method without forced ID, since the histogram lookup is faster using a numerical ID.

See also
  AIDA::IHistogram1D

Parameters

  first | begin of the sequence
  last | end of the sequence
  ID | histogram identifier
  title | histogram title
  func | function to be plotted
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins for histogram
  weight | weight function

Definition at line 973 of file IHistoTool.h.

982 {
983 // retrieve or book the histogram
984 AIDA::IHistogram1D* h = histo1D ( ID ) ;
985 if ( !h ) { h = book1D ( ID , title , low , high , bins ); }
986 while( first != last && h )
987 { h = fill ( h ,
988 func ( *first ) ,
989 weight ( *first ) , title ) ; ++first ; }
990 return h ;
991 }
GaudiPluginService.cpluginsvc.func
func
Definition: cpluginsvc.py:218
HiveAlgSequencer.h
h
Definition: HiveAlgSequencer.py:24
IHistoTool::fill
virtual AIDA::IHistogram1D * fill(AIDA::IHistogram1D *histo, const double value, const double weight, const std::string &title="") const =0
fill the 1D histo with the value and weight
IHistoTool::histo1D
virtual AIDA::IHistogram1D * histo1D(const std::string &title) const =0
access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL ...
IHistoTool::book1D
virtual AIDA::IHistogram1D * book1D(const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const =0
book the 1D histogram

virtual AIDA::IHistogram1D* IHistoTool::plot1D | ( | const double | value,
|  | const std::string & | title,
|  | const double | low,
|  | const double | high,
|  | const unsigned long | bins = `100`,
|  | const double | weight = `1.0`
| ) |  | const
| pure virtual

fill the 1D histogram (book on demand)

const double mass = ... ;
plot1D( mass , "Invariant Mass" , 2.5 , 3.5 , 100 )

- This example illustrates the filling of the histogram titled `"InvariantMass"` with value `mass` .
- If the histogram with given title does not exist yet it will be automatically booked with parameters `low` equal to 2.5, parameters `high` equal to 3.5 and `bins` equal to 100.

The histogram will get a unique integer identifier automatically assigned.

See also
  AIDA::IHistogram1D

Parameters

  value | value to be filled
  title | histogram title (must be unique within the algorithm)
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins
  weight | weight

Returns
  pointer to AIDA 1D histogram

Implemented in HistoTool.

virtual AIDA::IHistogram1D* IHistoTool::plot1D | ( | const double | value,
|  | const HistoID & | ID,
|  | const std::string & | title,
|  | const double | low,
|  | const double | high,
|  | const unsigned long | bins = `100`,
|  | const double | weight = `1.0`
| ) |  | const
| pure virtual

fill the 1D histogram with forced ID assignement (book on demand)

const double mass = ... ;
plot1D( mass , 15 , "Invariant Mass" , 2.5 , 3.5 , 100 )

- This example illustrates the filling of the 1D histogram ID=15 titled `"Invariant Mass"` with value `mass` .
- If the histogram with given ID does not exist yet it will be automatically booked with parameters `low` equal to 2.5, parameters `high` equal to 3.5 and `bins` equal to 100.

Attention
  If the histogram with given ID is already booked through automatic assignement of histogram ID, the error will not be detected. Therefore it is recommended to use non-trivial histogram ID offset (property "HistoOffSet") if one need to combine these techniques together It is still desirable to use the unique histogram title to avoid a bad interference.

Note : This method is more efficient that the similar method without forced ID, since the histogram lookup is faster using a numerical ID.

See also
  AIDA::IHistogram1D

Parameters

  value | value to be filled
  ID | histogram identifier
  title | histogram title (must be unique within the algorithm)
  low | low limit for histogram
  high | high limit for histogram
  bins | number of bins
  weight | weight

Returns
  pointer to AIDA histogram

Implemented in HistoTool.

virtual AIDA::IHistogram2D* IHistoTool::plot2D | ( | const double | valueX,
|  | const double | valueY,
|  | const std::string & | title,
|  | const double | lowX,
|  | const double | highX,
|  | const double | lowY,
|  | const double | highY,
|  | const unsigned long | binsX = `50`,
|  | const unsigned long | binsY = `50`,
|  | const double | weight = `1.0`
| ) |  | const
| pure virtual

fill the 2D histogram (book on demand)

const double mass1 = ... ;
const double mass2 = ... ;
plot2D( mass1, mass2, "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 4.5, 5.5, 100, 200 );

- This example illustrates the filling of the 2D histogram titled `"Invariant Mass2 versus Mass1"` with values `mass1` and `mass2` .
- If the histogram with given title does not exist yet it will be automatically booked with parameters `lowX` equal to 2.5, `highX` equal to 3.5, `lowY` equal to 4.5, `highY` equal to 5.5, `binsX` equal to 100 and `binsY` equal to 200.

The histogram will get a unique integer identifier automatically assigned

See also
  AIDA::IHistogram2D

Parameters

  valueX | x value to be filled
  valueY | y value to be filled
  title | histogram title (must be unique within the algorithm)
  lowX | low x limit for histogram
  highX | high x limit for histogram
  lowY | low y limit for histogram
  highY | high y limit for histogram
  binsX | number of bins in x
  binsY | number of bins in y
  weight | weight

Returns
  pointer to AIDA 2D histogram

Implemented in HistoTool.

virtual AIDA::IHistogram2D* IHistoTool::plot2D | ( | const double | valueX,
|  | const double | valueY,
|  | const HistoID & | ID,
|  | const std::string & | title,
|  | const double | lowX,
|  | const double | highX,
|  | const double | lowY,
|  | const double | highY,
|  | const unsigned long | binsX = `50`,
|  | const unsigned long | binsY = `50`,
|  | const double | weight = `1.0`
| ) |  | const
| pure virtual

fill the 2D histogram with forced ID assignment (book on demand)

const double mass1 = ... ;
const double mass2 = ... ;
plot2D( mass1, mass2, 15, "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 4.5, 5.5, 100, 200 );

- This example illustrates the filling of the 2D histogram ID=15 titled `"Invariant Mass2 versus Mass1"` with values `mass1` and `mass2` .
- If the histogram with given title does not exist yet it will be automatically booked with parameters `lowX` equal to 2.5, `highX` equal to 3.5, `lowY` equal to 4.5, `highY` equal to 5.5, `binsX` equal to 100 and `binsY` equal to 200.

Attention
  If the histogram with given ID is already booked through automatic assignment of histogram ID, the error will not be detected. Therefore it is recommended to use non-trivial histogram ID offset (property "HistoOffSet") if one need to combine these techniques together It is still desirable to use the unique histogram title to avoid a bad interference

Note : This method is more efficient that the similar method without forced ID, since the histogram lookup is faster using a numerical ID.

See also
  AIDA::IHistogram2D

Parameters

  valueX | x value to be filled
  valueY | y value to be filled
  ID | Histogram ID to use
  title | histogram title (must be unique within the algorithm)
  lowX | low x limit for histogram
  highX | high x limit for histogram
  lowY | low y limit for histogram
  highY | high y limit for histogram
  binsX | number of bins in x
  binsY | number of bins in y
  weight | weight

Returns
  pointer to AIDA 2D histogram

Implemented in HistoTool.

virtual AIDA::IHistogram3D* IHistoTool::plot3D | ( | const double | valueX,
|  | const double | valueY,
|  | const double | valueZ,
|  | const std::string & | title,
|  | const double | lowX,
|  | const double | highX,
|  | const double | lowY,
|  | const double | highY,
|  | const double | lowZ,
|  | const double | highZ,
|  | const unsigned long | binsX = `10`,
|  | const unsigned long | binsY = `10`,
|  | const unsigned long | binsZ = `10`,
|  | const double | weight = `1.0`
| ) |  | const
| pure virtual

fill the 3D histogram (book on demand)

const double mass1 = ... ;
const double mass2 = ... ;
const double mass3 = ... ;
plot3D( X, Y, Z, "Space Points" ,2.5 ,3.5, 4.5, 5.5, 6.5, 7.5, 10, 20, 30 );

- This example illustrates the filling of the 3D histogram titled `"Space Points"` with values `X`, `Y` and `Z`.
- If the histogram with given title does not exist yet it will be automatically booked with parameters `lowX` equal to 2.5, `highX` equal to 3.5, `lowY` equal to 4.5, `highY` equal to 5.5, `lowZ` equal to 6.5, `highZ` equal to 7.5, `binsX` equal to 10, `binsY` equal to 20 and `binsZ` equal to 30.

The histogram will get a unique integer identifier automatically assigned

See also
  AIDA::IHistogram3D

Parameters

  valueX | x value to be filled
  valueY | y value to be filled
  valueZ | z value to be filled
  title | histogram title (must be unique within the algorithm)
  lowX | low x limit for histogram
  highX | high x limit for histogram
  lowY | low y limit for histogram
  highY | high y limit for histogram
  lowZ | low z limit for histogram
  highZ | high z limit for histogram
  binsX | number of bins in x
  binsY | number of bins in y
  binsZ | number of bins in z
  weight | weight

Returns
  pointer to AIDA 3D histogram

Implemented in HistoTool.

virtual AIDA::IHistogram3D* IHistoTool::plot3D | ( | const double | valueX,
|  | const double | valueY,
|  | const double | valueZ,
|  | const HistoID & | ID,
|  | const std::string & | title,
|  | const double | lowX,
|  | const double | highX,
|  | const double | lowY,
|  | const double | highY,
|  | const double | lowZ,
|  | const double | highZ,
|  | const unsigned long | binsX = `10`,
|  | const unsigned long | binsY = `10`,
|  | const unsigned long | binsZ = `10`,
|  | const double | weight = `1.0`
| ) |  | const
| pure virtual

fill the 3D histogram with forced ID assignment (book on demand)

const double mass1 = ... ;
const double mass2 = ... ;
const double mass3 = ... ;
plot3D( X, Y, Z, "Space Points" ,2.5 ,3.5, 4.5, 5.5, 6.5, 7.5, 10, 20, 30 );

- This example illustrates the filling of the 3D histogram titled `"Space Points"` with values `X`, `Y` and `Z`.
- If the histogram with given title does not exist yet it will be automatically booked with parameters `lowX` equal to 2.5, `highX` equal to 3.5, `lowY` equal to 4.5, `highY` equal to 5.5, `lowZ` equal to 6.5, `highZ` equal to 7.5, `binsX` equal to 10, `binsY` equal to 20 and `binsZ` equal to 30.

Attention
  If the histogram with given ID is already booked through automatic assignment of histogram ID, the error will not be detected. Therefore it is recommended to use non-trivial histogram ID offset (property "HistoOffSet") if one need to combine these techniques together It is still desirable to use the unique histogram title to avoid a bad interference

Note : This method is more efficient that the similar method without forced ID, since the histogram lookup is faster using a numerical ID.

See also
  AIDA::IHistogram3D

Parameters

  valueX | x value to be filled
  valueY | y value to be filled
  valueZ | z value to be filled
  ID | Histogram ID to use
  title | histogram title (must be unique within the algorithm)
  lowX | low x limit for histogram
  highX | high x limit for histogram
  lowY | low y limit for histogram
  highY | high y limit for histogram
  lowZ | low z limit for histogram
  highZ | high z limit for histogram
  binsX | number of bins in x
  binsY | number of bins in y
  binsZ | number of bins in z
  weight | weight

Returns
  pointer to AIDA 3D histogram

Implemented in HistoTool.

The documentation for this class was generated from the following file:

- GaudiAlg/GaudiAlg/IHistoTool.h