14 # pragma warning( disable : 2259 )
37 string histoAddr(
const string&
name ) {
38 if (
name.starts_with(
"/stat/" ) ) {
return string(
name, 6 ); }
42 string histoAddr(
const DataObject* obj,
const string& rel ) {
43 if ( !obj ) {
return rel; }
45 if ( !reg ) {
return rel; }
48 if ( rel.empty() ) {
return histoAddr(
name ); }
49 if (
'/' ==
name[
name.size() - 1] ||
'/' == rel[0] ) {
return histoAddr(
name + rel ); }
50 return histoAddr(
name +
"/" + rel );
54 auto it = std::find_if(
m.begin(),
m.end(), [&lead](
const auto& i ) { return 0 == i.first.find( lead ); } );
55 if ( it ==
m.end() )
return 0;
56 string addr = string( it->first, lead.size() );
60 return 1 + removeLeading(
m, lead );
66 std::pair<string, string> split =
i_splitPath( full );
75 if ( !hObj->annotation().addItem(
"id", obj.substr( 1 ) ) ) hObj->annotation().setValue(
"id", obj.substr( 1 ) );
78 if ( !hObj->annotation().addItem(
"id", obj ) ) hObj->annotation().setValue(
"id", obj );
86 TH3D* h3d = Gaudi::getRepresentation<IHistogram3D, TH3D>(
h );
88 TH2D* h2d =
dynamic_cast<TH2D*
>( h3d->Project3D( dir.c_str() ) );
102 if ( b )
return b->
print(
s );
103 error() <<
"Unknown histogram type: Cannot cast to Gaudi::HistogramBase." <<
endmsg;
110 if ( b )
return b->
write(
s );
111 error() <<
"Unknown histogram type: Cannot cast to Gaudi::HistogramBase." <<
endmsg;
118 if ( b )
return b->
write( file_name );
119 error() <<
"Unknown histogram type: Cannot cast to Gaudi::HistogramBase." <<
endmsg;
131 if ( tmp.rfind(
SEPARATOR ) == tmp.length() - 1 ) { tmp.erase( tmp.length() - 1, 1 ); }
133 return { tmp.substr( 0, sep ), tmp.substr( sep + 1 ) };
138 string tmpPath = newPath;
140 tmpPath.insert( tmpPath.begin(),
SEPARATOR );
144 if ( tmpPath.rfind(
SEPARATOR ) == tmpPath.length() - 1 ) { tmpPath.erase( tmpPath.rfind(
SEPARATOR ), 1 ); }
147 if ( sc.
isSuccess() ) {
return pObject; }
149 string rest( tmpPath, sep + 1, tmpPath.length() - sep );
150 string subPath( tmpPath, 0, sep );
154 error() <<
"Unable to create the histogram path" <<
endmsg;
163 auto directory = std::make_unique<DataObject>();
168 error() <<
"Unable to create the histogram directory: " << parentDir <<
"/" << subDir <<
endmsg;
173 error() <<
"Unable to create the histogram directory: " << parentDir <<
"/" << subDir <<
endmsg;
177 return directory.release();
192 string::size_type loc =
ident.find(
" " );
193 string filename, auth, svc =
"", typ =
"";
194 string logname =
ident.substr( 0, loc );
195 for (
auto attrib : Parser(
ident.substr( loc + 1 ) ) ) {
196 switch ( ::
toupper( attrib.tag[0] ) ) {
199 filename = std::move( attrib.value );
202 typ = std::move( attrib.value );
208 if ( typ.length() > 0 ) {
212 entryname += logname;
214 switch ( ::
toupper( typ[0] ) ) {
225 info() <<
"Added stream file:" <<
filename <<
" as " << logname <<
endmsg;
232 error() <<
"Cannot add " <<
ident <<
" invalid filename!" <<
endmsg;
241 auto rootObj = std::make_unique<DataObject>();
242 status =
setRoot(
"/stat", rootObj.get() );
244 error() <<
"Unable to set hstogram data store root." <<
endmsg;
248 auto svc = service<IConversionSvc>(
"HistogramPersistencySvc",
true );
250 error() <<
"Could not find HistogramPersistencySvc." <<
endmsg;
257 if ( !status.
isSuccess() )
return status;
261 info() <<
" Predefined 1D-Histograms: " <<
endmsg;
263 info() <<
" Path='" << ih.first <<
"'"
264 <<
" Description " << ih.second <<
endmsg;
275 std::pair<DataObject*, IHistogram1D*> o(
nullptr,
nullptr );
281 throw GaudiException(
"Cannot cast 2D histogram to H2D to create sliceX `" +
name +
"'!",
"HistogramSvc",
291 std::pair<DataObject*, IHistogram1D*> o(
nullptr,
nullptr );
317 return i_book( pPar, rel, title,
320 string hn = histoAddr( pPar, rel );
323 return i_book( pPar, rel, title,
327 debug() <<
" Redefine the parameters for the histogram '" + hn +
"' to be " << ifound->second <<
endmsg;
330 return i_book( pPar, rel, ifound->second.title(),
332 ifound->second.bins(), ifound->second.lowEdge(), ifound->second.lowEdge() ) );
352 return path.substr(
root.size() ) +
'/' + rel;
364 if (
m_defs1D.end() != im ) { debug() <<
" " << im->second; }
372 AIDA::IHistogram1D*
HistogramSvc::book(
const string&
par,
const string& rel,
const string& title,
int nx,
double lowx,
378 AIDA::IHistogram1D*
HistogramSvc::book(
const string&
par,
int hID,
const string& title,
int nx,
double lowx,
380 return book(
par, std::to_string( hID ), title, nx, lowx, upx );
386 return book( pPar, std::to_string( hID ), title, nx, lowx, upx );
390 AIDA::IHistogram1D*
HistogramSvc::book(
const std::pair<string, string>& loc,
const string& title,
int nx,
double lowx,
392 return book( loc.first, loc.second, title, nx, lowx, upx );
396 AIDA::IHistogram1D*
HistogramSvc::book(
const string& full,
const string& title,
int nx,
double lowx,
double upx ) {
402 double lowx,
double upx,
const string& opt ) {
408 double upx,
const string& opt ) {
409 return bookProf(
par, std::to_string( hID ), title, nx, lowx, upx, opt );
414 double upx,
const string& opt ) {
415 return bookProf( pPar, std::to_string( hID ), title, nx, lowx, upx, opt );
419 AIDA::IProfile1D*
HistogramSvc::bookProf(
const std::pair<string, string>& loc,
const string& title,
int nx,
420 double lowx,
double upx,
const string& opt ) {
421 return bookProf( loc.first, loc.second, title, nx, lowx, upx, opt );
425 AIDA::IProfile1D*
HistogramSvc::bookProf(
const string& full,
const string& title,
int nx,
double lowx,
double upx,
426 const string& opt ) {
432 double upx,
const string& opt ) {
440 double lowx,
double upx,
double upper,
double lower,
const string& opt ) {
446 double upx,
double upper,
double lower,
const string& opt ) {
447 return bookProf(
par, std::to_string( hID ), title, nx, lowx, upx, upper, lower, opt );
452 double upx,
double upper,
double lower,
const string& opt ) {
453 return bookProf( pPar, std::to_string( hID ), title, nx, lowx, upx, upper, lower, opt );
457 AIDA::IProfile1D*
HistogramSvc::bookProf(
const std::pair<string, string>& loc,
const string& title,
int nx,
458 double lowx,
double upx,
double upper,
double lower,
const string& opt ) {
459 return bookProf( loc.first, loc.second, title, nx, lowx, upx, upper, lower, opt );
463 AIDA::IProfile1D*
HistogramSvc::bookProf(
const string& full,
const string& title,
int nx,
double lowx,
double upx,
464 double upper,
double lower,
const string& opt ) {
470 double upx,
double upper,
double lower,
const string& opt ) {
478 return book(
par, std::to_string( hID ), title, e );
483 return book( pPar, std::to_string( hID ), title, e );
493 AIDA::IHistogram1D*
HistogramSvc::book(
const std::pair<std::string, std::string>& loc,
const std::string& title,
495 return book( loc.first, loc.second, title, e );
521 return bookProf(
par, std::to_string( hID ), title, e );
526 return bookProf( pPar, std::to_string( hID ), title, e );
532 return bookProf( loc.first, loc.second, title, e );
538 return i_book( pPar, rel, title,
550 Edges e,
double upper,
double lower ) {
556 double upper,
double lower ) {
557 return bookProf(
par, std::to_string( hID ), title, e, upper, lower );
563 return bookProf( pPar, std::to_string( hID ), title, e, upper, lower );
568 Edges e,
double upper,
double lower ) {
569 return bookProf( loc.first, loc.second, title, e, upper, lower );
574 double upper,
double lower ) {
575 return i_book( pPar, rel, title,
580 AIDA::IHistogram2D*
HistogramSvc::book(
const std::string& full,
const std::string& title,
int nx,
double lowx,
581 double upx,
int ny,
double lowy,
double upy ) {
582 return book(
i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy );
587 int nx,
double lowx,
double upx,
int ny,
double lowy,
double upy ) {
592 AIDA::IHistogram2D*
HistogramSvc::book(
const std::string&
par,
int hID,
const std::string& title,
int nx,
double lowx,
593 double upx,
int ny,
double lowy,
double upy ) {
594 return book(
par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
598 AIDA::IHistogram2D*
HistogramSvc::book(
const std::pair<std::string, std::string>& loc,
const std::string& title,
599 int nx,
double lowx,
double upx,
int ny,
double lowy,
double upy ) {
600 return book( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy );
605 double upx,
int ny,
double lowy,
double upy ) {
606 return book( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
611 double lowx,
double upx,
int ny,
double lowy,
double upy ) {
619 double upx,
int ny,
double lowy,
double upy,
double upper,
double lower ) {
625 int nx,
double lowx,
double upx,
int ny,
double lowy,
double upy,
626 double upper,
double lower ) {
627 return bookProf(
createPath(
par ), rel, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
632 int nx,
double lowx,
double upx,
int ny,
double lowy,
double upy,
633 double upper,
double lower ) {
634 return bookProf( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
639 double lowx,
double upx,
int ny,
double lowy,
double upy,
double upper,
641 return bookProf(
par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
646 double upx,
int ny,
double lowy,
double upy,
double upper,
double lower ) {
647 return bookProf( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, upper, lower );
652 double lowx,
double upx,
int ny,
double lowy,
double upy,
double upper,
654 return i_book( pPar, rel, title,
656 upy, upper, lower ) );
661 double upx,
int ny,
double lowy,
double upy ) {
667 int nx,
double lowx,
double upx,
int ny,
double lowy,
double upy ) {
673 int nx,
double lowx,
double upx,
int ny,
double lowy,
double upy ) {
674 return bookProf( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy );
679 double lowx,
double upx,
int ny,
double lowy,
double upy ) {
680 return bookProf(
par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
685 double upx,
int ny,
double lowy,
double upy ) {
686 return bookProf( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy );
691 double lowx,
double upx,
int ny,
double lowy,
double upy ) {
694 Gaudi::createProf2D(
serviceLocator(),
buildHistoPath( pPar, rel ), title, nx, lowx, upx, ny, lowy, upy, 0, 0 ) );
710 return book(
par, std::to_string( hID ), title, x, y );
714 AIDA::IHistogram2D*
HistogramSvc::book(
const std::pair<std::string, std::string>& loc,
const std::string& title,
716 return book( loc.first, loc.second, title, x, y );
721 return book( pPar, std::to_string( hID ), title, x, y );
744 return bookProf(
par, std::to_string( hID ), title, x, y );
749 return bookProf( pPar, std::to_string( hID ), title, x, y );
755 return bookProf( loc.first, loc.second, title, x, y );
761 return i_book( pPar, rel, title,
767 double upper,
double lower ) {
773 Edges x,
Edges y,
double upper,
double lower ) {
779 double upper,
double lower ) {
780 return bookProf(
par, std::to_string( hID ), title, x, y, upper, lower );
785 double upper,
double lower ) {
786 return bookProf( pPar, std::to_string( hID ), title, x, y, upper, lower );
791 Edges x,
Edges y,
double upper,
double lower ) {
792 return bookProf( loc.first, loc.second, title, x, y, upper, lower );
797 Edges y,
double upper,
double lower ) {
798 return i_book( pPar, rel, title,
803 AIDA::IHistogram3D*
HistogramSvc::book(
const std::string& full,
const std::string& title,
int nx,
double lowx,
804 double upx,
int ny,
double lowy,
double upy,
int nz,
double lowz,
double upz ) {
805 return book(
i_splitPath( full ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
810 int nx,
double lowx,
double upx,
int ny,
double lowy,
double upy,
int nz,
811 double lowz,
double upz ) {
812 return book(
createPath(
par ), rel, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
816 AIDA::IHistogram3D*
HistogramSvc::book(
const std::string&
par,
int hID,
const std::string& title,
int nx,
double lowx,
817 double upx,
int ny,
double lowy,
double upy,
int nz,
double lowz,
double upz ) {
818 return book(
par, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
823 double upx,
int ny,
double lowy,
double upy,
int nz,
double lowz,
double upz ) {
824 return book( pPar, std::to_string( hID ), title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
828 AIDA::IHistogram3D*
HistogramSvc::book(
const std::pair<std::string, std::string>& loc,
const std::string& title,
829 int nx,
double lowx,
double upx,
int ny,
double lowy,
double upy,
int nz,
830 double lowz,
double upz ) {
831 return book( loc.first, loc.second, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
836 double lowx,
double upx,
int ny,
double lowy,
double upy,
int nz,
double lowz,
838 return i_book( pPar, rel, title,
839 Gaudi::createH3D(
serviceLocator(),
buildHistoPath( pPar, rel ), title, nx, lowx, upx, ny, lowy, upy,
857 return book(
par, std::to_string( hID ), title, x, y, z );
863 return book( pPar, std::to_string( hID ), title, x, y, z );
867 AIDA::IHistogram3D*
HistogramSvc::book(
const std::pair<std::string, std::string>& loc,
const std::string& title,
869 return book( loc.first, loc.second, title, x, y, z );
903 return Helper(
this ).retrieve( pReg,
path, obj );
908 return Helper(
this ).retrieve( pReg,
path, obj );
913 return Helper(
this ).retrieve( pReg,
path, obj );
918 return Helper(
this ).retrieve( pReg,
path, obj );
923 return Helper(
this ).retrieve( pReg,
path, obj );
928 return Helper(
this ).retrieve( full, obj );
933 return Helper(
this ).retrieve( full, obj );
938 return Helper(
this ).retrieve( full, obj );
943 return Helper(
this ).retrieve( full, obj );
948 return Helper(
this ).retrieve( full, obj );
954 AIDA::IProfile1D*& obj ) {
955 return Helper(
this ).retrieve( parent, rel, obj );
960 return Helper(
this ).retrieve( parent, rel, obj );
965 return Helper(
this ).retrieve( parent, rel, obj );
970 return Helper(
this ).retrieve( parent, rel, obj );
975 return Helper(
this ).retrieve( parent, rel, obj );
980 return Helper(
this ).retrieve( parent, item, obj );
985 return Helper(
this ).retrieve( parent, item, obj );
990 return Helper(
this ).retrieve( parent, item, obj );
995 return Helper(
this ).retrieve( parent, item, obj );
1000 return Helper(
this ).retrieve( parent, item, obj );
1004 return Helper(
this ).retrieve(
par, item, obj );
1009 return Helper(
this ).retrieve(
par, item, obj );
1014 return Helper(
this ).retrieve(
par, item, obj );
1019 return Helper(
this ).retrieve(
par, item, obj );
1024 return Helper(
this ).retrieve(
par, item, obj );
1029 return Helper(
this ).retrieve(
par, item, obj );
1034 return Helper(
this ).retrieve(
par, item, obj );
1039 return Helper(
this ).retrieve(
par, item, obj );
1044 return Helper(
this ).retrieve(
par, item, obj );
1049 return Helper(
this ).retrieve(
par, item, obj );
1054 return Helper(
this ).retrieve( ::detail::cast(
par ), item, obj );
1059 return Helper(
this ).retrieve( ::detail::cast(
par ), item, obj );
1064 return Helper(
this ).retrieve( ::detail::cast(
par ), item, obj );
1069 return Helper(
this ).retrieve( ::detail::cast(
par ), item, obj );
1074 return Helper(
this ).retrieve( ::detail::cast(
par ), item, obj );
1079 return Helper(
this ).retrieve( ::detail::cast(
par ), item, obj );
1084 return Helper(
this ).retrieve( ::detail::cast(
par ), item, obj );
1089 return Helper(
this ).retrieve( ::detail::cast(
par ), item, obj );
1094 return Helper(
this ).retrieve( ::detail::cast(
par ), item, obj );
1099 return Helper(
this ).retrieve( ::detail::cast(
par ), item, obj );
1104 return Helper(
this ).find( pReg,
path, obj );
1108 return Helper(
this ).find( pReg,
path, obj );
1112 return Helper(
this ).find( pReg,
path, obj );
1116 return Helper(
this ).find( pReg,
path, obj );
1120 return Helper(
this ).find( pReg,
path, obj );
1124 return Helper(
this ).find( full, obj );
1128 return Helper(
this ).find( full, obj );
1133 return Helper(
this ).find( full, obj );
1138 return Helper(
this ).find( full, obj );
1143 return Helper(
this ).find( full, obj );
1148 return Helper(
this ).find(
par, rel, obj );
1153 return Helper(
this ).find(
par, rel, obj );
1158 return Helper(
this ).find(
par, rel, obj );
1163 return Helper(
this ).find(
par, rel, obj );
1168 return Helper(
this ).find(
par, rel, obj );
1173 return Helper(
this ).find(
par, item, obj );
1178 return Helper(
this ).find(
par, item, obj );
1183 return Helper(
this ).find(
par, item, obj );
1188 return Helper(
this ).find(
par, item, obj );
1193 return Helper(
this ).find(
par, item, obj );
1198 return Helper(
this ).find(
par, item, obj );
1203 return Helper(
this ).find(
par, item, obj );
1208 return Helper(
this ).find(
par, item, obj );
1213 return Helper(
this ).find(
par, item, obj );
1218 return Helper(
this ).find(
par, item, obj );
1223 return Helper(
this ).find(
par, item, obj );
1228 return Helper(
this ).find(
par, item, obj );
1233 return Helper(
this ).find(
par, item, obj );
1238 return Helper(
this ).find(
par, item, obj );
1243 return Helper(
this ).find(
par, item, obj );
1248 return Helper(
this ).find( ::detail::cast(
par ), item, obj );
1253 return Helper(
this ).find( ::detail::cast(
par ), item, obj );
1258 return Helper(
this ).find( ::detail::cast(
par ), item, obj );
1263 return Helper(
this ).find( ::detail::cast(
par ), item, obj );
1268 return Helper(
this ).find( ::detail::cast(
par ), item, obj );
1273 return Helper(
this ).find( ::detail::cast(
par ), item, obj );
1278 return Helper(
this ).find( ::detail::cast(
par ), item, obj );
1283 return Helper(
this ).find( ::detail::cast(
par ), item, obj );
1288 return Helper(
this ).find( ::detail::cast(
par ), item, obj );
1293 return Helper(
this ).find( ::detail::cast(
par ), item, obj );
1298 return sliceX(
name,
h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN );
1303 return sliceY(
name,
h, IAxis::UNDERFLOW_BIN, IAxis::OVERFLOW_BIN );
1317 AIDA::IHistogram1D*
HistogramSvc::add(
const std::string& nameAndTitle,
const AIDA::IHistogram1D& a,
1318 const AIDA::IHistogram1D& b ) {
1324 const AIDA::IHistogram1D& b ) {
1330 const AIDA::IHistogram1D& b ) {
1336 const AIDA::IHistogram1D& b ) {
1341 AIDA::IHistogram2D*
HistogramSvc::add(
const std::string& nameAndTitle,
const AIDA::IHistogram2D& a,
1342 const AIDA::IHistogram2D& b ) {
1348 const AIDA::IHistogram2D& b ) {
1354 const AIDA::IHistogram2D& b ) {
1360 const AIDA::IHistogram2D& b ) {
1365 AIDA::IHistogram3D*
HistogramSvc::add(
const std::string& nameAndTitle,
const AIDA::IHistogram3D& a,
1366 const AIDA::IHistogram3D& b ) {
1372 const AIDA::IHistogram3D& b ) {
1378 const AIDA::IHistogram3D& b ) {
1384 const AIDA::IHistogram3D& b ) {
1405 double lowx,
double upx ) {
1406 return book(
name, title, nx, lowx, upx );
1411 double lowx,
double upx,
const std::string& ) {
1412 return book(
name, title, nx, lowx, upx );
1417 const std::string& ) {
1424 return book( nameAndTitle, nameAndTitle, nx, lowx, upx );
1434 const AIDA::IHistogram1D&
h ) {
1440 const AIDA::IHistogram1D&
h ) {
1451 double lowx,
double upx,
int ny,
double lowy,
double upy ) {
1452 return book(
name, title, nx, lowx, upx, ny, lowy, upy );
1457 double lowx,
double upx,
int ny,
double lowy,
double upy,
1458 const std::string& ) {
1459 return book(
name, title, nx, lowx, upx, ny, lowy, upy );
1464 const Edges& y,
const std::string& ) {
1470 int ny,
double lowy,
double upy ) {
1471 return book( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy );
1481 const AIDA::IHistogram2D&
h ) {
1487 const AIDA::IHistogram2D&
h ) {
1498 double lowx,
double upx,
int ny,
double lowy,
double upy,
int nz,
1499 double lowz,
double upz ) {
1500 return book(
name, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1505 double lowx,
double upx,
int ny,
double lowy,
double upy,
int nz,
1506 double lowz,
double upz,
const std::string& ) {
1507 return book(
name, title, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1512 const Edges& y,
const Edges& z,
const std::string& ) {
1513 return book(
name, title, x, y, z );
1518 int ny,
double lowy,
double upy,
int nz,
double lowz,
1520 return book( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy, nz, lowz, upz );
1530 const AIDA::IHistogram3D&
h ) {
1536 const AIDA::IHistogram3D&
h ) {
1547 double upx,
const std::string& opt ) {
1553 double upx,
double upper,
double lower,
const std::string& opt ) {
1554 return bookProf(
name, title, nx, lowx, upx, upper, lower, opt );
1559 const std::string& ) {
1565 double upper,
double lower,
const std::string& ) {
1571 return bookProf( nametit, nametit, nx, lowx, upx,
"s" );
1576 double upper,
double lower ) {
1577 return bookProf( nametit, nametit, nx, lowx, upx, upper, lower,
"s" );
1587 const AIDA::IProfile1D&
h ) {
1593 const AIDA::IProfile1D&
h ) {
1604 double upx,
int ny,
double lowy,
double upy ) {
1605 return bookProf(
name, title, nx, lowx, upx, ny, lowy, upy );
1610 double upx,
int ny,
double lowy,
double upy,
1611 const std::string& ) {
1612 return bookProf(
name, title, nx, lowx, upx, ny, lowy, upy );
1617 const Edges& y,
const std::string& ) {
1623 int ny,
double lowy,
double upy ) {
1624 return bookProf( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy );
1629 double upx,
int ny,
double lowy,
double upy,
double upper,
1631 return bookProf(
name, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
1636 double upx,
int ny,
double lowy,
double upy,
double upper,
1637 double lower,
const std::string& ) {
1638 return bookProf(
name, title, nx, lowx, upx, ny, lowy, upy, upper, lower );
1643 const Edges& y,
double upper,
double lower,
1644 const std::string& ) {
1650 int ny,
double lowy,
double upy,
double upper,
double lower ) {
1651 return bookProf( nameAndTitle, nameAndTitle, nx, lowx, upx, ny, lowy, upy, upper, lower );
1661 const AIDA::IProfile2D&
h ) {
1667 const AIDA::IProfile2D&
h ) {