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< BASE, Interfaces >
typedef extends base_class
 Typedef to this class. More...
 
typedef extend_interfaces< Interfaces...> extend_interfaces_base
 Typedef to the base of this class. More...
 
typedef extends base_class
 Typedef to this class. More...
 
typedef extend_interfaces< Interfaces...> extend_interfaces_base
 Typedef to the base of this class. More...
 
- 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...
 
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::string > i_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...
 
virtual StatusCode initialize ()
 Initialise the service. More...
 
virtual StatusCode reinitialize ()
 Initialise the service. More...
 
virtual StatusCode finalize ()
 finalize the service More...
 
virtual AIDA::IHistogramFactory * histogramFactory ()
 Retrieve the AIDA HistogramFactory interface. More...
 
virtual H1Dbook (CSTR par, CSTR rel, CSTR title, DBINS(x))
 Book histogram and register it with the histogram data store. More...
 
virtual H1Dbook (CSTR par, int hID, CSTR title, DBINS(x))
 
virtual H1Dbook (DataObject *pPar, int hID, CSTR title, DBINS(x))
 
virtual H1Dbook (DataObject *pPar, CSTR rel, CSTR title, DBINS(x))
 
virtual H1Dbook (STRPAIR loc, CSTR title, DBINS(x))
 
virtual H1Dbook (CSTR full, CSTR title, DBINS(x))
 
virtual P1DbookProf (CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
 Book histogram and register it with the histogram data store. More...
 
virtual P1DbookProf (CSTR par, int hID, CSTR title, DBINS(x), CSTR opt)
 
virtual P1DbookProf (DataObject *pPar, int hID, CSTR title, DBINS(x), CSTR opt)
 
virtual P1DbookProf (STRPAIR loc, CSTR title, DBINS(x), CSTR opt)
 
virtual P1DbookProf (CSTR full, CSTR title, DBINS(x), CSTR opt)
 
virtual P1DbookProf (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), CSTR opt)
 
virtual P1DbookProf (CSTR par, CSTR rel, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
 
virtual P1DbookProf (CSTR par, int hID, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
 
virtual P1DbookProf (DataObject *pPar, int hID, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
 
virtual P1DbookProf (STRPAIR loc, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
 
virtual P1DbookProf (CSTR full, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
 
virtual P1DbookProf (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), double upper, double lower, CSTR opt)
 
virtual H1Dbook (CSTR par, int hID, CSTR title, Edges e)
 Book histogram and register it with the histogram data store. More...
 
virtual H1Dbook (DataObject *pPar, int hID, CSTR title, Edges e)
 
virtual H1Dbook (CSTR par, CSTR rel, CSTR title, Edges e)
 
virtual H1Dbook (STRPAIR loc, CSTR title, Edges e)
 
virtual H1Dbook (CSTR full, CSTR title, Edges e)
 
virtual H1Dbook (DataObject *pPar, CSTR rel, CSTR title, Edges e)
 
virtual P1DbookProf (CSTR full, CSTR title, Edges e)
 Book histogram and register it with the histogram data store. More...
 
virtual P1DbookProf (CSTR par, CSTR rel, CSTR title, Edges e)
 
virtual P1DbookProf (CSTR par, int hID, CSTR title, Edges e)
 
virtual P1DbookProf (DataObject *pPar, int hID, CSTR title, Edges e)
 
virtual P1DbookProf (STRPAIR loc, CSTR title, Edges e)
 
virtual P1DbookProf (DataObject *pPar, CSTR rel, CSTR title, Edges e)
 
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)
 
virtual H2Dbook (CSTR full, CSTR title, DBINS(x), DBINS(y))
 Book histogram and register it with the histogram data store. More...
 
virtual H2Dbook (CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y))
 
virtual H2Dbook (CSTR par, int hID, CSTR title, DBINS(x), DBINS(y))
 
virtual H2Dbook (STRPAIR loc, CSTR title, DBINS(x), DBINS(y))
 
virtual H2Dbook (DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y))
 
virtual H2Dbook (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y))
 
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)
 
virtual P2DbookProf (CSTR full, CSTR title, DBINS(x), DBINS(y))
 
virtual P2DbookProf (CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y))
 
virtual P2DbookProf (STRPAIR loc, CSTR title, DBINS(x), DBINS(y))
 
virtual P2DbookProf (CSTR par, int hID, CSTR title, DBINS(x), DBINS(y))
 
virtual P2DbookProf (DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y))
 
virtual P2DbookProf (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y))
 
virtual H2Dbook (CSTR full, CSTR title, Edges x, Edges y)
 Book histogram and register it with the histogram data store. More...
 
virtual H2Dbook (CSTR par, CSTR rel, CSTR title, Edges x, Edges y)
 
virtual H2Dbook (CSTR par, int hID, CSTR title, Edges x, Edges y)
 
virtual H2Dbook (STRPAIR loc, CSTR title, Edges x, Edges y)
 
virtual H2Dbook (DataObject *pPar, int hID, CSTR title, Edges x, Edges y)
 
virtual H2Dbook (DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y)
 
virtual P2DbookProf (CSTR full, CSTR title, Edges x, Edges y)
 Book histogram and register it with the histogram data store. More...
 
virtual P2DbookProf (CSTR par, CSTR rel, CSTR title, Edges x, Edges y)
 
virtual P2DbookProf (CSTR par, int hID, CSTR title, Edges x, Edges y)
 
virtual P2DbookProf (DataObject *pPar, int hID, CSTR title, Edges x, Edges y)
 
virtual P2DbookProf (STRPAIR loc, CSTR title, Edges x, Edges y)
 
virtual P2DbookProf (DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y)
 
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)
 
virtual H3Dbook (CSTR full, CSTR title, DBINS(x), DBINS(y), DBINS(z))
 Book histogram and register it with the histogram data store. More...
 
virtual H3Dbook (CSTR par, CSTR rel, CSTR title, DBINS(x), DBINS(y), DBINS(z))
 
virtual H3Dbook (CSTR par, int hID, CSTR title, DBINS(x), DBINS(y), DBINS(z))
 
virtual H3Dbook (DataObject *pPar, int hID, CSTR title, DBINS(x), DBINS(y), DBINS(z))
 
virtual H3Dbook (STRPAIR loc, CSTR title, DBINS(x), DBINS(y), DBINS(z))
 
virtual H3Dbook (DataObject *pPar, CSTR rel, CSTR title, DBINS(x), DBINS(y), DBINS(z))
 
virtual H3Dbook (CSTR full, CSTR title, Edges x, Edges y, Edges z)
 Book histogram and register it with the histogram data store. More...
 
virtual H3Dbook (CSTR par, CSTR rel, CSTR title, Edges x, Edges y, Edges z)
 
virtual H3Dbook (CSTR par, int hID, CSTR title, Edges x, Edges y, Edges z)
 
virtual H3Dbook (DataObject *pPar, int hID, CSTR title, Edges x, Edges y, Edges z)
 
virtual H3Dbook (STRPAIR loc, CSTR title, Edges x, Edges y, Edges z)
 
virtual H3Dbook (DataObject *pPar, CSTR rel, CSTR title, Edges x, Edges y, Edges z)
 
virtual StatusCode registerObject (CSTR parent, CSTR rel, Base *obj)
 
virtual StatusCode registerObject (CSTR parent, int item, Base *obj)
 
virtual StatusCode registerObject (Base *pPar, CSTR rel, Base *obj)
 
