hep.aida.ref

## Class Histogram1D

- java.lang.Object
- - hep.aida.ref.Histogram1D

All Implemented Interfaces:
  IHistogram, IHistogram1D, java.io.Serializable

    public class Histogram1D
    extends java.lang.Object
    implements IHistogram1D

A reference implementation of hep.aida.IHistogram1D. The goal is to provide a clear implementation rather than the most efficient implementation. However, performance seems fine - filling 1.2 * 10^6 points/sec, both using FixedAxis or VariableAxis.

Version:
  1.0, 23/03/2000
See Also:
  Serialized Form

### Field Summary

### Fields inherited from interface hep.aida.IHistogram

`OVERFLOW, serialVersionUID, UNDERFLOW`

### Constructor Summary

Constructors
Constructor and Description
`Histogram1D(java.lang.String title, double[] edges)` Creates a variable-width histogram.
`Histogram1D(java.lang.String title, IAxis axis)` Creates a histogram with the given axis binning.
`Histogram1D(java.lang.String title, int bins, double min, double max)` Creates a fixed-width histogram.

### Method Summary

Methods
`int` `allEntries()` Number of all entries in all (both in-range and under/overflow) bins in the histogram.
`int` `binEntries(int index)` Number of entries in the corresponding bin (ie the number of times fill was called for this bin).
`double` `binError(int index)` The error on this bin.
`double` `binHeight(int index)` Total height of the corresponding bin (ie the sum of the weights in this bin).
`int` `dimensions()` Returns 1 for one-dimensional histograms, 2 for two-dimensional histograms, and so on.
`int` `entries()` Number of in-range entries in the histogram.
`double` `equivalentBinEntries()` Number of equivalent entries.
`int` `extraEntries()` Number of under and overflow entries in the histogram.
`void` `fill(double x)` Fill histogram with weight 1.
`void` `fill(double x, double weight)` Fill histogram with specified weight.
`double` `mean()` Returns the mean of the whole histogram as calculated on filling-time.
`int[]` `minMaxBins()` Indexes of the in-range bins containing the smallest and largest binHeight(), respectively.
`void` `reset()` Reset contents; as if just constructed.
`double` `rms()` Returns the rms of the whole histogram as calculated on filling-time.
`double` `sumAllBinHeights()` Sum of all (both in-range and under/overflow) bin heights in the histogram.
`double` `sumBinHeights()` Sum of in-range bin heights in the histogram.
`double` `sumExtraBinHeights()` Sum of under/overflow bin heights in the histogram.
`java.lang.String` `title()` Title of the histogram (will be set only in the constructor).
`IAxis` `xAxis()` Returns the X Axis.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface hep.aida.IHistogram1D

`minMaxBins, xAxis`

### Methods inherited from interface hep.aida.IHistogram

`dimensions, entries, extraEntries, sumAllBinHeights, sumBinHeights, sumExtraBinHeights, title`

### Constructor Detail

#### Histogram1D

    public Histogram1D(java.lang.String title,
               double[] edges)

Creates a variable-width histogram. Example: `edges = (0.2, 1.0, 5.0)` yields an axis with 2 in-range bins `[0.2,1.0), [1.0,5.0)` and 2 extra bins `[-inf,0.2), [5.0,inf]`.

Parameters:
  `title` - The histogram title.
  `edges` - the bin boundaries the axis shall have; must be sorted ascending and must not contain multiple identical elements.
Throws:
  `java.lang.IllegalArgumentException` - if `edges.length < 1`.

#### Histogram1D

    public Histogram1D(java.lang.String title,
               int bins,
               double min,
               double max)

Creates a fixed-width histogram.

Parameters:
  `title` - The histogram title.
  `bins` - The number of bins.
  `min` - The minimum value on the X axis.
  `max` - The maximum value on the X axis.

#### Histogram1D

    public Histogram1D(java.lang.String title,
               IAxis axis)

Creates a histogram with the given axis binning.

Parameters:
  `title` - The histogram title.
  `axis` - The axis description to be used for binning.

### Method Detail

#### allEntries

    public int allEntries()

Description copied from interface: `IHistogram`
Number of all entries in all (both in-range and under/overflow) bins in the histogram.

