HistogramSvc Class Reference

HistogramSvc class definition. More...

#include <src/HistogramSvc/HistogramSvc.h>

Inheritance diagram for HistogramSvc:
Collaboration diagram for HistogramSvc:

Classes

struct  Helper
 

Public Types

typedef std::map< std::string, Gaudi::Histo1DDefHisto1DMap
 
- Public Types inherited from extends< DataSvc, IHistogramSvc >
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces... >
 Typedef to the base of this class. More...
 
- Public Types inherited from DataSvc
typedef std::vector< DataStoreItemLoadItems
 Define set of load items. More...
 
- Public Types inherited from extends< Service, IDataProviderSvc, IDataManagerSvc >
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces... >
 Typedef to the base of this class. More...
 
- Public Types inherited from Service
typedef Gaudi::PluginService::Factory< IService *, const std::string &, ISvcLocator * > Factory
 
- Public Types inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
using PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
 Typedef used to refer to this class from derived classes, as in. More...
 
- Public Types inherited from CommonMessaging< implements< IService, IProperty, IStateful > >
using base_class = CommonMessaging
 
- Public Types inherited from extend_interfaces< Interfaces... >
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type
 take union of the ext_iids of all Interfaces... More...
 

Public Member Functions

 HistogramSvc (const std::string &name, ISvcLocator *svc)
 Statndard Constructor. More...
 
 ~HistogramSvc () override
 Destructor. More...
 
std::pair< std::string, std::stringi_splitPath (CSTR full)
 Split full path into its components. More...
 
StatusCode connectInput (CSTR ident)
 Connect input histogram file to the service. More...
 
