14 template <
class PBASE>
 
   17                                                      const double lowY, 
const double highY )
 const {
 
   19   if ( !produceHistos() ) { 
return nullptr; } 
 
   22   auto hist = profile1D( title );
 
   24   if ( hist ) { 
return hist; } 
 
   28   newHistoID( title, ID );
 
   31   return this->bookProfile1D( ID, title, low, high, bins, opt, lowY, highY );
 
   36 template <
class PBASE>
 
   38                                                      const double high, 
const unsigned long bins,
 
   40                                                      const double highY )
 const {
 
   42   if ( !produceHistos() ) { 
return nullptr; } 
 
   46     this->Error( 
"Undefined Histogram ID : Title='" + title + 
"'" ).ignore();
 
   51   auto hist = profile1D( ID );
 
   53   if ( hist ) { 
return hist; } 
 
   60     hist = this->histoSvc()->bookProf( histoPath(), ID.
numericID(), 
htitle, bins, low, high, lowY, highY, opt );
 
   62     hist = this->histoSvc()->bookProf( histoPath() + 
"/" + ID.
literalID(), 
htitle, bins, low, high, lowY, highY, opt );
 
   67     this->Error( 
"IProfile1D* points to NULL! ID='" + ID.
idAsString() + 
"' title='" + 
htitle + 
"'" ).ignore();
 
   72   m_profile1DMapID[ID]       = hist;
 
   73   m_profile1DMapTitle[title] = hist;
 
   80     this->debug() << 
"Booked 1D Profile Histogram : ID='" << ID << 
"' Path=" << histoPath() << 
" Title='" 
   88 template <
class PBASE>
 
   90                                             const double weight, 
const std::string& title )
 const {
 
   92   if ( !
histo ) { 
return nullptr; } 
 
   94   if ( !checkForNaN() ) {
 
   99     this->Warning( 
"fill():: 'NaN'      value is skipped from the histogram '" +
 
  103     this->Warning( 
"fill():: 'Infinite' value is skipped from the histogram '" +
 
  113 template <
class PBASE>
 
  115                                                  const double lowX, 
const double highX, 
const unsigned long binsX,
 
  116                                                  const std::string& opt, 
const double lowY, 
const double highY,
 
  117                                                  const double weight )
 const {
 
  118   AIDA::IProfile1D* 
h = 
nullptr;
 
  119   if ( produceHistos() ) {
 
  121     h = profile1D( title );
 
  122     if ( !
h ) { 
h = bookProfile1D( title, lowX, highX, binsX, opt, lowY, highY ); }
 
  124     h = 
fill( 
h, valueX, valueY, weight, title );
 
  131 template <
class PBASE>
 
  133                                                  const std::string& title, 
const double lowX, 
const double highX,
 
  134                                                  const unsigned long binsX, 
const std::string& opt, 
const double lowY,
 
  135                                                  const double highY, 
const double weight )
 const {
 
  136   AIDA::IProfile1D* 
h = 
nullptr;
 
  137   if ( produceHistos() ) {
 
  140     if ( !
h ) { 
h = bookProfile1D( ID, title, lowX, highX, binsX, opt, lowY, highY ); }
 
  142     h = 
fill( 
h, valueX, valueY, weight, title );