The Gaudi Framework
v30r3 (a5ef0a68)
|
An abstract interface for "histogramming tool". More...
#include <GaudiTools/IHistoTool.h>
Public Types | |
typedef Histos::HistoID | HistoID |
the actual type for histogram identifier (HBOOK style) More... | |
Public Types inherited from IInterface | |
enum | Status : StatusCode::code_t { Status::FAILURE = 0, Status::SUCCESS = 1, Status::NO_INTERFACE, Status::VERSMISMATCH, Status::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... | |
Additional Inherited Members | |
Static Public Member Functions inherited from IInterface | |
static const InterfaceID & | interfaceID () |
Return an instance of InterfaceID identifying the interface. More... | |
An abstract interface for "histogramming tool".
Definition at line 31 of file IHistoTool.h.
typedef Histos::HistoID IHistoTool::HistoID |
the actual type for histogram identifier (HBOOK style)
Definition at line 38 of file IHistoTool.h.
|
inline |
book the 1D histogram
Wrapper method for the equivalent book1D method. Retained for backwards compatibility, please use book1D instead.
title | histogram title (must be unique within the algorithm) |
low | low limit for histogram |
high | high limit for histogram |
bins | number of bins |
Definition at line 382 of file IHistoTool.h.
|
inline |
book the 1D histogram with forced ID
Wrapper method for the equivalent book1D method. Retained for backwards compatibility, please use book1D instead.
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 |
Definition at line 454 of file IHistoTool.h.
|
pure virtual |
book the 1D histogram
The histogram will be assigned a unique identifier
title | histogram title (must be unique within the algorithm) |
low | low limit for histogram |
high | high limit for histogram |
bins | number of bins |
Implemented in HistoTool.
|
pure virtual |
|
pure virtual |
book the 2D histogram
The histogram will be assigned a unique identifier
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 |
Implemented in HistoTool.
|
pure virtual |
|
pure virtual |
book the 3D histogram
The histogram will be assigned a unique identifier
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 |
Implemented in HistoTool.
|
pure virtual |
book the 3D histogram with forced ID
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 |
Implemented in HistoTool.
IHistoTool::DeclareInterfaceID | ( | IHistoTool | , |
2 | , | ||
0 | |||
) |
|
pure virtual |
|
pure virtual |
fill the 2D histo with the value and weight
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) |
Implemented in HistoTool.
|
pure virtual |
fill the 3D histo with the value and weight
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) |
Implemented in HistoTool.
|
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 540 of file IHistoTool.h.
|
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 564 of file IHistoTool.h.
|
pure virtual |
access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL
Implemented in HistoTool.
|
pure virtual |
access the EXISTING 1D histogram by ID return the pointer to existing 1D histogram or NULL
Implemented in HistoTool.
|
pure virtual |
access the EXISTING 2D histogram by title return the pointer to existing 2D histogram or NULL
Implemented in HistoTool.
|
pure virtual |
access the EXISTING 2D histogram by ID return the pointer to existing 2D histogram or NULL
Implemented in HistoTool.
|
pure virtual |
access the EXISTING 3D histogram by title return the pointer to existing 3D histogram or NULL
Implemented in HistoTool.
|
pure virtual |
access the EXISTING 3D histogram by ID return the pointer to existing 3D histogram or NULL
Implemented in HistoTool.
|
pure virtual |
check the existence AND validity of the histogram with given title
Implemented in HistoTool.
|
pure virtual |
check the existence AND validity of the histogram with given title
Implemented in HistoTool.
|
inline |
fill the 1D histogram (book on demand)
Wrapper method for the equivalent plot1D method. Retained for backwards compatibility, please use plot1D instead.
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 |
Definition at line 87 of file IHistoTool.h.
|
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.
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 |
Definition at line 151 of file IHistoTool.h.
|
inline |
fill the 1D histogram with information from [first,last) sequence
The histogram will get a unique integer identifier automatically assigned
Sequence, objects and function can be non-trivial:
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.
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 633 of file IHistoTool.h.
|
inline |
fill the 1D histogram with forced ID and information from [first,last) sequence
Sequence, objects and function can be non-trivial:
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.
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 698 of file IHistoTool.h.
|
inline |
book and fill the 1D histogram with information from [first,last) sequence with given weight
The histogram will get a unique integer identifier automatically assigned
Sequence, objects and function can be non-trivial:
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.
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 769 of file IHistoTool.h.
|
inline |
book and fill the 1D histogram with forced ID and information from [first,last) sequence with given weight
Sequence, objects and function can be non-trivial:
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.
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 844 of file IHistoTool.h.
|
pure virtual |
fill the 1D histogram (book on demand)
"InvariantMass"
with value mass
.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.
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 |
Implemented in HistoTool.
|
pure virtual |
fill the 1D histogram with forced ID assignement (book on demand)
"Invariant Mass"
with value mass
.low
equal to 2.5, parameters high
equal to 3.5 and bins
equal to 100.Note : This method is more efficient that the similar method without forced ID, since the histogram lookup is faster using a numerical ID.
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 |
Implemented in HistoTool.
|
pure virtual |
fill the 2D histogram (book on demand)
"Invariant Mass2 versus Mass1"
with values mass1
and mass2
.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
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 |
Implemented in HistoTool.
|
pure virtual |
fill the 2D histogram with forced ID assignment (book on demand)
"Invariant Mass2 versus Mass1"
with values mass1
and mass2
.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.Note : This method is more efficient that the similar method without forced ID, since the histogram lookup is faster using a numerical ID.
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 |
Implemented in HistoTool.
|
pure virtual |
fill the 3D histogram (book on demand)
"Space Points"
with values X
, Y
and Z
.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
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 |
Implemented in HistoTool.
|
pure virtual |
fill the 3D histogram with forced ID assignment (book on demand)
"Space Points"
with values X
, Y
and Z
.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.Note : This method is more efficient that the similar method without forced ID, since the histogram lookup is faster using a numerical ID.
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 |
Implemented in HistoTool.