1 #ifndef GAUDIALG_GAUDIHISTOS_H 2 #define GAUDIALG_GAUDIHISTOS_H 1 17 #include <boost/algorithm/string/replace.hpp> 19 #include <type_traits> 55 template <
class PBASE>
138 AIDA::IHistogram1D* plot1D(
const double value,
const std::string& title,
const double low,
const double high,
139 const unsigned long bins = 100,
const double weight = 1.0 )
const;
154 inline AIDA::IHistogram1D*
plot(
const double value,
const std::string& title,
const double low,
const double high,
155 const unsigned long bins = 100,
const double weight = 1.0 )
const 157 return plot1D( value, title, low, high, bins, weight );
184 AIDA::IHistogram1D* plot1D(
const double value,
const Gaudi::Histo1DDef& hdef,
const double weight = 1.0 )
const;
196 inline AIDA::IHistogram1D*
plot(
const double value,
const Gaudi::Histo1DDef& hdef,
const double weight = 1.0 )
const 198 return plot1D( value, hdef, weight );
266 AIDA::IHistogram1D* plot1D(
const double value,
const HistoID& ID,
const std::string& title,
const double low,
267 const double high,
const unsigned long bins = 100,
const double weight = 1.0 )
const;
283 inline AIDA::IHistogram1D*
plot(
const double value,
const HistoID& ID,
const std::string& title,
const double low,
284 const double high,
const unsigned long bins = 100,
const double weight = 1.0 )
const 286 return plot1D( value, ID, title, low, high, bins, weight );
314 AIDA::IHistogram1D* plot1D(
const double value,
const HistoID& ID,
const Gaudi::Histo1DDef& hdef,
315 const double weight = 1.0 )
const;
329 const double weight = 1.0 )
const 331 return plot1D( value, ID, hdef, weight );
396 template <
class FUNCTION,
class OBJECT>
398 const double low,
const double high,
const unsigned long bins = 100 )
const 400 AIDA::IHistogram1D* h =
nullptr;
401 if ( produceHistos() ) {
403 h = histo1D( title );
405 h = book1D( title, low, high, bins );
408 while ( first != last && h ) {
409 h =
fill( h,
func( *first ), 1.0, title );
471 template <
class FUNCTION,
class OBJECT>
473 const std::string& title,
const double low,
const double high,
474 const unsigned long bins = 100 )
const 476 AIDA::IHistogram1D* h( 0 );
477 if ( produceHistos() ) {
481 h = book1D( ID, title, low, high, bins );
484 while ( first != last && h ) {
485 h =
fill( h,
func( *first ), 1.0, title );
560 template <
class FUNCTION,
class OBJECT,
class WEIGHT>
562 const double low,
const double high,
const unsigned long bins,
563 const WEIGHT& weight )
const 565 AIDA::IHistogram1D* h =
nullptr;
566 if ( produceHistos() ) {
568 h = histo1D( title );
570 h = book1D( title, low, high, bins );
573 while ( first != last && h ) {
574 h =
fill( h,
func( *first ), weight( *first ), title );
647 template <
class FUNCTION,
class OBJECT,
class WEIGHT>
649 const std::string& title,
const double low,
const double high,
650 const unsigned long bins,
const WEIGHT& weight )
const 652 AIDA::IHistogram1D* h =
nullptr;
653 if ( produceHistos() ) {
657 h = book1D( ID, title, low, high, bins );
660 while ( first != last && h ) {
661 h =
fill( h,
func( *first ), weight( *first ), title );
710 AIDA::IHistogram1D* plot1D(
const double value,
const std::string& title,
const HistoBinEdges& edges,
711 const double weight = 1.0 )
const;
777 AIDA::IHistogram1D* plot1D(
const double value,
const HistoID& ID,
const std::string& title,
778 const HistoBinEdges& edges,
const double weight = 1.0 )
const;
832 AIDA::IHistogram2D* plot2D(
const double valueX,
const double valueY,
const std::string& title,
const double lowX,
833 const double highX,
const double lowY,
const double highY,
const unsigned long binsX = 50,
834 const unsigned long binsY = 50,
const double weight = 1.0 )
const;
912 AIDA::IHistogram2D* plot2D(
const double valueX,
const double valueY,
const HistoID& ID,
const std::string& title,
913 const double lowX,
const double highX,
const double lowY,
const double highY,
914 const unsigned long binsX = 50,
const unsigned long binsY = 50,
915 const double weight = 1.0 )
const;
965 AIDA::IHistogram2D* plot2D(
const double valueX,
const double valueY,
const std::string& title,
966 const HistoBinEdges& edgesX,
const HistoBinEdges& edgesY,
967 const double weight = 1.0 )
const;
1044 AIDA::IHistogram2D* plot2D(
const double valueX,
const double valueY,
const HistoID& ID,
const std::string& title,
1045 const HistoBinEdges& edgesX,
const HistoBinEdges& edgesY,
1046 const double weight = 1.0 )
const;
1108 AIDA::IHistogram3D* plot3D(
const double valueX,
const double valueY,
const double valueZ,
const std::string& title,
1109 const double lowX,
const double highX,
const double lowY,
const double highY,
1110 const double lowZ,
const double highZ,
const unsigned long binsX = 10,
1111 const unsigned long binsY = 10,
const unsigned long binsZ = 10,
1112 const double weight = 1.0 )
const;
1200 AIDA::IHistogram3D* plot3D(
const double valueX,
const double valueY,
const double valueZ,
const HistoID& ID,
1201 const std::string& title,
const double lowX,
const double highX,
const double lowY,
1202 const double highY,
const double lowZ,
const double highZ,
const unsigned long binsX = 10,
1203 const unsigned long binsY = 10,
const unsigned long binsZ = 10,
1204 const double weight = 1.0 )
const;
1256 AIDA::IHistogram3D* plot3D(
const double valueX,
const double valueY,
const double valueZ,
const std::string& title,
1257 const HistoBinEdges& edgesX,
const HistoBinEdges& edgesY,
const HistoBinEdges& edgesZ,
1258 const double weight = 1.0 )
const;
1345 AIDA::IHistogram3D* plot3D(
const double valueX,
const double valueY,
const double valueZ,
const HistoID& ID,
1346 const std::string& title,
const HistoBinEdges& edgesX,
const HistoBinEdges& edgesY,
1347 const HistoBinEdges& edgesZ,
const double weight = 1.0 )
const;
1400 AIDA::IProfile1D* profile1D(
const double valueX,
const double valueY,
const std::string& title,
const double lowX,
1401 const double highX,
const unsigned long binsX = 100,
const std::string& opt =
"",
1404 const double weight = 1.0 )
const;
1471 AIDA::IProfile1D* profile1D(
const double valueX,
const double valueY,
const HistoID& ID,
const std::string& title,
1472 const double lowX,
const double highX,
const unsigned long binsX = 100,
1475 const double weight = 1.0 )
const;
1522 AIDA::IProfile1D* profile1D(
const double valueX,
const double valueY,
const std::string& title,
1523 const HistoBinEdges& edges,
const double weight = 1.0 )
const;
1586 AIDA::IProfile1D* profile1D(
const double valueX,
const double valueY,
const HistoID& ID,
const std::string& title,
1587 const HistoBinEdges& edges,
const double weight = 1.0 )
const;
1641 AIDA::IProfile2D* profile2D(
const double valueX,
const double valueY,
const double valueZ,
const std::string& title,
1642 const double lowX,
const double highX,
const double lowY,
const double highY,
1643 const unsigned long binsX = 50,
const unsigned long binsY = 50,
1644 const double weight = 1.0 )
const;
1713 AIDA::IProfile2D* profile2D(
const double valueX,
const double valueY,
const double valueZ,
const HistoID& ID,
1714 const std::string& title,
const double lowX,
const double highX,
const double lowY,
1715 const double highY,
const unsigned long binsX = 50,
const unsigned long binsY = 50,
1716 const double weight = 1.0 )
const;
1766 AIDA::IProfile2D* profile2D(
const double valueX,
const double valueY,
const double valueZ,
const std::string& title,
1767 const HistoBinEdges& edgesX,
const HistoBinEdges& edgesY,
1768 const double weight = 1.0 )
const;
1832 AIDA::IProfile2D* profile2D(
const double valueX,
const double valueY,
const double valueZ,
const HistoID& ID,
1833 const std::string& title,
const HistoBinEdges& edgesX,
const HistoBinEdges& edgesY,
1834 const double weight = 1.0 )
const;
1850 AIDA::IHistogram1D* book1D(
const std::string& title,
const double low = 0,
const double high = 100,
1851 const unsigned long bins = 100 )
const;
1865 inline AIDA::IHistogram1D*
book(
const std::string& title,
const double low = 0,
const double high = 100,
1866 const unsigned long bins = 100 )
const 1868 return book1D( title, low, high, bins );
1891 AIDA::IHistogram1D* book1D(
const HistoID& ID,
const std::string& title,
const double low = 0,
1892 const double high = 100,
const unsigned long bins = 100 )
const;
1907 inline AIDA::IHistogram1D*
book(
const HistoID& ID,
const std::string& title,
const double low = 0,
1908 const double high = 100,
const unsigned long bins = 100 )
const 1910 return book1D( ID, title, low, high, bins );
1935 AIDA::IHistogram1D* book1D(
const std::string& title,
const HistoBinEdges& edges )
const;
1946 AIDA::IHistogram1D* book1D(
const HistoID& ID,
const std::string& title,
const HistoBinEdges& edges )
const;
1965 AIDA::IHistogram2D* book2D(
const std::string& title,
const double lowX = 0,
const double highX = 100,
1966 const unsigned long binsX = 50,
const double lowY = 0,
const double highY = 100,
1967 const unsigned long binsY = 50 )
const;
1979 AIDA::IHistogram2D* book2D(
const HistoID& ID,
const std::string& title,
const double lowX = 0,
1980 const double highX = 100,
const unsigned long binsX = 50,
const double lowY = 0,
1981 const double highY = 100,
const unsigned long binsY = 50 )
const;
1997 AIDA::IHistogram2D* book2D(
const std::string& title,
const HistoBinEdges& edgesX,
1998 const HistoBinEdges& edgesY )
const;
2010 AIDA::IHistogram2D* book2D(
const HistoID& ID,
const std::string& title,
const HistoBinEdges& edgesX,
2011 const HistoBinEdges& edgesY )
const;
2033 AIDA::IHistogram3D* book3D(
const std::string& title,
const double lowX = 0,
const double highX = 100,
2034 const unsigned long binsX = 10,
const double lowY = 0,
const double highY = 100,
2035 const unsigned long binsY = 10,
const double lowZ = 0,
const double highZ = 100,
2036 const unsigned long binsZ = 10 )
const;
2054 AIDA::IHistogram3D* book3D(
const HistoID& ID,
const std::string& title,
const double lowX = 0,
2055 const double highX = 100,
const unsigned long binsX = 10,
const double lowY = 0,
2056 const double highY = 100,
const unsigned long binsY = 10,
const double lowZ = 0,
2057 const double highZ = 100,
const unsigned long binsZ = 10 )
const;
2074 AIDA::IHistogram3D* book3D(
const std::string& title,
const HistoBinEdges& edgesX,
const HistoBinEdges& edgesY,
2075 const HistoBinEdges& edgesZ )
const;
2088 AIDA::IHistogram3D* book3D(
const HistoID& ID,
const std::string& title,
const HistoBinEdges& edgesX,
2089 const HistoBinEdges& edgesY,
const HistoBinEdges& edgesZ )
const;
2108 AIDA::IProfile1D* bookProfile1D(
const std::string& title,
const double low = 0,
const double high = 100,
2109 const unsigned long bins = 100,
const std::string& opt =
"",
2128 AIDA::IProfile1D* bookProfile1D(
const HistoID& ID,
const std::string& title,
const double low = 0,
2129 const double high = 100,
const unsigned long bins = 100,
const std::string& opt =
"",
2145 AIDA::IProfile1D* bookProfile1D(
const std::string& title,
const HistoBinEdges& edges )
const;
2156 AIDA::IProfile1D* bookProfile1D(
const HistoID& ID,
const std::string& title,
const HistoBinEdges& edges )
const;
2175 AIDA::IProfile2D* bookProfile2D(
const std::string& title,
const double lowX = 0,
const double highX = 100,
2176 const unsigned long binsX = 50,
const double lowY = 0,
const double highY = 100,
2177 const unsigned long binsY = 50 )
const;
2192 AIDA::IProfile2D* bookProfile2D(
const HistoID& ID,
const std::string& title,
const double lowX = 0,
2193 const double highX = 100,
const unsigned long binsX = 50,
const double lowY = 0,
2194 const double highY = 100,
const unsigned long binsY = 50 )
const;
2209 AIDA::IProfile2D* bookProfile2D(
const std::string& title,
const HistoBinEdges& edgesX,
2210 const HistoBinEdges& edgesY )
const;
2221 AIDA::IProfile2D* bookProfile2D(
const HistoID& ID,
const std::string& title,
const HistoBinEdges& edgesX,
2222 const HistoBinEdges& edgesY )
const;
2234 AIDA::IHistogram1D*
fill( AIDA::IHistogram1D* histo,
const double value,
const double weight,
2245 AIDA::IHistogram2D*
fill( AIDA::IHistogram2D* histo,
const double valueX,
const double valueY,
const double weight,
2257 AIDA::IHistogram3D*
fill( AIDA::IHistogram3D* histo,
const double valueX,
const double valueY,
const double valueZ,
2258 const double weight,
const std::string& title =
"" )
const;
2268 AIDA::IProfile1D*
fill( AIDA::IProfile1D* histo,
const double valueX,
const double valueY,
const double weight,
2280 AIDA::IProfile2D*
fill( AIDA::IProfile2D* histo,
const double valueX,
const double valueY,
const double valueZ,
2281 const double weight,
const std::string& title =
"" )
const;
2290 auto found = histo1DMapTitle().find( title );
2291 return found != histo1DMapTitle().end() ? found->second :
nullptr;
2301 inline AIDA::IHistogram1D*
histo(
const std::string& title )
const {
return histo1D( title ); }
2308 auto found = histo2DMapTitle().find( title );
2309 return histo2DMapTitle().end() != found ? found->second :
nullptr;
2317 auto found = histo3DMapTitle().find( title );
2318 return histo3DMapTitle().end() != found ? found->second :
nullptr;
2326 auto found = profile1DMapTitle().find( title );
2327 return profile1DMapTitle().end() != found ? found->second :
nullptr;
2335 auto found = profile2DMapTitle().find( title );
2336 return profile2DMapTitle().end() != found ? found->second :
nullptr;
2344 AIDA::IHistogram1D* histo1D(
const HistoID& ID )
const;
2353 inline AIDA::IHistogram1D*
histo(
const HistoID& ID )
const {
return histo1D( ID ); }
2358 AIDA::IHistogram2D* histo2D(
const HistoID& ID )
const;
2363 AIDA::IHistogram3D* histo3D(
const HistoID& ID )
const;
2368 AIDA::IProfile1D* profile1D(
const HistoID& ID )
const;
2373 AIDA::IProfile2D* profile2D(
const HistoID& ID )
const;
2380 return ( 0 != histo( title ) || 0 != histo2D( title ) || 0 != histo3D( title ) || 0 != profile1D( title ) ||
2381 0 != profile2D( title ) );
2387 return ( 0 != histo( ID ) || 0 != histo2D( ID ) || 0 != histo3D( ID ) || 0 != profile1D( ID ) ||
2388 0 != profile2D( ID ) );
2391 unsigned int totalNumberOfHistos()
const;
2700 template <typename U = PBASE, typename = std::enable_if_t<std::is_base_of<GaudiAlgorithm, PBASE>::value, U>>
2703 initGaudiHistosConstructor();
2708 template <typename U = PBASE, typename = std::enable_if_t<std::is_base_of<GaudiTool, PBASE>::value, U>>
2710 : PBASE( type, name, parent )
2712 initGaudiHistosConstructor();
2723 return i_ghInitialize();
2735 return i_ghFinalize();
2744 bool noHistos()
const;
2747 void initGaudiHistosConstructor();
2754 void monitorHisto(
const AIDA::IBaseHistogram* hist,
const HistoID& ID )
const;
2760 void newHistoID(
const std::string& title, HistoID& ID )
const;
2775 "Switch on/off the printout of histograms at finalization"};
2777 "Switch on/off the printout of histogram counters at finalization"};
2779 "Switch on/off the checks for NaN and Infinity for histogram fill"};
2781 "Split long directory names into short pieces (suitable for HBOOK)"};
2783 this,
"HistoOffSet", 0,
"OffSet for automatically assigned histogram numerical identifiers "};
2785 "Top level histogram directory (take care that it ends with '/')"};
2787 this,
"HistoDir", boost::algorithm::replace_all_copy( this->
name(),
":",
"_" ),
"Histogram Directory"};
2792 "Format string for printout of 1D histograms"};
2794 "Format string for printout of 1D histograms"};
2797 "The table header for printout of 1D histograms "};
2799 this,
"UseSequencialNumericAutoIDs",
false,
2800 "Flag to allow users to switch back to the old style of creating numerical automatic IDs"};
2803 "AutoStringIDPurgeMap",
2805 "Map of strings to search and replace when using the title " 2806 "as the basis of automatically generated literal IDs"};
2837 #endif // GAUDIALG_GAUDIHISTOS_H void setFullDetail(const bool val)
set flag to control output level of histograms
HistoID::NumericID histoOffSet() const
get the value for histogram offset (property "HistoOffSet")
bool fullDetail() const
get flag to control output level of histograms
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
GaudiAlg::Histo3DMapID Histo3DMapID
the actual type for (ID)->(3D histogram) mapping
GaudiAlg::Histo1DMapTitle Histo1DMapTitle
the actual type for title->(1D histogram) mapping
AIDA::IHistogram2D * histo2D(const std::string &title) const
access the EXISTING 2D histogram by title return the pointer to existing 2D histogram or NULL ...
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
AIDA::IProfile2D * profile2D(const std::string &title) const
access the EXISTING 2D profile histogram by title return the pointer to existing 2D profile histogram...
GAUDI_API AIDA::IHistogram1D * book(IHistogramSvc *svc, const std::string &path, const Gaudi::Histo1DDef &hist)
helper function to book 1D-histogram
Profile1DMapID m_profile1DMapID
the actual storage/access of 1D profile histograms by unique ID
GaudiAlg::Profile1DMapTitle Profile1DMapTitle
the actual type for title->(1D profile histogram) mapping
Implementation of property with value of concrete type.
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)
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)
GaudiAlg::HistoID HistoID
the actual type for histogram identifier
AIDA::IHistogram1D * histo(const HistoID &ID) const
access the EXISTING 1D histogram by ID
const Profile2DMapID & profile2DMapID() const
get access to the map of 2D profile histograms index via a ID
Header file for class GaudiAlgorithm.
Histo1DMapID m_histo1DMapID
the actual storage/access of 1D histograms by unique ID
int NumericID
type for internal numeric ID
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 ...
Histo3DMapTitle m_histo3DMapTitle
the actual storage/access of 3D histograms by unique title
GAUDI_API void fill(AIDA::IHistogram1D *histo, const double value, const double weight=1.0)
simple function to fill AIDA::IHistogram1D objects
void setHistoOffSet(const HistoID::NumericID val)
set a value for histogram offset (property "HistoOffSet"
const Histo3DMapTitle & histo3DMapTitle() const
get access to the map of all 3D histograms indexed via their title
GaudiAlg::Histo3DMapTitle Histo3DMapTitle
the actual type for title->(3D histogram) mapping
bool histoExists(const HistoID &ID) const
check the existence AND validity of the histogram with given title
GaudiAlg::Profile2DMapID Profile2DMapID
the actual type for (ID)->(2D profile histogram) mapping
GaudiAlg::Profile1DMapID Profile1DMapID
the actual type for (ID)->(1D profile histogram) mapping
bool splitHistoDir() const
get the flag for histogram path split (property "HistoSplitDir")
const Profile2DMapTitle & profile2DMapTitle() const
get access to the map of all 2D profile histograms indexed via their title
GaudiAlg::HistoBinEdges HistoBinEdges
Edges for variable binning.
Histo2DMapTitle m_histo2DMapTitle
the actual storage/access of 2D histograms by unique title
void setProduceHistos(const bool val)
set the flag for histogram production (property "HistoProduce")
AIDA::IProfile1D * profile1D(const std::string &title) const
access the EXISTING 1D profile histogram by title return the pointer to existing 1D profile histogram...
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 w...
const Histo1DMapTitle & histo1DMapTitle() const
get access to the map of all 1D histograms indexed via their title
GaudiAlg::Profile2DMapTitle Profile2DMapTitle
the actual type for title->(2D profile histogram) mapping
void setCheckForNaN(const bool val)
set the flag for NaN checks (property "HistoCheckForNan")
AIDA::IHistogram1D * histo1D(const std::string &title) const
access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL ...
Profile1DMapTitle m_profile1DMapTitle
the actual storage/access of 1D profile histograms by unique title
This class is used for returning status codes from appropriate routines.
Definition of the basic interface.
Simple helper class for description of 1D-histogram The class is targeted to act as the primary "hist...
AIDA::IHistogram1D * plot(const double value, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const
fill the 1D histogram (book on demand)
GaudiHistos(const std::string &type, const std::string &name, const IInterface *parent)
Tool constructor - SFINAE-ed to insure this constructor is only defined if PBASE derives from GaudiTo...
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
const Histo1DMapID & histo1DMapID() const
get access to the map of all 1D histograms index via ID
AIDA::IHistogram1D * histo(const std::string &title) const
access the EXISTING 1D histogram by title
bool useNumericAutoIDs() const
Use old style sequencial numerical automatically assigned IDs ?
GaudiAlg::Histo1DMapID Histo1DMapID
the actual type for (ID)->(1D histogram) mapping
const Profile1DMapTitle & profile1DMapTitle() const
get access to the map of all 1D profile histograms indexed via their title
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
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
Profile2DMapID m_profile2DMapID
the actual storage/access of 2D profile histograms by unique ID
GaudiAlg::Histo2DMapTitle Histo2DMapTitle
the actual type for title->(2D histogram) mapping
void setSplitHistoDir(const bool val)
set the flag for histogram path split (property "HistoSplitDir")
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)
GaudiHistos(const std::string &name, ISvcLocator *pSvcLocator)
Algorithm constructor - the SFINAE constraint below ensures that this is constructor is only defined ...
Histo1DMapTitle m_histo1DMapTitle
the actual storage/access of 1D histograms by unique title
Profile2DMapTitle m_profile2DMapTitle
the actual storage/access of 2D profile histograms by unique title
const Profile1DMapID & profile1DMapID() const
get access to the map of 1D profile histograms index via a ID
bool histoCountersPrint() const
print histogram counters at finalization ?
void setHistoTopDir(const std::string &val)
set top-level histogram directory (property "HistoTopDir")
bool produceHistos() const
get the flag for histogram production (property "HistoProduce")
GaudiAlg::Histo2DMapID Histo2DMapID
the actual type for (ID)->(2D histogram) mapping
Histo3DMapID m_histo3DMapID
the actual storage/access of 3D histograms by unique ID
const std::string & histoDir() const
get histogram directory (property "HistoDir")
Common class providing an architecture-independent hash map.
const std::string & histoTopDir() const
get top-level histogram directory (property "HistoTopDir")
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
const Histo2DMapID & histo2DMapID() const
get access to the map of 2D histograms index via ID
Histo2DMapID m_histo2DMapID
the actual storage/access of 2D histograms by unique ID
void setHistoDir(const std::string &val)
set histogram directory (property "HistoDir")
Templated base class providing common histogramming methods for GaudiAlgorithm and GaudiTool like cla...
bool histoExists(const std::string &title) const
check the existence AND validity of the histogram with given title
const Histo2DMapTitle & histo2DMapTitle() const
get access to the map of all 2D histograms indexed via their title
A DataObject is the base class of any identifiable object on any data store.
ID class for Histogram and Ntuples.
AIDA::IHistogram3D * histo3D(const std::string &title) const
access the EXISTING 3D histogram by title return the pointer to existing 3D histogram or NULL ...
bool histosPrint() const
print histograms at finalization ?
const Histo3DMapID & histo3DMapID() const
get access to the map of all 3D histograms index via a ID
bool checkForNaN() const
get the flag for NaN checks (property "HistoCheckForNan")