| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# Gaudi::Utils::Histos Namespace Reference

Collection of useful utilities for manipulations with AIDA hisgograms. More...

## Classes
class | Table
| Simple class for the customizeble printout of the histogram tables. More...
## Namespaces
namespace | Formats
| The 15 format fields are predefined now:.

## Typedefs
typedef std::vector< std::string > | Labels
| Typedef for a list of labels.
typedef std::pair< unsigned, std::string > | BinLabel
| Typedef for a bin number and its associated label.
typedef std::vector< BinLabel > | BinLabels
| Typedef for a list of bin numbers and their associated label.
## Functions
GAUDI_API void | fill (AIDA::IHistogram1D *histo, const double value, const double weight=1.0)
| simple function to fill AIDA::IHistogram1D objects
GAUDI_API void | fill (AIDA::IHistogram2D *histo, const double valueX, const double valueY, const double weight=1.0)
| simple function to fill AIDA::IHistogram2D objects
GAUDI_API void | fill (AIDA::IHistogram3D *histo, const double valueX, const double valueY, const double valueZ, const double weight=1.0)
| simple function to fill AIDA::IHistogram3D objects
GAUDI_API void | fill (AIDA::IProfile1D *histo, const double valueX, const double valueY, const double weight=1.0)
| simple function to fill AIDA::IProfile1D objects
GAUDI_API void | fill (AIDA::IProfile2D *histo, const double valueX, const double valueY, const double valueZ, const double weight=1.0)
| simple function to fill AIDA::IProfile2D objects
GAUDI_API std::string | htitle (const AIDA::IBaseHistogram *histo, const std::string &title="")
| get the title
GAUDI_API std::string | htitle (const AIDA::IHistogram *histo, const std::string &title="")
| get the title
GAUDI_API std::string | htitle (const AIDA::IHistogram1D *histo, const std::string &title="")
| get the title
GAUDI_API std::string | htitle (const AIDA::IHistogram2D *histo, const std::string &title="")
| get the title
GAUDI_API std::string | htitle (const AIDA::IHistogram3D *histo, const std::string &title="")
| get the title
GAUDI_API std::string | htitle (const AIDA::IProfile *histo, const std::string &title="")
| get the title
GAUDI_API std::string | htitle (const AIDA::IProfile1D *histo, const std::string &title="")
| get the title
GAUDI_API std::string | htitle (const AIDA::IProfile2D *histo, const std::string &title="")
| get the title
GAUDI_API AIDA::IBaseHistogram * | toBase (AIDA::IHistogram1D *histo)
GAUDI_API AIDA::IBaseHistogram * | toBase (AIDA::IHistogram2D *histo)
GAUDI_API AIDA::IBaseHistogram * | toBase (AIDA::IHistogram3D *histo)
GAUDI_API AIDA::IBaseHistogram * | toBase (AIDA::IProfile1D *histo)
GAUDI_API AIDA::IBaseHistogram * | toBase (AIDA::IProfile2D *histo)
GAUDI_API std::ostream & | histoDump_ (const AIDA::IHistogram1D *histo, std::ostream &stream, const std::size_t width=80, const std::size_t height=50, const bool errors=false)
| dump the text representation of the histogram
GAUDI_API std::string | histoDump (const AIDA::IHistogram1D *histo, const std::size_t width=80, const std::size_t height=50, const bool errors=false)
| dump the text representation of the histogram
GAUDI_API std::ostream & | histoDump_ (const AIDA::IProfile1D *histo, std::ostream &stream, const std::size_t width=80, const std::size_t height=50, const bool spread=true)
| dump the text representation of 1D-profile
GAUDI_API std::string | histoDump (const AIDA::IProfile1D *histo, const std::size_t width=80, const std::size_t height=50, const bool spread=true)
| dump the text representation of the 1D-profile
GAUDI_API std::ostream & | histoDump_ (const TProfile *histo, std::ostream &stream, const std::size_t width=80, const std::size_t height=50)
| dump the text representation of the Profile
GAUDI_API std::string | histoDump (const TProfile *histo, const std::size_t width=80, const std::size_t height=50)
| dump the text representation of the histogram
GAUDI_API std::ostream & | histoDump_ (const TH1 *histo, std::ostream &stream, const std::size_t width=80, const std::size_t height=50, const bool errors=false)
| dump the text representation of the histogram
GAUDI_API std::string | histoDump (const TH1 *histo, const std::size_t width=80, const std::size_t height=50, const bool errors=false)
| dump the text representation of the histogram
bool | setBinLabels (AIDA::IHistogram1D *hist, const Labels &labels)
| Set the Bin labels for a given 1D histogram.
bool | setBinLabels (AIDA::IProfile1D *hist, const Labels &labels)
| Set the Bin labels for a given 1D profile histogram.
bool | setBinLabels (AIDA::IHistogram2D *hist, const Labels &xlabels, const Labels &ylabels)
| Set the Bin labels for a given 2D histogram.
bool | setBinLabels (AIDA::IProfile2D *hist, const Labels &xlabels, const Labels &ylabels)
| Set the Bin labels for a given 2D profile histogram.
bool | setAxisLabels (AIDA::IHistogram1D *hist, const std::string &xAxis, const std::string &yAxis)
| Set the axis labels for the given 1D histogram.
bool | setAxisLabels (AIDA::IProfile1D *hist, const std::string &xAxis, const std::string &yAxis)
| Set the axis labels for the given 1D profile histogram.
bool | setAxisLabels (AIDA::IHistogram2D *hist, const std::string &xAxis, const std::string &yAxis)
| Set the axis labels for the given 2D histogram.
bool | setAxisLabels (AIDA::IProfile2D *hist, const std::string &xAxis, const std::string &yAxis)
| Set the axis labels for the given 2D profile histogram.
GAUDI_API std::string | path (const AIDA::IBaseHistogram *aida)
| get the path in THS for AIDA histogram
GAUDI_API std::string | format (const AIDA::IHistogram1D *histo, const std::string &fmt)
| Make the string representation of the historgam according to the specified format.
GAUDI_API std::string | format (const AIDA::IHistogram1D *histo, const std::string &ID, const std::string &fmt1, const std::string &fmt2)
| format a full row in table, including ID, label, path or any other "extra" identifier in string form
template<class HISTO, class STREAM, class TERMINATOR>
STREAM & | printList (HISTO first, HISTO last, const std::string &fmt, STREAM &stream, TERMINATOR term)
| print the simple sequence (list-like) of histograms as table
template<class LIST, class STREAM, class TERMINATOR>
STREAM & | printList (const LIST &histos, const std::string &fmt, STREAM &stream, TERMINATOR term)
| print the simple container of histograms as table
template<class HISTO, class STREAM, class TERMINATOR>
STREAM & | printMap (HISTO begin, HISTO end, const std::string &fmt1, const std::string &fmt2, STREAM &stream, TERMINATOR term)
| Print the "associative sequence" (e.g.
template<class MAP, class STREAM, class TERMINATOR>
STREAM & | printMap (const MAP &histos, const std::string &fmt1, const std::string &fmt2, STREAM &stream, TERMINATOR term)
| Print the "associative sequence" (e.g.
GAUDI_API std::string | format (const std::string &val1, const std::string &val2, const std::string &fmt)
| helper method to merge the headers for short format table

## Detailed Description

Collection of useful utilities for manipulations with AIDA hisgograms.

Author:
  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2007-08-08

## Typedef Documentation

typedef std::pair<unsigned,std::string> Gaudi::Utils::Histos::BinLabel

Typedef for a bin number and its associated label.

Definition at line 28 of file HistoLabels.h.

typedef std::vector<BinLabel> Gaudi::Utils::Histos::BinLabels

Typedef for a list of bin numbers and their associated label.

Definition at line 30 of file HistoLabels.h.

typedef std::vector<std::string> Gaudi::Utils::Histos::Labels

Typedef for a list of labels.

Definition at line 26 of file HistoLabels.h.

## Function Documentation

void Gaudi::Utils::Histos::fill | ( | AIDA::IProfile2D * | histo,
|  | const double | valueX,
|  | const double | valueY,
|  | const double | valueZ,
|  | const double | weight = `1.0` |
| ) |  |  |

simple function to fill AIDA::IProfile2D objects

See also:
  AIDA::IProfile2D

Parameters:

  | histo | pointer to the histogram
  | valueX | value to be added to the histogram
  | valueY | value to be added to the histogram
  | valueZ | value to be added to the histogram
  | weight | the "weight" assciated with this entry

Author:
  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2007-10-02

Definition at line 115 of file Fill.cpp.

    00120 {
    00121   if ( 0 != histo ) { histo -> fill ( valueX , valueY , valueZ , weight ) ; }
    00122 }

void Gaudi::Utils::Histos::fill | ( | AIDA::IProfile1D * | histo,
|  | const double | valueX,
|  | const double | valueY,
|  | const double | weight = `1.0` |
| ) |  |  |

simple function to fill AIDA::IProfile1D objects

See also:
  AIDA::IProfile1D

Parameters:

  | histo | pointer to the histogram
  | valueX | value to be added to the histogram
  | valueY | value to be added to the histogram
  | weight | the "weight" assciated with this entry

Author:
  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2007-10-02

Definition at line 95 of file Fill.cpp.

    00099 {
    00100   if ( 0 != histo ) { histo -> fill ( valueX , valueY , weight ) ; }
    00101 }

void Gaudi::Utils::Histos::fill | ( | AIDA::IHistogram3D * | histo,
|  | const double | valueX,
|  | const double | valueY,
|  | const double | valueZ,
|  | const double | weight = `1.0` |
| ) |  |  |

simple function to fill AIDA::IHistogram3D objects

See also:
  AIDA::IHistogram3D

Parameters:

  | histo | pointer to the histogram
  | valueX | value to be added to the histogram
  | valueY | value to be added to the histogram
  | valueZ | value to be added to the histogram
  | weight | the "weight" assciated with this entry

Author:
  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2007-10-02

Definition at line 75 of file Fill.cpp.

    00080 {
    00081   if ( 0 != histo ) { histo -> fill ( valueX , valueY , valueZ , weight ) ; }
    00082 }

void Gaudi::Utils::Histos::fill | ( | AIDA::IHistogram2D * | histo,
|  | const double | valueX,
|  | const double | valueY,
|  | const double | weight = `1.0` |
| ) |  |  |

simple function to fill AIDA::IHistogram2D objects

See also:
  AIDA::IHistogram2D

Parameters:

  | histo | pointer to the histogram
  | valueX | value to be added to the histogram
  | valueY | value to be added to the histogram
  | weight | the "weight" assciated with this entry

Author:
  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2007-10-02

Definition at line 55 of file Fill.cpp.

    00059 {
    00060   if ( 0 != histo ) { histo -> fill ( valueX , valueY , weight ) ; }
    00061 }

void Gaudi::Utils::Histos::fill | ( | AIDA::IHistogram1D * | histo,
|  | const double | value,
|  | const double | weight = `1.0` |
| ) |  |  |

simple function to fill AIDA::IHistogram1D objects

See also:
  AIDA::IHistogram1D

Parameters:

  | histo | pointer to the histogram
  | value | value to be added to the histogram
  | weight | the "weight" assciated with this entry

Author:
  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2007-10-02

Definition at line 37 of file Fill.cpp.

    00040 {
    00041   if ( 0 != histo ) { histo->fill ( value , weight ) ; }
    00042 }

std::string Gaudi::Utils::Histos::format | ( | const std::string & | val1,
|  | const std::string & | val2,
|  | const std::string & | fmt |
| ) |  |  |

helper method to merge the headers for short format table

Author:
  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2007-08-07

Definition at line 272 of file HistoTableFormat.cpp.

    00275 {
    00276   using namespace boost::io ;
    00277   boost::format _fmt ( fmt ) ;
    00278   // allow various number of arguments
    00279   _fmt.exceptions ( all_error_bits ^ ( too_many_args_bit | too_few_args_bit ) ) ;
    00280   //
    00281   _fmt
    00282     % val1   // format ID
    00283     % val2 ; // format the histogram
    00284   //
    00285   return _fmt.str() ;
    00286 }

std::string Gaudi::Utils::Histos::format | ( | const AIDA::IHistogram1D * | histo,
|  | const std::string & | ID,
|  | const std::string & | fmt1,
|  | const std::string & | fmt2 |
| ) |  |  |

format a full row in table, including ID, label, path or any other "extra" identifier in string form

      using namespace Gaudi::Utils::Histos
      const AIDA::IHistogram1D* histo = ... ;

      // define short format
      const std::string fmt1 = " |%1$-30.30s %|33t| %2" ;

      // define format for the histogram
      const std::string fmt2 = ... ;

      info () <<
            format   ( "My Histo" , histo , fmt1 , fmt2 )
              << endmsg ;

Parameters:

  | histo | pointer to the histogram
  | ID | historgam ID, title, label or other extra information
  | fmt1 | "short" format used for the table
  | fmt2 | format used for the histogram printout

Returns:
  formatted row

Author:
  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2007-08-08

Definition at line 252 of file HistoTableFormat.cpp.

    00256 {
    00257   using namespace boost::io ;
    00258   boost::format _fmt ( fmt1 ) ;
    00259   // allow various number of arguments
    00260   _fmt.exceptions ( all_error_bits ^ ( too_many_args_bit | too_few_args_bit ) ) ;
    00261   //
    00262   _fmt
    00263     % ID                         // format ID
    00264     % format ( histo , fmt2 )  ; // format the histogram
    00265   //
    00266   return _fmt.str() ;
    00267 }

std::string Gaudi::Utils::Histos::format | ( | const AIDA::IHistogram1D * | histo,
|  | const std::string & | fmt |
| ) |  |  |

Make the string representation of the historgam according to the specified format.

The method could be used to access/print various quantities

      using namespace Gaudi::Utils::Histos ;

      const AIDA::IHistogram1D* histo = ... ;

      // print title in a free format:
      std::cout << format   ( histo , "%2%" ) << std::endl ;

      // print the path in HTS in a free format:
      std::cout << format   ( histo , " path in HTS: %1% " ) << std::endl ;

      // print the formatted nEntries/Overflow/Underflow:
      std::cout <<
         format   ( histo , " #nEntries/Overflow/Underflow=%3%/%4%/%5%" )
                << std::endl ;

      // print the formatted Mean+-ErrorMean:
      std::cout <<
         format   ( histo , " Mean+-Error=(%8%+-%9%)" )
                << std::endl ;

      // print the skewness and kurtosis:
      std::cout <<
         format   ( histo , " Skewness/Kurtosis=%12%/%14% " )
                << std::endl ;

Parameters:

  | histo | reference to the histogram
  | fmt | the printout format

Author:
  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2007-08-08

Definition at line 203 of file HistoTableFormat.cpp.

    00205 {
    00206   if ( 0 == histo ) { return "<NULL>" ; }
    00207   using namespace Gaudi::Utils ;
    00208   using namespace boost::io ;
    00209   boost::format _fmt ( fmt ) ;
    00210   // allow various number of arguments
    00211   _fmt.exceptions ( all_error_bits ^ ( too_many_args_bit | too_few_args_bit ) ) ;
    00212
    00213   _fmt
    00214     % ( "\"" + path ( histo )    + "\"" )   //  1) histogram path
    00215     % ( "\"" + histo -> title () + "\"" )   //  2) title
    00216     % histo -> allEntries            ()     //  3) # entries
    00217     % histo -> binEntries ( AIDA::IAxis::UNDERFLOW_BIN ) // 4) # underflow
    00218     % histo -> binEntries ( AIDA::IAxis::OVERFLOW_BIN  ) // 5) # overflow
    00219     % histo -> equivalentBinEntries  ()     //  6) equivalent entries
    00220     % histo -> sumBinHeights         ()     //  7) integral
    00221     % histo -> mean                  ()     //  8) mean value
    00222     % HistoStats:: meanErr    ( histo )     //  9) error in mean
    00223     % histo -> rms                   ()     // 10) rms
    00224     % HistoStats::rmsErr      ( histo )     // 11) error in rms
    00225     % HistoStats::skewness    ( histo )     // 12) skewness
    00226     % HistoStats::skewnessErr ( histo )     // 13) error in skewness
    00227     % HistoStats::kurtosis    ( histo )     // 14) kurtosis
    00228     % HistoStats::kurtosisErr ( histo )     // 15) error in kurtosis
    00229     //
    00230     % histo -> sumAllBinHeights      ()     // 16) full integral (in and out range)
    00231     % HistoStats::sumAllBinHeightErr ( histo ) // 17) error on 16
    00232     % HistoStats::sumBinHeightErr    ( histo ) // 18) error on  7
    00233     //
    00234     % ( 100 * HistoStats::underflowEntriesFrac     ( histo ) ) // 19) fraction of underflow entries
    00235     % ( 100 * HistoStats::underflowEntriesFracErr  ( histo ) ) // 20) error on 19
    00236     % ( 100 * HistoStats::overflowEntriesFrac      ( histo ) ) // 21) fraction of overflow entries
    00237     % ( 100 * HistoStats::overflowEntriesFracErr   ( histo ) ) // 22) error on 21
    00238     //
    00239     % HistoStats::underflowIntegralFrac    ( histo ) // 23) fraction of underflow integral
    00240     % HistoStats::underflowIntegralFracErr ( histo ) // 24) error on 23
    00241     % HistoStats::overflowIntegralFrac     ( histo ) // 25) fraction of overflow intergal
    00242     % HistoStats::overflowIntegralFracErr  ( histo ) ; // 26) error on 25
    00243   //
    00244   return _fmt.str() ;
    00245 }

std::string Gaudi::Utils::Histos::histoDump | ( | const TH1 * | histo,
|  | const std::size_t | width = `80`,
|  | const std::size_t | height = `50`,
|  | const bool | errors = `false` |
| ) |  |  |

dump the text representation of the histogram

Parameters:

  | histo | (INPUT) the histogram
  | width | (INPUT) the maximal column width
  | height | (INPUT) the propsoed coulmn height
  | erorrs | (INPUT) print/plot errors

Returns:
  string representation of the histogram

Author:
  Vanya BELYAEV Ivan.Belyaev@nikhef.nl

Date:
  2009-09-19

Definition at line 950 of file HistoDump.cpp.

    00954 {
    00955   std::ostringstream stream ;
    00956   histoDump_ ( histo , stream , width , height , errors );
    00957   return stream.str() ;
    00958 }

std::string Gaudi::Utils::Histos::histoDump | ( | const TProfile * | histo,
|  | const std::size_t | width = `80`,
|  | const std::size_t | height = `50` |
| ) |  |  |

dump the text representation of the histogram

Parameters:

  | histo | (INPUT) the histogram
  | width | (INPUT) the maximal column width
  | height | (INPUT) the propsoed coulmn height
  | erorrs | (INPUT) print/plot errors

Returns:
  string representation of the histogram

Author:
  Vanya BELYAEV Ivan.Belyaev@nikhef.nl

Date:
  2009-09-19

Definition at line 970 of file HistoDump.cpp.

    00973 {
    00974   std::ostringstream stream ;
    00975   histoDump_ ( histo , stream , width , height );
    00976   return stream.str() ;
    00977 }

std::string Gaudi::Utils::Histos::histoDump | ( | const AIDA::IProfile1D * | histo,
|  | const std::size_t | width = `80`,
|  | const std::size_t | height = `50`,
|  | const bool | spread = `true` |
| ) |  |  |

dump the text representation of the 1D-profile

Parameters:

  | histo | (INPUT) the histogram
  | width | (INPUT) the maximal column width
  | height | (INPUT) the proposed column height
  | spread | (INPUT) print/plto spread vs rms

Returns:
  string representation of the histogram

Author:
  Vanya BELYAEV Ivan.BElyaev@nikhef.nl

Date:
  2009-09-19

Definition at line 801 of file HistoDump.cpp.

    00805 {
    00806   std::ostringstream stream ;
    00807   histoDump_ ( histo , stream , width , height , spread );
    00808   return stream.str() ;
    00809 }

std::string Gaudi::Utils::Histos::histoDump | ( | const AIDA::IHistogram1D * | histo,
|  | const std::size_t | width = `80`,
|  | const std::size_t | height = `50`,
|  | const bool | errors = `false` |
| ) |  |  |

dump the text representation of the histogram

Parameters:

  | histo | (INPUT) the histogram
  | width | (INPUT) the maximal column width
  | height | (INPUT) the proposed column height
  | erorrs | (INPUT) print/plot errors

Returns:
  string representation of the histogram

Author:
  Vanya BELYAEV Ivan.BElyaev@nikhef.nl

Date:
  2009-09-19

Definition at line 704 of file HistoDump.cpp.

    00708 {
    00709   std::ostringstream stream ;
    00710   histoDump_ ( histo , stream , width , height , errors );
    00711   return stream.str() ;
    00712 }

std::ostream & Gaudi::Utils::Histos::histoDump_ | ( | const TH1 * | histo,
|  | std::ostream & | stream,
|  | const std::size_t | width = `80`,
|  | const std::size_t | height = `50`,
|  | const bool | errors = `false` |
| ) |  |  |

dump the text representation of the histogram

Parameters:

  | histo | (INPUT) the histogram
  | stream | (OUTUT) the stream
  | width | (INPUT) the maximal column width
  | height | (INPUT) the proposed coulmn height
  | errors | (INPUT) print/plot errors

Returns:
  the stream

Author:
  Vanya BELYAEV Ivan.BElyaev@nikhef.nl

Date:
  2009-09-19

Definition at line 822 of file HistoDump.cpp.

    00827 {
    00828   const TProfile* profile = dynamic_cast<const TProfile*> ( histo ) ;
    00829   if ( 0 != profile )
    00830   { return histoDump_ ( profile , stream , width , height ) ; }
    00831   //
    00832   stream << std::endl ;
    00833   if ( 0 == histo     ) { return stream ; }  // RETURN
    00834   Histo hist ;
    00835   StatusCode sc = _getHisto ( histo , hist ) ;
    00836   if ( sc.isFailure() ) { return stream ; }  // RETURN
    00837   //
    00838   stream
    00839     << boost::format ( " Histo Name  : \"%s\"")
    00840     % histo -> GetName ()
    00841     << std::endl
    00842     << boost::format ( " Histo Title : \"%s\"")
    00843     % histo -> GetTitle ()
    00844     << std::endl
    00845     << std::endl ;
    00846   //
    00847   stream
    00848     << boost::format ( " Mean        : %11.5g +- %-10.4g ")
    00849     % histo -> GetMean      ()
    00850     % histo -> GetMeanError ()
    00851     << std::endl
    00852     << boost::format ( " Rms         : %11.5g +- %-10.4g ")
    00853     % histo -> GetRMS      ()
    00854     % histo -> GetRMSError ()
    00855     << std::endl
    00856     << boost::format ( " Skewness    : %11.5g            ")
    00857     % histo -> GetSkewness ()
    00858     << std::endl
    00859     << boost::format ( " Kurtosis    : %11.5g            ")
    00860     % histo -> GetKurtosis ()
    00861     << std::endl
    00862     << std::endl ;
    00863   //
    00864   stream
    00865     << boost::format ( " Entries     :\n | %=11s | %=11s | %=11s | %=11s | %=11s |")
    00866     % "All"
    00867     % "Underflow"
    00868     % "Overflow"
    00869     % "#Equivalent"
    00870     % "Integral"
    00871     << std::endl
    00872     << boost::format ( " | %=11.5g | %=11.5g | %=11.5g | %=11.5g | %=11.5g |")
    00873     % histo -> GetEntries ()
    00874     % histo -> GetBinContent ( 0                       )
    00875     % histo -> GetBinContent ( histo->GetNbinsX() + 1  )
    00876     % histo -> GetEffectiveEntries  ()
    00877     % histo -> Integral             ()
    00878     << std::endl
    00879     << std::endl ;
    00880   //
    00881   return dumpText ( hist , width , height , errors , stream ) ;
    00882 }

std::ostream & Gaudi::Utils::Histos::histoDump_ | ( | const TProfile * | histo,
|  | std::ostream & | stream,
|  | const std::size_t | width = `80`,
|  | const std::size_t | height = `50` |
| ) |  |  |

dump the text representation of the Profile

Parameters:

  | histo | (INPUT) the histogram
  | stream | (OUTUT) the stream
  | width | (INPUT) the maximal column width
  | height | (INPUT) the proposed coulmn height
  | spread | (INPUT) print/plot rms versus erorr

Returns:
  the stream

Author:
  Vanya BELYAEV Ivan.BElyaev@nikhef.nl

Date:
  2009-09-19

Definition at line 895 of file HistoDump.cpp.

    00899 {
    00900   stream << std::endl ;
    00901   if ( 0 == histo     ) { return stream ; }  // RETURN
    00902   Histo hist ;
    00903   StatusCode sc = _getHisto ( histo , hist , true ) ;
    00904   if ( sc.isFailure() ) { return stream ; }  // RETURN
    00905   //
    00906   stream
    00907     << boost::format ( " Profile Name  : \"%s\"")
    00908     % histo -> GetName ()
    00909     << std::endl
    00910     << boost::format ( " Profile Title : \"%s\"")
    00911     % histo -> GetTitle ()
    00912     << std::endl
    00913     << std::endl ;
    00914   //
    00915   stream
    00916     << boost::format ( " Mean          : %11.5g ") % histo -> GetMean      ()
    00917     << std::endl
    00918     << boost::format ( " Rms           : %11.5g ") % histo -> GetRMS      ()
    00919     << std::endl
    00920     << std::endl ;
    00921   //
    00922   stream
    00923     << boost::format ( " Entries       :\n | %=11s | %=11s | %=11s | %=11s |")
    00924     % "All"
    00925     % "Underflow"
    00926     % "Overflow"
    00927     % "Integral"
    00928     << std::endl
    00929     << boost::format ( " | %=11.5g | %=11.5g | %=11.5g | %=11.5g |")
    00930     % histo -> GetEntries ()
    00931     % histo -> GetBinContent ( 0                       )
    00932     % histo -> GetBinContent ( histo->GetNbinsX() + 1  )
    00933     % histo -> Integral             ()
    00934     << std::endl
    00935     << std::endl ;
    00936   //
    00937   return dumpText ( hist , width , height , true , stream ) ;
    00938 }

std::ostream & Gaudi::Utils::Histos::histoDump_ | ( | const AIDA::IProfile1D * | histo,
|  | std::ostream & | stream,
|  | const std::size_t | width = `80`,
|  | const std::size_t | height = `50`,
|  | const bool | spread = `true` |
| ) |  |  |

dump the text representation of 1D-profile

Parameters:

  | histo | (INPUT) the 1D-profile
  | stream | (OUTUT) the stream
  | width | (INPUT) the maximal column width
  | height | (INPUT) the proposed column height
  | spread | (INPUT) print/plot spread/rms ?

Returns:
  the stream

Author:
  Vanya BELYAEV Ivan.BElyaev@nikhef.nl

Date:
  2009-09-19

Definition at line 726 of file HistoDump.cpp.

    00731 {
    00732   stream << std::endl ;
    00733   if ( 0 == histo     ) { return stream ; }  // RETURN
    00734   Histo hist ;
    00735   StatusCode sc = _getHisto ( histo , hist , spread ) ;
    00736   if ( sc.isFailure() ) { return stream ; }  // RETURN
    00737   //
    00738   stream
    00739     << boost::format ( " Histo TES   : \"%s\"") % path ( histo )
    00740     << std::endl
    00741     << boost::format ( " Histo Title : \"%s\"") % histo->title()
    00742     << std::endl
    00743     << std::endl ;
    00744   //
    00745   stream
    00746     << boost::format ( " Mean        : %11.5g ") % histo->mean()
    00747     << std::endl
    00748     << boost::format ( " Rms         : %11.5g ") % histo->rms ()
    00749     << std::endl
    00750     << std::endl ;
    00751   //
    00752   stream
    00753     << boost::format ( " Entries     :\n | %=9s | %=9s | %=9s | %9s | %=11s | %=11s |")
    00754     % "All"
    00755     % "In Range"
    00756     % "Underflow"
    00757     % "Overflow"
    00758     // % "#Equivalent"
    00759     % "Integral"
    00760     % "Total"
    00761     << std::endl
    00762     << boost::format ( " | %=9d | %=9d | %=9d | %=9d | %=11.5g | %=11.5g |")
    00763     % histo -> allEntries ()
    00764     % histo -> entries    ()
    00765     % histo -> binEntries ( AIDA::IAxis::UNDERFLOW_BIN )
    00766     % histo -> binEntries ( AIDA::IAxis::OVERFLOW_BIN  )
    00767     // % histo -> equivalentBinEntries ()
    00768     % histo -> sumBinHeights        ()
    00769     % histo -> sumAllBinHeights     ()
    00770     << std::endl
    00771     << std::endl ;
    00772   //
    00773   const AIDA::IAnnotation& a = histo->annotation () ;
    00774   if ( 0 != a.size() )
    00775   {
    00776     stream << " Annotation" << std::endl ;
    00777     for ( int i = 0 ; i < a.size() ; ++i )
    00778     {
    00779       stream
    00780         << boost::format ( " | %-25.25s : %-45.45s | ")
    00781         % a.key   ( i )
    00782         % a.value ( i )
    00783         << std::endl ;
    00784     }
    00785     stream << std::endl ;
    00786   }
    00787   //
    00788   return dumpText ( hist , width , height , true , stream ) ;
    00789 }

std::ostream & Gaudi::Utils::Histos::histoDump_ | ( | const AIDA::IHistogram1D * | histo,
|  | std::ostream & | stream,
|  | const std::size_t | width = `80`,
|  | const std::size_t | height = `50`,
|  | const bool | errors = `false` |
| ) |  |  |

dump the text representation of the histogram

Parameters:

  | histo | (INPUT) the histogram
  | stream | (OUTUT) the stream
  | width | (INPUT) the maximal column width
  | height | (INPUT) the proposed column height
  | errors | (INPUT) print/plot errors

Returns:
  the stream

Author:
  Vanya BELYAEV Ivan.BElyaev@nikhef.nl

Date:
  2009-09-19

Definition at line 615 of file HistoDump.cpp.

    00620 {
    00621   stream << std::endl ;
    00622   if ( 0 == histo     ) { return stream ; }  // RETURN
    00623   Histo hist ;
    00624   StatusCode sc = _getHisto ( histo , hist ) ;
    00625   if ( sc.isFailure() ) { return stream ; }  // RETURN
    00626   //
    00627   stream
    00628     << boost::format ( " Histo TES   : \"%s\"") % path ( histo )
    00629     << std::endl
    00630     << boost::format ( " Histo Title : \"%s\"") % histo->title()
    00631     << std::endl
    00632     << std::endl ;
    00633   //
    00634   stream
    00635     << boost::format ( " Mean        : %11.5g +- %-10.4g ")
    00636     % Gaudi::Utils::HistoStats::mean        ( histo )
    00637     % Gaudi::Utils::HistoStats::meanErr     ( histo )
    00638     << std::endl
    00639     << boost::format ( " Rms         : %11.5g +- %-10.4g ")
    00640     % Gaudi::Utils::HistoStats::rms         ( histo )
    00641     % Gaudi::Utils::HistoStats::rmsErr      ( histo )
    00642     << std::endl
    00643     << boost::format ( " Skewness    : %11.5g +- %-10.4g ")
    00644     % Gaudi::Utils::HistoStats::skewness    ( histo )
    00645     % Gaudi::Utils::HistoStats::skewnessErr ( histo )
    00646     << std::endl
    00647     << boost::format ( " Kurtosis    : %11.5g +- %-10.4g ")
    00648     % Gaudi::Utils::HistoStats::kurtosis    ( histo )
    00649     % Gaudi::Utils::HistoStats::kurtosisErr ( histo )
    00650     << std::endl
    00651     << std::endl ;
    00652   //
    00653   stream
    00654     << boost::format ( " Entries     :\n | %=9s | %=9s | %=9s | %9s | %=11s | %=11s | %=11s |")
    00655     % "All"
    00656     % "In Range"
    00657     % "Underflow"
    00658     % "Overflow"
    00659     % "#Equivalent"
    00660     % "Integral"
    00661     % "Total"
    00662     << std::endl
    00663     << boost::format ( " | %=9d | %=9d | %=9d | %=9d | %=11.5g | %=11.5g | %=11.5g |")
    00664     % histo -> allEntries ()
    00665     % histo -> entries    ()
    00666     % histo -> binEntries ( AIDA::IAxis::UNDERFLOW_BIN )
    00667     % histo -> binEntries ( AIDA::IAxis::OVERFLOW_BIN  )
    00668     % histo -> equivalentBinEntries ()
    00669     % histo -> sumBinHeights        ()
    00670     % histo -> sumAllBinHeights     ()
    00671     << std::endl
    00672     << std::endl ;
    00673   //
    00674   const AIDA::IAnnotation& a = histo->annotation () ;
    00675   if ( 0 != a.size() )
    00676   {
    00677     stream << " Annotation" << std::endl ;
    00678     for ( int i = 0 ; i < a.size() ; ++i )
    00679     {
    00680       stream
    00681         << boost::format ( " | %-25.25s : %-45.45s | ")
    00682         % a.key   ( i )
    00683         % a.value ( i )
    00684         << std::endl ;
    00685     }
    00686     stream << std::endl ;
    00687   }
    00688   //
    00689   return dumpText ( hist , width , height , errors , stream ) ;
    00690 }

std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IProfile2D * | histo,
|  | const std::string & | title = `""` |
| ) |  |  |

get the title

Definition at line 188 of file Fill.cpp.

    00190 { return htitle_ ( histo , title ) ; }

std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IProfile1D * | histo,
|  | const std::string & | title = `""` |
| ) |  |  |

