1 #ifndef GAUDIALG_IHISTOTOOL_H 2 #define GAUDIALG_IHISTOTOOL_H 1 71 virtual AIDA::IHistogram1D* plot1D(
const double value,
const std::string& title,
const double low,
const double high,
72 const unsigned long bins = 100,
const double weight = 1.0 )
const = 0;
87 AIDA::IHistogram1D*
plot(
const double value,
const std::string& title,
const double low,
const double high,
88 const unsigned long bins = 100,
const double weight = 1.0 )
const 90 return plot1D( value, title, low, high, bins, weight );
133 virtual AIDA::IHistogram1D* plot1D(
const double value,
const HistoID& ID,
const std::string& title,
const double low,
134 const double high,
const unsigned long bins = 100,
135 const double weight = 1.0 )
const = 0;
151 AIDA::IHistogram1D*
plot(
const double value,
const HistoID& ID,
const std::string& title,
const double low,
152 const double high,
const unsigned long bins = 100,
const double weight = 1.0 )
const 154 return plot1D( value, ID, title, low, high, bins, weight );
193 virtual AIDA::IHistogram2D* plot2D(
const double valueX,
const double valueY,
const std::string& title,
194 const double lowX,
const double highX,
const double lowY,
const double highY,
195 const unsigned long binsX = 50,
const unsigned long binsY = 50,
196 const double weight = 1.0 )
const = 0;
244 virtual AIDA::IHistogram2D* plot2D(
const double valueX,
const double valueY,
const HistoID& ID,
245 const std::string& title,
const double lowX,
const double highX,
246 const double lowY,
const double highY,
const unsigned long binsX = 50,
247 const unsigned long binsY = 50,
const double weight = 1.0 )
const = 0;
291 virtual AIDA::IHistogram3D* plot3D(
const double valueX,
const double valueY,
const double valueZ,
292 const std::string& title,
const double lowX,
const double highX,
293 const double lowY,
const double highY,
const double lowZ,
const double highZ,
294 const unsigned long binsX = 10,
const unsigned long binsY = 10,
295 const unsigned long binsZ = 10,
const double weight = 1.0 )
const = 0;
349 virtual AIDA::IHistogram3D* plot3D(
const double valueX,
const double valueY,
const double valueZ,
const HistoID& ID,
350 const std::string& title,
const double lowX,
const double highX,
351 const double lowY,
const double highY,
const double lowZ,
const double highZ,
352 const unsigned long binsX = 10,
const unsigned long binsY = 10,
353 const unsigned long binsZ = 10,
const double weight = 1.0 )
const = 0;
367 virtual AIDA::IHistogram1D* book1D(
const std::string& title,
const double low = 0,
const double high = 100,
368 const unsigned long bins = 100 )
const = 0;
382 AIDA::IHistogram1D*
book(
const std::string& title,
const double low = 0,
const double high = 100,
383 const unsigned long bins = 100 )
const 385 return book1D( title, low, high, bins );
402 virtual AIDA::IHistogram2D* book2D(
const std::string& title,
const double lowX = 0,
const double highX = 100,
403 const unsigned long binsX = 50,
const double lowY = 0,
const double highY = 100,
404 const unsigned long binsY = 50 )
const = 0;
423 virtual AIDA::IHistogram3D* book3D(
const std::string& title,
const double lowX = 0,
const double highX = 100,
424 const unsigned long binsX = 10,
const double lowY = 0,
const double highY = 100,
425 const unsigned long binsY = 10,
const double lowZ = 0,
const double highZ = 100,
426 const unsigned long binsZ = 10 )
const = 0;
438 virtual AIDA::IHistogram1D* book1D(
const HistoID& ID,
const std::string& title =
"",
const double low = 0,
439 const double high = 100,
const unsigned long bins = 100 )
const = 0;
454 AIDA::IHistogram1D*
book(
const HistoID& ID,
const std::string& title =
"",
const double low = 0,
455 const double high = 100,
const unsigned long bins = 100 )
const 457 return book1D( ID, title, low, high, bins );
470 virtual AIDA::IHistogram2D* book2D(
const HistoID& ID,
const std::string& title,
const double lowX = 0,
471 const double highX = 100,
const unsigned long binsX = 100,
const double lowY = 0,
472 const double highY = 100,
const unsigned long binsY = 100 )
const = 0;
490 virtual AIDA::IHistogram3D* book3D(
const HistoID& ID,
const std::string& title,
const double lowX = 0,
491 const double highX = 100,
const unsigned long binsX = 10,
const double lowY = 0,
492 const double highY = 100,
const unsigned long binsY = 10,
const double lowZ = 0,
493 const double highZ = 100,
const unsigned long binsZ = 10 )
const = 0;
502 virtual AIDA::IHistogram1D*
fill( AIDA::IHistogram1D* histo,
const double value,
const double weight,
513 virtual AIDA::IHistogram2D*
fill( AIDA::IHistogram2D* histo,
const double valueX,
const double valueY,
514 const double weight,
const std::string& title =
"" )
const = 0;
525 virtual AIDA::IHistogram3D*
fill( AIDA::IHistogram3D* histo,
const double valueX,
const double valueY,
526 const double valueZ,
const double weight,
const std::string& title =
"" )
const = 0;
531 virtual AIDA::IHistogram1D* histo1D(
const std::string& title )
const = 0;
545 virtual AIDA::IHistogram2D* histo2D(
const std::string& title )
const = 0;
550 virtual AIDA::IHistogram3D* histo3D(
const std::string& title )
const = 0;
555 virtual AIDA::IHistogram1D* histo1D(
const HistoID& ID )
const = 0;
564 AIDA::IHistogram1D*
histo(
const HistoID& ID )
const {
return histo1D( ID ); };
569 virtual AIDA::IHistogram2D* histo2D(
const HistoID& ID )
const = 0;
574 virtual AIDA::IHistogram3D* histo3D(
const HistoID& ID )
const = 0;
577 virtual bool histoExists(
const std::string& title )
const = 0;
580 virtual bool histoExists(
const HistoID& ID )
const = 0;
632 template <
class FUNCTION,
class OBJECT>
634 const double high,
const unsigned long bins = 100 )
const 637 AIDA::IHistogram1D* h = histo1D( title );
639 h = book1D( title, low, high, bins );
641 while ( first != last && h ) {
642 h =
fill( h,
func( *first ), 1.0, title );
697 template <
class FUNCTION,
class OBJECT>
699 const std::string& title,
const double low,
const double high,
700 const unsigned long bins = 100 )
const 703 AIDA::IHistogram1D* h = histo1D( ID );
705 h = book1D( ID, title, low, high, bins );
707 while ( first != last && h ) {
708 h =
fill( h,
func( *first ), 1.0, title );
768 template <
class FUNCTION,
class OBJECT,
class WEIGHT>
770 const double high,
const unsigned long bins,
const WEIGHT& weight )
const 773 AIDA::IHistogram1D* h = histo1D( title );
775 h = book1D( title, low, high, bins );
777 while ( first != last && h ) {
778 h =
fill( h,
func( *first ), weight( *first ), title );
843 template <
class FUNCTION,
class OBJECT,
class WEIGHT>
845 const std::string& title,
const double low,
const double high,
const unsigned long bins,
846 const WEIGHT& weight )
const 849 AIDA::IHistogram1D* h = histo1D( ID );
851 h = book1D( ID, title, low, high, bins );
853 while ( first != last && h ) {
854 h =
fill( h,
func( *first ), weight( *first ), title );
861 #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.