3 #ifndef GAUDIALG_GAUDIHISTOS_H
4 #define GAUDIALG_GAUDIHISTOS_H 1
50 template <
class PBASE>
133 AIDA::IHistogram1D* plot1D
134 (
const double value ,
138 const unsigned long bins = 100 ,
139 const double weight = 1.0 )
const ;
154 inline AIDA::IHistogram1D* plot
155 (
const double value ,
159 const unsigned long bins = 100 ,
160 const double weight = 1.0 )
const
162 return plot1D ( value, title, low, high, bins, weight );
189 AIDA::IHistogram1D* plot1D
190 (
const double value ,
191 const Gaudi::Histo1DDef& hdef ,
192 const double weight = 1.0 )
const ;
204 inline AIDA::IHistogram1D* plot
205 (
const double value ,
206 const Gaudi::Histo1DDef& hdef ,
207 const double weight = 1.0 )
const
209 return plot1D ( value, hdef, weight );
277 AIDA::IHistogram1D* plot1D
278 (
const double value ,
283 const unsigned long bins = 100 ,
284 const double weight = 1.0 )
const ;
300 inline AIDA::IHistogram1D* plot
301 (
const double value ,
306 const unsigned long bins = 100 ,
307 const double weight = 1.0 )
const
309 return plot1D ( value, ID, title, low, high, bins, weight );
337 AIDA::IHistogram1D* plot1D
338 (
const double value ,
340 const Gaudi::Histo1DDef& hdef ,
341 const double weight = 1.0 )
const ;
354 inline AIDA::IHistogram1D* plot
355 (
const double value ,
357 const Gaudi::Histo1DDef& hdef ,
358 const double weight = 1.0 )
const
360 return plot1D ( value, ID, hdef, weight );
425 template <
class FUNCTION,
class OBJECT>
426 inline AIDA::IHistogram1D* plot
427 (
const FUNCTION& func ,
433 const unsigned long bins = 100 )
const
435 AIDA::IHistogram1D* h(0);
436 if ( produceHistos() )
439 h = histo1D ( title ) ;
440 if ( 0 == h ) { h = book1D ( title , low , high , bins ); }
442 while( first != last && 0 != h )
443 { h =
fill ( h , func( *first ) , 1.0 , title ) ; ++first ; }
503 template <
class FUNCTION,
class OBJECT>
504 inline AIDA::IHistogram1D* plot
505 (
const FUNCTION& func ,
512 const unsigned long bins = 100 )
const
514 AIDA::IHistogram1D* h(0);
515 if ( produceHistos() )
519 if ( 0 == h ) { h = book1D ( ID , title , low , high , bins ); }
521 while( first != last && 0 != h )
522 { h =
fill( h , func( *first ) , 1.0 , title ) ; ++first ; }
595 template <
class FUNCTION,
class OBJECT,
class WEIGHT>
596 inline AIDA::IHistogram1D* plot
597 (
const FUNCTION& func ,
603 const unsigned long bins ,
604 const WEIGHT& weight )
const
606 AIDA::IHistogram1D* h(0);
607 if ( produceHistos() )
610 h = histo1D ( title ) ;
611 if ( 0 == h ) { h = book1D ( title , low , high , bins ); }
613 while ( first != last && 0 != h )
616 weight ( *first ) , title ) ; ++first ; }
687 template <
class FUNCTION,
class OBJECT,
class WEIGHT>
688 inline AIDA::IHistogram1D* plot
689 (
const FUNCTION& func ,
696 const unsigned long bins ,
697 const WEIGHT& weight )
const
699 AIDA::IHistogram1D* h(0);
700 if ( produceHistos() )
704 if ( 0 == h ) { h = book1D ( ID , title , low , high , bins ); }
706 while( first != last && 0 != h )
709 weight ( *first ) , title ) ; ++first ; }
756 AIDA::IHistogram1D* plot1D
757 (
const double value ,
760 const double weight = 1.0 )
const ;
826 AIDA::IHistogram1D* plot1D
827 (
const double value ,
831 const double weight = 1.0 )
const ;
885 AIDA::IHistogram2D* plot2D
886 (
const double valueX ,
887 const double valueY ,
893 const unsigned long binsX = 50 ,
894 const unsigned long binsY = 50 ,
895 const double weight = 1.0 )
const;
973 AIDA::IHistogram2D* plot2D
974 (
const double valueX ,
975 const double valueY ,
982 const unsigned long binsX = 50 ,
983 const unsigned long binsY = 50 ,
984 const double weight = 1.0 )
const;
1034 AIDA::IHistogram2D* plot2D
1035 (
const double valueX ,
1036 const double valueY ,
1040 const double weight = 1.0 )
const ;
1117 AIDA::IHistogram2D* plot2D
1118 (
const double valueX ,
1119 const double valueY ,
1124 const double weight = 1.0 )
const ;
1186 AIDA::IHistogram3D* plot3D
1187 (
const double valueX ,
1188 const double valueY ,
1189 const double valueZ ,
1192 const double highX ,
1194 const double highY ,
1196 const double highZ ,
1197 const unsigned long binsX = 10 ,
1198 const unsigned long binsY = 10 ,
1199 const unsigned long binsZ = 10 ,
1200 const double weight = 1.0 )
const;
1288 AIDA::IHistogram3D* plot3D
1289 (
const double valueX ,
1290 const double valueY ,
1291 const double valueZ ,
1295 const double highX ,
1297 const double highY ,
1299 const double highZ ,
1300 const unsigned long binsX = 10 ,
1301 const unsigned long binsY = 10 ,
1302 const unsigned long binsZ = 10 ,
1303 const double weight = 1.0 )
const;
1355 AIDA::IHistogram3D* plot3D
1356 (
const double valueX ,
1357 const double valueY ,
1358 const double valueZ ,
1363 const double weight = 1.0 )
const ;
1450 AIDA::IHistogram3D* plot3D
1451 (
const double valueX ,
1452 const double valueY ,
1453 const double valueZ ,
1459 const double weight = 1.0 )
const ;
1512 AIDA::IProfile1D* profile1D
1513 (
const double valueX ,
1514 const double valueY ,
1517 const double highX ,
1518 const unsigned long binsX = 100 ,
1522 const double weight = 1.0 )
const ;
1589 AIDA::IProfile1D* profile1D
1590 (
const double valueX ,
1591 const double valueY ,
1595 const double highX ,
1596 const unsigned long binsX = 100 ,
1600 const double weight = 1.0 )
const;
1647 AIDA::IProfile1D* profile1D
1648 (
const double valueX ,
1649 const double valueY ,
1652 const double weight = 1.0 )
const ;
1715 AIDA::IProfile1D* profile1D
1716 (
const double valueX ,
1717 const double valueY ,
1721 const double weight = 1.0 )
const;
1775 AIDA::IProfile2D* profile2D
1776 (
const double valueX ,
1777 const double valueY ,
1778 const double valueZ ,
1781 const double highX ,
1783 const double highY ,
1784 const unsigned long binsX = 50 ,
1785 const unsigned long binsY = 50 ,
1786 const double weight = 1.0 )
const;
1855 AIDA::IProfile2D* profile2D
1856 (
const double valueX ,
1857 const double valueY ,
1858 const double valueZ ,
1862 const double highX ,
1864 const double highY ,
1865 const unsigned long binsX = 50 ,
1866 const unsigned long binsY = 50 ,
1867 const double weight = 1.0 )
const;
1917 AIDA::IProfile2D* profile2D
1918 (
const double valueX ,
1919 const double valueY ,
1920 const double valueZ ,
1924 const double weight = 1.0 )
const ;
1988 AIDA::IProfile2D* profile2D
1989 (
const double valueX ,
1990 const double valueY ,
1991 const double valueZ ,
1996 const double weight = 1.0 )
const;
2013 AIDA::IHistogram1D* book1D
2015 const double low = 0 ,
2016 const double high = 100 ,
2017 const unsigned long bins = 100 )
const ;
2031 inline AIDA::IHistogram1D*
book
2033 const double low = 0 ,
2034 const double high = 100 ,
2035 const unsigned long bins = 100 )
const
2037 return book1D( title, low, high, bins );
2048 AIDA::IHistogram1D*
book
2049 (
const Gaudi::Histo1DDef& hdef )
const ;
2061 AIDA::IHistogram1D* book1D
2064 const double low = 0 ,
2065 const double high = 100 ,
2066 const unsigned long bins = 100 )
const ;
2081 inline AIDA::IHistogram1D*
book
2084 const double low = 0 ,
2085 const double high = 100 ,
2086 const unsigned long bins = 100 )
const
2088 return book1D( ID, title, low, high, bins );
2098 inline AIDA::IHistogram1D*
book
2100 const Gaudi::Histo1DDef& hdef )
const ;
2116 AIDA::IHistogram1D* book1D
2129 AIDA::IHistogram1D* book1D
2152 AIDA::IHistogram2D* book2D
2154 const double lowX = 0 ,
2155 const double highX = 100 ,
2156 const unsigned long binsX = 50 ,
2157 const double lowY = 0 ,
2158 const double highY = 100 ,
2159 const unsigned long binsY = 50 )
const ;
2171 AIDA::IHistogram2D* book2D
2174 const double lowX = 0 ,
2175 const double highX = 100 ,
2176 const unsigned long binsX = 50 ,
2177 const double lowY = 0 ,
2178 const double highY = 100 ,
2179 const unsigned long binsY = 50 )
const ;
2196 AIDA::IHistogram2D * book2D
2211 AIDA::IHistogram2D * book2D
2238 AIDA::IHistogram3D* book3D
2240 const double lowX = 0 ,
2241 const double highX = 100 ,
2242 const unsigned long binsX = 10 ,
2243 const double lowY = 0 ,
2244 const double highY = 100 ,
2245 const unsigned long binsY = 10 ,
2246 const double lowZ = 0 ,
2247 const double highZ = 100 ,
2248 const unsigned long binsZ = 10 )
const ;
2266 AIDA::IHistogram3D* book3D
2269 const double lowX = 0 ,
2270 const double highX = 100 ,
2271 const unsigned long binsX = 10 ,
2272 const double lowY = 0 ,
2273 const double highY = 100 ,
2274 const unsigned long binsY = 10 ,
2275 const double lowZ = 0 ,
2276 const double highZ = 100 ,
2277 const unsigned long binsZ = 10 )
const ;
2295 AIDA::IHistogram3D * book3D
2312 AIDA::IHistogram3D * book3D
2337 AIDA::IProfile1D* bookProfile1D
2339 const double low = 0 ,
2340 const double high = 100 ,
2341 const unsigned long bins = 100 ,
2361 AIDA::IProfile1D* bookProfile1D
2364 const double low = 0 ,
2365 const double high = 100 ,
2366 const unsigned long bins = 100 ,
2384 AIDA::IProfile1D* bookProfile1D
2397 AIDA::IProfile1D* bookProfile1D
2420 AIDA::IProfile2D* bookProfile2D
2422 const double lowX = 0 ,
2423 const double highX = 100 ,
2424 const unsigned long binsX = 50 ,
2425 const double lowY = 0 ,
2426 const double highY = 100 ,
2427 const unsigned long binsY = 50 )
const ;
2442 AIDA::IProfile2D* bookProfile2D
2445 const double lowX = 0 ,
2446 const double highX = 100 ,
2447 const unsigned long binsX = 50 ,
2448 const double lowY = 0 ,
2449 const double highY = 100 ,
2450 const unsigned long binsY = 50 )
const ;
2466 AIDA::IProfile2D* bookProfile2D
2480 AIDA::IProfile2D* bookProfile2D
2497 AIDA::IHistogram1D*
fill
2498 ( AIDA::IHistogram1D* histo ,
2499 const double value ,
2500 const double weight ,
2511 AIDA::IHistogram2D*
fill
2512 ( AIDA::IHistogram2D* histo ,
2513 const double valueX ,
2514 const double valueY ,
2515 const double weight ,
2527 AIDA::IHistogram3D*
fill
2528 ( AIDA::IHistogram3D* histo ,
2529 const double valueX ,
2530 const double valueY ,
2531 const double valueZ ,
2532 const double weight ,
2543 AIDA::IProfile1D*
fill
2544 ( AIDA::IProfile1D* histo ,
2545 const double valueX ,
2546 const double valueY ,
2547 const double weight ,
2559 AIDA::IProfile2D*
fill
2560 ( AIDA::IProfile2D* histo ,
2561 const double valueX ,
2562 const double valueY ,
2563 const double valueZ ,
2564 const double weight ,
2575 return ( histo1DMapTitle().
end() == found ? 0 : found->second );
2587 return histo1D( title );
2596 return ( histo2DMapTitle().
end() == found ? 0 : found->second );
2605 return ( histo3DMapTitle().
end() == found ? 0 : found->second );
2614 return ( profile1DMapTitle().
end() == found ? 0 : found->second );
2623 return ( profile2DMapTitle().
end() == found ? 0 : found->second );
2631 AIDA::IHistogram1D* histo1D (
const HistoID& ID )
const;
2640 inline AIDA::IHistogram1D* histo (
const HistoID& ID )
const
2642 return histo1D( ID );
2648 AIDA::IHistogram2D* histo2D (
const HistoID& ID )
const;
2653 AIDA::IHistogram3D* histo3D (
const HistoID& ID )
const;
2658 AIDA::IProfile1D* profile1D (
const HistoID& ID )
const;
2663 AIDA::IProfile2D* profile2D (
const HistoID& ID )
const;
2671 ( 0 != histo ( title ) ||
2672 0 != histo2D ( title ) ||
2673 0 != histo3D ( title ) ||
2674 0 != profile1D ( title ) ||
2675 0 != profile2D ( title ) );
2679 inline bool histoExists (
const HistoID& ID )
const
2682 ( 0 != histo ( ID ) ||
2683 0 != histo2D ( ID ) ||
2684 0 != histo3D ( ID ) ||
2685 0 != profile1D ( ID ) ||
2686 0 != profile2D ( ID ) );
2689 unsigned int totalNumberOfHistos()
const;
2702 inline HistoID::NumericID
histoOffSet ()
const {
return m_histoOffSet ; }
2711 return ( splitHistoDir() ? dirHbookName(path) : path );
3010 inline void setHistoOffSet (
const HistoID::NumericID val )
3011 { m_histoOffSet = val ; }
3040 {
return i_ghInitialize(); }
3050 {
return i_ghFinalize(); }
3058 bool noHistos()
const;
3061 void initGaudiHistosConstructor();
3068 void monitorHisto(
const AIDA::IBaseHistogram* hist,
3091 void printHistoHandler (
Property& ) ;
3156 #endif // GAUDIALG_GAUDIHISTOS_H