get the title

Definition at line 181 of file Fill.cpp.

    00183 { return htitle_ ( histo , title ) ; }

std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IProfile * | histo,
|  | const std::string & | title = `""` |
| ) |  |  |

get the title

Definition at line 174 of file Fill.cpp.

    00176 { return htitle_ ( histo , title ) ; }

std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IHistogram3D * | histo,
|  | const std::string & | title = `""` |
| ) |  |  |

get the title

Definition at line 167 of file Fill.cpp.

    00169 { return htitle_ ( histo , title ) ; }

std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IHistogram2D * | histo,
|  | const std::string & | title = `""` |
| ) |  |  |

get the title

Definition at line 160 of file Fill.cpp.

    00162 { return htitle_ ( histo , title ) ; }

std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IHistogram1D * | histo,
|  | const std::string & | title = `""` |
| ) |  |  |

get the title

Definition at line 153 of file Fill.cpp.

    00155 { return htitle_ ( histo , title ) ; }

std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IHistogram * | histo,
|  | const std::string & | title = `""` |
| ) |  |  |

get the title

Definition at line 146 of file Fill.cpp.

    00148 { return htitle_ ( histo , title ) ; }

std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IBaseHistogram * | histo,
|  | const std::string & | title = `""` |
| ) |  |  |

