#include <Histogram1D.h>
Public Member Functions | |
Histogram1D (int n, double lo, double up) | |
Standard constructor. | |
Histogram1D (const std::vector< double > &edges) | |
Standard constructor for variable bin width. | |
Histogram1D (const Histogram1D &h) | |
Copy constructor. | |
virtual | ~Histogram1D () |
Destructor. | |
std::string | title () const |
Get the Histogram's title. | |
std::string | name () const |
Get the Histogram's title. | |
bool | setTitle (const std::string &title) |
Set the histogram title. | |
IAnnotation & | annotation () |
Not implemented in LWH. | |
const IAnnotation & | annotation () const |
Not implemented in LWH. | |
int | dimension () const |
Get the Histogram's dimension. | |
bool | reset () |
Reset the Histogram; as if just created. | |
int | entries () const |
Get the number of in-range entries in the Histogram. | |
int | allEntries () const |
Sum of the entries in all the IHistogram's bins, i.e in-range bins, UNDERFLOW and OVERFLOW. | |
int | extraEntries () const |
Number of entries in the UNDERFLOW and OVERFLOW bins. | |
double | equivalentBinEntries () const |
Number of equivalent entries, i.e. | |
double | sumBinHeights () const |
Sum of in-range bin heights in the IHistogram, UNDERFLOW and OVERFLOW bins are excluded. | |
double | sumAllBinHeights () const |
Sum of the heights of all the IHistogram's bins, i.e in-range bins, UNDERFLOW and OVERFLOW. | |
double | sumExtraBinHeights () const |
Sum of heights in the UNDERFLOW and OVERFLOW bins. | |
double | minBinHeight () const |
Minimum height of the in-range bins, i.e. | |
double | maxBinHeight () const |
Maximum height of the in-range bins, i.e. | |
bool | fill (double x, double weight=1.) |
Fill the IHistogram1D with a value and the corresponding weight. | |
double | binMean (int index) const |
The weighted mean of a bin. | |
double | binRms (int index) const |
The weighted RMS of a bin. | |
int | binEntries (int index) const |
Number of entries in the corresponding bin (ie the number of times fill was called for this bin). | |
double | binHeight (int index) const |
Total height of the corresponding bin (ie the sum of the weights in this bin). | |
double | binError (int index) const |
The error of a given bin. | |
double | mean () const |
The mean of the whole IHistogram1D. | |
double | rms () const |
The RMS of the whole IHistogram1D. | |
const IAxis & | axis () const |
Get the x axis of the IHistogram1D. | |
int | coordToIndex (double coord) const |
Get the bin number corresponding to a given coordinate along the x axis. | |
bool | add (const Histogram1D &h) |
Add to this Histogram1D the contents of another IHistogram1D. | |
bool | add (const IHistogram1D &hist) |
Add to this IHistogram1D the contents of another IHistogram1D. | |
bool | scale (double s) |
Scale the contents of this histogram with the given factor. | |
void | normalize (double intg) |
Scale the given histogram so that the integral over all bins (including overflow) gives intg. | |
double | integral () const |
Return the integral over the histogram bins assuming it has been normalize()d. | |
void * | cast (const std::string &) const |
Not implemented in LWH. | |
bool | writeXML (std::ostream &os, std::string path, std::string name) |
Write out the histogram in the AIDA xml format. | |
bool | writeFLAT (std::ostream &os, std::string path, std::string name) |
Write out the histogram in a flat text file suitable for eg. | |
Private Attributes | |
std::string | theTitle |
The title. | |
IAxis * | ax |
The axis. | |
Axis * | fax |
Pointer (possibly null) to a axis with fixed bin width. | |
VariAxis * | vax |
Pointer (possibly null) to a axis with fixed bin width. | |
std::vector< int > | sum |
The counts. | |
std::vector< double > | sumw |
The weights. | |
std::vector< double > | sumw2 |
The squared weights. | |
std::vector< double > | sumxw |
The weighted x-values. | |
std::vector< double > | sumx2w |
The weighted x-square-values. | |
IAnnotation * | anno |
dummy pointer to non-existen annotation. | |
Friends | |
class | HistogramFactory |
HistFactory is a friend. |
Definition at line 29 of file Histogram1D.h.
std::string LWH::Histogram1D::title | ( | ) | const [inline] |
Get the Histogram's title.
Definition at line 78 of file Histogram1D.h.
References theTitle.
Referenced by writeFLAT(), and writeXML().
std::string LWH::Histogram1D::name | ( | ) | const [inline] |
Get the Histogram's title.
Definition at line 86 of file Histogram1D.h.
References theTitle.
bool LWH::Histogram1D::setTitle | ( | const std::string & | title | ) | [inline] |
Set the histogram title.
title | The title. |
Definition at line 95 of file Histogram1D.h.
References theTitle.
Referenced by LWH::HistogramFactory::add(), LWH::HistogramFactory::createCopy(), LWH::HistogramFactory::createHistogram1D(), LWH::HistogramFactory::divide(), LWH::HistogramFactory::multiply(), and LWH::HistogramFactory::subtract().
IAnnotation& LWH::Histogram1D::annotation | ( | ) | [inline] |
const IAnnotation& LWH::Histogram1D::annotation | ( | ) | const [inline] |
int LWH::Histogram1D::dimension | ( | ) | const [inline] |
Get the Histogram's dimension.
Definition at line 118 of file Histogram1D.h.
bool LWH::Histogram1D::reset | ( | ) | [inline] |
int LWH::Histogram1D::entries | ( | ) | const [inline] |
Get the number of in-range entries in the Histogram.
Definition at line 140 of file Histogram1D.h.
Referenced by allEntries(), and writeXML().
int LWH::Histogram1D::allEntries | ( | ) | const [inline] |
Sum of the entries in all the IHistogram's bins, i.e in-range bins, UNDERFLOW and OVERFLOW.
This is equivalent to the number of times the method fill was invoked.
Definition at line 153 of file Histogram1D.h.
References entries(), and extraEntries().
int LWH::Histogram1D::extraEntries | ( | ) | const [inline] |
Number of entries in the UNDERFLOW and OVERFLOW bins.
Definition at line 161 of file Histogram1D.h.
References sum.
Referenced by allEntries().
double LWH::Histogram1D::equivalentBinEntries | ( | ) | const [inline] |
Number of equivalent entries, i.e.
SUM[ weight ] ^ 2 / SUM[ weight^2 ]
Definition at line 170 of file Histogram1D.h.
double LWH::Histogram1D::sumBinHeights | ( | ) | const [inline] |
Sum of in-range bin heights in the IHistogram, UNDERFLOW and OVERFLOW bins are excluded.
Definition at line 186 of file Histogram1D.h.
Referenced by sumAllBinHeights().
double LWH::Histogram1D::sumAllBinHeights | ( | ) | const [inline] |
Sum of the heights of all the IHistogram's bins, i.e in-range bins, UNDERFLOW and OVERFLOW.
Definition at line 197 of file Histogram1D.h.
References sumBinHeights(), and sumExtraBinHeights().
Referenced by normalize().
double LWH::Histogram1D::sumExtraBinHeights | ( | ) | const [inline] |
Sum of heights in the UNDERFLOW and OVERFLOW bins.
Definition at line 205 of file Histogram1D.h.
References sumw.
Referenced by sumAllBinHeights().
double LWH::Histogram1D::minBinHeight | ( | ) | const [inline] |
Minimum height of the in-range bins, i.e.
not considering the UNDERFLOW and OVERFLOW bins.
Definition at line 214 of file Histogram1D.h.
double LWH::Histogram1D::maxBinHeight | ( | ) | const [inline] |
Maximum height of the in-range bins, i.e.
not considering the UNDERFLOW and OVERFLOW bins.
Definition at line 225 of file Histogram1D.h.
bool LWH::Histogram1D::fill | ( | double | x, | |
double | weight = 1. | |||
) | [inline] |
double LWH::Histogram1D::binMean | ( | int | index | ) | const [inline] |
The weighted mean of a bin.
index | The bin number (0...N-1) or OVERFLOW or UNDERFLOW. |
Definition at line 253 of file Histogram1D.h.
References LWH::Axis::binMidPoint(), LWH::VariAxis::binMidPoint(), fax, sumw, sumxw, and vax.
Referenced by writeFLAT(), and writeXML().
double LWH::Histogram1D::binRms | ( | int | index | ) | const [inline] |
The weighted RMS of a bin.
index | The bin number (0...N-1) or OVERFLOW or UNDERFLOW. |
Definition at line 264 of file Histogram1D.h.
References ax, ThePEG::sqrt(), sum, sumw, sumx2w, and sumxw.
Referenced by writeXML().
int LWH::Histogram1D::binEntries | ( | int | index | ) | const [inline] |
Number of entries in the corresponding bin (ie the number of times fill was called for this bin).
index | The bin number (0...N-1) or OVERFLOW or UNDERFLOW. |
Definition at line 276 of file Histogram1D.h.
References sum.
double LWH::Histogram1D::binHeight | ( | int | index | ) | const [inline] |
Total height of the corresponding bin (ie the sum of the weights in this bin).
index | The bin number (0...N-1) or OVERFLOW or UNDERFLOW. |
Definition at line 286 of file Histogram1D.h.
References sumw.
double LWH::Histogram1D::binError | ( | int | index | ) | const [inline] |
The error of a given bin.
index | The bin number (0...N-1) or OVERFLOW or UNDERFLOW. |
Definition at line 296 of file Histogram1D.h.
References ThePEG::sqrt(), and sumw2.
double LWH::Histogram1D::mean | ( | ) | const [inline] |
The mean of the whole IHistogram1D.
Definition at line 304 of file Histogram1D.h.
References ax, sumw, and sumxw.
Referenced by writeXML().
double LWH::Histogram1D::rms | ( | ) | const [inline] |
The RMS of the whole IHistogram1D.
Definition at line 318 of file Histogram1D.h.
References ax, ThePEG::sqrt(), sumw, sumx2w, and sumxw.
Referenced by writeXML().
const IAxis& LWH::Histogram1D::axis | ( | ) | const [inline] |
Get the x axis of the IHistogram1D.
Definition at line 335 of file Histogram1D.h.
References ax.
int LWH::Histogram1D::coordToIndex | ( | double | coord | ) | const [inline] |
Get the bin number corresponding to a given coordinate along the x axis.
This is a convenience method, equivalent to axis().coordToIndex(coord)
.
coord | The coordinalte along the x axis. |
Definition at line 346 of file Histogram1D.h.
References ax.
bool LWH::Histogram1D::add | ( | const Histogram1D & | h | ) | [inline] |
Add to this Histogram1D the contents of another IHistogram1D.
h | The Histogram1D to be added to this IHistogram1D. |
Definition at line 355 of file Histogram1D.h.
References ax, sum, sumw, sumw2, sumx2w, and sumxw.
Referenced by LWH::HistogramFactory::add().
bool LWH::Histogram1D::add | ( | const IHistogram1D & | hist | ) | [inline] |
Add to this IHistogram1D the contents of another IHistogram1D.
hist | The IHistogram1D to be added to this IHistogram1D. |
Definition at line 374 of file Histogram1D.h.
bool LWH::Histogram1D::scale | ( | double | s | ) | [inline] |
void LWH::Histogram1D::normalize | ( | double | intg | ) | [inline] |
Scale the given histogram so that the integral over all bins (including overflow) gives intg.
This function also corrects for the bin-widths, which means that it should only be run once for each histogram. Further rescaling must be done with the scale(double) function.
Definition at line 399 of file Histogram1D.h.
References ax, sumAllBinHeights(), sumw, sumw2, sumx2w, and sumxw.
void* LWH::Histogram1D::cast | ( | const std::string & | ) | const [inline] |
bool LWH::Histogram1D::writeFLAT | ( | std::ostream & | os, | |
std::string | path, | |||
std::string | name | |||
) | [inline, virtual] |
Write out the histogram in a flat text file suitable for eg.
gnuplot to read. The coloums are layed out as 'x w w2 n'.
Implements LWH::ManagedObject.
Definition at line 476 of file Histogram1D.h.
References ax, binMean(), ThePEG::sqrt(), sum, sumw, sumw2, and title().
friend class HistogramFactory [friend] |
IAxis* LWH::Histogram1D::ax [private] |
The axis.
Definition at line 493 of file Histogram1D.h.
Referenced by add(), axis(), binRms(), LWH::HistogramFactory::checkBins(), coordToIndex(), LWH::HistogramFactory::divide(), entries(), equivalentBinEntries(), fill(), Histogram1D(), integral(), maxBinHeight(), mean(), minBinHeight(), LWH::HistogramFactory::multiply(), normalize(), reset(), rms(), scale(), LWH::HistogramFactory::subtract(), sumBinHeights(), writeFLAT(), writeXML(), and ~Histogram1D().
Axis* LWH::Histogram1D::fax [private] |
Pointer (possibly null) to a axis with fixed bin width.
Definition at line 496 of file Histogram1D.h.
Referenced by binMean(), LWH::HistogramFactory::checkBins(), and Histogram1D().
VariAxis* LWH::Histogram1D::vax [private] |
Pointer (possibly null) to a axis with fixed bin width.
Definition at line 499 of file Histogram1D.h.
Referenced by binMean(), Histogram1D(), and writeXML().
std::vector<int> LWH::Histogram1D::sum [private] |
The counts.
Definition at line 502 of file Histogram1D.h.
Referenced by add(), binEntries(), binRms(), LWH::HistogramFactory::divide(), entries(), extraEntries(), fill(), LWH::HistogramFactory::multiply(), reset(), LWH::HistogramFactory::subtract(), writeFLAT(), and writeXML().
std::vector<double> LWH::Histogram1D::sumw [private] |
The weights.
Definition at line 505 of file Histogram1D.h.
Referenced by add(), binHeight(), binMean(), binRms(), LWH::HistogramFactory::divide(), equivalentBinEntries(), fill(), integral(), maxBinHeight(), mean(), minBinHeight(), LWH::HistogramFactory::multiply(), normalize(), reset(), rms(), scale(), LWH::HistogramFactory::subtract(), sumBinHeights(), sumExtraBinHeights(), writeFLAT(), and writeXML().
std::vector<double> LWH::Histogram1D::sumw2 [private] |
The squared weights.
Definition at line 508 of file Histogram1D.h.
Referenced by add(), binError(), LWH::HistogramFactory::divide(), equivalentBinEntries(), fill(), LWH::HistogramFactory::multiply(), normalize(), reset(), scale(), LWH::HistogramFactory::subtract(), writeFLAT(), and writeXML().
std::vector<double> LWH::Histogram1D::sumxw [private] |
The weighted x-values.
Definition at line 511 of file Histogram1D.h.
Referenced by add(), binMean(), binRms(), LWH::HistogramFactory::divide(), fill(), mean(), LWH::HistogramFactory::multiply(), normalize(), reset(), rms(), and scale().
std::vector<double> LWH::Histogram1D::sumx2w [private] |
The weighted x-square-values.
Definition at line 514 of file Histogram1D.h.
Referenced by add(), binRms(), fill(), normalize(), reset(), rms(), and scale().
IAnnotation* LWH::Histogram1D::anno [private] |