virtual StatusCode registerObject (DataObject *pPar, int item, Base *obj)
 
virtual StatusCode registerObject (Base *pPar, int item, Base *obj)
 
virtual StatusCode registerObject (CSTR full, Base *obj)
 
virtual StatusCode registerObject (DataObject *pPar, CSTR rel, Base *obj)
 
virtual StatusCode unregisterObject (Base *obj)
 
virtual StatusCode unregisterObject (Base *obj, CSTR objectPath)
 
virtual StatusCode unregisterObject (Base *obj, int item)
 
virtual StatusCode retrieveObject (IRegistry *pReg, CSTR path, H1D *&obj)
 
virtual StatusCode retrieveObject (IRegistry *pReg, CSTR path, P1D *&obj)
 
virtual StatusCode retrieveObject (IRegistry *pReg, CSTR path, H2D *&obj)
 
virtual StatusCode retrieveObject (IRegistry *pReg, CSTR path, P2D *&obj)
 
virtual StatusCode retrieveObject (IRegistry *pReg, CSTR path, H3D *&obj)
 
virtual StatusCode retrieveObject (CSTR full, P1D *&obj)
 
virtual StatusCode retrieveObject (CSTR full, P2D *&obj)
 
virtual StatusCode retrieveObject (CSTR full, H1D *&obj)
 
virtual StatusCode retrieveObject (CSTR full, H2D *&obj)
 
virtual StatusCode retrieveObject (CSTR full, H3D *&obj)
 
virtual StatusCode retrieveObject (CSTR parent, CSTR rel, P1D *&obj)
 
virtual StatusCode retrieveObject (CSTR parent, CSTR rel, P2D *&obj)
 
virtual StatusCode retrieveObject (CSTR parent, CSTR rel, H1D *&obj)
 
virtual StatusCode retrieveObject (CSTR parent, CSTR rel, H2D *&obj)
 
virtual StatusCode retrieveObject (CSTR parent, CSTR rel, H3D *&obj)
 
virtual StatusCode retrieveObject (CSTR parent, int item, P1D *&obj)
 
virtual StatusCode retrieveObject (CSTR parent, int item, P2D *&obj)
 
virtual StatusCode retrieveObject (CSTR parent, int item, H1D *&obj)
 
virtual StatusCode retrieveObject (CSTR parent, int item, H2D *&obj)
 
virtual StatusCode retrieveObject (CSTR parent, int item, H3D *&obj)
 
virtual StatusCode retrieveObject (DataObject *par, CSTR item, P1D *&obj)
 
virtual StatusCode retrieveObject (DataObject *par, CSTR item, P2D *&obj)
 
virtual StatusCode retrieveObject (DataObject *par, CSTR item, H1D *&obj)
 
virtual StatusCode retrieveObject (DataObject *par, CSTR item, H2D *&obj)
 
virtual StatusCode retrieveObject (DataObject *par, CSTR item, H3D *&obj)
 
virtual StatusCode retrieveObject (DataObject *par, int item, P1D *&obj)
 
virtual StatusCode retrieveObject (DataObject *par, int item, P2D *&obj)
 
virtual StatusCode retrieveObject (DataObject *par, int item, H1D *&obj)
 
virtual StatusCode retrieveObject (DataObject *par, int item, H2D *&obj)
 
virtual StatusCode retrieveObject (DataObject *par, int item, H3D *&obj)
 
virtual StatusCode retrieveObject (Base *par, int item, P1D *&obj)
 
virtual StatusCode retrieveObject (Base *par, int item, P2D *&obj)
 
virtual StatusCode retrieveObject (Base *par, int item, H1D *&obj)
 
virtual StatusCode retrieveObject (Base *par, int item, H2D *&obj)
 
virtual StatusCode retrieveObject (Base *par, int item, H3D *&obj)
 
virtual StatusCode retrieveObject (Base *par, CSTR item, P1D *&obj)
 
virtual StatusCode retrieveObject (Base *par, CSTR item, P2D *&obj)
 
virtual StatusCode retrieveObject (Base *par, CSTR item, H1D *&obj)
 
virtual StatusCode retrieveObject (Base *par, CSTR item, H2D *&obj)
 
virtual StatusCode retrieveObject (Base *par, CSTR item, H3D *&obj)
 
virtual StatusCode findObject (IRegistry *pReg, CSTR path, P1D *&obj)
 
virtual StatusCode findObject (IRegistry *pReg, CSTR path, P2D *&obj)
 
virtual StatusCode findObject (IRegistry *pReg, CSTR path, H1D *&obj)
 
virtual StatusCode findObject (IRegistry *pReg, CSTR path, H2D *&obj)
 
virtual StatusCode findObject (IRegistry *pReg, CSTR path, H3D *&obj)
 
virtual StatusCode findObject (CSTR full, P1D *&obj)
 
virtual StatusCode findObject (CSTR full, P2D *&obj)
 
virtual StatusCode findObject (CSTR full, H1D *&obj)
 
virtual StatusCode findObject (CSTR full, H2D *&obj)
 
virtual StatusCode findObject (CSTR full, H3D *&obj)
 
virtual StatusCode findObject (CSTR par, CSTR rel, P1D *&obj)
 
virtual StatusCode findObject (CSTR par, CSTR rel, P2D *&obj)
 
virtual StatusCode findObject (CSTR par, CSTR rel, H1D *&obj)
 
virtual StatusCode findObject (CSTR par, CSTR rel, H2D *&obj)
 
virtual StatusCode findObject (CSTR par, CSTR rel, H3D *&obj)
 
virtual StatusCode findObject (CSTR par, int item, P1D *&obj)
 
virtual StatusCode findObject (CSTR par, int item, P2D *&obj)
 
virtual StatusCode findObject (CSTR par, int item, H1D *&obj)
 
virtual StatusCode findObject (CSTR par, int item, H2D *&obj)
 
virtual StatusCode findObject (CSTR par, int item, H3D *&obj)
 
virtual StatusCode findObject (DataObject *par, int item, P1D *&obj)
 
virtual StatusCode findObject (DataObject *par, int item, P2D *&obj)
 
virtual StatusCode findObject (DataObject *par, int item, H1D *&obj)
 
virtual StatusCode findObject (DataObject *par, int item, H2D *&obj)
 
virtual StatusCode findObject (DataObject *par, int item, H3D *&obj)
 
virtual StatusCode findObject (DataObject *par, CSTR item, P1D *&obj)
 
virtual StatusCode findObject (DataObject *par, CSTR item, P2D *&obj)
 
virtual StatusCode findObject (DataObject *par, CSTR item, H1D *&obj)
 
virtual StatusCode findObject (DataObject *par, CSTR item, H2D *&obj)
 
virtual StatusCode findObject (DataObject *par, CSTR item, H3D *&obj)
 
virtual StatusCode findObject (Base *par, int item, P1D *&obj)
 
virtual StatusCode findObject (Base *par, int item, P2D *&obj)
 
virtual StatusCode findObject (Base *par, int item, H1D *&obj)
 
virtual StatusCode findObject (Base *par, int item, H2D *&obj)
 
virtual StatusCode findObject (Base *par, int item, H3D *&obj)
 
virtual StatusCode findObject (Base *par, CSTR item, P1D *&obj)
 
virtual StatusCode findObject (Base *par, CSTR item, P2D *&obj)
 