get the title

Definition at line 139 of file Fill.cpp.

    00141 { return htitle_ ( histo , title ) ; }

std::string Gaudi::Utils::Histos::path | ( | const AIDA::IBaseHistogram * | aida | ) |

get the path in THS for AIDA histogram

Author:
  Vanya BELYAEV ibelyaev@physics.syr.edu

Date:
  2007-08-08

Definition at line 185 of file HistoTableFormat.cpp.

    00186 {
    00187   if ( 0 == aida     ) { return "" ; }                          // RETURN
    00188   const DataObject* object   = dynamic_cast<const DataObject*>( aida ) ;
    00189   if ( 0 == object   ) { return "" ; }                          // RETURN
    00190   IRegistry*        registry = object->registry() ;
    00191   if ( 0 == registry ) { return "" ; }                          // RETURN
    00192   std::string _path = registry->identifier() ;
    00193   std::string::size_type n = _path.find("/stat/") ;
    00194   if ( 0 == n ) { return std::string(_path,6) ; }               // RETURN
    00195   return _path ;                                                // RETURN
    00196 }

template<class LIST, class STREAM, class TERMINATOR>

STREAM& Gaudi::Utils::Histos::printList | ( | const LIST & | histos,
|  | const std::string & | fmt,
|  | STREAM & | stream,
|  | TERMINATOR | term |
| ) |  |  | `[inline]`

