23 #include "AIDA/IHistogram1D.h" 24 #include "AIDA/IHistogram2D.h" 25 #include "AIDA/IHistogram3D.h" 26 #include "AIDA/IProfile1D.h" 27 #include "AIDA/IProfile2D.h" 43 #include "boost/format.hpp" 56 static const std::string s_invalidLocation =
"<UNKNOWN LOCATION>";
60 if ( !aida ) {
return s_invalidLocation; }
61 const DataObject*
object = dynamic_cast<const DataObject*>( aida );
62 if ( !
object ) {
return s_invalidLocation; }
64 if ( !
registry ) {
return s_invalidLocation; }
73 boost::format fmt(
" ID=%|-25|%|30t| \"%|.45s|\" %|79t| Ents/All=%|5|/%|-5|<X>/sX=%|.5|/%|-.5|" );
75 fmt % ( aida->allEntries() - aida->extraEntries() ) % aida->allEntries();
76 fmt % aida->mean() % aida->rms();
86 boost::format fmt(
" ID=%|-25|%|30t| \"%|.45s|\" %|79t| Ents/All=%|5|/%|-5|<X>/sX=%|.5|/%|-.5|,<Y>/sY=%|.5|/%|-.5|" );
88 fmt % ( aida->allEntries() - aida->extraEntries() ) % aida->allEntries();
89 fmt % aida->meanX() % aida->rmsX();
90 fmt % aida->meanY() % aida->rmsY();
101 "Ents/All=%|5|/%|-5|<X>/sX=%|.5|/%|-.5|,<Y>/sY=%|.5|/%|-.5|,<Z>/sZ=%|.5|/%|-.5|" );
103 fmt % ( aida->allEntries() - aida->extraEntries() ) % aida->allEntries();
104 fmt % aida->meanX() % aida->rmsX();
105 fmt % aida->meanY() % aida->rmsY();
106 fmt % aida->meanZ() % aida->rmsZ();
116 boost::format fmt(
" ID=%|-25|%|30t| \"%|.55s|\" %|79t| Ents/All=%|5|/%|-5|<X>/sX=%|.5|/%|-.5|" );
118 fmt % ( aida->allEntries() - aida->extraEntries() ) % aida->allEntries();
119 fmt % aida->mean() % aida->rms();
129 boost::format fmt(
" ID=%|-25|%|30t| \"%|.55s|\" %|79t| Ents/All=%|5|/%|-5|<X>/sX=%|.5|/%|-.5|,<Y>/sY=%|.5|/%|-.5|" );
131 fmt % ( aida->allEntries() - aida->extraEntries() ) % aida->allEntries();
132 fmt % aida->meanX() % aida->rmsX();
133 fmt % aida->meanY() % aida->rmsY();
140 stat.
print( ost,
true, tag );
153 for (
const auto& item :
items ) {
154 if ( !item ) {
continue; }
155 if ( !str.
empty() ) { str +=
","; }
157 if ( 0 != item->ndim() ) { str +=
'[' +
std::to_string( item->ndim() ) +
']'; }
158 if ( item->hasIndex() ) { str +=
"/V"; }
165 boost::format fmt(
"Title=\"%|.39s|\" %|48t|#items=%|-3|%|50t|{%|.81s|}" );
166 fmt % tuple->
title();
168 fmt % _print( tuple->
items() );
static std::string print(const INTuple *tuple, const GaudiAlg::TupleID &ID)
Definition of the MsgStream class used to transmit messages.
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
static std::string print(const StatEntity &stat, const std::string &tag)
static void print(MsgStream &stream, const AIDA::IHistogram3D *aida, const GaudiAlg::HistoID &ID)
std::string toString(const TYPE &obj)
the generic implementation of the type conversion to the string
static std::string toString(const AIDA::IHistogram1D *aida, const GaudiAlg::HistoID &ID)
virtual const std::string & title() const =0
Object title.
static void print(MsgStream &stream, const AIDA::IProfile1D *aida, const GaudiAlg::HistoID &ID)
NTuple interface class definition.
GAUDI_API LiteralID idAsString() const
Return ID as string, for both numeric and literal IDs.
static const std::string & location(const AIDA::IHistogram *aida)
The IRegistry represents the entry door to the environment any data object residing in a transient da...
collection of useful utilities to print certain objects (currently used for implementation in class G...
static std::string toString(const AIDA::IHistogram3D *aida, const GaudiAlg::HistoID &ID)
static void print(MsgStream &stream, const AIDA::IHistogram1D *aida, const GaudiAlg::HistoID &ID)
std::ostream & print(std::ostream &o, bool tableFormat, const std::string &name, bool flag=true, std::string fmtHead="%|-48.48s|%|27t|") const
static void print(MsgStream &stream, const AIDA::IProfile2D *aida, const GaudiAlg::HistoID &ID)
static void print(MsgStream &stream, const AIDA::IHistogram2D *aida, const GaudiAlg::HistoID &ID)
static std::string toString(const AIDA::IHistogram2D *aida, const GaudiAlg::HistoID &ID)
virtual ItemContainer & items()=0
Access item container.
static std::string toString(const AIDA::IProfile1D *aida, const GaudiAlg::HistoID &ID)
backward compatible StatEntity class.
A DataObject is the base class of any identifiable object on any data store.
static std::string toString(const AIDA::IProfile2D *aida, const GaudiAlg::HistoID &ID)
ID class for Histogram and Ntuples.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.