template<class T >
T * i_book (DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
 
H2Di_project (CSTR nameAndTitle, const H3D &h, CSTR dir)
 Helper for 2D projections. More...
 
StatusCode initialize () override
 Initialise the service. More...
 
StatusCode reinitialize () override
 Initialise the service. More...
 
StatusCode finalize () override
 finalize the service More...
 
AIDA::IHistogramFactory * histogramFactory () override
 Retrieve the AIDA HistogramFactory interface. More...
 
H1Dbook (CSTR par, CSTR rel, CSTR title, DBINS(x)) override
 Book histogram and register it with the histogram data store. More...
 
H1Dbook (CSTR par, int hID, CSTR title, DBINS(x)) override
 
H1Dbook (DataObject *pPar, int hID, CSTR title, DBINS(x)) override
 
H1Dbook (DataObject *pPar, CSTR rel, CSTR title, DBINS(x)) override
 
virtual H1Dbook (STRPAIR loc, CSTR title, DBINS(x))
 
H1Dbook (CSTR full, CSTR title, DBINS(x)) override
 
P1DbookProf (CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
 Book histogram and register it with the histogram data store. More...
 
P1DbookProf (CSTR par, int hID, CSTR title, DBINS(x), CSTR opt) override
 
P1DbookProf (DataObject *pPar, int hID, CSTR title, DBINS(x), CSTR opt) override
 
virtual P1DbookProf (STRPAIR loc, CSTR title, DBINS(x), CSTR opt)
 
P1DbookProf (CSTR full, CSTR title, DBINS(x), CSTR opt) override
 
P1DbookProf (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
 
P1DbookProf (CSTR par, CSTR rel, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
 
P1DbookProf (CSTR par, int hID, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
 
P1DbookProf (DataObject *pPar, int hID, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
 
virtual P1DbookProf (STRPAIR loc, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
 
P1DbookProf (CSTR full, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
 
P1DbookProf (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), double upper, double lower, CSTR opt) override
 
H1Dbook (CSTR par, int hID, CSTR title, Edges e) override
 Book histogram and register it with the histogram data store. More...
 
H1Dbook (DataObject *pPar, int hID, CSTR title, Edges e) override
 
H1Dbook (CSTR par, CSTR rel, CSTR title, Edges e) override
 
virtual H1Dbook (STRPAIR loc, CSTR title, Edges e)
 
H1Dbook (CSTR full, CSTR title, Edges e) override
 
H1Dbook (DataObject *pPar, CSTR rel, CSTR title, Edges e) override
 
P1DbookProf (CSTR full, CSTR title, Edges e) override
 Book histogram and register it with the histogram data store. More...
 
P1DbookProf (CSTR par, CSTR rel, CSTR title, Edges e) override
 
P1DbookProf (CSTR par, int hID, CSTR title, Edges e) override
 
P1DbookProf (DataObject *pPar, int hID, CSTR title, Edges e) override
 
virtual P1DbookProf (STRPAIR loc, CSTR title, Edges e)
 
P1DbookProf (DataObject *pPar, CSTR rel, CSTR title, Edges e) override
 
virtual P1DbookProf (CSTR full, CSTR title, Edges e, double upper, double lower)
 
virtual P1DbookProf (CSTR par, CSTR rel, CSTR title, Edges e, double upper, double lower)
 
virtual P1DbookProf (CSTR par, int hID, CSTR title, Edges e, double upper, double lower)
 
virtual P1DbookProf (DataObject *pPar, int hID, CSTR title, Edges e, double upper, double lower)
 
virtual P1DbookProf (STRPAIR loc, CSTR title, Edges e, double upper, double lower)
 
virtual P1DbookProf (DataObject *pPar, CSTR rel, CSTR title, Edges e, double upper, double lower)
 
H2Dbook (CSTR full, CSTR title, DBINS(x), DBINS(y)) override
 Book histogram and register it with the histogram data store. More...
 
H2Dbook (CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
 
H2Dbook (CSTR par, int hID, CSTR title, DBINS(x), DBINS(y)) override
 
virtual H2Dbook (STRPAIR loc, CSTR title, DBINS(x), DBINS(y))
 
H2Dbook (DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y)) override
 
H2Dbook (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
 
virtual P2DbookProf (CSTR full, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
 Book histogram and register it with the histogram data store. More...
 
virtual P2DbookProf (CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
 
virtual P2DbookProf (STRPAIR loc, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
 
virtual P2DbookProf (CSTR par, int hID, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
 
virtual P2DbookProf (DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
 
virtual P2DbookProf (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y), double upper, double lower)
 
P2DbookProf (CSTR full, CSTR title, DBINS(x), DBINS(y)) override
 
P2DbookProf (CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
 
virtual P2DbookProf (STRPAIR loc, CSTR title, DBINS(x), DBINS(y))
 
P2DbookProf (CSTR par, int hID, CSTR title, DBINS(x), DBINS(y)) override
 
P2DbookProf (DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y)) override
 
P2DbookProf (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y)) override
 
H2Dbook (CSTR full, CSTR title, Edges x, Edges y) override
 Book histogram and register it with the histogram data store. More...
 
H2Dbook (CSTR par, CSTR rel, CSTR title, Edges x, Edges y) override
 
H2Dbook (CSTR par, int hID, CSTR title, Edges x, Edges y) override
 
virtual H2Dbook (STRPAIR loc, CSTR title, Edges x, Edges y)
 
H2Dbook (DataObject *pPar, int hID, CSTR title, Edges x, Edges y) override
 
H2Dbook (DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y) override
 
P2DbookProf (CSTR full, CSTR title, Edges x, Edges y) override
 Book histogram and register it with the histogram data store. More...
 
P2DbookProf (CSTR par, CSTR rel, CSTR title, Edges x, Edges y) override
 
P2DbookProf (CSTR par, int hID, CSTR title, Edges x, Edges y) override
 
P2DbookProf (DataObject *pPar, int hID, CSTR title, Edges x, Edges y) override
 
virtual P2DbookProf (STRPAIR loc, CSTR title, Edges x, Edges y)
 
P2DbookProf (DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y) override
 
virtual P2DbookProf (CSTR full, CSTR title, Edges x, Edges y, double upper, double lower)
 
virtual P2DbookProf (CSTR par, CSTR rel, CSTR title, Edges x, Edges y, double upper, double lower)
 
virtual P2DbookProf (CSTR par, int hID, CSTR title, Edges x, Edges y, double upper, double lower)
 
virtual P2DbookProf (DataObject *pPar, int hID, CSTR title, Edges x, Edges y, double upper, double lower)
 
virtual P2DbookProf (STRPAIR loc, CSTR title, Edges x, Edges y, double upper, double lower)
 
virtual P2DbookProf (DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y, double upper, double lower)
 
H3Dbook (CSTR full, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
 Book histogram and register it with the histogram data store. More...
 
H3Dbook (CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
 
H3Dbook (CSTR par, int hID, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
 
H3Dbook (DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
 
virtual H3Dbook (STRPAIR loc, CSTR title, DBINS(x), DBINS(y), DBINS(z))
 
H3Dbook (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y), DBINS(z)) override
 
H3Dbook (CSTR full, CSTR title, Edges x, Edges y, Edges z) override
 Book histogram and register it with the histogram data store. More...
 
H3Dbook (CSTR par, CSTR rel, CSTR title, Edges x, Edges y, Edges z) override
 
H3Dbook (CSTR par, int hID, CSTR title, Edges x, Edges y, Edges z) override
 
H3Dbook (DataObject *pPar, int hID, CSTR title, Edges x, Edges y, Edges z) override
 
virtual H3Dbook (STRPAIR loc, CSTR title, Edges x, Edges y, Edges z)
 
H3Dbook (DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y, Edges z) override
 
StatusCode registerObject (CSTR parent, CSTR rel, Base *obj) override
 
StatusCode registerObject (CSTR parent, int item, Base *obj) override
 
StatusCode registerObject (Base *pPar, CSTR rel, Base *obj) override
 
StatusCode registerObject (DataObject *pPar, int item, Base *obj) override
 
StatusCode registerObject (Base *pPar, int item, Base *obj) override
 
StatusCode registerObject (CSTR full, Base *obj) override
 
StatusCode registerObject (DataObject *pPar, CSTR rel, Base *obj) override
 
StatusCode unregisterObject (Base *obj) override
 
StatusCode unregisterObject (Base *obj, CSTR objectPath) override
 
StatusCode unregisterObject (Base *obj, int item) override
 
StatusCode retrieveObject (IRegistry *pReg, CSTR path, H1D *&obj) override
 
StatusCode retrieveObject (IRegistry *pReg, CSTR path, P1D *&obj) override
 
StatusCode retrieveObject (IRegistry *pReg, CSTR path, H2D *&obj) override
 
StatusCode retrieveObject (IRegistry *pReg, CSTR path, P2D *&obj) override
 
StatusCode retrieveObject (IRegistry *pReg, CSTR path, H3D *&obj) override
 
StatusCode retrieveObject (CSTR full, P1D *&obj) override
 
StatusCode retrieveObject (CSTR full, P2D *&obj) override
 
StatusCode retrieveObject (CSTR full, H1D *&obj) override
 
StatusCode retrieveObject (CSTR full, H2D *&obj) override
 
StatusCode retrieveObject (CSTR full, H3D *&obj) override
 
StatusCode retrieveObject (CSTR parent, CSTR rel, P1D *&obj) override
 
StatusCode retrieveObject (CSTR parent, CSTR rel, P2D *&obj) override
 
StatusCode retrieveObject (CSTR parent, CSTR rel, H1D *&obj) override
 
StatusCode retrieveObject (CSTR parent, CSTR rel, H2D *&obj) override
 
StatusCode retrieveObject (CSTR parent, CSTR rel, H3D *&obj) override
 
StatusCode retrieveObject (CSTR parent, int item, P1D *&obj) override
 
StatusCode retrieveObject (CSTR parent, int item, P2D *&obj) override
 
StatusCode retrieveObject (CSTR parent, int item, H1D *&obj) override
 
StatusCode retrieveObject (CSTR parent, int item, H2D *&obj) override
 
StatusCode retrieveObject (CSTR parent, int item, H3D *&obj) override
 
StatusCode retrieveObject (DataObject *par, CSTR item, P1D *&obj) override
 
StatusCode retrieveObject (DataObject *par, CSTR item, P2D *&obj) override
 
StatusCode retrieveObject (DataObject *par, CSTR item, H1D *&obj) override
 
StatusCode retrieveObject (DataObject *par, CSTR item, H2D *&obj) override
 
StatusCode retrieveObject (DataObject *par, CSTR item, H3D *&obj) override
 
StatusCode retrieveObject (DataObject *par, int item, P1D *&obj) override
 
StatusCode retrieveObject (DataObject *par, int item, P2D *&obj) override
 
StatusCode retrieveObject (DataObject *par, int item, H1D *&obj) override
 
StatusCode retrieveObject (DataObject *par, int item, H2D *&obj) override
 
StatusCode retrieveObject (DataObject *par, int item, H3D *&obj) override
 
StatusCode retrieveObject (Base *par, int item, P1D *&obj) override
 
StatusCode retrieveObject (Base *par, int item, P2D *&obj) override
 
StatusCode retrieveObject (Base *par, int item, H1D *&obj) override
 
StatusCode retrieveObject (Base *par, int item, H2D *&obj) override
 
StatusCode retrieveObject (Base *par, int item, H3D *&obj) override
 
StatusCode retrieveObject (Base *par, CSTR item, P1D *&obj) override
 
StatusCode retrieveObject (Base *par, CSTR item, P2D *&obj) override
 
StatusCode retrieveObject (Base *par, CSTR item, H1D *&obj) override
 
StatusCode retrieveObject (Base *par, CSTR item, H2D *&obj) override
 
StatusCode retrieveObject (Base *par, CSTR item, H3D *&obj) override
 
StatusCode findObject (IRegistry *pReg, CSTR path, P1D *&obj) override
 
StatusCode findObject (IRegistry *pReg, CSTR path, P2D *&obj) override
 
StatusCode findObject (IRegistry *pReg, CSTR path, H1D *&obj) override
 
StatusCode findObject (IRegistry *pReg, CSTR path, H2D *&obj) override
 
StatusCode findObject (IRegistry *pReg, CSTR path, H3D *&obj) override
 
StatusCode findObject (CSTR full, P1D *&obj) override
 
StatusCode findObject (CSTR full, P2D *&obj) override
 
StatusCode findObject (CSTR full, H1D *&obj) override
 
StatusCode findObject (CSTR full, H2D *&obj) override
 
StatusCode findObject (CSTR full, H3D *&obj) override
 
StatusCode findObject (CSTR par, CSTR rel, P1D *&obj) override
 
StatusCode findObject (CSTR par, CSTR rel, P2D *&obj) override
 
StatusCode findObject (CSTR par, CSTR rel, H1D *&obj) override
 
StatusCode findObject (CSTR par, CSTR rel, H2D *&obj) override
 
StatusCode findObject (CSTR par, CSTR rel, H3D *&obj) override
 
StatusCode findObject (CSTR par, int item, P1D *&obj) override
 
StatusCode findObject (CSTR par, int item, P2D *&obj) override
 
StatusCode findObject (CSTR par, int item, H1D *&obj) override
 
StatusCode findObject (CSTR par, int item, H2D *&obj) override
 
StatusCode findObject (CSTR par, int item, H3D *&obj) override
 
StatusCode findObject (DataObject *par, int item, P1D *&obj) override
 
StatusCode findObject (DataObject *par, int item, P2D *&obj) override
 
StatusCode findObject (DataObject *par, int item, H1D *&obj) override
 
StatusCode findObject (DataObject *par, int item, H2D *&obj) override
 
StatusCode findObject (DataObject *par, int item, H3D *&obj) override
 
StatusCode findObject (DataObject *par, CSTR item, P1D *&obj) override
 
StatusCode findObject (DataObject *par, CSTR item, P2D *&obj) override
 
StatusCode findObject (DataObject *par, CSTR item, H1D *&obj) override
 
StatusCode findObject (DataObject *par, CSTR item, H2D *&obj) override
 
StatusCode findObject (DataObject *par, CSTR item, H3D *&obj) override
 
StatusCode findObject (Base *par, int item, P1D *&obj) override
 
StatusCode findObject (Base *par, int item, P2D *&obj) override
 
StatusCode findObject (Base *par, int item, H1D *&obj) override
 
StatusCode findObject (Base *par, int item, H2D *&obj) override
 
StatusCode findObject (Base *par, int item, H3D *&obj) override
 
StatusCode findObject (Base *par, CSTR item, P1D *&obj) override
 
StatusCode findObject (Base *par, CSTR item, P2D *&obj) override
 
StatusCode findObject (Base *par, CSTR item, H1D *&obj) override
 
StatusCode findObject (Base *par, CSTR item, H2D *&obj) override
 
StatusCode findObject (Base *par, CSTR item, H3D *&obj) override
 
H1DprojectionX (CSTR name, const H2D &h) override
 
H1DprojectionY (CSTR name, const H2D &h) override
 
H1DsliceX (CSTR name, const H2D &h, int indexY) override
 
H1DsliceY (CSTR name, const H2D &h, int indexX) override
 
H1DsliceX (CSTR name, const H2D &h, int indexY1, int indexY2) override
 
H1DsliceY (CSTR name, const H2D &h, int indexX1, int indexX2) override
 
bool destroy (IBaseHistogram *hist) override
 
H1Dadd (CSTR nameAndTitle, const H1D &a, const H1D &b) override
 
H1Dsubtract (CSTR nameAndTitle, const H1D &a, const H1D &b) override
 
H1Dmultiply (CSTR nameAndTitle, const H1D &a, const H1D &b) override
 
H1Ddivide (CSTR nameAndTitle, const H1D &a, const H1D &b) override
 
H2Dadd (CSTR nameAndTitle, const H2D &a, const H2D &b) override
 
H2Dsubtract (CSTR nameAndTitle, const H2D &a, const H2D &b) override
 
H2Dmultiply (CSTR nameAndTitle, const H2D &a, const H2D &b) override
 
H2Ddivide (CSTR nameAndTitle, const H2D &a, const H2D &b) override
 
H3Dadd (CSTR nameAndTitle, const H3D &a, const H3D &b) override
 
H3Dsubtract (CSTR nameAndTitle, const H3D &a, const H3D &b) override
 
H3Dmultiply (CSTR nameAndTitle, const H3D &a, const H3D &b) override
 
H3Ddivide (CSTR nameAndTitle, const H3D &a, const H3D &b) override
 
H2DprojectionXY (CSTR nameAndTitle, const H3D &h) override
 
H2DprojectionXZ (CSTR nameAndTitle, const H3D &h) override
 
H2DprojectionYZ (CSTR nameAndTitle, const H3D &h) override
 
H2DsliceXY (CSTR, const H3D &, int, int) override
 
H2DsliceXZ (CSTR, const H3D &, int, int) override
 
H2DsliceYZ (CSTR, const H3D &, int, int) override
 
H1DcreateHistogram1D (CSTR name, CSTR tit, DBINS(x))
 
H1DcreateHistogram1D (CSTR name, CSTR tit, DBINS(x), CSTR) override
 
H1DcreateHistogram1D (CSTR name, CSTR title, const Edges &x, CSTR) override
 
H1DcreateHistogram1D (CSTR nameAndTitle, DBINS(x)) override
 
H1DcreateCopy (CSTR full, const H1D &h) override
 
H1DcreateCopy (CSTR par, CSTR rel, const H1D &h)
 
H1DcreateCopy (STRPAIR loc, const H1D &h)
 
H1DcreateCopy (DataObject *pPar, CSTR rel, const H1D &h)
 
H2DcreateHistogram2D (CSTR name, CSTR tit, DBINS(x), DBINS(y))
 
H2DcreateHistogram2D (CSTR name, CSTR tit, DBINS(x), DBINS(y), CSTR) override
 
H2DcreateHistogram2D (CSTR name, CSTR title, const Edges &x, const Edges &y, CSTR) override
 
H2DcreateHistogram2D (CSTR nameAndTitle, DBINS(x), DBINS(y)) override
 
H2DcreateCopy (CSTR full, const H2D &h) override
 
H2DcreateCopy (CSTR par, CSTR rel, const H2D &h)
 
H2DcreateCopy (STRPAIR loc, const H2D &h)
 
H2DcreateCopy (DataObject *pPar, CSTR rel, const H2D &h)
 
H3DcreateHistogram3D (CSTR name, CSTR tit, DBINS(x), DBINS(y), DBINS(z))
 
H3DcreateHistogram3D (CSTR name, CSTR tit, DBINS(x), DBINS(y), DBINS(z), CSTR) override
 
H3DcreateHistogram3D (CSTR name, CSTR title, const Edges &x, const Edges &y, const Edges &z, CSTR) override
 
H3DcreateHistogram3D (CSTR nameAndTitle, DBINS(x), DBINS(y), DBINS(z)) override
 
H3DcreateCopy (CSTR full, const H3D &h) override
 
H3DcreateCopy (CSTR par, CSTR rel, const H3D &h)
 
H3DcreateCopy (STRPAIR loc, const H3D &h)
 
H3DcreateCopy (DataObject *pPar, CSTR rel, const H3D &h)
 
P1DcreateProfile1D (CSTR name, CSTR tit, DBINS(x), CSTR opt) override
 
P1DcreateProfile1D (CSTR name, CSTR tit, DBINS(x), double upper, double lower, CSTR opt) override
 
P1DcreateProfile1D (CSTR name, CSTR title, const Edges &x, CSTR) override
 
P1DcreateProfile1D (CSTR name, CSTR title, const Edges &x, double upper, double lower, CSTR) override
 
P1DcreateProfile1D (CSTR nametit, DBINS(x)) override
 
P1DcreateProfile1D (CSTR nametit, DBINS(x), double upper, double lower) override
 
P1DcreateCopy (CSTR full, const P1D &h) override
 
P1DcreateCopy (CSTR par, CSTR rel, const P1D &h)
 
P1DcreateCopy (STRPAIR loc, const P1D &h)
 
P1DcreateCopy (DataObject *pPar, CSTR rel, const P1D &h)
 
P2DcreateProfile2D (CSTR name, CSTR tit, DBINS(x), DBINS(y))
 
P2DcreateProfile2D (CSTR name, CSTR tit, DBINS(x), DBINS(y), CSTR) override
 
P2DcreateProfile2D (CSTR name, CSTR title, const Edges &x, const Edges &y, CSTR) override
 
P2DcreateProfile2D (CSTR nameAndTitle, DBINS(x), DBINS(y)) override
 
P2DcreateProfile2D (CSTR name, CSTR tit, DBINS(x), DBINS(y), double upper, double lower)
 
P2DcreateProfile2D (CSTR name, CSTR tit, DBINS(x), DBINS(y), double upper, double lower, CSTR) override
 
P2DcreateProfile2D (CSTR name, CSTR title, const Edges &x, const Edges &y, double upper, double lower, CSTR) override
 
P2DcreateProfile2D (CSTR nameAndTitle, DBINS(x), DBINS(y), double upper, double lower) override
 
P2DcreateCopy (CSTR full, const P2D &h) override
 
P2DcreateCopy (CSTR par, CSTR rel, const P2D &h)
 
P2DcreateCopy (STRPAIR loc, const P2D &h)
 
P2DcreateCopy (DataObject *pPar, CSTR rel, const P2D &h)
 
AIDA::ICloud1D * createCloud1D (CSTR, CSTR, int, CSTR) override
 
AIDA::ICloud1D * createCloud1D (CSTR) override
 
AIDA::ICloud1D * createCopy (CSTR, const AIDA::ICloud1D &) override
 
AIDA::ICloud2D * createCloud2D (CSTR, CSTR, int, CSTR) override
 
AIDA::ICloud2D * createCloud2D (CSTR) override
 
AIDA::ICloud2D * createCopy (CSTR, const AIDA::ICloud2D &) override
 
AIDA::ICloud3D * createCloud3D (CSTR, CSTR, int, CSTR) override
 
AIDA::ICloud3D * createCloud3D (CSTR) override
 
AIDA::ICloud3D * createCopy (CSTR, const AIDA::ICloud3D &) override
 
std::ostreamprint (Base *h, std::ostream &s=std::cout) const override
 Print (ASCII) the 1D histogram into the output stream. More...
 
std::ostreamwrite (Base *h, std::ostream &s=std::cout) const override
 Write (ASCII) the 1D histogram table into the output stream. More...
 
int write (Base *h, const char *file_name) const override
 Write (ASCII) the 1D histogram table into a file. More...
 
DataObjectcreatePath (CSTR newPath) override
 Create all directories in a given full path. More...
 
DataObjectcreateDirectory (CSTR parentDir, CSTR subDir) override
 Create a sub-directory in a directory. More...
 
void update1Ddefs (Gaudi::Details::PropertyBase &)
 handler to be invoked for updating property m_defs1D More...
 
- Public Member Functions inherited from extends< DataSvc, IHistogramSvc >
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::stringgetInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 ~extends () override=default
 Virtual destructor. More...
 
- Public Member Functions inherited from DataSvc
CLID rootCLID () const override
 IDataManagerSvc: Accessor for root event CLID. More...
 
const std::stringrootName () const override
 IDataManagerSvc: Accessor for root event name. More...
 
StatusCode registerAddress (const std::string &fullPath, IOpaqueAddress *pAddress) override
 IDataManagerSvc: Register object address with the data store. More...
 
StatusCode registerAddress (DataObject *parentObj, const std::string &objectPath, IOpaqueAddress *pAddress) override
 IDataManagerSvc: Register object address with the data store. More...
 
StatusCode registerAddress (IRegistry *parentObj, const std::string &objectPath, IOpaqueAddress *pAddress) override
 IDataManagerSvc: Register object address with the data store. More...
 
StatusCode unregisterAddress (const std::string &fullPath) override
 IDataManagerSvc: Unregister object address from the data store. More...
 
StatusCode unregisterAddress (DataObject *pParent, const std::string &objPath) override
 IDataManagerSvc: Unregister object address from the data store. More...
 
StatusCode unregisterAddress (IRegistry *pParent, const std::string &objPath) override
 IDataManagerSvc: Unregister object address from the data store. More...
 
StatusCode objectLeaves (const DataObject *pObject, std::vector< IRegistry * > &refLeaves) override
 IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object. More...
 
StatusCode objectLeaves (const IRegistry *pRegistry, std::vector< IRegistry * > &refLeaves) override
 IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object. More...
 
StatusCode objectParent (const DataObject *pObject, IRegistry *&refpParent) override
 IDataManagerSvc: Explore the object store: retrieve the object's parent. More...
 
StatusCode objectParent (const IRegistry *pRegistry, IRegistry *&refpParent) override
 IDataManagerSvc: Explore the object store: retrieve the object's parent. More...
 
StatusCode clearSubTree (const std::string &sub_tree_path) override
 IDataManagerSvc: Remove all data objects below the sub tree identified by its full path name. More...
 
StatusCode clearSubTree (DataObject *pObject) override
 IDataManagerSvc: Remove all data objects below the sub tree identified by the object. More...
 
StatusCode clearStore () override
 IDataManagerSvc: Remove all data objects in the data store. More...
 
StatusCode traverseSubTree (const std::string &sub_tree_path, IDataStoreAgent *pAgent) override
 IDataManagerSvc: Analyze by traversing all data objects below the sub tree identified by its full path name. More...
 
StatusCode traverseSubTree (DataObject *pObject, IDataStoreAgent *pAgent) override
 IDataManagerSvc: Analyze by traversing all data objects below the sub tree. More...
 
StatusCode traverseTree (IDataStoreAgent *pAgent) override
 IDataManagerSvc: Analyze by traversing all data objects in the data store. More...
 
StatusCode setRoot (std::string root_name, DataObject *pRootObj) override
 Initialize data store for new event by giving new event path and root object. More...
 
virtual StatusCode i_setRoot (std::string root_name, DataObject *pRootObj)
 Initialize data store for new event by giving new event path and root object. More...
 
StatusCode setRoot (std::string root_path, IOpaqueAddress *pRootAddr) override
 Initialize data store for new event by giving new event path and address of root object. More...
 
virtual StatusCode i_setRoot (std::string root_path, IOpaqueAddress *pRootAddr)
 Initialize data store for new event by giving new event path and address of root object. More...
 
StatusCode setDataLoader (IConversionSvc *svc, IDataProviderSvc *dpsvc=nullptr) override
 IDataManagerSvc: IDataManagerSvc: Pass a default data loader to the service and optionally a data provider. More...
 
StatusCode addPreLoadItem (const DataStoreItem &item) override
 Add an item to the preload list. More...
 
StatusCode addPreLoadItem (const std::string &itemPath) override
 Add an item to the preload list. More...
 
StatusCode removePreLoadItem (const DataStoreItem &item) override
 Remove an item from the preload list. More...
 
StatusCode removePreLoadItem (const std::string &itemPath) override
 Add an item to the preload list. More...
 
StatusCode resetPreLoad () override
 Clear the preload list. More...
 
virtual StatusCode preLoad (int depth, int load_depth, DataObject *pObject)
 Execute one level of preloading and recursively load until the final level is reached. More...
 
StatusCode preLoad () override
 load all preload items of the list More...
 
StatusCode registerObject (const std::string &fullPath, DataObject *pObject) override
 Register object with the data store. More...
 
StatusCode registerObject (const std::string &parentPath, const std::string &objPath, DataObject *pObject) override
 Register object with the data store. More...
 
StatusCode registerObject (const std::string &parentPath, int item, DataObject *pObject) override
 Register object with the data store. More...
 
StatusCode registerObject (DataObject *parentObj, const std::string &objPath, DataObject *pObject) override
 Register object with the data store. More...
 
StatusCode registerObject (DataObject *parentObj, int item, DataObject *pObject) override
 Register object with the data store. More...
 
StatusCode unregisterObject (const std::string &fullPath) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (const std::string &parentPath, const std::string &objectPath) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (const std::string &parentPath, int item) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (DataObject *pObject) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (DataObject *pObject, const std::string &objectPath) override
 Unregister object from the data store. More...
 
StatusCode unregisterObject (DataObject *pObject, int item) override
 Unregister object from the data store. More...
 
StatusCode retrieveObject (IRegistry *pDirectory, const std::string &path, DataObject *&pObject) override
 Retrieve object from data store. More...
 
StatusCode retrieveObject (const std::string &fullPath, DataObject *&pObject) override
 Retrieve object identified by its full path from the data store. More...
 
StatusCode retrieveObject (const std::string &parentPath, const std::string &objPath, DataObject *&pObject) override
 Retrieve object from data store. More...
 
StatusCode retrieveObject (const std::string &parentPath, int item, DataObject *&pObject) override
 Retrieve object from data store. More...
 
StatusCode retrieveObject (DataObject *parentObj, const std::string &objPath, DataObject *&pObject) override
 Retrieve object from data store. More...
 
StatusCode retrieveObject (DataObject *parentObj, int item, DataObject *&pObject) override
 Retrieve object from data store. More...
 
StatusCode findObject (const std::string &fullPath, DataObject *&pObject) override
 Find object identified by its full path in the data store. More...
 
StatusCode findObject (IRegistry *pDirectory, const std::string &path, DataObject *&pObject) override
 Find object identified by its full path in the data store. More...
 
StatusCode findObject (const std::string &parentPath, const std::string &objPath, DataObject *&pObject) override
 Find object in the data store. More...
 
StatusCode findObject (const std::string &parentPath, int item, DataObject *&pObject) override
 Find object in the data store. More...
 
StatusCode findObject (DataObject *parentObj, const std::string &objPath, DataObject *&pObject) override
 Find object in the data store. More...
 
StatusCode findObject (DataObject *parentObj, int item, DataObject *&pObject) override
 Find object in the data store. More...
 
StatusCode linkObject (IRegistry *from, const std::string &objPath, DataObject *to) override
 Add a link to another object. More...
 
StatusCode linkObject (const std::string &fromPath, const std::string &objPath, DataObject *to) override
 Add a link to another object. More...
 
StatusCode linkObject (DataObject *from, const std::string &objPath, DataObject *to) override
 Add a link to another object. More...
 
StatusCode linkObject (const std::string &fullPath, DataObject *to) override
 Add a link to another object. More...
 
StatusCode unlinkObject (IRegistry *from, const std::string &objPath) override
 Remove a link to another object. More...
 
StatusCode unlinkObject (const std::string &fromPath, const std::string &objPath) override
 Remove a link to another object. More...
 
StatusCode unlinkObject (DataObject *fromObj, const std::string &objPath) override
 Remove a link to another object. More...
 
StatusCode unlinkObject (const std::string &fullPath) override
 Remove a link to another object. More...
 
StatusCode updateObject (IRegistry *pDirectory) override
 Update object identified by its directory entry. More...
 
StatusCode updateObject (const std::string &updatePath) override
 Update object. More...
 
StatusCode updateObject (DataObject *toUpdate) override
 Update object. More...
 
StatusCode updateObject (const std::string &parentPath, const std::string &updatePath) override
 Update object. More...
 
StatusCode updateObject (DataObject *pParent, const std::string &updatePath) override
 Update object. More...
 
StatusCode initialize () override
 Service initialization. More...
 
StatusCode reinitialize () override
 Service initialization. More...
 
StatusCode finalize () override
 Service initialization. More...
 
 ~DataSvc () override
 Standard Destructor. More...
 
- Public Member Functions inherited from extends< Service, IDataProviderSvc, IDataManagerSvc >
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::stringgetInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 ~extends () override=default
 Virtual destructor. More...
 
- Public Member Functions inherited from Service
const std::stringname () const override
 Retrieve name of the service. More...
 
StatusCode configure () override
 
StatusCode initialize () override
 
StatusCode start () override
 
StatusCode stop () override
 
StatusCode finalize () override
 
StatusCode terminate () override
 
Gaudi::StateMachine::State FSMState () const override
 
Gaudi::StateMachine::State targetFSMState () const override
 
StatusCode reinitialize () override
 
StatusCode restart () override
 
StatusCode sysInitialize () override
 Initialize Service. More...
 
StatusCode sysStart () override
 Initialize Service. More...
 
StatusCode sysStop () override
 Initialize Service. More...
 
StatusCode sysFinalize () override
 Finalize Service. More...
 
StatusCode sysReinitialize () override
 Re-initialize the Service. More...
 
StatusCode sysRestart () override
 Re-initialize the Service. More...
 
 Service (std::string name, ISvcLocator *svcloc)
 Standard Constructor. More...
 
SmartIF< ISvcLocator > & serviceLocator () const override
 Retrieve pointer to service locator. More...
 
StatusCode setProperties ()
 Method for setting declared properties to the values specified for the job. More...
 
template<class T >
StatusCode service (const std::string &name, const T *&psvc, bool createIf=true) const
 Access a service by name, creating it if it doesn't already exist. More...
 
template<class T >
StatusCode service (const std::string &name, T *&psvc, bool createIf=true) const
 
template<typename IFace = IService>
SmartIF< IFace > service (const std::string &name, bool createIf=true) const
 
template<class T >
StatusCode service (const std::string &svcType, const std::string &svcName, T *&psvc) const
 Access a service by name and type, creating it if it doesn't already exist. More...
 
template<class T >
StatusCode declarePrivateTool (ToolHandle< T > &handle, std::string toolTypeAndName="", bool createIf=true)
 Declare used Private tool. More...
 
template<class T >
StatusCode declarePublicTool (ToolHandle< T > &handle, std::string toolTypeAndName="", bool createIf=true)
 Declare used Public tool. More...
 
SmartIF< IAuditorSvc > & auditorSvc () const
 The standard auditor service.May not be invoked before sysInitialize() has been invoked. More...
 
- Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
 PropertyHolder ()=default
 
 ~PropertyHolder () override=default
 
Gaudi::Details::PropertyBasedeclareProperty (Gaudi::Details::PropertyBase &prop)
 Declare a property. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, TYPE &value, const std::string &doc="none")
 Helper to wrap a regular data member and use it as a regular property. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, TYPE &value, const std::string &doc="none") const
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none")
 Declare a PropertyBase instance setting name and documentation. More...
 
Gaudi::Details::PropertyBasedeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
 Declare a remote property. More...
 
StatusCode setProperty (const Gaudi::Details::PropertyBase &p) override
 set the property form another property More...
 
StatusCode setProperty (const std::string &s) override
 set the property from the formatted string More...
 
StatusCode setProperty (const std::string &n, const std::string &v) override
 set the property from name and the value More...
 
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
StatusCode getProperty (Gaudi::Details::PropertyBase *p) const override
 get the property More...
 
const Gaudi::Details::PropertyBasegetProperty (const std::string &name) const override
 get the property by name More...
 
StatusCode getProperty (const std::string &n, std::string &v) const override
 convert the property to the string More...
 
const std::vector< Gaudi::Details::PropertyBase * > & getProperties () const override
 get all properties More...
 
bool hasProperty (const std::string &name) const override
 Return true if we have a property with the given name. More...
 
 PropertyHolder (const PropertyHolder &)=delete
 
PropertyHolderoperator= (const PropertyHolder &)=delete
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, GaudiHandleBase &ref, const std::string &doc="none")
 Specializations for various GaudiHandles. More...
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, GaudiHandleArrayBase &ref, const std::string &doc="none")
 
Gaudi::Details::PropertyBasedeclareProperty (const std::string &name, DataObjectHandleBase &ref, const std::string &doc="none")
 
- Public Member Functions inherited from CommonMessagingBase
virtual ~CommonMessagingBase ()=default
 Virtual destructor. More...
 
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service. More...
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream. More...
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts. More...
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS) More...
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL) More...
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR) More...
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING) More...
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG) More...
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE) More...
 
MsgStreammsg () const
 shortcut for the method msgStream(MSG::INFO) More...
 
MSG::Level msgLevel () const
 get the output level from the embedded MsgStream More...
 
MSG::Level outputLevel () const __attribute__((deprecated))
 Backward compatibility function for getting the output level. More...
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream More...
 
- Public Member Functions inherited from extend_interfaces< Interfaces... >
 ~extend_interfaces () override=default
 Virtual destructor. More...
 

Static Public Member Functions

template<class T >
static DataObject__cast (T *p)
 

Protected Types

typedef const std::stringCSTR
 
typedef std::vector< double > Edges
 
typedef std::vector< std::stringDBaseEntries
 
typedef AIDA::IHistogram1D H1D
 
typedef AIDA::IHistogram2D H2D
 
typedef AIDA::IHistogram3D H3D
 
typedef AIDA::IProfile1D P1D
 
typedef AIDA::IProfile2D P2D
 
typedef AIDA::IBaseHistogram Base
 

Private Types

typedef const std::pair< std::string, std::string > & STRPAIR
 

Private Member Functions

void not_implemented () const
 

Private Attributes

Gaudi::Property< DBaseEntriesm_input {this, "Input", {}, "input streams"}
 
Gaudi::Property< Histo1DMapm_defs1D {this, "Predefined1DHistos", {}, "histograms with predefined parameters"}
 
std::set< std::stringm_mods1D
 

Additional Inherited Members

- Protected Member Functions inherited from DataSvc
bool checkRoot ()
 Check if root path is valid. More...
 
virtual IConversionSvcgetDataLoader (IRegistry *pReg)
 Retrieve customizable data loader according to registry entry to be retrieved. More...
 
virtual DataObjectcreateDefaultObject () const
 Create default objects in case forced creation of leaves is requested. More...
 
virtual StatusCode loadObject (IRegistry *pNode)
 Invoke Persistency service to create transient object from its persistent representation. More...
 
virtual StatusCode loadObject (IConversionSvc *pLoader, IRegistry *pNode)
 Invoke Persistency service to create transient object from its persistent representation. More...
 
StatusCode retrieveEntry (DataSvcHelpers::RegistryEntry *pNode, const std::string &path, DataSvcHelpers::RegistryEntry *&pEntry)
 Retrieve registry entry from store. More...
 
DataObjecthandleDataFault (IRegistry *pReg, const std::string &path="")
 Invoke data fault handling if enabled. More...
 
- Protected Member Functions inherited from Service
 ~Service () override
 Standard Destructor. More...
 
int outputLevel () const
 get the Service's output level More...
 
- Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > >
Gaudi::Details::PropertyBaseproperty (const std::string &name) const
 
- Protected Member Functions inherited from CommonMessaging< implements< IService, IProperty, IStateful > >
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream. More...
 
- Protected Attributes inherited from DataSvc
SmartIF< IConversionSvcm_dataLoader = nullptr
 Pointer to data loader service. More...
 
SmartIF< IIncidentSvcm_incidentSvc = nullptr
 Pointer to incident service. More...
 
Gaudi::Property< CLIDm_rootCLID {this, "RootCLID", 110 , "CLID of root entry"}
 
Gaudi::Property< std::stringm_rootName {this, "RootName", "/Event", "name of root entry"}
 
Gaudi::Property< bool > m_forceLeaves {this, "ForceLeaves", false, "force creation of default leaves on registerObject"}
 
Gaudi::Property< std::vector< std::string > > m_inhibitPathes {this, "InhibitPathes", {}, "inhibited leaves"}
 
Gaudi::Property< bool > m_enableFaultHdlr
 
Gaudi::Property< std::stringm_faultName {this, "DataFaultName", "DataFault", "Name of the data fault incident"}
 
Gaudi::Property< bool > m_enableAccessHdlr
 
Gaudi::Property< std::stringm_accessName {this, "DataAccessName", "DataAccess", "Name of the data access incident"}
 
LoadItems m_preLoads
 Items to be pre-loaded. More...
 
DataSvcHelpers::RegistryEntrym_root = nullptr
 Pointer to root entry. More...
 
DataSvcHelpers::InhibitMap * m_inhibitMap = nullptr
 Map with object paths to be inhibited from loading. More...
 
- Protected Attributes inherited from Service
Gaudi::StateMachine::State m_state = Gaudi::StateMachine::OFFLINE
 Service state. More...
 
Gaudi::StateMachine::State m_targetState = Gaudi::StateMachine::OFFLINE
 Service state. More...
 
Gaudi::Property< int > m_outputLevel {this, "OutputLevel", MSG::NIL, "output level"}
 
Gaudi::Property< bool > m_auditInit {this, "AuditServices", false, "[[deprecated]] unused"}
 
Gaudi::Property< bool > m_auditorInitialize {this, "AuditInitialize", false, "trigger auditor on initialize()"}
 
Gaudi::Property< bool > m_auditorStart {this, "AuditStart", false, "trigger auditor on start()"}
 
Gaudi::Property< bool > m_auditorStop {this, "AuditStop", false, "trigger auditor on stop()"}
 
Gaudi::Property< bool > m_auditorFinalize {this, "AuditFinalize", false, "trigger auditor on finalize()"}
 
Gaudi::Property< bool > m_auditorReinitialize {this, "AuditReinitialize", false, "trigger auditor on reinitialize()"}
 
Gaudi::Property< bool > m_auditorRestart {this, "AuditRestart", false, "trigger auditor on restart()"}
 
SmartIF< IAuditorSvcm_pAuditorSvc
 Auditor Service. More...
 

Detailed Description

HistogramSvc class definition.

Definition at line 52 of file HistogramSvc.h.

Member Typedef Documentation

typedef AIDA::IBaseHistogram HistogramSvc::Base
protected

Definition at line 67 of file HistogramSvc.h.

typedef const std::string& HistogramSvc::CSTR
protected

Definition at line 59 of file HistogramSvc.h.

Definition at line 61 of file HistogramSvc.h.

typedef std::vector<double> HistogramSvc::Edges
protected

Definition at line 60 of file HistogramSvc.h.

typedef AIDA::IHistogram1D HistogramSvc::H1D
protected

Definition at line 62 of file HistogramSvc.h.

typedef AIDA::IHistogram2D HistogramSvc::H2D
protected

Definition at line 63 of file HistogramSvc.h.

typedef AIDA::IHistogram3D HistogramSvc::H3D
protected

Definition at line 64 of file HistogramSvc.h.

typedef AIDA::IProfile1D HistogramSvc::P1D
protected

Definition at line 65 of file HistogramSvc.h.

typedef AIDA::IProfile2D HistogramSvc::P2D
protected

Definition at line 66 of file HistogramSvc.h.

Definition at line 56 of file HistogramSvc.h.

Constructor & Destructor Documentation

HistogramSvc::HistogramSvc ( const std::string name,
ISvcLocator svc 
)

Statndard Constructor.

Parameters
nameservice name
pointerto service locator interface

Definition at line 357 of file HistogramSvc.cpp.

357  : base_class( nam, svc )
358 {
359  // Properties can be declared here
360  m_rootName = "/stat";
361  m_rootCLID = CLID_DataObject;
362  m_defs1D.declareUpdateHandler( &HistogramSvc::update1Ddefs, this );
363 }
Gaudi::Property< CLID > m_rootCLID
Definition: DataSvc.h:56
Gaudi::Property< Histo1DMap > m_defs1D
Gaudi::Property< std::string > m_rootName
Definition: DataSvc.h:57
extends base_class
Typedef to this class.
Definition: extends.h:14
void update1Ddefs(Gaudi::Details::PropertyBase &)
handler to be invoked for updating property m_defs1D
HistogramSvc::~HistogramSvc ( )
override

Destructor.

Definition at line 198 of file HistogramSvc.cpp.

199 {
200  setDataLoader( nullptr ).ignore();
201  clearStore().ignore();
202 }
StatusCode setDataLoader(IConversionSvc *svc, IDataProviderSvc *dpsvc=nullptr) override
IDataManagerSvc: IDataManagerSvc: Pass a default data loader to the service and optionally a data pro...
Definition: DataSvc.cpp:202
void ignore() const
Definition: StatusCode.h:106
StatusCode clearStore() override
IDataManagerSvc: Remove all data objects in the data store.
Definition: DataSvc.cpp:114

Member Function Documentation

template<class T >
static DataObject* HistogramSvc::__cast ( T *  p)
inlinestatic

Definition at line 180 of file HistogramSvc.h.

181  {
182  DataObject* q = dynamic_cast<DataObject*>( p );
183  if ( !q && p ) {
184  throw std::runtime_error( "HistogramSvc: Unexpected object type." );
185  }
186  return q;
187  }
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
H1D* HistogramSvc::add ( CSTR  nameAndTitle,
const H1D a,
const H1D b 
)
inlineoverride

Definition at line 1042 of file HistogramSvc.h.

1043  {
1044  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Add, 1. );
1045  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
H2D* HistogramSvc::add ( CSTR  nameAndTitle,
const H2D a,
const H2D b 
)
inlineoverride

Definition at line 1059 of file HistogramSvc.h.

1060  {
1061  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Add, 1. );
1062  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
H3D* HistogramSvc::add ( CSTR  nameAndTitle,
const H3D a,
const H3D b 
)
inlineoverride

Definition at line 1076 of file HistogramSvc.h.

1077  {
1078  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Add, 1. );
1079  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
H1D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)   
)
inlineoverride

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the fullpath) has to be an integer number otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
DBINS(x)Macro for bin definition. Expands to: int nx: Number of bins on the axis X/Y double lx: Lower histogram edge on the axis X/Y double ux: Upper histogram edge on the axis X/Y

Definition at line 222 of file HistogramSvc.h.

223  {
224  return book( createPath( par ), rel, title, BINS( x ) );
225  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
H1D* HistogramSvc::book ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)   
)
inlineoverride