print the simple container of histograms as table

      using namespace Gaudi::Utils::Histos ;

      SEQUENCE histos = ... ;

      // print a table with three columns:  path, title and #entries

      printList
        ( histos          ,
          " | %1$|-40.40s | %2$-30.30s | %3$=7d | " ,
          std::cout       ,
          '\n'            ) ;

Parameters:

  | histos | the sequence of histograms
  | stream | the stream to be used for printout
  | term | the terminmator for the stream
  | fmt | the format to be used

Definition at line 269 of file HistoTableFormat.h.

    00273       {
    00274         return printList
    00275           ( histos.begin () , histos.end  () , fmt , stream , term ) ;
    00276       }

template<class HISTO, class STREAM, class TERMINATOR>

STREAM& Gaudi::Utils::Histos::printList | ( | HISTO | first,
|  | HISTO | last,
|  | const std::string & | fmt,
|  | STREAM & | stream,
|  | TERMINATOR | term |
| ) |  |  | `[inline]`

print the simple sequence (list-like) of histograms as table

      SEQUENCE histos = ... ;

      // print a table with three colums  path, title and #entries

      Gaudi::Utils::Histos::printList
        ( histos.begin () ,
          histos.end   () ,
          " | %1$|-40.40s | %2$-30.30s | %3$=7d | " ,
          std::cout       ,
          '\n'            ) ;