virtual StatusCode findObject (Base *par, CSTR item, H1D *&obj)
 
virtual StatusCode findObject (Base *par, CSTR item, H2D *&obj)
 
virtual StatusCode findObject (Base *par, CSTR item, H3D *&obj)
 
virtual H1DprojectionX (CSTR name, const H2D &h)
 
virtual H1DprojectionY (CSTR name, const H2D &h)
 
virtual H1DsliceX (CSTR name, const H2D &h, int indexY)
 
virtual H1DsliceY (CSTR name, const H2D &h, int indexX)
 
virtual H1DsliceX (CSTR name, const H2D &h, int indexY1, int indexY2)
 
virtual H1DsliceY (CSTR name, const H2D &h, int indexX1, int indexX2)
 
bool destroy (IBaseHistogram *hist)
 
H1Dadd (CSTR nameAndTitle, const H1D &a, const H1D &b)
 
H1Dsubtract (CSTR nameAndTitle, const H1D &a, const H1D &b)
 
H1Dmultiply (CSTR nameAndTitle, const H1D &a, const H1D &b)
 
H1Ddivide (CSTR nameAndTitle, const H1D &a, const H1D &b)
 
H2Dadd (CSTR nameAndTitle, const H2D &a, const H2D &b)
 
H2Dsubtract (CSTR nameAndTitle, const H2D &a, const H2D &b)
 
H2Dmultiply (CSTR nameAndTitle, const H2D &a, const H2D &b)
 
H2Ddivide (CSTR nameAndTitle, const H2D &a, const H2D &b)
 
H3Dadd (CSTR nameAndTitle, const H3D &a, const H3D &b)
 
H3Dsubtract (CSTR nameAndTitle, const H3D &a, const H3D &b)
 
H3Dmultiply (CSTR nameAndTitle, const H3D &a, const H3D &b)
 
H3Ddivide (CSTR nameAndTitle, const H3D &a, const H3D &b)
 
H2DprojectionXY (CSTR nameAndTitle, const H3D &h)
 
H2DprojectionXZ (CSTR nameAndTitle, const H3D &h)
 
H2DprojectionYZ (CSTR nameAndTitle, const H3D &h)
 
H2DsliceXY (CSTR, const H3D &, int, int) NOT_IMPLEMENTED H2D *sliceXZ(CSTR
 
H2D const H3D int NOT_IMPLEMENTED H2DsliceYZ (CSTR, const H3D &, int, int) NOT_IMPLEMENTEDH1D *createHistogram1D(CSTR name
 
H2D const H3D int NOT_IMPLEMENTED H2D CSTR DBINS (x))
 
H1DcreateHistogram1D (CSTR name, CSTR tit, DBINS(x), CSTR)
 
H1DcreateHistogram1D (CSTR name, CSTR title, const Edges &x, CSTR)
 
H1DcreateHistogram1D (CSTR nameAndTitle, DBINS(x))
 
H1DcreateCopy (CSTR full, const H1D &h)
 
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)
 
H2DcreateHistogram2D (CSTR name, CSTR title, const Edges &x, const Edges &y, CSTR)
 
H2DcreateHistogram2D (CSTR nameAndTitle, DBINS(x), DBINS(y))
 
H2DcreateCopy (CSTR full, const H2D &h)
 
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)
 
H3DcreateHistogram3D (CSTR name, CSTR title, const Edges &x, const Edges &y, const Edges &z, CSTR)
 
H3DcreateHistogram3D (CSTR nameAndTitle, DBINS(x), DBINS(y), DBINS(z))
 
H3DcreateCopy (CSTR full, const H3D &h)
 
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)
 
P1DcreateProfile1D (CSTR name, CSTR tit, DBINS(x), double upper, double lower, CSTR opt)
 
P1DcreateProfile1D (CSTR name, CSTR title, const Edges &x, CSTR)
 
P1DcreateProfile1D (CSTR name, CSTR title, const Edges &x, double upper, double lower, CSTR)
 
P1DcreateProfile1D (CSTR nametit, DBINS(x))
 
P1DcreateProfile1D (CSTR nametit, DBINS(x), double upper, double lower)
 
P1DcreateCopy (CSTR full, const P1D &h)
 
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)
 
P2DcreateProfile2D (CSTR name, CSTR title, const Edges &x, const Edges &y, CSTR)
 
P2DcreateProfile2D (CSTR nameAndTitle, DBINS(x), DBINS(y))
 
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)
 
P2DcreateProfile2D (CSTR name, CSTR title, const Edges &x, const Edges &y, double upper, double lower, CSTR)
 
P2DcreateProfile2D (CSTR nameAndTitle, DBINS(x), DBINS(y), double upper, double lower)
 
P2DcreateCopy (CSTR full, const P2D &h)
 
P2DcreateCopy (CSTR par, CSTR rel, const P2D &h)
 
P2DcreateCopy (STRPAIR loc, const P2D &h)
 
P2DcreateCopy (DataObject *pPar, CSTR rel, const P2D &h)
 
virtual std::ostream & print (Base *h, std::ostream &s=std::cout) const
 Print (ASCII) the 1D histogram into the output stream. More...
 
virtual std::ostream & write (Base *h, std::ostream &s=std::cout) const
 Write (ASCII) the 1D histogram table into the output stream. More...
 
virtual int write (Base *h, const char *file_name) const
 Write (ASCII) the 1D histogram table into a file. More...
 
virtual DataObjectcreatePath (CSTR newPath)
 Create all directories in a given full path. More...
 
virtual DataObjectcreateDirectory (CSTR parentDir, CSTR subDir)
 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< BASE, Interfaces >
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::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 ~extends () override=default
 Virtual destructor. More...
 
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::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 ~extends () override=default
 Virtual destructor. More...
 
- Public Member Functions inherited from extend_interfaces< Interfaces...>
 ~extend_interfaces () override=default
 Virtual destructor. More...
 
 ~extend_interfaces () override=default
 Virtual destructor. More...
 

Static Public Member Functions

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

Public Attributes

H2D const H3D int
 
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
 

Protected Types

typedef const std::string & CSTR
 
typedef std::vector< double > Edges
 
typedef std::vector< std::string > DBaseEntries
 
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...
 

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::string > m_mods1D
 

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.

typedef std::vector<std::string> HistogramSvc::DBaseEntries
protected

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 std::map<std::string,Gaudi::Histo1DDef> HistogramSvc::Histo1DMap

Definition at line 961 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.

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

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

379  : base_class(nam, svc)
380 {
381  // Properties can be declared here
382  m_rootName = "/stat";
383  m_rootCLID = CLID_DataObject;
384  declareProperty ( "Input", m_input);
385  declareProperty ( "Predefined1DHistos" , m_defs1D ,
386  "Histograms with predefined parameters" ) ;
387  // update handler
388  Property* p = Gaudi::Utils::getProperty ( this , "Predefined1DHistos" ) ;
390 
391 }
DBaseEntries m_input
Input streams.
Definition: HistogramSvc.h:138
Histo1DMap m_defs1D
Definition: HistogramSvc.h:966
extends base_class
Typedef to this class.
Definition: extends.h:14
void update1Ddefs(Property &)
handler to be invoked for updating property m_defs1D
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:276
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:38
virtual void declareUpdateHandler(std::function< void(Property &)> fun)
set new callback for update
Definition: Property.cpp:71
HistogramSvc::~HistogramSvc ( )
override

Destructor.