Specified by:
  `allEntries` in interface `IHistogram`

#### binEntries

    public int binEntries(int index)

Description copied from interface: `IHistogram1D`
Number of entries in the corresponding bin (ie the number of times fill was called for this bin).

Specified by:
  `binEntries` in interface `IHistogram1D`
Parameters:
  `index` - the bin number (0...N-1) or OVERFLOW or UNDERFLOW.

#### binError

    public double binError(int index)

Description copied from interface: `IHistogram1D`
The error on this bin.

Specified by:
  `binError` in interface `IHistogram1D`
Parameters:
  `index` - the bin number (0...N-1) or OVERFLOW or UNDERFLOW.

#### binHeight

    public double binHeight(int index)

Description copied from interface: `IHistogram1D`
Total height of the corresponding bin (ie the sum of the weights in this bin).

Specified by:
  `binHeight` in interface `IHistogram1D`
Parameters:
  `index` - the bin number (0...N-1) or OVERFLOW or UNDERFLOW.

#### equivalentBinEntries

    public double equivalentBinEntries()

Description copied from interface: `IHistogram`
Number of equivalent entries.

Specified by:
  `equivalentBinEntries` in interface `IHistogram`
Returns:
  `SUM[ weight ] ^ 2 / SUM[ weight^2 ]`.

#### fill

    public void fill(double x)

Description copied from interface: `IHistogram1D`
Fill histogram with weight 1.

Specified by:
  `fill` in interface `IHistogram1D`

#### fill

    public void fill(double x,
            double weight)

Description copied from interface: `IHistogram1D`
Fill histogram with specified weight.

Specified by:
  `fill` in interface `IHistogram1D`

#### mean

    public double mean()

Description copied from interface: `IHistogram1D`
Returns the mean of the whole histogram as calculated on filling-time.

Specified by:
  `mean` in interface `IHistogram1D`

#### reset

    public void reset()

Description copied from interface: `IHistogram`
Reset contents; as if just constructed.

Specified by:
  `reset` in interface `IHistogram`

#### rms

    public double rms()

Description copied from interface: `IHistogram1D`
Returns the rms of the whole histogram as calculated on filling-time.

Specified by:
  `rms` in interface `IHistogram1D`

#### dimensions

    public int dimensions()

Description copied from interface: `IHistogram`
Returns 1 for one-dimensional histograms, 2 for two-dimensional histograms, and so on.

Specified by:
  `dimensions` in interface `IHistogram`

#### entries

    public int entries()

Description copied from interface: `IHistogram`
Number of in-range entries in the histogram.

Specified by:
  `entries` in interface `IHistogram`

#### extraEntries

    public int extraEntries()

Description copied from interface: `IHistogram`
Number of under and overflow entries in the histogram.

Specified by:
  `extraEntries` in interface `IHistogram`

#### minMaxBins

    public int[] minMaxBins()

Description copied from interface: `IHistogram1D`
Indexes of the in-range bins containing the smallest and largest binHeight(), respectively.

Specified by:
  `minMaxBins` in interface `IHistogram1D`
Returns:
  `{minBin,maxBin}`.

#### sumAllBinHeights

    public double sumAllBinHeights()

Description copied from interface: `IHistogram`
Sum of all (both in-range and under/overflow) bin heights in the histogram.

Specified by:
  `sumAllBinHeights` in interface `IHistogram`

#### sumBinHeights

    public double sumBinHeights()

Description copied from interface: `IHistogram`
Sum of in-range bin heights in the histogram.

Specified by:
  `sumBinHeights` in interface `IHistogram`

#### sumExtraBinHeights

    public double sumExtraBinHeights()

Description copied from interface: `IHistogram`
Sum of under/overflow bin heights in the histogram.

Specified by:
  `sumExtraBinHeights` in interface `IHistogram`

#### xAxis

    public IAxis xAxis()

Description copied from interface: `IHistogram1D`
Returns the X Axis.

Specified by:
  `xAxis` in interface `IHistogram1D`

#### title

    public java.lang.String title()

Description copied from interface: `IHistogram`
Title of the histogram (will be set only in the constructor).

Specified by:
  `title` in interface `IHistogram`