Definition at line 226 of file HistogramSvc.h.

227  {
228  return book( par, std::to_string( hID ), title, BINS( x ) );
229  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
#define BINS(x)
Definition: HistogramSvc.h:40
H1D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)   
)
inlineoverride

Definition at line 230 of file HistogramSvc.h.

231  {
232  return book( pPar, std::to_string( hID ), title, BINS( x ) );
233  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
#define BINS(x)
Definition: HistogramSvc.h:40
AIDA::IHistogram1D * HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)   
)
override

Definition at line 336 of file HistogramSvc.cpp.

337 {
338  if ( m_defs1D.empty() ) {
339  return i_book( pPar, rel, title, Gaudi::createH1D( title, BINS( x ) ) );
340  }
341  std::string hn = histoAddr( pPar, rel );
342  auto ifound = m_defs1D.find( hn );
343  if ( m_defs1D.end() == ifound ) {
344  return i_book( pPar, rel, title, Gaudi::createH1D( title, BINS( x ) ) );
345  }
346  if ( msgLevel( MSG::DEBUG ) ) {
347  debug() << " Redefine the parameters for the histogram '" + hn + "' to be " << ifound->second << endmsg;
348  }
349  m_mods1D.insert( hn );
350  return i_book( pPar, rel, ifound->second.title(),
351  Gaudi::createH1D( ifound->second.title(), ifound->second.bins(), ifound->second.lowEdge(),
352  ifound->second.lowEdge() ) );
353 }
Gaudi::Property< Histo1DMap > m_defs1D
std::set< std::string > m_mods1D
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(const AIDA::IHistogram1D &hist)
Copy constructor.
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
STL class.
#define BINS(x)
Definition: HistogramSvc.h:40
T insert(T...args)
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
MSG::Level msgLevel() const
get the output level from the embedded MsgStream
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
virtual H1D* HistogramSvc::book ( STRPAIR  loc,
CSTR  title,
DBINS(x)   
)
inlinevirtual

