1 #ifndef GAUDIALG_IHISTOTOOL_H 2 #define GAUDIALG_IHISTOTOOL_H 1 69 virtual AIDA::IHistogram1D* plot1D(
const double value,
const std::string& title,
const double low,
const double high,
70 const unsigned long bins = 100,
const double weight = 1.0 )
const = 0;
85 AIDA::IHistogram1D*
plot(
const double value,
const std::string& title,
const double low,
const double high,
86 const unsigned long bins = 100,
const double weight = 1.0 )
const {
87 return plot1D( value, title, low, high, bins, weight );
130 virtual AIDA::IHistogram1D* plot1D(
const double value,
const HistoID& ID,
const std::string& title,
const double low,
131 const double high,
const unsigned long bins = 100,
132 const double weight = 1.0 )
const = 0;
148 AIDA::IHistogram1D*
plot(
const double value,
const HistoID& ID,
const std::string& title,
const double low,
149 const double high,
const unsigned long bins = 100,
const double weight = 1.0 )
const {
150 return plot1D( value, ID, title, low, high, bins, weight );
189 virtual AIDA::IHistogram2D* plot2D(
const double valueX,
const double valueY,
const std::string& title,
190 const double lowX,
const double highX,
const double lowY,
const double highY,
191 const unsigned long binsX = 50,
const unsigned long binsY = 50,
192 const double weight = 1.0 )
const = 0;
240 virtual AIDA::IHistogram2D* plot2D(
const double valueX,
const double valueY,
const HistoID& ID,
241 const std::string& title,
const double lowX,
const double highX,
242 const double lowY,
const double highY,
const unsigned long binsX = 50,
243 const unsigned long binsY = 50,
const double weight = 1.0 )
const = 0;
287 virtual AIDA::IHistogram3D* plot3D(
const double valueX,
const double valueY,
const double valueZ,
288 const std::string& title,
const double lowX,
const double highX,
289 const double lowY,
const double highY,
const double lowZ,
const double highZ,
290 const unsigned long binsX = 10,
const unsigned long binsY = 10,
291 const unsigned long binsZ = 10,
const double weight = 1.0 )
const = 0;
345 virtual AIDA::IHistogram3D* plot3D(
const double valueX,
const double valueY,
const double valueZ,
const HistoID& ID,
346 const std::string& title,
const double lowX,
const double highX,
347 const double lowY,
const double highY,
const double lowZ,
const double highZ,
348 const unsigned long binsX = 10,
const unsigned long binsY = 10,
349 const unsigned long binsZ = 10,
const double weight = 1.0 )
const = 0;
363 virtual AIDA::IHistogram1D* book1D(
const std::string& title,
const double low = 0,
const double high = 100,
364 const unsigned long bins = 100 )
const = 0;
378 AIDA::IHistogram1D*
book(
const std::string& title,
const double low = 0,
const double high = 100,
379 const unsigned long bins = 100 )
const {
380 return book1D( title, low, high, bins );
397 virtual AIDA::IHistogram2D* book2D(
const std::string& title,
const double lowX = 0,
const double highX = 100,
398 const unsigned long binsX = 50,
const double lowY = 0,
const double highY = 100,
399 const unsigned long binsY = 50 )
const = 0;
418 virtual AIDA::IHistogram3D* book3D(
const std::string& title,
const double lowX = 0,
const double highX = 100,
419 const unsigned long binsX = 10,
const double lowY = 0,
const double highY = 100,
420 const unsigned long binsY = 10,
const double lowZ = 0,
const double highZ = 100,
421 const unsigned long binsZ = 10 )
const = 0;
433 virtual AIDA::IHistogram1D* book1D(
const HistoID& ID,
const std::string& title =
"",
const double low = 0,
434 const double high = 100,
const unsigned long bins = 100 )
const = 0;
449 AIDA::IHistogram1D*
book(
const HistoID& ID,
const std::string& title =
"",
const double low = 0,
450 const double high = 100,
const unsigned long bins = 100 )
const {
451 return book1D( ID, title, low, high, bins );
464 virtual AIDA::IHistogram2D* book2D(
const HistoID& ID,
const std::string& title,
const double lowX = 0,
465 const double highX = 100,
const unsigned long binsX = 100,
const double lowY = 0,
466 const double highY = 100,
const unsigned long binsY = 100 )
const = 0;
484 virtual AIDA::IHistogram3D* book3D(
const HistoID& ID,
const std::string& title,
const double lowX = 0,
485 const double highX = 100,
const unsigned long binsX = 10,
const double lowY = 0,
486 const double highY = 100,
const unsigned long binsY = 10,
const double lowZ = 0,
487 const double highZ = 100,
const unsigned long binsZ = 10 )
const = 0;
496 virtual AIDA::IHistogram1D*
fill( AIDA::IHistogram1D* histo,
const double value,
const double weight,
507 virtual AIDA::IHistogram2D*
fill( AIDA::IHistogram2D* histo,
const double valueX,
const double valueY,
508 const double weight,
const std::string& title =
"" )
const = 0;
519 virtual AIDA::IHistogram3D*
fill( AIDA::IHistogram3D* histo,
const double valueX,
const double valueY,
520 const double valueZ,
const double weight,
const std::string& title =
"" )
const = 0;
525 virtual AIDA::IHistogram1D* histo1D(
const std::string& title )
const = 0;
539 virtual AIDA::IHistogram2D* histo2D(
const std::string& title )
const = 0;
544 virtual AIDA::IHistogram3D* histo3D(
const std::string& title )
const = 0;
549 virtual AIDA::IHistogram1D* histo1D(
const HistoID& ID )
const = 0;
558 AIDA::IHistogram1D*
histo(
const HistoID& ID )
const {
return histo1D( ID ); };
563 virtual AIDA::IHistogram2D* histo2D(
const HistoID& ID )
const = 0;
568 virtual AIDA::IHistogram3D* histo3D(
const HistoID& ID )
const = 0;
571 virtual bool histoExists(
const std::string& title )
const = 0;
574 virtual bool histoExists(
const HistoID& ID )
const = 0;
626 template <
class FUNCTION,
class OBJECT>
628 const double high,
const unsigned long bins = 100 )
const {
630 AIDA::IHistogram1D* h = histo1D( title );
631 if ( !h ) { h = book1D( title, low, high, bins ); }
632 while ( first != last && h ) {
633 h =
fill( h,
func( *first ), 1.0, title );
688 template <
class FUNCTION,
class OBJECT>
690 const std::string& title,
const double low,
const double high,
691 const unsigned long bins = 100 )
const {
693 AIDA::IHistogram1D* h = histo1D( ID );
694 if ( !h ) { h = book1D( ID, title, low, high, bins ); }
695 while ( first != last && h ) {
696 h =
fill( h,
func( *first ), 1.0, title );
756 template <
class FUNCTION,
class OBJECT,
class WEIGHT>
758 const double high,
const unsigned long bins,
const WEIGHT& weight )
const {
760 AIDA::IHistogram1D* h = histo1D( title );
761 if ( !h ) { h = book1D( title, low, high, bins ); }
762 while ( first != last && h ) {
763 h =
fill( h,
func( *first ), weight( *first ), title );
828 template <
class FUNCTION,
class OBJECT,
class WEIGHT>
830 const std::string& title,
const double low,
const double high,
const unsigned long bins,
831 const WEIGHT& weight )
const {
833 AIDA::IHistogram1D* h = histo1D( ID );
834 if ( !h ) { h = book1D( ID, title, low, high, bins ); }
835 while ( first != last && h ) {
836 h =
fill( h,
func( *first ), weight( *first ), title );
843 #endif // GAUDIALG_IHISTOTOOL_H
GAUDI_API void fill(AIDA::IHistogram1D *histo, const double value, const double weight=1.0)
simple function to fill AIDA::IHistogram1D objects
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
A DataObject is the base class of any identifiable object on any data store.
ID class for Histogram and Ntuples.