hep.aida.ref

## Class Histogram2D

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

- All Implemented Interfaces:
    IHistogram, IHistogram2D, java.io.Serializable

      public class Histogram2D
      extends java.lang.Object
      implements IHistogram2D

  A reference implementation of hep.aida.IHistogram2D. The goal is to provide a clear implementation rather than the most efficient implementation. However, performance seems fine - filling 6 * 10^5 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
    `Histogram2D(java.lang.String title, double[] xEdges, double[] yEdges)` Creates a variable-width histogram.
    `Histogram2D(java.lang.String title, IAxis xAxis, IAxis yAxis)` Creates a histogram with the given axis binning.
    `Histogram2D(java.lang.String title, int xBins, double xMin, double xMax, int yBins, double yMin, double yMax)` Creates a fixed-width histogram.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `allEntries()` Number of all entries in all (both in-range and under/overflow) bins in the histogram.
    `int` | `binEntries(int indexX, int indexY)` The number of entries (ie the number of times fill was called for this bin).
    `int` | `binEntriesX(int indexX)` Equivalent to `projectionX().binEntries(indexX)`.
    `int` | `binEntriesY(int indexY)` Equivalent to `projectionY().binEntries(indexY)`.
    `double` | `binError(int indexX, int indexY)` The error on this bin.
    `double` | `binHeight(int indexX, int indexY)` Total height of the corresponding bin (ie the sum of the weights in this bin).
    `double` | `binHeightX(int indexX)` Equivalent to `projectionX().binHeight(indexX)`.
    `double` | `binHeightY(int indexY)` Equivalent to `projectionY().binHeight(indexY)`.
    `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, double y)` Fill the histogram with weight 1.
    `void` | `fill(double x, double y, double weight)` Fill the histogram with specified weight.
    `double` | `meanX()` Returns the mean of the histogram, as calculated on filling-time projected on the X axis.
    `double` | `meanY()` Returns the mean of the histogram, as calculated on filling-time projected on the Y axis.
    `int[]` | `minMaxBins()` Indexes of the in-range bins containing the smallest and largest binHeight(), respectively.
    `IHistogram1D` | `projectionX()` Create a projection parallel to the X axis.
    `IHistogram1D` | `projectionY()` Create a projection parallel to the Y axis.
    `void` | `reset()` Reset contents; as if just constructed.
    `double` | `rmsX()` Returns the rms of the histogram as calculated on filling-time projected on the X axis.
    `double` | `rmsY()` Returns the rms of the histogram as calculated on filling-time projected on the Y axis.
    `IHistogram1D` | `sliceX(int indexY)` Slice parallel to the Y axis at bin indexY and one bin wide.
    `IHistogram1D` | `sliceX(int indexY1, int indexY2)` Create a slice parallel to the axis X axis, between "indexY1" and "indexY2" (inclusive).
    `IHistogram1D` | `sliceY(int indexX)` Slice parallel to the X axis at bin indexX and one bin wide.
    `IHistogram1D` | `sliceY(int indexX1, int indexX2)` Create a slice parallel to the axis Y axis, between "indexX1" and "indexX2" (inclusive) The returned IHistogram1D represents an instantaneous snapshot of the histogram at the time the slice was created.
    `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()` Return the X axis.
    `IAxis` | `yAxis()` Return the Y axis.

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

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

    - ### Methods inherited from interface hep.aida.IHistogram2D

      `binEntriesX, binEntriesY, binHeightX, binHeightY, minMaxBins, projectionX, projectionY, sliceX, sliceX, sliceY, sliceY, xAxis, yAxis`

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

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