Definition at line 202 of file HistogramSvc.cpp.

202  {
203  setDataLoader( 0 ).ignore();
204  clearStore().ignore();
205 }

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 
)
inline

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)
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 
)
inline

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)
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 
)
inline

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)
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
virtual H1D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)   
)
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 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)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#define BINS(x)
Definition: HistogramSvc.h:39
virtual DataObject * createPath(CSTR newPath)
Create all directories in a given full path.
virtual H1D* HistogramSvc::book ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)   
)
inlinevirtual

Definition at line 213 of file HistogramSvc.h.

214  { return book(par, std::to_string(hID), title, BINS(x)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#define BINS(x)
Definition: HistogramSvc.h:39
virtual H1D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)   
)
inlinevirtual

Definition at line 215 of file HistogramSvc.h.

216  { return book(pPar, std::to_string(hID), title, BINS(x)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#define BINS(x)
Definition: HistogramSvc.h:39
AIDA::IHistogram1D * HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)   
)
virtual

Definition at line 352 of file HistogramSvc.cpp.

353 {
354  if ( m_defs1D.empty () )
355  { return i_book(pPar,rel,title,Gaudi::createH1D(title, BINS(x))); }
356  std::string hn = histoAddr ( pPar , rel ) ;
357  auto ifound = m_defs1D.find( hn ) ;
358  if ( m_defs1D.end() == ifound )
359  { return i_book(pPar,rel,title,Gaudi::createH1D(title, BINS(x))); }
360  if (msgLevel(MSG::DEBUG)) {
361  MsgStream log ( msgSvc() , name() ) ;
362  log << MSG::DEBUG
363  << " Redefine the parameters for the histogram '" + hn + "' to be "
364  << ifound->second
365  << endmsg;
366  }
367  m_mods1D.insert ( hn ) ;
368  return i_book ( pPar , rel , ifound -> second.title () ,
370  ( ifound -> second.title () ,
371  ifound -> second.bins () ,
372  ifound -> second.lowEdge () ,
373  ifound -> second.lowEdge () ) ) ;
374 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
std::set< std::string > m_mods1D
Definition: HistogramSvc.h:969
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
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
Histo1DMap m_defs1D
Definition: HistogramSvc.h:966
constexpr double second
#define BINS(x)
Definition: HistogramSvc.h:39
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)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#define BINS(x)
Definition: HistogramSvc.h:39
virtual H1D* HistogramSvc::book ( CSTR  full,
CSTR  title,
DBINS(x)   
)
inlinevirtual

Definition at line 220 of file HistogramSvc.h.

221  { return book(i_splitPath(full), title, BINS(x)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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
virtual H1D* HistogramSvc::book ( CSTR  par,
int  hID,
CSTR  title,
Edges  e 
)
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 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); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
virtual H1D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
Edges  e 
)
inlinevirtual

Definition at line 286 of file HistogramSvc.h.

287  { return book(pPar, std::to_string(hID), title, e); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
virtual H1D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  e 
)
inlinevirtual

Definition at line 288 of file HistogramSvc.h.

289  { return book(createPath(par), rel, title, e); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
virtual DataObject * createPath(CSTR newPath)
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); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
virtual H1D* HistogramSvc::book ( CSTR  full,
CSTR  title,
Edges  e 
)
inlinevirtual

Definition at line 292 of file HistogramSvc.h.