Parameters:

  | first | begin-iterator for the sequence
  | last | end-iterator for the sequence
  | stream | the stream to be used for printout
  | term | the terminmator for the stream
  | fmt | the format to be used

Definition at line 233 of file HistoTableFormat.h.

    00238       {
    00239         for ( ; first != last ; ++first )
    00240         { stream << format   ( *first , fmt ) << term ; }  // print table rows
    00241         return stream ;                                    // RETURN
    00242       }

template<class MAP, class STREAM, class TERMINATOR>

STREAM& Gaudi::Utils::Histos::printMap | ( | const MAP & | histos,
|  | const std::string & | fmt1,
|  | const std::string & | fmt2,
|  | STREAM & | stream,
|  | TERMINATOR | term |
| ) |  |  | `[inline]`

Print the "associative sequence" (e.g.

part of std:map) of histograms as table:

      using namespace Gaudi::Utils::Histos ;

      const std::map<std::string,AIDA::IHistogram1D*>& m = ... ;

      printMap
       ( m          ,
         "| %1$-10.10s | %2% " , // short format
         Gaudi::Utils::Histos::Formats::histoFormatOnly ,
         always()   ,
         endmsg     ) ;

Print only mean and rms:

      using namespace Gaudi::Utils::Histos ;

      const std::map<GaudiAlg::ID,AIDA::IHistogram1D*>& m = ... ;

      printMap
        ( m          ,
          "| %1$-10.10s | %2% "    , // short format
          " %8$10.5g+-%10$-10.5g|", // mean+-rms
          always()   ,
          endmsg     ) ;