Definition at line 235 of file HistogramSvc.h.

235 { return book( loc.first, loc.second, title, BINS( x ) ); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H1D* HistogramSvc::book ( CSTR  full,
CSTR  title,
DBINS(x)   
)
inlineoverride

Definition at line 236 of file HistogramSvc.h.

236 { return book( i_splitPath( full ), title, BINS( x ) ); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:40
H1D* HistogramSvc::book ( CSTR  par,
int  hID,
CSTR  title,
Edges  e 
)
inlineoverride

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the fullpath) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
eBin edges for variable binned histogram.

Definition at line 323 of file HistogramSvc.h.

323 { return book( par, std::to_string( hID ), title, e ); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
H1D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 324 of file HistogramSvc.h.

325  {
326  return book( pPar, std::to_string( hID ), title, e );
327  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
H1D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 328 of file HistogramSvc.h.

328 { return book( createPath( par ), rel, title, e ); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
virtual H1D* HistogramSvc::book ( STRPAIR  loc,
CSTR  title,
Edges  e 
)
inlinevirtual

Definition at line 329 of file HistogramSvc.h.

329 { return book( loc.first, loc.second, title, e ); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
H1D* HistogramSvc::book ( CSTR  full,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 330 of file HistogramSvc.h.

330 { return book( i_splitPath( full ), title, e ); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
H1D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 331 of file HistogramSvc.h.

332  {
333  return i_book( pPar, rel, title, Gaudi::createH1D( title, e ) );
334  }
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(const AIDA::IHistogram1D &hist)
Copy constructor.
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
H2D* HistogramSvc::book ( CSTR  full,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
DBINS(x/y)Macro for bin definition in X/Y. Expands to: int nx: Number of bins on the axis X/Y double lx: Lower histogram edge on the axis X/Y double ux: Upper histogram edge on the axis X/Y

Definition at line 416 of file HistogramSvc.h.

417  {
418  return book( i_splitPath( full ), title, BINS( x ), BINS( y ) );
419  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:40
H2D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 420 of file HistogramSvc.h.

421  {
422  return book( createPath( par ), rel, title, BINS( x ), BINS( y ) );
423  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
H2D* HistogramSvc::book ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 424 of file HistogramSvc.h.

425  {
426  return book( par, std::to_string( hID ), title, BINS( x ), BINS( y ) );
427  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
#define BINS(x)
Definition: HistogramSvc.h:40
virtual H2D* HistogramSvc::book ( STRPAIR  loc,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlinevirtual

Definition at line 428 of file HistogramSvc.h.

429  {
430  return book( loc.first, loc.second, title, BINS( x ), BINS( y ) );
431  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H2D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 432 of file HistogramSvc.h.

433  {
434  return book( pPar, std::to_string( hID ), title, BINS( x ), BINS( y ) );
435  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
#define BINS(x)
Definition: HistogramSvc.h:40
H2D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 436 of file HistogramSvc.h.

437  {
438  return i_book( pPar, rel, title, Gaudi::createH2D( title, BINS( x ), BINS( y ) ) );
439  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
#define BINS(x)
Definition: HistogramSvc.h:40
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
H2D* HistogramSvc::book ( CSTR  full,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
x/yBin edges for variable binned histogram in X/Y.

Definition at line 526 of file HistogramSvc.h.

526 { return book( i_splitPath( full ), title, x, y ); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
H2D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 527 of file HistogramSvc.h.

528  {
529  return book( createPath( par ), rel, title, x, y );
530  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
H2D* HistogramSvc::book ( CSTR  par,
int  hID,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 531 of file HistogramSvc.h.

532  {
533  return book( par, std::to_string( hID ), title, x, y );
534  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
virtual H2D* HistogramSvc::book ( STRPAIR  loc,
CSTR  title,
Edges  x,
Edges  y 
)
inlinevirtual

Definition at line 535 of file HistogramSvc.h.

535 { return book( loc.first, loc.second, title, x, y ); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
H2D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 536 of file HistogramSvc.h.

537  {
538  return book( pPar, std::to_string( hID ), title, x, y );
539  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
H2D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 540 of file HistogramSvc.h.

541  {
542  return i_book( pPar, rel, title, Gaudi::createH2D( title, x, y ) );
543  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
H3D* HistogramSvc::book ( CSTR  full,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inlineoverride

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
DBINS(x/y/z)Macro for bin definition in X/Y/Z. Expands to: int nx: Number of bins on the axis X/Y/Z double lx: Lower histogram edge on the axis X/Y/Z double ux: Upper histogram edge on the axis X/Y/Z

Definition at line 630 of file HistogramSvc.h.

631  {
632  return book( i_splitPath( full ), title, BINS( x ), BINS( y ), BINS( z ) );
633  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:40
H3D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inlineoverride

Definition at line 634 of file HistogramSvc.h.

635  {
636  return book( createPath( par ), rel, title, BINS( x ), BINS( y ), BINS( z ) );
637  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
H3D* HistogramSvc::book ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inlineoverride

Definition at line 638 of file HistogramSvc.h.

639  {
640  return book( par, std::to_string( hID ), title, BINS( x ), BINS( y ), BINS( z ) );
641  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
#define BINS(x)
Definition: HistogramSvc.h:40
H3D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inlineoverride

Definition at line 642 of file HistogramSvc.h.

643  {
644  return book( pPar, std::to_string( hID ), title, BINS( x ), BINS( y ), BINS( z ) );
645  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
#define BINS(x)
Definition: HistogramSvc.h:40
virtual H3D* HistogramSvc::book ( STRPAIR  loc,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inlinevirtual

Definition at line 646 of file HistogramSvc.h.

647  {
648  return book( loc.first, loc.second, title, BINS( x ), BINS( y ), BINS( z ) );
649  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H3D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inlineoverride

Definition at line 650 of file HistogramSvc.h.

651  {
652  return i_book( pPar, rel, title, Gaudi::createH3D( title, BINS( x ), BINS( y ), BINS( z ) ) );
653  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
#define BINS(x)
Definition: HistogramSvc.h:40
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(const AIDA::IHistogram3D &hist)
Copy constructor.
H3D* HistogramSvc::book ( CSTR  full,
CSTR  title,
Edges  x,
Edges  y,
Edges  z 
)
inlineoverride

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
binsX/Y/ZNumber of bins on the axis X/Y/Z
lowX/Y/ZLower histogram edge on the axis X/Y/Z
highX/Y/ZUpper histogram edge on the axis X/Y/Z

Definition at line 673 of file HistogramSvc.h.

674  {
675  return book( i_splitPath( full ), title, x, y, z );
676  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
H3D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y,
Edges  z 
)
inlineoverride

Definition at line 677 of file HistogramSvc.h.

678  {
679  return book( createPath( par ), rel, title, x, y, z );
680  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
H3D* HistogramSvc::book ( CSTR  par,
int  hID,
CSTR  title,
Edges  x,
Edges  y,
Edges  z 
)
inlineoverride

Definition at line 681 of file HistogramSvc.h.

682  {
683  return book( par, std::to_string( hID ), title, x, y, z );
684  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
H3D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
Edges  x,
Edges  y,
Edges  z 
)
inlineoverride

Definition at line 685 of file HistogramSvc.h.

686  {
687  return book( pPar, std::to_string( hID ), title, x, y, z );
688  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
T to_string(T...args)
virtual H3D* HistogramSvc::book ( STRPAIR  loc,
CSTR  title,
Edges  x,
Edges  y,
Edges  z 
)
inlinevirtual

Definition at line 689 of file HistogramSvc.h.

690  {
691  return book( loc.first, loc.second, title, x, y, z );
692  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
H3D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y,
Edges  z 
)
inlineoverride

Definition at line 693 of file HistogramSvc.h.

694  {
695  return i_book( pPar, rel, title, Gaudi::createH3D( title, x, y, z ) );
696  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(const AIDA::IHistogram3D &hist)
Copy constructor.
P1D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlineoverride

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the fullpath) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
DBINS(x)Macro for bin definition. Expands to: int nx: Number of bins on the axis X/Y double lx: Lower histogram edge on the axis X/Y double ux: Upper histogram edge on the axis X/Y

Definition at line 257 of file HistogramSvc.h.

258  {
259  return bookProf( createPath( par ), rel, title, BINS( x ), opt );
260  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
P1D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlineoverride

Definition at line 261 of file HistogramSvc.h.

262  {
263  return bookProf( par, std::to_string( hID ), title, BINS( x ), opt );
264  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlineoverride

Definition at line 265 of file HistogramSvc.h.

266  {
267  return bookProf( pPar, std::to_string( hID ), title, BINS( x ), opt );
268  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
virtual P1D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlinevirtual

Definition at line 269 of file HistogramSvc.h.

270  {
271  return bookProf( loc.first, loc.second, title, BINS( x ), opt );
272  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P1D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlineoverride

Definition at line 273 of file HistogramSvc.h.

274  {
275  return bookProf( i_splitPath( full ), title, BINS( x ), opt );
276  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:40
P1D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlineoverride

Definition at line 277 of file HistogramSvc.h.

278  {
279  return i_book( pPar, rel, title, Gaudi::createProf1D( title, BINS( x ), 0, 0, opt ) );
280  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
#define BINS(x)
Definition: HistogramSvc.h:40
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
P1D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlineoverride

Definition at line 282 of file HistogramSvc.h.

283  {
284  return bookProf( createPath( par ), rel, title, BINS( x ), upper, lower, opt );
285  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
P1D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlineoverride

Definition at line 286 of file HistogramSvc.h.

287  {
288  return bookProf( par, std::to_string( hID ), title, BINS( x ), upper, lower, opt );
289  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlineoverride

Definition at line 290 of file HistogramSvc.h.

291  {
292  return bookProf( pPar, std::to_string( hID ), title, BINS( x ), upper, lower, opt );
293  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
virtual P1D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlinevirtual

Definition at line 294 of file HistogramSvc.h.

295  {
296  return bookProf( loc.first, loc.second, title, BINS( x ), upper, lower, opt );
297  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P1D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlineoverride

Definition at line 298 of file HistogramSvc.h.

299  {
300  return bookProf( i_splitPath( full ), title, BINS( x ), upper, lower, opt );
301  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:40
P1D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlineoverride

Definition at line 302 of file HistogramSvc.h.

303  {
304  return i_book( pPar, rel, title, Gaudi::createProf1D( title, BINS( x ), upper, lower, opt ) );
305  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
#define BINS(x)
Definition: HistogramSvc.h:40
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
P1D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
Edges  e 
)
inlineoverride

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
eBin edges for variable binned histogram.

Definition at line 353 of file HistogramSvc.h.

353 { return bookProf( i_splitPath( full ), title, e ); }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
P1D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 354 of file HistogramSvc.h.

355  {
356  return bookProf( createPath( par ), rel, title, e );
357  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
P1D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 358 of file HistogramSvc.h.

359  {
360  return bookProf( par, std::to_string( hID ), title, e );
361  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
P1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 362 of file HistogramSvc.h.

363  {
364  return bookProf( pPar, std::to_string( hID ), title, e );
365  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
virtual P1D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
Edges  e 
)
inlinevirtual

Definition at line 366 of file HistogramSvc.h.

366 { return bookProf( loc.first, loc.second, title, e ); }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
P1D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 367 of file HistogramSvc.h.

368  {
369  return i_book( pPar, rel, title, Gaudi::createProf1D( title, e, 0, 0 ) );
370  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
virtual P1D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
Edges  e,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 372 of file HistogramSvc.h.

373  {
374  return bookProf( i_splitPath( full ), title, e, upper, lower );
375  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
virtual P1D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  e,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 376 of file HistogramSvc.h.

377  {
378  return bookProf( createPath( par ), rel, title, e, upper, lower );
379  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
virtual P1D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
Edges  e,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 380 of file HistogramSvc.h.

381  {
382  return bookProf( par, std::to_string( hID ), title, e, upper, lower );
383  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
virtual P1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
Edges  e,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 384 of file HistogramSvc.h.

385  {
386  return bookProf( pPar, std::to_string( hID ), title, e, upper, lower );
387  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
virtual P1D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
Edges  e,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 388 of file HistogramSvc.h.

389  {
390  return bookProf( loc.first, loc.second, title, e, upper, lower );
391  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
virtual P1D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  e,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 392 of file HistogramSvc.h.

393  {
394  return i_book( pPar, rel, title, Gaudi::createProf1D( title, e, upper, lower ) );
395  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
virtual P2D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlinevirtual

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
DBINS(x/y)Macro for bin definition in X/Y. Expands to: int nx: Number of bins on the axis X/Y double lx: Lower histogram edge on the axis X/Y double ux: Upper histogram edge on the axis X/Y

Definition at line 460 of file HistogramSvc.h.

461  {
462  return bookProf( i_splitPath( full ), title, BINS( x ), BINS( y ), upper, lower );
463  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:40
virtual P2D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 464 of file HistogramSvc.h.

465  {
466  return bookProf( createPath( par ), rel, title, BINS( x ), BINS( y ), upper, lower );
467  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
virtual P2D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 468 of file HistogramSvc.h.

469  {
470  return bookProf( loc.first, loc.second, title, BINS( x ), BINS( y ), upper, lower );
471  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
virtual P2D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 472 of file HistogramSvc.h.

473  {
474  return bookProf( par, std::to_string( hID ), title, BINS( x ), BINS( y ), upper, lower );
475  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
virtual P2D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 476 of file HistogramSvc.h.

477  {
478  return bookProf( pPar, std::to_string( hID ), title, BINS( x ), BINS( y ), upper, lower );
479  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
virtual P2D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 480 of file HistogramSvc.h.

481  {
482  return i_book( pPar, rel, title, Gaudi::createProf2D( title, BINS( x ), BINS( y ), upper, lower ) );
483  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 485 of file HistogramSvc.h.

486  {
487  return bookProf( i_splitPath( full ), title, BINS( x ), BINS( y ) );
488  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 489 of file HistogramSvc.h.

490  {
491  return bookProf( createPath( par ), rel, title, BINS( x ), BINS( y ) );
492  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
virtual P2D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlinevirtual

Definition at line 493 of file HistogramSvc.h.

494  {
495  return bookProf( loc.first, loc.second, title, BINS( x ), BINS( y ) );
496  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 497 of file HistogramSvc.h.

498  {
499  return bookProf( par, std::to_string( hID ), title, BINS( x ), BINS( y ) );
500  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 501 of file HistogramSvc.h.

502  {
503  return bookProf( pPar, std::to_string( hID ), title, BINS( x ), BINS( y ) );
504  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 505 of file HistogramSvc.h.

506  {
507  return i_book( pPar, rel, title, Gaudi::createProf2D( title, BINS( x ), BINS( y ), 0, 0 ) );
508  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Book histogram and register it with the histogram data store.

Parameters
fullFull path to the node of the object. The basename (last part of the full) has to be an integer number (otherwise conversion to HBOOK is not possible)
parPath to parent node of the object, the directory the histogram will be stored in.
pParPointer to parent node
relHistogram identifier (std::string), the relative path to the object with respect to the parent node
hIDHistogram identifier (int) of the histogram
titleTitle property of the histogram
x/yBin edges for variable binned histogram in X/Y.

Definition at line 561 of file HistogramSvc.h.

562  {
563  return bookProf( i_splitPath( full ), title, x, y );
564  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
P2D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 565 of file HistogramSvc.h.

566  {
567  return bookProf( createPath( par ), rel, title, x, y );
568  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
P2D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 569 of file HistogramSvc.h.

570  {
571  return bookProf( par, std::to_string( hID ), title, x, y );
572  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
P2D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 573 of file HistogramSvc.h.

574  {
575  return bookProf( pPar, std::to_string( hID ), title, x, y );
576  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
virtual P2D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
Edges  x,
Edges  y 
)
inlinevirtual

Definition at line 577 of file HistogramSvc.h.

578  {
579  return bookProf( loc.first, loc.second, title, x, y );
580  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
P2D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 581 of file HistogramSvc.h.

582  {
583  return i_book( pPar, rel, title, Gaudi::createProf2D( title, x, y, 0, 0 ) );
584  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
virtual P2D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 586 of file HistogramSvc.h.

587  {
588  return bookProf( i_splitPath( full ), title, x, y, upper, lower );
589  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
virtual P2D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 590 of file HistogramSvc.h.

591  {
592  return bookProf( createPath( par ), rel, title, x, y, upper, lower );
593  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
virtual P2D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 594 of file HistogramSvc.h.

595  {
596  return bookProf( par, std::to_string( hID ), title, x, y, upper, lower );
597  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
virtual P2D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 598 of file HistogramSvc.h.

599  {
600  return bookProf( pPar, std::to_string( hID ), title, x, y, upper, lower );
601  }
T to_string(T...args)
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
virtual P2D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 602 of file HistogramSvc.h.

603  {
604  return bookProf( loc.first, loc.second, title, x, y, upper, lower );
605  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
virtual P2D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 606 of file HistogramSvc.h.

607  {
608  return i_book( pPar, rel, title, Gaudi::createProf2D( title, x, y, upper, lower ) );
609  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
StatusCode HistogramSvc::connectInput ( CSTR  ident)

Connect input histogram file to the service.

Parameters
ident[IN] Input specification

Definition at line 204 of file HistogramSvc.cpp.

205 {
206  using Parser = Gaudi::Utils::AttribStringParser;
207  DataObject* pO = nullptr;
208  StatusCode status = this->findObject( m_rootName, pO );
209  if ( status.isSuccess() ) {
210  std::string::size_type loc = ident.find( " " );
211  std::string filename, auth, svc = "", typ = "";
212  std::string logname = ident.substr( 0, loc );
213  for ( auto attrib : Parser( ident.substr( loc + 1 ) ) ) {
214  switch (::toupper( attrib.tag[0] ) ) {
215  case 'F': // FILE='<file name>'
216  case 'D': // DATAFILE='<file name>'
217  filename = std::move( attrib.value );
218  break;
219  case 'T': // TYP='<HBOOK,ROOT,OBJY,...>'
220  typ = std::move( attrib.value );
221  break;
222  default:
223  break;
224  }
225  }
226  if ( typ.length() > 0 ) {
227  // Now add the registry entry to the store
228  std::string entryname = m_rootName;
229  entryname += '/';
230  entryname += logname;
231  GenericAddress* pA = nullptr;
232  switch (::toupper( typ[0] ) ) {
233  case 'H':
234  pA = new GenericAddress( HBOOK_StorageType, CLID_StatisticsFile, filename, entryname, 0, 'O' );
235  break;
236  case 'R':
237  pA = new GenericAddress( ROOT_StorageType, CLID_StatisticsFile, filename, entryname, 0, 'O' );
238  break;
239  }
240  if ( pA ) {
241  status = registerAddress( pO, logname, pA );
242  if ( status.isSuccess() ) {
243  info() << "Added stream file:" << filename << " as " << logname << endmsg;
244  return status;
245  }
246  pA->release();
247  }
248  }
249  }
250  error() << "Cannot add " << ident << " invalid filename!" << endmsg;
251  return StatusCode::FAILURE;
252 }
Parse attribute strings allowing iteration over the various attributes.
const long HBOOK_StorageType
Definition: ClassID.h:56
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:74
unsigned long release() override
release reference to object
StatusCode findObject(IRegistry *pReg, CSTR path, P1D *&obj) override
Definition: HistogramSvc.h:901
Gaudi::Property< std::string > m_rootName
Definition: DataSvc.h:57
Generic Transient Address.
StatusCode registerAddress(const std::string &fullPath, IOpaqueAddress *pAddress) override
IDataManagerSvc: Register object address with the data store.
Definition: DataSvc.cpp:244
STL class.
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
const long ROOT_StorageType
Definition: ClassID.h:52
T move(T...args)
T find(T...args)
T substr(T...args)
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
void toupper(std::string &s)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
AIDA::ICloud1D* HistogramSvc::createCloud1D ( CSTR  ,
CSTR  ,
int  ,
CSTR   
)
override
AIDA::ICloud1D* HistogramSvc::createCloud1D ( CSTR  )
override
AIDA::ICloud2D* HistogramSvc::createCloud2D ( CSTR  ,
CSTR  ,
int  ,
CSTR   
)
override
AIDA::ICloud2D* HistogramSvc::createCloud2D ( CSTR  )
override
AIDA::ICloud3D* HistogramSvc::createCloud3D ( CSTR  ,
CSTR  ,
int  ,
CSTR   
)
override
AIDA::ICloud3D* HistogramSvc::createCloud3D ( CSTR  )
override
H1D* HistogramSvc::createCopy ( CSTR  full,
const H1D h 
)
inlineoverride

Definition at line 1119 of file HistogramSvc.h.

1119 { return createCopy( i_splitPath( full ), h ); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
H1D * createCopy(CSTR full, const H1D &h) override
H1D* HistogramSvc::createCopy ( CSTR  par,
CSTR  rel,
const H1D h 
)
inline

Definition at line 1120 of file HistogramSvc.h.

1120 { return createCopy( createPath( par ), rel, h ); }
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
H1D * createCopy(CSTR full, const H1D &h) override
H1D* HistogramSvc::createCopy ( STRPAIR  loc,
const H1D h 
)
inline

Definition at line 1121 of file HistogramSvc.h.

1121 { return createCopy( loc.first, loc.second, h ); }
H1D * createCopy(CSTR full, const H1D &h) override
H1D* HistogramSvc::createCopy ( DataObject pPar,
CSTR  rel,
const H1D h 
)
inline

Definition at line 1122 of file HistogramSvc.h.

1123  {
1124  return i_book( pPar, rel, h.title(), Gaudi::createH1D( h ) );
1125  }
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D(const AIDA::IHistogram1D &hist)
Copy constructor.
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
H2D* HistogramSvc::createCopy ( CSTR  full,
const H2D h 
)
inlineoverride

Definition at line 1143 of file HistogramSvc.h.

1143 { return createCopy( i_splitPath( full ), h ); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
H1D * createCopy(CSTR full, const H1D &h) override
H2D* HistogramSvc::createCopy ( CSTR  par,
CSTR  rel,
const H2D h 
)
inline

Definition at line 1144 of file HistogramSvc.h.

1144 { return createCopy( createPath( par ), rel, h ); }
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
H1D * createCopy(CSTR full, const H1D &h) override
H2D* HistogramSvc::createCopy ( STRPAIR  loc,
const H2D h 
)
inline

Definition at line 1145 of file HistogramSvc.h.

1145 { return createCopy( loc.first, loc.second, h ); }
H1D * createCopy(CSTR full, const H1D &h) override
H2D* HistogramSvc::createCopy ( DataObject pPar,
CSTR  rel,
const H2D h 
)
inline

Definition at line 1146 of file HistogramSvc.h.

1147  {
1148  return i_book( pPar, rel, h.title(), Gaudi::createH2D( h ) );
1149  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
H3D* HistogramSvc::createCopy ( CSTR  full,
const H3D h 
)
inlineoverride

Definition at line 1167 of file HistogramSvc.h.

1167 { return createCopy( i_splitPath( full ), h ); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
H1D * createCopy(CSTR full, const H1D &h) override
H3D* HistogramSvc::createCopy ( CSTR  par,
CSTR  rel,
const H3D h 
)
inline

Definition at line 1168 of file HistogramSvc.h.

1168 { return createCopy( createPath( par ), rel, h ); }
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
H1D * createCopy(CSTR full, const H1D &h) override
H3D* HistogramSvc::createCopy ( STRPAIR  loc,
const H3D h 
)
inline

Definition at line 1169 of file HistogramSvc.h.

1169 { return createCopy( loc.first, loc.second, h ); }
H1D * createCopy(CSTR full, const H1D &h) override
H3D* HistogramSvc::createCopy ( DataObject pPar,
CSTR  rel,
const H3D h 
)
inline

Definition at line 1170 of file HistogramSvc.h.

1171  {
1172  return i_book( pPar, rel, h.title(), Gaudi::createH3D( h ) );
1173  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D(const AIDA::IHistogram3D &hist)
Copy constructor.
P1D* HistogramSvc::createCopy ( CSTR  full,
const P1D h 
)
inlineoverride

Definition at line 1199 of file HistogramSvc.h.

1199 { return createCopy( i_splitPath( full ), h ); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
H1D * createCopy(CSTR full, const H1D &h) override
P1D* HistogramSvc::createCopy ( CSTR  par,
CSTR  rel,
const P1D h 
)
inline

Definition at line 1200 of file HistogramSvc.h.

1200 { return createCopy( createPath( par ), rel, h ); }
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
H1D * createCopy(CSTR full, const H1D &h) override
P1D* HistogramSvc::createCopy ( STRPAIR  loc,
const P1D h 
)
inline

Definition at line 1201 of file HistogramSvc.h.

1201 { return createCopy( loc.first, loc.second, h ); }
H1D * createCopy(CSTR full, const H1D &h) override
P1D* HistogramSvc::createCopy ( DataObject pPar,
CSTR  rel,
const P1D h 
)
inline

Definition at line 1202 of file HistogramSvc.h.

1203  {
1204  return i_book( pPar, rel, h.title(), Gaudi::createProf1D( h ) );
1205  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
P2D* HistogramSvc::createCopy ( CSTR  full,
const P2D h 
)
inlineoverride

Definition at line 1242 of file HistogramSvc.h.

1242 { return createCopy( i_splitPath( full ), h ); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
H1D * createCopy(CSTR full, const H1D &h) override
P2D* HistogramSvc::createCopy ( CSTR  par,
CSTR  rel,
const P2D h 
)
inline

Definition at line 1243 of file HistogramSvc.h.

1243 { return createCopy( createPath( par ), rel, h ); }
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
H1D * createCopy(CSTR full, const H1D &h) override
P2D* HistogramSvc::createCopy ( STRPAIR  loc,
const P2D h 
)
inline

Definition at line 1244 of file HistogramSvc.h.

1244 { return createCopy( loc.first, loc.second, h ); }
H1D * createCopy(CSTR full, const H1D &h) override
P2D* HistogramSvc::createCopy ( DataObject pPar,
CSTR  rel,
const P2D h 
)
inline

Definition at line 1245 of file HistogramSvc.h.

1246  {
1247  return i_book( pPar, rel, h.title(), Gaudi::createProf2D( h ) );
1248  }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:172
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
AIDA::ICloud1D* HistogramSvc::createCopy ( CSTR  ,
const AIDA::ICloud1D &   
)
override
AIDA::ICloud2D* HistogramSvc::createCopy ( CSTR  ,
const AIDA::ICloud2D &   
)
override
AIDA::ICloud3D* HistogramSvc::createCopy ( CSTR  ,
const AIDA::ICloud3D &   
)
override
DataObject * HistogramSvc::createDirectory ( CSTR  parentDir,
CSTR  subDir 
)
override

Create a sub-directory in a directory.

Parameters
parentDirname of the parent directory
subDirto identify the histogram object in the store

Definition at line 178 of file HistogramSvc.cpp.

179 {
180  std::unique_ptr<DataObject> directory{new DataObject()};
181  if ( directory ) {
182  DataObject* pnode;
183  StatusCode status = DataSvc::retrieveObject( parentDir, pnode );
184  if ( status.isSuccess() ) {
185  status = DataSvc::registerObject( pnode, subDir, directory.get() );
186  if ( !status.isSuccess() ) {
187  error() << "Unable to create the histogram directory: " << parentDir << "/" << subDir << endmsg;
188  return nullptr;
189  }
190  } else {
191  error() << "Unable to create the histogram directory: " << parentDir << "/" << subDir << endmsg;
192  return nullptr;
193  }
194  }
195  return directory.release();
196 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:74
StatusCode registerObject(const std::string &fullPath, DataObject *pObject) override
Register object with the data store.
Definition: DataSvc.cpp:356
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
StatusCode retrieveObject(IRegistry *pDirectory, const std::string &path, DataObject *&pObject) override
Retrieve object from data store.
Definition: DataSvc.cpp:763
STL class.
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
H1D* HistogramSvc::createHistogram1D ( CSTR  name,
CSTR  tit,
DBINS(x)   
)
inline

Definition at line 1103 of file HistogramSvc.h.

1104  {
1105  return book( name, tit, BINS( x ) );
1106  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H1D* HistogramSvc::createHistogram1D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
CSTR   
)
inlineoverride

Definition at line 1107 of file HistogramSvc.h.

1108  {
1109  return book( name, tit, BINS( x ) );
1110  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H1D* HistogramSvc::createHistogram1D ( CSTR  name,
CSTR  title,
const Edges x,
CSTR   
)
inlineoverride

Definition at line 1111 of file HistogramSvc.h.

1112  {
1113  return book( name, title, x );
1114  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
H1D* HistogramSvc::createHistogram1D ( CSTR  nameAndTitle,
DBINS(x)   
)
inlineoverride

Definition at line 1115 of file HistogramSvc.h.

1116  {
1117  return book( nameAndTitle, nameAndTitle, BINS( x ) );
1118  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H2D* HistogramSvc::createHistogram2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)   
)
inline

Definition at line 1127 of file HistogramSvc.h.

1128  {
1129  return book( name, tit, BINS( x ), BINS( y ) );
1130  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H2D* HistogramSvc::createHistogram2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
CSTR   
)
inlineoverride

Definition at line 1131 of file HistogramSvc.h.

1132  {
1133  return book( name, tit, BINS( x ), BINS( y ) );
1134  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H2D* HistogramSvc::createHistogram2D ( CSTR  name,
CSTR  title,
const Edges x,
const Edges y,
CSTR   
)
inlineoverride

Definition at line 1135 of file HistogramSvc.h.

1136  {
1137  return book( name, title, x, y );
1138  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
H2D* HistogramSvc::createHistogram2D ( CSTR  nameAndTitle,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 1139 of file HistogramSvc.h.

1140  {
1141  return book( nameAndTitle, nameAndTitle, BINS( x ), BINS( y ) );
1142  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H3D* HistogramSvc::createHistogram3D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inline

Definition at line 1151 of file HistogramSvc.h.

1152  {
1153  return book( name, tit, BINS( x ), BINS( y ), BINS( z ) );
1154  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H3D* HistogramSvc::createHistogram3D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)  ,
CSTR   
)
inlineoverride

Definition at line 1155 of file HistogramSvc.h.

1156  {
1157  return book( name, tit, BINS( x ), BINS( y ), BINS( z ) );
1158  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
H3D* HistogramSvc::createHistogram3D ( CSTR  name,
CSTR  title,
const Edges x,
const Edges y,
const Edges z,
CSTR   
)
inlineoverride

Definition at line 1159 of file HistogramSvc.h.

1160  {
1161  return book( name, title, x, y, z );
1162  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
H3D* HistogramSvc::createHistogram3D ( CSTR  nameAndTitle,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inlineoverride

Definition at line 1163 of file HistogramSvc.h.

1164  {
1165  return book( nameAndTitle, nameAndTitle, BINS( x ), BINS( y ), BINS( z ) );
1166  }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:222
#define BINS(x)
Definition: HistogramSvc.h:40
DataObject * HistogramSvc::createPath ( CSTR  newPath)
override

Create all directories in a given full path.

Definition at line 149 of file HistogramSvc.cpp.

150 {
151  std::string tmpPath = newPath;
152  if ( tmpPath[0] != SEPARATOR ) {
153  tmpPath.insert( tmpPath.begin(), SEPARATOR );
154  tmpPath.insert( tmpPath.begin(), m_rootName.begin(), m_rootName.end() );
155  }
156  // Remove trailing "/" from newPath if it exists
157  if ( tmpPath.rfind( SEPARATOR ) == tmpPath.length() - 1 ) {
158  tmpPath.erase( tmpPath.rfind( SEPARATOR ), 1 );
159  }
160  DataObject* pObject = nullptr;
161  StatusCode sc = DataSvc::findObject( tmpPath, pObject );
162  if ( sc.isSuccess() ) {
163  return pObject;
164  }
165  int sep = tmpPath.rfind( SEPARATOR );
166  std::string rest( tmpPath, sep + 1, tmpPath.length() - sep );
167  std::string subPath( tmpPath, 0, sep );
168  if ( 0 != sep ) {
169  createPath( subPath );
170  } else {
171  error() << "Unable to create the histogram path" << endmsg;
172  return nullptr;
173  }
174  pObject = createDirectory( subPath, rest );
175  return pObject;
176 }
constexpr char SEPARATOR
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:74
T rfind(T...args)
Gaudi::Property< std::string > m_rootName
Definition: DataSvc.h:57
STL class.
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
StatusCode findObject(const std::string &fullPath, DataObject *&pObject) override
Find object identified by its full path in the data store.
Definition: DataSvc.cpp:828
T erase(T...args)
T insert(T...args)
T length(T...args)
T begin(T...args)
DataObject * createDirectory(CSTR parentDir, CSTR subDir) override
Create a sub-directory in a directory.
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
P1D* HistogramSvc::createProfile1D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
CSTR  opt 
)
inlineoverride

Definition at line 1176 of file HistogramSvc.h.

1177  {
1178  return bookProf( name, tit, BINS( x ), opt );
1179  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P1D* HistogramSvc::createProfile1D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlineoverride

Definition at line 1180 of file HistogramSvc.h.

1181  {
1182  return bookProf( name, tit, BINS( x ), upper, lower, opt );
1183  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P1D* HistogramSvc::createProfile1D ( CSTR  name,
CSTR  title,
const Edges x,
CSTR   
)
inlineoverride

Definition at line 1184 of file HistogramSvc.h.

1185  {
1186  return bookProf( name, title, x );
1187  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
P1D* HistogramSvc::createProfile1D ( CSTR  name,
CSTR  title,
const Edges x,
double  upper,
double  lower,
CSTR   
)
inlineoverride

Definition at line 1188 of file HistogramSvc.h.

1189  {
1190  return bookProf( name, title, x, upper, lower );
1191  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
P1D* HistogramSvc::createProfile1D ( CSTR  nametit,
DBINS(x)   
)
inlineoverride

Definition at line 1193 of file HistogramSvc.h.

1193 { return bookProf( nametit, nametit, BINS( x ), "s" ); }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P1D* HistogramSvc::createProfile1D ( CSTR  nametit,
DBINS(x)  ,
double  upper,
double  lower 
)
inlineoverride

Definition at line 1194 of file HistogramSvc.h.

1195  {
1196  return bookProf( nametit, nametit, BINS( x ), upper, lower, "s" );
1197  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)   
)
inline

Definition at line 1207 of file HistogramSvc.h.

1208  {
1209  return bookProf( name, tit, BINS( x ), BINS( y ) );
1210  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
CSTR   
)
inlineoverride

Definition at line 1211 of file HistogramSvc.h.

1212  {
1213  return bookProf( name, tit, BINS( x ), BINS( y ) );
1214  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  title,
const Edges x,
const Edges y,
CSTR   
)
inlineoverride

Definition at line 1215 of file HistogramSvc.h.

1216  {
1217  return bookProf( name, title, x, y );
1218  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
P2D* HistogramSvc::createProfile2D ( CSTR  nameAndTitle,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 1219 of file HistogramSvc.h.

1220  {
1221  return bookProf( nameAndTitle, nameAndTitle, BINS( x ), BINS( y ) );
1222  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inline

Definition at line 1224 of file HistogramSvc.h.

1225  {
1226  return bookProf( name, tit, BINS( x ), BINS( y ), upper, lower );
1227  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower,
CSTR   
)
inlineoverride

Definition at line 1228 of file HistogramSvc.h.

1229  {
1230  return bookProf( name, tit, BINS( x ), BINS( y ), upper, lower );
1231  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  title,
const Edges x,
const Edges y,
double  upper,
double  lower,
CSTR   
)
inlineoverride

Definition at line 1232 of file HistogramSvc.h.

1234  {
1235  return bookProf( name, title, x, y, upper, lower );
1236  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
P2D* HistogramSvc::createProfile2D ( CSTR  nameAndTitle,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlineoverride

Definition at line 1237 of file HistogramSvc.h.

1238  {
1239  return bookProf( nameAndTitle, nameAndTitle, BINS( x ), BINS( y ), upper, lower );
1240  }
P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:257
#define BINS(x)
Definition: HistogramSvc.h:40
bool HistogramSvc::destroy ( IBaseHistogram *  hist)
override

Definition at line 328 of file HistogramSvc.cpp.

329 {
330  StatusCode sc = unregisterObject( dynamic_cast<IHistogram*>( hist ) );
331  if ( !sc.isSuccess() ) return false;
332  delete hist;
333  return true;
334 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:74
StatusCode unregisterObject(Base *obj) override
Definition: HistogramSvc.h:729
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
H1D* HistogramSvc::divide ( CSTR  nameAndTitle,
const H1D a,
const H1D b 
)
inlineoverride

Definition at line 1054 of file HistogramSvc.h.

1055  {
1056  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Divide );
1057  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
H2D* HistogramSvc::divide ( CSTR  nameAndTitle,
const H2D a,
const H2D b 
)
inlineoverride

Definition at line 1071 of file HistogramSvc.h.

1072  {
1073  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Divide );
1074  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
H3D* HistogramSvc::divide ( CSTR  nameAndTitle,
const H3D a,
const H3D b 
)
inlineoverride

Definition at line 1088 of file HistogramSvc.h.

1089  {
1090  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Divide );
1091  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
StatusCode HistogramSvc::finalize ( )
override

finalize the service

Definition at line 391 of file HistogramSvc.cpp.

392 {
393  if ( !m_mods1D.empty() ) {
394  if ( msgLevel( MSG::DEBUG ) ) debug() << " Substituted histograms #" << m_mods1D.size() << " : " << endmsg;
395  for ( const auto& ih : m_mods1D ) {
396  if ( msgLevel( MSG::DEBUG ) ) debug() << " Path='" << ih << "'";
397  auto im = m_defs1D.find( ih );
398  if ( m_defs1D.end() != im ) {
399  debug() << " " << im->second;
400  }
401  }
402  m_mods1D.clear();
403  }
404  return DataSvc::finalize();
405 }
Gaudi::Property< Histo1DMap > m_defs1D
T empty(T...args)
std::set< std::string > m_mods1D
void clear(STATE_TYPE _i=std::ios_base::failbit)
Definition: MsgStream.h:222
StatusCode finalize() override
Service initialization.
Definition: DataSvc.cpp:1188
T size(T...args)
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
MSG::Level msgLevel() const
get the output level from the embedded MsgStream
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
StatusCode HistogramSvc::findObject ( IRegistry pReg,
CSTR  path,
P1D *&  obj 
)
inlineoverride

Definition at line 901 of file HistogramSvc.h.

902  {
903  return Helper( this ).find( pReg, path, obj );
904  }
StatusCode HistogramSvc::findObject ( IRegistry pReg,
CSTR  path,
P2D *&  obj 
)
inlineoverride

Definition at line 905 of file HistogramSvc.h.

906  {
907  return Helper( this ).find( pReg, path, obj );
908  }
StatusCode HistogramSvc::findObject ( IRegistry pReg,
CSTR  path,
H1D *&  obj 
)
inlineoverride

Definition at line 909 of file HistogramSvc.h.

910  {
911  return Helper( this ).find( pReg, path, obj );
912  }
StatusCode HistogramSvc::findObject ( IRegistry pReg,
CSTR  path,
H2D *&  obj 
)
inlineoverride

Definition at line 913 of file HistogramSvc.h.

914  {
915  return Helper( this ).find( pReg, path, obj );
916  }
StatusCode HistogramSvc::findObject ( IRegistry pReg,
CSTR  path,
H3D *&  obj 
)
inlineoverride

Definition at line 917 of file HistogramSvc.h.

918  {
919  return Helper( this ).find( pReg, path, obj );
920  }
StatusCode HistogramSvc::findObject ( CSTR  full,
P1D *&  obj 
)
inlineoverride

Definition at line 922 of file HistogramSvc.h.

922 { return Helper( this ).find( full, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  full,
P2D *&  obj 
)
inlineoverride

Definition at line 923 of file HistogramSvc.h.

923 { return Helper( this ).find( full, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  full,
H1D *&  obj 
)
inlineoverride

Definition at line 924 of file HistogramSvc.h.

924 { return Helper( this ).find( full, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  full,
H2D *&  obj 
)
inlineoverride

Definition at line 925 of file HistogramSvc.h.

925 { return Helper( this ).find( full, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  full,
H3D *&  obj 
)
inlineoverride

Definition at line 926 of file HistogramSvc.h.

926 { return Helper( this ).find( full, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  par,
CSTR  rel,
P1D *&  obj 
)
inlineoverride

Definition at line 928 of file HistogramSvc.h.

928 { return Helper( this ).find( par, rel, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  par,
CSTR  rel,
P2D *&  obj 
)
inlineoverride

Definition at line 929 of file HistogramSvc.h.

929 { return Helper( this ).find( par, rel, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  par,
CSTR  rel,
H1D *&  obj 
)
inlineoverride

Definition at line 930 of file HistogramSvc.h.

930 { return Helper( this ).find( par, rel, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  par,
CSTR  rel,
H2D *&  obj 
)
inlineoverride

Definition at line 931 of file HistogramSvc.h.

931 { return Helper( this ).find( par, rel, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  par,
CSTR  rel,
H3D *&  obj 
)
inlineoverride

Definition at line 932 of file HistogramSvc.h.

932 { return Helper( this ).find( par, rel, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
P1D *&  obj 
)
inlineoverride

Definition at line 934 of file HistogramSvc.h.

934 { return Helper( this ).find( par, item, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 935 of file HistogramSvc.h.

935 { return Helper( this ).find( par, item, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 936 of file HistogramSvc.h.

936 { return Helper( this ).find( par, item, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 937 of file HistogramSvc.h.

937 { return Helper( this ).find( par, item, obj ); }
StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 938 of file HistogramSvc.h.

938 { return Helper( this ).find( par, item, obj ); }
StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
P1D *&  obj 
)
inlineoverride

Definition at line 940 of file HistogramSvc.h.

941  {
942  return Helper( this ).find( par, item, obj );
943  }
StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 944 of file HistogramSvc.h.

945  {
946  return Helper( this ).find( par, item, obj );
947  }
StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 948 of file HistogramSvc.h.

949  {
950  return Helper( this ).find( par, item, obj );
951  }
StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 952 of file HistogramSvc.h.

953  {
954  return Helper( this ).find( par, item, obj );
955  }
StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 956 of file HistogramSvc.h.

957  {
958  return Helper( this ).find( par, item, obj );
959  }
StatusCode HistogramSvc::findObject ( DataObject par,
CSTR  item,
P1D *&  obj 
)
inlineoverride

Definition at line 961 of file HistogramSvc.h.

962  {
963  return Helper( this ).find( par, item, obj );
964  }
StatusCode HistogramSvc::findObject ( DataObject par,
CSTR  item,
P2D *&  obj 
)
inlineoverride

Definition at line 965 of file HistogramSvc.h.

966  {
967  return Helper( this ).find( par, item, obj );
968  }
StatusCode HistogramSvc::findObject ( DataObject par,
CSTR  item,
H1D *&  obj 
)
inlineoverride

Definition at line 969 of file HistogramSvc.h.

970  {
971  return Helper( this ).find( par, item, obj );
972  }
StatusCode HistogramSvc::findObject ( DataObject par,
CSTR  item,
H2D *&  obj 
)
inlineoverride

Definition at line 973 of file HistogramSvc.h.

974  {
975  return Helper( this ).find( par, item, obj );
976  }
StatusCode HistogramSvc::findObject ( DataObject par,
CSTR  item,
H3D *&  obj 
)
inlineoverride

Definition at line 977 of file HistogramSvc.h.

978  {
979  return Helper( this ).find( par, item, obj );
980  }
StatusCode HistogramSvc::findObject ( Base par,
int  item,
P1D *&  obj 
)
inlineoverride

Definition at line 982 of file HistogramSvc.h.

983  {
984  return Helper( this ).find( __cast( par ), item, obj );
985  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::findObject ( Base par,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 986 of file HistogramSvc.h.

987  {
988  return Helper( this ).find( __cast( par ), item, obj );
989  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::findObject ( Base par,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 990 of file HistogramSvc.h.

991  {
992  return Helper( this ).find( __cast( par ), item, obj );
993  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::findObject ( Base par,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 994 of file HistogramSvc.h.

995  {
996  return Helper( this ).find( __cast( par ), item, obj );
997  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::findObject ( Base par,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 998 of file HistogramSvc.h.

999  {
1000  return Helper( this ).find( __cast( par ), item, obj );
1001  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
P1D *&  obj 
)
inlineoverride

Definition at line 1003 of file HistogramSvc.h.

1004  {
1005  return Helper( this ).find( __cast( par ), item, obj );
1006  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
P2D *&  obj 
)
inlineoverride

Definition at line 1007 of file HistogramSvc.h.

1008  {
1009  return Helper( this ).find( __cast( par ), item, obj );
1010  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
H1D *&  obj 
)
inlineoverride

Definition at line 1011 of file HistogramSvc.h.

1012  {
1013  return Helper( this ).find( __cast( par ), item, obj );
1014  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
H2D *&  obj 
)
inlineoverride

Definition at line 1015 of file HistogramSvc.h.

1016  {
1017  return Helper( this ).find( __cast( par ), item, obj );
1018  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
H3D *&  obj 
)
inlineoverride

Definition at line 1019 of file HistogramSvc.h.

1020  {
1021  return Helper( this ).find( __cast( par ), item, obj );
1022  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
AIDA::IHistogramFactory* HistogramSvc::histogramFactory ( )
inlineoverride

Retrieve the AIDA HistogramFactory interface.

Definition at line 200 of file HistogramSvc.h.

200 { return this; }
template<class T >
T* HistogramSvc::i_book ( DataObject pPar,
CSTR  rel,
CSTR  title,
const std::pair< DataObject *, T * > &  o 
)
inline

Definition at line 172 of file HistogramSvc.h.

173  {
174  if ( o.first && registerObject( pPar, rel, (Base*)o.second ).isSuccess() ) return o.second;
175  delete o.first;
176  throw GaudiException( "Cannot book " + System::typeinfoName( typeid( T ) ) + " " + title, "HistogramSvc",
178  }
Define general base for Gaudi exception.
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition: System.cpp:299
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:74
AIDA::IBaseHistogram Base
Definition: HistogramSvc.h:67
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:704
AIDA::IHistogram2D * HistogramSvc::i_project ( CSTR  nameAndTitle,
const H3D h,
CSTR  dir 
)

Helper for 2D projections.

Definition at line 92 of file HistogramSvc.cpp.

93 {
94  TH3D* h3d = Gaudi::getRepresentation<IHistogram3D, TH3D>( h );
95  if ( h3d ) {
96  TH2D* h2d = dynamic_cast<TH2D*>( h3d->Project3D( dir.c_str() ) );
97  if ( h2d ) {
99  if ( r.second && registerObject( nameAndTitle, r.second ).isSuccess() ) {
100  return r.second;
101  }
102  }
103  }
104  return nullptr;
105 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:74
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:704
T c_str(T...args)
std::pair< std::string, std::string > HistogramSvc::i_splitPath ( CSTR  full)

Split full path into its components.

Parameters
fullFull path of the object
dirResulting directory path
objResulting object path

Definition at line 134 of file HistogramSvc.cpp.

135 {
136  std::string tmp = full;
137  if ( tmp[0] != SEPARATOR ) {
138  tmp.insert( tmp.begin(), SEPARATOR );
139  tmp.insert( tmp.begin(), m_rootName.begin(), m_rootName.end() );
140  }
141  // Remove trailing "/" from newPath if it exists
142  if ( tmp.rfind( SEPARATOR ) == tmp.length() - 1 ) {
143  tmp.erase( tmp.rfind( SEPARATOR ), 1 );
144  }
145  int sep = tmp.rfind( SEPARATOR );
146  return {tmp.substr( 0, sep ), tmp.substr( sep )};
147 }
constexpr char SEPARATOR
T rfind(T...args)
Gaudi::Property< std::string > m_rootName
Definition: DataSvc.h:57
STL class.
T erase(T...args)
T insert(T...args)
T length(T...args)
T begin(T...args)
T substr(T...args)
StatusCode HistogramSvc::initialize ( )
override

Initialise the service.

Definition at line 254 of file HistogramSvc.cpp.

255 {
256  StatusCode status = DataSvc::initialize();
257  // Set root object
258  if ( status.isSuccess() ) {
260  status = setRoot( "/stat", rootObj.get() );
261  if ( status.isSuccess() ) {
262  rootObj.release();
263  } else {
264  error() << "Unable to set hstogram data store root." << endmsg;
265  return status;
266  }
267  auto svc = service<IConversionSvc>( "HistogramPersistencySvc", true );
268  if ( svc ) {
269  setDataLoader( svc.get() ).ignore();
270  } else {
271  error() << "Could not find HistogramPersistencySvc." << endmsg;
272  return StatusCode::FAILURE;
273  }
274  // Connect all input streams (if any)
275  for ( auto& j : m_input ) {
276  status = connectInput( j );
277  if ( !status.isSuccess() ) return status;
278  }
279  }
280  if ( !m_defs1D.empty() ) {
281  info() << " Predefined 1D-Histograms: " << endmsg;
282  for ( const auto& ih : m_defs1D ) {
283  info() << " Path='" << ih.first << "'"
284  << " Description " << ih.second << endmsg;
285  }
286  }
287  return status;
288 }
Gaudi::Property< Histo1DMap > m_defs1D
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:74
StatusCode setRoot(std::string root_name, DataObject *pRootObj) override
Initialize data store for new event by giving new event path and root object.
Definition: DataSvc.cpp:153
StatusCode setDataLoader(IConversionSvc *svc, IDataProviderSvc *dpsvc=nullptr) override
IDataManagerSvc: IDataManagerSvc: Pass a default data loader to the service and optionally a data pro...
Definition: DataSvc.cpp:202
StatusCode connectInput(CSTR ident)
Connect input histogram file to the service.
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
STL class.
StatusCode initialize() override
Service initialization.
Definition: DataSvc.cpp:1153
Gaudi::Property< DBaseEntries > m_input
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
H1D* HistogramSvc::multiply ( CSTR  nameAndTitle,
const H1D a,
const H1D b 
)
inlineoverride

Definition at line 1050 of file HistogramSvc.h.

1051  {
1052  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Multiply );
1053  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
H2D* HistogramSvc::multiply ( CSTR  nameAndTitle,
const H2D a,
const H2D b 
)
inlineoverride

Definition at line 1067 of file HistogramSvc.h.

1068  {
1069  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Multiply );
1070  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
H3D* HistogramSvc::multiply ( CSTR  nameAndTitle,
const H3D a,
const H3D b 
)
inlineoverride

Definition at line 1084 of file HistogramSvc.h.

1085  {
1086  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Multiply );
1087  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
void HistogramSvc::not_implemented ( ) const
inlineprivate

Definition at line 57 of file HistogramSvc.h.

57 { error() << "Sorry, not yet implemented..." << endmsg; }
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
std::ostream & HistogramSvc::print ( Base h,
std::ostream s = std::cout 
) const
override

Print (ASCII) the 1D histogram into the output stream.

Definition at line 110 of file HistogramSvc.cpp.

111 {
112  Gaudi::HistogramBase* b = dynamic_cast<Gaudi::HistogramBase*>( h );
113  if ( b ) return b->print( s );
114  error() << "Unknown histogram type: Cannot cast to Gaudi::HistogramBase." << endmsg;
115  return s;
116 }
virtual std::ostream & print(std::ostream &s) const =0
Print histogram to output stream.
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
Common base class for all histograms Use is solely functional to minimize dynamic_casts inside Histog...
Definition: HistogramBase.h:22
string s
Definition: gaudirun.py:245
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
H1D* HistogramSvc::projectionX ( CSTR  name,
const H2D h 
)
inlineoverride

Definition at line 1027 of file HistogramSvc.h.

1028  {
1029  return sliceX( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN );
1030  }
H1D * sliceX(CSTR name, const H2D &h, int indexY) override
H2D* HistogramSvc::projectionXY ( CSTR  nameAndTitle,
const H3D h 
)
inlineoverride

Definition at line 1093 of file HistogramSvc.h.

1093 { return i_project( nameAndTitle, h, "xy" ); }
H2D * i_project(CSTR nameAndTitle, const H3D &h, CSTR dir)
Helper for 2D projections.
H2D* HistogramSvc::projectionXZ ( CSTR  nameAndTitle,
const H3D h 
)
inlineoverride

Definition at line 1094 of file HistogramSvc.h.

1094 { return i_project( nameAndTitle, h, "xz" ); }
H2D * i_project(CSTR nameAndTitle, const H3D &h, CSTR dir)
Helper for 2D projections.
H1D* HistogramSvc::projectionY ( CSTR  name,
const H2D h 
)
inlineoverride

Definition at line 1031 of file HistogramSvc.h.

1032  {
1033  return sliceY( name, h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN );
1034  }
H1D * sliceY(CSTR name, const H2D &h, int indexX) override
H2D* HistogramSvc::projectionYZ ( CSTR  nameAndTitle,
const H3D h 
)
inlineoverride

Definition at line 1095 of file HistogramSvc.h.

1095 { return i_project( nameAndTitle, h, "yz" ); }
H2D * i_project(CSTR nameAndTitle, const H3D &h, CSTR dir)
Helper for 2D projections.
StatusCode HistogramSvc::registerObject ( CSTR  parent,
CSTR  rel,
Base obj 
)
inlineoverride

Definition at line 704 of file HistogramSvc.h.

705  {
706  return registerObject( createPath( parent ), rel, obj );
707  }
DataObject * createPath(CSTR newPath) override
Create all directories in a given full path.
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:704
StatusCode HistogramSvc::registerObject ( CSTR  parent,
int  item,
Base obj 
)
inlineoverride

Definition at line 708 of file HistogramSvc.h.

709  {
710  return registerObject( parent, std::to_string( item ), obj );
711  }
T to_string(T...args)
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:704
StatusCode HistogramSvc::registerObject ( Base pPar,
CSTR  rel,
Base obj 
)
inlineoverride

Definition at line 712 of file HistogramSvc.h.

713  {
714  return registerObject( __cast( pPar ), rel, obj );
715  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:704
StatusCode HistogramSvc::registerObject ( DataObject pPar,
int  item,
Base obj 
)
inlineoverride

Definition at line 716 of file HistogramSvc.h.

717  {
718  return registerObject( pPar, std::to_string( item ), obj );
719  }
T to_string(T...args)
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:704
StatusCode HistogramSvc::registerObject ( Base pPar,
int  item,
Base obj 
)
inlineoverride

Definition at line 720 of file HistogramSvc.h.

721  {
722  return registerObject( __cast( pPar ), item, obj );
723  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:704
StatusCode HistogramSvc::registerObject ( CSTR  full,
Base obj 
)
override
StatusCode HistogramSvc::registerObject ( DataObject pPar,
CSTR  rel,
Base obj 
)
override
StatusCode HistogramSvc::reinitialize ( )
override

Initialise the service.

Definition at line 290 of file HistogramSvc.cpp.

StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
H1D *&  obj 
)
inlineoverride

Definition at line 741 of file HistogramSvc.h.

742  {
743  return Helper( this ).retrieve( pReg, path, obj );
744  }
StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
P1D *&  obj 
)
inlineoverride

Definition at line 745 of file HistogramSvc.h.

746  {
747  return Helper( this ).retrieve( pReg, path, obj );
748  }
StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
H2D *&  obj 
)
inlineoverride

Definition at line 749 of file HistogramSvc.h.

750  {
751  return Helper( this ).retrieve( pReg, path, obj );
752  }
StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
P2D *&  obj 
)
inlineoverride

Definition at line 753 of file HistogramSvc.h.

754  {
755  return Helper( this ).retrieve( pReg, path, obj );
756  }
StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
H3D *&  obj 
)
inlineoverride

Definition at line 757 of file HistogramSvc.h.

758  {
759  return Helper( this ).retrieve( pReg, path, obj );
760  }
StatusCode HistogramSvc::retrieveObject ( CSTR  full,
P1D *&  obj 
)
inlineoverride

Definition at line 762 of file HistogramSvc.h.

762 { return Helper( this ).retrieve( full, obj ); }
StatusCode HistogramSvc::retrieveObject ( CSTR  full,
P2D *&  obj 
)
inlineoverride

Definition at line 763 of file HistogramSvc.h.

763 { return Helper( this ).retrieve( full, obj ); }
StatusCode HistogramSvc::retrieveObject ( CSTR  full,
H1D *&  obj 
)
inlineoverride

Definition at line 764 of file HistogramSvc.h.

764 { return Helper( this ).retrieve( full, obj ); }
StatusCode HistogramSvc::retrieveObject ( CSTR  full,
H2D *&  obj 
)
inlineoverride

Definition at line 765 of file HistogramSvc.h.

765 { return Helper( this ).retrieve( full, obj ); }
StatusCode HistogramSvc::retrieveObject ( CSTR  full,
H3D *&  obj 
)
inlineoverride

Definition at line 766 of file HistogramSvc.h.

766 { return Helper( this ).retrieve( full, obj ); }
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
CSTR  rel,
P1D *&  obj 
)
inlineoverride

Definition at line 768 of file HistogramSvc.h.

769  {
770  return Helper( this ).retrieve( parent, rel, obj );
771  }
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
CSTR  rel,
P2D *&  obj 
)
inlineoverride

Definition at line 772 of file HistogramSvc.h.

773  {
774  return Helper( this ).retrieve( parent, rel, obj );
775  }
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
CSTR  rel,
H1D *&  obj 
)
inlineoverride

Definition at line 776 of file HistogramSvc.h.

777  {
778  return Helper( this ).retrieve( parent, rel, obj );
779  }
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
CSTR  rel,
H2D *&  obj 
)
inlineoverride

Definition at line 780 of file HistogramSvc.h.

781  {
782  return Helper( this ).retrieve( parent, rel, obj );
783  }
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
CSTR  rel,
H3D *&  obj 
)
inlineoverride

Definition at line 784 of file HistogramSvc.h.

785  {
786  return Helper( this ).retrieve( parent, rel, obj );
787  }
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
P1D *&  obj 
)
inlineoverride

Definition at line 789 of file HistogramSvc.h.

790  {
791  return Helper( this ).retrieve( parent, item, obj );
792  }
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 793 of file HistogramSvc.h.

794  {
795  return Helper( this ).retrieve( parent, item, obj );
796  }
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 797 of file HistogramSvc.h.

798  {
799  return Helper( this ).retrieve( parent, item, obj );
800  }
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 801 of file HistogramSvc.h.

802  {
803  return Helper( this ).retrieve( parent, item, obj );
804  }
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 805 of file HistogramSvc.h.

806  {
807  return Helper( this ).retrieve( parent, item, obj );
808  }
StatusCode HistogramSvc::retrieveObject ( DataObject par,
CSTR  item,
P1D *&  obj 
)
inlineoverride

Definition at line 810 of file HistogramSvc.h.

811  {
812  return Helper( this ).retrieve( par, item, obj );
813  }
StatusCode HistogramSvc::retrieveObject ( DataObject par,
CSTR  item,
P2D *&  obj 
)
inlineoverride

Definition at line 814 of file HistogramSvc.h.

815  {
816  return Helper( this ).retrieve( par, item, obj );
817  }
StatusCode HistogramSvc::retrieveObject ( DataObject par,
CSTR  item,
H1D *&  obj 
)
inlineoverride

Definition at line 818 of file HistogramSvc.h.

819  {
820  return Helper( this ).retrieve( par, item, obj );
821  }
StatusCode HistogramSvc::retrieveObject ( DataObject par,
CSTR  item,
H2D *&  obj 
)
inlineoverride

Definition at line 822 of file HistogramSvc.h.

823  {
824  return Helper( this ).retrieve( par, item, obj );
825  }
StatusCode HistogramSvc::retrieveObject ( DataObject par,
CSTR  item,
H3D *&  obj 
)
inlineoverride

Definition at line 826 of file HistogramSvc.h.

827  {
828  return Helper( this ).retrieve( par, item, obj );
829  }
StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
P1D *&  obj 
)
inlineoverride

Definition at line 831 of file HistogramSvc.h.

832  {
833  return Helper( this ).retrieve( par, item, obj );
834  }
StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 835 of file HistogramSvc.h.

836  {
837  return Helper( this ).retrieve( par, item, obj );
838  }
StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 839 of file HistogramSvc.h.

840  {
841  return Helper( this ).retrieve( par, item, obj );
842  }
StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 843 of file HistogramSvc.h.

844  {
845  return Helper( this ).retrieve( par, item, obj );
846  }
StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 847 of file HistogramSvc.h.

848  {
849  return Helper( this ).retrieve( par, item, obj );
850  }
StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
P1D *&  obj 
)
inlineoverride

Definition at line 852 of file HistogramSvc.h.

853  {
854  return Helper( this ).retrieve( __cast( par ), item, obj );
855  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 856 of file HistogramSvc.h.

857  {
858  return Helper( this ).retrieve( __cast( par ), item, obj );
859  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 860 of file HistogramSvc.h.

861  {
862  return Helper( this ).retrieve( __cast( par ), item, obj );
863  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 864 of file HistogramSvc.h.

865  {
866  return Helper( this ).retrieve( __cast( par ), item, obj );
867  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 868 of file HistogramSvc.h.

869  {
870  return Helper( this ).retrieve( __cast( par ), item, obj );
871  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
P1D *&  obj 
)
inlineoverride

Definition at line 873 of file HistogramSvc.h.

874  {
875  return Helper( this ).retrieve( __cast( par ), item, obj );
876  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
P2D *&  obj 
)
inlineoverride

Definition at line 877 of file HistogramSvc.h.

878  {
879  return Helper( this ).retrieve( __cast( par ), item, obj );
880  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
H1D *&  obj 
)
inlineoverride

Definition at line 881 of file HistogramSvc.h.

882  {
883  return Helper( this ).retrieve( __cast( par ), item, obj );
884  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
H2D *&  obj 
)
inlineoverride

Definition at line 885 of file HistogramSvc.h.

886  {
887  return Helper( this ).retrieve( __cast( par ), item, obj );
888  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
H3D *&  obj 
)
inlineoverride

Definition at line 889 of file HistogramSvc.h.

890  {
891  return Helper( this ).retrieve( __cast( par ), item, obj );
892  }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
H1D* HistogramSvc::sliceX ( CSTR  name,
const H2D h,
int  indexY 
)
inlineoverride

Definition at line 1035 of file HistogramSvc.h.

1035 { return sliceX( name, h, indexY, indexY ); }
H1D * sliceX(CSTR name, const H2D &h, int indexY) override
H1D* HistogramSvc::sliceX ( CSTR  name,
const H2D h,
int  indexY1,
int  indexY2 
)
override
H2D* HistogramSvc::sliceXY ( CSTR  ,
const H3D ,
int  ,
int   
)
override
H2D* HistogramSvc::sliceXZ ( CSTR  ,
const H3D ,
int  ,
int   
)
override
H1D* HistogramSvc::sliceY ( CSTR  name,
const H2D h,
int  indexX 
)
inlineoverride

Definition at line 1036 of file HistogramSvc.h.

1036 { return sliceY( name, h, indexX, indexX ); }
H1D * sliceY(CSTR name, const H2D &h, int indexX) override
H1D* HistogramSvc::sliceY ( CSTR  name,
const H2D h,
int  indexX1,
int  indexX2 
)
override
H2D* HistogramSvc::sliceYZ ( CSTR  ,
const H3D ,
int  ,
int   
)
override
H1D* HistogramSvc::subtract ( CSTR  nameAndTitle,
const H1D a,
const H1D b 
)
inlineoverride

Definition at line 1046 of file HistogramSvc.h.

1047  {
1048  return Helper::act( createCopy( nameAndTitle, a ), b, &TH1::Add, -1. );
1049  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
H2D* HistogramSvc::subtract ( CSTR  nameAndTitle,
const H2D a,
const H2D b 
)
inlineoverride

Definition at line 1063 of file HistogramSvc.h.

1064  {
1065  return Helper::act( createCopy( nameAndTitle, a ), b, &TH2D::Add, -1. );
1066  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
H3D* HistogramSvc::subtract ( CSTR  nameAndTitle,
const H3D a,
const H3D b 
)
inlineoverride

Definition at line 1080 of file HistogramSvc.h.

1081  {
1082  return Helper::act( createCopy( nameAndTitle, a ), b, &TH3D::Add, -1. );
1083  }
H1D * createCopy(CSTR full, const H1D &h) override
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:104
StatusCode HistogramSvc::unregisterObject ( Base obj)
inlineoverride

Definition at line 729 of file HistogramSvc.h.

729 { return DataSvc::unregisterObject( __cast( obj ) ); }
StatusCode unregisterObject(const std::string &fullPath) override
Unregister object from the data store.
Definition: DataSvc.cpp:471
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::unregisterObject ( Base obj,
CSTR  objectPath 
)
inlineoverride

Definition at line 730 of file HistogramSvc.h.

731  {
732  return DataSvc::unregisterObject( __cast( obj ), objectPath );
733  }
StatusCode unregisterObject(const std::string &fullPath) override
Unregister object from the data store.
Definition: DataSvc.cpp:471
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
StatusCode HistogramSvc::unregisterObject ( Base obj,
int  item 
)
inlineoverride

Definition at line 734 of file HistogramSvc.h.

735  {
736  return DataSvc::unregisterObject( __cast( obj ), item );
737  }
StatusCode unregisterObject(const std::string &fullPath) override
Unregister object from the data store.
Definition: DataSvc.cpp:471
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:180
void HistogramSvc::update1Ddefs ( Gaudi::Details::PropertyBase )

handler to be invoked for updating property m_defs1D

Definition at line 384 of file HistogramSvc.cpp.

385 {
386  // check and remove the leading '/stat/'
387  removeLeading( m_defs1D.value(), "/stat/" );
388 }
Gaudi::Property< Histo1DMap > m_defs1D
std::ostream& HistogramSvc::write ( Base h,
std::ostream s = std::cout 
) const
override

Write (ASCII) the 1D histogram table into the output stream.

int HistogramSvc::write ( Base h,
const char *  file_name 
) const
override

Write (ASCII) the 1D histogram table into a file.

Member Data Documentation

Gaudi::Property<Histo1DMap> HistogramSvc::m_defs1D {this, "Predefined1DHistos", {}, "histograms with predefined parameters"}
private

Definition at line 1291 of file HistogramSvc.h.

Gaudi::Property<DBaseEntries> HistogramSvc::m_input {this, "Input", {}, "input streams"}
private

Definition at line 1290 of file HistogramSvc.h.

std::set<std::string> HistogramSvc::m_mods1D
private

Definition at line 1295 of file HistogramSvc.h.


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