293  { return book(i_splitPath(full), title, e); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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.
virtual H1D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  e 
)
inlinevirtual

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
virtual H2D* HistogramSvc::book ( CSTR  full,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
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 359 of file HistogramSvc.h.

360  { return book(i_splitPath(full), title, BINS(x),BINS(y)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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
virtual H2D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlinevirtual

Definition at line 361 of file HistogramSvc.h.

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

Definition at line 363 of file HistogramSvc.h.

364  { return book(par,std::to_string(hID), title, BINS(x),BINS(y)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#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)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#define BINS(x)
Definition: HistogramSvc.h:39
virtual H2D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlinevirtual

Definition at line 367 of file HistogramSvc.h.

368  { return book(pPar,std::to_string(hID), title, BINS(x),BINS(y)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#define BINS(x)
Definition: HistogramSvc.h:39
virtual H2D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlinevirtual

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.
virtual H2D* HistogramSvc::book ( CSTR  full,
CSTR  title,
Edges  x,
Edges  y 
)
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
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); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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.
virtual H2D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y 
)
inlinevirtual

Definition at line 435 of file HistogramSvc.h.

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

Definition at line 437 of file HistogramSvc.h.

438  { return book(par, std::to_string(hID), title, x, y); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
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); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
virtual H2D* HistogramSvc::book ( DataObject pPar,
int  hID,
CSTR  title,
Edges  x,
Edges  y 
)
inlinevirtual

Definition at line 441 of file HistogramSvc.h.

442  { return book(pPar, std::to_string(hID), title, x, y); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
virtual H2D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y 
)
inlinevirtual

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.
virtual H3D* HistogramSvc::book ( CSTR  full,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
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/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)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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
virtual H3D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inlinevirtual

Definition at line 509 of file HistogramSvc.h.

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

Definition at line 511 of file HistogramSvc.h.

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

Definition at line 513 of file HistogramSvc.h.

514  { return book(pPar,std::to_string(hID), title, BINS(x),BINS(y),BINS(z)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#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)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#define BINS(x)
Definition: HistogramSvc.h:39
virtual H3D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)  ,
DBINS(z)   
)
inlinevirtual

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.
virtual H3D* HistogramSvc::book ( CSTR  full,
CSTR  title,
Edges  x,
Edges  y,
Edges  z 
)
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
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); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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.
virtual H3D* HistogramSvc::book ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y,
Edges  z 
)
inlinevirtual

Definition at line 540 of file HistogramSvc.h.

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

Definition at line 542 of file HistogramSvc.h.

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

Definition at line 544 of file HistogramSvc.h.

545  { return book(pPar,std::to_string(hID), title, x, y, z); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
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); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
virtual H3D* HistogramSvc::book ( DataObject pPar,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y,
Edges  z 
)
inlinevirtual

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.
virtual P1D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
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 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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
virtual DataObject * createPath(CSTR newPath)
Create all directories in a given full path.
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
virtual P1D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlinevirtual

Definition at line 244 of file HistogramSvc.h.

245  { return bookProf(par, std::to_string(hID), title, BINS(x),opt); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
virtual P1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlinevirtual

Definition at line 246 of file HistogramSvc.h.

247  { return bookProf(pPar, std::to_string(hID), title, BINS(x),opt); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
virtual P1D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlinevirtual

Definition at line 250 of file HistogramSvc.h.

251  { return bookProf(i_splitPath(full), title, BINS(x),opt); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
virtual P1D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
CSTR  opt 
)
inlinevirtual

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
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
virtual P1D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlinevirtual

Definition at line 255 of file HistogramSvc.h.

256  { return bookProf(createPath(par), rel, title, BINS(x), upper, lower , opt); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
virtual DataObject * createPath(CSTR newPath)
Create all directories in a given full path.
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
virtual P1D* HistogramSvc::bookProf ( CSTR  par,
int  hID,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlinevirtual

Definition at line 257 of file HistogramSvc.h.

258  { return bookProf(par, std::to_string(hID), title, BINS(x), upper, lower, opt ); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
virtual P1D* HistogramSvc::bookProf ( DataObject pPar,
int  hID,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlinevirtual

Definition at line 259 of file HistogramSvc.h.

260  { return bookProf(pPar, std::to_string(hID), title, BINS(x), upper, lower, opt); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
virtual P1D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlinevirtual

Definition at line 263 of file HistogramSvc.h.

264  { return bookProf(i_splitPath(full), title, BINS(x), upper, lower , opt ); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
virtual P1D* HistogramSvc::bookProf ( DataObject pPar,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inlinevirtual

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
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D(const AIDA::IProfile1D &hist)
Copy constructor.
virtual P1D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
Edges  e 
)
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
eBin edges for variable binned histogram.

Definition at line 314 of file HistogramSvc.h.

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

Definition at line 316 of file HistogramSvc.h.

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

Definition at line 318 of file HistogramSvc.h.

319  { return bookProf(par, std::to_string(hID), title, e); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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 
)
inlinevirtual

Definition at line 320 of file HistogramSvc.h.

321  { return bookProf(pPar, std::to_string(hID), title, e); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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 
)
inlinevirtual

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); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
virtual DataObject * createPath(CSTR newPath)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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,
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
virtual DataObject * createPath(CSTR newPath)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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
virtual P2D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlinevirtual

Definition at line 404 of file HistogramSvc.h.

405  { return bookProf(i_splitPath(full), title, BINS(x),BINS(y)); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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,
CSTR  rel,
CSTR  title,
DBINS(x)  ,
DBINS(y)   
)
inlinevirtual

Definition at line 406 of file HistogramSvc.h.

407  { return bookProf(createPath(par), rel, title, BINS(x),BINS(y)); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
virtual DataObject * createPath(CSTR newPath)
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)); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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)   
)
inlinevirtual

Definition at line 410 of file HistogramSvc.h.

411  { return bookProf(par, std::to_string(hID), title, BINS(x),BINS(y)); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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)   
)
inlinevirtual

Definition at line 412 of file HistogramSvc.h.

413  { return bookProf(pPar,std::to_string(hID), title, BINS(x),BINS(y)); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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)   
)
inlinevirtual

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
virtual P2D* HistogramSvc::bookProf ( CSTR  full,
CSTR  title,
Edges  x,
Edges  y 
)
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
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); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
virtual P2D* HistogramSvc::bookProf ( CSTR  par,
CSTR  rel,
CSTR  title,
Edges  x,
Edges  y 
)
inlinevirtual

Definition at line 464 of file HistogramSvc.h.

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

Definition at line 466 of file HistogramSvc.h.

467  { return bookProf(par, std::to_string(hID), title, x, y); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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 
)
inlinevirtual

Definition at line 468 of file HistogramSvc.h.

469  { return bookProf(pPar, std::to_string(hID), title, x, y); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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 
)
inlinevirtual

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); }
std::pair< std::string, std::string > i_splitPath(CSTR full)
Split full path into its components.
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
virtual DataObject * createPath(CSTR newPath)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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 207 of file HistogramSvc.cpp.

207  {
208  using Parser = Gaudi::Utils::AttribStringParser;
209  MsgStream log (msgSvc(), name());
210  DataObject* pO = nullptr;
211  StatusCode status = this->findObject(m_rootName, pO);
212  if (status.isSuccess()) {
213  std::string::size_type loc = ident.find(" ");
214  std::string filename, auth, svc = "", typ = "";
215  std::string logname = ident.substr(0, loc);
216  for (auto attrib: Parser(ident.substr(loc+1))) {
217  switch(::toupper(attrib.tag[0])) {
218  case 'F': // FILE='<file name>'
219  case 'D': // DATAFILE='<file name>'
220  filename = std::move(attrib.value);
221  break;
222  case 'T': // TYP='<HBOOK,ROOT,OBJY,...>'
223  typ = std::move(attrib.value);
224  break;
225  default:
226  break;
227  }
228  }
229  if (typ.length() > 0) {
230  // Now add the registry entry to the store
231  std::string entryname = m_rootName;
232  entryname += '/';
233  entryname += logname;
234  GenericAddress* pA = nullptr;
235  switch(::toupper(typ[0])) {
236  case 'H':
237  pA=new GenericAddress(HBOOK_StorageType,CLID_StatisticsFile,
238  filename,entryname,0,'O');
239  break;
240  case 'R':
241  pA=new GenericAddress(ROOT_StorageType,CLID_StatisticsFile,
242  filename,entryname,0,'O');
243  break;
244  }
245  if (pA) {
246  status = registerAddress(pO, logname, pA);
247  if (status.isSuccess()) {
248  log << MSG::INFO << "Added stream file:" << filename
249  << " as " << logname << endmsg;
250  return status;
251  }
252  pA->release();
253  }
254  }
255  }
256  log << MSG::ERROR << "Cannot add " << ident << " invalid filename!" << endmsg;
257  return StatusCode::FAILURE;
258 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
unsigned long release() override
release reference to object
const long ROOT_StorageType
Definition: ClassID.h:52
Generic Transient Address.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
virtual StatusCode findObject(IRegistry *pReg, CSTR path, P1D *&obj)
Definition: HistogramSvc.h:676
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
void toupper(std::string &s)
const long HBOOK_StorageType
Definition: ClassID.h:56
H1D* HistogramSvc::createCopy ( CSTR  full,
const H1D h 
)
inline

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)
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); }
virtual DataObject * createPath(CSTR newPath)
Create all directories in a given full path.
H1D * createCopy(CSTR full, const H1D &h)
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)
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 
)
inline

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)
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); }
virtual DataObject * createPath(CSTR newPath)
Create all directories in a given full path.
H1D * createCopy(CSTR full, const H1D &h)
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)
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 
)
inline

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)
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); }
virtual DataObject * createPath(CSTR newPath)
Create all directories in a given full path.
H1D * createCopy(CSTR full, const H1D &h)
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)
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 
)
inline

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)
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); }
virtual DataObject * createPath(CSTR newPath)
Create all directories in a given full path.
H1D * createCopy(CSTR full, const H1D &h)
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)
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 
)
inline

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)
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); }
virtual DataObject * createPath(CSTR newPath)
Create all directories in a given full path.
H1D * createCopy(CSTR full, const H1D &h)
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)
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.
DataObject * HistogramSvc::createDirectory ( CSTR  parentDir,
CSTR  subDir 
)
virtual

Create a sub-directory in a directory.

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

Definition at line 178 of file HistogramSvc.cpp.

178  {
179  std::unique_ptr<DataObject> directory{ new DataObject() };
180  if (directory) {
181  DataObject* pnode;
182  StatusCode status = DataSvc::retrieveObject(parentDir, pnode);
183  if(status.isSuccess()) {
184  status = DataSvc::registerObject(pnode, subDir, directory.get());
185  if (!status.isSuccess()) {
186  MsgStream log(msgSvc(), name());
187  log << MSG::ERROR << "Unable to create the histogram directory: "
188  << parentDir << "/" << subDir << endmsg;
189  return nullptr;
190  }
191  }
192  else {
193  MsgStream log(msgSvc(), name());
194  log << MSG::ERROR << "Unable to create the histogram directory: "
195  << parentDir << "/" << subDir << endmsg;
196  return nullptr;
197  }
198  }
199  return directory.release();
200 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
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
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:768
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
H1D* HistogramSvc::createHistogram1D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
CSTR   
)
inline

Definition at line 820 of file HistogramSvc.h.

821  { return book( name, tit, BINS(x)); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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   
)
inline