Parameters:

  | begin | 'begin'-iterator for the mapping sequence
  | end | 'end'-iterator for the mapping sequence
  | fmt1 | 'short' format for the table printout
  | fmt3 | format for the printout of the histogram
  | stream | the stream for printout
  | term | stream terminator

Definition at line 385 of file HistoTableFormat.h.

    00390       {
    00391         return printMap
    00392           ( histos.begin () , histos.end() , fmt1 , fmt2 , stream , term ) ;
    00393       }

template<class HISTO, class STREAM, class TERMINATOR>

STREAM& Gaudi::Utils::Histos::printMap | ( | HISTO | begin,
|  | HISTO | end,
|  | const std::string & | fmt1,
|  | const std::string & | fmt2,
|  | STREAM & | stream,
|  | TERMINATOR | term |
| ) |  |  | `[inline]`

Print the "associative sequence" (e.g.

part of std:map) of histograms as table:

      using namespace Gaudi::Utils::Histos ;

      const std::map<std::string,AIDA::IHistogram1D*>& m = ... ;

      printMap
       ( m.begin () ,
         m.end   () ,
         "| %1$-10.10s | %2% " , // short format
         Gaudi::Utils::Histos::Formats::histoFormatOnly ,
         always()   ,
         endmsg     ) ;

