Go to the documentation of this file.
16 template <
class PBASE>
18 const unsigned long bins )
const {
20 if ( !produceHistos() ) {
return nullptr; }
23 auto hist = histo1D( title );
25 if ( hist ) {
return hist; }
29 newHistoID( title, ID );
32 return this->book1D( ID, title, low, high, bins );
37 template <
class PBASE>
39 const double high,
const unsigned long bins )
const {
41 if ( !produceHistos() ) {
return nullptr; }
46 this->Error(
"Undefined Histogram ID : Title='" + title +
"'" ).ignore();
51 auto* hist = histo1D( ID );
53 if ( hist ) {
return hist; }
60 hist = this->histoSvc()->book( histoPath(), ID.
numericID(),
htitle, bins, low, high );
62 hist = this->histoSvc()->book( histoPath() +
"/" + ID.
literalID(),
htitle, bins, low, high );
67 this->Error(
"IHistogram1D* points to NULL! ID='" + ID.
idAsString() +
"' title='" +
htitle +
"'" ).ignore();
72 m_histo1DMapID[ID] = hist;
73 m_histo1DMapTitle[title] = hist;
80 this->debug() <<
"Booked 1D Histogram : ID='" << ID <<
"' Path=" << histoPath() <<
" Title='"
88 template <
class PBASE>
91 if ( !
histo ) {
return nullptr; }
93 if ( !checkForNaN() ) {
98 this->Warning(
"fill():: 'NaN' value is skipped from the histogram '" +
102 this->Warning(
"fill():: 'Infinite' value is skipped from the histogram '" +
112 template <
class PBASE>
114 const double high,
const unsigned long bins,
115 const double weight )
const {
116 AIDA::IHistogram1D*
h(
nullptr );
117 if ( produceHistos() ) {
119 h = histo1D( title );
120 if ( !
h ) {
h = book1D( title, low, high, bins ); }
122 h =
fill(
h, value, weight, title );
129 template <
class PBASE>
131 const double low,
const double high,
const unsigned long bins,
132 const double weight )
const {
133 AIDA::IHistogram1D*
h(
nullptr );
134 if ( produceHistos() ) {
137 if ( !
h ) {
h = book1D( ID, title, low, high, bins ); }
139 h =
fill(
h, value, weight, title );
146 template <
class PBASE>
153 template <
class PBASE>
160 template <
class PBASE>
162 const double weight )
const {
168 template <
class PBASE>
170 const double weight )
const {
AIDA::IHistogram1D * plot1D(const double value, const std::string &title, const double low, const double high, const unsigned long bins=100, const double weight=1.0) const
fill the 1D histogram (book on demand)
NumericID numericID() const noexcept
Returns the numerical ID.
GAUDI_API AIDA::IBaseHistogram * toBase(AIDA::IHistogram1D *histo)
bool undefined() const noexcept
Is this ID undefined.
GAUDI_API std::string htitle(const AIDA::IBaseHistogram *histo, const std::string &title="")
get the title
AIDA::IHistogram1D * book(const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const
book the 1D histogram
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
double highEdge() const
get the high edge
double lowEdge() const
get the low edge
int bins() const
get the number of bins
const std::string & title() const
get the title
GAUDI_API void fill(AIDA::IHistogram1D *histo, const double value, const double weight=1.0)
simple function to fill AIDA::IHistogram1D objects
AIDA::IHistogram1D * book1D(const std::string &title, const double low=0, const double high=100, const unsigned long bins=100) const
book the 1D histogram
const LiteralID & literalID() const noexcept
Returns the ID as a LiteralID.
GAUDI_API LiteralID idAsString() const
Return ID as string, for both numeric and literal IDs.
bool numeric() const noexcept
Is this ID numeric.
bool literal() const noexcept
Is this ID numeric.
AIDA::IHistogram1D * fill(AIDA::IHistogram1D *histo, const double value, const double weight, const std::string &title="") const
fill the 1D histogram with the value and weight