1 #ifndef GAUDIALG_IHISTOTOOL_H 2 #define GAUDIALG_IHISTOTOOL_H 1 72 virtual AIDA::IHistogram1D* plot1D
73 (
const double value ,
77 const unsigned long bins = 100 ,
78 const double weight = 1.0 )
const = 0 ;
93 AIDA::IHistogram1D*
plot 94 (
const double value ,
98 const unsigned long bins = 100 ,
99 const double weight = 1.0 )
const 101 return plot1D ( value, title, low, high, bins, weight );
144 virtual AIDA::IHistogram1D* plot1D
145 (
const double value ,
150 const unsigned long bins = 100 ,
151 const double weight = 1.0 )
const = 0 ;
167 AIDA::IHistogram1D*
plot 168 (
const double value ,
173 const unsigned long bins = 100 ,
174 const double weight = 1.0 )
const 176 return plot1D ( value, ID, title, low, high, bins, weight );
215 virtual AIDA::IHistogram2D* plot2D
216 (
const double valueX ,
217 const double valueY ,
223 const unsigned long binsX = 50 ,
224 const unsigned long binsY = 50 ,
225 const double weight = 1.0 )
const = 0;
273 virtual AIDA::IHistogram2D* plot2D
274 (
const double valueX ,
275 const double valueY ,
282 const unsigned long binsX = 50 ,
283 const unsigned long binsY = 50 ,
284 const double weight = 1.0 )
const = 0;
328 virtual AIDA::IHistogram3D* plot3D
329 (
const double valueX ,
330 const double valueY ,
331 const double valueZ ,
339 const unsigned long binsX = 10 ,
340 const unsigned long binsY = 10 ,
341 const unsigned long binsZ = 10 ,
342 const double weight = 1.0 )
const = 0;
396 virtual AIDA::IHistogram3D* plot3D
397 (
const double valueX ,
398 const double valueY ,
399 const double valueZ ,
408 const unsigned long binsX = 10 ,
409 const unsigned long binsY = 10 ,
410 const unsigned long binsZ = 10 ,
411 const double weight = 1.0 )
const = 0;
426 virtual AIDA::IHistogram1D* book1D
428 const double low = 0 ,
429 const double high = 100 ,
430 const unsigned long bins = 100 )
const = 0 ;
444 AIDA::IHistogram1D*
book 446 const double low = 0 ,
447 const double high = 100 ,
448 const unsigned long bins = 100 )
const 450 return book1D( title, low, high, bins );
467 virtual AIDA::IHistogram2D* book2D
469 const double lowX = 0 ,
470 const double highX = 100 ,
471 const unsigned long binsX = 50 ,
472 const double lowY = 0 ,
473 const double highY = 100 ,
474 const unsigned long binsY = 50 )
const = 0;
493 virtual AIDA::IHistogram3D* book3D
495 const double lowX = 0 ,
496 const double highX = 100 ,
497 const unsigned long binsX = 10 ,
498 const double lowY = 0 ,
499 const double highY = 100 ,
500 const unsigned long binsY = 10 ,
501 const double lowZ = 0 ,
502 const double highZ = 100 ,
503 const unsigned long binsZ = 10 )
const = 0;
515 virtual AIDA::IHistogram1D* book1D
516 (
const HistoID& ID ,
518 const double low = 0 ,
519 const double high = 100 ,
520 const unsigned long bins = 100 )
const = 0 ;
535 AIDA::IHistogram1D*
book 536 (
const HistoID& ID ,
538 const double low = 0 ,
539 const double high = 100 ,
540 const unsigned long bins = 100 )
const 542 return book1D( ID, title, low, high, bins );
555 virtual AIDA::IHistogram2D* book2D
556 (
const HistoID& ID ,
558 const double lowX = 0 ,
559 const double highX = 100 ,
560 const unsigned long binsX = 100 ,
561 const double lowY = 0 ,
562 const double highY = 100 ,
563 const unsigned long binsY = 100 )
const = 0;
581 virtual AIDA::IHistogram3D* book3D
582 (
const HistoID& ID ,
584 const double lowX = 0 ,
585 const double highX = 100 ,
586 const unsigned long binsX = 10 ,
587 const double lowY = 0 ,
588 const double highY = 100 ,
589 const unsigned long binsY = 10 ,
590 const double lowZ = 0 ,
591 const double highZ = 100 ,
592 const unsigned long binsZ = 10 )
const = 0;
601 virtual AIDA::IHistogram1D*
fill 602 ( AIDA::IHistogram1D* histo ,
604 const double weight ,
615 virtual AIDA::IHistogram2D*
fill 616 ( AIDA::IHistogram2D* histo ,
617 const double valueX ,
618 const double valueY ,
619 const double weight ,
631 virtual AIDA::IHistogram3D*
fill 632 ( AIDA::IHistogram3D* histo ,
633 const double valueX ,
634 const double valueY ,
635 const double valueZ ,
636 const double weight ,
642 virtual AIDA::IHistogram1D* histo1D (
const std::string& title )
const = 0 ;
653 return histo1D( title );
659 virtual AIDA::IHistogram2D* histo2D (
const std::string& title )
const = 0;
665 virtual AIDA::IHistogram3D* histo3D (
const std::string& title )
const = 0;
670 virtual AIDA::IHistogram1D* histo1D (
const HistoID& ID )
const = 0 ;
679 AIDA::IHistogram1D*
histo (
const HistoID& ID )
const 681 return histo1D( ID );
687 virtual AIDA::IHistogram2D* histo2D (
const HistoID& ID )
const = 0;
692 virtual AIDA::IHistogram3D* histo3D (
const HistoID& ID )
const = 0;
695 virtual bool histoExists (
const std::string& title )
const = 0 ;
698 virtual bool histoExists (
const HistoID& ID )
const = 0 ;
751 template <
class FUNCTION,
class OBJECT>
752 AIDA::IHistogram1D*
plot 759 const unsigned long bins = 100 )
const 762 AIDA::IHistogram1D*
h = histo1D ( title ) ;
763 if ( !h ) { h = book1D ( title , low , high , bins ); }
764 while ( first != last && h )
765 { h =
fill ( h ,
func( *first ) , 1.0 , title ) ; ++first ; }
818 template <
class FUNCTION,
class OBJECT>
819 AIDA::IHistogram1D*
plot 820 (
const FUNCTION& func ,
827 const unsigned long bins = 100 )
const 830 AIDA::IHistogram1D*
h = histo1D ( ID ) ;
831 if ( !h ) { h = book1D ( ID , title , low , high , bins ); }
832 while ( first != last && h )
833 { h =
fill( h ,
func( *first ) , 1.0 , title ) ; ++first ; }
891 template <
class FUNCTION,
class OBJECT,
class WEIGHT>
892 AIDA::IHistogram1D*
plot 893 (
const FUNCTION& func ,
899 const unsigned long bins ,
900 const WEIGHT& weight )
const 903 AIDA::IHistogram1D*
h = histo1D ( title ) ;
904 if ( !h ) { h = book1D ( title , low , high , bins ); }
905 while( first != last && h )
908 weight ( *first ) , title ) ; ++first ; }
971 template <
class FUNCTION,
class OBJECT,
class WEIGHT>
972 AIDA::IHistogram1D*
plot 973 (
const FUNCTION& func ,
980 const unsigned long bins ,
981 const WEIGHT& weight )
const 984 AIDA::IHistogram1D*
h = histo1D ( ID ) ;
985 if ( !h ) { h = book1D ( ID , title , low , high , bins ); }
986 while( first != last && h )
989 weight ( *first ) , title ) ; ++first ; }
999 #endif // GAUDIALG_IHISTOTOOL_H GAUDI_API AIDA::IHistogram1D * book(IHistogramSvc *svc, const std::string &path, const Gaudi::Histo1DDef &hist)
helper function to book 1D-histogram
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
GAUDI_API void fill(AIDA::IHistogram1D *histo, const double value, const double weight=1.0)
simple function to fill AIDA::IHistogram1D objects
A DataObject is the base class of any identifiable object on any data store.
ID class for Histogram and Ntuples.