Print only mean and rms:

      using namespace Gaudi::Utils::Histos ;

      const std::map<GaudiAlg::ID,AIDA::IHistogram1D*>& m = ... ;

      printMap
        ( m.begin () ,
          m.end   () ,
          "| %1$-10.10s | %2% "    , // short format
          " %8$10.5g+-%10$-10.5g|", // mean+-rms
          always()   ,
          endmsg     ) ;

Parameters:

  | begin | 'begin'-iterator for the mapping sequence
  | end | 'end'-iterator for the mapping sequence
  | fmt1 | 'short' format for the table printout
  | fmt3 | format for the printout of the histogram
  | stream | the stream for printout
  | term | stream terminator

Definition at line 324 of file HistoTableFormat.h.

    00330       {
    00331         for ( ; begin != end ; ++begin )
    00332         {
    00333           stream << format
    00334             ( begin -> second , // the histogram
    00335               begin -> first  , // the key
    00336               fmt1  ,  fmt2   ) << term ;
    00337         }
    00338         return stream ;
    00339       }

bool Gaudi::Utils::Histos::setAxisLabels | ( | AIDA::IProfile2D * | hist,
|  | const std::string & | xAxis,
|  | const std::string & | yAxis |
| ) |  |  |

Set the axis labels for the given 2D profile histogram.

Parameters:

  | hist | Pointer to the histogram
  | xAxis | Label for the x axis
  | yAxis | Label for the y axis

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Definition at line 206 of file HistoLabels.cpp.

    00209       {
    00210         return setAxisLabels_<TProfile2D>( hist, xAxis, yAxis );
    00211       }

bool Gaudi::Utils::Histos::setAxisLabels | ( | AIDA::IHistogram2D * | hist,
|  | const std::string & | xAxis,
|  | const std::string & | yAxis |
| ) |  |  |

Set the axis labels for the given 2D histogram.

Parameters:

  | hist | Pointer to the histogram
  | xAxis | Label for the x axis
  | yAxis | Label for the y axis

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Definition at line 199 of file HistoLabels.cpp.

    00202       {
    00203         return setAxisLabels_<TH2D>( hist, xAxis, yAxis );
    00204       }

bool Gaudi::Utils::Histos::setAxisLabels | ( | AIDA::IProfile1D * | hist,
|  | const std::string & | xAxis,
|  | const std::string & | yAxis |
| ) |  |  |

Set the axis labels for the given 1D profile histogram.

Parameters:

  | hist | Pointer to the histogram
  | xAxis | Label for the x axis
  | yAxis | Label for the y axis

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Definition at line 192 of file HistoLabels.cpp.

    00195       {
    00196         return setAxisLabels_<TProfile>( hist, xAxis, yAxis );
    00197       }

bool Gaudi::Utils::Histos::setAxisLabels | ( | AIDA::IHistogram1D * | hist,
|  | const std::string & | xAxis,
|  | const std::string & | yAxis |
| ) |  |  |

Set the axis labels for the given 1D histogram.

Parameters:

  | hist | Pointer to the histogram
  | xAxis | Label for the x axis
  | yAxis | Label for the y axis

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Definition at line 185 of file HistoLabels.cpp.

    00188       {
    00189         return setAxisLabels_<TH1D>( hist, xAxis, yAxis );
    00190       }

