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 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 (Property &)
 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 (const std::string &name, ISvcLocator *svc)
 Standard Constructor. 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...
 
StatusCode setProperty (const Property &p) override
 
StatusCode setProperty (const std::string &s) override
 
StatusCode setProperty (const std::string &n, const std::string &v) override
 
StatusCode getProperty (Property *p) const override
 
const PropertygetProperty (const std::string &name) const override
 
StatusCode getProperty (const std::string &n, std::string &v) const override
 
const std::vector< Property * > & getProperties () const override
 
bool hasProperty (const std::string &name) const override
 
template<class TYPE >
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value 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 >
PropertydeclareProperty (const std::string &name, T &property, const std::string &doc="none") const
 Declare the named property. More...
 
PropertydeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const
 Declare remote named properties. 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 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
 

Protected Attributes

DBaseEntries m_input
 Input streams. More...
 
- Protected Attributes inherited from DataSvc
CLID m_rootCLID = 110
 Integer Property corresponding to CLID of root entry. More...
 
std::string m_rootName = "/Event"
 Name of root event. More...
 
SmartIF< IConversionSvcm_dataLoader = nullptr
 Pointer to data loader service. More...
 
SmartIF< IIncidentSvcm_incidentSvc = nullptr
 Pointer to incident service. More...
 
LoadItems m_preLoads
 Items to be pre-loaded. More...
 
bool m_forceLeaves = false
 Allow forced creation of default leaves on registerObject. More...
 
bool m_enableAccessHdlr = false
 Flag to enable interrupts on data access requests. More...
 
bool m_enableFaultHdlr = false
 Flag to enable interrupts on data creation requests. 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...
 
std::vector< std::stringm_inhibitPathes
 Property for the inhibited leaves. More...
 
std::string m_accessName = "DataAccess"
 Name of the data access incident. More...
 
std::string m_faultName = "DataFault"
 Name of the data fault incident. More...
 
- Protected Attributes inherited from Service
IntegerProperty m_outputLevel = MSG::NIL
 Service output level. More...
 
Gaudi::StateMachine::State m_state = Gaudi::StateMachine::OFFLINE
 Service state. More...
 
Gaudi::StateMachine::State m_targetState = Gaudi::StateMachine::OFFLINE
 Service state. More...
 

Private Types

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

Private Member Functions

void not_implemented () const
 

Private Attributes

Histo1DMap m_defs1D
 
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 CommonMessaging< implements< IService, IProperty, IStateful > >
void updateMsgStreamOutputLevel (int level)
 Update the output level of the cached MsgStream. More...
 

Detailed Description

HistogramSvc class definition.

Definition at line 47 of file HistogramSvc.h.

Member Typedef Documentation

typedef AIDA::IBaseHistogram HistogramSvc::Base
protected

Definition at line 66 of file HistogramSvc.h.

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

Definition at line 58 of file HistogramSvc.h.

Definition at line 60 of file HistogramSvc.h.

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

Definition at line 59 of file HistogramSvc.h.

typedef AIDA::IHistogram1D HistogramSvc::H1D
protected

Definition at line 61 of file HistogramSvc.h.

typedef AIDA::IHistogram2D HistogramSvc::H2D
protected

Definition at line 62 of file HistogramSvc.h.

typedef AIDA::IHistogram3D HistogramSvc::H3D
protected

Definition at line 63 of file HistogramSvc.h.

typedef AIDA::IProfile1D HistogramSvc::P1D
protected

Definition at line 64 of file HistogramSvc.h.

typedef AIDA::IProfile2D HistogramSvc::P2D
protected

Definition at line 65 of file HistogramSvc.h.

Definition at line 53 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 368 of file HistogramSvc.cpp.

369  : base_class(nam, svc)
370 {
371  // Properties can be declared here
372  m_rootName = "/stat";
373  m_rootCLID = CLID_DataObject;
374  declareProperty ( "Input", m_input);
375  declareProperty ( "Predefined1DHistos" , m_defs1D ,
376  "Histograms with predefined parameters" ) ;
377  // update handler
378  Property* p = Gaudi::Utils::getProperty ( this , "Predefined1DHistos" ) ;
380 
381 }
virtual Property & declareUpdateHandler(std::function< void(Property &)> fun)
set new callback for update
Definition: Property.cpp:72
std::string m_rootName
Name of root event.
Definition: DataSvc.h:55
extends base_class
Typedef to this class.
Definition: extends.h:14
GAUDI_API Property * getProperty(const IProperty *p, const std::string &name)
simple function which gets the property with given name from the component
Definition: Property.cpp:278
DBaseEntries m_input
Input streams.
Definition: HistogramSvc.h:138
Histo1DMap m_defs1D
Definition: HistogramSvc.h:966
void update1Ddefs(Property &)
handler to be invoked for updating property m_defs1D
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:38
CLID m_rootCLID
Integer Property corresponding to CLID of root entry.
Definition: DataSvc.h:53
Property * declareProperty(const std::string &name, T &property, const std::string &doc="none") const
Declare the named property.
Definition: Service.h:215
HistogramSvc::~HistogramSvc ( )
override

Destructor.

Definition at line 195 of file HistogramSvc.cpp.

195  {
196  setDataLoader( nullptr ).ignore();
197  clearStore().ignore();
198 }
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:108
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 170 of file HistogramSvc.h.

170  {
171  DataObject* q = dynamic_cast<DataObject*>(p);
172  if ( !q && p ) {
173  throw std::runtime_error("HistogramSvc: Unexpected object type.");
174  }
175  return q;
176  }
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 780 of file HistogramSvc.h.

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

Definition at line 789 of file HistogramSvc.h.

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

Definition at line 798 of file HistogramSvc.h.

799  { return Helper::act(createCopy(nameAndTitle,a),b,&TH3D::Add, 1.); }
H1D * createCopy(CSTR full, const H1D &h) override
Definition: HistogramSvc.h:826
static R * act(R *res, const S &b, void(T1::*pmf)(const T2 *, Double_t), Double_t scale)
Definition: HistogramSvc.h:95
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 211 of file HistogramSvc.h.

