SequencerTimerTool Class Reference

Implements the time measurement inside a sequencer. More...

#include <src/components/SequencerTimerTool.h>

Inheritance diagram for SequencerTimerTool:
Collaboration diagram for SequencerTimerTool:

Public Member Functions

 SequencerTimerTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor. More...
 
 ~SequencerTimerTool () override=default
 Destructor. More...
 
StatusCode initialize () override
 initialize method, to compute the normalization factor More...
 
StatusCode finalize () override
 finalize method, to print the time summary table More...
 
int addTimer (const std::string &name) override
 add a timer entry with the specified name More...
 
void increaseIndent () override
 Increase the indentation of the name. More...
 
void decreaseIndent () override
 Decrease the indentation of the name. More...
 
void start (int index) override
 start the counter, i.e. More...
 
double stop (int index) override
 stop the counter, return the elapsed time More...
 
double lastTime (int index) override
 returns the last time More...
 
const std::string & name (int index) override
 returns the name of the counter More...
 
int indexByName (const std::string &name) override
 returns the index of the counter with that name, or -1 More...
 
bool globalTiming () override
 returns the flag telling that global timing is wanted More...
 
void saveHistograms () override
 prepares and saves the timing histograms More...
 
- Public Member Functions inherited from GaudiHistos< GaudiTool >
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
 fill the 1D histogram (book on demand) More...
 