bool Gaudi::Utils::Histos::setBinLabels | ( | AIDA::IProfile2D * | hist,
|  | const Labels & | xlabels,
|  | const Labels & | ylabels |
| ) |  |  |

Set the Bin labels for a given 2D profile histogram.

The labels will be applied in the order they appear in the lists, starting at the first bin. If the list of labels is too short, the later bins will be missing a label. If the list is too long, only the first N will be used, where N is the number of bins in the histogram

Parameters:

  | hist | Pointer to the histogram
  | xlabels | The list of x labels
  | ylabels | The list of y labels

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Each entry in 'labels' lists gives the bin number and its associated label

Parameters:

  | hist | Pointer to the histogram
  | xlabels | The list of x bin numbers and the associated label
  | ylabels | The list of y bin numbers and the associated label

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Definition at line 150 of file HistoLabels.cpp.

    00153       {
    00154         if (!hist) return false;
    00155         TProfile2D * h2d = Gaudi::Utils::Aida2ROOT::aida2root( hist );
    00156         if (!h2d)  return false;
    00157         BinLabels lx;
    00158         lx.reserve(xlabels.size());
    00159         for ( unsigned int i = 0; i < xlabels.size(); ++i )
    00160         {
    00161           lx.push_back(Gaudi::Utils::Histos::BinLabel( i , xlabels[i] ) );
    00162         }
    00163         BinLabels ly;
    00164         ly.reserve(ylabels.size());
    00165         for ( unsigned int i = 0; i < ylabels.size(); ++i )
    00166         {
    00167           ly.push_back(Gaudi::Utils::Histos::BinLabel( i , ylabels[i] ) );
    00168         }
    00169         return ( setBinLabels_( h2d->GetXaxis(), lx ) &&
    00170                  setBinLabels_( h2d->GetYaxis(), ly ) );
    00171       }

bool Gaudi::Utils::Histos::setBinLabels | ( | AIDA::IHistogram2D * | hist,
|  | const Labels & | xlabels,
|  | const Labels & | ylabels |
| ) |  |  |

Set the Bin labels for a given 2D histogram.

The labels will be applied in the order they appear in the lists, starting at the first bin. If the list of labels is too short, the later bins will be missing a label. If the list is too long, only the first N will be used, where N is the number of bins in the histogram

Parameters:

  | hist | Pointer to the histogram
  | xlabels | The list of x labels
  | ylabels | The list of y labels

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Each entry in 'labels' lists gives the bin number and its associated label

Parameters:

  | hist | Pointer to the histogram
  | xlabels | The list of x bin numbers and the associated label
  | ylabels | The list of y bin numbers and the associated label

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Definition at line 117 of file HistoLabels.cpp.

    00120       {
    00121         if (!hist) return false;
    00122         TH2D * h2d = Gaudi::Utils::Aida2ROOT::aida2root( hist );
    00123         if (!h2d)  return false;
    00124         BinLabels lx;
    00125         lx.reserve(xlabels.size());
    00126         for ( unsigned int i = 0; i < xlabels.size(); ++i )
    00127         {
    00128           lx.push_back( Gaudi::Utils::Histos::BinLabel( i , xlabels[i] ) );
    00129         }
    00130         BinLabels ly;
    00131         ly.reserve(ylabels.size());
    00132         for ( unsigned int i = 0; i < ylabels.size(); ++i )
    00133         {
    00134           ly.push_back(Gaudi::Utils::Histos::BinLabel( i , ylabels[i] ) );
    00135         }
    00136         return ( setBinLabels_( h2d->GetXaxis(), lx ) &&
    00137                  setBinLabels_( h2d->GetYaxis(), ly ) );
    00138       }

bool Gaudi::Utils::Histos::setBinLabels | ( | AIDA::IProfile1D * | hist,
|  | const Labels & | labels |
| ) |  |  |

Set the Bin labels for a given 1D profile histogram.

The labels will be applied in the order they appear in the list, starting at the first bin. If the list of labels is too short, the later bins will be missing a label. If the list is too long, only the first N will be used, where N is the number of bins in the histogram

Parameters:

  | hist | Pointer to the histogram
  | labels | The list of labels

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Each entry in 'labels' gives the bin number and its associated label

Parameters:

  | hist | Pointer to the histogram
  | labels | The list of bin numbers and the associated label

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Definition at line 99 of file HistoLabels.cpp.

    00101       {
    00102         return setBinLabels_<TProfile>(hist,labels);
    00103       }

bool Gaudi::Utils::Histos::setBinLabels | ( | AIDA::IHistogram1D * | hist,
|  | const Labels & | labels |
| ) |  |  |

Set the Bin labels for a given 1D histogram.

The labels will be applied in the order they appear in the list, starting at the first bin. If the list of labels is too short, the later bins will be missing a label. If the list is too long, only the first N will be used, where N is the number of bins in the histogram

Parameters:

  | hist | Pointer to the histogram
  | labels | The list of labels

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Each entry in 'labels' gives the bin number and its associated label

Parameters:

  | hist | Pointer to the histogram
  | labels | The list of labels

Returns:
  Boolean indicating if the labels were successfully applied or not

Return values:

  | TRUE | Labels were applied OK
  | FALSE | Labels were NOT applied

Definition at line 93 of file HistoLabels.cpp.

    00095       {
    00096         return setBinLabels_<TH1D>(hist,labels);
    00097       }

AIDA::IBaseHistogram * Gaudi::Utils::Histos::toBase | ( | AIDA::IProfile2D * | histo | ) |

Definition at line 210 of file Fill.cpp.

    00210 { return histo ; }

AIDA::IBaseHistogram * Gaudi::Utils::Histos::toBase | ( | AIDA::IProfile1D * | histo | ) |

Definition at line 206 of file Fill.cpp.

    00206 { return histo ; }

AIDA::IBaseHistogram * Gaudi::Utils::Histos::toBase | ( | AIDA::IHistogram3D * | histo | ) |

Definition at line 202 of file Fill.cpp.

    00202 { return histo ; }

AIDA::IBaseHistogram * Gaudi::Utils::Histos::toBase | ( | AIDA::IHistogram2D * | histo | ) |

Definition at line 198 of file Fill.cpp.

    00198 { return histo ; }

AIDA::IBaseHistogram * Gaudi::Utils::Histos::toBase | ( | AIDA::IHistogram1D * | histo | ) |

Definition at line 194 of file Fill.cpp.

    00194 { return histo ; }