![]() |
|
|
Generated: 18 Jul 2008 |
#include <GaudiAlg/GaudiHistos.h>
Collaboration diagram for GaudiHistos< PBASE >:

Definition at line 41 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 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 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 |
| 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 |
| 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") | |
| const 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 46 of file GaudiHistos.h.
| typedef GaudiAlg::Histo1DMapNumericID GaudiHistos< PBASE >::Histo1DMapNumID |
the actual type for (Numeric ID)->(1D histogram) mapping
Definition at line 49 of file GaudiHistos.h.
| typedef GaudiAlg::Histo1DMapLiteralID GaudiHistos< PBASE >::Histo1DMapLitID |
the actual type for (Literal ID)->(1D histogram) mapping
Definition at line 51 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 56 of file GaudiHistos.h.
| typedef GaudiAlg::Histo2DMapLiteralID GaudiHistos< PBASE >::Histo2DMapLitID |
the actual type for (Literal ID)->(2D histogram) mapping
Definition at line 58 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 63 of file GaudiHistos.h.
| typedef GaudiAlg::Histo3DMapLiteralID GaudiHistos< PBASE >::Histo3DMapLitID |
the actual type for (Literal ID)->(3D histogram) mapping
Definition at line 65 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 70 of file GaudiHistos.h.
| typedef GaudiAlg::Profile1DMapLiteralID GaudiHistos< PBASE >::Profile1DMapLitID |
the actual type for (Literal ID)->(1D profile histogram) mapping
Definition at line 72 of file GaudiHistos.h.
| typedef GaudiAlg::Profile1DMapTitle GaudiHistos< PBASE >::Profile1DMapTitle |
the actual type for title->(1D profile histogram) mapping
Definition at line 74 of file GaudiHistos.h.
| typedef GaudiAlg::Profile2DMapNumericID GaudiHistos< PBASE >::Profile2DMapNumID |
the actual type for (Numeric ID)->(2D profile histogram) mapping
Definition at line 77 of file GaudiHistos.h.
| typedef GaudiAlg::Profile2DMapLiteralID GaudiHistos< PBASE >::Profile2DMapLitID |
the actual type for (Literal ID)->(2D profile histogram) mapping
Definition at line 79 of file GaudiHistos.h.
| typedef GaudiAlg::Profile2DMapTitle GaudiHistos< PBASE >::Profile2DMapTitle |
the actual type for title->(2D profile histogram) mapping
Definition at line 81 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 | ( | ) | [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 |
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 1161 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill().
Referenced by GaudiHistos< GaudiTool >::plot(), and GaudiPython::HistoDecorator::plot1D().
01167 { 01168 AIDA::IHistogram1D * h(0); 01169 if ( produceHistos() ) 01170 { 01171 // retrieve or book the histogram 01172 h = histo1D ( title ) ; 01173 if ( 0 == h ) { h = book1D ( title , low , high , bins ) ; } 01174 // fill the histogram 01175 h = fill ( h , value , weight , title ); 01176 } 01177 return h; 01178 }
| 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 151 of file GaudiHistos.h.
Referenced by GaudiPython::HistoDecorator::plot1D().
00157 { 00158 return plot1D ( value, title, low, high, bins, weight ); 00159 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::plot | ( | const double | value, | |
| const Gaudi::Histo1DDef & | hdef, | |||
| const double | weight = 1.0 | |||
| ) | const |
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 1476 of file GaudiHistos.icpp.
01479 { 01480 return plot1D 01481 ( value , 01482 hdef.title() , hdef.lowEdge() , hdef.highEdge() , hdef.bins() , 01483 weight ) ; 01484 }
| 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 |
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 1185 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill().
01192 { 01193 AIDA::IHistogram1D* h(0); 01194 if ( produceHistos() ) 01195 { 01196 // retrieve or book the histogram 01197 h = histo1D ( ID ) ; 01198 if ( 0 == h ) { h = book1D ( ID , title , low , high , bins ) ; } 01199 // fill 01200 h = fill ( h , value , weight , title ) ; 01201 } 01202 return h; 01203 }
| 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 282 of file GaudiHistos.h.
00289 { 00290 return plot1D ( value, ID, title, low, high, bins, weight ); 00291 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::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)
// 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 1491 of file GaudiHistos.icpp.
01495 { 01496 return plot1D 01497 ( value , ID , 01498 hdef.title() , hdef.lowEdge() , hdef.highEdge() , hdef.bins() , 01499 weight ) ; 01500 }
| 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 388 of file GaudiHistos.h.
00395 { 00396 AIDA::IHistogram1D* h(0); 00397 if ( produceHistos() ) 00398 { 00399 // retrieve or book the histogram 00400 h = histo1D ( title ) ; 00401 if ( 0 == h ) { h = book1D ( title , low , high , bins ); } 00402 // fill histogram 00403 while( first != last && 0 != h ) 00404 { h = fill ( h , func( *first ) , 1.0 , title ) ; ++first ; } 00405 } 00406 return h ; 00407 }
| 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 466 of file GaudiHistos.h.
00474 { 00475 AIDA::IHistogram1D* h(0); 00476 if ( produceHistos() ) 00477 { 00478 // retrieve or book the histogram 00479 h = histo1D ( ID ) ; 00480 if ( 0 == h ) { h = book1D ( ID , title , low , high , bins ); } 00481 // fill histogram 00482 while( first != last && 0 != h ) 00483 { h = fill( h , func( *first ) , 1.0 , title ) ; ++first ; } 00484 } 00485 return h; 00486 }
| 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 558 of file GaudiHistos.h.
00566 { 00567 AIDA::IHistogram1D* h(0); 00568 if ( produceHistos() ) 00569 { 00570 // retrieve or book the histogram 00571 h = histo1D ( title ) ; 00572 if ( 0 == h ) { h = book1D ( title , low , high , bins ); } 00573 // fill histogram 00574 while ( first != last && 0 != h ) 00575 { h = fill ( h , 00576 func ( *first ) , 00577 weight ( *first ) , title ) ; ++first ; } 00578 } 00579 return h; 00580 }
| 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 650 of file GaudiHistos.h.
00659 { 00660 AIDA::IHistogram1D* h(0); 00661 if ( produceHistos() ) 00662 { 00663 // retrieve or book the histogram 00664 h = histo1D ( ID ) ; 00665 if ( 0 == h ) { h = book1D ( ID , title , low , high , bins ); } 00666 // fill histogram 00667 while( first != last && 0 != h ) 00668 { h = fill ( h , 00669 func ( *first ) , 00670 weight ( *first ) , title ) ; ++first ; } 00671 } 00672 return h ; 00673 }
| 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 |
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 1209 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill().
Referenced by GaudiPython::HistoDecorator::plot2D().
01219 { 01220 AIDA::IHistogram2D * h(0); 01221 if ( produceHistos() ) 01222 { 01223 // retrieve or book the histogram 01224 h = histo2D ( title ) ; 01225 if ( 0 == h ) 01226 { h = book2D ( title , lowX , highX , binsX , lowY , highY , binsY ) ; } 01227 // fill the histogram 01228 h = fill ( h , valueX , valueY , weight , title ) ; 01229 } 01230 return h; 01231 }
| 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 |
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 1237 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill().
01248 { 01249 AIDA::IHistogram2D * h(0); 01250 // produce histograms ? 01251 if ( produceHistos() ) 01252 { 01253 // retrieve or book the histogram 01254 h = histo2D ( ID ) ; 01255 if ( 0 == h ) { h = book2D ( ID , title , 01256 lowX , highX , binsX , 01257 lowY , highY , binsY ) ; } 01258 // fill the histogram 01259 h = fill ( h , valueX , valueY , weight , title ) ; 01260 } 01261 return h; 01262 }
| 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 |
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 1268 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill().
01282 { 01283 AIDA::IHistogram3D * h(0); 01284 if ( produceHistos() ) 01285 { 01286 // retrieve or book the histogram 01287 h = histo3D ( title ) ; 01288 if ( 0 == h ) { h = book3D ( title , 01289 lowX , highX , binsX , 01290 lowY , highY , binsY , 01291 lowZ , highZ , binsZ ) ; } 01292 // fill the histogram 01293 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 01294 } 01295 return h; 01296 }
| 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 |
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 1302 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill().
01317 { 01318 AIDA::IHistogram3D * h(0); 01319 if ( produceHistos() ) 01320 { 01321 // retrieve or book the histogram 01322 h = histo3D ( ID ) ; 01323 if ( 0 == h ) { h = book3D ( ID , title , 01324 lowX , highX , binsX , 01325 lowY , highY , binsY , 01326 lowZ , highZ , binsZ ) ; } 01327 // fill the histogram 01328 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 01329 } 01330 return h; 01331 }
| 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 double | weight = 1.0 | |||
| ) | const |
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 | |
| weight | weight |
Definition at line 1337 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill().
Referenced by GaudiHistos< GaudiTool >::histoExists(), and GaudiPython::HistoDecorator::profile1D().
01344 { 01345 AIDA::IProfile1D * h(0); 01346 if ( produceHistos() ) 01347 { 01348 // retrieve or book the histogram 01349 h = profile1D ( title ) ; 01350 if ( 0 == h ) { h = bookProfile1D ( title , lowX , highX , binsX ) ; } 01351 // fill the histogram 01352 h = fill ( h , valueX , valueY , weight , title ) ; 01353 } 01354 return h; 01355 }
| 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 double | weight = 1.0 | |||
| ) | const |
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 | |
| weight | weight |
Definition at line 1361 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill().
01369 { 01370 AIDA::IProfile1D * h(0); 01371 if ( produceHistos() ) 01372 { 01373 // retrieve or book the histogram 01374 h = profile1D ( ID ) ; 01375 if ( 0 == h ) { h = bookProfile1D ( ID , title , lowX , highX , binsX ) ; } 01376 // fill the histogram 01377 h = fill ( h , valueX , valueY , weight , title ) ; 01378 } 01379 return h; 01380 }
| 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 |
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 1386 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill().
Referenced by GaudiHistos< GaudiTool >::histoExists(), and GaudiPython::HistoDecorator::profile2D().
01397 { 01398 AIDA::IProfile2D * h(0); 01399 if ( produceHistos() ) 01400 { 01401 // retrieve or book the histogram 01402 h = profile2D ( title ) ; 01403 if ( 0 == h ) { h = bookProfile2D ( title , 01404 lowX , highX , binsX , 01405 lowY , highY , binsY ) ; } 01406 // fill the histogram 01407 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 01408 } 01409 return h; 01410 }
| 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 |
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 1416 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill().
01428 { 01429 AIDA::IProfile2D * h(0); 01430 if ( produceHistos() ) 01431 { 01432 // retrieve or book the histogram 01433 h = profile2D ( ID ) ; 01434 if ( 0 == h ) { h = bookProfile2D ( ID , title , 01435 lowX , highX , binsX , 01436 lowY , highY , binsY ) ; } 01437 // fill the histogram 01438 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 01439 } 01440 return h; 01441 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book1D | ( | const std::string & | title, | |
| const double | low = 0, |
|||
| const double | high = 100, |
|||
| const unsigned long | bins = 100 | |||
| ) | const |
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.
Referenced by GaudiHistos< GaudiTool >::book(), and GaudiHistos< GaudiTool >::plot().
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 1313 of file GaudiHistos.h.
01317 { 01318 return book1D( title, low, high, bins ); 01319 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book | ( | const Gaudi::Histo1DDef & | hdef | ) | const |
book the 1D histogram
The histogram will be assigned a unique identifier
| hdef | histogram description/definition |
Definition at line 1448 of file GaudiHistos.icpp.
01449 { 01450 return book1D ( hdef.title () , 01451 hdef.lowEdge () , 01452 hdef.highEdge () , 01453 hdef.bins () ) ; 01454 }
| 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 |
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 |
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 |
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.
References Gaudi::Histos::book(), MSG::DEBUG, std::basic_string< _CharT, _Traits, _Alloc >::empty(), endreq(), Gaudi::Utils::Histos::htitle(), and Gaudi::Utils::Histos::toBase().
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 1415 of file GaudiHistos.h.
01420 { 01421 return book1D( ID, title, low, high, bins ); 01422 }
| 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 1461 of file GaudiHistos.icpp.
01463 { 01464 return book1D ( ID , 01465 hdef.title () , 01466 hdef.lowEdge () , 01467 hdef.highEdge () , 01468 hdef.bins () ) ; 01469 }
| 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 |
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.
References Gaudi::Histos::book(), MSG::DEBUG, std::basic_string< _CharT, _Traits, _Alloc >::empty(), endreq(), Gaudi::Utils::Histos::htitle(), and Gaudi::Utils::Histos::toBase().
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 |
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.
References Gaudi::Histos::book(), MSG::DEBUG, std::basic_string< _CharT, _Traits, _Alloc >::empty(), endreq(), Gaudi::Utils::Histos::htitle(), and Gaudi::Utils::Histos::toBase().
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 |
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 |
Definition at line 891 of file GaudiHistos.icpp.
00895 { 00896 // exist? 00897 AIDA::IProfile1D* hist = profile1D ( title ) ; 00898 // histogram is already booked 00899 if( 0 != hist ) { return hist ; } // RETURN !! 00900 00901 // propose the histogram ID 00902 HistoID ID; 00903 newHistoID( title, ID ); 00904 00905 // Book the histo and return 00906 return this -> bookProfile1D ( ID, title, low, high, bins ); 00907 }
| 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 |
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 |
Definition at line 913 of file GaudiHistos.icpp.
References MSG::DEBUG, std::basic_string< _CharT, _Traits, _Alloc >::empty(), endreq(), Gaudi::Utils::Histos::htitle(), and Gaudi::Utils::Histos::toBase().
00918 { 00919 // Check ID 00920 if (ID.undefined()) 00921 { 00922 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00923 return NULL; 00924 } 00925 00926 // exist? 00927 AIDA::IProfile1D* hist = profile1D ( ID ) ; 00928 // histogram is already booked 00929 if( 0 != hist ) { return hist ; } // RETURN !! 00930 00931 // Histogram title 00932 const std::string & htitle = 00933 ( title.empty() ? 00934 "Unnamed 1D Profile Histogram ID="+ID.idAsString() : title ) ; 00935 00936 // book the histogram 00937 if ( ID.numeric() ) 00938 { 00939 hist = this->histoSvc() -> bookProf ( histoPath() , 00940 ID.numericID() , 00941 htitle , 00942 bins , 00943 low , 00944 high ) ; 00945 } 00946 else if ( ID.literal() ) 00947 { 00948 hist = this->histoSvc() -> bookProf ( histoPath()+"/"+ 00949 ID.literalID() , 00950 htitle , 00951 bins , 00952 low , 00953 high ) ; 00954 } 00955 00956 // test ok 00957 if( 0 == hist ) 00958 { this->Error( "IProfile1D* points to NULL! ID='" + ID.idAsString() + 00959 "' title='"+htitle+"'" ) ; return 0; } // RETURN !! 00960 00961 // add histogram into histogram storages 00962 if ( ID.numeric() ) 00963 { m_profile1DMapNumID [ ID.numericID() ] = hist ; } 00964 else if ( ID.literal() ) 00965 { m_profile1DMapLitID [ ID.literalID() ] = hist ; } 00966 m_profile1DMapTitle [ title ] = hist ; 00967 00968 // Declare to monitoring service 00969 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00970 00971 // printout and return 00972 if ( this->msgLevel(MSG::DEBUG) ) 00973 { this->debug() << "Booked 1D Profile Histogram : ID='" 00974 << ID << "' Path=" << histoPath() 00975 << " Title='" 00976 << Gaudi::Utils::Histos::htitle ( hist ) 00977 << "'" << endreq; } 00978 return hist ; 00979 }
| 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 |
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 1018 of file GaudiHistos.icpp.
01025 { 01026 // exist? 01027 AIDA::IProfile2D* hist = profile2D ( title ) ; 01028 // histogram is already booked 01029 if( 0 != hist ) { return hist ; } // RETURN !! 01030 01031 // propose the histogram ID 01032 HistoID ID; 01033 newHistoID( title, ID ); 01034 01035 // book histogram and return 01036 return this -> bookProfile2D ( ID, title, lowX, highX, binsX, lowY, highY, binsY ); 01037 }
| 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 |
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 1043 of file GaudiHistos.icpp.
References MSG::DEBUG, std::basic_string< _CharT, _Traits, _Alloc >::empty(), endreq(), Gaudi::Utils::Histos::htitle(), and Gaudi::Utils::Histos::toBase().
01051 { 01052 // Check ID 01053 if (ID.undefined()) 01054 { 01055 this->Error("Undefined Histogram ID : Title='"+title+"'"); 01056 return NULL; 01057 } 01058 01059 // exist? 01060 AIDA::IProfile2D* hist = profile2D ( ID ) ; 01061 // histogram is already booked 01062 if( 0 != hist ) { return hist ; } // RETURN !! 01063 01064 // Histogram title 01065 const std::string & htitle = 01066 ( title.empty() ? 01067 "Unnamed 2D Profile Histogram ID="+ID.idAsString() : title ) ; 01068 01069 // book the histogram 01070 if ( ID.numeric() ) 01071 { 01072 hist = this->histoSvc() -> bookProf ( histoPath() , 01073 ID.numericID() , 01074 htitle , 01075 binsX , 01076 lowX , 01077 highX , 01078 binsY , 01079 lowY , 01080 highY ) ; 01081 } 01082 else if ( ID.literal() ) 01083 { 01084 hist = this->histoSvc() -> bookProf ( histoPath()+"/"+ 01085 ID.literalID() , 01086 htitle , 01087 binsX , 01088 lowX , 01089 highX , 01090 binsY , 01091 lowY , 01092 highY ) ; 01093 } 01094 01095 // test OK 01096 if( 0 == hist ) 01097 { this->Error( "IProfile2D* points to NULL! ID='" + ID.idAsString() + 01098 "' title='"+htitle+"'" ) ; return 0; } // RETURN !! 01099 01100 // add histogram into histogram storages 01101 if ( ID.numeric() ) 01102 { m_profile2DMapNumID [ ID.numericID() ] = hist ; } 01103 else if ( ID.literal() ) 01104 { m_profile2DMapLitID [ ID.literalID() ] = hist ; } 01105 m_profile2DMapTitle [ title ] = hist ; 01106 01107 // Declare to monitoring service 01108 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 01109 01110 // printout and return 01111 if ( this->msgLevel(MSG::DEBUG) ) 01112 { this->debug() << "Booked 2D Profile Histogram : ID='" << ID 01113 << "' Path=" << histoPath() 01114 << " Title='" 01115 << Gaudi::Utils::Histos::htitle ( hist ) 01116 << "'" << endreq; } 01117 return hist ; 01118 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::fill | ( | AIDA::IHistogram1D * | histo, | |
| const double | value, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const |
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.
References Gaudi::Utils::Histos::fill(), Gaudi::Utils::Histos::htitle(), lfin(), and lnan().
Referenced by GaudiHistos< GaudiTool >::plot().
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 |
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.
References Gaudi::Utils::Histos::fill(), Gaudi::Utils::Histos::htitle(), lfin(), and lnan().
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 |
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.
References Gaudi::Utils::Histos::fill(), Gaudi::Utils::Histos::htitle(), lfin(), and lnan().
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 |
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 985 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill(), Gaudi::Utils::Histos::htitle(), lfin(), and lnan().
00990 { 00991 if ( 0 != histo && produceHistos() ) 00992 { 00993 if ( !checkForNaN() ) 00994 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , weight ); } 00995 else if ( lfin ( valueX ) && lfin ( valueY ) && lfin ( weight ) ) 00996 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , weight ); } 00997 else if ( lnan ( valueX ) || lnan ( valueY ) || lnan ( weight ) ) 00998 { 00999 this -> Warning 01000 ("fill():: 'NaN' value is skipped from the histogram '" 01001 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 01002 } 01003 else 01004 { 01005 this -> Warning 01006 ("fill():: 'Infinite' value is skipped from the histogram '" 01007 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 01008 } 01009 } 01010 // return 01011 return histo ; 01012 }
| 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 |
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 1124 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::fill(), Gaudi::Utils::Histos::htitle(), lfin(), and lnan().
01130 { 01131 if ( 0 != histo && produceHistos() ) 01132 { 01133 if ( !checkForNaN() ) 01134 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , valueZ , weight ); } 01135 else if ( lfin ( valueX ) && lfin ( valueY ) && 01136 lfin ( valueZ ) && lfin ( weight ) ) 01137 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , valueZ , weight ); } 01138 else if ( lnan ( valueX ) || lnan ( valueY ) || 01139 lnan ( valueZ ) || lnan ( weight ) ) 01140 { 01141 this -> Warning 01142 ("fill():: 'NaN' value is skipped from the histogram '" 01143 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 01144 } 01145 else 01146 { 01147 this -> Warning 01148 ("fill():: 'Infinite' value is skipped from the histogram '" 01149 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 01150 } 01151 } 01152 // return 01153 return histo ; 01154 }
| 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 1646 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histo(), and GaudiHistos< GaudiTool >::plot().
01647 { 01648 Histo1DMapTitle::const_iterator found = histo1DMapTitle().find( title ) ; 01649 return ( histo1DMapTitle().end() == found ? 0 : found->second ); 01650 }
| 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 1659 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histoExists().
01660 { 01661 return histo1D( title ); 01662 }
| 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 1667 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histoExists().
01668 { 01669 Histo2DMapTitle::const_iterator found = histo2DMapTitle().find( title ) ; 01670 return ( histo2DMapTitle().end() == found ? 0 : found->second ); 01671 }
| 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 1676 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histoExists().
01677 { 01678 Histo3DMapTitle::const_iterator found = histo3DMapTitle().find( title ) ; 01679 return ( histo3DMapTitle().end() == found ? 0 : found->second ); 01680 }
| 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 1685 of file GaudiHistos.h.
01686 { 01687 Profile1DMapTitle::const_iterator found = profile1DMapTitle().find( title ) ; 01688 return ( profile1DMapTitle().end() == found ? 0 : found->second ); 01689 }
| 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 1694 of file GaudiHistos.h.
01695 { 01696 Profile2DMapTitle::const_iterator found = profile2DMapTitle().find( title ) ; 01697 return ( profile2DMapTitle().end() == found ? 0 : found->second ); 01698 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::histo1D | ( | const HistoID & | ID | ) | const |
access the EXISTING 1D histogram by ID return the pointer to existing 1D histogram or NULL
Reimplemented in HistoTool.
Definition at line 1505 of file GaudiHistos.icpp.
References GaudiUtils::Map< K, T, M >::end(), GaudiUtils::Map< K, T, M >::find(), GaudiHistos< PBASE >::histo1DMapLitID(), and GaudiHistos< PBASE >::histo1DMapNumID().
01506 { 01507 AIDA::IHistogram1D * h(0); 01508 if ( ID.numeric() ) 01509 { 01510 Histo1DMapNumID::const_iterator found = 01511 histo1DMapNumID().find( ID.numericID() ) ; 01512 h = ( histo1DMapNumID().end() == found ? 0 : found->second ); 01513 } 01514 else 01515 { 01516 Histo1DMapLitID::const_iterator found = 01517 histo1DMapLitID().find( ID.literalID() ) ; 01518 h = ( histo1DMapLitID().end() == found ? 0 : found->second ); 01519 } 01520 return h; 01521 }
| 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 1714 of file GaudiHistos.h.
01715 { 01716 return histo1D( ID ); 01717 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::histo2D | ( | const HistoID & | ID | ) | const |
access the EXISTING 2D histogram by ID return the pointer to existing 2D histogram or NULL
Reimplemented in HistoTool.
Definition at line 1526 of file GaudiHistos.icpp.
References GaudiUtils::Map< K, T, M >::end(), GaudiUtils::Map< K, T, M >::find(), GaudiHistos< PBASE >::histo2DMapLitID(), and GaudiHistos< PBASE >::histo2DMapNumID().
01527 { 01528 AIDA::IHistogram2D * h(0); 01529 if ( ID.numeric() ) 01530 { 01531 Histo2DMapNumID::const_iterator found = 01532 histo2DMapNumID().find( ID.numericID() ) ; 01533 h = ( histo2DMapNumID().end() == found ? 0 : found->second ); 01534 } 01535 else 01536 { 01537 Histo2DMapLitID::const_iterator found = 01538 histo2DMapLitID().find( ID.literalID() ) ; 01539 h = ( histo2DMapLitID().end() == found ? 0 : found->second ); 01540 } 01541 return h; 01542 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::histo3D | ( | const HistoID & | ID | ) | const |
access the EXISTING 3D histogram by ID return the pointer to existing 3D histogram or NULL
Reimplemented in HistoTool.
Definition at line 1547 of file GaudiHistos.icpp.
References GaudiUtils::Map< K, T, M >::end(), GaudiUtils::Map< K, T, M >::find(), GaudiHistos< PBASE >::histo3DMapLitID(), and GaudiHistos< PBASE >::histo3DMapNumID().
01548 { 01549 AIDA::IHistogram3D * h(0); 01550 if ( ID.numeric() ) 01551 { 01552 Histo3DMapNumID::const_iterator found = 01553 histo3DMapNumID().find( ID.numericID() ) ; 01554 h = ( histo3DMapNumID().end() == found ? 0 : found->second ); 01555 } 01556 else 01557 { 01558 Histo3DMapLitID::const_iterator found = 01559 histo3DMapLitID().find( ID.literalID() ) ; 01560 h = ( histo3DMapLitID().end() == found ? 0 : found->second ); 01561 } 01562 return h; 01563 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::profile1D | ( | const HistoID & | ID | ) | const |
access the EXISTING 1D profile histogram by ID return the pointer to existing 1D profile histogram or NULL
Definition at line 1568 of file GaudiHistos.icpp.
References GaudiUtils::Map< K, T, M >::end(), GaudiUtils::Map< K, T, M >::find(), GaudiHistos< PBASE >::profile1DMapLitID(), and GaudiHistos< PBASE >::profile1DMapNumID().
01569 { 01570 AIDA::IProfile1D * h(0); 01571 if ( ID.numeric() ) 01572 { 01573 Profile1DMapNumID::const_iterator found = 01574 profile1DMapNumID().find( ID.numericID() ) ; 01575 h = ( profile1DMapNumID().end() == found ? 0 : found->second ); 01576 } 01577 else 01578 { 01579 Profile1DMapLitID::const_iterator found = 01580 profile1DMapLitID().find( ID.literalID() ) ; 01581 h = ( profile1DMapLitID().end() == found ? 0 : found->second ); 01582 } 01583 return h; 01584 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::profile2D | ( | const HistoID & | ID | ) | const |
access the EXISTING 2D profile histogram by ID return the pointer to existing 2D profile histogram or NULL
Definition at line 1589 of file GaudiHistos.icpp.
References GaudiUtils::Map< K, T, M >::end(), GaudiUtils::Map< K, T, M >::find(), GaudiHistos< PBASE >::profile2DMapLitID(), and GaudiHistos< PBASE >::profile2DMapNumID().
01590 { 01591 AIDA::IProfile2D * h(0); 01592 if ( ID.numeric() ) 01593 { 01594 Profile2DMapNumID::const_iterator found = 01595 profile2DMapNumID().find( ID.numericID() ) ; 01596 h = ( profile2DMapNumID().end() == found ? 0 : found->second ); 01597 } 01598 else 01599 { 01600 Profile2DMapLitID::const_iterator found = 01601 profile2DMapLitID().find( ID.literalID() ) ; 01602 h = ( profile2DMapLitID().end() == found ? 0 : found->second ); 01603 } 01604 return h; 01605 }
| 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 1742 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::newHistoID().
01743 { 01744 return 01745 ( 0 != histo ( title ) || 01746 0 != histo2D ( title ) || 01747 0 != histo3D ( title ) || 01748 0 != profile1D ( title ) || 01749 0 != profile2D ( title ) ); 01750 }
| 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 1753 of file GaudiHistos.h.
01754 { 01755 return 01756 ( 0 != histo ( ID ) || 01757 0 != histo2D ( ID ) || 01758 0 != histo3D ( ID ) || 01759 0 != profile1D ( ID ) || 01760 0 != profile2D ( ID ) ); 01761 }
| unsigned int GaudiHistos< PBASE >::totalNumberOfHistos | ( | ) | const |
Returns the total number of histograms (of all types) currently booked.
Definition at line 1610 of file GaudiHistos.icpp.
References GaudiHistos< PBASE >::histo1DMapLitID(), GaudiHistos< PBASE >::histo1DMapNumID(), GaudiHistos< PBASE >::histo2DMapLitID(), GaudiHistos< PBASE >::histo2DMapNumID(), GaudiHistos< PBASE >::histo3DMapLitID(), GaudiHistos< PBASE >::histo3DMapNumID(), GaudiHistos< PBASE >::profile1DMapLitID(), GaudiHistos< PBASE >::profile1DMapNumID(), GaudiHistos< PBASE >::profile2DMapLitID(), GaudiHistos< PBASE >::profile2DMapNumID(), and GaudiUtils::Map< K, T, M >::size().
Referenced by GaudiHistos< PBASE >::newHistoID().
01611 { 01612 const unsigned int n1D = histo1DMapNumID().size()+histo1DMapLitID().size(); 01613 const unsigned int n2D = histo2DMapNumID().size()+histo2DMapLitID().size(); 01614 const unsigned int n3D = histo3DMapNumID().size()+histo3DMapLitID().size(); 01615 const unsigned int n1DP = profile1DMapNumID().size()+profile1DMapLitID().size(); 01616 const unsigned int n2DP = profile2DMapNumID().size()+profile2DMapLitID().size(); 01617 return n1D+n2D+n3D+n1DP+n2DP; 01618 }
| bool GaudiHistos< PBASE >::produceHistos | ( | ) | const [inline] |
get the flag for histogram production (property "HistoProduce")
Definition at line 1768 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::initialize(), and GaudiHistos< GaudiTool >::plot().
01768 { return m_produceHistos ; }
| bool GaudiHistos< PBASE >::fullDetail | ( | ) | const [inline] |
get flag to control output level of histograms
Definition at line 1770 of file GaudiHistos.h.
01770 { return m_fullDetail ; }
| bool GaudiHistos< PBASE >::checkForNaN | ( | ) | const [inline] |
get the flag for NaN checks (property "HistoCheckForNan")
Definition at line 1772 of file GaudiHistos.h.
01772 { return m_checkForNaN ; }
| bool GaudiHistos< PBASE >::splitHistoDir | ( | ) | const [inline] |
get the flag for histogram path split (property "HistoSplitDir")
Definition at line 1774 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histoPath().
01774 { return m_splitHistoDir ; }
| const HistoID::NumericID GaudiHistos< PBASE >::histoOffSet | ( | ) | const [inline] |
get the value for histogram offset (property "HistoOffSet")
Definition at line 1776 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::newHistoID().
01776 { return m_histoOffSet ; }
| const std::string& GaudiHistos< PBASE >::histoTopDir | ( | ) | const [inline] |
get top-level histogram directory (property "HistoTopDir")
Definition at line 1778 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histoPath().
01778 { return m_histoTopDir ; }
| const std::string& GaudiHistos< PBASE >::histoDir | ( | ) | const [inline] |
get histogram directory (property "HistoDir")
Definition at line 1780 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histoPath().
01780 { return m_histoDir ; }
| std::string GaudiHistos< PBASE >::histoPath | ( | ) | const [inline] |
get the constructed histogram path
Definition at line 1782 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::initialize(), and GaudiHistos< PBASE >::printHistos().
01783 { 01784 const std::string path = histoTopDir() + histoDir(); 01785 return ( splitHistoDir() ? dirHbookName(path) : path ); 01786 }
| bool GaudiHistos< PBASE >::histosPrint | ( | ) | const [inline] |
print histograms at finalization ?
Definition at line 1788 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize().
01788 { return m_histosPrint ; }
| bool GaudiHistos< PBASE >::useNumericAutoIDs | ( | ) | const [inline] |
Use old style sequencial numerical automatically assigned IDs ?
Definition at line 1790 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::initialize(), and GaudiHistos< PBASE >::newHistoID().
01790 { return m_useNumericAutoIDs; }
| int GaudiHistos< PBASE >::printHistos | ( | const MSG::Level | level = MSG::ALWAYS |
) | const |
perform the actual printout of histograms
| level | The message level to print at |
Definition at line 221 of file GaudiHistos.icpp.
References MSG::DEBUG, std::basic_string< _CharT, _Traits, _Alloc >::empty(), std::set< _Key, _Compare, _Alloc >::end(), GaudiUtils::Map< K, T, M >::end(), std::endl(), endreq(), std::set< _Key, _Compare, _Alloc >::find(), Gaudi::Utils::Histos::format(), Gaudi::Utils::Histos::Table::header(), GaudiHistos< PBASE >::histo1DMapLitID(), GaudiHistos< PBASE >::histo1DMapNumID(), GaudiHistos< PBASE >::histo2DMapLitID(), GaudiHistos< PBASE >::histo2DMapNumID(), GaudiHistos< PBASE >::histo3DMapLitID(), GaudiHistos< PBASE >::histo3DMapNumID(), GaudiHistos< PBASE >::histoPath(), std::set< _Key, _Compare, _Alloc >::insert(), GaudiHistos< PBASE >::m_histo1DTableFormat, GaudiHistos< PBASE >::m_histo1DTableFormatShort, GaudiHistos< PBASE >::m_histo1DTableHeader, GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::profile1DMapLitID(), GaudiHistos< PBASE >::profile1DMapNumID(), GaudiHistos< PBASE >::profile2DMapLitID(), GaudiHistos< PBASE >::profile2DMapNumID(), std::set< _Key, _Compare, _Alloc >::size(), Gaudi::Utils::Histos::toBase(), GaudiAlg::Print2DProf::toString(), GaudiAlg::Print1DProf::toString(), GaudiAlg::Print3D::toString(), GaudiAlg::Print2D::toString(), and Gaudi::Utils::Histos::Table::toString().
Referenced by GaudiHistos< PBASE >::finalize().
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 1825 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histo1D(), and GaudiHistos< PBASE >::noHistos().
01825 { 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 1856 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::histo1D(), GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), and GaudiHistos< PBASE >::totalNumberOfHistos().
01856 { 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 1886 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::histo1D(), GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), and GaudiHistos< PBASE >::totalNumberOfHistos().
01886 { 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 1915 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histo2D(), and GaudiHistos< PBASE >::noHistos().
01915 { 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 1946 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::histo2D(), GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), and GaudiHistos< PBASE >::totalNumberOfHistos().
01946 { 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 1976 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::histo2D(), GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), and GaudiHistos< PBASE >::totalNumberOfHistos().
01976 { 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 2005 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histo3D(), and GaudiHistos< PBASE >::noHistos().
02005 { 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 2036 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::histo3D(), GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), and GaudiHistos< PBASE >::totalNumberOfHistos().
02036 { 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 2066 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::histo3D(), GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), and GaudiHistos< PBASE >::totalNumberOfHistos().
02066 { 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 2095 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::noHistos(), and GaudiHistos< GaudiTool >::profile1D().
02095 { 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 2126 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), GaudiHistos< PBASE >::profile1D(), and GaudiHistos< PBASE >::totalNumberOfHistos().
02126 { 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 2157 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), GaudiHistos< PBASE >::profile1D(), and GaudiHistos< PBASE >::totalNumberOfHistos().
02157 { 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 2186 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::noHistos(), and GaudiHistos< GaudiTool >::profile2D().
02186 { 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 2217 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), GaudiHistos< PBASE >::profile2D(), and GaudiHistos< PBASE >::totalNumberOfHistos().
02217 { 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 2248 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), GaudiHistos< PBASE >::profile2D(), and GaudiHistos< PBASE >::totalNumberOfHistos().
02248 { return m_profile2DMapLitID; }
| void GaudiHistos< PBASE >::setProduceHistos | ( | const bool | val | ) | [inline] |
set the flag for histogram production (property "HistoProduce")
Definition at line 2253 of file GaudiHistos.h.
02253 { m_produceHistos = val ; }
| void GaudiHistos< PBASE >::setFullDetail | ( | const bool | val | ) | [inline] |
set flag to control output level of histograms
Definition at line 2255 of file GaudiHistos.h.
02255 { m_fullDetail = val ; }
| void GaudiHistos< PBASE >::setCheckForNaN | ( | const bool | val | ) | [inline] |
set the flag for NaN checks (property "HistoCheckForNan")
Definition at line 2257 of file GaudiHistos.h.
02257 { m_checkForNaN = val ; }
| void GaudiHistos< PBASE >::setSplitHistoDir | ( | const bool | val | ) | [inline] |
set the flag for histogram path split (property "HistoSplitDir")
Definition at line 2259 of file GaudiHistos.h.
02259 { m_splitHistoDir = val ; }
| void GaudiHistos< PBASE >::setHistoOffSet | ( | const HistoID::NumericID | val | ) | [inline] |
set a value for histogram offset (property "HistoOffSet"
Definition at line 2261 of file GaudiHistos.h.
02262 { m_histoOffSet = val ; }
| void GaudiHistos< PBASE >::setHistoTopDir | ( | const std::string & | val | ) | [inline] |
set top-level histogram directory (property "HistoTopDir")
Definition at line 2265 of file GaudiHistos.h.
02265 { m_histoTopDir = val ; }
| void GaudiHistos< PBASE >::setHistoDir | ( | const std::string & | val | ) | [inline] |
set histogram directory (property "HistoDir")
Definition at line 2268 of file GaudiHistos.h.
02268 { m_histoDir = val ; }
| StatusCode GaudiHistos< PBASE >::initialize | ( | ) | [protected, virtual] |
standard initialization method
Reimplemented in GaudiHistoAlg, GaudiHistoTool, GaudiTupleAlg, GaudiTupleTool, GaudiTuples< GaudiHistoTool >, and GaudiTuples< GaudiHistoAlg >.
Definition at line 129 of file GaudiHistos.icpp.
References MSG::DEBUG, endreq(), GaudiHistos< PBASE >::histoPath(), StatusCode::isFailure(), GaudiHistos< PBASE >::produceHistos(), StatusCode::SUCCESS, and GaudiHistos< PBASE >::useNumericAutoIDs().
Referenced by GaudiHistoTool::initialize(), and GaudiHistoAlg::initialize().
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 | ( | ) | [protected, virtual] |
standard finalization method
Reimplemented in GaudiHistoAlg, GaudiHistoTool, GaudiTupleAlg, GaudiTupleTool, GaudiTuples< GaudiHistoTool >, and GaudiTuples< GaudiHistoAlg >.
Definition at line 165 of file GaudiHistos.icpp.
References GaudiUtils::Map< K, T, M >::clear(), endreq(), GaudiHistos< PBASE >::histo1DMapLitID(), GaudiHistos< PBASE >::histo1DMapNumID(), GaudiHistos< PBASE >::histo2DMapLitID(), GaudiHistos< PBASE >::histo2DMapNumID(), GaudiHistos< PBASE >::histo3DMapLitID(), GaudiHistos< PBASE >::histo3DMapNumID(), GaudiHistos< PBASE >::histosPrint(), GaudiHistos< PBASE >::m_histo1DMapLitID, GaudiHistos< PBASE >::m_histo1DMapNumID, GaudiHistos< PBASE >::m_histo1DMapTitle, GaudiHistos< PBASE >::m_histo2DMapLitID, GaudiHistos< PBASE >::m_histo2DMapNumID, GaudiHistos< PBASE >::m_histo2DMapTitle, GaudiHistos< PBASE >::m_histo3DMapLitID, GaudiHistos< PBASE >::m_histo3DMapNumID, GaudiHistos< PBASE >::m_histo3DMapTitle, GaudiHistos< PBASE >::m_profile1DMapLitID, GaudiHistos< PBASE >::m_profile1DMapNumID, GaudiHistos< PBASE >::m_profile1DMapTitle, GaudiHistos< PBASE >::m_profile2DMapLitID, GaudiHistos< PBASE >::m_profile2DMapNumID, GaudiHistos< PBASE >::m_profile2DMapTitle, GaudiHistos< PBASE >::noHistos(), GaudiHistos< PBASE >::printHistos(), GaudiHistos< PBASE >::produceHistos(), GaudiHistos< PBASE >::profile1DMapLitID(), GaudiHistos< PBASE >::profile1DMapNumID(), GaudiHistos< PBASE >::profile2DMapLitID(), GaudiHistos< PBASE >::profile2DMapNumID(), and GaudiUtils::Map< K, T, M >::size().
Referenced by GaudiHistoTool::finalize(), and GaudiHistoAlg::finalize().
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 [private] |
Check if all histogram maps are empty.
Definition at line 417 of file GaudiHistos.icpp.
References GaudiHistos< PBASE >::histo1DMapLitID(), GaudiHistos< PBASE >::histo1DMapNumID(), GaudiHistos< PBASE >::histo1DMapTitle(), GaudiHistos< PBASE >::histo2DMapLitID(), GaudiHistos< PBASE >::histo2DMapNumID(), GaudiHistos< PBASE >::histo2DMapTitle(), GaudiHistos< PBASE >::histo3DMapLitID(), GaudiHistos< PBASE >::histo3DMapNumID(), GaudiHistos< PBASE >::histo3DMapTitle(), GaudiHistos< PBASE >::profile1DMapLitID(), GaudiHistos< PBASE >::profile1DMapNumID(), GaudiHistos< PBASE >::profile1DMapTitle(), GaudiHistos< PBASE >::profile2DMapLitID(), GaudiHistos< PBASE >::profile2DMapNumID(), and GaudiHistos< PBASE >::profile2DMapTitle().
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< PBASE >::printHistos().
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 | ( | ) | [private] |
Constructor initialisation and job options.
Definition at line 60 of file GaudiHistos.icpp.
References Gaudi::Utils::Histos::Formats::format(), Gaudi::Utils::Histos::Formats::header(), GaudiHistos< PBASE >::m_checkForNaN, GaudiHistos< PBASE >::m_declareMoniHists, GaudiHistos< PBASE >::m_fullDetail, GaudiHistos< PBASE >::m_histo1DTableFormat, GaudiHistos< PBASE >::m_histo1DTableFormatShort, GaudiHistos< PBASE >::m_histo1DTableHeader, GaudiHistos< PBASE >::m_histoDir, GaudiHistos< PBASE >::m_histoOffSet, GaudiHistos< PBASE >::m_histosPrint, GaudiHistos< PBASE >::m_histoTopDir, GaudiHistos< PBASE >::m_idReplaceInfo, GaudiHistos< PBASE >::m_produceHistos, GaudiHistos< PBASE >::m_splitHistoDir, and GaudiHistos< PBASE >::m_useNumericAutoIDs.
Referenced by GaudiHistos< GaudiTool >::GaudiHistos(), and GaudiHistos< GaudiAlgorithm >::GaudiHistos().
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 = true , 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 [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.
References MSG::DEBUG, endreq(), and Gaudi::Utils::Histos::htitle().
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 [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 1623 of file GaudiHistos.icpp.
References std::basic_string< _CharT, _Traits, _Alloc >::empty(), GaudiHistos< PBASE >::histoExists(), GaudiHistos< PBASE >::histoOffSet(), StatusCode::SUCCESS, GaudiHistos< PBASE >::totalNumberOfHistos(), and GaudiHistos< PBASE >::useNumericAutoIDs().
01625 { 01626 if ( useNumericAutoIDs() || title.empty() ) 01627 { 01628 if ( !useNumericAutoIDs() ) 01629 { 01630 this -> Warning( "Cannot generate automatic literal ID from an empty title ! Using numeric ID instead for histogram ID", 01631 StatusCode::SUCCESS ); 01632 } 01633 // propose the histogram ID (always numeric) 01634 ID = HistoID( totalNumberOfHistos() + 1 + histoOffSet() ); 01635 // adjust the proposed ID 01636 while ( histoExists( ID ) ) { ++ID; } 01637 } 01638 else 01639 { 01640 // use the title to create a unique literal ID 01641 ID = HistoID( this->convertTitleToID(title) ); 01642 // Just in case ... 01643 while ( histoExists( ID ) ) { ID = HistoID(ID.idAsString()+"_"); } 01644 } 01645 }
| void GaudiHistos< PBASE >::stringSearchReplace | ( | std::string & | title, | |
| const std::string & | A, | |||
| const std::string & | B | |||
| ) | const [private] |
Searches 'title' for all instancies of 'A' and replaces them with 'B'.
Definition at line 1665 of file GaudiHistos.icpp.
References std::basic_string< _CharT, _Traits, _Alloc >::find_first_of(), std::basic_string< _CharT, _Traits, _Alloc >::npos, std::basic_string< _CharT, _Traits, _Alloc >::size(), and std::basic_string< _CharT, _Traits, _Alloc >::substr().
Referenced by GaudiHistos< PBASE >::convertTitleToID().
01668 { 01669 std::string::size_type slash = title.find_first_of ( A ) ; 01670 while ( std::string::npos != slash ) 01671 { 01672 title = title.substr(0,slash) + B + title.substr(slash+A.size()); 01673 slash = title.find_first_of( A ); 01674 } 01675 }
| std::string GaudiHistos< PBASE >::convertTitleToID | ( | const std::string & | title | ) | const [protected] |
Create an ID string from a title string.
Definition at line 1650 of file GaudiHistos.icpp.
References GaudiHistos< PBASE >::m_idReplaceInfo, and GaudiHistos< PBASE >::stringSearchReplace().
01651 { 01652 // clean up the ID string for all unwanted characters 01653 std::string tmp_id = title; 01654 for ( std::map<std::string,std::string>::const_iterator i = m_idReplaceInfo.begin(); 01655 i != m_idReplaceInfo.end(); ++i ) 01656 { 01657 stringSearchReplace( tmp_id, i->first, i->second ); 01658 } 01659 return tmp_id; 01660 }
bool GaudiHistos< PBASE >::m_produceHistos [private] |
flag to SWITCH ON/SWITCH OFF the histogrm fillling and booking
Definition at line 2332 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::initGaudiHistosConstructor(), GaudiHistos< GaudiTool >::produceHistos(), and GaudiHistos< GaudiTool >::setProduceHistos().
bool GaudiHistos< PBASE >::m_fullDetail [private] |
flag to control output level of histograms
Definition at line 2334 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::fullDetail(), GaudiHistos< PBASE >::initGaudiHistosConstructor(), and GaudiHistos< GaudiTool >::setFullDetail().
bool GaudiHistos< PBASE >::m_checkForNaN [private] |
flag to control check for Nan/Finite while filling the histogram
Definition at line 2336 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::checkForNaN(), GaudiHistos< PBASE >::initGaudiHistosConstructor(), and GaudiHistos< GaudiTool >::setCheckForNaN().
bool GaudiHistos< PBASE >::m_splitHistoDir [private] |
split histogram directory name (very useful for Hbook)
Definition at line 2338 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::initGaudiHistosConstructor(), GaudiHistos< GaudiTool >::setSplitHistoDir(), and GaudiHistos< GaudiTool >::splitHistoDir().
HistoID::NumericID GaudiHistos< PBASE >::m_histoOffSet [private] |
general histogram ID offset (only works for automatically assigned numeric IDs)
Definition at line 2340 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histoOffSet(), GaudiHistos< PBASE >::initGaudiHistosConstructor(), and GaudiHistos< GaudiTool >::setHistoOffSet().
std::string GaudiHistos< PBASE >::m_histoTopDir [private] |
histogram top level directory
Definition at line 2342 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histoTopDir(), GaudiHistos< PBASE >::initGaudiHistosConstructor(), and GaudiHistos< GaudiTool >::setHistoTopDir().
std::string GaudiHistos< PBASE >::m_histoDir [private] |
histogram directory
Definition at line 2344 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histoDir(), GaudiHistos< PBASE >::initGaudiHistosConstructor(), and GaudiHistos< GaudiTool >::setHistoDir().
bool GaudiHistos< PBASE >::m_histosPrint [private] |
print histograms at finalization
Definition at line 2346 of file GaudiHistos.h.
Referenced by GaudiHistos< GaudiTool >::histosPrint(), and GaudiHistos< PBASE >::initGaudiHistosConstructor().
bool GaudiHistos< PBASE >::m_declareMoniHists [private] |
Flag to turn on/off the registration of histograms to the Monitoring Service.
Definition at line 2348 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::initGaudiHistosConstructor().
Histo1DMapTitle GaudiHistos< PBASE >::m_histo1DMapTitle [mutable, private] |
the actual storage/access of 1D histograms by unique title
Definition at line 2351 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::histo1DMapTitle().
Histo1DMapNumID GaudiHistos< PBASE >::m_histo1DMapNumID [mutable, private] |
the actual storage/access of 1D histograms by unique numeric ID
Definition at line 2353 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::histo1DMapNumID().
Histo1DMapLitID GaudiHistos< PBASE >::m_histo1DMapLitID [mutable, private] |
the actual storage/access of 1D histograms by unique literal ID
Definition at line 2355 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::histo1DMapLitID().
Histo2DMapTitle GaudiHistos< PBASE >::m_histo2DMapTitle [mutable, private] |
the actual storage/access of 2D histograms by unique title
Definition at line 2358 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::histo2DMapTitle().
Histo2DMapNumID GaudiHistos< PBASE >::m_histo2DMapNumID [mutable, private] |
the actual storage/access of 2D histograms by unique numeric ID
Definition at line 2360 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::histo2DMapNumID().
Histo2DMapLitID GaudiHistos< PBASE >::m_histo2DMapLitID [mutable, private] |
the actual storage/access of 2D histograms by unique literal ID
Definition at line 2362 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::histo2DMapLitID().
Histo3DMapTitle GaudiHistos< PBASE >::m_histo3DMapTitle [mutable, private] |
the actual storage/access of 3D histograms by unique title
Definition at line 2365 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::histo3DMapTitle().
Histo3DMapNumID GaudiHistos< PBASE >::m_histo3DMapNumID [mutable, private] |
the actual storage/access of 3D histograms by unique numeric ID
Definition at line 2367 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::histo3DMapNumID().
Histo3DMapLitID GaudiHistos< PBASE >::m_histo3DMapLitID [mutable, private] |
the actual storage/access of 3D histograms by unique literal ID
Definition at line 2369 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::histo3DMapLitID().
Profile1DMapTitle GaudiHistos< PBASE >::m_profile1DMapTitle [mutable, private] |
the actual storage/access of 1D profile histograms by unique title
Definition at line 2372 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::profile1DMapTitle().
Profile1DMapNumID GaudiHistos< PBASE >::m_profile1DMapNumID [mutable, private] |
the actual storage/access of 1D profile histograms by unique numeric ID
Definition at line 2374 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::profile1DMapNumID().
Profile1DMapLitID GaudiHistos< PBASE >::m_profile1DMapLitID [mutable, private] |
the actual storage/access of 1D profile histograms by unique literal ID
Definition at line 2376 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::profile1DMapLitID().
Profile2DMapTitle GaudiHistos< PBASE >::m_profile2DMapTitle [mutable, private] |
the actual storage/access of 2D profile histograms by unique title
Definition at line 2379 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::profile2DMapTitle().
Profile2DMapNumID GaudiHistos< PBASE >::m_profile2DMapNumID [mutable, private] |
the actual storage/access of 2D profile histograms by unique numeric ID
Definition at line 2381 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::profile2DMapNumID().
Profile2DMapLitID GaudiHistos< PBASE >::m_profile2DMapLitID [mutable, private] |
the actual storage/access of 2D profile histograms by unique literal ID
Definition at line 2383 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::finalize(), and GaudiHistos< GaudiTool >::profile2DMapLitID().
std::string GaudiHistos< PBASE >::m_histo1DTableFormat [private] |
format for printout of 1D-histograms as a table
Definition at line 2386 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::initGaudiHistosConstructor(), and GaudiHistos< PBASE >::printHistos().
std::string GaudiHistos< PBASE >::m_histo1DTableFormatShort [private] |
format for printout of 1D-histograms as a table
Definition at line 2388 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::initGaudiHistosConstructor(), and GaudiHistos< PBASE >::printHistos().
std::string GaudiHistos< PBASE >::m_histo1DTableHeader [private] |
the header for the table of 1-D historgrams
Definition at line 2390 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::initGaudiHistosConstructor(), and GaudiHistos< PBASE >::printHistos().
bool GaudiHistos< PBASE >::m_useNumericAutoIDs [private] |
Flag to switch back to the old style sequencial numerical automatic IDs.
Definition at line 2392 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::initGaudiHistosConstructor(), and GaudiHistos< GaudiTool >::useNumericAutoIDs().
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 2396 of file GaudiHistos.h.
Referenced by GaudiHistos< PBASE >::convertTitleToID(), and GaudiHistos< PBASE >::initGaudiHistosConstructor().