Package hep.aida.ref
Class Histogram1D
java.lang.Object
hep.aida.ref.Histogram
hep.aida.ref.AbstractHistogram1D
hep.aida.ref.Histogram1D
- All Implemented Interfaces:
IHistogram
,IHistogram1D
,Serializable
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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int[]
private double[]
private double[]
private double
private int
private double
private double
private double
Fields inherited from class hep.aida.ref.AbstractHistogram1D
xAxis
Fields inherited from interface hep.aida.IHistogram
OVERFLOW, serialVersionUID, UNDERFLOW
-
Constructor Summary
ConstructorsConstructorDescriptionHistogram1D
(String title, double[] edges) Creates a variable-width histogram.Histogram1D
(String title, int bins, double min, double max) Creates a fixed-width histogram.Histogram1D
(String title, IAxis axis) Creates a histogram with the given axis binning. -
Method Summary
Modifier and TypeMethodDescriptionint
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).double
Number of equivalent entries.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.void
reset()
Reset contents; as if just constructed.double
rms()
Returns the rms of the whole histogram as calculated on filling-time.(package private) void
setContents
(int[] entries, double[] heights, double[] errors) Used internally for creating slices and projectionsMethods inherited from class hep.aida.ref.AbstractHistogram1D
dimensions, entries, extraEntries, map, minMaxBins, sumAllBinHeights, sumBinHeights, sumExtraBinHeights, xAxis
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface hep.aida.IHistogram
dimensions, entries, extraEntries, sumAllBinHeights, sumBinHeights, sumExtraBinHeights, title
Methods inherited from interface hep.aida.IHistogram1D
minMaxBins, xAxis
-
Field Details
-
errors
private double[] errors -
heights
private double[] heights -
entries
private int[] entries -
nEntry
private int nEntry -
sumWeight
private double sumWeight -
sumWeightSquared
private double sumWeightSquared -
mean
private double mean -
rms
private double rms
-
-
Constructor Details
-
Histogram1D
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:
IllegalArgumentException
- if edges.length invalid input: '<' 1.
-
Histogram1D
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
Creates a histogram with the given axis binning.- Parameters:
title
- The histogram title.axis
- The axis description to be used for binning.
-
-
Method Details
-
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 interfaceIHistogram
- Overrides:
allEntries
in classAbstractHistogram1D
-
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 interfaceIHistogram1D
- 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 interfaceIHistogram1D
- 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 interfaceIHistogram1D
- 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 interfaceIHistogram
- 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 interfaceIHistogram1D
-
fill
public void fill(double x, double weight) Description copied from interface:IHistogram1D
Fill histogram with specified weight.- Specified by:
fill
in interfaceIHistogram1D
-
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 interfaceIHistogram1D
-
reset
public void reset()Description copied from interface:IHistogram
Reset contents; as if just constructed.- Specified by:
reset
in interfaceIHistogram
-
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 interfaceIHistogram1D
-
setContents
void setContents(int[] entries, double[] heights, double[] errors) Used internally for creating slices and projections
-