Definition at line 822 of file HistogramSvc.h.

823  { return book(name, title, x); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
H1D* HistogramSvc::createHistogram1D ( CSTR  nameAndTitle,
DBINS(x)   
)
inline

Definition at line 824 of file HistogramSvc.h.

825  { return book(nameAndTitle, nameAndTitle, BINS(x)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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)); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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   
)
inline

Definition at line 837 of file HistogramSvc.h.

838  { return book( name, tit, BINS(x), BINS(y)); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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   
)
inline

Definition at line 839 of file HistogramSvc.h.

840  { return book(name, title, x, y); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
H2D* HistogramSvc::createHistogram2D ( CSTR  nameAndTitle,
DBINS(x)  ,
DBINS(y)   
)
inline

Definition at line 841 of file HistogramSvc.h.

842  { return book(nameAndTitle, nameAndTitle, BINS(x), BINS(y)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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)); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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   
)
inline

Definition at line 854 of file HistogramSvc.h.

855  { return book( name, tit, BINS(x), BINS(y), BINS(z)); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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   
)
inline

Definition at line 856 of file HistogramSvc.h.

857  { return book(name, title, x, y, z); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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)   
)
inline

Definition at line 858 of file HistogramSvc.h.

859  { return book(nameAndTitle, nameAndTitle, BINS(x), BINS(y), BINS(z)); }
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
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)
virtual

Create all directories in a given full path.

Definition at line 148 of file HistogramSvc.cpp.

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

Definition at line 871 of file HistogramSvc.h.

872  { return bookProf( name, tit, BINS(x) , opt ); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
P1D* HistogramSvc::createProfile1D ( CSTR  name,
CSTR  tit,
DBINS(x)  ,
double  upper,
double  lower,
CSTR  opt 
)
inline

Definition at line 873 of file HistogramSvc.h.

874  { return bookProf( name, tit, BINS(x), upper, lower , opt ); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
string opt
print 'Summary: %32s [s] d d steps'%(summary.protocol,summary.type,summary.nevt,len(summary.data),)
Definition: ana.py:116
P1D* HistogramSvc::createProfile1D ( CSTR  name,
CSTR  title,
const Edges x,
CSTR   
)
inline

Definition at line 875 of file HistogramSvc.h.

876  { return bookProf(name, title, x ); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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   
)
inline

Definition at line 877 of file HistogramSvc.h.

878  { return bookProf(name, title, x, upper, lower ); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
P1D* HistogramSvc::createProfile1D ( CSTR  nametit,
DBINS(x)   
)
inline

Definition at line 880 of file HistogramSvc.h.

881  { return bookProf( nametit, nametit, BINS(x) , "s"); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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 
)
inline

Definition at line 882 of file HistogramSvc.h.

883  { return bookProf( nametit, nametit, BINS(x), upper, lower , "s"); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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)); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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   
)
inline

Definition at line 897 of file HistogramSvc.h.

898  { return bookProf( name, tit, BINS(x), BINS(y)); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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   
)
inline

Definition at line 899 of file HistogramSvc.h.

900  { return bookProf(name, title, x, y); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
P2D* HistogramSvc::createProfile2D ( CSTR  nameAndTitle,
DBINS(x)  ,
DBINS(y)   
)
inline

Definition at line 901 of file HistogramSvc.h.

902  { return bookProf(nameAndTitle, nameAndTitle, BINS(x), BINS(y)); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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   
)
inline

Definition at line 906 of file HistogramSvc.h.

907  { return bookProf( name, tit, BINS(x), BINS(y), upper, lower); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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   
)
inline

Definition at line 908 of file HistogramSvc.h.

909  { return bookProf(name, title, x, y, upper, lower); }
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
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 
)
inline

Definition at line 910 of file HistogramSvc.h.

911  { return bookProf(nameAndTitle, nameAndTitle, BINS(x), BINS(y), upper, lower);}
virtual P1D * bookProf(CSTR par, CSTR rel, CSTR title, DBINS(x), CSTR opt)
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:242
#define BINS(x)
Definition: HistogramSvc.h:39
H2D const H3D int NOT_IMPLEMENTED H2D CSTR HistogramSvc::DBINS ( )
inline

Definition at line 818 of file HistogramSvc.h.

819  { return book( name, tit, BINS(x)); }
H2D const H3D int NOT_IMPLEMENTED H2D CSTR tit
Definition: HistogramSvc.h:818
virtual H1D * book(CSTR par, CSTR rel, CSTR title, DBINS(x))
Book histogram and register it with the histogram data store.
Definition: HistogramSvc.h:211
#define BINS(x)
Definition: HistogramSvc.h:39
bool HistogramSvc::destroy ( IBaseHistogram *  hist)

Definition at line 344 of file HistogramSvc.cpp.

344  {
345  StatusCode sc = unregisterObject( dynamic_cast<IHistogram*>(hist) );
346  if ( !sc.isSuccess() ) return false;
347  delete hist;
348  return true;
349 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
virtual StatusCode unregisterObject(Base *obj)
Definition: HistogramSvc.h:572
H1D* HistogramSvc::divide ( CSTR  nameAndTitle,
const H1D a,
const H1D b 
)
inline

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)
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 
)
inline

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)
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 
)
inline

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)
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 ( )
virtual

finalize the service

Definition at line 422 of file HistogramSvc.cpp.

