![]() |
|
|
Generated: 8 Jan 2009 |
#include <GaudiAlg/GaudiHistos.h>

Definition at line 50 of file GaudiHistos.h.
Public Types | |
| typedef GaudiAlg::HistoID | HistoID |
| the actual type for histogram identifier | |
| typedef GaudiAlg::Histo1DMapNumericID | Histo1DMapNumID |
| the actual type for (Numeric ID)->(1D histogram) mapping | |
| typedef GaudiAlg::Histo1DMapLiteralID | Histo1DMapLitID |
| the actual type for (Literal ID)->(1D histogram) mapping | |
| typedef GaudiAlg::Histo1DMapTitle | Histo1DMapTitle |
| the actual type for title->(1D histogram) mapping | |
| typedef GaudiAlg::Histo2DMapNumericID | Histo2DMapNumID |
| the actual type for (Numeric ID)->(2D histogram) mapping | |
| typedef GaudiAlg::Histo2DMapLiteralID | Histo2DMapLitID |
| the actual type for (Literal ID)->(2D histogram) mapping | |
| typedef GaudiAlg::Histo2DMapTitle | Histo2DMapTitle |
| the actual type for title->(2D histogram) mapping | |
| typedef GaudiAlg::Histo3DMapNumericID | Histo3DMapNumID |
| the actual type for (Numeric ID)->(3D histogram) mapping | |
| typedef GaudiAlg::Histo3DMapLiteralID | Histo3DMapLitID |
| the actual type for (Literal ID)->(3D histogram) mapping | |
| typedef GaudiAlg::Histo3DMapTitle | Histo3DMapTitle |
| the actual type for title->(3D histogram) mapping | |
| typedef GaudiAlg::Profile1DMapNumericID | Profile1DMapNumID |
| the actual type for (Numeric ID)->(1D profile histogram) mapping | |
| typedef GaudiAlg::Profile1DMapLiteralID | Profile1DMapLitID |
| the actual type for (Literal ID)->(1D profile histogram) mapping | |
| typedef GaudiAlg::Profile1DMapTitle | Profile1DMapTitle |
| the actual type for title->(1D profile histogram) mapping | |
| typedef GaudiAlg::Profile2DMapNumericID | Profile2DMapNumID |
| the actual type for (Numeric ID)->(2D profile histogram) mapping | |
| typedef GaudiAlg::Profile2DMapLiteralID | Profile2DMapLitID |
| the actual type for (Literal ID)->(2D profile histogram) mapping | |
| typedef GaudiAlg::Profile2DMapTitle | Profile2DMapTitle |
| the actual type for title->(2D profile histogram) mapping | |
Public Member Functions | |
| 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) | |
| 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) | |
| AIDA::IHistogram1D * | plot (const double value, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const |
| fill the 1D histogram (book on demand) | |
| 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) | |
| 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) | |
| AIDA::IHistogram1D * | plot (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) | |
| template<class FUNCTION, class OBJECT> | |
| AIDA::IHistogram1D * | plot (const FUNCTION &func, OBJECT first, OBJECT last, const std::string &title, const double low, const double high, const unsigned long bins=100) const |
| fill the 1D histogram with information from [first,last) sequence | |
| template<class FUNCTION, class OBJECT> | |
| AIDA::IHistogram1D * | plot (const FUNCTION &func, OBJECT first, OBJECT last, const HistoID &ID, const std::string &title, const double low, const double high, const unsigned long bins=100) const |
| fill the 1D histogram with forced ID and information from [first,last) sequence | |
| template<class FUNCTION, class OBJECT, class WEIGHT> | |
| AIDA::IHistogram1D * | plot (const FUNCTION &func, OBJECT first, OBJECT last, const std::string &title, const double low, const double high, const unsigned long bins, const WEIGHT &weight) const |
| book and fill the 1D histogram with information from [first,last) sequence with given weight | |
| template<class FUNCTION, class OBJECT, class WEIGHT> | |
| AIDA::IHistogram1D * | plot (const FUNCTION &func, OBJECT first, OBJECT last, const HistoID &ID, const std::string &title, const double low, const double high, const unsigned long bins, const WEIGHT &weight) const |
| book and fill the 1D histogram with forced ID and information from [first,last) sequence with given weight | |
| 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) | |
| 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) | |
| 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) | |
| 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) | |
| 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) | |
| 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) | |
| 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) | |
| 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) | |
| 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 | |
| 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 | |
| AIDA::IHistogram1D * | book (const Gaudi::Histo1DDef &hdef) const |
| book the 1D histogram | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| AIDA::IHistogram1D * | book (const HistoID &ID, const Gaudi::Histo1DDef &hdef) const |
| book the 1D histogram with forced ID | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| AIDA::IHistogram1D * | histo1D (const std::string &title) const |
| access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL | |
| AIDA::IHistogram1D * | histo (const std::string &title) const |
| access the EXISTING 1D histogram by title | |
| AIDA::IHistogram2D * | histo2D (const std::string &title) const |
| access the EXISTING 2D histogram by title return the pointer to existing 2D histogram or NULL | |
| AIDA::IHistogram3D * | histo3D (const std::string &title) const |
| access the EXISTING 3D histogram by title return the pointer to existing 3D histogram or NULL | |
| 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 | |
| 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 | |
| AIDA::IHistogram1D * | histo1D (const HistoID &ID) const |
| access the EXISTING 1D histogram by ID return the pointer to existing 1D histogram or NULL | |
| AIDA::IHistogram1D * | histo (const HistoID &ID) const |
| access the EXISTING 1D histogram by ID | |
| AIDA::IHistogram2D * | histo2D (const HistoID &ID) const |
| access the EXISTING 2D histogram by ID return the pointer to existing 2D histogram or NULL | |
| AIDA::IHistogram3D * | histo3D (const HistoID &ID) const |
| access the EXISTING 3D histogram by ID return the pointer to existing 3D histogram or NULL | |
| 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 | |
| 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 | |
| bool | histoExists (const std::string &title) const |
| check the existence AND validity of the histogram with given title | |
| bool | histoExists (const HistoID &ID) const |
| check the existence AND validity of the histogram with given title | |
| unsigned int | totalNumberOfHistos () const |
| Returns the total number of histograms (of all types) currently booked. | |
| bool | produceHistos () const |
| get the flag for histogram production (property "HistoProduce") | |
| bool | fullDetail () const |
| get flag to control output level of histograms | |
| bool | checkForNaN () const |
| get the flag for NaN checks (property "HistoCheckForNan") | |
| bool | splitHistoDir () const |
| get the flag for histogram path split (property "HistoSplitDir") | |
| HistoID::NumericID | histoOffSet () const |
| get the value for histogram offset (property "HistoOffSet") | |
| const std::string & | histoTopDir () const |
| get top-level histogram directory (property "HistoTopDir") | |
| const std::string & | histoDir () const |
| get histogram directory (property "HistoDir") | |
| std::string | histoPath () const |
| get the constructed histogram path | |
| bool | histosPrint () const |
| print histograms at finalization ? | |
| bool | useNumericAutoIDs () const |
| Use old style sequencial numerical automatically assigned IDs ? | |
| int | printHistos (const MSG::Level level=MSG::ALWAYS) const |
| perform the actual printout of histograms | |
| const Histo1DMapTitle & | histo1DMapTitle () const |
| get access to the map of all 1D histograms indexed via their title | |
| const Histo1DMapNumID & | histo1DMapNumID () const |
| get access to the map of 1D histograms index via a numeric ID | |
| const Histo1DMapLitID & | histo1DMapLitID () const |
| get access to the map of all 1D histograms index via a literal (string) ID | |
| const Histo2DMapTitle & | histo2DMapTitle () const |
| get access to the map of all 2D histograms indexed via their title | |
| const Histo2DMapNumID & | histo2DMapNumID () const |
| get access to the map of 2D histograms index via a numeric ID | |
| const Histo2DMapLitID & | histo2DMapLitID () const |
| get access to the map of all 2D histograms index via a literal (string) ID | |
| const Histo3DMapTitle & | histo3DMapTitle () const |
| get access to the map of all 3D histograms indexed via their title | |
| const Histo3DMapNumID & | histo3DMapNumID () const |
| get access to the map of 3D histograms index via a numeric ID | |
| const Histo3DMapLitID & | histo3DMapLitID () const |
| get access to the map of all 3D histograms index via a literal (string) ID | |
| const Profile1DMapTitle & | profile1DMapTitle () const |
| get access to the map of all 1D profile histograms indexed via their title | |
| const Profile1DMapNumID & | profile1DMapNumID () const |
| get access to the map of 1D profile histograms index via a numeric ID | |
| const Profile1DMapLitID & | profile1DMapLitID () const |
| get access to the map of 1D profile histograms index via a literal ID | |
| const Profile2DMapTitle & | profile2DMapTitle () const |
| get access to the map of all 2D profile histograms indexed via their title | |
| const Profile2DMapNumID & | profile2DMapNumID () const |
| get access to the map of 2D profile histograms index via a numeric ID | |
| const Profile2DMapLitID & | profile2DMapLitID () const |
| get access to the map of 2D profile histograms index via a literal ID | |
| void | setProduceHistos (const bool val) |
| set the flag for histogram production (property "HistoProduce") | |
| void | setFullDetail (const bool val) |
| set flag to control output level of histograms | |
| void | setCheckForNaN (const bool val) |
| set the flag for NaN checks (property "HistoCheckForNan") | |
| void | setSplitHistoDir (const bool val) |
| set the flag for histogram path split (property "HistoSplitDir") | |
| void | setHistoOffSet (const HistoID::NumericID val) |
| set a value for histogram offset (property "HistoOffSet" | |
| void | setHistoTopDir (const std::string &val) |
| set top-level histogram directory (property "HistoTopDir") | |
| void | setHistoDir (const std::string &val) |
| set histogram directory (property "HistoDir") | |
| GaudiHistos (const std::string &name, ISvcLocator *pSvcLocator) | |
| Algorithm constructor. | |
| GaudiHistos (const std::string &type, const std::string &name, const IInterface *parent) | |
| Tool constructor. | |
| virtual | ~GaudiHistos () |
| Destructor. | |
Protected Member Functions | |
| virtual StatusCode | initialize () |
| standard initialization method | |
| virtual StatusCode | finalize () |
| standard finalization method | |
| std::string | convertTitleToID (const std::string &title) const |
| Create an ID string from a title string. | |
Private Member Functions | |
| bool | noHistos () const |
| Check if all histogram maps are empty. | |
| void | initGaudiHistosConstructor () |
| Constructor initialisation and job options. | |
| void | monitorHisto (const AIDA::IBaseHistogram *hist, const HistoID &ID) const |
| Declare a histogram to the monitor service. | |
| void | newHistoID (const std::string &title, HistoID &ID) const |
| Create a new histogram ID using the given title. | |
| void | stringSearchReplace (std::string &title, const std::string &A, const std::string &B) const |
| Searches 'title' for all instancies of 'A' and replaces them with 'B'. | |
Private Attributes | |
| bool | m_produceHistos |
| flag to SWITCH ON/SWITCH OFF the histogrm fillling and booking | |
| bool | m_fullDetail |
| flag to control output level of histograms | |
| bool | m_checkForNaN |
| flag to control check for Nan/Finite while filling the histogram | |
| bool | m_splitHistoDir |
| split histogram directory name (very useful for Hbook) | |
| HistoID::NumericID | m_histoOffSet |
| general histogram ID offset (only works for automatically assigned numeric IDs) | |
| std::string | m_histoTopDir |
| histogram top level directory | |
| std::string | m_histoDir |
| histogram directory | |
| bool | m_histosPrint |
| print histograms at finalization | |
| bool | m_declareMoniHists |
| Flag to turn on/off the registration of histograms to the Monitoring Service. | |
| Histo1DMapTitle | m_histo1DMapTitle |
| the actual storage/access of 1D histograms by unique title | |
| Histo1DMapNumID | m_histo1DMapNumID |
| the actual storage/access of 1D histograms by unique numeric ID | |
| Histo1DMapLitID | m_histo1DMapLitID |
| the actual storage/access of 1D histograms by unique literal ID | |
| Histo2DMapTitle | m_histo2DMapTitle |
| the actual storage/access of 2D histograms by unique title | |
| Histo2DMapNumID | m_histo2DMapNumID |
| the actual storage/access of 2D histograms by unique numeric ID | |
| Histo2DMapLitID | m_histo2DMapLitID |
| the actual storage/access of 2D histograms by unique literal ID | |
| Histo3DMapTitle | m_histo3DMapTitle |
| the actual storage/access of 3D histograms by unique title | |
| Histo3DMapNumID | m_histo3DMapNumID |
| the actual storage/access of 3D histograms by unique numeric ID | |
| Histo3DMapLitID | m_histo3DMapLitID |
| the actual storage/access of 3D histograms by unique literal ID | |
| Profile1DMapTitle | m_profile1DMapTitle |
| the actual storage/access of 1D profile histograms by unique title | |
| Profile1DMapNumID | m_profile1DMapNumID |
| the actual storage/access of 1D profile histograms by unique numeric ID | |
| Profile1DMapLitID | m_profile1DMapLitID |
| the actual storage/access of 1D profile histograms by unique literal ID | |
| Profile2DMapTitle | m_profile2DMapTitle |
| the actual storage/access of 2D profile histograms by unique title | |
| Profile2DMapNumID | m_profile2DMapNumID |
| the actual storage/access of 2D profile histograms by unique numeric ID | |
| Profile2DMapLitID | m_profile2DMapLitID |
| the actual storage/access of 2D profile histograms by unique literal ID | |
| std::string | m_histo1DTableFormat |
| format for printout of 1D-histograms as a table | |
| std::string | m_histo1DTableFormatShort |
| format for printout of 1D-histograms as a table | |
| std::string | m_histo1DTableHeader |
| the header for the table of 1-D historgrams | |
| bool | m_useNumericAutoIDs |
| Flag to switch back to the old style sequencial numerical automatic IDs. | |
| std::map< std::string, std::string > | m_idReplaceInfo |
| Map of strings to search and replace when using the title as the basis of automatically generated literal IDs. | |
| typedef GaudiAlg::HistoID GaudiHistos< PBASE >::HistoID |
the actual type for histogram identifier
Reimplemented in HistoTool, GaudiTuples< GaudiHistoTool >, and GaudiTuples< GaudiHistoAlg >.
Definition at line 55 of file GaudiHistos.h.
| typedef GaudiAlg::Histo1DMapNumericID GaudiHistos< PBASE >::Histo1DMapNumID |
the actual type for (Numeric ID)->(1D histogram) mapping
Definition at line 58 of file GaudiHistos.h.
| typedef GaudiAlg::Histo1DMapLiteralID GaudiHistos< PBASE >::Histo1DMapLitID |
the actual type for (Literal ID)->(1D histogram) mapping
Definition at line 60 of file GaudiHistos.h.
| typedef GaudiAlg::Histo1DMapTitle GaudiHistos< PBASE >::Histo1DMapTitle |
| typedef GaudiAlg::Histo2DMapNumericID GaudiHistos< PBASE >::Histo2DMapNumID |
the actual type for (Numeric ID)->(2D histogram) mapping
Definition at line 65 of file GaudiHistos.h.
| typedef GaudiAlg::Histo2DMapLiteralID GaudiHistos< PBASE >::Histo2DMapLitID |
the actual type for (Literal ID)->(2D histogram) mapping
Definition at line 67 of file GaudiHistos.h.
| typedef GaudiAlg::Histo2DMapTitle GaudiHistos< PBASE >::Histo2DMapTitle |
| typedef GaudiAlg::Histo3DMapNumericID GaudiHistos< PBASE >::Histo3DMapNumID |
the actual type for (Numeric ID)->(3D histogram) mapping
Definition at line 72 of file GaudiHistos.h.
| typedef GaudiAlg::Histo3DMapLiteralID GaudiHistos< PBASE >::Histo3DMapLitID |
the actual type for (Literal ID)->(3D histogram) mapping
Definition at line 74 of file GaudiHistos.h.
| typedef GaudiAlg::Histo3DMapTitle GaudiHistos< PBASE >::Histo3DMapTitle |
| typedef GaudiAlg::Profile1DMapNumericID GaudiHistos< PBASE >::Profile1DMapNumID |
the actual type for (Numeric ID)->(1D profile histogram) mapping
Definition at line 79 of file GaudiHistos.h.
| typedef GaudiAlg::Profile1DMapLiteralID GaudiHistos< PBASE >::Profile1DMapLitID |
the actual type for (Literal ID)->(1D profile histogram) mapping
Definition at line 81 of file GaudiHistos.h.
| typedef GaudiAlg::Profile1DMapTitle GaudiHistos< PBASE >::Profile1DMapTitle |
the actual type for title->(1D profile histogram) mapping
Definition at line 83 of file GaudiHistos.h.
| typedef GaudiAlg::Profile2DMapNumericID GaudiHistos< PBASE >::Profile2DMapNumID |
the actual type for (Numeric ID)->(2D profile histogram) mapping
Definition at line 86 of file GaudiHistos.h.
| typedef GaudiAlg::Profile2DMapLiteralID GaudiHistos< PBASE >::Profile2DMapLitID |
the actual type for (Literal ID)->(2D profile histogram) mapping
Definition at line 88 of file GaudiHistos.h.
| typedef GaudiAlg::Profile2DMapTitle GaudiHistos< PBASE >::Profile2DMapTitle |
the actual type for title->(2D profile histogram) mapping
Definition at line 90 of file GaudiHistos.h.
| GaudiHistos< PBASE >::GaudiHistos | ( | const std::string & | name, | |
| ISvcLocator * | pSvcLocator | |||
| ) |
Algorithm constructor.
| GaudiHistos< PBASE >::GaudiHistos | ( | const std::string & | type, | |
| const std::string & | name, | |||
| const IInterface * | parent | |||
| ) |
Tool constructor.
| GaudiHistos< PBASE >::~GaudiHistos | ( | ) | [inline, virtual] |
| AIDA::IHistogram1D * GaudiHistos< PBASE >::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 [inline] |
fill the 1D histogram (book on demand)
const double mass = ... ; plot1D( mass , "Invariant Mass" , 2.5 , 3.5 , 100 )
This example illustrates the filling of the histogram titled "InvariantMass" with value mass .
If the histogram with given title does not exist yet it will be automatically booked with parameters low equal to 2.5, parameters high equal to 3.5 and bins equal to 100.
| value | value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 1173 of file GaudiHistos.icpp.
01179 { 01180 AIDA::IHistogram1D * h(0); 01181 if ( produceHistos() ) 01182 { 01183 // retrieve or book the histogram 01184 h = histo1D ( title ) ; 01185 if ( 0 == h ) { h = book1D ( title , low , high , bins ) ; } 01186 // fill the histogram 01187 h = fill ( h , value , weight , title ); 01188 } 01189 return h; 01190 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::plot | ( | const double | value, | |
| const std::string & | title, | |||
| const double | low, | |||
| const double | high, | |||
| const unsigned long | bins = 100, |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D histogram (book on demand)
Wrapper method for the equivalent plot1D method. Retained for backwards compatibility, please use plot1D instead.
| value | value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| weight | weight |
Definition at line 160 of file GaudiHistos.h.
00166 { 00167 return plot1D ( value, title, low, high, bins, weight ); 00168 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::plot | ( | const double | value, | |
| const Gaudi::Histo1DDef & | hdef, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D histogram (book on demand)
const Gaudi::Histo1DDef& hdef = ... ;
const double mass = ... ;
plot ( mass , hdef ) ;
The histogram will get a unique identifier automatically assigned which by default will be equal to the histogram title.
The histogram descriptor comes e.g. from the component properties.
| value | value to be filled | |
| hdef | histogram descriptor | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| weight | weight |
Definition at line 1496 of file GaudiHistos.icpp.
01499 { 01500 return plot1D 01501 ( value , 01502 hdef.title() , hdef.lowEdge() , hdef.highEdge() , hdef.bins() , 01503 weight ) ; 01504 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::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 [inline] |
fill the 1D histogram with forced ID assignment (book on demand)
const double mass = ... ; plot1D( mass , 15 , "Invariant Mass" , 2.5 , 3.5 , 100 )
This example illustrates the filling of the 1D histogram ID=15 titled "Invariant Mass" with value mass .
If the histogram with given ID does not exist yet it will be automatically booked with parameters low equal to 2.5, parameters high equal to 3.5 and bins equal to 100.
It is also possible to use literal IDs. For example :-
const double mass = ... ; plot1D( mass , "mass" , "Invariant Mass" , 2.5 , 3.5 , 100 )
Will book the same histogram, using the id "mass".
It is also possible using literal IDs, to place histograms in sub-directories from the main histogram directory, using for example :-
const double mass = ... ; plot1D( mass , "subdir/mass" , "Invariant Mass" , 2.5 , 3.5 , 100 )
Which will create the histogram "mass" in the sub-directory "subdir". Histograms can also be created in sub-directories with numeric IDs if IDs such as "subdir/1" are used.
| value | value to be filled | |
| ID | histogram identifier | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 1197 of file GaudiHistos.icpp.
01204 { 01205 AIDA::IHistogram1D* h(0); 01206 if ( produceHistos() ) 01207 { 01208 // retrieve or book the histogram 01209 h = histo1D ( ID ) ; 01210 if ( 0 == h ) { h = book1D ( ID , title , low , high , bins ) ; } 01211 // fill 01212 h = fill ( h , value , weight , title ) ; 01213 } 01214 return h; 01215 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::plot | ( | const double | value, | |
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const double | low, | |||
| const double | high, | |||
| const unsigned long | bins = 100, |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D histogram with forced ID assignment (book on demand)
Wrapper method for the equivalent plot1D method. Retained for backwards compatibility, please use plot1D instead.
| value | value to be filled | |
| ID | histogram identifier | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| weight | weight |
Definition at line 291 of file GaudiHistos.h.
| AIDA::IHistogram1D * GaudiHistos< PBASE >::plot | ( | const double | value, | |
| const HistoID & | ID, | |||
| const Gaudi::Histo1DDef & | hdef, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D histogram with forced ID assignment (book on demand)
// get the histogram descriptor const Gaudi::Histo1DDef& hdef = ... ; // get the histogram ID const HistoID ID = ... ; const double mass = ... ; plot ( mass , ID , hdef )
| value | value to be filled | |
| ID | histogram identifier | |
| hdef | histogram descriptor |
Definition at line 1511 of file GaudiHistos.icpp.
01515 { 01516 return plot1D 01517 ( value , ID , 01518 hdef.title() , hdef.lowEdge() , hdef.highEdge() , hdef.bins() , 01519 weight ) ; 01520 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::plot | ( | const FUNCTION & | func, | |
| OBJECT | first, | |||
| OBJECT | last, | |||
| const std::string & | title, | |||
| const double | low, | |||
| const double | high, | |||
| const unsigned long | bins = 100 | |||
| ) | const [inline] |
fill the 1D histogram with information from [first,last) sequence
std::vector<double> v = ... ; plot( sin , // function v.begin() , v.end() , // sequence " bla-bla " , // title -1. , 1.0 , // low and high limits 100 ) // number of bins
Particles* p = ... ; plot( PT , // function p->begin() , p->end() , // sequence " bla-bla " , // title -1. , 1.0 , // low and high limits 100 ) ; // number of bins
PT can be any function or function object for which the expression PT(p) , with p of type Particle* have some sense and can be evaluated to the values, which is convertible to double
| func | function to be plotted | |
| first | begin of the sequence | |
| last | end of the sequence | |
| title | histogram title | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins for histogram |
Definition at line 397 of file GaudiHistos.h.
00404 { 00405 AIDA::IHistogram1D* h(0); 00406 if ( produceHistos() ) 00407 { 00408 // retrieve or book the histogram 00409 h = histo1D ( title ) ; 00410 if ( 0 == h ) { h = book1D ( title , low , high , bins ); } 00411 // fill histogram 00412 while( first != last && 0 != h ) 00413 { h = fill ( h , func( *first ) , 1.0 , title ) ; ++first ; } 00414 } 00415 return h ; 00416 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::plot | ( | const FUNCTION & | func, | |
| OBJECT | first, | |||
| OBJECT | last, | |||
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const double | low, | |||
| const double | high, | |||
| const unsigned long | bins = 100 | |||
| ) | const [inline] |
fill the 1D histogram with forced ID and information from [first,last) sequence
std::vector<double> v = ... ; // Example with numeric ID plot( sin , // function v.begin() , v.end() , // sequence 100 , " bla-bla " , // ID and title -1. , 1.0 , // low and high limits 100 ); // number of bins // Example with literal ID plot( sin , // function v.begin() , v.end() , // sequence "sin" , " bla-bla " , // ID and title -1. , 1.0 , // low and high limits 100 ); // number of bins
Sequence, objects and function can be non-trivial:
Particles* p = ... ; plot( PT , // function p->begin() , p->end() , // sequence 100 , " bla-bla " , // ID and title -1. , 1.0 , // low and high limits 100 ) ; // number of bins
| func | function to be plotted | |
| first | begin of the sequence | |
| last | end of the sequence | |
| ID | histogram identifier | |
| title | histogram title | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins for histogram |
Definition at line 475 of file GaudiHistos.h.
00483 { 00484 AIDA::IHistogram1D* h(0); 00485 if ( produceHistos() ) 00486 { 00487 // retrieve or book the histogram 00488 h = histo1D ( ID ) ; 00489 if ( 0 == h ) { h = book1D ( ID , title , low , high , bins ); } 00490 // fill histogram 00491 while( first != last && 0 != h ) 00492 { h = fill( h , func( *first ) , 1.0 , title ) ; ++first ; } 00493 } 00494 return h; 00495 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::plot | ( | const FUNCTION & | func, | |
| OBJECT | first, | |||
| OBJECT | last, | |||
| const std::string & | title, | |||
| const double | low, | |||
| const double | high, | |||
| const unsigned long | bins, | |||
| const WEIGHT & | weight | |||
| ) | const [inline] |
book and fill the 1D histogram with information from [first,last) sequence with given weight
std::vector<double> v = ... ; plot( sin , // function v.begin() , v.end() , // sequence " bla-bla " , // title -1. , 1.0 , // low and high limits 100 , // number of bins tanh ); // weight function
Particles* p = ... ; plot( PT , // function p->begin() , p->end() , // sequence " bla-bla " , // title -1. , 1.0 , // low and high limits 100 , // number of bins MASS ) ; // weight function
PT and MASS can be any function or function object for which the expressions PT(p) and MASS with p of type Particle* have some sense and can be evaluated to the values, which is convertible to double
| first | begin of the sequence | |
| last | end of the sequence | |
| title | histogram title | |
| func | function to be plotted | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins for histogram | |
| weight | weight function |
Definition at line 567 of file GaudiHistos.h.
00575 { 00576 AIDA::IHistogram1D* h(0); 00577 if ( produceHistos() ) 00578 { 00579 // retrieve or book the histogram 00580 h = histo1D ( title ) ; 00581 if ( 0 == h ) { h = book1D ( title , low , high , bins ); } 00582 // fill histogram 00583 while ( first != last && 0 != h ) 00584 { h = fill ( h , 00585 func ( *first ) , 00586 weight ( *first ) , title ) ; ++first ; } 00587 } 00588 return h; 00589 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::plot | ( | const FUNCTION & | func, | |
| OBJECT | first, | |||
| OBJECT | last, | |||
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const double | low, | |||
| const double | high, | |||
| const unsigned long | bins, | |||
| const WEIGHT & | weight | |||
| ) | const [inline] |
book and fill the 1D histogram with forced ID and information from [first,last) sequence with given weight
std::vector<double> v = ... ; // example with numerical ID plot( sin , // function v.begin() , v.end() , // sequence 100 , " bla-bla " , // ID and title -1. , 1.0 , // low and high limits 100 , // number of bins sinh ); // weight function // example with literal ID plot( sin , // function v.begin() , v.end() , // sequence "sin" , " bla-bla " , // ID and title -1. , 1.0 , // low and high limits 100 , // number of bins sinh ); // weight function
Particles* p = ... ; plot( PT , // function p->begin() , p->end() , // sequence 100 , " bla-bla " , // ID and title -1. , 1.0 , // low and high limits 100 , // number of bins MASS ) ; // weight function
PT and MASS can be any function or function object for which the expressions PT(p) and MASS with p of type Particle* have some sense and can be evaluated to the values, which is convertible to double
| first | begin of the sequence | |
| last | end of the sequence | |
| ID | histogram identifier | |
| title | histogram title | |
| func | function to be plotted | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins for histogram | |
| weight | weight function |
Definition at line 659 of file GaudiHistos.h.
00668 { 00669 AIDA::IHistogram1D* h(0); 00670 if ( produceHistos() ) 00671 { 00672 // retrieve or book the histogram 00673 h = histo1D ( ID ) ; 00674 if ( 0 == h ) { h = book1D ( ID , title , low , high , bins ); } 00675 // fill histogram 00676 while( first != last && 0 != h ) 00677 { h = fill ( h , 00678 func ( *first ) , 00679 weight ( *first ) , title ) ; ++first ; } 00680 } 00681 return h ; 00682 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::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 [inline] |
fill the 2D histogram (book on demand)
const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 4.5, 5.5, 100, 200 );
This example illustrates the filling of the 2D histogram titled "Invariant Mass2 versus Mass1" with values mass1 and mass2 .
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, binsX equal to 100 and binsY equal to 200.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 1221 of file GaudiHistos.icpp.
01231 { 01232 AIDA::IHistogram2D * h(0); 01233 if ( produceHistos() ) 01234 { 01235 // retrieve or book the histogram 01236 h = histo2D ( title ) ; 01237 if ( 0 == h ) 01238 { h = book2D ( title , lowX , highX , binsX , lowY , highY , binsY ) ; } 01239 // fill the histogram 01240 h = fill ( h , valueX , valueY , weight , title ) ; 01241 } 01242 return h; 01243 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::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 [inline] |
fill the 2D histogram with forced ID assignment (book on demand)
const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, 15, "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 4.5, 5.5, 100, 200 );
This example illustrates the filling of the 2D histogram ID=15 titled "Invariant Mass2 versus Mass1" with values mass1 and mass2 .
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, binsX equal to 100 and binsY equal to 200.
It is also possible to use literal IDs. For example :-
const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, "mass", "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 4.5, 5.5, 100, 200 );
Will book the same histogram, using the id "mass".
It is also possible using literal IDs, to place histograms in sub-directories from the main histogram directory, using for example :-
const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, "subdir/mass", "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 4.5, 5.5, 100, 200 );
Which will create the histogram "mass" in the sub-directory "subdir". Histograms can also be created in sub-directories with numeric IDs if IDs such as "subdir/1" are used.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| ID | Histogram ID to use | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 1249 of file GaudiHistos.icpp.
01260 { 01261 AIDA::IHistogram2D * h(0); 01262 // produce histograms ? 01263 if ( produceHistos() ) 01264 { 01265 // retrieve or book the histogram 01266 h = histo2D ( ID ) ; 01267 if ( 0 == h ) { h = book2D ( ID , title , 01268 lowX , highX , binsX , 01269 lowY , highY , binsY ) ; } 01270 // fill the histogram 01271 h = fill ( h , valueX , valueY , weight , title ) ; 01272 } 01273 return h; 01274 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::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 [inline] |
fill the 3D histogram (book on demand)
const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, "Space Points" , 2.5 , 3.5 , 4.5 , 5.5 , 6.5 , 7.5 , 10, 20, 30 );
This example illustrates the filling of the 3D histogram titled "Space Points" with values X, Y and Z.
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, lowZ equal to 6.5, highZ equal to 7.5, binsX equal to 10, binsY equal to 20 and binsZ equal to 30.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| valueZ | z value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| lowZ | low z limit for histogram | |
| highZ | high z limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| binsZ | number of bins in z | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 1280 of file GaudiHistos.icpp.
01294 { 01295 AIDA::IHistogram3D * h(0); 01296 if ( produceHistos() ) 01297 { 01298 // retrieve or book the histogram 01299 h = histo3D ( title ) ; 01300 if ( 0 == h ) { h = book3D ( title , 01301 lowX , highX , binsX , 01302 lowY , highY , binsY , 01303 lowZ , highZ , binsZ ) ; } 01304 // fill the histogram 01305 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 01306 } 01307 return h; 01308 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::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 [inline] |
fill the 3D histogram with forced ID assignment (book on demand)
const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, 15 , "Space Points" , 2.5 ,3.5, 4.5, 5.5, 6.5, 7.5, 10, 20, 30 );
This example illustrates the filling of the 3D histogram ID=15 titled "Space Points" with values X, Y and Z.
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, lowZ equal to 6.5, highZ equal to 7.5, binsX equal to 10, binsY equal to 20 and binsZ equal to 30.
It is also possible to use literal IDs. For example :-
const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, "space", "Space Points" , 2.5 ,3.5, 4.5, 5.5, 6.5, 7.5, 10, 20, 30 );
Will book the same histogram, using the id "space".
It is also possible using literal IDs, to place histograms in sub-directories from the main histogram directory, using for example :-
const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, "subdir/space", "Space Points" , 2.5 ,3.5, 4.5, 5.5, 6.5, 7.5, 10, 20, 30 );
Which will create the histogram "space" in the sub-directory "subdir". Histograms can also be created in sub-directories with numeric IDs if IDs such as "subdir/1" are used.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| valueZ | z value to be filled | |
| ID | Histogram ID to use | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| lowZ | low z limit for histogram | |
| highZ | high z limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| binsZ | number of bins in z | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 1314 of file GaudiHistos.icpp.
01329 { 01330 AIDA::IHistogram3D * h(0); 01331 if ( produceHistos() ) 01332 { 01333 // retrieve or book the histogram 01334 h = histo3D ( ID ) ; 01335 if ( 0 == h ) { h = book3D ( ID , title , 01336 lowX , highX , binsX , 01337 lowY , highY , binsY , 01338 lowZ , highZ , binsZ ) ; } 01339 // fill the histogram 01340 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 01341 } 01342 return h; 01343 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::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 [inline] |
fill the 1D profile histogram (book on demand)
const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 100 );
This example illustrates the filling of the 1D profile histogram titled "Invariant Mass2 versus Mass1" with values mass1 and mass2 .
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, binsX equal to 100
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| opt | the options, used for evaluation of errors | |
| lowY | the min cut-off for y-values | |
| highY | the max cut-off for y-values | |
| weight | weight |
Definition at line 1349 of file GaudiHistos.icpp.
01359 { 01360 AIDA::IProfile1D * h(0); 01361 if ( produceHistos() ) 01362 { 01363 // retrieve or book the histogram 01364 h = profile1D ( title ) ; 01365 if ( 0 == h ) 01366 { h = bookProfile1D ( title , lowX , highX , binsX , opt , lowY , highY ) ; } 01367 // fill the histogram 01368 h = fill ( h , valueX , valueY , weight , title ) ; 01369 } 01370 return h; 01371 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::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 [inline] |
fill the 1D profile histogram with forced ID assignment (book on demand)
const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, 15, "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 100 );
This example illustrates the filling of the 1D profile histogram with ID=15 titled "Invariant Mass2 versus Mass1" with values mass1 and mass2 .
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, binsX equal to 100
It is also possible to use literal IDs. For example :-
const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, "mass", "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 100 );
Will book the same histogram, using the id "mass".
It is also possible using literal IDs, to place histograms in sub-directories from the main histogram directory, using for example :-
const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, "subdir/mass", "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 100 );
Which will create the histogram "mass" in the sub-directory "subdir". Histograms can also be created in sub-directories with numeric IDs if IDs such as "subdir/1" are used.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| ID | histogram identifier | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| opt | the options, used for evaluation of errors | |
| lowY | the min cut-off for y-values | |
| highY | the max cut-off for y-values | |
| weight | weight |
Definition at line 1377 of file GaudiHistos.icpp.
01388 { 01389 AIDA::IProfile1D * h(0); 01390 if ( produceHistos() ) 01391 { 01392 // retrieve or book the histogram 01393 h = profile1D ( ID ) ; 01394 if ( 0 == h ) 01395 { h = bookProfile1D ( ID , title , lowX , highX , binsX , opt , lowY , highY ) ; } 01396 // fill the histogram 01397 h = fill ( h , valueX , valueY , weight , title ) ; 01398 } 01399 return h; 01400 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::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 [inline] |
fill the 2D profile histogram (book on demand)
const double X = ... ; const double Y = ... ; const double Z = ... ; profile2D( X, Y, Z, "Space Points" ,2.5 ,3.5, 4.5, 5.5, 10, 20 );
This example illustrates the filling of the 2D profile histogram titled "Space Points" with values X, Y and Z.
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, binsX equal to 10, binsY equal to 20.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| valueZ | z value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| weight | weight |
Definition at line 1406 of file GaudiHistos.icpp.
01417 { 01418 AIDA::IProfile2D * h(0); 01419 if ( produceHistos() ) 01420 { 01421 // retrieve or book the histogram 01422 h = profile2D ( title ) ; 01423 if ( 0 == h ) { h = bookProfile2D ( title , 01424 lowX , highX , binsX , 01425 lowY , highY , binsY ) ; } 01426 // fill the histogram 01427 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 01428 } 01429 return h; 01430 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::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 [inline] |
fill the 2D profile histogram with forced ID assignment (book on demand)
const double X = ... ; const double Y = ... ; const double Z = ... ; profile2D( X, Y, Z, 15, "Space Points" ,2.5 ,3.5, 4.5, 5.5, 10, 20 );
This example illustrates the filling of the 2D profile histogram with ID=15 titled "Space Points" with values X, Y and Z.
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, binsX equal to 10, binsY equal to 20.
It is also possible to use literal IDs. For example :-
const double X = ... ; const double Y = ... ; const double Z = ... ; profile2D( X, Y, Z, "space", "Space Points" ,2.5 ,3.5, 4.5, 5.5, 10, 20 );
Will book the same histogram, using the id "space".
It is also possible using literal IDs, to place histograms in sub-directories from the main histogram directory, using for example :-
const double X = ... ; const double Y = ... ; const double Z = ... ; profile2D( X, Y, Z, "subdir/space", "Space Points" ,2.5 ,3.5, 4.5, 5.5, 10, 20 );
Which will create the histogram "space" in the sub-directory "subdir". Histograms can also be created in sub-directories with numeric IDs if IDs such as "subdir/1" are used.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| valueZ | z value to be filled | |
| ID | histogram identifier | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| weight | weight |
Definition at line 1436 of file GaudiHistos.icpp.
01448 { 01449 AIDA::IProfile2D * h(0); 01450 if ( produceHistos() ) 01451 { 01452 // retrieve or book the histogram 01453 h = profile2D ( ID ) ; 01454 if ( 0 == h ) { h = bookProfile2D ( ID , title , 01455 lowX , highX , binsX , 01456 lowY , highY , binsY ) ; } 01457 // fill the histogram 01458 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 01459 } 01460 return h; 01461 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book1D | ( | const std::string & | title, | |
| const double | low = 0, |
|||
| const double | high = 100, |
|||
| const unsigned long | bins = 100 | |||
| ) | const [inline] |
book the 1D histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins |
Reimplemented in HistoTool.
Definition at line 465 of file GaudiHistos.icpp.
00469 { 00470 // exist? 00471 AIDA::IHistogram1D* hist = histo1D ( title ) ; 00472 // histogram is already booked 00473 if( 0 != hist ) { return hist ; } // RETURN !! 00474 00475 // propose the histogram ID 00476 HistoID ID; 00477 newHistoID( title, ID ); 00478 00479 // Create a new histogram and return 00480 return this -> book1D ( ID, title, low, high, bins ); 00481 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::book | ( | const std::string & | title, | |
| const double | low = 0, |
|||
| const double | high = 100, |
|||
| const unsigned long | bins = 100 | |||
| ) | const [inline] |
book the 1D histogram
Wrapper method for the equivalent book1D method. Retained for backwards compatibility, please use book1D instead.
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins |
Definition at line 1334 of file GaudiHistos.h.
01338 { 01339 return book1D( title, low, high, bins ); 01340 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book | ( | const Gaudi::Histo1DDef & | hdef | ) | const [inline] |
book the 1D histogram
The histogram will be assigned a unique identifier
| hdef | histogram description/definition |
Definition at line 1468 of file GaudiHistos.icpp.
01469 { 01470 return book1D ( hdef.title () , 01471 hdef.lowEdge () , 01472 hdef.highEdge () , 01473 hdef.bins () ) ; 01474 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::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 [inline] |
book the 2D histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsY | number of bins in y |
Reimplemented in HistoTool.
Definition at line 592 of file GaudiHistos.icpp.
00599 { 00600 // exist? 00601 AIDA::IHistogram2D* hist = histo2D ( title ) ; 00602 // histogram is already booked 00603 if( 0 != hist ) { return hist ; } // RETURN !! 00604 00605 // propose the histogram ID 00606 HistoID ID; 00607 newHistoID( title, ID ); 00608 00609 // Create a new histogram and return 00610 return this -> book2D ( ID, title, lowX, highX, binsX, lowY, highY, binsY ); 00611 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::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 [inline] |
book the 3D histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsY | number of bins in y | |
| lowZ | low y limit for histogram | |
| highZ | high y limit for histogram | |
| binsZ | number of bins in y |
Reimplemented in HistoTool.
Definition at line 733 of file GaudiHistos.icpp.
00743 { 00744 // exist? 00745 AIDA::IHistogram3D* hist = histo3D ( title ) ; 00746 // histogram is already booked 00747 if( 0 != hist ) { return hist ; } // RETURN !! 00748 00749 // propose the histogram ID 00750 HistoID ID; 00751 newHistoID( title, ID ); 00752 00753 // Create a new histogram and return 00754 return this -> book3D ( ID, title, 00755 lowX, highX, binsX, 00756 lowY, highY, binsY, 00757 lowZ, highZ, binsZ ); 00758 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book1D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const double | low = 0, |
|||
| const double | high = 100, |
|||
| const unsigned long | bins = 100 | |||
| ) | const [inline] |
book the 1D histogram with forced ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins |
Reimplemented in HistoTool.
Definition at line 487 of file GaudiHistos.icpp.
00492 { 00493 // Check ID 00494 if (ID.undefined()) 00495 { 00496 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00497 return NULL; 00498 } 00499 00500 // exist? 00501 AIDA::IHistogram1D* hist = histo1D ( ID ) ; 00502 // histogram is already booked 00503 if ( 0 != hist ) { return hist ; } // RETURN !! 00504 00505 // Histogram title 00506 const std::string & htitle = 00507 ( title.empty() ? "Unnamed 1D Histogram ID="+ID.idAsString() : title ) ; 00508 00509 // book the histogram 00510 if ( ID.numeric() ) 00511 { 00512 hist = this->histoSvc() -> book ( histoPath() , 00513 ID.numericID() , 00514 htitle , 00515 bins , 00516 low , 00517 high ) ; 00518 } 00519 else if ( ID.literal() ) 00520 { 00521 hist = this->histoSvc() -> book ( histoPath()+"/"+ 00522 ID.literalID() , 00523 htitle , 00524 bins , 00525 low , 00526 high ) ; 00527 } 00528 00529 // check OK 00530 if( 0 == hist ) 00531 { this->Error( "IHistogram1D* points to NULL! ID='" + ID.idAsString() + 00532 "' title='"+htitle+"'" ) ; return 0; } // RETURN !! 00533 00534 // add histogram into histogram storages 00535 if ( ID.numeric() ) 00536 { m_histo1DMapNumID [ ID.numericID() ] = hist ; } 00537 else if ( ID.literal() ) 00538 { m_histo1DMapLitID [ ID.literalID() ] = hist ; } 00539 m_histo1DMapTitle [ title ] = hist ; 00540 00541 // Declare to monitoring service 00542 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00543 00544 // Printout and return 00545 if ( this->msgLevel(MSG::DEBUG) ) 00546 { this->debug() << "Booked 1D Histogram : ID='" << ID 00547 << "' Path=" << histoPath() 00548 << " Title='" 00549 << Gaudi::Utils::Histos::htitle ( hist ) 00550 << "'" << endreq; } 00551 return hist ; 00552 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::book | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const double | low = 0, |
|||
| const double | high = 100, |
|||
| const unsigned long | bins = 100 | |||
| ) | const [inline] |
book the 1D histogram with forced ID
Wrapper method for the equivalent book1D method. Retained for backwards compatibility, please use book1D instead.
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins |
Definition at line 1436 of file GaudiHistos.h.
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book | ( | const HistoID & | ID, | |
| const Gaudi::Histo1DDef & | hdef | |||
| ) | const [inline] |
book the 1D histogram with forced ID
| ID | unique histogram ID | |
| hdef | histogram descriptor |
Definition at line 1481 of file GaudiHistos.icpp.
01483 { 01484 return book1D ( ID , 01485 hdef.title () , 01486 hdef.lowEdge () , 01487 hdef.highEdge () , 01488 hdef.bins () ) ; 01489 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::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 [inline] |
book the 2D histogram with forced ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins |
Reimplemented in HistoTool.
Definition at line 617 of file GaudiHistos.icpp.
00625 { 00626 // Check ID 00627 if (ID.undefined()) 00628 { 00629 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00630 return NULL; 00631 } 00632 00633 // exist? 00634 AIDA::IHistogram2D* hist = histo2D( ID ) ; 00635 // histogram is already booked 00636 if( 0 != hist ) { return hist ; } // RETURN !! 00637 00638 // Histogram title 00639 const std::string & htitle = 00640 ( title.empty() ? "Unnamed 2D Histogram ID="+ID.idAsString() : title ) ; 00641 00642 // book the histogram 00643 if ( ID.numeric() ) 00644 { 00645 hist = this->histoSvc() -> book ( histoPath() , 00646 ID.numericID() , 00647 htitle , 00648 binsX , 00649 lowX , 00650 highX , 00651 binsY , 00652 lowY , 00653 highY ) ; 00654 } 00655 else if ( ID.literal() ) 00656 { 00657 hist = this->histoSvc() -> book ( histoPath()+"/"+ 00658 ID.literalID() , 00659 htitle , 00660 binsX , 00661 lowX , 00662 highX , 00663 binsY , 00664 lowY , 00665 highY ) ; 00666 } 00667 00668 // Check OK 00669 if( 0 == hist ) 00670 { this->Error( "IHistogram2D* points to NULL! ID='" + ID.idAsString() + 00671 "' title='"+htitle+"'" ) ; return 0; } // RETURN !! 00672 00673 // add histogram into histogram storages 00674 if ( ID.numeric() ) 00675 { m_histo2DMapNumID [ ID.numericID() ] = hist ; } 00676 else if ( ID.literal() ) 00677 { m_histo2DMapLitID [ ID.literalID() ] = hist ; } 00678 m_histo2DMapTitle [ title ] = hist ; 00679 00680 // Declare to monitoring service 00681 monitorHisto( Gaudi::Utils::Histos::toBase ( hist) , ID ); 00682 00683 // Printout and return 00684 if ( this->msgLevel(MSG::DEBUG) ) 00685 { this->debug() << "Booked 2D Histogram : ID='" 00686 << ID << "' Path=" << histoPath() 00687 << " Title='" 00688 << Gaudi::Utils::Histos::htitle ( hist ) 00689 << "'" << endreq; } 00690 // return 00691 return hist ; 00692 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::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 [inline] |
book the 3D histogram with forced ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsY | number of bins in y | |
| lowZ | low y limit for histogram | |
| highZ | high y limit for histogram | |
| binsZ | number of bins in y |
Reimplemented in HistoTool.
Definition at line 764 of file GaudiHistos.icpp.
00775 { 00776 // Check ID 00777 if (ID.undefined()) 00778 { 00779 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00780 return NULL; 00781 } 00782 00783 // exist? 00784 AIDA::IHistogram3D* hist = histo3D( ID ) ; 00785 // histogram is already booked 00786 if( 0 != hist ) { return hist ; } // RETURN !! 00787 00788 // Histogram title 00789 const std::string & htitle = 00790 ( title.empty() ? "Unnamed 3D Histogram ID="+ID.idAsString() : title ) ; 00791 00792 // book the histogram 00793 if ( ID.numeric() ) 00794 { 00795 hist = this->histoSvc() -> book ( histoPath() , 00796 ID.numericID() , 00797 htitle , 00798 binsX , 00799 lowX , 00800 highX , 00801 binsY , 00802 lowY , 00803 highY , 00804 binsZ , 00805 lowZ , 00806 highZ ) ; 00807 } 00808 else if ( ID.literal() ) 00809 { 00810 hist = this->histoSvc() -> book ( histoPath()+"/"+ 00811 ID.literalID() , 00812 htitle , 00813 binsX , 00814 lowX , 00815 highX , 00816 binsY , 00817 lowY , 00818 highY , 00819 binsZ , 00820 lowZ , 00821 highZ ) ; 00822 } 00823 00824 // Check OK 00825 if( 0 == hist ) 00826 { this->Error( "IHistogram3D* points to NULL! ID='" + ID.idAsString() + 00827 "' title='"+htitle+"'" ) ; return 0; } // RETURN !! 00828 00829 // add histogram into histogram storages 00830 if ( ID.numeric() ) 00831 { m_histo3DMapNumID [ ID.numericID() ] = hist ; } 00832 else if ( ID.literal() ) 00833 { m_histo3DMapLitID [ ID.literalID() ] = hist ; } 00834 m_histo3DMapTitle [ title ] = hist ; 00835 00836 // Declare to monitoring service 00837 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00838 00839 // Printout and return 00840 if ( this->msgLevel(MSG::DEBUG) ) 00841 { this->debug() << "Booked 3D Histogram : ID='" 00842 << ID << "' Path=" << histoPath() 00843 << " Title='" 00844 << Gaudi::Utils::Histos::htitle ( hist ) 00845 << "'" << endreq; } 00846 return hist ; 00847 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::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 [inline] |
book the 1D profile histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| opt | the options, used for evaluation of errors | |
| lowY | the min cut-off for y-values | |
| highY | the max cut-off for y-values |
Definition at line 891 of file GaudiHistos.icpp.
00898 { 00899 // exist? 00900 AIDA::IProfile1D* hist = profile1D ( title ) ; 00901 // histogram is already booked 00902 if( 0 != hist ) { return hist ; } // RETURN !! 00903 00904 // propose the histogram ID 00905 HistoID ID; 00906 newHistoID( title, ID ); 00907 00908 // Book the histo and return 00909 return this -> bookProfile1D ( ID, title, low, high, bins , opt , lowY , highY ); 00910 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::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 [inline] |
book the 1D profile histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| opt | the options, used for evaluation of errors | |
| lowY | the min cut-off for y-values | |
| highY | the max cut-off for y-values |
Definition at line 916 of file GaudiHistos.icpp.
00924 { 00925 // Check ID 00926 if (ID.undefined()) 00927 { 00928 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00929 return NULL; 00930 } 00931 00932 // exist? 00933 AIDA::IProfile1D* hist = profile1D ( ID ) ; 00934 // histogram is already booked 00935 if( 0 != hist ) { return hist ; } // RETURN !! 00936 00937 // Histogram title 00938 const std::string & htitle = 00939 ( title.empty() ? 00940 "Unnamed 1D Profile Histogram ID="+ID.idAsString() : title ) ; 00941 00942 // book the histogram 00943 if ( ID.numeric() ) 00944 { 00945 hist = this->histoSvc() -> bookProf ( histoPath() , 00946 ID.numericID() , 00947 htitle , 00948 bins , 00949 low , 00950 high , 00951 lowY , 00952 highY , 00953 opt ) ; 00954 } 00955 else if ( ID.literal() ) 00956 { 00957 hist = this->histoSvc() -> bookProf ( histoPath()+"/"+ 00958 ID.literalID() , 00959 htitle , 00960 bins , 00961 low , 00962 high , 00963 lowY , 00964 highY , 00965 opt ) ; 00966 } 00967 00968 // test ok 00969 if( 0 == hist ) 00970 { this->Error( "IProfile1D* points to NULL! ID='" + ID.idAsString() + 00971 "' title='"+htitle+"'" ) ; return 0; } // RETURN !! 00972 00973 // add histogram into histogram storages 00974 if ( ID.numeric() ) 00975 { m_profile1DMapNumID [ ID.numericID() ] = hist ; } 00976 else if ( ID.literal() ) 00977 { m_profile1DMapLitID [ ID.literalID() ] = hist ; } 00978 m_profile1DMapTitle [ title ] = hist ; 00979 00980 // Declare to monitoring service 00981 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00982 00983 // printout and return 00984 if ( this->msgLevel(MSG::DEBUG) ) 00985 { this->debug() << "Booked 1D Profile Histogram : ID='" 00986 << ID << "' Path=" << histoPath() 00987 << " Title='" 00988 << Gaudi::Utils::Histos::htitle ( hist ) 00989 << "'" << endreq; } 00990 return hist ; 00991 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::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 [inline] |
book the 2D profile histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsY | number of bins in y |
Definition at line 1030 of file GaudiHistos.icpp.
01037 { 01038 // exist? 01039 AIDA::IProfile2D* hist = profile2D ( title ) ; 01040 // histogram is already booked 01041 if( 0 != hist ) { return hist ; } // RETURN !! 01042 01043 // propose the histogram ID 01044 HistoID ID; 01045 newHistoID( title, ID ); 01046 01047 // book histogram and return 01048 return this -> bookProfile2D ( ID, title, lowX, highX, binsX, lowY, highY, binsY ); 01049 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::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 [inline] |
book the 2D profile histogram with forced ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins |
Definition at line 1055 of file GaudiHistos.icpp.
01063 { 01064 // Check ID 01065 if (ID.undefined()) 01066 { 01067 this->Error("Undefined Histogram ID : Title='"+title+"'"); 01068 return NULL; 01069 } 01070 01071 // exist? 01072 AIDA::IProfile2D* hist = profile2D ( ID ) ; 01073 // histogram is already booked 01074 if( 0 != hist ) { return hist ; } // RETURN !! 01075 01076 // Histogram title 01077 const std::string & htitle = 01078 ( title.empty() ? 01079 "Unnamed 2D Profile Histogram ID="+ID.idAsString() : title ) ; 01080 01081 // book the histogram 01082 if ( ID.numeric() ) 01083 { 01084 hist = this->histoSvc() -> bookProf ( histoPath() , 01085 ID.numericID() , 01086 htitle , 01087 binsX , 01088 lowX , 01089 highX , 01090 binsY , 01091 lowY , 01092 highY ) ; 01093 } 01094 else if ( ID.literal() ) 01095 { 01096 hist = this->histoSvc() -> bookProf ( histoPath()+"/"+ 01097 ID.literalID() , 01098 htitle , 01099 binsX , 01100 lowX , 01101 highX , 01102 binsY , 01103 lowY , 01104 highY ) ; 01105 } 01106 01107 // test OK 01108 if( 0 == hist ) 01109 { this->Error( "IProfile2D* points to NULL! ID='" + ID.idAsString() + 01110 "' title='"+htitle+"'" ) ; return 0; } // RETURN !! 01111 01112 // add histogram into histogram storages 01113 if ( ID.numeric() ) 01114 { m_profile2DMapNumID [ ID.numericID() ] = hist ; } 01115 else if ( ID.literal() ) 01116 { m_profile2DMapLitID [ ID.literalID() ] = hist ; } 01117 m_profile2DMapTitle [ title ] = hist ; 01118 01119 // Declare to monitoring service 01120 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 01121 01122 // printout and return 01123 if ( this->msgLevel(MSG::DEBUG) ) 01124 { this->debug() << "Booked 2D Profile Histogram : ID='" << ID 01125 << "' Path=" << histoPath() 01126 << " Title='" 01127 << Gaudi::Utils::Histos::htitle ( hist ) 01128 << "'" << endreq; } 01129 return hist ; 01130 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::fill | ( | AIDA::IHistogram1D * | histo, | |
| const double | value, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const [inline] |
fill the 1D histogram with the value and weight
| histo | 1D histogram to be filled | |
| value | value to be put into the histogram | |
| weight | weight to be used | |
| title | histogram title (to be used for error report) |
Reimplemented in HistoTool.
Definition at line 558 of file GaudiHistos.icpp.
00562 { 00563 if ( 0 != histo && produceHistos() ) 00564 { 00565 if ( !checkForNaN() ) 00566 { Gaudi::Utils::Histos::fill ( histo , value , weight ) ; } 00567 else if ( lfin ( value ) && lfin ( weight ) ) 00568 { Gaudi::Utils::Histos::fill ( histo , value , weight ) ; } 00569 else if ( lnan ( value ) || lnan ( weight ) ) 00570 { 00571 this -> Warning 00572 ("fill():: 'NaN' value is skipped from the histogram '" 00573 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00574 } 00575 else 00576 { 00577 this -> Warning 00578 ("fill():: 'Infinite' value is skipped from the histogram '" 00579 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00580 } 00581 } 00582 // return 00583 return histo ; 00584 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::fill | ( | AIDA::IHistogram2D * | histo, | |
| const double | valueX, | |||
| const double | valueY, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const [inline] |
fill the 2D histogram with the value and weight
| histo | 2D histogram to be filled | |
| valueX | x value to be put into the histogram | |
| valueY | y value to be put into the histogram | |
| weight | weight to be used | |
| title | histogram title (to be used for error report) |
Reimplemented in HistoTool.
Definition at line 698 of file GaudiHistos.icpp.
00703 { 00704 if ( 0 != histo && produceHistos() ) 00705 { 00706 if ( !checkForNaN() ) 00707 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , weight ) ; } 00708 else if ( lfin ( valueX ) && lfin ( valueY ) && lfin ( weight ) ) 00709 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , weight ) ; } 00710 else if ( lnan ( valueX ) || lnan ( valueY ) || lnan ( weight ) ) 00711 { 00712 this -> Warning 00713 ("fill():: 'NaN' value is skipped from the histogram '" 00714 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00715 } 00716 else 00717 { 00718 this -> Warning 00719 ("fill():: 'Infinite' value is skipped from the histogram '" 00720 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00721 } 00722 } 00723 // return 00724 return histo ; 00725 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::fill | ( | AIDA::IHistogram3D * | histo, | |
| const double | valueX, | |||
| const double | valueY, | |||
| const double | valueZ, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const [inline] |
fill the 3D histogram with the value and weight
| histo | 3D histogram to be filled | |
| valueX | x value to be put into the histogram | |
| valueY | y value to be put into the histogram | |
| valueZ | z value to be put into the histogram | |
| weight | weight to be used | |
| title | histogram title (to be used for error report) |
Reimplemented in HistoTool.
Definition at line 853 of file GaudiHistos.icpp.
00859 { 00860 if ( 0 != histo && produceHistos() ) 00861 { 00862 if ( !checkForNaN() ) 00863 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , valueZ , weight ) ; } 00864 else if ( lfin ( valueX ) && lfin ( valueY ) && 00865 lfin ( valueZ ) && lfin ( weight ) ) 00866 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , valueZ , weight ) ; } 00867 else if ( lnan ( valueX ) || lnan ( valueY ) || 00868 lnan ( valueZ ) || lnan ( weight ) ) 00869 { 00870 this -> Warning 00871 ("fill():: 'NaN' value is skipped from the histogram '" 00872 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00873 } 00874 else 00875 { 00876 this -> Warning 00877 ("fill():: 'Infinite' value is skipped from the histogram '" 00878 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00879 } 00880 } 00881 // return 00882 return histo ; 00883 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::fill | ( | AIDA::IProfile1D * | histo, | |
| const double | valueX, | |||
| const double | valueY, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const [inline] |
fill the 1D profile histogram with the values and weight
| histo | 1D profile histogram to be filled | |
| valueX | x value to be put into the histogram | |
| valueY | y value to be put into the histogram | |
| weight | weight to be used | |
| title | histogram title (to be used for error report) |
Definition at line 997 of file GaudiHistos.icpp.
01002 { 01003 if ( 0 != histo && produceHistos() ) 01004 { 01005 if ( !checkForNaN() ) 01006 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , weight ); } 01007 else if ( lfin ( valueX ) && lfin ( valueY ) && lfin ( weight ) ) 01008 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , weight ); } 01009 else if ( lnan ( valueX ) || lnan ( valueY ) || lnan ( weight ) ) 01010 { 01011 this -> Warning 01012 ("fill():: 'NaN' value is skipped from the histogram '" 01013 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 01014 } 01015 else 01016 { 01017 this -> Warning 01018 ("fill():: 'Infinite' value is skipped from the histogram '" 01019 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 01020 } 01021 } 01022 // return 01023 return histo ; 01024 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::fill | ( | AIDA::IProfile2D * | histo, | |
| const double | valueX, | |||
| const double | valueY, | |||
| const double | valueZ, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const [inline] |
fill the 2D profile histogram with the values and weight
| histo | 2D profile histogram to be filled | |
| valueX | x value to be put into the histogram | |
| valueY | y value to be put into the histogram | |
| valueZ | z value to be put into the histogram | |
| weight | weight to be used | |
| title | histogram title (to be used for error report) |
Definition at line 1136 of file GaudiHistos.icpp.
01142 { 01143 if ( 0 != histo && produceHistos() ) 01144 { 01145 if ( !checkForNaN() ) 01146 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , valueZ , weight ); } 01147 else if ( lfin ( valueX ) && lfin ( valueY ) && 01148 lfin ( valueZ ) && lfin ( weight ) ) 01149 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , valueZ , weight ); } 01150 else if ( lnan ( valueX ) || lnan ( valueY ) || 01151 lnan ( valueZ ) || lnan ( weight ) ) 01152 { 01153 this -> Warning 01154 ("fill():: 'NaN' value is skipped from the histogram '" 01155 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 01156 } 01157 else 01158 { 01159 this -> Warning 01160 ("fill():: 'Infinite' value is skipped from the histogram '" 01161 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 01162 } 01163 } 01164 // return 01165 return histo ; 01166 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::histo1D | ( | const std::string & | title | ) | const [inline] |
access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL
Reimplemented in HistoTool.
Definition at line 1679 of file GaudiHistos.h.
01680 { 01681 Histo1DMapTitle::const_iterator found = histo1DMapTitle().find( title ) ; 01682 return ( histo1DMapTitle().end() == found ? 0 : found->second ); 01683 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::histo | ( | const std::string & | title | ) | const [inline] |
access the EXISTING 1D histogram by title
Wrapper method for the equivalent histo1D method. Retained for backwards compatibility, please use histo1D instead.
return the pointer to existing 1D histogram or NULL
Definition at line 1692 of file GaudiHistos.h.
01693 { 01694 return histo1D( title ); 01695 }
| AIDA::IHistogram2D* GaudiHistos< PBASE >::histo2D | ( | const std::string & | title | ) | const [inline] |
access the EXISTING 2D histogram by title return the pointer to existing 2D histogram or NULL
Reimplemented in HistoTool.
Definition at line 1700 of file GaudiHistos.h.
01701 { 01702 Histo2DMapTitle::const_iterator found = histo2DMapTitle().find( title ) ; 01703 return ( histo2DMapTitle().end() == found ? 0 : found->second ); 01704 }
| AIDA::IHistogram3D* GaudiHistos< PBASE >::histo3D | ( | const std::string & | title | ) | const [inline] |
access the EXISTING 3D histogram by title return the pointer to existing 3D histogram or NULL
Reimplemented in HistoTool.
Definition at line 1709 of file GaudiHistos.h.
01710 { 01711 Histo3DMapTitle::const_iterator found = histo3DMapTitle().find( title ) ; 01712 return ( histo3DMapTitle().end() == found ? 0 : found->second ); 01713 }
| AIDA::IProfile1D* GaudiHistos< PBASE >::profile1D | ( | const std::string & | title | ) | const [inline] |
access the EXISTING 1D profile histogram by title return the pointer to existing 1D profile histogram or NULL
Definition at line 1718 of file GaudiHistos.h.
01719 { 01720 Profile1DMapTitle::const_iterator found = profile1DMapTitle().find( title ) ; 01721 return ( profile1DMapTitle().end() == found ? 0 : found->second ); 01722 }
| AIDA::IProfile2D* GaudiHistos< PBASE >::profile2D | ( | const std::string & | title | ) | const [inline] |
access the EXISTING 2D profile histogram by title return the pointer to existing 2D profile histogram or NULL
Definition at line 1727 of file GaudiHistos.h.
01728 { 01729 Profile2DMapTitle::const_iterator found = profile2DMapTitle().find( title ) ; 01730 return ( profile2DMapTitle().end() == found ? 0 : found->second ); 01731 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::histo1D | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 1D histogram by ID return the pointer to existing 1D histogram or NULL
Reimplemented in HistoTool.
Definition at line 1525 of file GaudiHistos.icpp.
01526 { 01527 AIDA::IHistogram1D * h(0); 01528 if ( ID.numeric() ) 01529 { 01530 Histo1DMapNumID::const_iterator found = 01531 histo1DMapNumID().find( ID.numericID() ) ; 01532 h = ( histo1DMapNumID().end() == found ? 0 : found->second ); 01533 } 01534 else 01535 { 01536 Histo1DMapLitID::const_iterator found = 01537 histo1DMapLitID().find( ID.literalID() ) ; 01538 h = ( histo1DMapLitID().end() == found ? 0 : found->second ); 01539 } 01540 return h; 01541 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::histo | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 1D histogram by ID
Wrapper method for the equivalent histo1D method. Retained for backwards compatibility, please use histo1D instead.
return the pointer to existing 1D histogram or NULL
Definition at line 1747 of file GaudiHistos.h.
| AIDA::IHistogram2D * GaudiHistos< PBASE >::histo2D | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 2D histogram by ID return the pointer to existing 2D histogram or NULL
Reimplemented in HistoTool.
Definition at line 1546 of file GaudiHistos.icpp.
01547 { 01548 AIDA::IHistogram2D * h(0); 01549 if ( ID.numeric() ) 01550 { 01551 Histo2DMapNumID::const_iterator found = 01552 histo2DMapNumID().find( ID.numericID() ) ; 01553 h = ( histo2DMapNumID().end() == found ? 0 : found->second ); 01554 } 01555 else 01556 { 01557 Histo2DMapLitID::const_iterator found = 01558 histo2DMapLitID().find( ID.literalID() ) ; 01559 h = ( histo2DMapLitID().end() == found ? 0 : found->second ); 01560 } 01561 return h; 01562 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::histo3D | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 3D histogram by ID return the pointer to existing 3D histogram or NULL
Reimplemented in HistoTool.
Definition at line 1567 of file GaudiHistos.icpp.
01568 { 01569 AIDA::IHistogram3D * h(0); 01570 if ( ID.numeric() ) 01571 { 01572 Histo3DMapNumID::const_iterator found = 01573 histo3DMapNumID().find( ID.numericID() ) ; 01574 h = ( histo3DMapNumID().end() == found ? 0 : found->second ); 01575 } 01576 else 01577 { 01578 Histo3DMapLitID::const_iterator found = 01579 histo3DMapLitID().find( ID.literalID() ) ; 01580 h = ( histo3DMapLitID().end() == found ? 0 : found->second ); 01581 } 01582 return h; 01583 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::profile1D | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 1D profile histogram by ID return the pointer to existing 1D profile histogram or NULL
Definition at line 1588 of file GaudiHistos.icpp.
01589 { 01590 AIDA::IProfile1D * h(0); 01591 if ( ID.numeric() ) 01592 { 01593 Profile1DMapNumID::const_iterator found = 01594 profile1DMapNumID().find( ID.numericID() ) ; 01595 h = ( profile1DMapNumID().end() == found ? 0 : found->second ); 01596 } 01597 else 01598 { 01599 Profile1DMapLitID::const_iterator found = 01600 profile1DMapLitID().find( ID.literalID() ) ; 01601 h = ( profile1DMapLitID().end() == found ? 0 : found->second ); 01602 } 01603 return h; 01604 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::profile2D | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 2D profile histogram by ID return the pointer to existing 2D profile histogram or NULL
Definition at line 1609 of file GaudiHistos.icpp.
01610 { 01611 AIDA::IProfile2D * h(0); 01612 if ( ID.numeric() ) 01613 { 01614 Profile2DMapNumID::const_iterator found = 01615 profile2DMapNumID().find( ID.numericID() ) ; 01616 h = ( profile2DMapNumID().end() == found ? 0 : found->second ); 01617 } 01618 else 01619 { 01620 Profile2DMapLitID::const_iterator found = 01621 profile2DMapLitID().find( ID.literalID() ) ; 01622 h = ( profile2DMapLitID().end() == found ? 0 : found->second ); 01623 } 01624 return h; 01625 }
| bool GaudiHistos< PBASE >::histoExists | ( | const std::string & | title | ) | const [inline] |
check the existence AND validity of the histogram with given title
Reimplemented in HistoTool.
Definition at line 1775 of file GaudiHistos.h.
01776 { 01777 return 01778 ( 0 != histo ( title ) || 01779 0 != histo2D ( title ) || 01780 0 != histo3D ( title ) || 01781 0 != profile1D ( title ) || 01782 0 != profile2D ( title ) ); 01783 }
| bool GaudiHistos< PBASE >::histoExists | ( | const HistoID & | ID | ) | const [inline] |
check the existence AND validity of the histogram with given title
Reimplemented in HistoTool.
Definition at line 1786 of file GaudiHistos.h.
01787 { 01788 return 01789 ( 0 != histo ( ID ) || 01790 0 != histo2D ( ID ) || 01791 0 != histo3D ( ID ) || 01792 0 != profile1D ( ID ) || 01793 0 != profile2D ( ID ) ); 01794 }
| unsigned int GaudiHistos< PBASE >::totalNumberOfHistos | ( | ) | const [inline] |
Returns the total number of histograms (of all types) currently booked.
Definition at line 1630 of file GaudiHistos.icpp.
01631 { 01632 const unsigned int n1D = histo1DMapNumID().size()+histo1DMapLitID().size(); 01633 const unsigned int n2D = histo2DMapNumID().size()+histo2DMapLitID().size(); 01634 const unsigned int n3D = histo3DMapNumID().size()+histo3DMapLitID().size(); 01635 const unsigned int n1DP = profile1DMapNumID().size()+profile1DMapLitID().size(); 01636 const unsigned int n2DP = profile2DMapNumID().size()+profile2DMapLitID().size(); 01637 return n1D+n2D+n3D+n1DP+n2DP; 01638 }
| bool GaudiHistos< PBASE >::produceHistos | ( | ) | const [inline] |
get the flag for histogram production (property "HistoProduce")
Definition at line 1801 of file GaudiHistos.h.
01801 { return m_produceHistos ; }
| bool GaudiHistos< PBASE >::fullDetail | ( | ) | const [inline] |
get flag to control output level of histograms
Definition at line 1803 of file GaudiHistos.h.
01803 { return m_fullDetail ; }
| bool GaudiHistos< PBASE >::checkForNaN | ( | ) | const [inline] |
get the flag for NaN checks (property "HistoCheckForNan")
Definition at line 1805 of file GaudiHistos.h.
01805 { return m_checkForNaN ; }
| bool GaudiHistos< PBASE >::splitHistoDir | ( | ) | const [inline] |
get the flag for histogram path split (property "HistoSplitDir")
Definition at line 1807 of file GaudiHistos.h.
01807 { return m_splitHistoDir ; }
| HistoID::NumericID GaudiHistos< PBASE >::histoOffSet | ( | ) | const [inline] |
get the value for histogram offset (property "HistoOffSet")
Definition at line 1809 of file GaudiHistos.h.
01809 { return m_histoOffSet ; }
| const std::string& GaudiHistos< PBASE >::histoTopDir | ( | ) | const [inline] |
get top-level histogram directory (property "HistoTopDir")
Definition at line 1811 of file GaudiHistos.h.
01811 { return m_histoTopDir ; }
| const std::string& GaudiHistos< PBASE >::histoDir | ( | ) | const [inline] |
get histogram directory (property "HistoDir")
Definition at line 1813 of file GaudiHistos.h.
01813 { return m_histoDir ; }
| std::string GaudiHistos< PBASE >::histoPath | ( | ) | const [inline] |
get the constructed histogram path
Definition at line 1815 of file GaudiHistos.h.
01816 { 01817 const std::string path = histoTopDir() + histoDir(); 01818 return ( splitHistoDir() ? dirHbookName(path) : path ); 01819 }
| bool GaudiHistos< PBASE >::histosPrint | ( | ) | const [inline] |
print histograms at finalization ?
Definition at line 1821 of file GaudiHistos.h.
01821 { return m_histosPrint ; }
| bool GaudiHistos< PBASE >::useNumericAutoIDs | ( | ) | const [inline] |
Use old style sequencial numerical automatically assigned IDs ?
Definition at line 1823 of file GaudiHistos.h.
01823 { return m_useNumericAutoIDs; }
| int GaudiHistos< PBASE >::printHistos | ( | const MSG::Level | level = MSG::ALWAYS |
) | const [inline] |
perform the actual printout of histograms
| level | The message level to print at |
Definition at line 221 of file GaudiHistos.icpp.
00222 { 00223 // temporary storage 00224 std::set<const AIDA::IBaseHistogram*> histos ; 00225 std::set<const AIDA::IBaseHistogram*> profiles ; 00226 00227 using namespace Gaudi::Utils::Histos ; 00228 00229 if ( noHistos() ) 00230 { if (this->msgLevel(MSG::DEBUG)) this->msgStream(level) << "No histograms are booked" << endreq ; } 00231 else 00232 { 00233 MsgStream & msg = this->msgStream(level); 00234 00235 // Printout all histograms 00236 // Note, each must appear in either the numeric or literal map 00237 00238 Gaudi::Utils::Histos::Table table 00239 ( m_histo1DTableFormat , 00240 m_histo1DTableHeader ) ; 00241 00242 if ( !histo1DMapNumID().empty() || !histo1DMapLitID().empty() ) 00243 { 00244 msg << "List of booked 1D histograms in directory " 00245 << "\"" << histoPath() << "\" :-" ; 00246 00247 if ( !table.header().empty() ) 00248 { 00249 msg << std::endl << Gaudi::Utils::Histos::format 00250 ( "ID" , table.header() , m_histo1DTableFormatShort ) ; 00251 } 00252 { 00253 for ( Histo1DMapNumID::const_iterator entry = histo1DMapNumID().begin() ; 00254 histo1DMapNumID().end() != entry ; ++entry ) 00255 { 00256 AIDA::IHistogram1D* aida = entry->second ; 00257 if ( 0 == aida ) 00258 { this->error() << "IHistogram1D points to NULL" << endreq ; continue ; } 00259 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00260 histos.insert ( toBase ( aida ) ) ; 00261 // format and print the row 00262 msg << std::endl << table.toString 00263 ( aida , 00264 HistoID ( entry->first ) , 00265 m_histo1DTableFormatShort ) ; 00266 } 00267 } 00268 { 00269 for ( Histo1DMapLitID::const_iterator entry = histo1DMapLitID().begin() ; 00270 histo1DMapLitID().end() != entry ; ++entry ) 00271 { 00272 AIDA::IHistogram1D* aida = entry->second ; 00273 if ( 0 == aida ) 00274 { this->error() << "IHistogram1D points to NULL" << endreq ; continue ; } 00275 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00276 histos.insert ( toBase ( aida ) ) ; 00277 // format and print the row 00278 msg << std::endl << table.toString 00279 ( aida , 00280 entry->first , 00281 m_histo1DTableFormatShort ) ; 00282 } 00283 } 00284 msg << endreq ; 00285 } 00286 if ( !histo2DMapNumID().empty() || !histo2DMapLitID().empty() ) 00287 { 00288 msg << "List of booked 2D histograms in directory " 00289 << "\"" << histoPath() << "\" :-" ; 00290 { 00291 for ( Histo2DMapNumID::const_iterator entry = histo2DMapNumID().begin() ; 00292 histo2DMapNumID().end() != entry ; ++entry ) 00293 { 00294 AIDA::IHistogram2D* aida = entry->second ; 00295 if ( 0 == aida ) 00296 { this->error() << "IHistogram2D points to NULL" << endreq ; continue ; } 00297 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00298 histos.insert ( toBase ( aida ) ) ; 00299 msg << std::endl 00300 << GaudiAlg::Print2D::toString ( aida , entry->first ); 00301 } 00302 } 00303 { 00304 for ( Histo2DMapLitID::const_iterator entry = histo2DMapLitID().begin() ; 00305 histo2DMapLitID().end() != entry ; ++entry ) 00306 { 00307 AIDA::IHistogram2D* aida = entry->second ; 00308 if ( 0 == aida ) 00309 { this->error() << "IHistogram2D points to NULL" << endreq ; continue ; } 00310 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00311 histos.insert ( toBase ( aida ) ) ; 00312 msg << std::endl 00313 << GaudiAlg::Print2D::toString ( aida , entry->first ); 00314 } 00315 } 00316 msg << endreq ; 00317 } 00318 00319 if ( !histo3DMapNumID().empty() || !histo3DMapLitID().empty() ) 00320 { 00321 msg << "List of booked 3D histograms in directory " 00322 << "\"" << histoPath() << "\" :-" ; 00323 { 00324 for ( Histo3DMapNumID::const_iterator entry = histo3DMapNumID().begin() ; 00325 histo3DMapNumID().end() != entry ; ++entry ) 00326 { 00327 AIDA::IHistogram3D* aida = entry->second ; 00328 if ( 0 == aida ) 00329 { this->error() << "IHistogram3D points to NULL" << endreq ; continue ; } 00330 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00331 histos.insert ( toBase ( aida ) ) ; 00332 msg << std::endl << GaudiAlg::Print3D::toString ( aida , entry->first ); 00333 } 00334 } 00335 { 00336 for ( Histo3DMapLitID::const_iterator entry = histo3DMapLitID().begin() ; 00337 histo3DMapLitID().end() != entry ; ++entry ) 00338 { 00339 AIDA::IHistogram3D* aida = entry->second ; 00340 if ( 0 == aida ) 00341 { this->error() << "IHistogram3D points to NULL" << endreq ; continue ; } 00342 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00343 histos.insert ( toBase ( aida ) ) ; 00344 msg << std::endl << GaudiAlg::Print3D::toString ( aida , entry->first ) ; 00345 } 00346 } 00347 msg << endreq ; 00348 } 00349 if ( !profile1DMapNumID().empty() || !profile1DMapLitID().empty() ) 00350 { 00351 msg << "List of booked 1D profile histograms in directory " 00352 << "\"" << histoPath() << "\" :-" ; 00353 { 00354 for ( Profile1DMapNumID::const_iterator entry = profile1DMapNumID().begin() ; 00355 profile1DMapNumID().end() != entry ; ++entry ) 00356 { 00357 AIDA::IProfile1D* aida = entry->second ; 00358 if ( 0 == aida ) 00359 { this->error() << "IProfile1D points to NULL" << endreq ; continue ; } 00360 if ( profiles.end() != profiles.find( toBase ( aida ) ) ) { continue ; } 00361 profiles.insert ( toBase ( aida ) ) ; 00362 msg << std::endl << GaudiAlg::Print1DProf::toString ( aida , entry->first ); 00363 } 00364 } 00365 { 00366 for ( Profile1DMapLitID::const_iterator entry = profile1DMapLitID().begin() ; 00367 profile1DMapLitID().end() != entry ; ++entry ) 00368 { 00369 AIDA::IProfile1D* aida = entry->second ; 00370 if ( 0 == aida ) 00371 { this->error() << "IProfile1D points to NULL" << endreq ; continue ; } 00372 if ( profiles.end() != profiles.find( toBase ( aida ) ) ) { continue ; } 00373 profiles.insert ( toBase ( aida ) ) ; 00374 msg << std::endl << GaudiAlg::Print1DProf::toString ( aida , entry->first ); 00375 } 00376 } 00377 msg << endreq ; 00378 } 00379 if ( !profile2DMapNumID().empty() || !profile2DMapLitID().empty() ) 00380 { 00381 msg << "List of booked 2D profile histograms in directory " 00382 << "\"" << histoPath() << "\" :-" ; 00383 { 00384 for ( Profile2DMapNumID::const_iterator entry = profile2DMapNumID().begin() ; 00385 profile2DMapNumID().end() != entry ; ++entry ) 00386 { 00387 AIDA::IProfile2D* aida = entry->second ; 00388 if ( 0 == aida ) 00389 { this->error() << "IProfile2D points to NULL" << endreq ; continue ; } 00390 if ( profiles.end() != profiles.find( toBase ( aida ) ) ) { continue ; } 00391 profiles.insert ( toBase ( aida ) ) ; 00392 msg << std::endl << GaudiAlg::Print2DProf::toString ( aida , entry->first ); 00393 } 00394 } 00395 { 00396 for ( Profile2DMapLitID::const_iterator entry = profile2DMapLitID().begin() ; 00397 profile2DMapLitID().end() != entry ; ++entry ) 00398 { 00399 AIDA::IProfile2D* aida = entry->second ; 00400 if ( 0 == aida ) 00401 { this->error() << "IProfile2D points to NULL" << endreq ; continue ; } 00402 if ( profiles.end() != profiles.find( toBase ( aida ) ) ) { continue ; } 00403 profiles.insert ( toBase ( aida ) ) ; 00404 msg << std::endl << GaudiAlg::Print2DProf::toString ( aida , entry->first ); 00405 } 00406 } 00407 msg << endreq ; 00408 } 00409 00410 } 00411 return histos.size() + profiles.size() ; 00412 }
| const Histo1DMapTitle& GaudiHistos< PBASE >::histo1DMapTitle | ( | ) | const [inline] |
get access to the map of all 1D histograms indexed via their title
Using this method one can inspect e.g. a list of active histograms
const Histo1DMapTitle& histos = histo1DMapTitle() ; // iterate over the map! for ( Histo1DMapTitle::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram title const std::string& title = entry->first ; // histogram itself AIDA::IHistogram1D* hist = entry->second ; if( 0 == hist ) { continue ; } // ATTENTION! std::cout << " Histogram title " << title << std::endl ; }
Definition at line 1858 of file GaudiHistos.h.
01858 { return m_histo1DMapTitle; }
| const Histo1DMapNumID& GaudiHistos< PBASE >::histo1DMapNumID | ( | ) | const [inline] |
get access to the map of 1D histograms index via a numeric ID
const Histo1DMapNumID& histos = histo1DMapNumID() ; // iterate over the map! for ( Histo1DMapNumID::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram ID const HistoID ID = entry->first ; // histogram itself AIDA::IHistogram1D* h = entry->second ; if ( 0 == h ) { continue ;} std::cout << " Histogram ID " << ID << " Histogram title " << h->title() << std::endl ; }
Definition at line 1889 of file GaudiHistos.h.
01889 { return m_histo1DMapNumID; }
| const Histo1DMapLitID& GaudiHistos< PBASE >::histo1DMapLitID | ( | ) | const [inline] |
get access to the map of all 1D histograms index via a literal (string) ID
const Histo1DMapLitID& histos = histo1DMapLitID() ; // iterate over the map! for ( Histo1DMapLitID::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram ID const HistoID ID = entry->first ; // histogram itself AIDA::IHistogram1D* h = entry->second ; if ( 0 == h ) { continue ;} std::cout << " Histogram ID " << ID << " Histogram title " << h->title() << std::endl ; }
Definition at line 1919 of file GaudiHistos.h.
01919 { return m_histo1DMapLitID; }
| const Histo2DMapTitle& GaudiHistos< PBASE >::histo2DMapTitle | ( | ) | const [inline] |
get access to the map of all 2D histograms indexed via their title
Using this method one can inspect e.g. a list of active histograms
const Histo2DMapTitle& histos = histo2DMapTitle() ; // iterate over the map! for ( Histo2DMapTitle::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram title const std::string& title = entry->first ; // histogram itself AIDA::IHistogram2D* hist = entry->second ; if( 0 == hist ) { continue ; } // ATTENTION! std::cout << " Histogram title " << title << std::endl ; }
Definition at line 1948 of file GaudiHistos.h.
01948 { return m_histo2DMapTitle ; }
| const Histo2DMapNumID& GaudiHistos< PBASE >::histo2DMapNumID | ( | ) | const [inline] |
get access to the map of 2D histograms index via a numeric ID
const Histo2DMapNumID& histos = histo2DMapNumID() ; // iterate over the map! for ( Histo2DMapNumID::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram ID const HistoID ID = entry->first ; // histogram itself AIDA::IHistogram2D* h = entry->second ; if ( 0 == h ) { continue ;} std::cout << " Histogram ID " << ID << " Histogram title " << h->title() << std::endl ; }
Definition at line 1979 of file GaudiHistos.h.
01979 { return m_histo2DMapNumID; }
| const Histo2DMapLitID& GaudiHistos< PBASE >::histo2DMapLitID | ( | ) | const [inline] |
get access to the map of all 2D histograms index via a literal (string) ID
const Histo2DMapLitID& histos = histo2DMapLitID() ; // iterate over the map! for ( Histo2DMapLitID::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram ID const HistoID ID = entry->first ; // histogram itself AIDA::IHistogram2D* h = entry->second ; if ( 0 == h ) { continue ;} std::cout << " Histogram ID " << ID << " Histogram title " << h->title() << std::endl ; }
Definition at line 2009 of file GaudiHistos.h.
02009 { return m_histo2DMapLitID; }
| const Histo3DMapTitle& GaudiHistos< PBASE >::histo3DMapTitle | ( | ) | const [inline] |
get access to the map of all 3D histograms indexed via their title
Using this method one can inspect e.g. a list of active histograms
const Histo3DMapTitle& histos = histo3DMapTitle() ; // iterate over the map! for ( Histo3DMapTitle::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram title const std::string& title = entry->first ; // histogram itself AIDA::IHistogram3D* hist = entry->second ; if( 0 == hist ) { continue ; } // ATTENTION! std::cout << " Histogram title " << title << std::endl ; }
Definition at line 2038 of file GaudiHistos.h.
02038 { return m_histo3DMapTitle ; }
| const Histo3DMapNumID& GaudiHistos< PBASE >::histo3DMapNumID | ( | ) | const [inline] |
get access to the map of 3D histograms index via a numeric ID
const Histo3DMapNumID& histos = histo3DMapNumID() ; // iterate over the map! for ( Histo3DMapNumID::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram ID const HistoID ID = entry->first ; // histogram itself AIDA::IHistogram3D* h = entry->second ; if ( 0 == h ) { continue ;} std::cout << " Histogram ID " << ID << " Histogram title " << h->title() << std::endl ; }
Definition at line 2069 of file GaudiHistos.h.
02069 { return m_histo3DMapNumID; }
| const Histo3DMapLitID& GaudiHistos< PBASE >::histo3DMapLitID | ( | ) | const [inline] |
get access to the map of all 3D histograms index via a literal (string) ID
const Histo3DMapLitID& histos = histo3DMapLitID() ; // iterate over the map! for ( Histo3DMapLitID::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram ID const HistoID ID = entry->first ; // histogram itself AIDA::IHistogram3D* h = entry->second ; if ( 0 == h ) { continue ;} std::cout << " Histogram ID " << ID << " Histogram title " << h->title() << std::endl ; }
Definition at line 2099 of file GaudiHistos.h.
02099 { return m_histo3DMapLitID; }
| const Profile1DMapTitle& GaudiHistos< PBASE >::profile1DMapTitle | ( | ) | const [inline] |
get access to the map of all 1D profile histograms indexed via their title
Using this method one can inspect e.g. a list of active histograms
const Profile1DMapTitle& histos = profile1DMapTitle() ; // iterate over the map! for ( Profile1DMapTitle::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram title const std::string& title = entry->first ; // histogram itself AIDA::IProfile1D* hist = entry->second ; if( 0 == hist ) { continue ; } // ATTENTION! std::cout << " Histogram title " << title << std::endl ; }
Definition at line 2128 of file GaudiHistos.h.
02128 { return m_profile1DMapTitle; }
| const Profile1DMapNumID& GaudiHistos< PBASE >::profile1DMapNumID | ( | ) | const [inline] |
get access to the map of 1D profile histograms index via a numeric ID
const Profile1DMapNumID& histos = profile1DMapNumID() ; // iterate over the map! for ( Profile1DMapNumID::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram ID const HistoID ID = entry->first ; // histogram itself AIDA::IProfile1D* h = entry->second ; if ( 0 == h ) { continue ;} std::cout << " Histogram ID " << ID << " Histogram title " << h->title() << std::endl ; }
Definition at line 2159 of file GaudiHistos.h.
02159 { return m_profile1DMapNumID; }
| const Profile1DMapLitID& GaudiHistos< PBASE >::profile1DMapLitID | ( | ) | const [inline] |
get access to the map of 1D profile histograms index via a literal ID
const Profile1DMapLitID& histos = profile1DMapLitID() ; // iterate over the map! for ( Profile1DMapLitID::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram ID const HistoID ID = entry->first ; // histogram itself AIDA::IProfile1D* h = entry->second ; if ( 0 == h ) { continue ;} std::cout << " Histogram ID " << ID << " Histogram title " << h->title() << std::endl ; }
Definition at line 2190 of file GaudiHistos.h.
02190 { return m_profile1DMapLitID; }
| const Profile2DMapTitle& GaudiHistos< PBASE >::profile2DMapTitle | ( | ) | const [inline] |
get access to the map of all 2D profile histograms indexed via their title
Using this method one can inspect e.g. a list of active histograms
const Profile2DMapTitle& histos = profile2DMapTitle() ; // iterate over the map! for ( Profile2DMapTitle::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram title const std::string& title = entry->first ; // histogram itself AIDA::IProfile2D* hist = entry->second ; if( 0 == hist ) { continue ; } // ATTENTION! std::cout << " Histogram title " << title << std::endl ; }
Definition at line 2219 of file GaudiHistos.h.
02219 { return m_profile2DMapTitle; }
| const Profile2DMapNumID& GaudiHistos< PBASE >::profile2DMapNumID | ( | ) | const [inline] |
get access to the map of 2D profile histograms index via a numeric ID
const Profile2DMapNumID& histos = profile2DMapNumID() ; // iterate over the map! for ( Profile2DMapNumID::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram ID const HistoID ID = entry->first ; // histogram itself AIDA::IProfile2D* h = entry->second ; if ( 0 == h ) { continue ;} std::cout << " Histogram ID " << ID << " Histogram title " << h->title() << std::endl ; }
Definition at line 2250 of file GaudiHistos.h.
02250 { return m_profile2DMapNumID; }
| const Profile2DMapLitID& GaudiHistos< PBASE >::profile2DMapLitID | ( | ) | const [inline] |
get access to the map of 2D profile histograms index via a literal ID
const Profile2DMapLitID& histos = profile2DMapLitID() ; // iterate over the map! for ( Profile2DMapLitID::const_iterator entry = histos.begin() ; histos.end() != entry ; ++entry ) { // histogram ID const HistoID ID = entry->first ; // histogram itself AIDA::IProfile2D* h = entry->second ; if ( 0 == h ) { continue ;} std::cout << " Histogram ID " << ID << " Histogram title " << h->title() << std::endl ; }
Definition at line 2281 of file GaudiHistos.h.
02281 { return m_profile2DMapLitID; }
| void GaudiHistos< PBASE >::setProduceHistos | ( | const bool | val | ) | [inline] |
set the flag for histogram production (property "HistoProduce")
Definition at line 2286 of file GaudiHistos.h.
02286 { m_produceHistos = val ; }
| void GaudiHistos< PBASE >::setFullDetail | ( | const bool | val | ) | [inline] |
set flag to control output level of histograms
Definition at line 2288 of file GaudiHistos.h.
02288 { m_fullDetail = val ; }
| void GaudiHistos< PBASE >::setCheckForNaN | ( | const bool | val | ) | [inline] |
set the flag for NaN checks (property "HistoCheckForNan")
Definition at line 2290 of file GaudiHistos.h.
02290 { m_checkForNaN = val ; }
| void GaudiHistos< PBASE >::setSplitHistoDir | ( | const bool | val | ) | [inline] |
set the flag for histogram path split (property "HistoSplitDir")
Definition at line 2292 of file GaudiHistos.h.
02292 { m_splitHistoDir = val ; }
| void GaudiHistos< PBASE >::setHistoOffSet | ( | const HistoID::NumericID | val | ) | [inline] |
set a value for histogram offset (property "HistoOffSet"
Definition at line 2294 of file GaudiHistos.h.
02295 { m_histoOffSet = val ; }
| void GaudiHistos< PBASE >::setHistoTopDir | ( | const std::string & | val | ) | [inline] |
set top-level histogram directory (property "HistoTopDir")
Definition at line 2298 of file GaudiHistos.h.
02298 { m_histoTopDir = val ; }
| void GaudiHistos< PBASE >::setHistoDir | ( | const std::string & | val | ) | [inline] |
set histogram directory (property "HistoDir")
Definition at line 2301 of file GaudiHistos.h.
02301 { m_histoDir = val ; }
| StatusCode GaudiHistos< PBASE >::initialize | ( | ) | [inline, protected, virtual] |
standard initialization method
Reimplemented in GaudiHistoAlg, GaudiHistoTool, GaudiTupleAlg, GaudiTupleTool, GaudiTuples< GaudiHistoTool >, and GaudiTuples< GaudiHistoAlg >.
Definition at line 129 of file GaudiHistos.icpp.
00130 { 00131 // initialize base class 00132 const StatusCode sc = PBASE::initialize(); 00133 if ( sc.isFailure() ) return sc; 00134 00135 // produce histograms? 00136 if ( !produceHistos() ) 00137 { 00138 this->debug() << "Histogram production is switched OFF" << endreq; 00139 return sc; 00140 } 00141 00142 // check the validity of histogram service 00143 if ( 0 == this->histoSvc() ) 00144 { return this->Error("initialize():: IHistogramSvc* is invalid"); } 00145 00146 // Warn if the user has decided to use numerical automatic IDs 00147 if ( useNumericAutoIDs() ) 00148 { 00149 this -> 00150 Warning( "Using numerical automatic IDs. These are not guaranteed to be totally deterministic. Use with care...", 00151 StatusCode::SUCCESS ); 00152 } 00153 00154 // Finally, print the location histogram will be written to 00155 Print 00156 ( "The histogram path is set to be '" + histoPath() + "'", 00157 StatusCode( StatusCode::SUCCESS, true ) , MSG::DEBUG ); 00158 00159 return sc; 00160 }
| StatusCode GaudiHistos< PBASE >::finalize | ( | void | ) | [inline, protected, virtual] |
standard finalization method
Reimplemented in GaudiHistoAlg, GaudiHistoTool, GaudiTupleAlg, GaudiTupleTool, GaudiTuples< GaudiHistoTool >, and GaudiTuples< GaudiHistoAlg >.
Definition at line 165 of file GaudiHistos.icpp.
00166 { 00167 00168 if ( produceHistos() ) 00169 { 00170 00171 // Count how many histos of each type 00172 if ( !noHistos() ) 00173 { 00174 const unsigned int n1D = histo1DMapNumID().size()+histo1DMapLitID().size(); 00175 const unsigned int n2D = histo2DMapNumID().size()+histo2DMapLitID().size(); 00176 const unsigned int n3D = histo3DMapNumID().size()+histo3DMapLitID().size(); 00177 const unsigned int n1DP = profile1DMapNumID().size()+profile1DMapLitID().size(); 00178 const unsigned int n2DP = profile2DMapNumID().size()+profile2DMapLitID().size(); 00179 const unsigned int total = n1D+n2D+n3D+n1DP+n2DP; 00180 if ( total>0 ) 00181 { 00182 this->always() << "Booked " << total << " Histogram(s) : "; 00183 if ( n1D>0 ) this->always() << "1D=" << n1D << " "; 00184 if ( n2D>0 ) this->always() << "2D=" << n2D << " "; 00185 if ( n3D>0 ) this->always() << "3D=" << n3D << " "; 00186 if ( n1DP>0 ) this->always() << "1DProf=" << n1DP << " "; 00187 if ( n2DP>0 ) this->always() << "2DProf=" << n2DP << " "; 00188 this->always() << endreq; 00189 } 00190 } 00191 00192 // detailed printing 00193 if ( histosPrint() ) { printHistos() ; } 00194 00195 } 00196 00197 // clear all maps 00198 m_histo1DMapTitle .clear() ; 00199 m_histo2DMapTitle .clear() ; 00200 m_histo3DMapTitle .clear() ; 00201 m_histo1DMapNumID .clear() ; 00202 m_histo1DMapLitID .clear() ; 00203 m_histo2DMapNumID .clear() ; 00204 m_histo2DMapLitID .clear() ; 00205 m_histo3DMapNumID .clear() ; 00206 m_histo3DMapLitID .clear() ; 00207 m_profile1DMapTitle .clear() ; 00208 m_profile2DMapTitle .clear() ; 00209 m_profile1DMapNumID .clear() ; 00210 m_profile1DMapLitID .clear() ; 00211 m_profile2DMapNumID .clear() ; 00212 m_profile2DMapLitID .clear() ; 00213 00214 // finalize base class 00215 return PBASE::finalize(); 00216 }
| bool GaudiHistos< PBASE >::noHistos | ( | ) | const [inline, private] |
Check if all histogram maps are empty.
Definition at line 417 of file GaudiHistos.icpp.
00418 { 00419 return ( histo1DMapTitle() .empty() && 00420 histo2DMapTitle() .empty() && 00421 histo3DMapTitle() .empty() && 00422 profile1DMapTitle() .empty() && 00423 profile2DMapTitle() .empty() && 00424 histo1DMapNumID() .empty() && 00425 histo1DMapLitID() .empty() && 00426 histo2DMapNumID() .empty() && 00427 histo2DMapLitID() .empty() && 00428 histo3DMapNumID() .empty() && 00429 histo3DMapLitID() .empty() && 00430 profile1DMapNumID() .empty() && 00431 profile1DMapLitID() .empty() && 00432 profile2DMapNumID() .empty() && 00433 profile2DMapLitID() .empty() ); 00434 }
| void GaudiHistos< PBASE >::initGaudiHistosConstructor | ( | ) | [inline, private] |
Constructor initialisation and job options.
Definition at line 60 of file GaudiHistos.icpp.
00061 { 00062 // SWITCH ON/OFF the histograms 00063 this->declareProperty 00064 ( "HistoProduce" , 00065 m_produceHistos = true , 00066 "Swith on/off the production of histograms " ) ; 00067 // print the histograms at finalization 00068 this->declareProperty 00069 ( "HistoPrint" , 00070 m_histosPrint = false , 00071 "Switch on/off the printout of histograms at finalization" ) ; 00072 // check for NaN/Finite 00073 this->declareProperty 00074 ( "HistoCheckForNaN" , 00075 m_checkForNaN = true , 00076 "Swicth on/off the checks for NaN and Infinity for histogram fill" ) ; 00077 // for HBOOK persistency, 'true' can be useful 00078 this->declareProperty 00079 ( "HistoSplitDir" , 00080 m_splitHistoDir = false , 00081 "Split long directory names into short pieces (suitable for HBOOK)" ); 00082 // general OffSet for histogram ID 00083 this->declareProperty 00084 ( "HistoOffSet" , 00085 m_histoOffSet = 0 , 00086 "OffSet for automatically assigned histogram numerical identifiers " ) ; 00087 // top level histogram directory 00088 this->declareProperty 00089 ( "HistoTopDir" , 00090 m_histoTopDir = "" , 00091 "Top level histogram directory (take care that it ends with '/')" ) ; 00092 // histogram directory 00093 this->declareProperty 00094 ( "HistoDir" , 00095 m_histoDir = this->name() , 00096 "Histogram Directory" ) ; 00097 // control output level of histograms 00098 this->declareProperty ( "FullDetail" , m_fullDetail = false ) ; 00099 // monitor histograms 00100 this->declareProperty ( "MonitorHistograms" , m_declareMoniHists = true ) ; 00101 // format for 1D-histograms printout 00102 this->declareProperty 00103 ( "FormatFor1DHistoTable" , 00104 m_histo1DTableFormat = Gaudi::Utils::Histos::Formats::format () , 00105 "Format string for printout of 1D histograms" ) ; 00106 // "short" format for 1D-histograms printout 00107 this->declareProperty 00108 ( "ShortFormatFor1DHistoTable" , 00109 m_histo1DTableFormatShort = " | %1$-25.25s %2%" , 00110 "Format string for printout of 1D histograms" ) ; 00111 // the header for 1D-histogram tabkle 00112 this->declareProperty 00113 ( "HeaderFor1DHistoTable" , 00114 m_histo1DTableHeader = Gaudi::Utils::Histos::Formats::header () , 00115 "The table header for printout of 1D histograms " ) ; 00116 this->declareProperty 00117 ( "UseSequencialNumericAutoIDs", m_useNumericAutoIDs = false, 00118 "Flag to allow users to switch back to the old style of creating numerical automatic IDs" ); 00119 m_idReplaceInfo.clear(); 00120 m_idReplaceInfo["/"] = "=SLASH="; 00121 this->declareProperty 00122 ( "AutoStringIDPurgeMap", m_idReplaceInfo, 00123 "Map of strings to search and replace when using the title as the basis of automatically generated literal IDs" ); 00124 }
| void GaudiHistos< PBASE >::monitorHisto | ( | const AIDA::IBaseHistogram * | hist, | |
| const HistoID & | ID | |||
| ) | const [inline, private] |
Declare a histogram to the monitor service.
Uses the histogram ID as the 'name' sent to the monitor service and the histogram title as the long description
Definition at line 442 of file GaudiHistos.icpp.
00444 { 00445 if ( hist && m_declareMoniHists ) 00446 { 00447 if ( this->msgLevel(MSG::DEBUG) ) 00448 { 00449 this->debug() << "Monitoring histogram '" 00450 << ID.idAsString() << "' desc = '" 00451 << Gaudi::Utils::Histos::htitle ( hist ) << endreq; 00452 } 00453 this->declareInfo ( histoPath()+"/"+ID.idAsString() , 00454 hist , 00455 Gaudi::Utils::Histos::htitle ( hist ) ) ; 00456 } 00457 }
| void GaudiHistos< PBASE >::newHistoID | ( | const std::string & | title, | |
| HistoID & | ID | |||
| ) | const [inline, private] |
Create a new histogram ID using the given title.
| [in] | title | Histogram title |
| [out] | ID | The ID to use for the new histogram |
Definition at line 1643 of file GaudiHistos.icpp.
01645 { 01646 if ( useNumericAutoIDs() || title.empty() ) 01647 { 01648 if ( !useNumericAutoIDs() ) 01649 { 01650 this -> Warning( "Cannot generate automatic literal ID from an empty title ! Using numeric ID instead for histogram ID", 01651 StatusCode::SUCCESS ); 01652 } 01653 // propose the histogram ID (always numeric) 01654 ID = HistoID( totalNumberOfHistos() + 1 + histoOffSet() ); 01655 // adjust the proposed ID 01656 while ( histoExists( ID ) ) { ++ID; } 01657 } 01658 else 01659 { 01660 // use the title to create a unique literal ID 01661 ID = HistoID( this->convertTitleToID(title) ); 01662 // Just in case ... 01663 while ( histoExists( ID ) ) { ID = HistoID(ID.idAsString()+"_"); } 01664 } 01665 }
| void GaudiHistos< PBASE >::stringSearchReplace | ( | std::string & | title, | |
| const std::string & | A, | |||
| const std::string & | B | |||
| ) | const [inline, private] |
Searches 'title' for all instancies of 'A' and replaces them with 'B'.
Definition at line 1685 of file GaudiHistos.icpp.
01688 { 01689 std::string::size_type slash = title.find_first_of ( A ) ; 01690 while ( std::string::npos != slash ) 01691 { 01692 title = title.substr(0,slash) + B + title.substr(slash+A.size()); 01693 slash = title.find_first_of( A ); 01694 } 01695 }
| std::string GaudiHistos< PBASE >::convertTitleToID | ( | const std::string & | title | ) | const [inline, protected] |
Create an ID string from a title string.
Definition at line 1670 of file GaudiHistos.icpp.
01671 { 01672 // clean up the ID string for all unwanted characters 01673 std::string tmp_id = title; 01674 for ( std::map<std::string,std::string>::const_iterator i = m_idReplaceInfo.begin(); 01675 i != m_idReplaceInfo.end(); ++i ) 01676 { 01677 stringSearchReplace( tmp_id, i->first, i->second ); 01678 } 01679 return tmp_id; 01680 }
bool GaudiHistos< PBASE >::m_produceHistos [private] |
flag to SWITCH ON/SWITCH OFF the histogrm fillling and booking
Definition at line 2365 of file GaudiHistos.h.
bool GaudiHistos< PBASE >::m_fullDetail [private] |
bool GaudiHistos< PBASE >::m_checkForNaN [private] |
flag to control check for Nan/Finite while filling the histogram
Definition at line 2369 of file GaudiHistos.h.
bool GaudiHistos< PBASE >::m_splitHistoDir [private] |
split histogram directory name (very useful for Hbook)
Definition at line 2371 of file GaudiHistos.h.
HistoID::NumericID GaudiHistos< PBASE >::m_histoOffSet [private] |
general histogram ID offset (only works for automatically assigned numeric IDs)
Definition at line 2373 of file GaudiHistos.h.
std::string GaudiHistos< PBASE >::m_histoTopDir [private] |
std::string GaudiHistos< PBASE >::m_histoDir [private] |
bool GaudiHistos< PBASE >::m_histosPrint [private] |
bool GaudiHistos< PBASE >::m_declareMoniHists [private] |
Flag to turn on/off the registration of histograms to the Monitoring Service.
Definition at line 2381 of file GaudiHistos.h.
Histo1DMapTitle GaudiHistos< PBASE >::m_histo1DMapTitle [mutable, private] |
the actual storage/access of 1D histograms by unique title
Definition at line 2384 of file GaudiHistos.h.
Histo1DMapNumID GaudiHistos< PBASE >::m_histo1DMapNumID [mutable, private] |
the actual storage/access of 1D histograms by unique numeric ID
Definition at line 2386 of file GaudiHistos.h.
Histo1DMapLitID GaudiHistos< PBASE >::m_histo1DMapLitID [mutable, private] |
the actual storage/access of 1D histograms by unique literal ID
Definition at line 2388 of file GaudiHistos.h.
Histo2DMapTitle GaudiHistos< PBASE >::m_histo2DMapTitle [mutable, private] |
the actual storage/access of 2D histograms by unique title
Definition at line 2391 of file GaudiHistos.h.
Histo2DMapNumID GaudiHistos< PBASE >::m_histo2DMapNumID [mutable, private] |
the actual storage/access of 2D histograms by unique numeric ID
Definition at line 2393 of file GaudiHistos.h.
Histo2DMapLitID GaudiHistos< PBASE >::m_histo2DMapLitID [mutable, private] |
the actual storage/access of 2D histograms by unique literal ID
Definition at line 2395 of file GaudiHistos.h.
Histo3DMapTitle GaudiHistos< PBASE >::m_histo3DMapTitle [mutable, private] |
the actual storage/access of 3D histograms by unique title
Definition at line 2398 of file GaudiHistos.h.
Histo3DMapNumID GaudiHistos< PBASE >::m_histo3DMapNumID [mutable, private] |
the actual storage/access of 3D histograms by unique numeric ID
Definition at line 2400 of file GaudiHistos.h.
Histo3DMapLitID GaudiHistos< PBASE >::m_histo3DMapLitID [mutable, private] |
the actual storage/access of 3D histograms by unique literal ID
Definition at line 2402 of file GaudiHistos.h.
Profile1DMapTitle GaudiHistos< PBASE >::m_profile1DMapTitle [mutable, private] |
the actual storage/access of 1D profile histograms by unique title
Definition at line 2405 of file GaudiHistos.h.
Profile1DMapNumID GaudiHistos< PBASE >::m_profile1DMapNumID [mutable, private] |
the actual storage/access of 1D profile histograms by unique numeric ID
Definition at line 2407 of file GaudiHistos.h.
Profile1DMapLitID GaudiHistos< PBASE >::m_profile1DMapLitID [mutable, private] |
the actual storage/access of 1D profile histograms by unique literal ID
Definition at line 2409 of file GaudiHistos.h.
Profile2DMapTitle GaudiHistos< PBASE >::m_profile2DMapTitle [mutable, private] |
the actual storage/access of 2D profile histograms by unique title
Definition at line 2412 of file GaudiHistos.h.
Profile2DMapNumID GaudiHistos< PBASE >::m_profile2DMapNumID [mutable, private] |
the actual storage/access of 2D profile histograms by unique numeric ID
Definition at line 2414 of file GaudiHistos.h.
Profile2DMapLitID GaudiHistos< PBASE >::m_profile2DMapLitID [mutable, private] |
the actual storage/access of 2D profile histograms by unique literal ID
Definition at line 2416 of file GaudiHistos.h.
std::string GaudiHistos< PBASE >::m_histo1DTableFormat [private] |
std::string GaudiHistos< PBASE >::m_histo1DTableFormatShort [private] |
std::string GaudiHistos< PBASE >::m_histo1DTableHeader [private] |
bool GaudiHistos< PBASE >::m_useNumericAutoIDs [private] |
Flag to switch back to the old style sequencial numerical automatic IDs.
Definition at line 2425 of file GaudiHistos.h.
std::map<std::string,std::string> GaudiHistos< PBASE >::m_idReplaceInfo [private] |
Map of strings to search and replace when using the title as the basis of automatically generated literal IDs.
Definition at line 2429 of file GaudiHistos.h.