16 #include "AIDA/IHistogram1D.h"
17 #include "AIDA/IHistogram2D.h"
18 #include "AIDA/IHistogram3D.h"
19 #include "AIDA/IProfile1D.h"
20 #include "AIDA/IProfile2D.h"
39 #pragma warning(disable:2259)
41 #include "boost/format.hpp"
42 #include "boost/lexical_cast.hpp"
56 static const std::string s_invalidLocation =
"<UNKNOWN LOCATION>" ;
60 (
const AIDA::IHistogram* aida )
62 if ( 0 == aida ) {
return s_invalidLocation ; }
64 if ( 0 ==
object ) {
return s_invalidLocation ; }
66 if ( 0 == registry ) {
return s_invalidLocation ; }
72 const AIDA::IHistogram1D* aida ,
77 (
const AIDA::IHistogram1D* aida ,
81 (
" ID=%|-25|%|30t| \"%|.45s|\" %|79t| Ents/All=%|5|/%|-5|<X>/sX=%|.5|/%|-.5|" ) ;
83 fmt % (aida->allEntries()-aida->extraEntries()) % aida->allEntries() ;
84 fmt % aida->mean() % aida->rms() ;
91 const AIDA::IHistogram2D* aida ,
96 (
const AIDA::IHistogram2D* aida ,
100 (
" ID=%|-25|%|30t| \"%|.45s|\" %|79t| Ents/All=%|5|/%|-5|<X>/sX=%|.5|/%|-.5|,<Y>/sY=%|.5|/%|-.5|" ) ;
102 fmt % (aida->allEntries()-aida->extraEntries()) % aida->allEntries() ;
103 fmt % aida->meanX() % aida->rmsX() ;
104 fmt % aida->meanY() % aida->rmsY() ;
111 const AIDA::IHistogram3D* aida ,
116 (
const AIDA::IHistogram3D* aida ,
120 (
" ID=%|-25|%|30t| \"%|.45s|\" %|79t| Ents/All=%|5|/%|-5|<X>/sX=%|.5|/%|-.5|,<Y>/sY=%|.5|/%|-.5|,<Z>/sZ=%|.5|/%|-.5|" ) ;
122 fmt % (aida->allEntries()-aida->extraEntries()) % aida->allEntries() ;
123 fmt % aida->meanX() % aida->rmsX() ;
124 fmt % aida->meanY() % aida->rmsY() ;
125 fmt % aida->meanZ() % aida->rmsZ() ;
132 const AIDA::IProfile1D* aida ,
137 (
const AIDA::IProfile1D* aida ,
141 (
" ID=%|-25|%|30t| \"%|.55s|\" %|79t| Ents/All=%|5|/%|-5|<X>/sX=%|.5|/%|-.5|" ) ;
143 fmt % (aida->allEntries()-aida->extraEntries()) % aida->allEntries() ;
144 fmt % aida->mean() % aida->rms() ;
151 const AIDA::IProfile2D* aida ,
156 (
const AIDA::IProfile2D* aida ,
160 (
" ID=%|-25|%|30t| \"%|.55s|\" %|79t| Ents/All=%|5|/%|-5|<X>/sX=%|.5|/%|-.5|,<Y>/sY=%|.5|/%|-.5|" );
162 fmt % (aida->allEntries()-aida->extraEntries()) % aida->allEntries() ;
163 fmt % aida->meanX() % aida->rmsX() ;
164 fmt % aida->meanY() % aida->rmsY() ;
171 const std::string& tag )
190 for ( INTuple::ItemContainer::const_iterator iitem = items.begin() ;
191 items.end() != iitem ; ++iitem )
193 if ( items.begin() != iitem ) { str +=
"," ; }
195 if ( 0 == item ) { continue ; }
196 str += item->
name() ;
197 if ( 0 != item->
ndim() )
198 { str +=
'[' + boost::lexical_cast<std::string>( item->
ndim() ) +
']'; }
199 if ( item->
hasIndex() ) { str +=
"/V" ; }
209 (
"Title=\"%|.39s|\" %|48t|#items=%|-3|%|50t|{%|.81s|}" ) ;
210 fmt % tuple->
title() ;
211 fmt % tuple->
items().size() ;
212 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
std::vector< INTupleItem * > ItemContainer
static std::string toString(const AIDA::IHistogram1D *aida, const GaudiAlg::HistoID &ID)
virtual const std::string & title() const =0
Object title.
virtual bool hasIndex() const =0
Is the tuple have an index item?
static void print(MsgStream &stream, const AIDA::IProfile1D *aida, const GaudiAlg::HistoID &ID)
virtual const std::string & name() const =0
Access _Item name.
GAUDI_API std::string formatAsTableRow(const StatEntity &counter, const bool flag, const std::string &format1=" |%|7d| |%|11.7g| |%|#11.5g| |%|#10.5g| |%|#10.5g| |%|#10.5g| |", const std::string &format2="*|%|7d| |%|11.5g| |(%|#9.7g| +- %|-#8.6g|)%%| ----- | ----- |")
print the counter in a form of the table row
NTuple interface class definition.
NTuple interface class definition.
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)
virtual long ndim() const =0
Dimension.
static void print(MsgStream &stream, const AIDA::IProfile2D *aida, const GaudiAlg::HistoID &ID)
GAUDI_API LiteralID idAsString() const
Return ID as string, for both numeric and literal IDs.
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 const id_type & identifier() const =0
Full identifier (or key)
virtual ItemContainer & items()=0
Access item container.
static std::string toString(const AIDA::IProfile1D *aida, const GaudiAlg::HistoID &ID)
The basic counter used for Monitoring purposes.
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.