423 {
424  if ( !m_mods1D.empty() )
425  {
426  MsgStream log ( msgSvc () , name () ) ;
427  if (msgLevel(MSG::DEBUG))
428  log << MSG::DEBUG
429  << " Substituted histograms #" << m_mods1D.size() << " : " << endmsg;
430  for ( const auto& ih : m_mods1D )
431  {
432  if (msgLevel(MSG::DEBUG))
433  log << MSG::DEBUG << " Path='" << ih << "'" ;
434  auto im = m_defs1D.find( ih ) ;
435  if ( m_defs1D.end() != im ) { log << " " << im->second ; }
436  }
437  m_mods1D.clear() ;
438  }
439  return DataSvc::finalize () ;
440 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
std::set< std::string > m_mods1D
Definition: HistogramSvc.h:969
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
Histo1DMap m_defs1D
Definition: HistogramSvc.h:966
StatusCode finalize() override
Service initialization.
Definition: DataSvc.cpp:1196
virtual StatusCode HistogramSvc::findObject ( IRegistry pReg,
CSTR  path,
P1D *&  obj 
)
inlinevirtual

Definition at line 676 of file HistogramSvc.h.

677  { return Helper(this).find(pReg,path,obj); }
list path
Definition: __init__.py:15
virtual StatusCode HistogramSvc::findObject ( IRegistry pReg,
CSTR  path,
P2D *&  obj 
)
inlinevirtual

Definition at line 678 of file HistogramSvc.h.

679  { return Helper(this).find(pReg,path,obj); }
list path
Definition: __init__.py:15
virtual StatusCode HistogramSvc::findObject ( IRegistry pReg,
CSTR  path,
H1D *&  obj 
)
inlinevirtual

Definition at line 680 of file HistogramSvc.h.

681  { return Helper(this).find(pReg,path,obj); }
list path
Definition: __init__.py:15
virtual StatusCode HistogramSvc::findObject ( IRegistry pReg,
CSTR  path,
H2D *&  obj 
)
inlinevirtual

Definition at line 682 of file HistogramSvc.h.

683  { return Helper(this).find(pReg,path,obj); }
list path
Definition: __init__.py:15
virtual StatusCode HistogramSvc::findObject ( IRegistry pReg,
CSTR  path,
H3D *&  obj 
)
inlinevirtual

Definition at line 684 of file HistogramSvc.h.

685  { return Helper(this).find(pReg,path,obj); }
list path
Definition: __init__.py:15
virtual StatusCode HistogramSvc::findObject ( CSTR  full,
P1D *&  obj 
)
inlinevirtual

Definition at line 687 of file HistogramSvc.h.

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

Definition at line 689 of file HistogramSvc.h.

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

Definition at line 691 of file HistogramSvc.h.

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

Definition at line 693 of file HistogramSvc.h.

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

Definition at line 695 of file HistogramSvc.h.

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

Definition at line 698 of file HistogramSvc.h.

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

Definition at line 700 of file HistogramSvc.h.

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

Definition at line 702 of file HistogramSvc.h.

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

Definition at line 704 of file HistogramSvc.h.

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

Definition at line 706 of file HistogramSvc.h.

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

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
virtual StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
P2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
H1D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
H2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( CSTR  par,
int  item,
H3D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
P1D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
P2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
H1D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
H2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( DataObject par,
int  item,
H3D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( DataObject par,
CSTR  item,
P1D *&  obj 
)
inlinevirtual

Definition at line 731 of file HistogramSvc.h.

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

Definition at line 733 of file HistogramSvc.h.

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

Definition at line 735 of file HistogramSvc.h.

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

Definition at line 737 of file HistogramSvc.h.

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

Definition at line 739 of file HistogramSvc.h.

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

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
virtual StatusCode HistogramSvc::findObject ( Base par,
int  item,
P2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( Base par,
int  item,
H1D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( Base par,
int  item,
H2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( Base par,
int  item,
H3D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
P1D *&  obj 
)
inlinevirtual

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
tuple item
print s1,s2
Definition: ana.py:146
virtual StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
P2D *&  obj 
)
inlinevirtual

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
tuple item
print s1,s2
Definition: ana.py:146
virtual StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
H1D *&  obj 
)
inlinevirtual

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
tuple item
print s1,s2
Definition: ana.py:146
virtual StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
H2D *&  obj 
)
inlinevirtual

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
tuple item
print s1,s2
Definition: ana.py:146
virtual StatusCode HistogramSvc::findObject ( Base par,
CSTR  item,
H3D *&  obj 
)
inlinevirtual

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
tuple item
print s1,s2
Definition: ana.py:146
virtual AIDA::IHistogramFactory* HistogramSvc::histogramFactory ( )
inlinevirtual

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.
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition: System.cpp:299
AIDA::IBaseHistogram Base
Definition: HistogramSvc.h:66
virtual StatusCode registerObject(CSTR parent, CSTR rel, Base *obj)
Definition: HistogramSvc.h:557
AIDA::IHistogram2D * HistogramSvc::i_project ( CSTR  nameAndTitle,
const H3D h,
CSTR  dir 
)

Helper for 2D projections.

Definition at line 90 of file HistogramSvc.cpp.

90  {
91  TH3D *h3d = Gaudi::getRepresentation<IHistogram3D,TH3D>(h);
92  if ( h3d ) {
93  TH2D *h2d = dynamic_cast<TH2D*>(h3d->Project3D(dir.c_str()));
94  if ( h2d ) {
95  std::pair<DataObject*,H2D*> r=Gaudi::createH2D(h2d);
96  if ( r.second && registerObject(nameAndTitle,r.second).isSuccess() ) {
97  return r.second;
98  }
99  }
100  }
101  return nullptr;
102 }
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.
virtual StatusCode registerObject(CSTR parent, CSTR rel, Base *obj)
Definition: HistogramSvc.h:557
std::pair< std::string, std::string > HistogramSvc::i_splitPath ( CSTR  full)

Split full path into its components.

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

Definition at line 134 of file HistogramSvc.cpp.

134  {
135  std::string tmp = full;
136  if (tmp[0] != SEPARATOR) {
137  tmp.insert(tmp.begin(), SEPARATOR);
138  tmp.insert(tmp.begin(), m_rootName.begin(), m_rootName.end());
139  }
140  // Remove trailing "/" from newPath if it exists
141  if (tmp.rfind(SEPARATOR) == tmp.length()-1) {
142  tmp.erase(tmp.rfind(SEPARATOR),1);
143  }
144  int sep = tmp.rfind(SEPARATOR);
145  return { tmp.substr(0,sep), tmp.substr(sep) };
146 }
constexpr char SEPARATOR
StatusCode HistogramSvc::initialize ( )
virtual

Initialise the service.

Definition at line 260 of file HistogramSvc.cpp.

260  {
261  MsgStream log(msgSvc(), name());
262  StatusCode status = DataSvc::initialize();
263  // Set root object
264  if (status.isSuccess()) {
265  std::unique_ptr<DataObject> rootObj{ new DataObject() };
266  status = setRoot("/stat", rootObj.get());
267  if (status.isSuccess()) {
268  rootObj.release();
269  } else {
270  log << MSG::ERROR << "Unable to set hstogram data store root." << endmsg;
271  return status;
272  }
273  auto svc = service<IConversionSvc>("HistogramPersistencySvc",true);
274  if ( svc ) {
275  setDataLoader( svc.get() ).ignore();
276  } else {
277  log << MSG::ERROR << "Could not find HistogramPersistencySvc." << endmsg;
278  return StatusCode::FAILURE;
279  }
280  // Connect all input streams (if any)
281  for (auto & j : m_input) {
282  status = connectInput(j);
283  if (!status.isSuccess()) return status;
284  }
285  }
286  if ( !m_defs1D.empty() )
287  {
288  log << MSG::INFO << " Predefined 1D-Histograms: " << endmsg ;
289  for ( const auto& ih : m_defs1D )
290  {
291  log << MSG::INFO
292  << " Path='" << ih.first << "'"
293  << " Description " << ih.second << endmsg ;
294  }
295  }
296  return status;
297 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
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
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
StatusCode initialize() override
Service initialization.
Definition: DataSvc.cpp:1161
H1D* HistogramSvc::multiply ( CSTR  nameAndTitle,
const H1D a,
const H1D b 
)
inline

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)
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 
)
inline

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)
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 
)
inline

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)
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 53 of file HistogramSvc.h.

53  {
54  MsgStream log( msgSvc(), name() );
55  log << MSG::ERROR << "Sorry, not yet implemented..." << endmsg;
56  }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
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
virtual

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

Definition at line 107 of file HistogramSvc.cpp.

107  {
108  Gaudi::HistogramBase* b = dynamic_cast<Gaudi::HistogramBase*>(h);
109  if (b) return b->print(s);
110  MsgStream log(msgSvc(), name());
111  log << MSG::ERROR << "Unknown histogram type: Cannot cast to Gaudi::HistogramBase."
112  << endmsg;
113  return s;
114 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
virtual std::ostream & print(std::ostream &s) const =0
Print histogram to output stream.
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:246
virtual H1D* HistogramSvc::projectionX ( CSTR  name,
const H2D h 
)
inlinevirtual

Definition at line 767 of file HistogramSvc.h.

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

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 
)
inline

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.
virtual H1D* HistogramSvc::projectionY ( CSTR  name,
const H2D h 
)
inlinevirtual