- - ### Constructor Detail

    - #### Histogram2D

          public Histogram2D(java.lang.String title,
                     double[] xEdges,
                     double[] yEdges)

      Creates a variable-width histogram. Example: `xEdges = (0.2, 1.0, 5.0, 6.0), yEdges = (-5, 0, 7)` yields 3*2 in-range bins.
      Parameters:
        `title` - The histogram title.
        `xEdges` - the bin boundaries the x-axis shall have; must be sorted ascending and must not contain multiple identical elements.
        `yEdges` - the bin boundaries the y-axis shall have; must be sorted ascending and must not contain multiple identical elements.
      Throws:
        `java.lang.IllegalArgumentException` - if `xEdges.length < 1 || yEdges.length < 1`.

    - #### Histogram2D

          public Histogram2D(java.lang.String title,
                     int xBins,
                     double xMin,
                     double xMax,
                     int yBins,
                     double yMin,
                     double yMax)

      Creates a fixed-width histogram.
      Parameters:
        `title` - The histogram title.
        `xBins` - The number of bins on the X axis.
        `xMin` - The minimum value on the X axis.
        `xMax` - The maximum value on the X axis.
        `yBins` - The number of bins on the Y axis.
        `yMin` - The minimum value on the Y axis.
        `yMax` - The maximum value on the Y axis.

    - #### Histogram2D

          public Histogram2D(java.lang.String title,
                     IAxis xAxis,
                     IAxis yAxis)

      Creates a histogram with the given axis binning.
      Parameters:
        `title` - The histogram title.
        `xAxis` - The x-axis description to be used for binning.
        `yAxis` - The y-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 indexX,
                       int indexY)

      Description copied from interface: `IHistogram2D`
      The number of entries (ie the number of times fill was called for this bin).
      Specified by:
        `binEntries` in interface `IHistogram2D`
      Parameters:
        `indexX` - the x bin number (0...Nx-1) or OVERFLOW or UNDERFLOW.
        `indexY` - the y bin number (0...Ny-1) or OVERFLOW or UNDERFLOW.

    - #### binError

          public double binError(int indexX,
                        int indexY)

      Description copied from interface: `IHistogram2D`
      The error on this bin.
      Specified by:
        `binError` in interface `IHistogram2D`
      Parameters:
        `indexX` - the x bin number (0...Nx-1) or OVERFLOW or UNDERFLOW.
        `indexY` - the y bin number (0...Ny-1) or OVERFLOW or UNDERFLOW.

    - #### binHeight

          public double binHeight(int indexX,
                         int indexY)

      Description copied from interface: `IHistogram2D`
      Total height of the corresponding bin (ie the sum of the weights in this bin).
      Specified by:
        `binHeight` in interface `IHistogram2D`
      Parameters:
        `indexX` - the x bin number (0...Nx-1) or OVERFLOW or UNDERFLOW.
        `indexY` - the y bin number (0...Ny-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,
                  double y)

      Description copied from interface: `IHistogram2D`
      Fill the histogram with weight 1.
      Specified by:
        `fill` in interface `IHistogram2D`

    - #### fill

          public void fill(double x,
                  double y,
                  double weight)

      Description copied from interface: `IHistogram2D`
      Fill the histogram with specified weight.
      Specified by:
        `fill` in interface `IHistogram2D`

    - #### meanX

          public double meanX()

      Description copied from interface: `IHistogram2D`
      Returns the mean of the histogram, as calculated on filling-time projected on the X axis.
      Specified by:
        `meanX` in interface `IHistogram2D`

    - #### meanY

          public double meanY()

      Description copied from interface: `IHistogram2D`
      Returns the mean of the histogram, as calculated on filling-time projected on the Y axis.
      Specified by:
        `meanY` in interface `IHistogram2D`

    - #### reset

          public void reset()

      Description copied from interface: `IHistogram`
      Reset contents; as if just constructed.
      Specified by:
        `reset` in interface `IHistogram`

    - #### rmsX

          public double rmsX()

      Description copied from interface: `IHistogram2D`
      Returns the rms of the histogram as calculated on filling-time projected on the X axis.
      Specified by:
        `rmsX` in interface `IHistogram2D`

    - #### rmsY

          public double rmsY()

      Description copied from interface: `IHistogram2D`
      Returns the rms of the histogram as calculated on filling-time projected on the Y axis.
      Specified by:
        `rmsY` in interface `IHistogram2D`

    - #### 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`

    - #### binEntriesX

          public int binEntriesX(int indexX)

      Description copied from interface: `IHistogram2D`
      Equivalent to `projectionX().binEntries(indexX)`.
      Specified by:
        `binEntriesX` in interface `IHistogram2D`

    - #### binEntriesY

          public int binEntriesY(int indexY)

      Description copied from interface: `IHistogram2D`
      Equivalent to `projectionY().binEntries(indexY)`.
      Specified by:
        `binEntriesY` in interface `IHistogram2D`

    - #### binHeightX

          public double binHeightX(int indexX)

      Description copied from interface: `IHistogram2D`
      Equivalent to `projectionX().binHeight(indexX)`.
      Specified by:
        `binHeightX` in interface `IHistogram2D`

    - #### binHeightY

          public double binHeightY(int indexY)

      Description copied from interface: `IHistogram2D`
      Equivalent to `projectionY().binHeight(indexY)`.
      Specified by:
        `binHeightY` in interface `IHistogram2D`

    - #### 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: `IHistogram2D`
      Indexes of the in-range bins containing the smallest and largest binHeight(), respectively.
      Specified by:
        `minMaxBins` in interface `IHistogram2D`
      Returns:
        `{minBinX,minBinY, maxBinX,maxBinY}`.

    - #### projectionX

          public IHistogram1D projectionX()

      Description copied from interface: `IHistogram2D`
      Create a projection parallel to the X axis. Equivalent to `sliceX(UNDERFLOW,OVERFLOW)`.
      Specified by:
        `projectionX` in interface `IHistogram2D`

    - #### projectionY

          public IHistogram1D projectionY()

      Description copied from interface: `IHistogram2D`
      Create a projection parallel to the Y axis. Equivalent to `sliceY(UNDERFLOW,OVERFLOW)`.
      Specified by:
        `projectionY` in interface `IHistogram2D`

    - #### sliceX

          public IHistogram1D sliceX(int indexY)

      Description copied from interface: `IHistogram2D`
      Slice parallel to the Y axis at bin indexY and one bin wide. Equivalent to `sliceX(indexY,indexY)`.
      Specified by:
        `sliceX` in interface `IHistogram2D`

    - #### sliceX

          public IHistogram1D sliceX(int indexY1,
                            int indexY2)

      Description copied from interface: `IHistogram2D`
      Create a slice parallel to the axis X axis, between "indexY1" and "indexY2" (inclusive). The returned IHistogram1D represents an instantaneous snapshot of the histogram at the time the slice was created.
      Specified by:
        `sliceX` in interface `IHistogram2D`

    - #### sliceY

          public IHistogram1D sliceY(int indexX)

      Description copied from interface: `IHistogram2D`
      Slice parallel to the X axis at bin indexX and one bin wide. Equivalent to `sliceY(indexX,indexX)`.
      Specified by:
        `sliceY` in interface `IHistogram2D`

    - #### sliceY

          public IHistogram1D sliceY(int indexX1,
                            int indexX2)

      Description copied from interface: `IHistogram2D`
      Create a slice parallel to the axis Y axis, between "indexX1" and "indexX2" (inclusive) The returned IHistogram1D represents an instantaneous snapshot of the histogram at the time the slice was created.
      Specified by:
        `sliceY` in interface `IHistogram2D`

    - #### 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: `IHistogram2D`
      Return the X axis.
      Specified by:
        `xAxis` in interface `IHistogram2D`

    - #### yAxis

          public IAxis yAxis()

      Description copied from interface: `IHistogram2D`
      Return the Y axis.
      Specified by:
        `yAxis` in interface `IHistogram2D`

    - #### 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`

Jump to the Colt Homepage