AIDA::IHistogram1D * plot1D (const double value, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const
 fill the 1D histogram (book on demand) More...
 
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
 fill the 1D histogram with forced ID assignment (book on demand) More...
 
AIDA::IHistogram1D * plot1D (const double value, const HistoID &ID, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const
 fill the 1D histogram with forced ID assignment (book on demand) More...
 
AIDA::IHistogram1D * plot1D (const double value, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const
 Fill the 1D variable binning histogram (book on demand) More...
 
AIDA::IHistogram1D * plot1D (const double value, const HistoID &ID, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const
 fill the 1D variable binning histogram with forced ID assignment (book on demand) More...
 
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
 fill the 1D histogram (book on demand) More...
 
AIDA::IHistogram1D * plot1D (const double value, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const
 fill the 1D histogram (book on demand) More...
 
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
 fill the 1D histogram with forced ID assignment (book on demand) More...
 
AIDA::IHistogram1D * plot1D (const double value, const HistoID &ID, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const
 fill the 1D histogram with forced ID assignment (book on demand) More...
 
AIDA::IHistogram1D * plot1D (const double value, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const
 Fill the 1D variable binning histogram (book on demand) More...
 
AIDA::IHistogram1D * plot1D (const double value, const HistoID &ID, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const
 fill the 1D variable binning histogram with forced ID assignment (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...
 
AIDA::IHistogram1D * plot (const double value, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const
 fill the 1D histogram (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...
 
AIDA::IHistogram1D * plot (const double value, const HistoID &ID, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const
 fill the 1D histogram (book on demand) More...
 
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...
 
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...
 
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...
 
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...
 
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...
 
AIDA::IHistogram1D * plot (const double value, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const
 fill the 1D histogram (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...
 
AIDA::IHistogram1D * plot (const double value, const HistoID &ID, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const
 fill the 1D histogram (book on demand) More...
 
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...
 
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...
 
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...
 
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...
 
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
 fill the 2D histogram (book on demand) More...
 
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
 fill the 2D histogram with forced ID assignment (book on demand) More...
 
AIDA::IHistogram2D * plot2D (const double valueX, const double valueY, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const
 Fill the 2D variable binning histogram (book on demand) More...
 
AIDA::IHistogram2D * plot2D (const double valueX, const double valueY, const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const
 fill the 2D variable histogram with forced ID assignment (book on demand) More...
 
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
 fill the 2D histogram (book on demand) More...
 
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
 fill the 2D histogram with forced ID assignment (book on demand) More...
 
AIDA::IHistogram2D * plot2D (const double valueX, const double valueY, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const
 Fill the 2D variable binning histogram (book on demand) More...
 
AIDA::IHistogram2D * plot2D (const double valueX, const double valueY, const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const
 fill the 2D variable histogram with forced ID assignment (book on demand) More...
 
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
 fill the 3D histogram (book on demand) More...
 
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
 fill the 3D histogram with forced ID assignment (book on demand) More...
 
AIDA::IHistogram3D * plot3D (const double valueX, const double valueY, const double valueZ, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ, const double weight=1.0) const
 Fill the 3D variable binning histogram (book on demand) More...
 
AIDA::IHistogram3D * plot3D (const double valueX, const double valueY, const double valueZ, const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ, const double weight=1.0) const
 fill the 3D histogram with forced ID assignment (book on demand) More...
 
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
 fill the 3D histogram (book on demand) More...
 
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
 fill the 3D histogram with forced ID assignment (book on demand) More...
 
AIDA::IHistogram3D * plot3D (const double valueX, const double valueY, const double valueZ, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ, const double weight=1.0) const
 Fill the 3D variable binning histogram (book on demand) More...
 
AIDA::IHistogram3D * plot3D (const double valueX, const double valueY, const double valueZ, const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ, const double weight=1.0) const
 fill the 3D histogram with forced ID assignment (book on demand) More...
 
AIDA::IProfile1D * profile1D (const double valueX, const double valueY, const std::string &title, const double lowX, const double highX, const unsigned long binsX=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max(), const double weight=1.0) const
 fill the 1D profile histogram (book on demand) More...
 
AIDA::IProfile1D * profile1D (const double valueX, const double valueY, const HistoID &ID, const std::string &title, const double lowX, const double highX, const unsigned long binsX=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max(), const double weight=1.0) const
 fill the 1D profile histogram with forced ID assignment (book on demand) More...
 
AIDA::IProfile1D * profile1D (const double valueX, const double valueY, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const
 fill the 1D variable binning profile histogram (book on demand) More...
 
AIDA::IProfile1D * profile1D (const double valueX, const double valueY, const HistoID &ID, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const
 fill the 1D variable binning profile histogram with forced ID assignment (book on demand) More...
 
AIDA::IProfile1D * profile1D (const std::string &title) const
 access the EXISTING 1D profile histogram by title return the pointer to existing 1D profile histogram or NULL More...
 
AIDA::IProfile1D * profile1D (const HistoID &ID) const
 access the EXISTING 1D profile histogram by ID return the pointer to existing 1D profile histogram or NULL More...
 
AIDA::IProfile1D * profile1D (const double valueX, const double valueY, const std::string &title, const double lowX, const double highX, const unsigned long binsX=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max(), const double weight=1.0) const
 fill the 1D profile histogram (book on demand) More...
 
AIDA::IProfile1D * profile1D (const double valueX, const double valueY, const HistoID &ID, const std::string &title, const double lowX, const double highX, const unsigned long binsX=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max(), const double weight=1.0) const
 fill the 1D profile histogram with forced ID assignment (book on demand) More...
 
AIDA::IProfile1D * profile1D (const double valueX, const double valueY, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const
 fill the 1D variable binning profile histogram (book on demand) More...
 
AIDA::IProfile1D * profile1D (const double valueX, const double valueY, const HistoID &ID, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const
 fill the 1D variable binning profile histogram with forced ID assignment (book on demand) More...
 
AIDA::IProfile1D * profile1D (const std::string &title) const
 access the EXISTING 1D profile histogram by title return the pointer to existing 1D profile histogram or NULL More...
 
AIDA::IProfile1D * profile1D (const HistoID &ID) const
 access the EXISTING 1D profile histogram by ID return the pointer to existing 1D profile histogram or NULL More...
 
AIDA::IProfile2D * profile2D (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 unsigned long binsX=50, const unsigned long binsY=50, const double weight=1.0) const
 fill the 2D profile histogram (book on demand) More...
 
AIDA::IProfile2D * profile2D (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 unsigned long binsX=50, const unsigned long binsY=50, const double weight=1.0) const
 fill the 2D profile histogram with forced ID assignment (book on demand) More...
 
AIDA::IProfile2D * profile2D (const double valueX, const double valueY, const double valueZ, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const
 fill the 2D variable binning profile histogram (book on demand) More...
 
AIDA::IProfile2D * profile2D (const double valueX, const double valueY, const double valueZ, const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const
 fill the 2D variable binning profile histogram with forced ID assignment (book on demand) More...
 
AIDA::IProfile2D * profile2D (const std::string &title) const
 access the EXISTING 2D profile histogram by title return the pointer to existing 2D profile histogram or NULL More...
 
AIDA::IProfile2D * profile2D (const HistoID &ID) const
 access the EXISTING 2D profile histogram by ID return the pointer to existing 2D profile histogram or NULL More...
 
AIDA::IProfile2D * profile2D (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 unsigned long binsX=50, const unsigned long binsY=50, const double weight=1.0) const
 fill the 2D profile histogram (book on demand) More...
 
AIDA::IProfile2D * profile2D (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 unsigned long binsX=50, const unsigned long binsY=50, const double weight=1.0) const
 fill the 2D profile histogram with forced ID assignment (book on demand) More...
 
AIDA::IProfile2D * profile2D (const double valueX, const double valueY, const double valueZ, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const
 fill the 2D variable binning profile histogram (book on demand) More...
 
AIDA::IProfile2D * profile2D (const double valueX, const double valueY, const double valueZ, const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const
 fill the 2D variable binning profile histogram with forced ID assignment (book on demand) More...
 
AIDA::IProfile2D * profile2D (const std::string &title) const
 access the EXISTING 2D profile histogram by title return the pointer to existing 2D profile histogram or NULL More...
 
AIDA::IProfile2D * profile2D (const HistoID &ID) const
 access the EXISTING 2D profile histogram by ID return the pointer to existing 2D profile histogram or NULL More...
 
AIDA::IHistogram1D * book1D (const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const
 book the 1D histogram More...
 
AIDA::IHistogram1D * book1D (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...
 
AIDA::IHistogram1D * book1D (const std::string &title, const HistoBinEdges &edges) const
 book the 1D variable binning histogram More...
 
AIDA::IHistogram1D * book1D (const HistoID &ID, const std::string &title, const HistoBinEdges &edges) const
 book the 1D variable binning histogram with given ID More...
 
AIDA::IHistogram1D * book1D (const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const
 book the 1D histogram More...
 
AIDA::IHistogram1D * book1D (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...
 
AIDA::IHistogram1D * book1D (const std::string &title, const HistoBinEdges &edges) const
 book the 1D variable binning histogram More...
 
AIDA::IHistogram1D * book1D (const HistoID &ID, const std::string &title, const HistoBinEdges &edges) const
 book the 1D variable binning histogram with given ID 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...
 
AIDA::IHistogram1D * book (const Gaudi::Histo1DDef &hdef) const
 book the 1D histogram 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...
 
AIDA::IHistogram1D * book (const HistoID &ID, const Gaudi::Histo1DDef &hdef) const
 book the 1D histogram with forced ID 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...
 
AIDA::IHistogram1D * book (const Gaudi::Histo1DDef &hdef) const
 book the 1D histogram 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...
 
AIDA::IHistogram1D * book (const HistoID &ID, const Gaudi::Histo1DDef &hdef) const
 book the 1D histogram with forced ID More...
 
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
 book the 2D histogram More...
 
AIDA::IHistogram2D * book2D (const HistoID &ID, 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
 book the 2D histogram with forced ID More...
 
AIDA::IHistogram2D * book2D (const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const
 book the 2D variable binning histogram More...
 
AIDA::IHistogram2D * book2D (const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const
 book the 2D variable binning histogram with given ID More...
 
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
 book the 2D histogram More...
 
AIDA::IHistogram2D * book2D (const HistoID &ID, 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
 book the 2D histogram with forced ID More...
 
AIDA::IHistogram2D * book2D (const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const
 book the 2D variable binning histogram More...
 
AIDA::IHistogram2D * book2D (const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const
 book the 2D variable binning histogram with given ID More...
 
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
 book the 3D histogram More...
 
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
 book the 3D histogram with forced ID More...
 
AIDA::IHistogram3D * book3D (const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ) const
 book the 3D variable binning histogram More...
 
AIDA::IHistogram3D * book3D (const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ) const
 book the 3D variable binning histogram with given ID More...
 
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
 book the 3D histogram More...
 
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
 book the 3D histogram with forced ID More...
 
AIDA::IHistogram3D * book3D (const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ) const
 book the 3D variable binning histogram More...
 
AIDA::IHistogram3D * book3D (const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ) const
 book the 3D variable binning histogram with given ID More...
 
AIDA::IProfile1D * bookProfile1D (const std::string &title, const double low=0, const double high=100, const unsigned long bins=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max()) const
 book the 1D profile histogram More...
 
AIDA::IProfile1D * bookProfile1D (const HistoID &ID, const std::string &title, const double low=0, const double high=100, const unsigned long bins=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max()) const
 book the 1D profile histogram More...
 
AIDA::IProfile1D * bookProfile1D (const std::string &title, const HistoBinEdges &edges) const
 book the 1D profile histogram More...
 
AIDA::IProfile1D * bookProfile1D (const HistoID &ID, const std::string &title, const HistoBinEdges &edges) const
 book the 1D profile histogram More...
 
AIDA::IProfile1D * bookProfile1D (const std::string &title, const double low=0, const double high=100, const unsigned long bins=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max()) const
 book the 1D profile histogram More...
 
AIDA::IProfile1D * bookProfile1D (const HistoID &ID, const std::string &title, const double low=0, const double high=100, const unsigned long bins=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max()) const
 book the 1D profile histogram More...
 
AIDA::IProfile1D * bookProfile1D (const std::string &title, const HistoBinEdges &edges) const
 book the 1D profile histogram More...
 
AIDA::IProfile1D * bookProfile1D (const HistoID &ID, const std::string &title, const HistoBinEdges &edges) const
 book the 1D profile histogram More...
 
AIDA::IProfile2D * bookProfile2D (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
 book the 2D profile histogram More...
 
AIDA::IProfile2D * bookProfile2D (const HistoID &ID, 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
 book the 2D profile histogram with forced ID More...
 
AIDA::IProfile2D * bookProfile2D (const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const
 book the 2D profile histogram More...
 
AIDA::IProfile2D * bookProfile2D (const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const
 book the 2D profile histogram with forced ID More...
 
AIDA::IProfile2D * bookProfile2D (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
 book the 2D profile histogram More...
 
AIDA::IProfile2D * bookProfile2D (const HistoID &ID, 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
 book the 2D profile histogram with forced ID More...
 
AIDA::IProfile2D * bookProfile2D (const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const
 book the 2D profile histogram More...
 
AIDA::IProfile2D * bookProfile2D (const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const
 book the 2D profile histogram with forced ID More...
 
AIDA::IHistogram1D * fill (AIDA::IHistogram1D *histo, const double value, const double weight, const std::string &title="") const
 fill the 1D histogram with the value and weight More...
 
AIDA::IHistogram2D * fill (AIDA::IHistogram2D *histo, const double valueX, const double valueY, const double weight, const std::string &title="") const
 fill the 2D histogram with the value and weight More...
 
AIDA::IHistogram3D * fill (AIDA::IHistogram3D *histo, const double valueX, const double valueY, const double valueZ, const double weight, const std::string &title="") const
 fill the 3D histogram with the value and weight More...
 
AIDA::IProfile1D * fill (AIDA::IProfile1D *histo, const double valueX, const double valueY, const double weight, const std::string &title="") const
 fill the 1D profile histogram with the values and weight More...
 
AIDA::IProfile2D * fill (AIDA::IProfile2D *histo, const double valueX, const double valueY, const double valueZ, const double weight, const std::string &title="") const
 fill the 2D profile histogram with the values and weight More...
 
AIDA::IHistogram1D * fill (AIDA::IHistogram1D *histo, const double value, const double weight, const std::string &title="") const
 fill the 1D histogram with the value and weight More...
 
AIDA::IHistogram2D * fill (AIDA::IHistogram2D *histo, const double valueX, const double valueY, const double weight, const std::string &title="") const
 fill the 2D histogram with the value and weight More...
 
AIDA::IHistogram3D * fill (AIDA::IHistogram3D *histo, const double valueX, const double valueY, const double valueZ, const double weight, const std::string &title="") const
 fill the 3D histogram with the value and weight More...
 
AIDA::IProfile1D * fill (AIDA::IProfile1D *histo, const double valueX, const double valueY, const double weight, const std::string &title="") const
 fill the 1D profile histogram with the values and weight More...
 
AIDA::IProfile2D * fill (AIDA::IProfile2D *histo, const double valueX, const double valueY, const double valueZ, const double weight, const std::string &title="") const
 fill the 2D profile histogram with the values and weight More...
 
AIDA::IHistogram1D * histo1D (const std::string &title) const
 access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL More...
 
AIDA::IHistogram1D * histo1D (const HistoID &ID) const
 access the EXISTING 1D histogram by ID return the pointer to existing 1D histogram or NULL More...
 
AIDA::IHistogram1D * histo1D (const std::string &title) const
 access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL More...
 
AIDA::IHistogram1D * histo1D (const HistoID &ID) const
 access the EXISTING 1D histogram by ID 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...
 
AIDA::IHistogram1D * histo (const HistoID &ID) const
 access the EXISTING 1D histogram by ID More...
 
AIDA::IHistogram1D * histo (const std::string &title) const
 access the EXISTING 1D histogram by title More...
 
AIDA::IHistogram1D * histo (const HistoID &ID) const
 access the EXISTING 1D histogram by ID More...
 
AIDA::IHistogram2D * histo2D (const std::string &title) const
 access the EXISTING 2D histogram by title return the pointer to existing 2D histogram or NULL More...
 
AIDA::IHistogram2D * histo2D (const HistoID &ID) const
 access the EXISTING 2D histogram by ID return the pointer to existing 2D histogram or NULL More...
 
AIDA::IHistogram2D * histo2D (const std::string &title) const
 access the EXISTING 2D histogram by title return the pointer to existing 2D histogram or NULL More...
 
AIDA::IHistogram2D * histo2D (const HistoID &ID) const
 access the EXISTING 2D histogram by ID return the pointer to existing 2D histogram or NULL More...
 
AIDA::IHistogram3D * histo3D (const std::string &title) const
 access the EXISTING 3D histogram by title return the pointer to existing 3D histogram or NULL More...
 
AIDA::IHistogram3D * histo3D (const HistoID &ID) const
 access the EXISTING 3D histogram by ID return the pointer to existing 3D histogram or NULL More...
 
AIDA::IHistogram3D * histo3D (const std::string &title) const
 access the EXISTING 3D histogram by title return the pointer to existing 3D histogram or NULL More...
 
AIDA::IHistogram3D * histo3D (const HistoID &ID) const
 access the EXISTING 3D histogram by ID return the pointer to existing 3D histogram or NULL More...
 
bool histoExists (const std::string &title) const
 check the existence AND validity of the histogram with given title More...
 
bool histoExists (const HistoID &ID) const
 check the existence AND validity of the histogram with given title More...
 
bool histoExists (const std::string &title) const
 check the existence AND validity of the histogram with given title More...
 
bool histoExists (const HistoID &ID) const
 check the existence AND validity of the histogram with given title More...
 
unsigned int totalNumberOfHistos () const
 Returns the total number of histograms (of all types) currently booked. More...
 
unsigned int totalNumberOfHistos () const
 Returns the total number of histograms (of all types) currently booked. More...
 
bool produceHistos () const
 get the flag for histogram production (property "HistoProduce") More...
 
bool produceHistos () const
 get the flag for histogram production (property "HistoProduce") More...
 
bool fullDetail () const
 get flag to control output level of histograms More...
 
bool fullDetail () const
 get flag to control output level of histograms More...
 
bool checkForNaN () const
 get the flag for NaN checks (property "HistoCheckForNan") More...
 
bool checkForNaN () const
 get the flag for NaN checks (property "HistoCheckForNan") More...
 
bool splitHistoDir () const
 get the flag for histogram path split (property "HistoSplitDir") More...
 
bool splitHistoDir () const
 get the flag for histogram path split (property "HistoSplitDir") More...
 
HistoID::NumericID histoOffSet () const
 get the value for histogram offset (property "HistoOffSet") More...
 
HistoID::NumericID histoOffSet () const
 get the value for histogram offset (property "HistoOffSet") More...
 
const std::string & histoTopDir () const
 get top-level histogram directory (property "HistoTopDir") More...
 
const std::string & histoTopDir () const
 get top-level histogram directory (property "HistoTopDir") More...
 
const std::string & histoDir () const
 get histogram directory (property "HistoDir") More...
 
const std::string & histoDir () const
 get histogram directory (property "HistoDir") More...
 
std::string histoPath () const
 get the constructed histogram path More...
 
std::string histoPath () const
 get the constructed histogram path More...
 
bool histosPrint () const
 print histograms at finalization ? More...
 
bool histosPrint () const
 print histograms at finalization ? More...
 
bool histoCountersPrint () const
 print histogram counters at finalization ? More...
 
bool histoCountersPrint () const
 print histogram counters at finalization ? More...
 
bool useNumericAutoIDs () const
 Use old style sequencial numerical automatically assigned IDs ? More...
 
bool useNumericAutoIDs () const
 Use old style sequencial numerical automatically assigned IDs ? More...
 
int printHistos (const MSG::Level level=MSG::ALWAYS) const
 perform the actual printout of histograms More...
 
int printHistos (const MSG::Level level=MSG::ALWAYS) const
 perform the actual printout of histograms More...
 
const Histo1DMapTitlehisto1DMapTitle () const
 get access to the map of all 1D histograms indexed via their title More...
 
const Histo1DMapTitlehisto1DMapTitle () const
 get access to the map of all 1D histograms indexed via their title More...
 
const Histo1DMapIDhisto1DMapID () const
 get access to the map of all 1D histograms index via ID More...
 
const Histo1DMapIDhisto1DMapID () const
 get access to the map of all 1D histograms index via ID More...
 
const Histo2DMapTitlehisto2DMapTitle () const
 get access to the map of all 2D histograms indexed via their title More...
 
const Histo2DMapTitlehisto2DMapTitle () const
 get access to the map of all 2D histograms indexed via their title More...
 
const Histo2DMapIDhisto2DMapID () const
 get access to the map of 2D histograms index via ID More...
 
const Histo2DMapIDhisto2DMapID () const
 get access to the map of 2D histograms index via ID More...
 
const Histo3DMapTitlehisto3DMapTitle () const
 get access to the map of all 3D histograms indexed via their title More...
 
const Histo3DMapTitlehisto3DMapTitle () const
 get access to the map of all 3D histograms indexed via their title More...
 
const Histo3DMapIDhisto3DMapID () const
 get access to the map of all 3D histograms index via a ID More...
 
const Histo3DMapIDhisto3DMapID () const
 get access to the map of all 3D histograms index via a ID More...
 
const Profile1DMapTitleprofile1DMapTitle () const
 get access to the map of all 1D profile histograms indexed via their title More...
 
const Profile1DMapTitleprofile1DMapTitle () const
 get access to the map of all 1D profile histograms indexed via their title More...
 
const Profile1DMapIDprofile1DMapID () const
 get access to the map of 1D profile histograms index via a ID More...
 
const Profile1DMapIDprofile1DMapID () const
 get access to the map of 1D profile histograms index via a ID More...
 
const Profile2DMapTitleprofile2DMapTitle () const
 get access to the map of all 2D profile histograms indexed via their title More...
 
const Profile2DMapTitleprofile2DMapTitle () const
 get access to the map of all 2D profile histograms indexed via their title More...
 
const Profile2DMapIDprofile2DMapID () const
 get access to the map of 2D profile histograms index via a ID More...
 
const Profile2DMapIDprofile2DMapID () const
 get access to the map of 2D profile histograms index via a ID More...
 
void setProduceHistos (const bool val)
 set the flag for histogram production (property "HistoProduce") More...
 
void setProduceHistos (const bool val)
 set the flag for histogram production (property "HistoProduce") More...
 
void setFullDetail (const bool val)
 set flag to control output level of histograms More...
 
void setFullDetail (const bool val)
 set flag to control output level of histograms More...
 
void setCheckForNaN (const bool val)
 set the flag for NaN checks (property "HistoCheckForNan") More...
 
void setCheckForNaN (const bool val)
 set the flag for NaN checks (property "HistoCheckForNan") More...
 
void setSplitHistoDir (const bool val)
 set the flag for histogram path split (property "HistoSplitDir") More...
 
void setSplitHistoDir (const bool val)
 set the flag for histogram path split (property "HistoSplitDir") More...
 
void setHistoOffSet (const HistoID::NumericID val)
 set a value for histogram offset (property "HistoOffSet" More...
 
void setHistoOffSet (const HistoID::NumericID val)
 set a value for histogram offset (property "HistoOffSet" More...
 
void setHistoTopDir (const std::string &val)
 set top-level histogram directory (property "HistoTopDir") More...
 
void setHistoTopDir (const std::string &val)
 set top-level histogram directory (property "HistoTopDir") More...
 
void setHistoDir (const std::string &val)
 set histogram directory (property "HistoDir") More...
 
void setHistoDir (const std::string &val)
 set histogram directory (property "HistoDir") More...
 
 GaudiHistos (const std::string &name, ISvcLocator *pSvcLocator)
 Algorithm constructor. More...
 
 GaudiHistos (const std::string &type, const std::string &name, const IInterface *parent)
 Tool constructor. More...
 
 GaudiHistos (const std::string &name, ISvcLocator *pSvcLocator)
 Algorithm constructor. More...
 
 GaudiHistos (const std::string &type, const std::string &name, const IInterface *parent)
 Tool constructor. More...
 
 ~GaudiHistos () override=default
 Destructor. More...
 
 ~GaudiHistos () override=default
 Destructor. More...
 
- Public Member Functions inherited from GaudiTool
StatusCode initialize () override
 standard initialization method More...
 
StatusCode finalize () override
 standard finalization method More...
 
INTupleSvcntupleSvc () const
 Access the standard N-Tuple. More...
 
INTupleSvcevtColSvc () const
 Access the standard event collection service. More...
 
IDataProviderSvcdetSvc () const
 accessor to detector service More...
 
IIncidentSvcincSvc () const
 accessor to Incident Service More...
 
IChronoStatSvcchronoSvc () const
 accessor to Chrono & Stat Service More...
 
IHistogramSvchistoSvc () const
 acessor to the histogram service More...
 
IAlgContextSvccontextSvc () const
 acessor to the Algorithm Context Service More...
 
DataObjectput (IDataProviderSvc *svc, DataObject *object, const std::string &address, const bool useRootInTES=true) const
 Register a data object or container into Gaudi Event Transient Store. More...
 
DataObjectput (DataObject *object, const std::string &address, const bool useRootInTES=true) const
 Register a data object or container into Gaudi Event Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type get (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Templated access to the data in Gaudi Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type getIfExists (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Templated access to the data in Gaudi Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type get (const std::string &location, const bool useRootInTES=true) const
 Templated access to the data from Gaudi Event Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type getIfExists (const std::string &location, const bool useRootInTES=true) const
 Templated access to the data in Gaudi Transient Store. More...
 
template<class TYPE >
TYPE * getDet (IDataProviderSvc *svc, const std::string &location) const
 Templated access to the detector data from the Gaudi Detector Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type getDetIfExists (IDataProviderSvc *svc, const std::string &location) const
 Templated access to the detector data from the Gaudi Detector Transient Store. More...
 
template<class TYPE >
TYPE * getDet (const std::string &location) const
 Templated access to the detector data from the Gaudi Detector Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type getDetIfExists (const std::string &location) const
 Templated access to the detector data from the Gaudi Detector Transient Store. More...
 
template<class TYPE >
bool exist (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Check the existence of a data object or container in the Gaudi Transient Event Store. More...
 
template<class TYPE >
bool exist (const std::string &location, const bool useRootInTES=true) const
 Check the existence of a data object or container in the Gaudi Transient Event Store. More...
 
template<class TYPE >
bool existDet (IDataProviderSvc *svc, const std::string &location) const
 Check the existence of detector objects in the Gaudi Transient Detector Store. More...
 
template<class TYPE >
bool existDet (const std::string &location) const
 Check the existence of detector objects in the Gaudi Transient Detector Store. More...
 
template<class TYPE , class TYPE2 >
Gaudi::Utils::GetData< TYPE >::return_type getOrCreate (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Get the existing data object from Gaudi Event Transient store. More...
 
template<class TYPE , class TYPE2 >
Gaudi::Utils::GetData< TYPE >::return_type getOrCreate (const std::string &location, const bool useRootInTES=true) const
 Get the existing data object from Gaudi Event Transient store. More...
 
StatusCode Error (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
 Print the error message and return with the given StatusCode. More...
 
StatusCode Warning (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
 Print the warning message and return with the given StatusCode. More...
 
StatusCode Info (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const size_t mx=10) const
 Print the info message and return with the given StatusCode. More...
 
StatusCode initialize () override
 standard initialization method More...
 
StatusCode finalize () override
 standard finalization method More...
 
INTupleSvcntupleSvc () const
 Access the standard N-Tuple. More...
 
INTupleSvcevtColSvc () const
 Access the standard event collection service. More...
 
IDataProviderSvcdetSvc () const
 accessor to detector service More...
 
IIncidentSvcincSvc () const
 accessor to Incident Service More...
 
IChronoStatSvcchronoSvc () const
 accessor to Chrono & Stat Service More...
 
IHistogramSvchistoSvc () const
 acessor to the histogram service More...
 
IAlgContextSvccontextSvc () const
 acessor to the Algorithm Context Service More...
 
DataObjectput (IDataProviderSvc *svc, DataObject *object, const std::string &address, const bool useRootInTES=true) const
 Register a data object or container into Gaudi Event Transient Store. More...
 
DataObjectput (DataObject *object, const std::string &address, const bool useRootInTES=true) const
 Register a data object or container into Gaudi Event Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type get (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Templated access to the data in Gaudi Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type getIfExists (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Templated access to the data in Gaudi Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type get (const std::string &location, const bool useRootInTES=true) const
 Templated access to the data from Gaudi Event Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type getIfExists (const std::string &location, const bool useRootInTES=true) const
 Templated access to the data in Gaudi Transient Store. More...
 
template<class TYPE >
TYPE * getDet (IDataProviderSvc *svc, const std::string &location) const
 Templated access to the detector data from the Gaudi Detector Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type getDetIfExists (IDataProviderSvc *svc, const std::string &location) const
 Templated access to the detector data from the Gaudi Detector Transient Store. More...
 
template<class TYPE >
TYPE * getDet (const std::string &location) const
 Templated access to the detector data from the Gaudi Detector Transient Store. More...
 
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type getDetIfExists (const std::string &location) const
 Templated access to the detector data from the Gaudi Detector Transient Store. More...
 
template<class TYPE >
bool exist (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Check the existence of a data object or container in the Gaudi Transient Event Store. More...
 
template<class TYPE >
bool exist (const std::string &location, const bool useRootInTES=true) const
 Check the existence of a data object or container in the Gaudi Transient Event Store. More...
 
template<class TYPE >
bool existDet (IDataProviderSvc *svc, const std::string &location) const
 Check the existence of detector objects in the Gaudi Transient Detector Store. More...
 
template<class TYPE >
bool existDet (const std::string &location) const
 Check the existence of detector objects in the Gaudi Transient Detector Store. More...
 
template<class TYPE , class TYPE2 >
Gaudi::Utils::GetData< TYPE >::return_type getOrCreate (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Get the existing data object from Gaudi Event Transient store. More...
 
template<class TYPE , class TYPE2 >
Gaudi::Utils::GetData< TYPE >::return_type getOrCreate (const std::string &location, const bool useRootInTES=true) const
 Get the existing data object from Gaudi Event Transient store. More...
 
StatusCode Error (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
 Print the error message and return with the given StatusCode. More...
 
StatusCode Warning (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
 Print the warning message and return with the given StatusCode. More...
 
StatusCode Info (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const size_t mx=10) const
 Print the info message and return with the given StatusCode. More...
 
- Public Member Functions inherited from GaudiCommon< AlgTool >
Gaudi::Utils::GetData< TYPE >::return_type get (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Templated access to the data in Gaudi Transient Store. More...
 
Gaudi::Utils::GetData< TYPE >::return_type get (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Templated access to the data in Gaudi Transient Store. More...
 
Gaudi::Utils::GetData< TYPE >::return_type getIfExists (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Quicker version of the get function which bypasses the check on the retrieved data. More...
 
Gaudi::Utils::GetData< TYPE >::return_type getIfExists (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Quicker version of the get function which bypasses the check on the retrieved data. More...
 
bool exist (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Check the existence of a data object or container in the Gaudi Transient Event Store. More...
 
bool exist (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Check the existence of a data object or container in the Gaudi Transient Event Store. More...
 
Gaudi::Utils::GetData< TYPE >::return_type getOrCreate (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Get the existing data object from Gaudi Event Transient store. More...
 
Gaudi::Utils::GetData< TYPE >::return_type getOrCreate (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
 Get the existing data object from Gaudi Event Transient store. More...
 
DataObjectput (IDataProviderSvc *svc, DataObject *object, const std::string &location, const bool useRootInTES=true) const
 Register a data object or container into Gaudi Event Transient Store. More...
 
DataObjectput (IDataProviderSvc *svc, DataObject *object, const std::string &location, const bool useRootInTES=true) const
 Register a data object or container into Gaudi Event Transient Store. More...
 
TOOL * tool (const std::string &type, const std::string &name, const IInterface *parent=0, bool create=true) const
 Useful method for the easy location of tools. More...
 
TOOL * tool (const std::string &type, const IInterface *parent=0, bool create=true) const
 A useful method for the easy location of tools. More...
 
TOOL * tool (const std::string &type, const std::string &name, const IInterface *parent=0, bool create=true) const
 Useful method for the easy location of tools. More...
 
TOOL * tool (const std::string &type, const IInterface *parent=0, bool create=true) const
 A useful method for the easy location of tools. More...
 
SmartIF< SERVICE > svc (const std::string &name, const bool create=true) const
 A useful method for the easy location of services. More...
 
SmartIF< SERVICE > svc (const std::string &name, const bool create=true) const
 A useful method for the easy location of services. More...
 
IUpdateManagerSvcupdMgrSvc () const
 Short-cut to locate the Update Manager Service. More...
 
IUpdateManagerSvcupdMgrSvc () const
 Short-cut to locate the Update Manager Service. More...
 
StatusCode Error (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
 Print the error message and return with the given StatusCode. More...
 
StatusCode Error (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
 Print the error message and return with the given StatusCode. More...
 
StatusCode Warning (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
 Print the warning message and return with the given StatusCode. More...
 
StatusCode Warning (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
 Print the warning message and return with the given StatusCode. More...
 
StatusCode Info (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const size_t mx=10) const
 Print the info message and return with the given StatusCode. More...
 
StatusCode Info (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const size_t mx=10) const
 Print the info message and return with the given StatusCode. More...
 
StatusCode Print (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const MSG::Level lev=MSG::INFO) const
 Print the message and return with the given StatusCode. More...
 
StatusCode Print (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const MSG::Level lev=MSG::INFO) const
 Print the message and return with the given StatusCode. More...
 
void Assert (const bool ok, const std::string &message="", const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
 Assertion - throw exception if the given condition is not fulfilled. More...
 
void Assert (const bool ok, const char *message, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
 Assertion - throw exception if the given condition is not fulfilled. More...
 
void Assert (const bool ok, const std::string &message="", const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
 Assertion - throw exception if the given condition is not fulfilled. More...
 
void Assert (const bool ok, const char *message, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
 Assertion - throw exception if the given condition is not fulfilled. More...
 
void Exception (const std::string &msg, const GaudiException &exc, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
 Create and (re)-throw a given GaudiException. More...
 
void Exception (const std::string &msg, const std::exception &exc, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
 Create and (re)-throw a given exception. More...
 
void Exception (const std::string &msg="no message", const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
 Create and throw an exception with the given message. More...
 
void Exception (const std::string &msg, const GaudiException &exc, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
 Create and (re)-throw a given GaudiException. More...
 
void Exception (const std::string &msg, const std::exception &exc, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
 Create and (re)-throw a given exception. More...
 
void Exception (const std::string &msg="no message", const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
 Create and throw an exception with the given message. More...
 
const Statisticscounters () const
 accessor to all counters More...
 
const Statisticscounters () const
 accessor to all counters More...
 
StatEntitycounter (const std::string &tag) const
 accessor to certain counter by name More...
 
StatEntitycounter (const std::string &tag) const
 accessor to certain counter by name More...
 
void resetMsgStream () const
 
void resetMsgStream () const
 
bool typePrint () const
 Insert the actual C++ type of the algorithm/tool in the messages ? More...
 
bool typePrint () const
 Insert the actual C++ type of the algorithm/tool in the messages ? More...
 
bool propsPrint () const
 Print properties at initialization ? More...
 
bool propsPrint () const
 Print properties at initialization ? More...
 
bool statPrint () const
 Print statistical counters at finalization ? More...
 
bool statPrint () const
 Print statistical counters at finalization ? More...
 
bool errorsPrint () const
 Print error counters at finalization ? More...
 
bool errorsPrint () const
 Print error counters at finalization ? More...
 
long printStat (const MSG::Level level=MSG::ALWAYS) const
 perform the actual printout of statistical counters More...
 
long printStat (const MSG::Level level=MSG::ALWAYS) const
 perform the actual printout of statistical counters More...
 
long printErrors (const MSG::Level level=MSG::ALWAYS) const
 perform the actual printout of error counters More...
 
long printErrors (const MSG::Level level=MSG::ALWAYS) const
 perform the actual printout of error counters More...
 
long printProps (const MSG::Level level=MSG::ALWAYS) const
 perform the actual printout of properties More...
 
long printProps (const MSG::Level level=MSG::ALWAYS) const
 perform the actual printout of properties More...
 
void registerCondition (const std::string &condition, StatusCode(CallerClass::*mf)()=nullptr)
 register the current instance to the UpdateManagerSvc as a consumer for a condition. More...
 
void registerCondition (const std::string &condition, CondType *&condPtrDest, StatusCode(CallerClass::*mf)()=NULL)
 register the current instance to the UpdateManagerSvc as a consumer for a condition. More...
 
void registerCondition (char *condition, StatusCode(CallerClass::*mf)()=NULL)
 just to avoid conflicts with the version using a pointer to a template class. More...
 
void registerCondition (TargetClass *condition, StatusCode(CallerClass::*mf)()=NULL)
 register the current instance to the UpdateManagerSvc as a consumer for a condition. More...
 
void registerCondition (const std::string &condition, StatusCode(CallerClass::*mf)()=nullptr)
 register the current instance to the UpdateManagerSvc as a consumer for a condition. More...
 
void registerCondition (const std::string &condition, CondType *&condPtrDest, StatusCode(CallerClass::*mf)()=NULL)
 register the current instance to the UpdateManagerSvc as a consumer for a condition. More...
 
void registerCondition (char *condition, StatusCode(CallerClass::*mf)()=NULL)
 just to avoid conflicts with the version using a pointer to a template class. More...
 
void registerCondition (TargetClass *condition, StatusCode(CallerClass::*mf)()=NULL)
 register the current instance to the UpdateManagerSvc as a consumer for a condition. More...
 
StatusCode runUpdate ()
 asks the UpdateManagerSvc to perform an update of the instance (if needed) without waiting the next BeginEvent incident. More...
 
StatusCode runUpdate ()
 asks the UpdateManagerSvc to perform an update of the instance (if needed) without waiting the next BeginEvent incident. More...
 
 GaudiCommon (const std::string &name, ISvcLocator *pSvcLocator)
 Algorithm constructor. More...
 
 GaudiCommon (const std::string &type, const std::string &name, const IInterface *parent)
 Tool constructor. More...
 
 GaudiCommon (const std::string &name, ISvcLocator *pSvcLocator)
 Algorithm constructor. More...
 
 GaudiCommon (const std::string &type, const std::string &name, const IInterface *parent)
 Tool constructor. More...
 
StatusCode initialize () override
 standard initialization method More...
 
StatusCode initialize () override
 standard initialization method More...
 
StatusCode finalize () override
 standard finalization method More...
 
StatusCode finalize () override
 standard finalization method More...
 
StatusCode release (const IInterface *interface) const
 Manual forced (and 'safe') release of the active tool or service. More...
 
StatusCode release (const IInterface *interface) const
 Manual forced (and 'safe') release of the active tool or service. More...
 
const Servicesservices () const
 get the list of aquired services More...
 
const Servicesservices () const
 get the list of aquired services More...
 
const std::string & context () const
 Returns the "context" string. Used to identify different processing states. More...
 
const std::string & context () const
 Returns the "context" string. Used to identify different processing states. More...
 
const std::string & rootInTES () const
 Returns the "rootInTES" string. More...
 
const std::string & rootInTES () const
 Returns the "rootInTES" string. More...
 
double globalTimeOffset () const
 Returns the "globalTimeOffset" double. More...
 
double globalTimeOffset () const
 Returns the "globalTimeOffset" double. More...
 
const std::string fullTESLocation (const std::string &location, const bool useRootInTES) const
 Returns the full correct event location given the rootInTes settings. More...
 
const std::string fullTESLocation (const std::string &location, const bool useRootInTES) const
 Returns the full correct event location given the rootInTes settings. More...
 
- Public Member Functions inherited from CommonMessaging< BASE >
 ~CommonMessaging () override=default
 Virtual destructor. More...
 
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream. More...
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts. More...
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS) More...
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL) More...
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING) More...
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG) More...
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE) More...
 
MsgStreammsg () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MSG::Level msgLevel () const
 get the output level from the embedded MsgStream More...
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream More...
 
 ~CommonMessaging () override=default
 Virtual destructor. More...
 
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream. More...
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts. More...
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS) More...
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL) More...
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING) More...
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG) More...
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE) More...
 
MsgStreammsg () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MSG::Level msgLevel () const
 get the output level from the embedded MsgStream More...
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream More...
 
- Public Member Functions inherited from ISequencerTimerTool
 DeclareInterfaceID (ISequencerTimerTool, 3, 0)
 InterfaceID. More...
 
 ~ISequencerTimerTool () override=default
 Destructor. More...
 
 DeclareInterfaceID (ISequencerTimerTool, 3, 0)
 InterfaceID. More...
 
 ~ISequencerTimerTool () override=default
 Destructor. More...
 
- Public Member Functions inherited from IAlgTool
 DeclareInterfaceID (IAlgTool, 4, 0)
 InterfaceID. More...
 
 ~IAlgTool () override=default
 Virtual destructor. More...
 
virtual const std::string & type () const =0
 The type of an AlgTool, meaning the concrete AlgTool class. More...
 
virtual const IInterfaceparent () const =0
 The parent of the concrete AlgTool. More...
 
virtual const DataObjectDescriptorCollectioninputDataObjects () const =0
 
virtual const DataObjectDescriptorCollectionoutputDataObjects () const =0
 
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...
 
 DeclareInterfaceID (IAlgTool, 4, 0)
 InterfaceID. More...
 
 ~IAlgTool () override=default
 Virtual destructor. More...
 
virtual const std::string & type () const =0
 The type of an AlgTool, meaning the concrete AlgTool class. More...
 
virtual const IInterfaceparent () const =0
 The parent of the concrete AlgTool. More...
 
virtual const DataObjectDescriptorCollectioninputDataObjects () const =0
 
virtual const DataObjectDescriptorCollectionoutputDataObjects () const =0
 
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 extend_interfaces< Interfaces >
 ~extend_interfaces () override=default
 Virtual destructor. More...
 
 ~extend_interfaces () override=default
 Virtual destructor. More...
 

Private Attributes

int m_shots = 3500000
 
bool m_normalised
 Is the time scaled to a nominal PIII ? More...
 
int m_indent = 0
 Amount of indentation. More...
 
std::vector< TimerForSequencerm_timerList
 
double m_normFactor = 0.001
 Factor to convert to standard CPU (1 GHz PIII) More...
 
double m_speedRatio = 0
 
bool m_globalTiming
 
std::string::size_type m_headerSize
 Size of the name field. More...
 

Additional Inherited Members

- Public Types inherited from GaudiHistos< GaudiTool >
typedef GaudiAlg::HistoID HistoID
 the actual type for histogram identifier More...
 
typedef GaudiAlg::HistoID HistoID
 the actual type for histogram identifier More...
 
typedef GaudiAlg::Histo1DMapID Histo1DMapID
 the actual type for (ID)->(1D histogram) mapping More...
 
typedef GaudiAlg::Histo1DMapID Histo1DMapID
 the actual type for (ID)->(1D histogram) mapping More...
 
typedef GaudiAlg::Histo1DMapTitle Histo1DMapTitle
 the actual type for title->(1D histogram) mapping More...
 
typedef GaudiAlg::Histo1DMapTitle Histo1DMapTitle
 the actual type for title->(1D histogram) mapping More...
 
typedef GaudiAlg::Histo2DMapID Histo2DMapID
 the actual type for (ID)->(2D histogram) mapping More...
 
typedef GaudiAlg::Histo2DMapID Histo2DMapID
 the actual type for (ID)->(2D histogram) mapping More...
 
typedef GaudiAlg::Histo2DMapTitle Histo2DMapTitle
 the actual type for title->(2D histogram) mapping More...
 
typedef GaudiAlg::Histo2DMapTitle Histo2DMapTitle
 the actual type for title->(2D histogram) mapping More...
 
typedef GaudiAlg::Histo3DMapID Histo3DMapID
 the actual type for (ID)->(3D histogram) mapping More...
 
typedef GaudiAlg::Histo3DMapID Histo3DMapID
 the actual type for (ID)->(3D histogram) mapping More...
 
typedef GaudiAlg::Histo3DMapTitle Histo3DMapTitle
 the actual type for title->(3D histogram) mapping More...
 
typedef GaudiAlg::Histo3DMapTitle Histo3DMapTitle
 the actual type for title->(3D histogram) mapping More...
 
typedef GaudiAlg::Profile1DMapID Profile1DMapID
 the actual type for (ID)->(1D profile histogram) mapping More...
 
typedef GaudiAlg::Profile1DMapID Profile1DMapID
 the actual type for (ID)->(1D profile histogram) mapping More...
 
typedef GaudiAlg::Profile1DMapTitle Profile1DMapTitle
 the actual type for title->(1D profile histogram) mapping More...
 
typedef GaudiAlg::Profile1DMapTitle Profile1DMapTitle
 the actual type for title->(1D profile histogram) mapping More...
 
typedef GaudiAlg::Profile2DMapID Profile2DMapID
 the actual type for (ID)->(2D profile histogram) mapping More...
 
typedef GaudiAlg::Profile2DMapID Profile2DMapID
 the actual type for (ID)->(2D profile histogram) mapping More...
 
typedef GaudiAlg::Profile2DMapTitle Profile2DMapTitle
 the actual type for title->(2D profile histogram) mapping More...
 
typedef GaudiAlg::Profile2DMapTitle Profile2DMapTitle
 the actual type for title->(2D profile histogram) mapping More...
 
typedef GaudiAlg::HistoBinEdges HistoBinEdges
 Edges for variable binning. More...
 
typedef GaudiAlg::HistoBinEdges HistoBinEdges
 Edges for variable binning. More...
 
- Public Types inherited from CommonMessaging< BASE >
using base_class = CommonMessaging
 
using base_class = CommonMessaging
 
- Public Types inherited from extend_interfaces< Interfaces >
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type
 take union of the ext_iids of all Interfaces... More...
 
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type
 take union of the ext_iids of all Interfaces... More...
 
- Static Public Member Functions inherited from GaudiTool
static bool enableSummary (bool)
 enable/disable summary More...
 
static bool summaryEnabled ()
 is summary enabled? More...
 
static bool enableSummary (bool)
 enable/disable summary More...
 
static bool summaryEnabled ()
 is summary enabled? More...
 
- Protected Types inherited from GaudiCommon< AlgTool >
typedef std::map< std::string, StatEntityStatistics
 the actual type of general counters More...
 
typedef std::map< std::string, StatEntityStatistics
 the actual type of general counters More...
 
typedef std::map< std::string, unsigned int > Counter
 the actual type error/warning counter More...
 
typedef std::map< std::string, unsigned int > Counter
 the actual type error/warning counter More...
 
typedef std::vector< IAlgTool * > AlgTools
 storage for active tools More...
 
typedef std::vector< IAlgTool * > AlgTools
 storage for active tools More...
 
typedef std::vector< SmartIF< IService > > Services
 storage for active services More...
 
typedef std::vector< SmartIF< IService > > Services
 storage for active services More...
 
- Protected Member Functions inherited from GaudiHistoTool
 GaudiHistoTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor (protected) More...
 
 ~GaudiHistoTool () override
 destructor, virtual and protected More...
 
StatusCode initialize () override
 standard initialization method More...
 
StatusCode finalize () override
 standard finalization method More...
 
 GaudiHistoTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor (protected) More...
 
 ~GaudiHistoTool () override
 destructor, virtual and protected More...
 
StatusCode initialize () override
 standard initialization method More...
 
StatusCode finalize () override
 standard finalization method More...
 
- Protected Member Functions inherited from GaudiHistos< GaudiTool >
StatusCode initialize () override
 standard initialization method More...
 
StatusCode initialize () override
 standard initialization method More...
 
StatusCode finalize () override
 standard finalization method More...
 
StatusCode finalize () override
 standard finalization method More...
 
std::string convertTitleToID (std::string title) const
 Create an ID string from a title string. More...
 
std::string convertTitleToID (std::string title) const
 Create an ID string from a title string. More...
 
- Protected Member Functions inherited from GaudiTool
 GaudiTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor. More...
 
 ~GaudiTool () override
 destructor, virtual and protected More...
 
 GaudiTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor. More...
 
 ~GaudiTool () override
 destructor, virtual and protected More...
 
- Protected Member Functions inherited from GaudiCommon< AlgTool >
 ~GaudiCommon () override=default
 Destructor. More...
 
 ~GaudiCommon () override=default
 Destructor. More...
 
StatusCode releaseTool (const IAlgTool *tool) const
 manual forced (and 'safe') release of the tool More...
 
StatusCode releaseTool (const IAlgTool *tool) const
 manual forced (and 'safe') release of the tool More...
 
StatusCode releaseSvc (const IInterface *svc) const
 manual forced (and 'safe') release of the service More...
 
StatusCode releaseSvc (const IInterface *svc) const
 manual forced (and 'safe') release of the service More...
 
- Protected Member Functions inherited from CommonMessaging< BASE >
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream. More...
 
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream. More...
 
- Protected Attributes inherited from GaudiCommon< AlgTool >
SmartIF< ICounterSummarySvcm_counterSummarySvc
 a pointer to the CounterSummarySvc More...
 
std::vector< std::string > m_counterList
 list of counters to declare. Set by property CounterList. This can be a regular expression. More...
 
std::vector< std::string > m_statEntityList
 
- Protected Attributes inherited from CommonMessaging< BASE >
SmartIF< IMessageSvcm_msgsvc
 Pointer to the message service;. More...
 
std::unique_ptr< MsgStreamm_msgStream
 The predefined message stream. More...
 
bool m_streamWithService = false
 Flag to create a new MsgStream if it was created without the message service. More...
 
- Static Protected Attributes inherited from GaudiCommon< AlgTool >
static const bool IgnoreRootInTES
 Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. More...
 
static const bool UseRootInTES
 Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. More...
 

Detailed Description

Implements the time measurement inside a sequencer.

The width of the timing table column printing the algorithm name is 30 by default. That can be changed via

TimingAuditor().addTool(SequencerTimerTool, name = "TIMER")
TimingAuditor().TIMER.NameSize = 50 
@author Olivier Callot
@date   2004-05-19

Definition at line 26 of file SequencerTimerTool.h.

Constructor & Destructor Documentation

SequencerTimerTool::SequencerTimerTool ( const std::string &  type,
const std::string &  name,
const IInterface parent 
)

Standard constructor.

Definition at line 26 of file SequencerTimerTool.cpp.

29  : GaudiHistoTool ( type, name , parent )
30 {
31  declareInterface<ISequencerTimerTool>(this);
32 
33  declareProperty( "shots" , m_shots );
34  declareProperty( "Normalised" , m_normalised = false );
35  declareProperty( "GlobalTiming" , m_globalTiming = false );
36  declareProperty( "NameSize" , m_headerSize = 30,
37  "Number of characters to be used in algorithm name column" );
38  // Histograms are disabled by default in this tool.
39  setProperty("HistoProduce", false).ignore();
40 }
GaudiHistoTool()=delete
std::string::size_type m_headerSize
Size of the name field.
bool PyHelper() setProperty(IInterface *p, char *name, char *value)
Definition: Bootstrap.cpp:254
virtual const std::string & type() const =0
The type of an AlgTool, meaning the concrete AlgTool class.
bool m_normalised
Is the time scaled to a nominal PIII ?
const std::string & name(int index) override
returns the name of the counter
SequencerTimerTool::~SequencerTimerTool ( )
overridedefault

Destructor.

Member Function Documentation

int SequencerTimerTool::addTimer ( const std::string &  name)
overridevirtual

add a timer entry with the specified name

Implements ISequencerTimerTool.

Definition at line 138 of file SequencerTimerTool.cpp.

139 {
140  std::string myName( 2*m_indent, ' ' );
141  myName += name;
142  if ( myName.size() < m_headerSize ) {
143  myName += std::string( m_headerSize - myName.size(), ' ' );
144  }
145  m_timerList.emplace_back( std::move(myName), m_headerSize, m_normFactor );
146  return m_timerList.size() - 1;
147 }
std::string::size_type m_headerSize
Size of the name field.
int m_indent
Amount of indentation.
std::vector< TimerForSequencer > m_timerList
const std::string & name(int index) override
returns the name of the counter
double m_normFactor
Factor to convert to standard CPU (1 GHz PIII)
void SequencerTimerTool::decreaseIndent ( )
inlineoverridevirtual

Decrease the indentation of the name.

Implements ISequencerTimerTool.

Definition at line 58 of file SequencerTimerTool.h.

59  {
60  m_indent = std::max( m_indent-1, 0 );
61  }
int m_indent
Amount of indentation.
StatusCode SequencerTimerTool::finalize ( )
override

finalize method, to print the time summary table

Definition at line 71 of file SequencerTimerTool.cpp.

72 {
73 
74  std::string line(m_headerSize + 68, '-');
75  info() << line << endmsg
76  << "This machine has a speed about "
77  << format( "%6.2f", 1000.*m_speedRatio)
78  << " times the speed of a 2.8 GHz Xeon.";
79  if ( m_normalised ) info() <<" *** All times are renormalized ***";
81  << line << endmsg;
82 
83  std::string lastName;
84  for ( const auto& timr : m_timerList)
85  {
86  if ( lastName == timr.name() ) continue; // suppress duplicate
87  lastName = timr.name();
88  info() << timr << endmsg;
89  }
90  info() << line << endmsg;
91 
92  return GaudiHistoTool::finalize();
93 }
static std::string header(std::string::size_type size)
header matching the previous format
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
StatusCode finalize() override
standard finalization method
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:119
std::string::size_type m_headerSize
Size of the name field.
std::vector< TimerForSequencer > m_timerList
bool m_normalised
Is the time scaled to a nominal PIII ?
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
bool SequencerTimerTool::globalTiming ( )
inlineoverridevirtual

returns the flag telling that global timing is wanted

Implements ISequencerTimerTool.

Definition at line 79 of file SequencerTimerTool.h.

79 { return m_globalTiming; };
void SequencerTimerTool::increaseIndent ( )
inlineoverridevirtual

Increase the indentation of the name.

Implements ISequencerTimerTool.

Definition at line 55 of file SequencerTimerTool.h.

55 { m_indent += 1; }
int m_indent
Amount of indentation.
int SequencerTimerTool::indexByName ( const std::string &  name)
overridevirtual

returns the index of the counter with that name, or -1

Implements ISequencerTimerTool.

Definition at line 98 of file SequencerTimerTool.cpp.

99 {
100  auto beg = name.find_first_not_of(" \t");
101  auto end = name.find_last_not_of(" \t");
102  auto temp = name.substr( beg, end-beg+1 );
103  auto i = std::find_if( std::begin(m_timerList), std::end(m_timerList),
104  [&](const TimerForSequencer& timer) {
105  beg = timer.name().find_first_not_of(" \t");
106  end = timer.name().find_last_not_of(" \t");
107  return timer.name().compare(beg,end-beg+1,temp) == 0;
108  });
109  return i!=std::end(m_timerList) ? std::distance(std::begin(m_timerList),i) : -1;
110 }
Auxiliary class.
auto begin(reverse_wrapper< T > &w)
Definition: reverse.h:45
auto end(reverse_wrapper< T > &w)
Definition: reverse.h:47
const std::string & name() const
returns the name
std::vector< TimerForSequencer > m_timerList
list i
Definition: ana.py:128
const std::string & name(int index) override
returns the name of the counter
StatusCode SequencerTimerTool::initialize ( )
override

initialize method, to compute the normalization factor

Definition at line 44 of file SequencerTimerTool.cpp.

45 {
47  if ( sc.isFailure() ) return sc;
48  double sum = 0;
49  TimerForSequencer norm( "normalize", m_headerSize, m_normFactor );
50  norm.start();
51  IRndmGenSvc* rsvc = svc<IRndmGenSvc>( "RndmGenSvc", true );
52  { // Use dummy loop suggested by Vanya Belyaev:
54  gauss.initialize( rsvc , Rndm::Gauss(0.,1.0) ).ignore();
55  unsigned int shots = m_shots;
56  while( 0 < --shots ) { sum += gauss() * sum ; }
57  }
58  norm.stop();
59  double time = norm.lastCpu();
60  m_speedRatio = 1./time;
61  info() << "This machine has a speed about "
62  << format( "%6.2f", 1000.*m_speedRatio)
63  << " times the speed of a 2.8 GHz Xeon." << endmsg ;
65  return sc;
66 }
Auxiliary class.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
double sum(double x, double y, double z)
Parameters for the Gauss random number generation.
bool isFailure() const
Test for a status code of FAILURE.
Definition: StatusCode.h:86
Random number accessor This small class encapsulates the use of the random number generator...
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:119
std::string::size_type m_headerSize
Size of the name field.
Random Generator service interface definition Definition of a interface for a service to access rando...
Definition: IRndmGenSvc.h:35
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
constexpr double gauss
StatusCode initialize() override
standard initialization method
bool m_normalised
Is the time scaled to a nominal PIII ?
virtual StatusCode initialize(const SmartIF< IRndmGenSvc > &svc, const IRndmGen::Param &par)
Initialization.
void ignore() const
Definition: StatusCode.h:108
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
double m_normFactor
Factor to convert to standard CPU (1 GHz PIII)
double SequencerTimerTool::lastTime ( int  index)
inlineoverridevirtual

returns the last time

Implements ISequencerTimerTool.

Definition at line 70 of file SequencerTimerTool.h.

70 { return m_timerList[index].lastTime(); }
std::vector< TimerForSequencer > m_timerList
const std::string& SequencerTimerTool::name ( int  index)
inlineoverridevirtual

returns the name of the counter

Implements ISequencerTimerTool.

Definition at line 73 of file SequencerTimerTool.h.

73 { return m_timerList[index].name(); }
std::vector< TimerForSequencer > m_timerList
void SequencerTimerTool::saveHistograms ( )
overridevirtual

prepares and saves the timing histograms

Implements ISequencerTimerTool.

Definition at line 115 of file SequencerTimerTool.cpp.

116 {
117  if ( produceHistos() )
118  {
119  info() << "Saving Timing histograms" << endmsg;
120  const size_t bins = m_timerList.size();
121  AIDA::IHistogram1D* histoTime = book("ElapsedTime", 0, bins, bins);
122  AIDA::IHistogram1D* histoCPU = book("CPUTime", 0, bins, bins);
123  AIDA::IHistogram1D* histoCount = book("Count", 0, bins, bins);
124  TH1D* tHtime = Gaudi::Utils::Aida2ROOT::aida2root(histoTime);
125  TH1D* tHCPU = Gaudi::Utils::Aida2ROOT::aida2root(histoCPU);
126  TH1D* tHCount = Gaudi::Utils::Aida2ROOT::aida2root(histoCount);
127  for (const auto& tfsq : m_timerList ) {
128  tHtime->Fill(tfsq.name().c_str(), tfsq.elapsedTotal());
129  tHCPU->Fill(tfsq.name().c_str(), tfsq.cpuTotal());
130  tHCount->Fill(tfsq.name().c_str(), tfsq.count());
131  }
132  }
133 }
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
static TH1D * aida2root(AIDA::IHistogram1D *aida)
get the underlying pointer for 1D-histogram
Definition: Aida2ROOT.cpp:72
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
Definition: GaudiHistos.h:2029
bool produceHistos() const
get the flag for histogram production (property "HistoProduce")
Definition: GaudiHistos.h:2691
std::vector< TimerForSequencer > m_timerList
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
void SequencerTimerTool::start ( int  index)
inlineoverridevirtual

start the counter, i.e.

register the current time

Implements ISequencerTimerTool.

Definition at line 64 of file SequencerTimerTool.h.

64 { m_timerList[index].start(); }
std::vector< TimerForSequencer > m_timerList
double SequencerTimerTool::stop ( int  index)
inlineoverridevirtual

stop the counter, return the elapsed time

Implements ISequencerTimerTool.

Definition at line 67 of file SequencerTimerTool.h.

67 { return m_timerList[index].stop(); }
std::vector< TimerForSequencer > m_timerList

Member Data Documentation

bool SequencerTimerTool::m_globalTiming
private

Definition at line 92 of file SequencerTimerTool.h.

std::string::size_type SequencerTimerTool::m_headerSize
private

Size of the name field.

Definition at line 93 of file SequencerTimerTool.h.

int SequencerTimerTool::m_indent = 0
private

Amount of indentation.

Definition at line 88 of file SequencerTimerTool.h.

bool SequencerTimerTool::m_normalised
private

Is the time scaled to a nominal PIII ?

Definition at line 87 of file SequencerTimerTool.h.

double SequencerTimerTool::m_normFactor = 0.001
private

Factor to convert to standard CPU (1 GHz PIII)

Definition at line 90 of file SequencerTimerTool.h.

int SequencerTimerTool::m_shots = 3500000
private

Definition at line 86 of file SequencerTimerTool.h.

double SequencerTimerTool::m_speedRatio = 0
private

Definition at line 91 of file SequencerTimerTool.h.

std::vector<TimerForSequencer> SequencerTimerTool::m_timerList
private

Definition at line 89 of file SequencerTimerTool.h.


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