|
Gaudi Framework, version v21r10p1 |
| Home | Generated: 29 Jul 2010 |
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 | |
| typedef std::pair<unsigned,std::string> Gaudi::Utils::Histos::BinLabel |
Typedef for a list of bin numbers and their associated label.
Definition at line 30 of file HistoLabels.h.
| 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
| 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 |
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
| 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 |
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
| 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 |
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
| 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 |
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 | |||
| ) |
| 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
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 ;
| 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 |
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 ;
| histo | reference to the histogram | |
| fmt | the printout format |
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
| histo | (INPUT) the histogram | |
| width | (INPUT) the maximal column width | |
| height | (INPUT) the propsoed coulmn height | |
| erorrs | (INPUT) print/plot errors |
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
| histo | (INPUT) the histogram | |
| width | (INPUT) the maximal column width | |
| height | (INPUT) the propsoed coulmn height | |
| erorrs | (INPUT) print/plot errors |
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
| histo | (INPUT) the histogram | |
| width | (INPUT) the maximal column width | |
| height | (INPUT) the proposed column height | |
| spread | (INPUT) print/plto spread vs rms |
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
| histo | (INPUT) the histogram | |
| width | (INPUT) the maximal column width | |
| height | (INPUT) the proposed column height | |
| erorrs | (INPUT) print/plot errors |
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
| 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 |
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
| 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 |
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
| 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 ? |
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
| 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 |
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 = "" | |||
| ) |
| std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IProfile1D * | histo, | |
| const std::string & | title = "" | |||
| ) |
| std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IProfile * | histo, | |
| const std::string & | title = "" | |||
| ) |
| std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IHistogram3D * | histo, | |
| const std::string & | title = "" | |||
| ) |
| std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IHistogram2D * | histo, | |
| const std::string & | title = "" | |||
| ) |
| std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IHistogram1D * | histo, | |
| const std::string & | title = "" | |||
| ) |
| std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IHistogram * | histo, | |
| const std::string & | title = "" | |||
| ) |
| std::string Gaudi::Utils::Histos::htitle | ( | const AIDA::IBaseHistogram * | histo, | |
| const std::string & | title = "" | |||
| ) |
| std::string Gaudi::Utils::Histos::path | ( | const AIDA::IBaseHistogram * | aida | ) |
get the path in THS for AIDA histogram
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 }
| 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' ) ;
| 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 }
| 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' ) ;
| 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 }
| 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 ) ;
| 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 }
| 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 ) ;
| 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.
| hist | Pointer to the histogram | |
| xAxis | Label for the x axis | |
| yAxis | Label for the y axis |
| TRUE | Labels were applied OK | |
| FALSE | Labels were NOT applied |
Definition at line 206 of file HistoLabels.cpp.
| 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.
| hist | Pointer to the histogram | |
| xAxis | Label for the x axis | |
| yAxis | Label for the y axis |
| TRUE | Labels were applied OK | |
| FALSE | Labels were NOT applied |
Definition at line 199 of file HistoLabels.cpp.
| 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.
| hist | Pointer to the histogram | |
| xAxis | Label for the x axis | |
| yAxis | Label for the y axis |
| TRUE | Labels were applied OK | |
| FALSE | Labels were NOT applied |
Definition at line 192 of file HistoLabels.cpp.
| 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.
| hist | Pointer to the histogram | |
| xAxis | Label for the x axis | |
| yAxis | Label for the y axis |
| TRUE | Labels were applied OK | |
| FALSE | Labels were NOT applied |
Definition at line 185 of file HistoLabels.cpp.
| 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
| hist | Pointer to the histogram | |
| xlabels | The list of x labels | |
| ylabels | The list of y labels |
| TRUE | Labels were applied OK | |
| FALSE | Labels were NOT applied |
| 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 |
| 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
| hist | Pointer to the histogram | |
| xlabels | The list of x labels | |
| ylabels | The list of y labels |
| TRUE | Labels were applied OK | |
| FALSE | Labels were NOT applied |
| 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 |
| 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
| hist | Pointer to the histogram | |
| labels | The list of labels |
| TRUE | Labels were applied OK | |
| FALSE | Labels were NOT applied |
| hist | Pointer to the histogram | |
| labels | The list of bin numbers and the associated label |
| TRUE | Labels were applied OK | |
| FALSE | Labels were NOT applied |
Definition at line 99 of file HistoLabels.cpp.
| 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
| hist | Pointer to the histogram | |
| labels | The list of labels |
| TRUE | Labels were applied OK | |
| FALSE | Labels were NOT applied |
| hist | Pointer to the histogram | |
| labels | The list of labels |
| TRUE | Labels were applied OK | |
| FALSE | Labels were NOT applied |
Definition at line 93 of file HistoLabels.cpp.
| AIDA::IBaseHistogram * Gaudi::Utils::Histos::toBase | ( | AIDA::IProfile2D * | histo | ) |
| AIDA::IBaseHistogram * Gaudi::Utils::Histos::toBase | ( | AIDA::IProfile1D * | histo | ) |
| AIDA::IBaseHistogram * Gaudi::Utils::Histos::toBase | ( | AIDA::IHistogram3D * | histo | ) |
| AIDA::IBaseHistogram * Gaudi::Utils::Histos::toBase | ( | AIDA::IHistogram2D * | histo | ) |
| AIDA::IBaseHistogram * Gaudi::Utils::Histos::toBase | ( | AIDA::IHistogram1D * | histo | ) |