212  { return book(createPath(par), rel, 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:211
#define BINS(x)
Definition: HistogramSvc.h:39
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 213 of file HistogramSvc.h.

214  { return book(par, std::to_string(hID), 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:211
T to_string(T...args)
#define BINS(x)
Definition: HistogramSvc.h:39
H1D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)   
)
inlineoverride

Definition at line 215 of file HistogramSvc.h.

216  { return book(pPar, std::to_string(hID), 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:211
T to_string(T...args)
#define BINS(x)
Definition: HistogramSvc.h:39
AIDA::IHistogram1D * HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)   
)
override

Definition at line 343 of file HistogramSvc.cpp.

344 {
345  if ( m_defs1D.empty () )
346  { return i_book(pPar,rel,title,Gaudi::createH1D(title, BINS(x))); }
347  std::string hn = histoAddr ( pPar , rel ) ;
348  auto ifound = m_defs1D.find( hn ) ;
349  if ( m_defs1D.end() == ifound )
350  { return i_book(pPar,rel,title,Gaudi::createH1D(title, BINS(x))); }
351  if (msgLevel(MSG::DEBUG)) {
352  debug()
353  << " Redefine the parameters for the histogram '" + hn + "' to be "
354  << ifound->second
355  << endmsg;
356  }
357  m_mods1D.insert ( hn ) ;
358  return i_book ( pPar , rel , ifound -> second.title () ,
360  ( ifound -> second.title () ,
361  ifound -> second.bins () ,
362  ifound -> second.lowEdge () ,
363  ifound -> second.lowEdge () ) ) ;
364 }
T empty(T...args)
std::set< std::string > m_mods1D
Definition: HistogramSvc.h:969
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:163
T end(T...args)
Histo1DMap m_defs1D
Definition: HistogramSvc.h:966
constexpr double second
STL class.
#define BINS(x)
Definition: HistogramSvc.h:39
T insert(T...args)
T find(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 218 of file HistogramSvc.h.

219  { 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:211
#define BINS(x)
Definition: HistogramSvc.h:39
H1D* HistogramSvc::book ( CSTR  full,
CSTR  title,
DBINS(x)   
)
inlineoverride

Definition at line 220 of file HistogramSvc.h.

221  { 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:211
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:39
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 284 of file HistogramSvc.h.

285  { 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:211
T to_string(T...args)
H1D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 286 of file HistogramSvc.h.

287  { return book(pPar, 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:211
T to_string(T...args)
H1D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 288 of file HistogramSvc.h.

289  { 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:211
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 290 of file HistogramSvc.h.

291  { 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:211
H1D* HistogramSvc::book ( CSTR  full,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 292 of file HistogramSvc.h.

293  { 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:211
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 294 of file HistogramSvc.h.

295  { return i_book(pPar, rel, title, Gaudi::createH1D(title, e)); }
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:163
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 359 of file HistogramSvc.h.

360  { return book(i_splitPath(full), title, BINS(x),BINS(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:211
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:39
H2D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 361 of file HistogramSvc.h.

362  { return book(createPath(par), rel, title, BINS(x),BINS(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:211
#define BINS(x)
Definition: HistogramSvc.h:39
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 363 of file HistogramSvc.h.

364  { return book(par,std::to_string(hID), title, BINS(x),BINS(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:211
T to_string(T...args)
#define BINS(x)
Definition: HistogramSvc.h:39
virtual H2D* HistogramSvc::book ( STRPAIR  loc,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlinevirtual

Definition at line 365 of file HistogramSvc.h.

366  { return book(loc.first, loc.second, title, BINS(x), BINS(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:211
#define BINS(x)
Definition: HistogramSvc.h:39
H2D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 367 of file HistogramSvc.h.

368  { return book(pPar,std::to_string(hID), title, BINS(x),BINS(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:211
T to_string(T...args)
#define BINS(x)
Definition: HistogramSvc.h:39
H2D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 369 of file HistogramSvc.h.

370  { return i_book(pPar,rel,title,Gaudi::createH2D(title, BINS(x),BINS(y)));}
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
#define BINS(x)
Definition: HistogramSvc.h:39
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 433 of file HistogramSvc.h.

434  { 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:211
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 435 of file HistogramSvc.h.

436  { return book(createPath(par), rel, 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:211
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 437 of file HistogramSvc.h.

438  { return book(par, std::to_string(hID), 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:211
T to_string(T...args)
virtual H2D* HistogramSvc::book ( STRPAIR  loc,
CSTR  title,
Edges  x,
Edges  y 
)
inlinevirtual

Definition at line 439 of file HistogramSvc.h.

440  { 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:211
H2D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 441 of file HistogramSvc.h.

442  { return book(pPar, std::to_string(hID), 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:211
T to_string(T...args)
H2D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 443 of file HistogramSvc.h.

444  { return i_book(pPar, rel, title, Gaudi::createH2D(title, x,y)); }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
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 507 of file HistogramSvc.h.

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

Definition at line 509 of file HistogramSvc.h.

510  { return book(createPath(par),rel,title,BINS(x),BINS(y),BINS(z)); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#define BINS(x)
Definition: HistogramSvc.h:39
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 511 of file HistogramSvc.h.

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

Definition at line 513 of file HistogramSvc.h.

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

Definition at line 515 of file HistogramSvc.h.

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

Definition at line 517 of file HistogramSvc.h.

518  { return i_book(pPar, rel, title, Gaudi::createH3D(title,BINS(x),BINS(y),BINS(z)));}
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
#define BINS(x)
Definition: HistogramSvc.h:39
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 538 of file HistogramSvc.h.

539  { return book(i_splitPath(full), title, x, y, z); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
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 540 of file HistogramSvc.h.

541  { return book(createPath(par), rel, title, x, y, z); }
H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x)) override
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
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 542 of file HistogramSvc.h.

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

Definition at line 544 of file HistogramSvc.h.

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

Definition at line 546 of file HistogramSvc.h.

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

Definition at line 548 of file HistogramSvc.h.

549  { return i_book(pPar, rel, title, Gaudi::createH3D(title,x,y,z)); }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
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 242 of file HistogramSvc.h.

243  { return bookProf(createPath(par), rel, title, BINS(x),opt); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
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 244 of file HistogramSvc.h.

245  { return bookProf(par, std::to_string(hID), title, BINS(x),opt); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlineoverride

Definition at line 246 of file HistogramSvc.h.

247  { return bookProf(pPar, std::to_string(hID), title, BINS(x),opt); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
virtual P1D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlinevirtual

Definition at line 248 of file HistogramSvc.h.

249  { return bookProf(loc.first, loc.second, title, BINS(x),opt); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P1D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlineoverride

Definition at line 250 of file HistogramSvc.h.

251  { return bookProf(i_splitPath(full), title, BINS(x),opt); }
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:242
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:39
P1D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlineoverride

Definition at line 252 of file HistogramSvc.h.

253  { return i_book(pPar,rel,title,Gaudi::createProf1D(title, BINS(x),0,0,opt)); }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
#define BINS(x)
Definition: HistogramSvc.h:39
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 255 of file HistogramSvc.h.

256  { return bookProf(createPath(par), rel, title, BINS(x), upper, lower , opt); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
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 257 of file HistogramSvc.h.

258  { return bookProf(par, std::to_string(hID), title, BINS(x), upper, lower, opt ); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlineoverride

Definition at line 259 of file HistogramSvc.h.

260  { return bookProf(pPar, std::to_string(hID), title, BINS(x), upper, lower, opt); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
virtual P1D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlinevirtual

Definition at line 261 of file HistogramSvc.h.

262  { return bookProf(loc.first, loc.second, title, BINS(x), upper, lower,opt); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P1D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlineoverride

Definition at line 263 of file HistogramSvc.h.

264  { return bookProf(i_splitPath(full), title, BINS(x), upper, lower , opt ); }
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:242
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:39
P1D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlineoverride

Definition at line 265 of file HistogramSvc.h.

266  { return i_book(pPar,rel,title,Gaudi::createProf1D(title, BINS(x), upper, lower, opt)); }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
#define BINS(x)
Definition: HistogramSvc.h:39
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 314 of file HistogramSvc.h.

315  { 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:242
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 316 of file HistogramSvc.h.

317  { return bookProf(createPath(par), rel, 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:242
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 318 of file HistogramSvc.h.

319  { return bookProf(par, std::to_string(hID), title, e); }
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:242
P1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 320 of file HistogramSvc.h.

321  { return bookProf(pPar, std::to_string(hID), title, e); }
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:242
virtual P1D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
Edges  e 
)
inlinevirtual

Definition at line 322 of file HistogramSvc.h.

323  { 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:242
P1D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  e 
)
inlineoverride

Definition at line 324 of file HistogramSvc.h.

325  { return i_book(pPar,rel,title,Gaudi::createProf1D(title, e, 0, 0)); }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
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 327 of file HistogramSvc.h.

328  { return bookProf(i_splitPath(full), title, e, upper, lower); }
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:242
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 329 of file HistogramSvc.h.

330  { return bookProf(createPath(par), rel, title, e, upper, lower); }
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:242
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 331 of file HistogramSvc.h.

332  { return bookProf(par, std::to_string(hID), title, e, upper, lower); }
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:242
virtual P1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
Edges  e,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 333 of file HistogramSvc.h.

334  { return bookProf(pPar, std::to_string(hID), title, e, upper, lower); }
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:242
virtual P1D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
Edges  e,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 335 of file HistogramSvc.h.

336  { return bookProf(loc.first, loc.second, title, e, upper, lower); }
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:242
virtual P1D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  e,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 337 of file HistogramSvc.h.

338  { return i_book(pPar,rel,title,Gaudi::createProf1D(title, e, upper, lower));}
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
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 391 of file HistogramSvc.h.

392  { return bookProf(i_splitPath(full), title, BINS(x),BINS(y), upper, lower); }
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:242
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:39
virtual P2D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 393 of file HistogramSvc.h.

394  { return bookProf(createPath(par), rel, title, BINS(x),BINS(y), upper, lower); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
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 395 of file HistogramSvc.h.

396  { return bookProf(loc.first, loc.second, title, BINS(x), BINS(y), upper, lower); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
virtual P2D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 397 of file HistogramSvc.h.

398  { return bookProf(par, std::to_string(hID), title, BINS(x),BINS(y), upper, lower); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
virtual P2D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 399 of file HistogramSvc.h.

400  { return bookProf(pPar,std::to_string(hID), title, BINS(x),BINS(y), upper, lower); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
virtual P2D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 401 of file HistogramSvc.h.

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

Definition at line 404 of file HistogramSvc.h.

405  { return bookProf(i_splitPath(full), title, BINS(x),BINS(y)); }
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:242
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
#define BINS(x)
Definition: HistogramSvc.h:39
P2D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 406 of file HistogramSvc.h.

407  { return bookProf(createPath(par), rel, title, BINS(x),BINS(y)); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
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 408 of file HistogramSvc.h.

409  { return bookProf(loc.first, loc.second, title, BINS(x), BINS(y)); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P2D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 410 of file HistogramSvc.h.

411  { return bookProf(par, std::to_string(hID), title, BINS(x),BINS(y)); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P2D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 412 of file HistogramSvc.h.

413  { return bookProf(pPar,std::to_string(hID), title, BINS(x),BINS(y)); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P2D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 414 of file HistogramSvc.h.

415  { return i_book(pPar,rel,title,Gaudi::createProf2D(title, BINS(x),BINS(y),0,0));}
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
#define BINS(x)
Definition: HistogramSvc.h:39
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 462 of file HistogramSvc.h.

463  { return bookProf(i_splitPath(full), title, x, y); }
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:242
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 464 of file HistogramSvc.h.

465  { return bookProf(createPath(par), rel, title, x, y); }
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:242
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 466 of file HistogramSvc.h.

467  { return bookProf(par, std::to_string(hID), title, x, y); }
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:242
P2D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 468 of file HistogramSvc.h.

469  { return bookProf(pPar, std::to_string(hID), title, x, y); }
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:242
virtual P2D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
Edges  x,
Edges  y 
)
inlinevirtual

Definition at line 470 of file HistogramSvc.h.

471  { return bookProf(loc.first, loc.second, title, x, y); }
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:242
P2D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y 
)
inlineoverride

Definition at line 472 of file HistogramSvc.h.

473  { return i_book(pPar, rel, title, Gaudi::createProf2D(title,x,y,0,0)); }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
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 475 of file HistogramSvc.h.

476  { return bookProf(i_splitPath(full), title, x, y, upper, lower); }
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:242
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 477 of file HistogramSvc.h.

478  { return bookProf(createPath(par), rel, title, x, y, upper, lower); }
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:242
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 479 of file HistogramSvc.h.

480  { return bookProf(par, std::to_string(hID), title, x, y, upper, lower); }
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:242
virtual P2D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 481 of file HistogramSvc.h.

482  { return bookProf(pPar, std::to_string(hID), title, x, y, upper, lower); }
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:242
virtual P2D* HistogramSvc::bookProf ( STRPAIR  loc,
CSTR  title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 483 of file HistogramSvc.h.

484  { return bookProf(loc.first, loc.second, title, x, y, upper, lower); }
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:242
virtual P2D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y,
double  upper,
double  lower 
)
inlinevirtual

Definition at line 485 of file HistogramSvc.h.

486  { return i_book(pPar, rel, title, Gaudi::createProf2D(title,x,y, upper, lower)); }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
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 200 of file HistogramSvc.cpp.

200  {
201  using Parser = Gaudi::Utils::AttribStringParser;
202  DataObject* pO = nullptr;
203  StatusCode status = this->findObject(m_rootName, pO);
204  if (status.isSuccess()) {
205  std::string::size_type loc = ident.find(" ");
206  std::string filename, auth, svc = "", typ = "";
207  std::string logname = ident.substr(0, loc);
208  for (auto attrib: Parser(ident.substr(loc+1))) {
209  switch(::toupper(attrib.tag[0])) {
210  case 'F': // FILE='<file name>'
211  case 'D': // DATAFILE='<file name>'
212  filename = std::move(attrib.value);
213  break;
214  case 'T': // TYP='<HBOOK,ROOT,OBJY,...>'
215  typ = std::move(attrib.value);
216  break;
217  default:
218  break;
219  }
220  }
221  if (typ.length() > 0) {
222  // Now add the registry entry to the store
223  std::string entryname = m_rootName;
224  entryname += '/';
225  entryname += logname;
226  GenericAddress* pA = nullptr;
227  switch(::toupper(typ[0])) {
228  case 'H':
229  pA=new GenericAddress(HBOOK_StorageType,CLID_StatisticsFile,
230  filename,entryname,0,'O');
231  break;
232  case 'R':
233  pA=new GenericAddress(ROOT_StorageType,CLID_StatisticsFile,
234  filename,entryname,0,'O');
235  break;
236  }
237  if (pA) {
238  status = registerAddress(pO, logname, pA);
239  if (status.isSuccess()) {
240  info() << "Added stream file:" << filename
241  << " as " << logname << endmsg;
242  return status;
243  }
244  pA->release();
245  }
246  }
247  }
248  error() << "Cannot add " << ident << " invalid filename!" << endmsg;
249  return StatusCode::FAILURE;
250 }
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:76
unsigned long release() override
release reference to object
StatusCode findObject(IRegistry *pReg, CSTR path, P1D *&obj) override
Definition: HistogramSvc.h:676
std::string m_rootName
Name of root event.
Definition: DataSvc.h:55
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 826 of file HistogramSvc.h.

827  { 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
Definition: HistogramSvc.h:826
H1D* HistogramSvc::createCopy ( CSTR  par,
CSTR  rel,
const H1D h 
)
inline

Definition at line 828 of file HistogramSvc.h.

829  { 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
Definition: HistogramSvc.h:826
H1D* HistogramSvc::createCopy ( STRPAIR  loc,
const H1D h 
)
inline

Definition at line 830 of file HistogramSvc.h.

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

Definition at line 832 of file HistogramSvc.h.

833  { return i_book(pPar, rel, h.title(), Gaudi::createH1D(h)); }
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:163
H2D* HistogramSvc::createCopy ( CSTR  full,
const H2D h 
)
inlineoverride

Definition at line 843 of file HistogramSvc.h.

844  { 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
Definition: HistogramSvc.h:826
H2D* HistogramSvc::createCopy ( CSTR  par,
CSTR  rel,
const H2D h 
)
inline

Definition at line 845 of file HistogramSvc.h.

846  { 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
Definition: HistogramSvc.h:826
H2D* HistogramSvc::createCopy ( STRPAIR  loc,
const H2D h 
)
inline

Definition at line 847 of file HistogramSvc.h.

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

Definition at line 849 of file HistogramSvc.h.

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

Definition at line 860 of file HistogramSvc.h.

861  { 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
Definition: HistogramSvc.h:826
H3D* HistogramSvc::createCopy ( CSTR  par,
CSTR  rel,
const H3D h 
)
inline

Definition at line 862 of file HistogramSvc.h.

863  { 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
Definition: HistogramSvc.h:826
H3D* HistogramSvc::createCopy ( STRPAIR  loc,
const H3D h 
)
inline

Definition at line 864 of file HistogramSvc.h.

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

Definition at line 866 of file HistogramSvc.h.

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

Definition at line 886 of file HistogramSvc.h.

887  { 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
Definition: HistogramSvc.h:826
P1D* HistogramSvc::createCopy ( CSTR  par,
CSTR  rel,
const P1D h 
)
inline

Definition at line 888 of file HistogramSvc.h.

889  { 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
Definition: HistogramSvc.h:826
P1D* HistogramSvc::createCopy ( STRPAIR  loc,
const P1D h 
)
inline

Definition at line 890 of file HistogramSvc.h.

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

Definition at line 892 of file HistogramSvc.h.

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

Definition at line 913 of file HistogramSvc.h.

914  { 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
Definition: HistogramSvc.h:826
P2D* HistogramSvc::createCopy ( CSTR  par,
CSTR  rel,
const P2D h 
)
inline

Definition at line 915 of file HistogramSvc.h.

916  { 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
Definition: HistogramSvc.h:826
P2D* HistogramSvc::createCopy ( STRPAIR  loc,
const P2D h 
)
inline

Definition at line 917 of file HistogramSvc.h.

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

Definition at line 919 of file HistogramSvc.h.

920  { return i_book(pPar, rel, h.title(), Gaudi::createProf2D(h)); }
T * i_book(DataObject *pPar, CSTR rel, CSTR title, const std::pair< DataObject *, T * > &o)
Definition: HistogramSvc.h:163
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 173 of file HistogramSvc.cpp.

173  {
174  std::unique_ptr<DataObject> directory{ new DataObject() };
175  if (directory) {
176  DataObject* pnode;
177  StatusCode status = DataSvc::retrieveObject(parentDir, pnode);
178  if(status.isSuccess()) {
179  status = DataSvc::registerObject(pnode, subDir, directory.get());
180  if (!status.isSuccess()) {
181  error() << "Unable to create the histogram directory: "
182  << parentDir << "/" << subDir << endmsg;
183  return nullptr;
184  }
185  }
186  else {
187  error() << "Unable to create the histogram directory: "
188  << parentDir << "/" << subDir << endmsg;
189  return nullptr;
190  }
191  }
192  return directory.release();
193 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
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 818 of file HistogramSvc.h.

819  { return book( name, tit, 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:211
#define BINS(x)
Definition: HistogramSvc.h:39
H1D* HistogramSvc::createHistogram1D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
CSTR   
)
inlineoverride

Definition at line 820 of file HistogramSvc.h.

821  { return book( name, tit, 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:211
#define BINS(x)
Definition: HistogramSvc.h:39
H1D* HistogramSvc::createHistogram1D ( CSTR  name,
CSTR  title,
const Edges x,
CSTR   
)
inlineoverride

Definition at line 822 of file HistogramSvc.h.

823  { return book(name, title, 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:211
H1D* HistogramSvc::createHistogram1D ( CSTR  nameAndTitle,
DBINS(x)   
)
inlineoverride

Definition at line 824 of file HistogramSvc.h.

825  { return book(nameAndTitle, nameAndTitle, 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:211
#define BINS(x)
Definition: HistogramSvc.h:39
H2D* HistogramSvc::createHistogram2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)   
)
inline

Definition at line 835 of file HistogramSvc.h.

836  { return book( name, tit, BINS(x), BINS(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:211
#define BINS(x)
Definition: HistogramSvc.h:39
H2D* HistogramSvc::createHistogram2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
CSTR   
)
inlineoverride

Definition at line 837 of file HistogramSvc.h.

838  { return book( name, tit, BINS(x), BINS(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:211
#define BINS(x)
Definition: HistogramSvc.h:39
H2D* HistogramSvc::createHistogram2D ( CSTR  name,
CSTR  title,
const Edges x,
const Edges y,
CSTR   
)
inlineoverride

Definition at line 839 of file HistogramSvc.h.

840  { return book(name, 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:211
H2D* HistogramSvc::createHistogram2D ( CSTR  nameAndTitle,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 841 of file HistogramSvc.h.

842  { return book(nameAndTitle, nameAndTitle, BINS(x), BINS(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:211
#define BINS(x)
Definition: HistogramSvc.h:39
H3D* HistogramSvc::createHistogram3D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inline

Definition at line 852 of file HistogramSvc.h.

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

Definition at line 854 of file HistogramSvc.h.

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

Definition at line 856 of file HistogramSvc.h.

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

Definition at line 858 of file HistogramSvc.h.

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

Create all directories in a given full path.

Definition at line 144 of file HistogramSvc.cpp.

144  {
145  std::string tmpPath = newPath;
146  if (tmpPath[0] != SEPARATOR) {
147  tmpPath.insert(tmpPath.begin(), SEPARATOR);
148  tmpPath.insert(tmpPath.begin(), m_rootName.begin(), m_rootName.end());
149  }
150  // Remove trailing "/" from newPath if it exists
151  if (tmpPath.rfind(SEPARATOR) == tmpPath.length()-1) {
152  tmpPath.erase(tmpPath.rfind(SEPARATOR),1);
153  }
154  DataObject* pObject = nullptr;
155  StatusCode sc = DataSvc::findObject(tmpPath, pObject);
156  if(sc.isSuccess()) {
157  return pObject;
158  }
159  int sep = tmpPath.rfind(SEPARATOR);
160  std::string rest(tmpPath, sep+1, tmpPath.length()-sep);
161  std::string subPath(tmpPath, 0, sep);
162  if(0 != sep) {
163  createPath(subPath);
164  }
165  else {
166  error() << "Unable to create the histogram path" << endmsg;
167  return nullptr;
168  }
169  pObject = createDirectory(subPath, rest);
170  return pObject;
171 }
constexpr char SEPARATOR
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
std::string m_rootName
Name of root event.
Definition: DataSvc.h:55
T rfind(T...args)
T end(T...args)
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 871 of file HistogramSvc.h.

872  { return bookProf( name, tit, BINS(x) , opt ); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P1D* HistogramSvc::createProfile1D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlineoverride

Definition at line 873 of file HistogramSvc.h.

874  { return bookProf( name, tit, BINS(x), upper, lower , opt ); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P1D* HistogramSvc::createProfile1D ( CSTR  name,
CSTR  title,
const Edges x,
CSTR   
)
inlineoverride

Definition at line 875 of file HistogramSvc.h.

876  { return bookProf(name, title, x ); }
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:242
P1D* HistogramSvc::createProfile1D ( CSTR  name,
CSTR  title,
const Edges x,
double  upper,
double  lower,
CSTR   
)
inlineoverride

Definition at line 877 of file HistogramSvc.h.

878  { return bookProf(name, title, x, upper, lower ); }
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:242
P1D* HistogramSvc::createProfile1D ( CSTR  nametit,
DBINS(x)   
)
inlineoverride

Definition at line 880 of file HistogramSvc.h.

881  { 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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P1D* HistogramSvc::createProfile1D ( CSTR  nametit,
DBINS(x)  ,
double  upper,
double  lower 
)
inlineoverride

Definition at line 882 of file HistogramSvc.h.

883  { return bookProf( nametit, nametit, BINS(x), upper, lower , "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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)   
)
inline

Definition at line 895 of file HistogramSvc.h.

896  { return bookProf( name, tit, BINS(x), BINS(y)); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
CSTR   
)
inlineoverride

Definition at line 897 of file HistogramSvc.h.

898  { return bookProf( name, tit, BINS(x), BINS(y)); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  title,
const Edges x,
const Edges y,
CSTR   
)
inlineoverride

Definition at line 899 of file HistogramSvc.h.

900  { return bookProf(name, title, x, y); }
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:242
P2D* HistogramSvc::createProfile2D ( CSTR  nameAndTitle,
DBINS(x)  ,
DBINS(y)   
)
inlineoverride

Definition at line 901 of file HistogramSvc.h.

902  { return bookProf(nameAndTitle, nameAndTitle, BINS(x), BINS(y)); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inline

Definition at line 904 of file HistogramSvc.h.

905  { return bookProf( name, tit, BINS(x), BINS(y), upper, lower); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower,
CSTR   
)
inlineoverride

Definition at line 906 of file HistogramSvc.h.

907  { return bookProf( name, tit, BINS(x), BINS(y), upper, lower); }
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
P2D* HistogramSvc::createProfile2D ( CSTR  name,
CSTR  title,
const Edges x,
const Edges y,
double  upper,
double  lower,
CSTR   
)
inlineoverride

Definition at line 908 of file HistogramSvc.h.

909  { return bookProf(name, title, x, y, upper, lower); }
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:242
P2D* HistogramSvc::createProfile2D ( CSTR  nameAndTitle,
DBINS(x)  ,
DBINS(y)  ,
double  upper,
double  lower 
)
inlineoverride

Definition at line 910 of file HistogramSvc.h.

911  { return bookProf(nameAndTitle, nameAndTitle, BINS(x), BINS(y), upper, lower);}
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:242
#define BINS(x)
Definition: HistogramSvc.h:39
bool HistogramSvc::destroy ( IBaseHistogram *  hist)
override

Definition at line 335 of file HistogramSvc.cpp.

335  {
336  StatusCode sc = unregisterObject( dynamic_cast<IHistogram*>(hist) );
337  if ( !sc.isSuccess() ) return false;
338  delete hist;
339  return true;
340 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
StatusCode unregisterObject(Base *obj) override
Definition: HistogramSvc.h:572
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 786 of file HistogramSvc.h.

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

Definition at line 795 of file HistogramSvc.h.

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

Definition at line 804 of file HistogramSvc.h.

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

finalize the service

Definition at line 412 of file HistogramSvc.cpp.

413 {
414  if ( !m_mods1D.empty() )
415  {
416  if (msgLevel(MSG::DEBUG))
417  debug()
418  << " Substituted histograms #" << m_mods1D.size() << " : " << endmsg;
419  for ( const auto& ih : m_mods1D )
420  {
421  if (msgLevel(MSG::DEBUG))
422  debug() << " Path='" << ih << "'" ;
423  auto im = m_defs1D.find( ih ) ;
424  if ( m_defs1D.end() != im ) { debug() << " " << im->second ; }
425  }
426  m_mods1D.clear() ;
427  }
428  return DataSvc::finalize () ;
429 }
T empty(T...args)
std::set< std::string > m_mods1D
Definition: HistogramSvc.h:969
T end(T...args)
Histo1DMap m_defs1D
Definition: HistogramSvc.h:966
void clear(STATE_TYPE _i=std::ios_base::failbit)
Definition: MsgStream.h:222
StatusCode finalize() override
Service initialization.
Definition: DataSvc.cpp:1188
T find(T...args)
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 676 of file HistogramSvc.h.

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

Definition at line 678 of file HistogramSvc.h.

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

Definition at line 680 of file HistogramSvc.h.

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

Definition at line 682 of file HistogramSvc.h.

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

Definition at line 684 of file HistogramSvc.h.

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

Definition at line 687 of file HistogramSvc.h.

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

Definition at line 689 of file HistogramSvc.h.

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

Definition at line 691 of file HistogramSvc.h.

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

Definition at line 693 of file HistogramSvc.h.

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

Definition at line 695 of file HistogramSvc.h.

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

Definition at line 698 of file HistogramSvc.h.

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

Definition at line 700 of file HistogramSvc.h.

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

Definition at line 702 of file HistogramSvc.h.

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

Definition at line 704 of file HistogramSvc.h.

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

Definition at line 706 of file HistogramSvc.h.

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

Definition at line 709 of file HistogramSvc.h.

710  { return Helper(this).find(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 711 of file HistogramSvc.h.

712  { return Helper(this).find(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 713 of file HistogramSvc.h.

714  { return Helper(this).find(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 715 of file HistogramSvc.h.

716  { return Helper(this).find(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 717 of file HistogramSvc.h.

718  { return Helper(this).find(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
P1D *&  obj 
)
inlineoverride

Definition at line 720 of file HistogramSvc.h.

721  { return Helper(this).find(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 722 of file HistogramSvc.h.

723  { return Helper(this).find(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 724 of file HistogramSvc.h.

725  { return Helper(this).find(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 726 of file HistogramSvc.h.

727  { return Helper(this).find(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 728 of file HistogramSvc.h.

729  { return Helper(this).find(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( DataObject par,
CSTR  item,
P1D *&  obj 
)
inlineoverride

Definition at line 731 of file HistogramSvc.h.

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

Definition at line 733 of file HistogramSvc.h.

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

Definition at line 735 of file HistogramSvc.h.

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

Definition at line 737 of file HistogramSvc.h.

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

Definition at line 739 of file HistogramSvc.h.

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

Definition at line 742 of file HistogramSvc.h.

743  { return Helper(this).find(__cast(par),item,obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( Base par,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 744 of file HistogramSvc.h.

745  { return Helper(this).find(__cast(par),item,obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( Base par,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 746 of file HistogramSvc.h.

747  { return Helper(this).find(__cast(par),item,obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( Base par,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 748 of file HistogramSvc.h.

749  { return Helper(this).find(__cast(par),item,obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( Base par,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 750 of file HistogramSvc.h.

751  { return Helper(this).find(__cast(par),item,obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
P1D *&  obj 
)
inlineoverride

Definition at line 753 of file HistogramSvc.h.

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

Definition at line 755 of file HistogramSvc.h.

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

Definition at line 757 of file HistogramSvc.h.

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

Definition at line 759 of file HistogramSvc.h.

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

Definition at line 761 of file HistogramSvc.h.

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

Retrieve the AIDA HistogramFactory interface.

Definition at line 189 of file HistogramSvc.h.

189 { 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 163 of file HistogramSvc.h.

163  {
164  if (o.first && registerObject(pPar, rel, (Base*)o.second).isSuccess())
165  return o.second;
166  delete o.first;
167  throw GaudiException("Cannot book "+System::typeinfoName(typeid(T))+" "+title,
168  "HistogramSvc",StatusCode::FAILURE);
169  }
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:297
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
AIDA::IBaseHistogram Base
Definition: HistogramSvc.h:66
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:557
AIDA::IHistogram2D * HistogramSvc::i_project ( CSTR  nameAndTitle,
const H3D h,
CSTR  dir 
)

Helper for 2D projections.

Definition at line 89 of file HistogramSvc.cpp.

89  {
90  TH3D *h3d = Gaudi::getRepresentation<IHistogram3D,TH3D>(h);
91  if ( h3d ) {
92  TH2D *h2d = dynamic_cast<TH2D*>(h3d->Project3D(dir.c_str()));
93  if ( h2d ) {
95  if ( r.second && registerObject(nameAndTitle,r.second).isSuccess() ) {
96  return r.second;
97  }
98  }
99  }
100  return nullptr;
101 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D(const AIDA::IHistogram2D &hist)
Copy constructor.
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:557
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 130 of file HistogramSvc.cpp.

130  {
131  std::string tmp = full;
132  if (tmp[0] != SEPARATOR) {
133  tmp.insert(tmp.begin(), SEPARATOR);
134  tmp.insert(tmp.begin(), m_rootName.begin(), m_rootName.end());
135  }
136  // Remove trailing "/" from newPath if it exists
137  if (tmp.rfind(SEPARATOR) == tmp.length()-1) {
138  tmp.erase(tmp.rfind(SEPARATOR),1);
139  }
140  int sep = tmp.rfind(SEPARATOR);
141  return { tmp.substr(0,sep), tmp.substr(sep) };
142 }
constexpr char SEPARATOR
std::string m_rootName
Name of root event.
Definition: DataSvc.h:55
T rfind(T...args)
T end(T...args)
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 252 of file HistogramSvc.cpp.

252  {
253  StatusCode status = DataSvc::initialize();
254  // Set root object
255  if (status.isSuccess()) {
256  std::unique_ptr<DataObject> rootObj{ new DataObject() };
257  status = setRoot("/stat", rootObj.get());
258  if (status.isSuccess()) {
259  rootObj.release();
260  } else {
261  error() << "Unable to set hstogram data store root." << endmsg;
262  return status;
263  }
264  auto svc = service<IConversionSvc>("HistogramPersistencySvc",true);
265  if ( svc ) {
266  setDataLoader( svc.get() ).ignore();
267  } else {
268  error() << "Could not find HistogramPersistencySvc." << endmsg;
269  return StatusCode::FAILURE;
270  }
271  // Connect all input streams (if any)
272  for (auto & j : m_input) {
273  status = connectInput(j);
274  if (!status.isSuccess()) return status;
275  }
276  }
277  if ( !m_defs1D.empty() )
278  {
279  info() << " Predefined 1D-Histograms: " << endmsg ;
280  for ( const auto& ih : m_defs1D )
281  {
282  info()
283  << " Path='" << ih.first << "'"
284  << " Description " << ih.second << endmsg ;
285  }
286  }
287  return status;
288 }
T empty(T...args)
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
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
DBaseEntries m_input
Input streams.
Definition: HistogramSvc.h:138
StatusCode connectInput(CSTR ident)
Connect input histogram file to the service.
Histo1DMap m_defs1D
Definition: HistogramSvc.h:966
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
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 784 of file HistogramSvc.h.

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

Definition at line 793 of file HistogramSvc.h.

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

Definition at line 802 of file HistogramSvc.h.

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

Definition at line 54 of file HistogramSvc.h.

54  {
55  error() << "Sorry, not yet implemented..." << endmsg;
56  }
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 106 of file HistogramSvc.cpp.

106  {
107  Gaudi::HistogramBase* b = dynamic_cast<Gaudi::HistogramBase*>(h);
108  if (b) return b->print(s);
109  error() << "Unknown histogram type: Cannot cast to Gaudi::HistogramBase."
110  << endmsg;
111  return s;
112 }
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 767 of file HistogramSvc.h.

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

Definition at line 807 of file HistogramSvc.h.

808  { 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 809 of file HistogramSvc.h.

810  { 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 769 of file HistogramSvc.h.

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

Definition at line 811 of file HistogramSvc.h.

812  { 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 557 of file HistogramSvc.h.

558  { return registerObject(createPath(parent), rel, obj); }
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:557
StatusCode HistogramSvc::registerObject ( CSTR  parent,
int  item,
Base obj 
)
inlineoverride

Definition at line 559 of file HistogramSvc.h.

560  { return registerObject(parent, std::to_string(item), obj); }
T to_string(T...args)
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:557
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::registerObject ( Base pPar,
CSTR  rel,
Base obj 
)
inlineoverride

Definition at line 561 of file HistogramSvc.h.

562  { return registerObject(__cast(pPar), rel, obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:557
StatusCode HistogramSvc::registerObject ( DataObject pPar,
int  item,
Base obj 
)
inlineoverride

Definition at line 563 of file HistogramSvc.h.

564  { return registerObject(pPar, std::to_string(item), obj); }
T to_string(T...args)
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:557
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::registerObject ( Base pPar,
int  item,
Base obj 
)
inlineoverride

Definition at line 565 of file HistogramSvc.h.

566  { return registerObject(__cast(pPar), item, obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
StatusCode registerObject(CSTR parent, CSTR rel, Base *obj) override
Definition: HistogramSvc.h:557
tuple item
print s1,s2
Definition: ana.py:146
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.

290  {
291  return StatusCode::SUCCESS;
292 }
StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
H1D *&  obj 
)
inlineoverride

Definition at line 581 of file HistogramSvc.h.

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

Definition at line 583 of file HistogramSvc.h.

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

Definition at line 585 of file HistogramSvc.h.

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

Definition at line 587 of file HistogramSvc.h.

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

Definition at line 589 of file HistogramSvc.h.

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

Definition at line 592 of file HistogramSvc.h.

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

Definition at line 594 of file HistogramSvc.h.

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

Definition at line 596 of file HistogramSvc.h.

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

Definition at line 598 of file HistogramSvc.h.

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

Definition at line 600 of file HistogramSvc.h.

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

Definition at line 603 of file HistogramSvc.h.

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

Definition at line 605 of file HistogramSvc.h.

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

Definition at line 607 of file HistogramSvc.h.

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

Definition at line 609 of file HistogramSvc.h.

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

Definition at line 611 of file HistogramSvc.h.

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

Definition at line 614 of file HistogramSvc.h.

615  { return Helper(this).retrieve(parent,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 616 of file HistogramSvc.h.

617  { return Helper(this).retrieve(parent,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 618 of file HistogramSvc.h.

619  { return Helper(this).retrieve(parent,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 620 of file HistogramSvc.h.

621  { return Helper(this).retrieve(parent,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 622 of file HistogramSvc.h.

623  { return Helper(this).retrieve(parent,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( DataObject par,
CSTR  item,
P1D *&  obj 
)
inlineoverride

Definition at line 625 of file HistogramSvc.h.

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

Definition at line 627 of file HistogramSvc.h.

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

Definition at line 629 of file HistogramSvc.h.

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

Definition at line 631 of file HistogramSvc.h.

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

Definition at line 633 of file HistogramSvc.h.

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

Definition at line 636 of file HistogramSvc.h.

637  { return Helper(this).retrieve(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 638 of file HistogramSvc.h.

639  { return Helper(this).retrieve(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 640 of file HistogramSvc.h.

641  { return Helper(this).retrieve(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 642 of file HistogramSvc.h.

643  { return Helper(this).retrieve(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 644 of file HistogramSvc.h.

645  { return Helper(this).retrieve(par,item,obj); }
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
P1D *&  obj 
)
inlineoverride

Definition at line 647 of file HistogramSvc.h.

648  { return Helper(this).retrieve(__cast(par),item,obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
P2D *&  obj 
)
inlineoverride

Definition at line 649 of file HistogramSvc.h.

650  { return Helper(this).retrieve(__cast(par),item,obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
H1D *&  obj 
)
inlineoverride

Definition at line 651 of file HistogramSvc.h.

652  { return Helper(this).retrieve(__cast(par),item,obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
H2D *&  obj 
)
inlineoverride

Definition at line 653 of file HistogramSvc.h.

654  { return Helper(this).retrieve(__cast(par),item,obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
H3D *&  obj 
)
inlineoverride

Definition at line 655 of file HistogramSvc.h.

656  { return Helper(this).retrieve(__cast(par),item,obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
tuple item
print s1,s2
Definition: ana.py:146
StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
P1D *&  obj 
)
inlineoverride

Definition at line 658 of file HistogramSvc.h.

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

Definition at line 660 of file HistogramSvc.h.

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

Definition at line 662 of file HistogramSvc.h.

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

Definition at line 664 of file HistogramSvc.h.

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

Definition at line 666 of file HistogramSvc.h.

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

Definition at line 771 of file HistogramSvc.h.

772  { return sliceX( name, h, indexY, indexY ); }
H1D * sliceX(CSTR name, const H2D &h, int indexY) override
Definition: HistogramSvc.h:771
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 773 of file HistogramSvc.h.

774  { return sliceY( name, h, indexX, indexX ); }
H1D * sliceY(CSTR name, const H2D &h, int indexX) override
Definition: HistogramSvc.h:773
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 782 of file HistogramSvc.h.

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

Definition at line 791 of file HistogramSvc.h.

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

Definition at line 800 of file HistogramSvc.h.

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

Definition at line 572 of file HistogramSvc.h.

573  { 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:170
StatusCode HistogramSvc::unregisterObject ( Base obj,
CSTR  objectPath 
)
inlineoverride

Definition at line 574 of file HistogramSvc.h.

575  { return DataSvc::unregisterObject(__cast(obj),objectPath); }
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:170
StatusCode HistogramSvc::unregisterObject ( Base obj,
int  item 
)
inlineoverride

Definition at line 576 of file HistogramSvc.h.

577  { return DataSvc::unregisterObject(__cast(obj),item); }
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:170
tuple item
print s1,s2
Definition: ana.py:146
void HistogramSvc::update1Ddefs ( Property )

handler to be invoked for updating property m_defs1D

Definition at line 405 of file HistogramSvc.cpp.

406 {
407  // check and remove the leading '/stat/'
408  removeLeading ( m_defs1D , "/stat/" ) ;
409 }
Histo1DMap m_defs1D
Definition: HistogramSvc.h:966
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

Histo1DMap HistogramSvc::m_defs1D
private

Definition at line 966 of file HistogramSvc.h.

DBaseEntries HistogramSvc::m_input
protected

Input streams.

Definition at line 138 of file HistogramSvc.h.

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

Definition at line 969 of file HistogramSvc.h.


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