|
Gaudi Framework, version v21r4 |
| Home | Generated: 7 Sep 2009 |
#include <GaudiAlg/GaudiHistos.h>

Definition at line 51 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 | |
| typedef GaudiAlg::HistoBinEdges | HistoBinEdges |
| Edges for variable binning. | |
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 * | plot1D (const double value, const Gaudi::Histo1DDef &hdef, 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 * | plot1D (const double value, const HistoID &ID, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const |
| fill the 1D histogram with forced ID assignment (book on demand) | |
| AIDA::IHistogram1D * | plot (const double value, const HistoID &ID, const Gaudi::Histo1DDef &hdef, const double weight=1.0) const |
| fill the 1D histogram (book on demand) | |
| 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::IHistogram1D * | plot1D (const double value, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const |
| Fill the 1D variable binning histogram (book on demand). | |
| AIDA::IHistogram1D * | plot1D (const double value, const HistoID &ID, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const |
| fill the 1D variable binning histogram with forced ID assignment (book on demand) | |
| 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::IHistogram2D * | plot2D (const double valueX, const double valueY, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const |
| Fill the 2D variable binning histogram (book on demand). | |
| AIDA::IHistogram2D * | plot2D (const double valueX, const double valueY, const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const |
| fill the 2D variable histogram with forced ID assignment (book on demand) | |
| 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::IHistogram3D * | plot3D (const double valueX, const double valueY, const double valueZ, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ, const double weight=1.0) const |
| Fill the 3D variable binning histogram (book on demand). | |
| AIDA::IHistogram3D * | plot3D (const double valueX, const double valueY, const double valueZ, const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ, const double weight=1.0) const |
| fill the 3D histogram with forced ID assignment (book on demand) | |
| AIDA::IProfile1D * | profile1D (const double valueX, const double valueY, const std::string &title, const double lowX, const double highX, const unsigned long binsX=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max(), const double weight=1.0) const |
| fill the 1D profile histogram (book on demand) | |
| AIDA::IProfile1D * | profile1D (const double valueX, const double valueY, const HistoID &ID, const std::string &title, const double lowX, const double highX, const unsigned long binsX=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max(), const double weight=1.0) const |
| fill the 1D profile histogram with forced ID assignment (book on demand) | |
| AIDA::IProfile1D * | profile1D (const double valueX, const double valueY, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const |
| fill the 1D variable binning profile histogram (book on demand) | |
| AIDA::IProfile1D * | profile1D (const double valueX, const double valueY, const HistoID &ID, const std::string &title, const HistoBinEdges &edges, const double weight=1.0) const |
| fill the 1D variable binning profile histogram with forced ID assignment (book on demand) | |
| 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::IProfile2D * | profile2D (const double valueX, const double valueY, const double valueZ, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const |
| fill the 2D variable binning profile histogram (book on demand) | |
| AIDA::IProfile2D * | profile2D (const double valueX, const double valueY, const double valueZ, const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const double weight=1.0) const |
| fill the 2D variable binning profile histogram with forced ID assignment (book on demand) | |
| 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::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::IHistogram1D * | book1D (const std::string &title, const HistoBinEdges &edges) const |
| book the 1D variable binning histogram | |
| AIDA::IHistogram1D * | book1D (const HistoID &ID, const std::string &title, const HistoBinEdges &edges) const |
| book the 1D variable binning histogram with given ID | |
| 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::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::IHistogram2D * | book2D (const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const |
| book the 2D variable binning histogram | |
| AIDA::IHistogram2D * | book2D (const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const |
| book the 2D variable binning histogram with given ID | |
| 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::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::IHistogram3D * | book3D (const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ) const |
| book the 3D variable binning histogram | |
| AIDA::IHistogram3D * | book3D (const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY, const HistoBinEdges &edgesZ) const |
| book the 3D variable binning histogram with given ID | |
| AIDA::IProfile1D * | bookProfile1D (const std::string &title, const double low=0, const double high=100, const unsigned long bins=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max()) const |
| book the 1D profile histogram | |
| AIDA::IProfile1D * | bookProfile1D (const HistoID &ID, const std::string &title, const double low=0, const double high=100, const unsigned long bins=100, const std::string &opt="", const double lowY=-std::numeric_limits< double >::max(), const double highY=std::numeric_limits< double >::max()) const |
| book the 1D profile histogram | |
| AIDA::IProfile1D * | bookProfile1D (const std::string &title, const HistoBinEdges &edges) const |
| book the 1D profile histogram | |
| AIDA::IProfile1D * | bookProfile1D (const HistoID &ID, const std::string &title, const HistoBinEdges &edges) 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::IProfile2D * | bookProfile2D (const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const |
| book the 2D profile histogram | |
| AIDA::IProfile2D * | bookProfile2D (const HistoID &ID, const std::string &title, const HistoBinEdges &edgesX, const HistoBinEdges &edgesY) const |
| book the 2D profile histogram with forced ID | |
| AIDA::IHistogram1D * | fill (AIDA::IHistogram1D *histo, const double value, const double weight, const std::string &title="") const |
| fill the 1D histogram with the value and weight | |
| AIDA::IHistogram2D * | fill (AIDA::IHistogram2D *histo, const double valueX, const double valueY, const double weight, const std::string &title="") const |
| fill the 2D histogram with the value and weight | |
| AIDA::IHistogram3D * | fill (AIDA::IHistogram3D *histo, const double valueX, const double valueY, const double valueZ, const double weight, const std::string &title="") const |
| fill the 3D histogram with the value and weight | |
| AIDA::IProfile1D * | fill (AIDA::IProfile1D *histo, const double valueX, const double valueY, const double weight, const std::string &title="") const |
| fill the 1D profile histogram with the values and weight | |
| AIDA::IProfile2D * | fill (AIDA::IProfile2D *histo, const double valueX, const double valueY, const double valueZ, const double weight, const std::string &title="") const |
| fill the 2D profile histogram with the values and weight | |
| AIDA::IHistogram1D * | histo1D (const std::string &title) const |
| access the EXISTING 1D histogram by title return the pointer to existing 1D histogram or NULL | |
| AIDA::IHistogram1D * | histo (const std::string &title) const |
| access the EXISTING 1D histogram by title | |
| AIDA::IHistogram2D * | histo2D (const std::string &title) const |
| access the EXISTING 2D histogram by title return the pointer to existing 2D histogram or NULL | |
| AIDA::IHistogram3D * | histo3D (const std::string &title) const |
| access the EXISTING 3D histogram by title return the pointer to existing 3D histogram or NULL | |
| AIDA::IProfile1D * | profile1D (const std::string &title) const |
| access the EXISTING 1D profile histogram by title return the pointer to existing 1D profile histogram or NULL | |
| AIDA::IProfile2D * | profile2D (const std::string &title) const |
| access the EXISTING 2D profile histogram by title return the pointer to existing 2D profile histogram or NULL | |
| AIDA::IHistogram1D * | histo1D (const HistoID &ID) const |
| access the EXISTING 1D histogram by ID return the pointer to existing 1D histogram or NULL | |
| AIDA::IHistogram1D * | histo (const HistoID &ID) const |
| access the EXISTING 1D histogram by ID | |
| AIDA::IHistogram2D * | histo2D (const HistoID &ID) const |
| access the EXISTING 2D histogram by ID return the pointer to existing 2D histogram or NULL | |
| AIDA::IHistogram3D * | histo3D (const HistoID &ID) const |
| access the EXISTING 3D histogram by ID return the pointer to existing 3D histogram or NULL | |
| AIDA::IProfile1D * | profile1D (const HistoID &ID) const |
| access the EXISTING 1D profile histogram by ID return the pointer to existing 1D profile histogram or NULL | |
| AIDA::IProfile2D * | profile2D (const HistoID &ID) const |
| access the EXISTING 2D profile histogram by ID return the pointer to existing 2D profile histogram or NULL | |
| bool | histoExists (const std::string &title) const |
| check the existence AND validity of the histogram with given title | |
| bool | histoExists (const HistoID &ID) const |
| check the existence AND validity of the histogram with given title | |
| unsigned int | totalNumberOfHistos () const |
| Returns the total number of histograms (of all types) currently booked. | |
| bool | produceHistos () const |
| get the flag for histogram production (property "HistoProduce") | |
| bool | fullDetail () const |
| get flag to control output level of histograms | |
| bool | checkForNaN () const |
| get the flag for NaN checks (property "HistoCheckForNan") | |
| bool | splitHistoDir () const |
| get the flag for histogram path split (property "HistoSplitDir") | |
| HistoID::NumericID | histoOffSet () const |
| get the value for histogram offset (property "HistoOffSet") | |
| const std::string & | histoTopDir () const |
| get top-level histogram directory (property "HistoTopDir") | |
| const std::string & | histoDir () const |
| get histogram directory (property "HistoDir") | |
| std::string | histoPath () const |
| get the constructed histogram path | |
| bool | histosPrint () const |
| print histograms at finalization ? | |
| bool | useNumericAutoIDs () const |
| Use old style sequencial numerical automatically assigned IDs ? | |
| int | printHistos (const MSG::Level level=MSG::ALWAYS) const |
| perform the actual printout of histograms | |
| const Histo1DMapTitle & | histo1DMapTitle () const |
| get access to the map of all 1D histograms indexed via their title | |
| const Histo1DMapNumID & | histo1DMapNumID () const |
| get access to the map of 1D histograms index via a numeric ID | |
| const Histo1DMapLitID & | histo1DMapLitID () const |
| get access to the map of all 1D histograms index via a literal (string) ID | |
| const Histo2DMapTitle & | histo2DMapTitle () const |
| get access to the map of all 2D histograms indexed via their title | |
| const Histo2DMapNumID & | histo2DMapNumID () const |
| get access to the map of 2D histograms index via a numeric ID | |
| const Histo2DMapLitID & | histo2DMapLitID () const |
| get access to the map of all 2D histograms index via a literal (string) ID | |
| const Histo3DMapTitle & | histo3DMapTitle () const |
| get access to the map of all 3D histograms indexed via their title | |
| const Histo3DMapNumID & | histo3DMapNumID () const |
| get access to the map of 3D histograms index via a numeric ID | |
| const Histo3DMapLitID & | histo3DMapLitID () const |
| get access to the map of all 3D histograms index via a literal (string) ID | |
| const Profile1DMapTitle & | profile1DMapTitle () const |
| get access to the map of all 1D profile histograms indexed via their title | |
| const Profile1DMapNumID & | profile1DMapNumID () const |
| get access to the map of 1D profile histograms index via a numeric ID | |
| const Profile1DMapLitID & | profile1DMapLitID () const |
| get access to the map of 1D profile histograms index via a literal ID | |
| const Profile2DMapTitle & | profile2DMapTitle () const |
| get access to the map of all 2D profile histograms indexed via their title | |
| const Profile2DMapNumID & | profile2DMapNumID () const |
| get access to the map of 2D profile histograms index via a numeric ID | |
| const Profile2DMapLitID & | profile2DMapLitID () const |
| get access to the map of 2D profile histograms index via a literal ID | |
| void | setProduceHistos (const bool val) |
| set the flag for histogram production (property "HistoProduce") | |
| void | setFullDetail (const bool val) |
| set flag to control output level of histograms | |
| void | setCheckForNaN (const bool val) |
| set the flag for NaN checks (property "HistoCheckForNan") | |
| void | setSplitHistoDir (const bool val) |
| set the flag for histogram path split (property "HistoSplitDir") | |
| void | setHistoOffSet (const HistoID::NumericID val) |
| set a value for histogram offset (property "HistoOffSet" | |
| void | setHistoTopDir (const std::string &val) |
| set top-level histogram directory (property "HistoTopDir") | |
| void | setHistoDir (const std::string &val) |
| set histogram directory (property "HistoDir") | |
| GaudiHistos (const std::string &name, ISvcLocator *pSvcLocator) | |
| Algorithm constructor. | |
| GaudiHistos (const std::string &type, const std::string &name, const IInterface *parent) | |
| Tool constructor. | |
| virtual | ~GaudiHistos () |
| Destructor. | |
Protected Member Functions | |
| virtual StatusCode | initialize () |
| standard initialization method | |
| virtual StatusCode | finalize () |
| standard finalization method | |
| std::string | convertTitleToID (const std::string &title) const |
| Create an ID string from a title string. | |
Private Member Functions | |
| bool | noHistos () const |
| Check if all histogram maps are empty. | |
| void | initGaudiHistosConstructor () |
| Constructor initialisation and job options. | |
| void | monitorHisto (const AIDA::IBaseHistogram *hist, const HistoID &ID) const |
| Declare a histogram to the monitor service. | |
| void | newHistoID (const std::string &title, HistoID &ID) const |
| Create a new histogram ID using the given title. | |
| void | stringSearchReplace (std::string &title, const std::string &A, const std::string &B) const |
| Searches 'title' for all instancies of 'A' and replaces them with 'B'. | |
| void | printHistoHandler (Property &) |
| the handler for "HistoPrint" property | |
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 56 of file GaudiHistos.h.
| typedef GaudiAlg::Histo1DMapNumericID GaudiHistos< PBASE >::Histo1DMapNumID |
the actual type for (Numeric ID)->(1D histogram) mapping
Definition at line 59 of file GaudiHistos.h.
| typedef GaudiAlg::Histo1DMapLiteralID GaudiHistos< PBASE >::Histo1DMapLitID |
the actual type for (Literal ID)->(1D histogram) mapping
Definition at line 61 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 66 of file GaudiHistos.h.
| typedef GaudiAlg::Histo2DMapLiteralID GaudiHistos< PBASE >::Histo2DMapLitID |
the actual type for (Literal ID)->(2D histogram) mapping
Definition at line 68 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 73 of file GaudiHistos.h.
| typedef GaudiAlg::Histo3DMapLiteralID GaudiHistos< PBASE >::Histo3DMapLitID |
the actual type for (Literal ID)->(3D histogram) mapping
Definition at line 75 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 80 of file GaudiHistos.h.
| typedef GaudiAlg::Profile1DMapLiteralID GaudiHistos< PBASE >::Profile1DMapLitID |
the actual type for (Literal ID)->(1D profile histogram) mapping
Definition at line 82 of file GaudiHistos.h.
| typedef GaudiAlg::Profile1DMapTitle GaudiHistos< PBASE >::Profile1DMapTitle |
the actual type for title->(1D profile histogram) mapping
Definition at line 84 of file GaudiHistos.h.
| typedef GaudiAlg::Profile2DMapNumericID GaudiHistos< PBASE >::Profile2DMapNumID |
the actual type for (Numeric ID)->(2D profile histogram) mapping
Definition at line 87 of file GaudiHistos.h.
| typedef GaudiAlg::Profile2DMapLiteralID GaudiHistos< PBASE >::Profile2DMapLitID |
the actual type for (Literal ID)->(2D profile histogram) mapping
Definition at line 89 of file GaudiHistos.h.
| typedef GaudiAlg::Profile2DMapTitle GaudiHistos< PBASE >::Profile2DMapTitle |
the actual type for title->(2D profile histogram) mapping
Definition at line 91 of file GaudiHistos.h.
| typedef GaudiAlg::HistoBinEdges GaudiHistos< PBASE >::HistoBinEdges |
| GaudiHistos< PBASE >::GaudiHistos | ( | const std::string & | name, | |
| ISvcLocator * | pSvcLocator | |||
| ) |
Algorithm constructor.
| GaudiHistos< PBASE >::GaudiHistos | ( | const std::string & | type, | |
| const std::string & | name, | |||
| const IInterface * | parent | |||
| ) |
Tool constructor.
| GaudiHistos< PBASE >::~GaudiHistos | ( | ) | [inline, virtual] |
| AIDA::IHistogram1D * GaudiHistos< PBASE >::plot1D | ( | const double | value, | |
| const std::string & | title, | |||
| const double | low, | |||
| const double | high, | |||
| const unsigned long | bins = 100, |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D histogram (book on demand)
const double mass = ... ; plot1D( mass , "Invariant Mass" , 2.5 , 3.5 , 100 )
This example illustrates the filling of the histogram titled "InvariantMass" with value mass .
If the histogram with given title does not exist yet it will be automatically booked with parameters low equal to 2.5, parameters high equal to 3.5 and bins equal to 100.
| value | value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 134 of file GaudiHistos_1DFixedBinning.icpp.
00140 { 00141 AIDA::IHistogram1D * h(NULL); 00142 if ( produceHistos() ) 00143 { 00144 // retrieve or book the histogram 00145 h = histo1D ( title ) ; 00146 if ( NULL == h ) { h = book1D ( title , low , high , bins ) ; } 00147 // fill the histogram 00148 h = fill ( h , value , weight , title ); 00149 } 00150 return h; 00151 }
| 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 165 of file GaudiHistos.h.
00171 { 00172 return plot1D ( value, title, low, high, bins, weight ); 00173 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::plot1D | ( | const double | value, | |
| const Gaudi::Histo1DDef & | hdef, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D histogram (book on demand)
const Gaudi::Histo1DDef& hdef = ... ;
const double mass = ... ;
plot1D ( 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 | |
| weight | weight |
Definition at line 211 of file GaudiHistos_1DFixedBinning.icpp.
00214 { 00215 return plot1D 00216 ( value , 00217 hdef.title() , hdef.lowEdge() , hdef.highEdge() , hdef.bins() , 00218 weight ) ; 00219 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::plot | ( | const double | value, | |
| const Gaudi::Histo1DDef & | hdef, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D histogram (book on demand)
Wrapper method for the equivalent plot1D method. Retained for backwards compatibility, please use plot1D instead.
| value | value to be filled | |
| hdef | histogram descriptor | |
| weight | weight |
Definition at line 215 of file GaudiHistos.h.
00218 { 00219 return plot1D ( value, hdef, weight ); 00220 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::plot1D | ( | const double | value, | |
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const double | low, | |||
| const double | high, | |||
| const unsigned long | bins = 100, |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D histogram with forced ID assignment (book on demand)
const double mass = ... ; plot1D( mass , 15 , "Invariant Mass" , 2.5 , 3.5 , 100 )
This example illustrates the filling of the 1D histogram ID=15 titled "Invariant Mass" with value mass .
If the histogram with given ID does not exist yet it will be automatically booked with parameters low equal to 2.5, parameters high equal to 3.5 and bins equal to 100.
It is also possible to use literal IDs. For example :-
const double mass = ... ; plot1D( mass , "mass" , "Invariant Mass" , 2.5 , 3.5 , 100 )
Will book the same histogram, using the id "mass".
It is also possible using literal IDs, to place histograms in sub-directories from the main histogram directory, using for example :-
const double mass = ... ; plot1D( mass , "subdir/mass" , "Invariant Mass" , 2.5 , 3.5 , 100 )
Which will create the histogram "mass" in the sub-directory "subdir". Histograms can also be created in sub-directories with numeric IDs if IDs such as "subdir/1" are used.
| value | value to be filled | |
| ID | histogram identifier | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 158 of file GaudiHistos_1DFixedBinning.icpp.
00165 { 00166 AIDA::IHistogram1D* h(NULL); 00167 if ( produceHistos() ) 00168 { 00169 // retrieve or book the histogram 00170 h = histo1D ( ID ) ; 00171 if ( NULL == h ) { h = book1D ( ID , title , low , high , bins ) ; } 00172 // fill 00173 h = fill ( h , value , weight , title ) ; 00174 } 00175 return h; 00176 }
| 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 311 of file GaudiHistos.h.
| AIDA::IHistogram1D * GaudiHistos< PBASE >::plot1D | ( | const double | value, | |
| const HistoID & | ID, | |||
| const Gaudi::Histo1DDef & | hdef, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D histogram with forced ID assignment (book on demand)
// get the histogram descriptor const Gaudi::Histo1DDef& hdef = ... ; // get the histogram ID const HistoID ID = ... ; const double mass = ... ; plot1D ( mass , ID , hdef )
| value | value to be filled | |
| ID | histogram identifier | |
| hdef | histogram descriptor | |
| weight | weight |
Definition at line 226 of file GaudiHistos_1DFixedBinning.icpp.
00230 { 00231 return plot1D 00232 ( value , ID , 00233 hdef.title() , hdef.lowEdge() , hdef.highEdge() , hdef.bins() , 00234 weight ) ; 00235 }
| AIDA::IHistogram1D* GaudiHistos< PBASE >::plot | ( | const double | value, | |
| const HistoID & | ID, | |||
| const Gaudi::Histo1DDef & | hdef, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D histogram (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 | |
| hdef | histogram descriptor | |
| weight | weight |
Definition at line 365 of file GaudiHistos.h.
| 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 437 of file GaudiHistos.h.
00444 { 00445 AIDA::IHistogram1D* h(0); 00446 if ( produceHistos() ) 00447 { 00448 // retrieve or book the histogram 00449 h = histo1D ( title ) ; 00450 if ( 0 == h ) { h = book1D ( title , low , high , bins ); } 00451 // fill histogram 00452 while( first != last && 0 != h ) 00453 { h = fill ( h , func( *first ) , 1.0 , title ) ; ++first ; } 00454 } 00455 return h ; 00456 }
| 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 515 of file GaudiHistos.h.
00523 { 00524 AIDA::IHistogram1D* h(0); 00525 if ( produceHistos() ) 00526 { 00527 // retrieve or book the histogram 00528 h = histo1D ( ID ) ; 00529 if ( 0 == h ) { h = book1D ( ID , title , low , high , bins ); } 00530 // fill histogram 00531 while( first != last && 0 != h ) 00532 { h = fill( h , func( *first ) , 1.0 , title ) ; ++first ; } 00533 } 00534 return h; 00535 }
| 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 607 of file GaudiHistos.h.
00615 { 00616 AIDA::IHistogram1D* h(0); 00617 if ( produceHistos() ) 00618 { 00619 // retrieve or book the histogram 00620 h = histo1D ( title ) ; 00621 if ( 0 == h ) { h = book1D ( title , low , high , bins ); } 00622 // fill histogram 00623 while ( first != last && 0 != h ) 00624 { h = fill ( h , 00625 func ( *first ) , 00626 weight ( *first ) , title ) ; ++first ; } 00627 } 00628 return h; 00629 }
| 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 699 of file GaudiHistos.h.
00708 { 00709 AIDA::IHistogram1D* h(0); 00710 if ( produceHistos() ) 00711 { 00712 // retrieve or book the histogram 00713 h = histo1D ( ID ) ; 00714 if ( 0 == h ) { h = book1D ( ID , title , low , high , bins ); } 00715 // fill histogram 00716 while( first != last && 0 != h ) 00717 { h = fill ( h , 00718 func ( *first ) , 00719 weight ( *first ) , title ) ; ++first ; } 00720 } 00721 return h ; 00722 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::plot1D | ( | const double | value, | |
| const std::string & | title, | |||
| const HistoBinEdges & | edges, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
Fill the 1D variable binning histogram (book on demand).
const GaudiAlg::HistoBinEdges edges = ...; const double mass = ... ; plot1D( mass , "Invariant Mass" , edges )
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 the given histogram bin edges.
| value | value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| edges | The histogram bin edges | |
| weight | weight |
Definition at line 94 of file GaudiHistos_1DVariableBinning.icpp.
00098 { 00099 AIDA::IHistogram1D * h(NULL); 00100 if ( produceHistos() ) 00101 { 00102 // retrieve or book the histogram 00103 h = histo1D ( title ) ; 00104 if ( NULL == h ) { h = book1D ( title , edges ) ; } 00105 // fill the histogram 00106 h = fill ( h , value , weight , title ); 00107 } 00108 return h; 00109 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::plot1D | ( | const double | value, | |
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const HistoBinEdges & | edges, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D variable binning histogram with forced ID assignment (book on demand)
const GaudiAlg::HistoBinEdges edges = ...; const double mass = ... ; plot1D( mass , 15 , "Invariant Mass" , edges )
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 the given histogram bin edges.
It is also possible to use literal IDs. For example :-
const GaudiAlg::HistoBinEdges edges = ...; const double mass = ... ; plot1D( mass , "mass" , "Invariant Mass" , edges )
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 GaudiAlg::HistoBinEdges edges = ...; const double mass = ... ; plot1D( mass , "subdir/mass" , "Invariant Mass" , edges )
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) | |
| edges | The histogram bin edges | |
| weight | weight |
Definition at line 116 of file GaudiHistos_1DVariableBinning.icpp.
00121 { 00122 AIDA::IHistogram1D* h(NULL); 00123 if ( produceHistos() ) 00124 { 00125 // retrieve or book the histogram 00126 h = histo1D ( ID ) ; 00127 if ( NULL == h ) { h = book1D ( ID , title , edges ) ; } 00128 // fill 00129 h = fill ( h , value , weight , title ) ; 00130 } 00131 return h; 00132 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::plot2D | ( | const double | valueX, | |
| const double | valueY, | |||
| const std::string & | title, | |||
| const double | lowX, | |||
| const double | highX, | |||
| const double | lowY, | |||
| const double | highY, | |||
| const unsigned long | binsX = 50, |
|||
| const unsigned long | binsY = 50, |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 2D histogram (book on demand)
const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 4.5, 5.5, 100, 200 );
This example illustrates the filling of the 2D histogram titled "Invariant Mass2 versus Mass1" with values mass1 and mass2 .
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, binsX equal to 100 and binsY equal to 200.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 147 of file GaudiHistos_2DFixedBinning.icpp.
00157 { 00158 AIDA::IHistogram2D * h(NULL); 00159 if ( produceHistos() ) 00160 { 00161 // retrieve or book the histogram 00162 h = histo2D ( title ) ; 00163 if ( NULL == h ) 00164 { h = book2D ( title , lowX , highX , binsX , lowY , highY , binsY ) ; } 00165 // fill the histogram 00166 h = fill ( h , valueX , valueY , weight , title ) ; 00167 } 00168 return h; 00169 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::plot2D | ( | const double | valueX, | |
| const double | valueY, | |||
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const double | lowX, | |||
| const double | highX, | |||
| const double | lowY, | |||
| const double | highY, | |||
| const unsigned long | binsX = 50, |
|||
| const unsigned long | binsY = 50, |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 2D histogram with forced ID assignment (book on demand)
const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, 15, "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 4.5, 5.5, 100, 200 );
This example illustrates the filling of the 2D histogram ID=15 titled "Invariant Mass2 versus Mass1" with values mass1 and mass2 .
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, binsX equal to 100 and binsY equal to 200.
It is also possible to use literal IDs. For example :-
const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, "mass", "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 4.5, 5.5, 100, 200 );
Will book the same histogram, using the id "mass".
It is also possible using literal IDs, to place histograms in sub-directories from the main histogram directory, using for example :-
const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, "subdir/mass", "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 4.5, 5.5, 100, 200 );
Which will create the histogram "mass" in the sub-directory "subdir". Histograms can also be created in sub-directories with numeric IDs if IDs such as "subdir/1" are used.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| ID | Histogram ID to use | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 175 of file GaudiHistos_2DFixedBinning.icpp.
00186 { 00187 AIDA::IHistogram2D * h(NULL); 00188 // produce histograms ? 00189 if ( produceHistos() ) 00190 { 00191 // retrieve or book the histogram 00192 h = histo2D ( ID ) ; 00193 if ( NULL == h ) { h = book2D ( ID , title , 00194 lowX , highX , binsX , 00195 lowY , highY , binsY ) ; } 00196 // fill the histogram 00197 h = fill ( h , valueX , valueY , weight , title ) ; 00198 } 00199 return h; 00200 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::plot2D | ( | const double | valueX, | |
| const double | valueY, | |||
| const std::string & | title, | |||
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
Fill the 2D variable binning histogram (book on demand).
const GaudiAlg::HistoBinEdges edgesX = ...; const GaudiAlg::HistoBinEdges edgesY = ...; const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, "Invariant Mass2 versus Mass1" , edgesX, edgesY );
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 the given histogram bin edges.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| edgesX | The histogram x bin edges | |
| edgesY | The histogram y bin edges | |
| weight | weight |
Definition at line 98 of file GaudiHistos_2DVariableBinning.icpp.
00104 { 00105 AIDA::IHistogram2D * h(NULL); 00106 if ( produceHistos() ) 00107 { 00108 // retrieve or book the histogram 00109 h = histo2D ( title ) ; 00110 if ( NULL == h ) { h = book2D ( title , edgesX , edgesY ) ; } 00111 // fill the histogram 00112 h = fill ( h , valueX , valueY , weight , title ); 00113 } 00114 return h; 00115 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::plot2D | ( | const double | valueX, | |
| const double | valueY, | |||
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 2D variable histogram with forced ID assignment (book on demand)
const GaudiAlg::HistoBinEdges edgesX = ...; const GaudiAlg::HistoBinEdges edgesY = ...; const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, 15, "Invariant Mass2 versus Mass1", edgesX, edgesY );
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 the given histogram bin edges.
It is also possible to use literal IDs. For example :-
const GaudiAlg::HistoBinEdges edgesX = ...; const GaudiAlg::HistoBinEdges edgesY = ...; const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, "mass", "Invariant Mass2 versus Mass1", edgesX, edgesY );
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 GaudiAlg::HistoBinEdges edgesX = ...; const GaudiAlg::HistoBinEdges edgesY = ...; const double mass1 = ... ; const double mass2 = ... ; plot2D( mass1, mass2, "subdir/mass", "Invariant Mass2 versus Mass1", edgesX, edgesY );
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) | |
| edgesX | The histogram x bin edges | |
| edgesY | The histogram y bin edges | |
| weight | weight |
Definition at line 122 of file GaudiHistos_2DVariableBinning.icpp.
00129 { 00130 AIDA::IHistogram2D * h(NULL); 00131 if ( produceHistos() ) 00132 { 00133 // retrieve or book the histogram 00134 h = histo2D ( ID ) ; 00135 if ( NULL == h ) { h = book2D ( ID , title , edgesX , edgesY ) ; } 00136 // fill 00137 h = fill ( h , valueX , valueY , weight , title ) ; 00138 } 00139 return h; 00140 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::plot3D | ( | const double | valueX, | |
| const double | valueY, | |||
| const double | valueZ, | |||
| const std::string & | title, | |||
| const double | lowX, | |||
| const double | highX, | |||
| const double | lowY, | |||
| const double | highY, | |||
| const double | lowZ, | |||
| const double | highZ, | |||
| const unsigned long | binsX = 10, |
|||
| const unsigned long | binsY = 10, |
|||
| const unsigned long | binsZ = 10, |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 3D histogram (book on demand)
const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, "Space Points" , 2.5 , 3.5 , 4.5 , 5.5 , 6.5 , 7.5 , 10, 20, 30 );
This example illustrates the filling of the 3D histogram titled "Space Points" with values X, Y and Z.
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, lowZ equal to 6.5, highZ equal to 7.5, binsX equal to 10, binsY equal to 20 and binsZ equal to 30.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| valueZ | z value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| lowZ | low z limit for histogram | |
| highZ | high z limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| binsZ | number of bins in z | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 164 of file GaudiHistos_3DFixedBinning.icpp.
00178 { 00179 AIDA::IHistogram3D * h(0); 00180 if ( produceHistos() ) 00181 { 00182 // retrieve or book the histogram 00183 h = histo3D ( title ) ; 00184 if ( 0 == h ) { h = book3D ( title , 00185 lowX , highX , binsX , 00186 lowY , highY , binsY , 00187 lowZ , highZ , binsZ ) ; } 00188 // fill the histogram 00189 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 00190 } 00191 return h; 00192 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::plot3D | ( | const double | valueX, | |
| const double | valueY, | |||
| const double | valueZ, | |||
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const double | lowX, | |||
| const double | highX, | |||
| const double | lowY, | |||
| const double | highY, | |||
| const double | lowZ, | |||
| const double | highZ, | |||
| const unsigned long | binsX = 10, |
|||
| const unsigned long | binsY = 10, |
|||
| const unsigned long | binsZ = 10, |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 3D histogram with forced ID assignment (book on demand)
const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, 15 , "Space Points" , 2.5 ,3.5, 4.5, 5.5, 6.5, 7.5, 10, 20, 30 );
This example illustrates the filling of the 3D histogram ID=15 titled "Space Points" with values X, Y and Z.
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, lowZ equal to 6.5, highZ equal to 7.5, binsX equal to 10, binsY equal to 20 and binsZ equal to 30.
It is also possible to use literal IDs. For example :-
const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, "space", "Space Points" , 2.5 ,3.5, 4.5, 5.5, 6.5, 7.5, 10, 20, 30 );
Will book the same histogram, using the id "space".
It is also possible using literal IDs, to place histograms in sub-directories from the main histogram directory, using for example :-
const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, "subdir/space", "Space Points" , 2.5 ,3.5, 4.5, 5.5, 6.5, 7.5, 10, 20, 30 );
Which will create the histogram "space" in the sub-directory "subdir". Histograms can also be created in sub-directories with numeric IDs if IDs such as "subdir/1" are used.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| valueZ | z value to be filled | |
| ID | Histogram ID to use | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| lowZ | low z limit for histogram | |
| highZ | high z limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| binsZ | number of bins in z | |
| weight | weight |
Reimplemented in HistoTool.
Definition at line 198 of file GaudiHistos_3DFixedBinning.icpp.
00213 { 00214 AIDA::IHistogram3D * h(0); 00215 if ( produceHistos() ) 00216 { 00217 // retrieve or book the histogram 00218 h = histo3D ( ID ) ; 00219 if ( 0 == h ) { h = book3D ( ID , title , 00220 lowX , highX , binsX , 00221 lowY , highY , binsY , 00222 lowZ , highZ , binsZ ) ; } 00223 // fill the histogram 00224 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 00225 } 00226 return h; 00227 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::plot3D | ( | const double | valueX, | |
| const double | valueY, | |||
| const double | valueZ, | |||
| const std::string & | title, | |||
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY, | |||
| const HistoBinEdges & | edgesZ, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
Fill the 3D variable binning histogram (book on demand).
const GaudiAlg::HistoBinEdges edgesX = ...; const GaudiAlg::HistoBinEdges edgesY = ...; const GaudiAlg::HistoBinEdges edgesZ = ...; const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, "Space Points", edgesX, edgesY, edgesZ );
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 the given histogram bin edges.
| 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) | |
| edgesX | The histogram x bin edges | |
| edgesY | The histogram y bin edges | |
| edgesZ | The histogram z bin edges | |
| weight | weight |
Definition at line 102 of file GaudiHistos_3DVariableBinning.icpp.
00110 { 00111 AIDA::IHistogram3D * h(NULL); 00112 if ( produceHistos() ) 00113 { 00114 // retrieve or book the histogram 00115 h = histo3D ( title ) ; 00116 if ( NULL == h ) { h = book3D ( title , edgesX , edgesY , edgesZ ) ; } 00117 // fill the histogram 00118 h = fill ( h , valueX , valueY , valueZ , weight , title ); 00119 } 00120 return h; 00121 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::plot3D | ( | const double | valueX, | |
| const double | valueY, | |||
| const double | valueZ, | |||
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY, | |||
| const HistoBinEdges & | edgesZ, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 3D histogram with forced ID assignment (book on demand)
const GaudiAlg::HistoBinEdges edgesX = ...; const GaudiAlg::HistoBinEdges edgesY = ...; const GaudiAlg::HistoBinEdges edgesZ = ...; const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, "Space Points", edgesX, edgesY, edgesZ );
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 the given histogram bin edges and histogram ID.
It is also possible to use literal IDs. For example :-
const GaudiAlg::HistoBinEdges edgesX = ...; const GaudiAlg::HistoBinEdges edgesY = ...; const GaudiAlg::HistoBinEdges edgesZ = ...; const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, "space", "Space Points" , edgesX, edgesY, edgesZ );
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 GaudiAlg::HistoBinEdges edgesX = ...; const GaudiAlg::HistoBinEdges edgesY = ...; const GaudiAlg::HistoBinEdges edgesZ = ...; const double X = ... ; const double Y = ... ; const double Z = ... ; plot3D( X, Y, Z, "subdir/space", "Space Points" , edgesX, edgesY, edgesZ );
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) | |
| edgesX | The histogram x bin edges | |
| edgesY | The histogram y bin edges | |
| edgesZ | The histogram z bin edges | |
| weight | weight |
Definition at line 128 of file GaudiHistos_3DVariableBinning.icpp.
00137 { 00138 AIDA::IHistogram3D * h(NULL); 00139 if ( produceHistos() ) 00140 { 00141 // retrieve or book the histogram 00142 h = histo3D ( ID ) ; 00143 if ( NULL == h ) { h = book3D ( ID , title , edgesX , edgesY , edgesZ ) ; } 00144 // fill 00145 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 00146 } 00147 return h; 00148 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::profile1D | ( | const double | valueX, | |
| const double | valueY, | |||
| const std::string & | title, | |||
| const double | lowX, | |||
| const double | highX, | |||
| const unsigned long | binsX = 100, |
|||
| const std::string & | opt = "", |
|||
| const double | lowY = -std::numeric_limits<double>::max(), |
|||
| const double | highY = std::numeric_limits<double>::max(), |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D profile histogram (book on demand)
const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 100 );
This example illustrates the filling of the 1D profile histogram titled "Invariant Mass2 versus Mass1" with values mass1 and mass2 .
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, binsX equal to 100
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| opt | the options, used for evaluation of errors | |
| lowY | the min cut-off for y-values | |
| highY | the max cut-off for y-values | |
| weight | weight |
Definition at line 145 of file GaudiHistos_1DProfFixedBinning.icpp.
00155 { 00156 AIDA::IProfile1D * h(NULL); 00157 if ( produceHistos() ) 00158 { 00159 // retrieve or book the histogram 00160 h = profile1D ( title ) ; 00161 if ( NULL == h ) 00162 { h = bookProfile1D ( title , lowX , highX , binsX , opt , lowY , highY ) ; } 00163 // fill the histogram 00164 h = fill ( h , valueX , valueY , weight , title ) ; 00165 } 00166 return h; 00167 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::profile1D | ( | const double | valueX, | |
| const double | valueY, | |||
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const double | lowX, | |||
| const double | highX, | |||
| const unsigned long | binsX = 100, |
|||
| const std::string & | opt = "", |
|||
| const double | lowY = -std::numeric_limits<double>::max(), |
|||
| const double | highY = std::numeric_limits<double>::max(), |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D profile histogram with forced ID assignment (book on demand)
const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, 15, "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 100 );
This example illustrates the filling of the 1D profile histogram with ID=15 titled "Invariant Mass2 versus Mass1" with values mass1 and mass2 .
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, binsX equal to 100
It is also possible to use literal IDs. For example :-
const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, "mass", "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 100 );
Will book the same histogram, using the id "mass".
It is also possible using literal IDs, to place histograms in sub-directories from the main histogram directory, using for example :-
const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, "subdir/mass", "Invariant Mass2 versus Mass1" ,2.5 ,3.5, 100 );
Which will create the histogram "mass" in the sub-directory "subdir". Histograms can also be created in sub-directories with numeric IDs if IDs such as "subdir/1" are used.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| ID | histogram identifier | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| opt | the options, used for evaluation of errors | |
| lowY | the min cut-off for y-values | |
| highY | the max cut-off for y-values | |
| weight | weight |
Definition at line 173 of file GaudiHistos_1DProfFixedBinning.icpp.
00184 { 00185 AIDA::IProfile1D * h(NULL); 00186 if ( produceHistos() ) 00187 { 00188 // retrieve or book the histogram 00189 h = profile1D ( ID ) ; 00190 if ( NULL == h ) 00191 { h = bookProfile1D ( ID , title , lowX , highX , binsX , opt , lowY , highY ) ; } 00192 // fill the histogram 00193 h = fill ( h , valueX , valueY , weight , title ) ; 00194 } 00195 return h; 00196 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::profile1D | ( | const double | valueX, | |
| const double | valueY, | |||
| const std::string & | title, | |||
| const HistoBinEdges & | edges, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D variable binning profile histogram (book on demand)
const GaudiAlg::HistoBinEdges edges = ...; const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, "Invariant Mass2 versus Mass1", edges );
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 the given histogram bin edges.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| title | histogram title (must be unique within the algorithm) | |
| edges | The histogram bin edges | |
| weight | weight |
Definition at line 92 of file GaudiHistos_1DProfVariableBinning.icpp.
00097 { 00098 AIDA::IProfile1D * h(NULL); 00099 if ( produceHistos() ) 00100 { 00101 // retrieve or book the histogram 00102 h = profile1D ( title ) ; 00103 if ( NULL == h ) 00104 { h = bookProfile1D ( title , edges ) ; } 00105 // fill the histogram 00106 h = fill ( h , valueX , valueY , weight , title ) ; 00107 } 00108 return h; 00109 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::profile1D | ( | const double | valueX, | |
| const double | valueY, | |||
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const HistoBinEdges & | edges, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 1D variable binning profile histogram with forced ID assignment (book on demand)
const GaudiAlg::HistoBinEdges edges = ...; const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, 15, "Invariant Mass2 versus Mass1", edges );
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 ID does not exist yet it will be automatically booked with the given histogram bin edges.
It is also possible to use literal IDs. For example :-
const GaudiAlg::HistoBinEdges edges = ...; const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, "mass", "Invariant Mass2 versus Mass1", edges );
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 GaudiAlg::HistoBinEdges edges = ...; const double mass1 = ... ; const double mass2 = ... ; profile1D( mass1, mass2, "subdir/mass", "Invariant Mass2 versus Mass1", edges );
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) | |
| edges | The histogram bin edges | |
| weight | weight |
Definition at line 115 of file GaudiHistos_1DProfVariableBinning.icpp.
00121 { 00122 AIDA::IProfile1D * h(NULL); 00123 if ( produceHistos() ) 00124 { 00125 // retrieve or book the histogram 00126 h = profile1D ( ID ) ; 00127 if ( NULL == h ) 00128 { h = bookProfile1D ( ID , title , edges ) ; } 00129 // fill the histogram 00130 h = fill ( h , valueX , valueY , weight , title ) ; 00131 } 00132 return h; 00133 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::profile2D | ( | const double | valueX, | |
| const double | valueY, | |||
| const double | valueZ, | |||
| const std::string & | title, | |||
| const double | lowX, | |||
| const double | highX, | |||
| const double | lowY, | |||
| const double | highY, | |||
| const unsigned long | binsX = 50, |
|||
| const unsigned long | binsY = 50, |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 2D profile histogram (book on demand)
const double X = ... ; const double Y = ... ; const double Z = ... ; profile2( 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 148 of file GaudiHistos_2DProfFixedBinning.icpp.
00159 { 00160 AIDA::IProfile2D * h(0); 00161 if ( produceHistos() ) 00162 { 00163 // retrieve or book the histogram 00164 h = profile2D ( title ) ; 00165 if ( 0 == h ) { h = bookProfile2D ( title , 00166 lowX , highX , binsX , 00167 lowY , highY , binsY ) ; } 00168 // fill the histogram 00169 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 00170 } 00171 return h; 00172 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::profile2D | ( | const double | valueX, | |
| const double | valueY, | |||
| const double | valueZ, | |||
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const double | lowX, | |||
| const double | highX, | |||
| const double | lowY, | |||
| const double | highY, | |||
| const unsigned long | binsX = 50, |
|||
| const unsigned long | binsY = 50, |
|||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 2D profile histogram with forced ID assignment (book on demand)
const double X = ... ; const double Y = ... ; const double Z = ... ; profile2D( X, Y, Z, 15, "Space Points" ,2.5 ,3.5, 4.5, 5.5, 10, 20 );
This example illustrates the filling of the 2D profile histogram with ID=15 titled "Space Points" with values X, Y and Z.
If the histogram with given title does not exist yet it will be automatically booked with parameters lowX equal to 2.5, highX equal to 3.5, lowY equal to 4.5, highY equal to 5.5, binsX equal to 10, binsY equal to 20.
It is also possible to use literal IDs. For example :-
const double X = ... ; const double Y = ... ; const double Z = ... ; profile2D( X, Y, Z, "space", "Space Points" ,2.5 ,3.5, 4.5, 5.5, 10, 20 );
Will book the same histogram, using the id "space".
It is also possible using literal IDs, to place histograms in sub-directories from the main histogram directory, using for example :-
const double X = ... ; const double Y = ... ; const double Z = ... ; profile2D( X, Y, Z, "subdir/space", "Space Points" ,2.5 ,3.5, 4.5, 5.5, 10, 20 );
Which will create the histogram "space" in the sub-directory "subdir". Histograms can also be created in sub-directories with numeric IDs if IDs such as "subdir/1" are used.
| valueX | x value to be filled | |
| valueY | y value to be filled | |
| valueZ | z value to be filled | |
| ID | histogram identifier | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsX | number of bins in x | |
| binsY | number of bins in y | |
| weight | weight |
Definition at line 178 of file GaudiHistos_2DProfFixedBinning.icpp.
00190 { 00191 AIDA::IProfile2D * h(0); 00192 if ( produceHistos() ) 00193 { 00194 // retrieve or book the histogram 00195 h = profile2D ( ID ) ; 00196 if ( 0 == h ) { h = bookProfile2D ( ID , title , 00197 lowX , highX , binsX , 00198 lowY , highY , binsY ) ; } 00199 // fill the histogram 00200 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 00201 } 00202 return h; 00203 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::profile2D | ( | const double | valueX, | |
| const double | valueY, | |||
| const double | valueZ, | |||
| const std::string & | title, | |||
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 2D variable binning profile histogram (book on demand)
const GaudiAlg::HistoBinEdges edgesX = ...; const GaudiAlg::HistoBinEdges edgesY = ...; const double X = ... ; const double Y = ... ; const double Z = ... ; profile2D( X, Y, Z, "Space Points", edgesX, edgesY );
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 the given histogram bin edges.
| 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) | |
| edgesX | The histogram x bin edges | |
| edgesY | The histogram x bin edges | |
| weight | weight |
Definition at line 96 of file GaudiHistos_2DProfVariableBinning.icpp.
00103 { 00104 AIDA::IProfile2D * h(NULL); 00105 if ( produceHistos() ) 00106 { 00107 // retrieve or book the histogram 00108 h = profile2D ( title ) ; 00109 if ( NULL == h ) { h = bookProfile2D ( title, edgesX, edgesY ) ; } 00110 // fill the histogram 00111 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 00112 } 00113 return h; 00114 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::profile2D | ( | const double | valueX, | |
| const double | valueY, | |||
| const double | valueZ, | |||
| const HistoID & | ID, | |||
| const std::string & | title, | |||
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY, | |||
| const double | weight = 1.0 | |||
| ) | const [inline] |
fill the 2D variable binning profile histogram with forced ID assignment (book on demand)
const GaudiAlg::HistoBinEdges edgesX = ...; const GaudiAlg::HistoBinEdges edgesY = ...; const double X = ... ; const double Y = ... ; const double Z = ... ; profile2( X, Y, Z, "Space Points", edgesX, edgesY );
This example illustrates the filling of the 2D profile histogram titled "Space Points" with values X, Y and Z.
If the histogram with given ID does not exist yet it will be automatically booked with the given histogram bin edges.
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", edgesX, edgesY );
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 X = ... ; const double Y = ... ; const double Z = ... ; profile2D( X, Y, Z, "subdir/space", "Space Points", edgesX, edgesY );
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 | |
| valueZ | z value to be filled | |
| ID | histogram identifier | |
| title | histogram title (must be unique within the algorithm) | |
| edgesX | The histogram x bin edges | |
| edgesY | The histogram y bin edges | |
| weight | weight |
Definition at line 120 of file GaudiHistos_2DProfVariableBinning.icpp.
00128 { 00129 AIDA::IProfile2D * h(NULL); 00130 if ( produceHistos() ) 00131 { 00132 // retrieve or book the histogram 00133 h = profile2D ( ID ) ; 00134 if ( NULL == h ) { h = bookProfile2D ( ID , title , edgesX , edgesY ) ; } 00135 00136 // fill the histogram 00137 h = fill ( h , valueX , valueY , valueZ , weight , title ) ; 00138 } 00139 return h; 00140 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book1D | ( | const std::string & | title, | |
| const double | low = 0, |
|||
| const double | high = 100, |
|||
| const unsigned long | bins = 100 | |||
| ) | const [inline] |
book the 1D histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins |
Reimplemented in HistoTool.
Definition at line 8 of file GaudiHistos_1DFixedBinning.icpp.
00012 { 00013 // exist? 00014 AIDA::IHistogram1D* hist = histo1D ( title ) ; 00015 // histogram is already booked 00016 if( NULL != hist ) { return hist ; } // RETURN !! 00017 00018 // propose the histogram ID 00019 HistoID ID; 00020 newHistoID( title, ID ); 00021 00022 // Create a new histogram and return 00023 return this -> book1D ( ID, title, low, high, bins ); 00024 }
| 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 2042 of file GaudiHistos.h.
02046 { 02047 return book1D( title, low, high, bins ); 02048 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book | ( | const Gaudi::Histo1DDef & | hdef | ) | const [inline] |
book the 1D histogram
The histogram will be assigned a unique identifier
| hdef | histogram description/definition |
Definition at line 183 of file GaudiHistos_1DFixedBinning.icpp.
00184 { 00185 return book1D ( hdef.title () , 00186 hdef.lowEdge () , 00187 hdef.highEdge () , 00188 hdef.bins () ) ; 00189 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book1D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const double | low = 0, |
|||
| const double | high = 100, |
|||
| const unsigned long | bins = 100 | |||
| ) | const [inline] |
book the 1D histogram with forced ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins |
Reimplemented in HistoTool.
Definition at line 30 of file GaudiHistos_1DFixedBinning.icpp.
00035 { 00036 // Check ID 00037 if (ID.undefined()) 00038 { 00039 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00040 return NULL; 00041 } 00042 00043 // exist? 00044 AIDA::IHistogram1D* hist = histo1D ( ID ) ; 00045 // histogram is already booked 00046 if ( NULL != hist ) { return hist ; } // RETURN !! 00047 00048 // Histogram title 00049 const std::string & htitle = 00050 ( title.empty() ? "Unnamed 1D Histogram ID="+ID.idAsString() : title ) ; 00051 00052 // book the histogram 00053 if ( ID.numeric() ) 00054 { 00055 hist = this->histoSvc() -> book ( histoPath() , 00056 ID.numericID() , 00057 htitle , 00058 bins , 00059 low , 00060 high ) ; 00061 } 00062 else if ( ID.literal() ) 00063 { 00064 hist = this->histoSvc() -> book ( histoPath()+"/"+ 00065 ID.literalID() , 00066 htitle , 00067 bins , 00068 low , 00069 high ) ; 00070 } 00071 00072 // check OK 00073 if( NULL == hist ) 00074 { this->Error( "IHistogram1D* points to NULL! ID='" + ID.idAsString() + 00075 "' title='"+htitle+"'" ) ; return NULL; } // RETURN !! 00076 00077 // add histogram into histogram storages 00078 if ( ID.numeric() ) 00079 { m_histo1DMapNumID [ ID.numericID() ] = hist ; } 00080 else if ( ID.literal() ) 00081 { m_histo1DMapLitID [ ID.literalID() ] = hist ; } 00082 m_histo1DMapTitle [ title ] = hist ; 00083 00084 // Declare to monitoring service 00085 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00086 00087 // Printout and return 00088 if ( this->msgLevel(MSG::DEBUG) ) 00089 { this->debug() << "Booked 1D Histogram : ID='" << ID 00090 << "' Path=" << histoPath() 00091 << " Title='" 00092 << Gaudi::Utils::Histos::htitle ( hist ) 00093 << "'" << endmsg; } 00094 return hist ; 00095 }
| 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 2092 of file GaudiHistos.h.
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book | ( | const HistoID & | ID, | |
| const Gaudi::Histo1DDef & | hdef | |||
| ) | const [inline] |
book the 1D histogram with forced ID
| ID | unique histogram ID | |
| hdef | histogram descriptor |
Definition at line 196 of file GaudiHistos_1DFixedBinning.icpp.
00198 { 00199 return book1D ( ID , 00200 hdef.title () , 00201 hdef.lowEdge () , 00202 hdef.highEdge () , 00203 hdef.bins () ) ; 00204 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book1D | ( | const std::string & | title, | |
| const HistoBinEdges & | edges | |||
| ) | const [inline] |
book the 1D variable binning histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| edges | The histogram bin edges |
Definition at line 8 of file GaudiHistos_1DVariableBinning.icpp.
00010 { 00011 // exist? 00012 AIDA::IHistogram1D* hist = histo1D ( title ) ; 00013 // histogram is already booked 00014 if( NULL != hist ) { return hist ; } // RETURN !! 00015 00016 // propose the histogram ID 00017 HistoID ID; 00018 newHistoID( title, ID ); 00019 00020 // Create a new histogram and return 00021 return this -> book1D ( ID, title, edges ); 00022 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::book1D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const HistoBinEdges & | edges | |||
| ) | const [inline] |
book the 1D variable binning histogram with given ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| edges | The histogram bin edges |
Definition at line 28 of file GaudiHistos_1DVariableBinning.icpp.
00031 { 00032 // Check ID 00033 if (ID.undefined()) 00034 { 00035 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00036 return NULL; 00037 } 00038 00039 // exist? 00040 AIDA::IHistogram1D* hist = histo1D ( ID ) ; 00041 // histogram is already booked 00042 if ( NULL != hist ) { return hist ; } // RETURN !! 00043 00044 // Histogram title 00045 const std::string & htitle = 00046 ( title.empty() ? "Unnamed 1D Histogram ID="+ID.idAsString() : title ) ; 00047 00048 // book the histogram 00049 if ( ID.numeric() ) 00050 { 00051 hist = this->histoSvc() -> book ( histoPath() , 00052 ID.numericID() , 00053 htitle , 00054 edges ) ; 00055 } 00056 else if ( ID.literal() ) 00057 { 00058 hist = this->histoSvc() -> book ( histoPath()+"/"+ 00059 ID.literalID() , 00060 htitle , 00061 edges ) ; 00062 } 00063 00064 // check OK 00065 if( NULL == hist ) 00066 { this->Error( "IHistogram1D* points to NULL! ID='" + ID.idAsString() + 00067 "' title='"+htitle+"'" ) ; return NULL; } // RETURN !! 00068 00069 // add histogram into histogram storages 00070 if ( ID.numeric() ) 00071 { m_histo1DMapNumID [ ID.numericID() ] = hist ; } 00072 else if ( ID.literal() ) 00073 { m_histo1DMapLitID [ ID.literalID() ] = hist ; } 00074 m_histo1DMapTitle [ title ] = hist ; 00075 00076 // Declare to monitoring service 00077 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00078 00079 // Printout and return 00080 if ( this->msgLevel(MSG::DEBUG) ) 00081 { this->debug() << "Booked 1D Histogram : ID='" << ID 00082 << "' Path=" << histoPath() 00083 << " Title='" 00084 << Gaudi::Utils::Histos::htitle ( hist ) 00085 << "'" << endmsg; } 00086 return hist ; 00087 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::book2D | ( | const std::string & | title, | |
| const double | lowX = 0, |
|||
| const double | highX = 100, |
|||
| const unsigned long | binsX = 50, |
|||
| const double | lowY = 0, |
|||
| const double | highY = 100, |
|||
| const unsigned long | binsY = 50 | |||
| ) | const [inline] |
book the 2D histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsY | number of bins in y |
Reimplemented in HistoTool.
Definition at line 8 of file GaudiHistos_2DFixedBinning.icpp.
00015 { 00016 // exist? 00017 AIDA::IHistogram2D* hist = histo2D ( title ) ; 00018 // histogram is already booked 00019 if( NULL != hist ) { return hist ; } // RETURN !! 00020 00021 // propose the histogram ID 00022 HistoID ID; 00023 newHistoID( title, ID ); 00024 00025 // Create a new histogram and return 00026 return this -> book2D ( ID, title, lowX, highX, binsX, lowY, highY, binsY ); 00027 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::book2D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const double | lowX = 0, |
|||
| const double | highX = 100, |
|||
| const unsigned long | binsX = 50, |
|||
| const double | lowY = 0, |
|||
| const double | highY = 100, |
|||
| const unsigned long | binsY = 50 | |||
| ) | const [inline] |
book the 2D histogram with forced ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins |
Reimplemented in HistoTool.
Definition at line 33 of file GaudiHistos_2DFixedBinning.icpp.
00041 { 00042 // Check ID 00043 if (ID.undefined()) 00044 { 00045 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00046 return NULL; 00047 } 00048 00049 // exist? 00050 AIDA::IHistogram2D* hist = histo2D( ID ) ; 00051 // histogram is already booked 00052 if( NULL != hist ) { return hist ; } // RETURN !! 00053 00054 // Histogram title 00055 const std::string & htitle = 00056 ( title.empty() ? "Unnamed 2D Histogram ID="+ID.idAsString() : title ) ; 00057 00058 // book the histogram 00059 if ( ID.numeric() ) 00060 { 00061 hist = this->histoSvc() -> book ( histoPath() , 00062 ID.numericID() , 00063 htitle , 00064 binsX , 00065 lowX , 00066 highX , 00067 binsY , 00068 lowY , 00069 highY ) ; 00070 } 00071 else if ( ID.literal() ) 00072 { 00073 hist = this->histoSvc() -> book ( histoPath()+"/"+ 00074 ID.literalID() , 00075 htitle , 00076 binsX , 00077 lowX , 00078 highX , 00079 binsY , 00080 lowY , 00081 highY ) ; 00082 } 00083 00084 // Check OK 00085 if( NULL == hist ) 00086 { this->Error( "IHistogram2D* points to NULL! ID='" + ID.idAsString() + 00087 "' title='"+htitle+"'" ) ; return NULL; } // RETURN !! 00088 00089 // add histogram into histogram storages 00090 if ( ID.numeric() ) 00091 { m_histo2DMapNumID [ ID.numericID() ] = hist ; } 00092 else if ( ID.literal() ) 00093 { m_histo2DMapLitID [ ID.literalID() ] = hist ; } 00094 m_histo2DMapTitle [ title ] = hist ; 00095 00096 // Declare to monitoring service 00097 monitorHisto( Gaudi::Utils::Histos::toBase ( hist) , ID ); 00098 00099 // Printout and return 00100 if ( this->msgLevel(MSG::DEBUG) ) 00101 { this->debug() << "Booked 2D Histogram : ID='" 00102 << ID << "' Path=" << histoPath() 00103 << " Title='" 00104 << Gaudi::Utils::Histos::htitle ( hist ) 00105 << "'" << endmsg; } 00106 // return 00107 return hist ; 00108 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::book2D | ( | const std::string & | title, | |
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY | |||
| ) | const [inline] |
book the 2D variable binning histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| edgesX | The histogram x bin edges | |
| edgesY | The histogram y bin edges |
Definition at line 8 of file GaudiHistos_2DVariableBinning.icpp.
00011 { 00012 // exist? 00013 AIDA::IHistogram2D * hist = histo2D ( title ) ; 00014 // histogram is already booked 00015 if ( NULL != hist ) { return hist ; } // RETURN !! 00016 00017 // propose the histogram ID 00018 HistoID ID; 00019 newHistoID( title, ID ); 00020 00021 // Create a new histogram and return 00022 return this -> book2D ( ID, title, edgesX, edgesY ); 00023 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::book2D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY | |||
| ) | const [inline] |
book the 2D variable binning histogram with given ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| edgesX | The histogram x bin edges | |
| edgesY | The histogram y bin edges |
Definition at line 29 of file GaudiHistos_2DVariableBinning.icpp.
00033 { 00034 // Check ID 00035 if (ID.undefined()) 00036 { 00037 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00038 return NULL; 00039 } 00040 00041 // exist? 00042 AIDA::IHistogram2D * hist = histo2D ( ID ) ; 00043 // histogram is already booked 00044 if ( NULL != hist ) { return hist ; } // RETURN !! 00045 00046 // Histogram title 00047 const std::string & htitle = 00048 ( title.empty() ? "Unnamed 2D Histogram ID="+ID.idAsString() : title ) ; 00049 00050 // book the histogram 00051 if ( ID.numeric() ) 00052 { 00053 hist = this->histoSvc() -> book ( histoPath() , 00054 ID.numericID() , 00055 htitle , 00056 edgesX , 00057 edgesY ) ; 00058 } 00059 else if ( ID.literal() ) 00060 { 00061 hist = this->histoSvc() -> book ( histoPath()+"/"+ 00062 ID.literalID() , 00063 htitle , 00064 edgesX , 00065 edgesY ) ; 00066 } 00067 00068 // check OK 00069 if( NULL == hist ) 00070 { this->Error( "IHistogram2D* points to NULL! ID='" + ID.idAsString() + 00071 "' title='"+htitle+"'" ) ; return NULL; } // RETURN !! 00072 00073 // add histogram into histogram storages 00074 if ( ID.numeric() ) 00075 { m_histo2DMapNumID [ ID.numericID() ] = hist ; } 00076 else if ( ID.literal() ) 00077 { m_histo2DMapLitID [ ID.literalID() ] = hist ; } 00078 m_histo2DMapTitle [ title ] = hist ; 00079 00080 // Declare to monitoring service 00081 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00082 00083 // Printout and return 00084 if ( this->msgLevel(MSG::DEBUG) ) 00085 { this->debug() << "Booked 2D Histogram : ID='" << ID 00086 << "' Path=" << histoPath() 00087 << " Title='" 00088 << Gaudi::Utils::Histos::htitle ( hist ) 00089 << "'" << endmsg; } 00090 return hist ; 00091 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::book3D | ( | const std::string & | title, | |
| const double | lowX = 0, |
|||
| const double | highX = 100, |
|||
| const unsigned long | binsX = 10, |
|||
| const double | lowY = 0, |
|||
| const double | highY = 100, |
|||
| const unsigned long | binsY = 10, |
|||
| const double | lowZ = 0, |
|||
| const double | highZ = 100, |
|||
| const unsigned long | binsZ = 10 | |||
| ) | const [inline] |
book the 3D histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsY | number of bins in y | |
| lowZ | low y limit for histogram | |
| highZ | high y limit for histogram | |
| binsZ | number of bins in y |
Reimplemented in HistoTool.
Definition at line 8 of file GaudiHistos_3DFixedBinning.icpp.
00018 { 00019 // exist? 00020 AIDA::IHistogram3D* hist = histo3D ( title ) ; 00021 // histogram is already booked 00022 if( 0 != hist ) { return hist ; } // RETURN !! 00023 00024 // propose the histogram ID 00025 HistoID ID; 00026 newHistoID( title, ID ); 00027 00028 // Create a new histogram and return 00029 return this -> book3D ( ID, title, 00030 lowX, highX, binsX, 00031 lowY, highY, binsY, 00032 lowZ, highZ, binsZ ); 00033 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::book3D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const double | lowX = 0, |
|||
| const double | highX = 100, |
|||
| const unsigned long | binsX = 10, |
|||
| const double | lowY = 0, |
|||
| const double | highY = 100, |
|||
| const unsigned long | binsY = 10, |
|||
| const double | lowZ = 0, |
|||
| const double | highZ = 100, |
|||
| const unsigned long | binsZ = 10 | |||
| ) | const [inline] |
book the 3D histogram with forced ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsY | number of bins in y | |
| lowZ | low y limit for histogram | |
| highZ | high y limit for histogram | |
| binsZ | number of bins in y |
Reimplemented in HistoTool.
Definition at line 39 of file GaudiHistos_3DFixedBinning.icpp.
00050 { 00051 // Check ID 00052 if (ID.undefined()) 00053 { 00054 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00055 return NULL; 00056 } 00057 00058 // exist? 00059 AIDA::IHistogram3D* hist = histo3D( ID ) ; 00060 // histogram is already booked 00061 if( 0 != hist ) { return hist ; } // RETURN !! 00062 00063 // Histogram title 00064 const std::string & htitle = 00065 ( title.empty() ? "Unnamed 3D Histogram ID="+ID.idAsString() : title ) ; 00066 00067 // book the histogram 00068 if ( ID.numeric() ) 00069 { 00070 hist = this->histoSvc() -> book ( histoPath() , 00071 ID.numericID() , 00072 htitle , 00073 binsX , 00074 lowX , 00075 highX , 00076 binsY , 00077 lowY , 00078 highY , 00079 binsZ , 00080 lowZ , 00081 highZ ) ; 00082 } 00083 else if ( ID.literal() ) 00084 { 00085 hist = this->histoSvc() -> book ( histoPath()+"/"+ 00086 ID.literalID() , 00087 htitle , 00088 binsX , 00089 lowX , 00090 highX , 00091 binsY , 00092 lowY , 00093 highY , 00094 binsZ , 00095 lowZ , 00096 highZ ) ; 00097 } 00098 00099 // Check OK 00100 if( 0 == hist ) 00101 { this->Error( "IHistogram3D* points to NULL! ID='" + ID.idAsString() + 00102 "' title='"+htitle+"'" ) ; return 0; } // RETURN !! 00103 00104 // add histogram into histogram storages 00105 if ( ID.numeric() ) 00106 { m_histo3DMapNumID [ ID.numericID() ] = hist ; } 00107 else if ( ID.literal() ) 00108 { m_histo3DMapLitID [ ID.literalID() ] = hist ; } 00109 m_histo3DMapTitle [ title ] = hist ; 00110 00111 // Declare to monitoring service 00112 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00113 00114 // Printout and return 00115 if ( this->msgLevel(MSG::DEBUG) ) 00116 { this->debug() << "Booked 3D Histogram : ID='" 00117 << ID << "' Path=" << histoPath() 00118 << " Title='" 00119 << Gaudi::Utils::Histos::htitle ( hist ) 00120 << "'" << endmsg; } 00121 return hist ; 00122 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::book3D | ( | const std::string & | title, | |
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY, | |||
| const HistoBinEdges & | edgesZ | |||
| ) | const [inline] |
book the 3D variable binning histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| edgesX | The histogram x bin edges | |
| edgesY | The histogram y bin edges | |
| edgesZ | The histogram z bin edges |
Definition at line 8 of file GaudiHistos_3DVariableBinning.icpp.
00012 { 00013 // exist? 00014 AIDA::IHistogram3D * hist = histo3D ( title ) ; 00015 // histogram is already booked 00016 if( NULL != hist ) { return hist ; } // RETURN !! 00017 00018 // propose the histogram ID 00019 HistoID ID; 00020 newHistoID( title, ID ); 00021 00022 // Create a new histogram and return 00023 return this -> book3D ( ID, title, edgesX, edgesY, edgesZ ); 00024 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::book3D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY, | |||
| const HistoBinEdges & | edgesZ | |||
| ) | const [inline] |
book the 3D variable binning histogram with given ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| edgesX | The histogram x bin edges | |
| edgesY | The histogram y bin edges | |
| edgesZ | The histogram z bin edges |
Definition at line 30 of file GaudiHistos_3DVariableBinning.icpp.
00035 { 00036 // Check ID 00037 if (ID.undefined()) 00038 { 00039 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00040 return NULL; 00041 } 00042 00043 // exist? 00044 AIDA::IHistogram3D * hist = histo3D ( ID ) ; 00045 // histogram is already booked 00046 if ( NULL != hist ) { return hist ; } // RETURN !! 00047 00048 // Histogram title 00049 const std::string & htitle = 00050 ( title.empty() ? "Unnamed 3D Histogram ID="+ID.idAsString() : title ) ; 00051 00052 // book the histogram 00053 if ( ID.numeric() ) 00054 { 00055 hist = this->histoSvc() -> book ( histoPath() , 00056 ID.numericID() , 00057 htitle , 00058 edgesX , 00059 edgesY , 00060 edgesZ ) ; 00061 } 00062 else if ( ID.literal() ) 00063 { 00064 hist = this->histoSvc() -> book ( histoPath()+"/"+ 00065 ID.literalID() , 00066 htitle , 00067 edgesX , 00068 edgesY , 00069 edgesZ ) ; 00070 } 00071 00072 // check OK 00073 if( NULL == hist ) 00074 { this->Error( "IHistogram3D* points to NULL! ID='" + ID.idAsString() + 00075 "' title='"+htitle+"'" ) ; return NULL; } // RETURN !! 00076 00077 // add histogram into histogram storages 00078 if ( ID.numeric() ) 00079 { m_histo3DMapNumID [ ID.numericID() ] = hist ; } 00080 else if ( ID.literal() ) 00081 { m_histo3DMapLitID [ ID.literalID() ] = hist ; } 00082 m_histo3DMapTitle [ title ] = hist ; 00083 00084 // Declare to monitoring service 00085 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00086 00087 // Printout and return 00088 if ( this->msgLevel(MSG::DEBUG) ) 00089 { this->debug() << "Booked 3D Histogram : ID='" << ID 00090 << "' Path=" << histoPath() 00091 << " Title='" 00092 << Gaudi::Utils::Histos::htitle ( hist ) 00093 << "'" << endmsg; } 00094 return hist ; 00095 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::bookProfile1D | ( | const std::string & | title, | |
| const double | low = 0, |
|||
| const double | high = 100, |
|||
| const unsigned long | bins = 100, |
|||
| const std::string & | opt = "", |
|||
| const double | lowY = -std::numeric_limits<double>::max(), |
|||
| const double | highY = std::numeric_limits<double>::max() | |||
| ) | const [inline] |
book the 1D profile histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| opt | the options, used for evaluation of errors | |
| lowY | the min cut-off for y-values | |
| highY | the max cut-off for y-values |
Definition at line 6 of file GaudiHistos_1DProfFixedBinning.icpp.
00013 { 00014 // exist? 00015 AIDA::IProfile1D* hist = profile1D ( title ) ; 00016 // histogram is already booked 00017 if( NULL != hist ) { return hist ; } // RETURN !! 00018 00019 // propose the histogram ID 00020 HistoID ID; 00021 newHistoID( title, ID ); 00022 00023 // Book the histo and return 00024 return this -> bookProfile1D ( ID, title, low, high, bins , opt , lowY , highY ); 00025 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::bookProfile1D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const double | low = 0, |
|||
| const double | high = 100, |
|||
| const unsigned long | bins = 100, |
|||
| const std::string & | opt = "", |
|||
| const double | lowY = -std::numeric_limits<double>::max(), |
|||
| const double | highY = std::numeric_limits<double>::max() | |||
| ) | const [inline] |
book the 1D profile histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| edges | The histogram bin edges | |
| low | low limit for histogram | |
| high | high limit for histogram | |
| bins | number of bins | |
| opt | the options, used for evaluation of errors | |
| lowY | the min cut-off for y-values | |
| highY | the max cut-off for y-values |
Definition at line 31 of file GaudiHistos_1DProfFixedBinning.icpp.
00039 { 00040 // Check ID 00041 if (ID.undefined()) 00042 { 00043 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00044 return NULL; 00045 } 00046 00047 // exist? 00048 AIDA::IProfile1D* hist = profile1D ( ID ) ; 00049 // histogram is already booked 00050 if( NULL != hist ) { return hist ; } // RETURN !! 00051 00052 // Histogram title 00053 const std::string & htitle = 00054 ( title.empty() ? 00055 "Unnamed 1D Profile Histogram ID="+ID.idAsString() : title ) ; 00056 00057 // book the histogram 00058 if ( ID.numeric() ) 00059 { 00060 hist = this->histoSvc() -> bookProf ( histoPath() , 00061 ID.numericID() , 00062 htitle , 00063 bins , 00064 low , 00065 high , 00066 lowY , 00067 highY , 00068 opt ) ; 00069 } 00070 else if ( ID.literal() ) 00071 { 00072 hist = this->histoSvc() -> bookProf ( histoPath()+"/"+ 00073 ID.literalID() , 00074 htitle , 00075 bins , 00076 low , 00077 high , 00078 lowY , 00079 highY , 00080 opt ) ; 00081 } 00082 00083 // test ok 00084 if( NULL == hist ) 00085 { this->Error( "IProfile1D* points to NULL! ID='" + ID.idAsString() + 00086 "' title='"+htitle+"'" ) ; return NULL; } // RETURN !! 00087 00088 // add histogram into histogram storages 00089 if ( ID.numeric() ) 00090 { m_profile1DMapNumID [ ID.numericID() ] = hist ; } 00091 else if ( ID.literal() ) 00092 { m_profile1DMapLitID [ ID.literalID() ] = hist ; } 00093 m_profile1DMapTitle [ title ] = hist ; 00094 00095 // Declare to monitoring service 00096 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00097 00098 // printout and return 00099 if ( this->msgLevel(MSG::DEBUG) ) 00100 { this->debug() << "Booked 1D Profile Histogram : ID='" 00101 << ID << "' Path=" << histoPath() 00102 << " Title='" 00103 << Gaudi::Utils::Histos::htitle ( hist ) 00104 << "'" << endmsg; } 00105 return hist ; 00106 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::bookProfile1D | ( | const std::string & | title, | |
| const HistoBinEdges & | edges | |||
| ) | const [inline] |
book the 1D profile histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| edges | The histogram bin edges |
Definition at line 6 of file GaudiHistos_1DProfVariableBinning.icpp.
00008 { 00009 // exist? 00010 AIDA::IProfile1D* hist = profile1D ( title ) ; 00011 // histogram is already booked 00012 if ( NULL != hist ) { return hist ; } // RETURN !! 00013 00014 // propose the histogram ID 00015 HistoID ID; 00016 newHistoID( title, ID ); 00017 00018 // Book the histo and return 00019 return this -> bookProfile1D ( ID, title, edges ); 00020 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::bookProfile1D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const HistoBinEdges & | edges | |||
| ) | const [inline] |
book the 1D profile histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| edges | The histogram bin edges |
Definition at line 26 of file GaudiHistos_1DProfVariableBinning.icpp.
00029 { 00030 // Check ID 00031 if (ID.undefined()) 00032 { 00033 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00034 return NULL; 00035 } 00036 00037 // exist? 00038 AIDA::IProfile1D* hist = profile1D ( ID ) ; 00039 // histogram is already booked 00040 if ( NULL != hist ) { return hist ; } // RETURN !! 00041 00042 // Histogram title 00043 const std::string & htitle = 00044 ( title.empty() ? 00045 "Unnamed 1D Profile Histogram ID="+ID.idAsString() : title ) ; 00046 00047 // book the histogram 00048 if ( ID.numeric() ) 00049 { 00050 hist = this->histoSvc() -> bookProf ( histoPath() , 00051 ID.numericID() , 00052 htitle , 00053 edges ) ; 00054 } 00055 else if ( ID.literal() ) 00056 { 00057 hist = this->histoSvc() -> bookProf ( histoPath()+"/"+ 00058 ID.literalID() , 00059 htitle , 00060 edges ) ; 00061 } 00062 00063 // test ok 00064 if( NULL == hist ) 00065 { this->Error( "IProfile1D* points to NULL! ID='" + ID.idAsString() + 00066 "' title='"+htitle+"'" ) ; return NULL; } // RETURN !! 00067 00068 // add histogram into histogram storages 00069 if ( ID.numeric() ) 00070 { m_profile1DMapNumID [ ID.numericID() ] = hist ; } 00071 else if ( ID.literal() ) 00072 { m_profile1DMapLitID [ ID.literalID() ] = hist ; } 00073 m_profile1DMapTitle [ title ] = hist ; 00074 00075 // Declare to monitoring service 00076 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00077 00078 // printout and return 00079 if ( this->msgLevel(MSG::DEBUG) ) 00080 { this->debug() << "Booked 1D Profile Histogram : ID='" 00081 << ID << "' Path=" << histoPath() 00082 << " Title='" 00083 << Gaudi::Utils::Histos::htitle ( hist ) 00084 << "'" << endmsg; } 00085 return hist ; 00086 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::bookProfile2D | ( | const std::string & | title, | |
| const double | lowX = 0, |
|||
| const double | highX = 100, |
|||
| const unsigned long | binsX = 50, |
|||
| const double | lowY = 0, |
|||
| const double | highY = 100, |
|||
| const unsigned long | binsY = 50 | |||
| ) | const [inline] |
book the 2D profile histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| lowX | low x limit for histogram | |
| highX | high x limit for histogram | |
| binsX | number of bins in x | |
| lowY | low y limit for histogram | |
| highY | high y limit for histogram | |
| binsY | number of bins in y |
Definition at line 6 of file GaudiHistos_2DProfFixedBinning.icpp.
00013 { 00014 // exist? 00015 AIDA::IProfile2D* hist = profile2D ( title ) ; 00016 // histogram is already booked 00017 if( 0 != hist ) { return hist ; } // RETURN !! 00018 00019 // propose the histogram ID 00020 HistoID ID; 00021 newHistoID( title, ID ); 00022 00023 // book histogram and return 00024 return this -> bookProfile2D ( ID, title, lowX, highX, binsX, lowY, highY, binsY ); 00025 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::bookProfile2D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const double | lowX = 0, |
|||
| const double | highX = 100, |
|||
| const unsigned long | binsX = 50, |
|||
| const double | lowY = 0, |
|||
| const double | highY = 100, |
|||
| const unsigned long | binsY = 50 | |||
| ) | const [inline] |
book the 2D profile histogram with forced ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| 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 31 of file GaudiHistos_2DProfFixedBinning.icpp.
00039 { 00040 // Check ID 00041 if (ID.undefined()) 00042 { 00043 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00044 return NULL; 00045 } 00046 00047 // exist? 00048 AIDA::IProfile2D* hist = profile2D ( ID ) ; 00049 // histogram is already booked 00050 if( 0 != hist ) { return hist ; } // RETURN !! 00051 00052 // Histogram title 00053 const std::string & htitle = 00054 ( title.empty() ? 00055 "Unnamed 2D Profile Histogram ID="+ID.idAsString() : title ) ; 00056 00057 // book the histogram 00058 if ( ID.numeric() ) 00059 { 00060 hist = this->histoSvc() -> bookProf ( histoPath() , 00061 ID.numericID() , 00062 htitle , 00063 binsX , 00064 lowX , 00065 highX , 00066 binsY , 00067 lowY , 00068 highY ) ; 00069 } 00070 else if ( ID.literal() ) 00071 { 00072 hist = this->histoSvc() -> bookProf ( histoPath()+"/"+ 00073 ID.literalID() , 00074 htitle , 00075 binsX , 00076 lowX , 00077 highX , 00078 binsY , 00079 lowY , 00080 highY ) ; 00081 } 00082 00083 // test OK 00084 if( 0 == hist ) 00085 { this->Error( "IProfile2D* points to NULL! ID='" + ID.idAsString() + 00086 "' title='"+htitle+"'" ) ; return 0; } // RETURN !! 00087 00088 // add histogram into histogram storages 00089 if ( ID.numeric() ) 00090 { m_profile2DMapNumID [ ID.numericID() ] = hist ; } 00091 else if ( ID.literal() ) 00092 { m_profile2DMapLitID [ ID.literalID() ] = hist ; } 00093 m_profile2DMapTitle [ title ] = hist ; 00094 00095 // Declare to monitoring service 00096 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00097 00098 // printout and return 00099 if ( this->msgLevel(MSG::DEBUG) ) 00100 { this->debug() << "Booked 2D Profile Histogram : ID='" << ID 00101 << "' Path=" << histoPath() 00102 << " Title='" 00103 << Gaudi::Utils::Histos::htitle ( hist ) 00104 << "'" << endmsg; } 00105 return hist ; 00106 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::bookProfile2D | ( | const std::string & | title, | |
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY | |||
| ) | const [inline] |
book the 2D profile histogram
The histogram will be assigned a unique identifier
| title | histogram title (must be unique within the algorithm) | |
| edgesX | x bin edges | |
| edgesY | y bin edges |
Definition at line 6 of file GaudiHistos_2DProfVariableBinning.icpp.
00009 { 00010 // exist? 00011 AIDA::IProfile2D* hist = profile2D ( title ) ; 00012 // histogram is already booked 00013 if( NULL != hist ) { return hist ; } // RETURN !! 00014 00015 // propose the histogram ID 00016 HistoID ID; 00017 newHistoID( title, ID ); 00018 00019 // book histogram and return 00020 return this -> bookProfile2D ( ID, title, edgesX, edgesY ); 00021 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::bookProfile2D | ( | const HistoID & | ID, | |
| const std::string & | title, | |||
| const HistoBinEdges & | edgesX, | |||
| const HistoBinEdges & | edgesY | |||
| ) | const [inline] |
book the 2D profile histogram with forced ID
| ID | unique histogram ID | |
| title | histogram title (must be unique within the algorithm) | |
| edgesX | x bin edges | |
| edgesY | y bin edges |
Definition at line 27 of file GaudiHistos_2DProfVariableBinning.icpp.
00031 { 00032 // Check ID 00033 if (ID.undefined()) 00034 { 00035 this->Error("Undefined Histogram ID : Title='"+title+"'"); 00036 return NULL; 00037 } 00038 00039 // exist? 00040 AIDA::IProfile2D* hist = profile2D ( ID ) ; 00041 // histogram is already booked 00042 if( NULL != hist ) { return hist ; } // RETURN !! 00043 00044 // Histogram title 00045 const std::string & htitle = 00046 ( title.empty() ? 00047 "Unnamed 2D Profile Histogram ID="+ID.idAsString() : title ) ; 00048 00049 // book the histogram 00050 if ( ID.numeric() ) 00051 { 00052 hist = this->histoSvc() -> bookProf ( histoPath() , 00053 ID.numericID() , 00054 htitle , 00055 edgesX , 00056 edgesY ) ; 00057 } 00058 else if ( ID.literal() ) 00059 { 00060 hist = this->histoSvc() -> bookProf ( histoPath()+"/"+ 00061 ID.literalID() , 00062 htitle , 00063 edgesX , 00064 edgesY ) ; 00065 } 00066 00067 // test OK 00068 if( NULL == hist ) 00069 { this->Error( "IProfile2D* points to NULL! ID='" + ID.idAsString() + 00070 "' title='"+htitle+"'" ) ; return NULL; } // RETURN !! 00071 00072 // add histogram into histogram storages 00073 if ( ID.numeric() ) 00074 { m_profile2DMapNumID [ ID.numericID() ] = hist ; } 00075 else if ( ID.literal() ) 00076 { m_profile2DMapLitID [ ID.literalID() ] = hist ; } 00077 m_profile2DMapTitle [ title ] = hist ; 00078 00079 // Declare to monitoring service 00080 monitorHisto( Gaudi::Utils::Histos::toBase ( hist ) , ID ); 00081 00082 // printout and return 00083 if ( this->msgLevel(MSG::DEBUG) ) 00084 { this->debug() << "Booked 2D Profile Histogram : ID='" << ID 00085 << "' Path=" << histoPath() 00086 << " Title='" 00087 << Gaudi::Utils::Histos::htitle ( hist ) 00088 << "'" << endmsg; } 00089 return hist ; 00090 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::fill | ( | AIDA::IHistogram1D * | histo, | |
| const double | value, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const [inline] |
fill the 1D histogram with the value and weight
| histo | 1D histogram to be filled | |
| value | value to be put into the histogram | |
| weight | weight to be used | |
| title | histogram title (to be used for error report) |
Reimplemented in HistoTool.
Definition at line 101 of file GaudiHistos_1DFixedBinning.icpp.
00105 { 00106 if ( NULL != histo && produceHistos() ) 00107 { 00108 if ( !checkForNaN() ) 00109 { Gaudi::Utils::Histos::fill ( histo , value , weight ) ; } 00110 else if ( lfin ( value ) && lfin ( weight ) ) 00111 { Gaudi::Utils::Histos::fill ( histo , value , weight ) ; } 00112 else if ( lnan ( value ) || lnan ( weight ) ) 00113 { 00114 this -> Warning 00115 ("fill():: 'NaN' value is skipped from the histogram '" 00116 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00117 } 00118 else 00119 { 00120 this -> Warning 00121 ("fill():: 'Infinite' value is skipped from the histogram '" 00122 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00123 } 00124 } 00125 // return 00126 return histo ; 00127 }
| AIDA::IHistogram2D * GaudiHistos< PBASE >::fill | ( | AIDA::IHistogram2D * | histo, | |
| const double | valueX, | |||
| const double | valueY, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const [inline] |
fill the 2D histogram with the value and weight
| histo | 2D histogram to be filled | |
| valueX | x value to be put into the histogram | |
| valueY | y value to be put into the histogram | |
| weight | weight to be used | |
| title | histogram title (to be used for error report) |
Reimplemented in HistoTool.
Definition at line 114 of file GaudiHistos_2DFixedBinning.icpp.
00119 { 00120 if ( NULL != histo && produceHistos() ) 00121 { 00122 if ( !checkForNaN() ) 00123 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , weight ) ; } 00124 else if ( lfin ( valueX ) && lfin ( valueY ) && lfin ( weight ) ) 00125 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , weight ) ; } 00126 else if ( lnan ( valueX ) || lnan ( valueY ) || lnan ( weight ) ) 00127 { 00128 this -> Warning 00129 ("fill():: 'NaN' value is skipped from the histogram '" 00130 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00131 } 00132 else 00133 { 00134 this -> Warning 00135 ("fill():: 'Infinite' value is skipped from the histogram '" 00136 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00137 } 00138 } 00139 // return 00140 return histo ; 00141 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::fill | ( | AIDA::IHistogram3D * | histo, | |
| const double | valueX, | |||
| const double | valueY, | |||
| const double | valueZ, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const [inline] |
fill the 3D histogram with the value and weight
| histo | 3D histogram to be filled | |
| valueX | x value to be put into the histogram | |
| valueY | y value to be put into the histogram | |
| valueZ | z value to be put into the histogram | |
| weight | weight to be used | |
| title | histogram title (to be used for error report) |
Reimplemented in HistoTool.
Definition at line 128 of file GaudiHistos_3DFixedBinning.icpp.
00134 { 00135 if ( 0 != histo && produceHistos() ) 00136 { 00137 if ( !checkForNaN() ) 00138 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , valueZ , weight ) ; } 00139 else if ( lfin ( valueX ) && lfin ( valueY ) && 00140 lfin ( valueZ ) && lfin ( weight ) ) 00141 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , valueZ , weight ) ; } 00142 else if ( lnan ( valueX ) || lnan ( valueY ) || 00143 lnan ( valueZ ) || lnan ( weight ) ) 00144 { 00145 this -> Warning 00146 ("fill():: 'NaN' value is skipped from the histogram '" 00147 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00148 } 00149 else 00150 { 00151 this -> Warning 00152 ("fill():: 'Infinite' value is skipped from the histogram '" 00153 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00154 } 00155 } 00156 // return 00157 return histo ; 00158 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::fill | ( | AIDA::IProfile1D * | histo, | |
| const double | valueX, | |||
| const double | valueY, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const [inline] |
fill the 1D profile histogram with the values and weight
| histo | 1D profile histogram to be filled | |
| valueX | x value to be put into the histogram | |
| valueY | y value to be put into the histogram | |
| weight | weight to be used | |
| title | histogram title (to be used for error report) |
Definition at line 112 of file GaudiHistos_1DProfFixedBinning.icpp.
00117 { 00118 if ( NULL != histo && produceHistos() ) 00119 { 00120 if ( !checkForNaN() ) 00121 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , weight ); } 00122 else if ( lfin ( valueX ) && lfin ( valueY ) && lfin ( weight ) ) 00123 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , weight ); } 00124 else if ( lnan ( valueX ) || lnan ( valueY ) || lnan ( weight ) ) 00125 { 00126 this -> Warning 00127 ("fill():: 'NaN' value is skipped from the histogram '" 00128 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00129 } 00130 else 00131 { 00132 this -> Warning 00133 ("fill():: 'Infinite' value is skipped from the histogram '" 00134 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00135 } 00136 } 00137 // return 00138 return histo ; 00139 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::fill | ( | AIDA::IProfile2D * | histo, | |
| const double | valueX, | |||
| const double | valueY, | |||
| const double | valueZ, | |||
| const double | weight, | |||
| const std::string & | title = "" | |||
| ) | const [inline] |
fill the 2D profile histogram with the values and weight
| histo | 2D profile histogram to be filled | |
| valueX | x value to be put into the histogram | |
| valueY | y value to be put into the histogram | |
| valueZ | z value to be put into the histogram | |
| weight | weight to be used | |
| title | histogram title (to be used for error report) |
Definition at line 112 of file GaudiHistos_2DProfFixedBinning.icpp.
00118 { 00119 if ( 0 != histo && produceHistos() ) 00120 { 00121 if ( !checkForNaN() ) 00122 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , valueZ , weight ); } 00123 else if ( lfin ( valueX ) && lfin ( valueY ) && 00124 lfin ( valueZ ) && lfin ( weight ) ) 00125 { Gaudi::Utils::Histos::fill ( histo , valueX , valueY , valueZ , weight ); } 00126 else if ( lnan ( valueX ) || lnan ( valueY ) || 00127 lnan ( valueZ ) || lnan ( weight ) ) 00128 { 00129 this -> Warning 00130 ("fill():: 'NaN' value is skipped from the histogram '" 00131 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00132 } 00133 else 00134 { 00135 this -> Warning 00136 ("fill():: 'Infinite' value is skipped from the histogram '" 00137 + Gaudi::Utils::Histos::htitle ( histo , title ) + "'" ) ; 00138 } 00139 } 00140 // return 00141 return histo ; 00142 }
| 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 2582 of file GaudiHistos.h.
02583 { 02584 Histo1DMapTitle::const_iterator found = histo1DMapTitle().find( title ) ; 02585 return ( histo1DMapTitle().end() == found ? 0 : found->second ); 02586 }
| 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 2595 of file GaudiHistos.h.
02596 { 02597 return histo1D( title ); 02598 }
| 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 2603 of file GaudiHistos.h.
02604 { 02605 Histo2DMapTitle::const_iterator found = histo2DMapTitle().find( title ) ; 02606 return ( histo2DMapTitle().end() == found ? 0 : found->second ); 02607 }
| 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 2612 of file GaudiHistos.h.
02613 { 02614 Histo3DMapTitle::const_iterator found = histo3DMapTitle().find( title ) ; 02615 return ( histo3DMapTitle().end() == found ? 0 : found->second ); 02616 }
| 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 2621 of file GaudiHistos.h.
02622 { 02623 Profile1DMapTitle::const_iterator found = profile1DMapTitle().find( title ) ; 02624 return ( profile1DMapTitle().end() == found ? 0 : found->second ); 02625 }
| 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 2630 of file GaudiHistos.h.
02631 { 02632 Profile2DMapTitle::const_iterator found = profile2DMapTitle().find( title ) ; 02633 return ( profile2DMapTitle().end() == found ? 0 : found->second ); 02634 }
| AIDA::IHistogram1D * GaudiHistos< PBASE >::histo1D | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 1D histogram by ID return the pointer to existing 1D histogram or NULL
Reimplemented in HistoTool.
Definition at line 485 of file GaudiHistos.icpp.
00486 { 00487 AIDA::IHistogram1D * h(NULL); 00488 if ( ID.numeric() ) 00489 { 00490 Histo1DMapNumID::const_iterator found = 00491 histo1DMapNumID().find( ID.numericID() ) ; 00492 h = ( histo1DMapNumID().end() == found ? NULL : found->second ); 00493 } 00494 else 00495 { 00496 Histo1DMapLitID::const_iterator found = 00497 histo1DMapLitID().find( ID.literalID() ) ; 00498 h = ( histo1DMapLitID().end() == found ? NULL : found->second ); 00499 } 00500 return h; 00501 }
| 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 2650 of file GaudiHistos.h.
| AIDA::IHistogram2D * GaudiHistos< PBASE >::histo2D | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 2D histogram by ID return the pointer to existing 2D histogram or NULL
Reimplemented in HistoTool.
Definition at line 506 of file GaudiHistos.icpp.
00507 { 00508 AIDA::IHistogram2D * h(NULL); 00509 if ( ID.numeric() ) 00510 { 00511 Histo2DMapNumID::const_iterator found = 00512 histo2DMapNumID().find( ID.numericID() ) ; 00513 h = ( histo2DMapNumID().end() == found ? NULL : found->second ); 00514 } 00515 else 00516 { 00517 Histo2DMapLitID::const_iterator found = 00518 histo2DMapLitID().find( ID.literalID() ) ; 00519 h = ( histo2DMapLitID().end() == found ? NULL : found->second ); 00520 } 00521 return h; 00522 }
| AIDA::IHistogram3D * GaudiHistos< PBASE >::histo3D | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 3D histogram by ID return the pointer to existing 3D histogram or NULL
Reimplemented in HistoTool.
Definition at line 527 of file GaudiHistos.icpp.
00528 { 00529 AIDA::IHistogram3D * h(NULL); 00530 if ( ID.numeric() ) 00531 { 00532 Histo3DMapNumID::const_iterator found = 00533 histo3DMapNumID().find( ID.numericID() ) ; 00534 h = ( histo3DMapNumID().end() == found ? NULL : found->second ); 00535 } 00536 else 00537 { 00538 Histo3DMapLitID::const_iterator found = 00539 histo3DMapLitID().find( ID.literalID() ) ; 00540 h = ( histo3DMapLitID().end() == found ? NULL : found->second ); 00541 } 00542 return h; 00543 }
| AIDA::IProfile1D * GaudiHistos< PBASE >::profile1D | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 1D profile histogram by ID return the pointer to existing 1D profile histogram or NULL
Definition at line 548 of file GaudiHistos.icpp.
00549 { 00550 AIDA::IProfile1D * h(NULL); 00551 if ( ID.numeric() ) 00552 { 00553 Profile1DMapNumID::const_iterator found = 00554 profile1DMapNumID().find( ID.numericID() ) ; 00555 h = ( profile1DMapNumID().end() == found ? NULL : found->second ); 00556 } 00557 else 00558 { 00559 Profile1DMapLitID::const_iterator found = 00560 profile1DMapLitID().find( ID.literalID() ) ; 00561 h = ( profile1DMapLitID().end() == found ? NULL : found->second ); 00562 } 00563 return h; 00564 }
| AIDA::IProfile2D * GaudiHistos< PBASE >::profile2D | ( | const HistoID & | ID | ) | const [inline] |
access the EXISTING 2D profile histogram by ID return the pointer to existing 2D profile histogram or NULL
Definition at line 569 of file GaudiHistos.icpp.
00570 { 00571 AIDA::IProfile2D * h(NULL); 00572 if ( ID.numeric() ) 00573 { 00574 Profile2DMapNumID::const_iterator found = 00575 profile2DMapNumID().find( ID.numericID() ) ; 00576 h = ( profile2DMapNumID().end() == found ? NULL : found->second ); 00577 } 00578 else 00579 { 00580 Profile2DMapLitID::const_iterator found = 00581 profile2DMapLitID().find( ID.literalID() ) ; 00582 h = ( profile2DMapLitID().end() == found ? NULL : found->second ); 00583 } 00584 return h; 00585 }
| 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 2678 of file GaudiHistos.h.
02679 { 02680 return 02681 ( 0 != histo ( title ) || 02682 0 != histo2D ( title ) || 02683 0 != histo3D ( title ) || 02684 0 != profile1D ( title ) || 02685 0 != profile2D ( title ) ); 02686 }
| 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 2689 of file GaudiHistos.h.
02690 { 02691 return 02692 ( 0 != histo ( ID ) || 02693 0 != histo2D ( ID ) || 02694 0 != histo3D ( ID ) || 02695 0 != profile1D ( ID ) || 02696 0 != profile2D ( ID ) ); 02697 }
| unsigned int GaudiHistos< PBASE >::totalNumberOfHistos | ( | ) | const [inline] |
Returns the total number of histograms (of all types) currently booked.
Definition at line 590 of file GaudiHistos.icpp.
00591 { 00592 const unsigned int n1D = histo1DMapNumID().size()+histo1DMapLitID().size(); 00593 const unsigned int n2D = histo2DMapNumID().size()+histo2DMapLitID().size(); 00594 const unsigned int n3D = histo3DMapNumID().size()+histo3DMapLitID().size(); 00595 const unsigned int n1DP = profile1DMapNumID().size()+profile1DMapLitID().size(); 00596 const unsigned int n2DP = profile2DMapNumID().size()+profile2DMapLitID().size(); 00597 return n1D+n2D+n3D+n1DP+n2DP; 00598 }
| bool GaudiHistos< PBASE >::produceHistos | ( | ) | const [inline] |
get the flag for histogram production (property "HistoProduce")
Definition at line 2704 of file GaudiHistos.h.
02704 { return m_produceHistos ; }
| bool GaudiHistos< PBASE >::fullDetail | ( | ) | const [inline] |
get flag to control output level of histograms
Definition at line 2706 of file GaudiHistos.h.
02706 { return m_fullDetail ; }
| bool GaudiHistos< PBASE >::checkForNaN | ( | ) | const [inline] |
get the flag for NaN checks (property "HistoCheckForNan")
Definition at line 2708 of file GaudiHistos.h.
02708 { return m_checkForNaN ; }
| bool GaudiHistos< PBASE >::splitHistoDir | ( | ) | const [inline] |
get the flag for histogram path split (property "HistoSplitDir")
Definition at line 2710 of file GaudiHistos.h.
02710 { return m_splitHistoDir ; }
| HistoID::NumericID GaudiHistos< PBASE >::histoOffSet | ( | ) | const [inline] |
get the value for histogram offset (property "HistoOffSet")
Definition at line 2712 of file GaudiHistos.h.
02712 { return m_histoOffSet ; }
| const std::string& GaudiHistos< PBASE >::histoTopDir | ( | ) | const [inline] |
get top-level histogram directory (property "HistoTopDir")
Definition at line 2714 of file GaudiHistos.h.
02714 { return m_histoTopDir ; }
| const std::string& GaudiHistos< PBASE >::histoDir | ( | ) | const [inline] |
get histogram directory (property "HistoDir")
Definition at line 2716 of file GaudiHistos.h.
02716 { return m_histoDir ; }
| std::string GaudiHistos< PBASE >::histoPath | ( | ) | const [inline] |
get the constructed histogram path
Definition at line 2718 of file GaudiHistos.h.
02719 { 02720 const std::string path = histoTopDir() + histoDir(); 02721 return ( splitHistoDir() ? dirHbookName(path) : path ); 02722 }
| bool GaudiHistos< PBASE >::histosPrint | ( | ) | const [inline] |
print histograms at finalization ?
Definition at line 2724 of file GaudiHistos.h.
02724 { return m_histosPrint ; }
| bool GaudiHistos< PBASE >::useNumericAutoIDs | ( | ) | const [inline] |
Use old style sequencial numerical automatically assigned IDs ?
Definition at line 2726 of file GaudiHistos.h.
02726 { return m_useNumericAutoIDs; }
| int GaudiHistos< PBASE >::printHistos | ( | const MSG::Level | level = MSG::ALWAYS |
) | const [inline] |
perform the actual printout of histograms
| level | The message level to print at |
Definition at line 222 of file GaudiHistos.icpp.
00223 { 00224 // temporary storage 00225 std::set<const AIDA::IBaseHistogram*> histos ; 00226 std::set<const AIDA::IBaseHistogram*> profiles ; 00227 00228 using namespace Gaudi::Utils::Histos ; 00229 00230 if ( noHistos() ) 00231 { if (this->msgLevel(MSG::DEBUG)) this->msgStream(level) << "No histograms are booked" << endmsg ; } 00232 else 00233 { 00234 MsgStream & msg = this->msgStream(level); 00235 00236 // Printout all histograms 00237 // Note, each must appear in either the numeric or literal map 00238 00239 Gaudi::Utils::Histos::Table table 00240 ( m_histo1DTableFormat , 00241 m_histo1DTableHeader ) ; 00242 00243 if ( !histo1DMapNumID().empty() || !histo1DMapLitID().empty() ) 00244 { 00245 msg << "List of booked 1D histograms in directory " 00246 << "\"" << histoPath() << "\" :-" ; 00247 00248 if ( !table.header().empty() ) 00249 { 00250 msg << std::endl << Gaudi::Utils::Histos::format 00251 ( "ID" , table.header() , m_histo1DTableFormatShort ) ; 00252 } 00253 { 00254 typedef std::map<Histo1DMapNumID::key_type, Histo1DMapNumID::mapped_type> ordered_map_t; 00255 ordered_map_t ordered_map(histo1DMapNumID().begin(), histo1DMapNumID().end()); 00256 for ( ordered_map_t::const_iterator entry = ordered_map.begin() ; 00257 ordered_map.end() != entry ; ++entry ) 00258 { 00259 AIDA::IHistogram1D* aida = entry->second ; 00260 if ( NULL == aida ) 00261 { this->error() << "IHistogram1D points to NULL" << endmsg ; continue ; } 00262 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00263 histos.insert ( toBase ( aida ) ) ; 00264 // format and print the row 00265 msg << std::endl << table.toString 00266 ( aida , 00267 HistoID ( entry->first ) , 00268 m_histo1DTableFormatShort ) ; 00269 } 00270 } 00271 { 00272 typedef std::map<Histo1DMapLitID::key_type, Histo1DMapLitID::mapped_type> ordered_map_t; 00273 ordered_map_t ordered_map(histo1DMapLitID().begin(), histo1DMapLitID().end()); 00274 for ( ordered_map_t::const_iterator entry = ordered_map.begin() ; 00275 ordered_map.end() != entry ; ++entry ) 00276 { 00277 AIDA::IHistogram1D* aida = entry->second ; 00278 if ( NULL == aida ) 00279 { this->error() << "IHistogram1D points to NULL" << endmsg ; continue ; } 00280 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00281 histos.insert ( toBase ( aida ) ) ; 00282 // format and print the row 00283 msg << std::endl << table.toString 00284 ( aida , 00285 entry->first , 00286 m_histo1DTableFormatShort ) ; 00287 } 00288 } 00289 msg << endmsg ; 00290 } 00291 if ( !histo2DMapNumID().empty() || !histo2DMapLitID().empty() ) 00292 { 00293 msg << "List of booked 2D histograms in directory " 00294 << "\"" << histoPath() << "\" :-" ; 00295 { 00296 typedef std::map<Histo2DMapNumID::key_type, Histo2DMapNumID::mapped_type> ordered_map_t; 00297 ordered_map_t ordered_map(histo2DMapNumID().begin(), histo2DMapNumID().end()); 00298 for ( ordered_map_t::const_iterator entry = ordered_map.begin() ; 00299 ordered_map.end() != entry ; ++entry ) 00300 { 00301 AIDA::IHistogram2D* aida = entry->second ; 00302 if ( NULL == aida ) 00303 { this->error() << "IHistogram2D points to NULL" << endmsg ; continue ; } 00304 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00305 histos.insert ( toBase ( aida ) ) ; 00306 msg << std::endl 00307 << GaudiAlg::Print2D::toString ( aida , entry->first ); 00308 } 00309 } 00310 { 00311 typedef std::map<Histo2DMapLitID::key_type, Histo2DMapLitID::mapped_type> ordered_map_t; 00312 ordered_map_t ordered_map(histo2DMapLitID().begin(), histo2DMapLitID().end()); 00313 for ( ordered_map_t::const_iterator entry = ordered_map.begin() ; 00314 ordered_map.end() != entry ; ++entry ) 00315 { 00316 AIDA::IHistogram2D* aida = entry->second ; 00317 if ( NULL == aida ) 00318 { this->error() << "IHistogram2D points to NULL" << endmsg ; continue ; } 00319 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00320 histos.insert ( toBase ( aida ) ) ; 00321 msg << std::endl 00322 << GaudiAlg::Print2D::toString ( aida , entry->first ); 00323 } 00324 } 00325 msg << endmsg ; 00326 } 00327 00328 if ( !histo3DMapNumID().empty() || !histo3DMapLitID().empty() ) 00329 { 00330 msg << "List of booked 3D histograms in directory " 00331 << "\"" << histoPath() << "\" :-" ; 00332 { 00333 typedef std::map<Histo3DMapNumID::key_type, Histo3DMapNumID::mapped_type> ordered_map_t; 00334 ordered_map_t ordered_map(histo3DMapNumID().begin(), histo3DMapNumID().end()); 00335 for ( ordered_map_t::const_iterator entry = ordered_map.begin() ; 00336 ordered_map.end() != entry ; ++entry ) 00337 { 00338 AIDA::IHistogram3D* aida = entry->second ; 00339 if ( NULL == aida ) 00340 { this->error() << "IHistogram3D points to NULL" << endmsg ; continue ; } 00341 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00342 histos.insert ( toBase ( aida ) ) ; 00343 msg << std::endl << GaudiAlg::Print3D::toString ( aida , entry->first ); 00344 } 00345 } 00346 { 00347 typedef std::map<Histo3DMapLitID::key_type, Histo3DMapLitID::mapped_type> ordered_map_t; 00348 ordered_map_t ordered_map(histo3DMapLitID().begin(), histo3DMapLitID().end()); 00349 for ( ordered_map_t::const_iterator entry = ordered_map.begin() ; 00350 ordered_map.end() != entry ; ++entry ) 00351 { 00352 AIDA::IHistogram3D* aida = entry->second ; 00353 if ( NULL == aida ) 00354 { this->error() << "IHistogram3D points to NULL" << endmsg ; continue ; } 00355 if ( histos.end() != histos.find( toBase ( aida ) ) ) { continue ; } 00356 histos.insert ( toBase ( aida ) ) ; 00357 msg << std::endl << GaudiAlg::Print3D::toString ( aida , entry->first ) ; 00358 } 00359 } 00360 msg << endmsg ; 00361 } 00362 if ( !profile1DMapNumID().empty() || !profile1DMapLitID().empty() ) 00363 { 00364 msg << "List of booked 1D profile histograms in directory " 00365 << "\"" << histoPath() << "\" :-" ; 00366 { 00367 typedef std::map<Profile1DMapNumID::key_type, Profile1DMapNumID::mapped_type> ordered_map_t; 00368 ordered_map_t ordered_map(profile1DMapNumID().begin(), profile1DMapNumID().end()); 00369 for ( ordered_map_t::const_iterator entry = ordered_map.begin() ; 00370 ordered_map.end() != entry ; ++entry ) 00371 { 00372 AIDA::IProfile1D* aida = entry->second ; 00373 if ( NULL == aida ) 00374 { this->error() << "IProfile1D points to NULL" << endmsg ; continue ; } 00375 if ( profiles.end() != profiles.find( toBase ( aida ) ) ) { continue ; } 00376 profiles.insert ( toBase ( aida ) ) ; 00377 msg << std::endl << GaudiAlg::Print1DProf::toString ( aida , entry->first ); 00378 } 00379 } 00380 { 00381 typedef std::map<Profile1DMapLitID::key_type, Profile1DMapLitID::mapped_type> ordered_map_t; 00382 ordered_map_t ordered_map(profile1DMapLitID().begin(), profile1DMapLitID().end()); 00383 for ( ordered_map_t::const_iterator entry = ordered_map.begin() ; 00384 ordered_map.end() != entry ; ++entry ) 00385 { 00386 AIDA::IProfile1D* aida = entry->second ; 00387 if ( NULL == aida ) 00388 { this->error() << "IProfile1D points to NULL" << endmsg ; continue ; } 00389 if ( profiles.end() != profiles.find( toBase ( aida ) ) ) { continue ; } 00390 profiles.insert ( toBase ( aida ) ) ; 00391 msg << std::endl << GaudiAlg::Print1DProf::toString ( aida , entry->first ); 00392 } 00393 } 00394 msg << endmsg ; 00395 } 00396 if ( !profile2DMapNumID().empty() || !profile2DMapLitID().empty() ) 00397 { 00398 msg << "List of booked 2D profile histograms in directory " 00399 << "\"" << histoPath() << "\" :-" ; 00400 { 00401 typedef std::map<Profile2DMapNumID::key_type, Profile2DMapNumID::mapped_type> ordered_map_t; 00402 ordered_map_t ordered_map(profile2DMapNumID().begin(), profile2DMapNumID().end()); 00403 for ( ordered_map_t::const_iterator entry = ordered_map.begin() ; 00404 ordered_map.end() != entry ; ++entry ) 00405 { 00406 AIDA::IProfile2D* aida = entry->second ; 00407 if ( NULL == aida ) 00408 { this->error() << "IProfile2D points to NULL" << endmsg ; continue ; } 00409 if ( profiles.end() != profiles.find( toBase ( aida ) ) ) { continue ; } 00410 profiles.insert ( toBase ( aida ) ) ; 00411 msg << std::endl << GaudiAlg::Print2DProf::toString ( aida , entry->first ); 00412 } 00413 } 00414 { 00415 typedef std::map<Profile2DMapLitID::key_type, Profile2DMapLitID::mapped_type> ordered_map_t; 00416 ordered_map_t ordered_map(profile2DMapLitID().begin(), profile2DMapLitID().end()); 00417 for ( ordered_map_t::const_iterator entry = ordered_map.begin() ; 00418 ordered_map.end() != entry ; ++entry ) 00419 { 00420 AIDA::IProfile2D* aida = entry->second ; 00421 if ( NULL == aida ) 00422 { this->error() << "IProfile2D points to NULL" << endmsg ; continue ; } 00423 if ( profiles.end() != profiles.find( toBase ( aida ) ) ) { continue ; } 00424 profiles.insert ( toBase ( aida ) ) ; 00425 msg << std::endl << GaudiAlg::Print2DProf::toString ( aida , entry->first ); 00426 } 00427 } 00428 msg << endmsg ; 00429 } 00430 00431 } 00432 return histos.size() + profiles.size() ; 00433 }
| 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 2761 of file GaudiHistos.h.
02761 { 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 2792 of file GaudiHistos.h.
02792 { 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 2822 of file GaudiHistos.h.
02822 { 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 2851 of file GaudiHistos.h.
02851 { 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 2882 of file GaudiHistos.h.
02882 { 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 2912 of file GaudiHistos.h.
02912 { 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 2941 of file GaudiHistos.h.
02941 { 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 2972 of file GaudiHistos.h.
02972 { 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 3002 of file GaudiHistos.h.
03002 { 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 3031 of file GaudiHistos.h.
03031 { 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 3062 of file GaudiHistos.h.
03062 { 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 3093 of file GaudiHistos.h.
03093 { 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 3122 of file GaudiHistos.h.
03122 { 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 3153 of file GaudiHistos.h.
03153 { 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 3184 of file GaudiHistos.h.
03184 { return m_profile2DMapLitID; }
| void GaudiHistos< PBASE >::setProduceHistos | ( | const bool | val | ) | [inline] |
set the flag for histogram production (property "HistoProduce")
Definition at line 3189 of file GaudiHistos.h.
03189 { m_produceHistos = val ; }
| void GaudiHistos< PBASE >::setFullDetail | ( | const bool | val | ) | [inline] |
set flag to control output level of histograms
Definition at line 3191 of file GaudiHistos.h.
03191 { m_fullDetail = val ; }
| void GaudiHistos< PBASE >::setCheckForNaN | ( | const bool | val | ) | [inline] |
set the flag for NaN checks (property "HistoCheckForNan")
Definition at line 3193 of file GaudiHistos.h.
03193 { m_checkForNaN = val ; }
| void GaudiHistos< PBASE >::setSplitHistoDir | ( | const bool | val | ) | [inline] |
set the flag for histogram path split (property "HistoSplitDir")
Definition at line 3195 of file GaudiHistos.h.
03195 { m_splitHistoDir = val ; }
| void GaudiHistos< PBASE >::setHistoOffSet | ( | const HistoID::NumericID | val | ) | [inline] |
set a value for histogram offset (property "HistoOffSet"
Definition at line 3197 of file GaudiHistos.h.
03198 { m_histoOffSet = val ; }
| void GaudiHistos< PBASE >::setHistoTopDir | ( | const std::string & | val | ) | [inline] |
set top-level histogram directory (property "HistoTopDir")
Definition at line 3201 of file GaudiHistos.h.
03201 { m_histoTopDir = val ; }
| void GaudiHistos< PBASE >::setHistoDir | ( | const std::string & | val | ) | [inline] |
set histogram directory (property "HistoDir")
Definition at line 3204 of file GaudiHistos.h.
03204 { m_histoDir = val ; }
| StatusCode GaudiHistos< PBASE >::initialize | ( | ) | [inline, protected, virtual] |
standard initialization method
Reimplemented in GaudiHistoAlg, GaudiHistoTool, GaudiTupleAlg, GaudiTupleTool, GaudiTuples< GaudiHistoTool >, and GaudiTuples< GaudiHistoAlg >.
Definition at line 130 of file GaudiHistos.icpp.
00131 { 00132 // initialize base class 00133 const StatusCode sc = PBASE::initialize(); 00134 if ( sc.isFailure() ) return sc; 00135 00136 // produce histograms? 00137 if ( !produceHistos() ) 00138 { 00139 this->debug() << "Histogram production is switched OFF" << endmsg; 00140 return sc; 00141 } 00142 00143 // check the validity of histogram service 00144 if ( this->histoSvc() == NULL ) 00145 { return this->Error("initialize():: IHistogramSvc* is invalid"); } 00146 00147 // Warn if the user has decided to use numerical automatic IDs 00148 if ( useNumericAutoIDs() ) 00149 { 00150 this -> 00151 Warning( "Using numerical automatic IDs. These are not guaranteed to be totally deterministic. Use with care...", 00152 StatusCode::SUCCESS ); 00153 } 00154 00155 // Finally, print the location histogram will be written to 00156 Print 00157 ( "The histogram path is set to be '" + histoPath() + "'", 00158 StatusCode( StatusCode::SUCCESS, true ) , MSG::DEBUG ); 00159 00160 return sc; 00161 }
| StatusCode GaudiHistos< PBASE >::finalize | ( | void | ) | [inline, protected, virtual] |
standard finalization method
Reimplemented in GaudiHistoAlg, GaudiHistoTool, GaudiTupleAlg, GaudiTupleTool, GaudiTuples< GaudiHistoTool >, and GaudiTuples< GaudiHistoAlg >.
Definition at line 166 of file GaudiHistos.icpp.
00167 { 00168 00169 if ( produceHistos() ) 00170 { 00171 00172 // Count how many histos of each type 00173 if ( !noHistos() ) 00174 { 00175 const unsigned int n1D = histo1DMapNumID().size()+histo1DMapLitID().size(); 00176 const unsigned int n2D = histo2DMapNumID().size()+histo2DMapLitID().size(); 00177 const unsigned int n3D = histo3DMapNumID().size()+histo3DMapLitID().size(); 00178 const unsigned int n1DP = profile1DMapNumID().size()+profile1DMapLitID().size(); 00179 const unsigned int n2DP = profile2DMapNumID().size()+profile2DMapLitID().size(); 00180 const unsigned int total = n1D+n2D+n3D+n1DP+n2DP; 00181 if ( total>0 ) 00182 { 00183 this->always() << "Booked " << total << " Histogram(s) : "; 00184 if ( n1D>0 ) this->always() << "1D=" << n1D << " "; 00185 if ( n2D>0 ) this->always() << "2D=" << n2D << " "; 00186 if ( n3D>0 ) this->always() << "3D=" << n3D << " "; 00187 if ( n1DP>0 ) this->always() << "1DProf=" << n1DP << " "; 00188 if ( n2DP>0 ) this->always() << "2DProf=" << n2DP << " "; 00189 this->always() << endmsg; 00190 } 00191 } 00192 00193 // detailed printing 00194 if ( histosPrint() ) { printHistos() ; } 00195 00196 } 00197 00198 // clear all maps 00199 m_histo1DMapTitle .clear() ; 00200 m_histo2DMapTitle .clear() ; 00201 m_histo3DMapTitle .clear() ; 00202 m_histo1DMapNumID .clear() ; 00203 m_histo1DMapLitID .clear() ; 00204 m_histo2DMapNumID .clear() ; 00205 m_histo2DMapLitID .clear() ; 00206 m_histo3DMapNumID .clear() ; 00207 m_histo3DMapLitID .clear() ; 00208 m_profile1DMapTitle .clear() ; 00209 m_profile2DMapTitle .clear() ; 00210 m_profile1DMapNumID .clear() ; 00211 m_profile1DMapLitID .clear() ; 00212 m_profile2DMapNumID .clear() ; 00213 m_profile2DMapLitID .clear() ; 00214 00215 // finalize base class 00216 return PBASE::finalize(); 00217 }
| bool GaudiHistos< PBASE >::noHistos | ( | ) | const [inline, private] |
Check if all histogram maps are empty.
Definition at line 438 of file GaudiHistos.icpp.
00439 { 00440 return ( histo1DMapTitle() .empty() && 00441 histo2DMapTitle() .empty() && 00442 histo3DMapTitle() .empty() && 00443 profile1DMapTitle() .empty() && 00444 profile2DMapTitle() .empty() && 00445 histo1DMapNumID() .empty() && 00446 histo1DMapLitID() .empty() && 00447 histo2DMapNumID() .empty() && 00448 histo2DMapLitID() .empty() && 00449 histo3DMapNumID() .empty() && 00450 histo3DMapLitID() .empty() && 00451 profile1DMapNumID() .empty() && 00452 profile1DMapLitID() .empty() && 00453 profile2DMapNumID() .empty() && 00454 profile2DMapLitID() .empty() ); 00455 }
| void GaudiHistos< PBASE >::initGaudiHistosConstructor | ( | ) | [inline, private] |
Constructor initialisation and job options.
Definition at line 60 of file GaudiHistos.icpp.
00061 { 00062 // SWITCH ON/OFF the histograms 00063 this->declareProperty 00064 ( "HistoProduce" , 00065 m_produceHistos = true , 00066 "Swith on/off the production of histograms " ) ; 00067 // print the histograms at finalization 00068 this->declareProperty 00069 ( "HistoPrint" , 00070 m_histosPrint = false , 00071 "Switch on/off the printout of histograms at finalization" ) 00072 -> declareUpdateHandler ( &GaudiHistos<PBASE>::printHistoHandler, this ) ; 00073 // check for NaN/Finite 00074 this->declareProperty 00075 ( "HistoCheckForNaN" , 00076 m_checkForNaN = true , 00077 "Swicth on/off the checks for NaN and Infinity for histogram fill" ) ; 00078 // for HBOOK persistency, 'true' can be useful 00079 this->declareProperty 00080 ( "HistoSplitDir" , 00081 m_splitHistoDir = false , 00082 "Split long directory names into short pieces (suitable for HBOOK)" ); 00083 // general OffSet for histogram ID 00084 this->declareProperty 00085 ( "HistoOffSet" , 00086 m_histoOffSet = 0 , 00087 "OffSet for automatically assigned histogram numerical identifiers " ) ; 00088 // top level histogram directory 00089 this->declareProperty 00090 ( "HistoTopDir" , 00091 m_histoTopDir = "" , 00092 "Top level histogram directory (take care that it ends with '/')" ) ; 00093 // histogram directory 00094 this->declareProperty 00095 ( "HistoDir" , 00096 m_histoDir = this->name() , 00097 "Histogram Directory" ) ; 00098 // control output level of histograms 00099 this->declareProperty ( "FullDetail" , m_fullDetail = false ) ; 00100 // monitor histograms 00101 this->declareProperty ( "MonitorHistograms" , m_declareMoniHists = true ) ; 00102 // format for 1D-histograms printout 00103 this->declareProperty 00104 ( "FormatFor1DHistoTable" , 00105 m_histo1DTableFormat = Gaudi::Utils::Histos::Formats::format () , 00106 "Format string for printout of 1D histograms" ) ; 00107 // "short" format for 1D-histograms printout 00108 this->declareProperty 00109 ( "ShortFormatFor1DHistoTable" , 00110 m_histo1DTableFormatShort = " | %1$-25.25s %2%" , 00111 "Format string for printout of 1D histograms" ) ; 00112 // the header for 1D-histogram tabkle 00113 this->declareProperty 00114 ( "HeaderFor1DHistoTable" , 00115 m_histo1DTableHeader = Gaudi::Utils::Histos::Formats::header () , 00116 "The table header for printout of 1D histograms " ) ; 00117 this->declareProperty 00118 ( "UseSequencialNumericAutoIDs", m_useNumericAutoIDs = false, 00119 "Flag to allow users to switch back to the old style of creating numerical automatic IDs" ); 00120 m_idReplaceInfo.clear(); 00121 m_idReplaceInfo["/"] = "=SLASH="; 00122 this->declareProperty 00123 ( "AutoStringIDPurgeMap", m_idReplaceInfo, 00124 "Map of strings to search and replace when using the title as the basis of automatically generated literal IDs" ); 00125 }
| void GaudiHistos< PBASE >::monitorHisto | ( | const AIDA::IBaseHistogram * | hist, | |
| const HistoID & | ID | |||
| ) | const [inline, private] |
Declare a histogram to the monitor service.
Uses the histogram ID as the 'name' sent to the monitor service and the histogram title as the long description
Definition at line 463 of file GaudiHistos.icpp.
00465 { 00466 if ( hist && m_declareMoniHists ) 00467 { 00468 if ( this->msgLevel(MSG::DEBUG) ) 00469 { 00470 this->debug() << "Monitoring histogram '" 00471 << ID.idAsString() << "' desc = '" 00472 << Gaudi::Utils::Histos::htitle(hist) << "'" << endmsg; 00473 } 00474 this->declareInfo ( histoPath()+"/"+ID.idAsString() , 00475 hist , 00476 Gaudi::Utils::Histos::htitle(hist) ) ; 00477 } 00478 }
| void GaudiHistos< PBASE >::newHistoID | ( | const std::string & | title, | |
| HistoID & | ID | |||
| ) | const [inline, private] |
Create a new histogram ID using the given title.
| [in] | title | Histogram title |
| [out] | ID | The ID to use for the new histogram |
Definition at line 603 of file GaudiHistos.icpp.
00605 { 00606 if ( useNumericAutoIDs() || title.empty() ) 00607 { 00608 if ( !useNumericAutoIDs() ) 00609 { 00610 this -> Warning( "Cannot generate automatic literal ID from an empty title ! Using numeric ID instead for histogram ID", 00611 StatusCode::SUCCESS ); 00612 } 00613 // propose the histogram ID (always numeric) 00614 ID = HistoID( totalNumberOfHistos() + 1 + histoOffSet() ); 00615 // adjust the proposed ID 00616 while ( histoExists( ID ) ) { ID = HistoID( ID.numeric() + 1 ) ; } 00617 } 00618 else 00619 { 00620 // use the title to create a unique literal ID 00621 ID = HistoID( this->convertTitleToID(title) ); 00622 // Just in case ... 00623 while ( histoExists( ID ) ) { ID = HistoID(ID.idAsString()+"_"); } 00624 } 00625 }
| void GaudiHistos< PBASE >::stringSearchReplace | ( | std::string & | title, | |
| const std::string & | A, | |||
| const std::string & | B | |||
| ) | const [inline, private] |
Searches 'title' for all instancies of 'A' and replaces them with 'B'.
Definition at line 645 of file GaudiHistos.icpp.
00648 { 00649 std::string::size_type slash = title.find_first_of ( A ) ; 00650 while ( std::string::npos != slash ) 00651 { 00652 title = title.substr(0,slash) + B + title.substr(slash+A.size()); 00653 slash = title.find_first_of( A ); 00654 } 00655 }
| std::string GaudiHistos< PBASE >::convertTitleToID | ( | const std::string & | title | ) | const [inline, protected] |
Create an ID string from a title string.
Definition at line 630 of file GaudiHistos.icpp.
00631 { 00632 // clean up the ID string for all unwanted characters 00633 std::string tmp_id = title; 00634 for ( std::map<std::string,std::string>::const_iterator i = m_idReplaceInfo.begin(); 00635 i != m_idReplaceInfo.end(); ++i ) 00636 { 00637 stringSearchReplace( tmp_id, i->first, i->second ); 00638 } 00639 return tmp_id; 00640 }
| void GaudiHistos< PBASE >::printHistoHandler | ( | Property & | ) | [inline, private] |
the handler for "HistoPrint" property
Definition at line 660 of file GaudiHistos.icpp.
00661 { 00662 // no action if not yet initialized 00663 if ( this -> FSMState() < Gaudi::StateMachine::INITIALIZED ) { return ; } 00664 if ( this -> histosPrint() ) { this -> printHistos ( MSG::ALWAYS ) ; } 00665 }
bool GaudiHistos< PBASE >::m_produceHistos [private] |
flag to SWITCH ON/SWITCH OFF the histogrm fillling and booking
Definition at line 3273 of file GaudiHistos.h.
bool GaudiHistos< PBASE >::m_fullDetail [private] |
bool GaudiHistos< PBASE >::m_checkForNaN [private] |
flag to control check for Nan/Finite while filling the histogram
Definition at line 3277 of file GaudiHistos.h.
bool GaudiHistos< PBASE >::m_splitHistoDir [private] |
split histogram directory name (very useful for Hbook)
Definition at line 3279 of file GaudiHistos.h.
HistoID::NumericID GaudiHistos< PBASE >::m_histoOffSet [private] |
general histogram ID offset (only works for automatically assigned numeric IDs)
Definition at line 3281 of file GaudiHistos.h.
std::string GaudiHistos< PBASE >::m_histoTopDir [private] |
std::string GaudiHistos< PBASE >::m_histoDir [private] |
bool GaudiHistos< PBASE >::m_histosPrint [private] |
bool GaudiHistos< PBASE >::m_declareMoniHists [private] |
Flag to turn on/off the registration of histograms to the Monitoring Service.
Definition at line 3289 of file GaudiHistos.h.
Histo1DMapTitle GaudiHistos< PBASE >::m_histo1DMapTitle [mutable, private] |
the actual storage/access of 1D histograms by unique title
Definition at line 3292 of file GaudiHistos.h.
Histo1DMapNumID GaudiHistos< PBASE >::m_histo1DMapNumID [mutable, private] |
the actual storage/access of 1D histograms by unique numeric ID
Definition at line 3294 of file GaudiHistos.h.
Histo1DMapLitID GaudiHistos< PBASE >::m_histo1DMapLitID [mutable, private] |
the actual storage/access of 1D histograms by unique literal ID
Definition at line 3296 of file GaudiHistos.h.
Histo2DMapTitle GaudiHistos< PBASE >::m_histo2DMapTitle [mutable, private] |
the actual storage/access of 2D histograms by unique title
Definition at line 3299 of file GaudiHistos.h.
Histo2DMapNumID GaudiHistos< PBASE >::m_histo2DMapNumID [mutable, private] |
the actual storage/access of 2D histograms by unique numeric ID
Definition at line 3301 of file GaudiHistos.h.
Histo2DMapLitID GaudiHistos< PBASE >::m_histo2DMapLitID [mutable, private] |
the actual storage/access of 2D histograms by unique literal ID
Definition at line 3303 of file GaudiHistos.h.
Histo3DMapTitle GaudiHistos< PBASE >::m_histo3DMapTitle [mutable, private] |
the actual storage/access of 3D histograms by unique title
Definition at line 3306 of file GaudiHistos.h.
Histo3DMapNumID GaudiHistos< PBASE >::m_histo3DMapNumID [mutable, private] |
the actual storage/access of 3D histograms by unique numeric ID
Definition at line 3308 of file GaudiHistos.h.
Histo3DMapLitID GaudiHistos< PBASE >::m_histo3DMapLitID [mutable, private] |
the actual storage/access of 3D histograms by unique literal ID
Definition at line 3310 of file GaudiHistos.h.
Profile1DMapTitle GaudiHistos< PBASE >::m_profile1DMapTitle [mutable, private] |
the actual storage/access of 1D profile histograms by unique title
Definition at line 3313 of file GaudiHistos.h.
Profile1DMapNumID GaudiHistos< PBASE >::m_profile1DMapNumID [mutable, private] |
the actual storage/access of 1D profile histograms by unique numeric ID
Definition at line 3315 of file GaudiHistos.h.
Profile1DMapLitID GaudiHistos< PBASE >::m_profile1DMapLitID [mutable, private] |
the actual storage/access of 1D profile histograms by unique literal ID
Definition at line 3317 of file GaudiHistos.h.
Profile2DMapTitle GaudiHistos< PBASE >::m_profile2DMapTitle [mutable, private] |
the actual storage/access of 2D profile histograms by unique title
Definition at line 3320 of file GaudiHistos.h.
Profile2DMapNumID GaudiHistos< PBASE >::m_profile2DMapNumID [mutable, private] |
the actual storage/access of 2D profile histograms by unique numeric ID
Definition at line 3322 of file GaudiHistos.h.
Profile2DMapLitID GaudiHistos< PBASE >::m_profile2DMapLitID [mutable, private] |
the actual storage/access of 2D profile histograms by unique literal ID
Definition at line 3324 of file GaudiHistos.h.
std::string GaudiHistos< PBASE >::m_histo1DTableFormat [private] |
std::string GaudiHistos< PBASE >::m_histo1DTableFormatShort [private] |
std::string GaudiHistos< PBASE >::m_histo1DTableHeader [private] |
bool GaudiHistos< PBASE >::m_useNumericAutoIDs [private] |
Flag to switch back to the old style sequencial numerical automatic IDs.
Definition at line 3333 of file GaudiHistos.h.
std::map<std::string,std::string> GaudiHistos< PBASE >::m_idReplaceInfo [private] |
Map of strings to search and replace when using the title as the basis of automatically generated literal IDs.
Definition at line 3337 of file GaudiHistos.h.