Definition at line 769 of file HistogramSvc.h.

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

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.
virtual StatusCode HistogramSvc::registerObject ( CSTR  parent,
CSTR  rel,
Base obj 
)
inlinevirtual

Definition at line 557 of file HistogramSvc.h.

558  { return registerObject(createPath(parent), rel, obj); }
virtual DataObject * createPath(CSTR newPath)
Create all directories in a given full path.
virtual StatusCode registerObject(CSTR parent, CSTR rel, Base *obj)
Definition: HistogramSvc.h:557
virtual StatusCode HistogramSvc::registerObject ( CSTR  parent,
int  item,
Base obj 
)
inlinevirtual

Definition at line 559 of file HistogramSvc.h.

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

Definition at line 561 of file HistogramSvc.h.

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

Definition at line 563 of file HistogramSvc.h.

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

Definition at line 565 of file HistogramSvc.h.

566  { return registerObject(__cast(pPar), item, obj); }
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
virtual StatusCode registerObject(CSTR parent, CSTR rel, Base *obj)
Definition: HistogramSvc.h:557
tuple item
print s1,s2
Definition: ana.py:146
virtual StatusCode HistogramSvc::registerObject ( CSTR  full,
Base obj 
)
virtual
virtual StatusCode HistogramSvc::registerObject ( DataObject pPar,
CSTR  rel,
Base obj 
)
virtual
StatusCode HistogramSvc::reinitialize ( )
virtual

Initialise the service.

Definition at line 299 of file HistogramSvc.cpp.

299  {
300  return StatusCode::SUCCESS;
301 }
virtual StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
H1D *&  obj 
)
inlinevirtual

Definition at line 581 of file HistogramSvc.h.

582  { return Helper(this).retrieve(pReg,path,obj); }
list path
Definition: __init__.py:15
virtual StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
P1D *&  obj 
)
inlinevirtual

Definition at line 583 of file HistogramSvc.h.

584  { return Helper(this).retrieve(pReg,path,obj); }
list path
Definition: __init__.py:15
virtual StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
H2D *&  obj 
)
inlinevirtual

Definition at line 585 of file HistogramSvc.h.

586  { return Helper(this).retrieve(pReg,path,obj); }
list path
Definition: __init__.py:15
virtual StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
P2D *&  obj 
)
inlinevirtual

Definition at line 587 of file HistogramSvc.h.

588  { return Helper(this).retrieve(pReg,path,obj); }
list path
Definition: __init__.py:15
virtual StatusCode HistogramSvc::retrieveObject ( IRegistry pReg,
CSTR  path,
H3D *&  obj 
)
inlinevirtual

Definition at line 589 of file HistogramSvc.h.

590  { return Helper(this).retrieve(pReg,path,obj); }
list path
Definition: __init__.py:15
virtual StatusCode HistogramSvc::retrieveObject ( CSTR  full,
P1D *&  obj 
)
inlinevirtual

Definition at line 592 of file HistogramSvc.h.

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

Definition at line 594 of file HistogramSvc.h.

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

Definition at line 596 of file HistogramSvc.h.

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

Definition at line 598 of file HistogramSvc.h.

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

Definition at line 600 of file HistogramSvc.h.

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

Definition at line 603 of file HistogramSvc.h.

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

Definition at line 605 of file HistogramSvc.h.

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

Definition at line 607 of file HistogramSvc.h.

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

Definition at line 609 of file HistogramSvc.h.

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

Definition at line 611 of file HistogramSvc.h.

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

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
virtual StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
P2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
H1D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
H2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( CSTR  parent,
int  item,
H3D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( DataObject par,
CSTR  item,
P1D *&  obj 
)
inlinevirtual

Definition at line 625 of file HistogramSvc.h.

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

Definition at line 627 of file HistogramSvc.h.

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

Definition at line 629 of file HistogramSvc.h.

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

Definition at line 631 of file HistogramSvc.h.

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

Definition at line 633 of file HistogramSvc.h.

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

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
virtual StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
P2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
H1D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
H2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( DataObject par,
int  item,
H3D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
P1D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
P2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
H1D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
H2D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( Base par,
int  item,
H3D *&  obj 
)
inlinevirtual

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
virtual StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
P1D *&  obj 
)
inlinevirtual

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
tuple item
print s1,s2
Definition: ana.py:146
virtual StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
P2D *&  obj 
)
inlinevirtual

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
tuple item
print s1,s2
Definition: ana.py:146
virtual StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
H1D *&  obj 
)
inlinevirtual

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
tuple item
print s1,s2
Definition: ana.py:146
virtual StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
H2D *&  obj 
)
inlinevirtual

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
tuple item
print s1,s2
Definition: ana.py:146
virtual StatusCode HistogramSvc::retrieveObject ( Base par,
CSTR  item,
H3D *&  obj 
)
inlinevirtual

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
tuple item
print s1,s2
Definition: ana.py:146
virtual H1D* HistogramSvc::sliceX ( CSTR  name,
const H2D h,
int  indexY 
)
inlinevirtual

Definition at line 771 of file HistogramSvc.h.

772  { return sliceX( name, h, indexY, indexY ); }
virtual H1D * sliceX(CSTR name, const H2D &h, int indexY)
Definition: HistogramSvc.h:771
virtual H1D* HistogramSvc::sliceX ( CSTR  name,
const H2D h,
int  indexY1,
int  indexY2 
)
virtual
H2D* HistogramSvc::sliceXY ( CSTR  ,
const H3D ,
int  ,
int   
)
virtual H1D* HistogramSvc::sliceY ( CSTR  name,
const H2D h,
int  indexX 
)
inlinevirtual

Definition at line 773 of file HistogramSvc.h.

774  { return sliceY( name, h, indexX, indexX ); }
virtual H1D * sliceY(CSTR name, const H2D &h, int indexX)
Definition: HistogramSvc.h:773
virtual H1D* HistogramSvc::sliceY ( CSTR  name,
const H2D h,
int  indexX1,
int  indexX2 
)
virtual
H2D const H3D int NOT_IMPLEMENTED H2D* HistogramSvc::sliceYZ ( CSTR  ,
const H3D ,
int  ,
int   
)
H1D* HistogramSvc::subtract ( CSTR  nameAndTitle,
const H1D a,
const H1D b 
)
inline

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)
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 
)
inline

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)
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 
)
inline

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)
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
virtual StatusCode HistogramSvc::unregisterObject ( Base obj)
inlinevirtual

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:473
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
virtual StatusCode HistogramSvc::unregisterObject ( Base obj,
CSTR  objectPath 
)
inlinevirtual

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:473
static DataObject * __cast(T *p)
Definition: HistogramSvc.h:170
virtual StatusCode HistogramSvc::unregisterObject ( Base obj,
int  item 
)
inlinevirtual

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:473
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 415 of file HistogramSvc.cpp.

416 {
417  // check and remove the leading '/stat/'
418  removeLeading ( m_defs1D , "/stat/" ) ;
419 }
Histo1DMap m_defs1D
Definition: HistogramSvc.h:966
virtual std::ostream& HistogramSvc::write ( Base h,
std::ostream &  s = std::cout 
) const
virtual

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

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

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

Member Data Documentation

H2D const H3D HistogramSvc::int

Definition at line 814 of file HistogramSvc.h.

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.

H2D const H3D int NOT_IMPLEMENTED H2D CSTR HistogramSvc::tit

Definition at line 818 of file HistogramSvc.h.


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