Class H1D
- java.lang.Object
-
- jhplot.Plottable
-
- jhplot.DrawOptions
-
- jhplot.H1D
-
- All Implemented Interfaces:
- java.io.Serializable
public class H1D extends DrawOptions implements java.io.Serializable
Histogram in one dimension (1D). A histogram can be serialized to a file, plotted using HPlot, HPlotJa canvases. Many methods to manipulate with histogram and access its statistics are also available.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description H1D()
Build 1D histogram.H1D(Cloud1D c1d, int bins)
Create H1D histogram from JAIDA Cloud1D class.H1D(Histogram1D h1)
Create H1D histogram from JAIDA Histogram1D class.H1D(IHistogram1D h1)
Create H1D histogram from JAIDA IHistogram1D classH1D(java.lang.String title, double[] edges)
Create 1D histogram with variable bin size.H1D(java.lang.String title, H1D h1d)
Create H1D from another instance.H1D(java.lang.String title, IAxis axis)
Create 1D histogram with variable bin size.H1D(java.lang.String title, int bins, double min, double max)
Build 1D histogramH1D(hep.io.root.interfaces.TH1 h1t)
Create H1D histogram from JAIDA TH1 histogram class
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description int
allEntries()
Get number of all entriesdouble
binCenter(int index)
Get bin centres.double[]
binCenters()
Get all bin centers in form of arrayint[]
binEntries()
Get all entries of the histogram as an arrayint
binEntries(int index)
Number of entries in a bin with index idouble
binError(int index)
Error on the bin with index idouble[]
binErrors()
Get all bin errors of the histogram as an arraydouble
binHeight(int index)
Height of the corresponding bindouble[]
binHeights()
Get all heights of the histogram as an arraydouble
binLowerEdge(int index)
Get bin lower edge.double[]
binLowerEdges()
Get all lower edges in form of arraydouble
binMean(int index)
Mean in a single bin with indexdouble
binRms(int index)
RMS of a single bin with indexdouble
binUpperEdge(int index)
Get bin upper edge.double[]
binUpperEdges()
Get all upper edges in form of arrayvoid
clear()
Make a copy of the data holderjava.util.Map<java.lang.String,java.lang.Double>
compareChi2(F1D f1)
Compare the histogram with a function.java.util.Map<java.lang.String,java.lang.Double>
compareChi2(H1D h2)
Compare two histograms.H1D
copy()
Make a copy of the data holderH1D
copy(java.lang.String newtitle)
Get exact copy of the current histogram.void
doc()
Show online documentation.int
entries()
Number of in-range entries in the histogramint
extraEntries()
Number of under and overflow entries in the histogram.void
fill(Cloud1D c1d)
Fill histogram with array of double valuesvoid
fill(double value)
Fill histogram with a valuevoid
fill(double[] values)
Fill histogram with array of double valuesvoid
fill(double[] values, double[] weights)
Fill histogram with array of double values.void
fill(double value, double weight)
Fill histogram a with weightvoid
fill(int[] values)
Fill histogram with array of integer valuesvoid
fill(int TotNumber, AbstractDistribution random)
Fill the histogram with random numbers.void
fill(P0D p0d)
Fill histogram from P0D arrayvoid
fill(P0I p0i)
Fill histogram from P0I arrayvoid
fill(PND pnd)
Fill histogram with values from a PND array.void
fill(PND pnd, PND weigths)
Fill histograms with values from PND array.void
fillGauss(int TotNumber, double mean, double sd)
Fill the histogram with random numbers from Gaussian (Normal) distribution.void
fillInvBinSizeWeight(double value)
Fill histogram with a value, weighting it by inverse of bin size.void
fillRnd(int TotNumber, double mean, double width)
Fill the histogram with random numbers from a flat distribution.int
findBin(double x)
Convert a coordinate on the axis to a bin numberHistogram1D
get()
Get JAIDA histogramIAxis
getAxis()
Get histogram Axis class.int
getBins()
Get the number of binsdouble
getBinSize()
Get bin width in case of fixed-size bins.double
getBinSize(int index)
Get bin width for index iH1D
getDensity()
Get a density distribution dividing each bin of the histogram by the bin width and the total number of heights for all bins.H1D
getDividedByBinWidth()
Divide heights of each bin by the bin width.double
getEntropy()
Returns the entropy of the histogram.double
getMax()
Get Maximum value of axisdouble
getMin()
Get Minimum value of the axisint
getOverflow()
Number of overflow entriesdouble
getOverflowlowHeight()
Overflow heightH1D
getProbability()
Return q probability distribution derived from a histogram.java.util.Map<java.lang.String,java.lang.Double>
getStat()
Calculate complete statistics for this histogram.java.lang.String[]
getStatParameters()
Get statistical parameters of a Histogram as a list of stringsint
getUnderflow()
Number of underflow entriesdouble
getUnderflowHeight()
Underflow heightdouble[][]
getValues(int mode)
Get positions in X,Y and Errors.double
integral()
Sum of all heights multiplied by the bin size.double
integral(int BinMin, int BinMax)
Integrate a histogram between two bin indices (between 1 and max number) By default the integral is computed as the sum of bin contents in the range.double
integral(int BinMin, int BinMax, boolean timesBinWidth)
Integrate a histogram between two bin indices (between 1 and max number) The integral is computed as the sum of bin contents in the range if the last parameter is false.double
integralRegion(double xmin, double xmax)
Integrate histogram in a region between Xmin and Xmax.double
integralRegion(double xmin, double xmax, boolean timesBinWidth)
Integrate histogram in a region between Xmin and Xmax.boolean
isFixedBinning()
Return true if bins have constant bin widthdouble
maxBinHeight()
Max value of all binsdouble
mean()
Get mean of the histogramdouble
minBinHeight()
Min value of all binsH1D
oper(H1D a, java.lang.String what)
Various manipulations with histograms (+,-,*,/).H1D
oper(H1D a, java.lang.String title, java.lang.String what)
Various manipulations with histograms (+,-,*,/).H1D
operScale(java.lang.String title, double scaleFactor)
Scale the histogram and return scaled object.H1D
operSmooth(boolean isWeighted, int k)
Smooth the histogram.H1D
operSmoothGauss(double standardDeviation)
Computes a Gaussian smoothed version of the histogram.void
print()
Print histogram on screenH1D
rebin(int ngroup)
Rebin a histogram with constant bin width.double
rms()
Get RMS of histogramvoid
scale(double scaleFactor)
Scale the histogram.void
scale(java.lang.String title, double scaleFactor)
Scale the histogram.H1D
scaleErrors(double scale)
Rescale errors by a some factor.void
setBins(int bins)
Sets the number of binsvoid
setContents(double[] values, double[] errors)
Sets the content of H1D histogram.void
setContents(double[] heights, double[] errors, int[] entries, double[] means, double[] rmss)
Set the content of the whole Histogram at once.void
setErrors(double[] errors)
Sets errors of H1D histogram (for heights).void
setHeights(double[] values)
Sets the content of H1D histogram (heights).void
setMax(double max)
Set Maximum value of axisvoid
setMeanAndRms(double mean, double rms)
Sets the Mean and RMS of H1D histogramvoid
setMin(double min)
Set Min value of axisvoid
setNEntries(int entries)
Sets number of entries of H1D histogram.void
setValidEntries(int entries)
Sets number of valid entries.void
shift(double d)
Shift all bins by some valuedouble
sumAllBinHeights()
Sum of all heightsvoid
toFile(java.lang.String name)
Write the H1D histogram to a filejava.lang.String
toString()
Convert the histogram to a stringvoid
toTable()
Print a H1D histogram to a Table in a separate frame.-
Methods inherited from class jhplot.DrawOptions
copyLinePars, getBinWidth, getColor, getDrawOption, getDrawOptions, getFillColor, getLegend, getLineParm, getLineStyle, getNameX, getNameY, getNameZ, getPenWidth, getSymbol, getSymbolShape, getSymbolSize, getTitle, getType, isBars, isErrX, isErrY, isFilled, printDrawOptions, printDrawOptions, setBars, setBinWidth, setColor, setDrawLine, setDrawLineKey, setDrawOption, setDrawSymbol, setErr, setErrAll, setErrColor, setErrColor, setErrColorX, setErrColorY, setErrFill, setErrFillColor, setErrFillColor, setErrSys, setErrSysFill, setErrSysFillColor, setErrSysFillColor, setErrSysX, setErrSysY, setErrTicSize, setErrX, setErrY, setFill, setFillColor, setFillColorTransparency, setGraphStyle, setLegend, setLineStyle, setNameX, setNameY, setNameZ, setPenDash, setPenDash, setPenWidth, setPenWidthErr, setPenWidthErrSys, setStyle, setSymbol, setSymbol, setSymbolSize, setTitle, setType
-
-
-
-
Constructor Detail
-
H1D
public H1D()
Build 1D histogram. Default constructor. Does not do anything.
-
H1D
public H1D(java.lang.String title, int bins, double min, double max)
Build 1D histogram- Parameters:
title
- Titlebins
- Number of binsmin
- Minimum valuemax
- Maximum value
-
H1D
public H1D(java.lang.String title, double[] edges)
Create 1D histogram with variable bin size.- Parameters:
title
- Title of histogram.edges
- edges
-
H1D
public H1D(java.lang.String title, IAxis axis)
Create 1D histogram with variable bin size.- Parameters:
title
- Title of histogram.edges
- edges
-
H1D
public H1D(Histogram1D h1)
Create H1D histogram from JAIDA Histogram1D class.- Parameters:
h1
- Histogram1D histogram from JAIDA
-
H1D
public H1D(Cloud1D c1d, int bins)
Create H1D histogram from JAIDA Cloud1D class. Min and Max values re determined automatically.- Parameters:
c1d
- Cloud1D histogram from JAIDAbins
- Number of bins for plotting.
-
H1D
public H1D(IHistogram1D h1)
Create H1D histogram from JAIDA IHistogram1D class- Parameters:
h1
- IHistogram1D histogram from JAIDA
-
H1D
public H1D(java.lang.String title, H1D h1d)
Create H1D from another instance.- Parameters:
title
- new titleh1d
- input H1D
-
H1D
public H1D(hep.io.root.interfaces.TH1 h1t)
Create H1D histogram from JAIDA TH1 histogram class- Parameters:
h1t
- TH1 histogram from JAIDA
-
-
Method Detail
-
print
public void print()
Print histogram on screen
-
toString
public java.lang.String toString()
Convert the histogram to a string- Overrides:
toString
in classjava.lang.Object
- Returns:
- string representing a histogram
-
toTable
public void toTable()
Print a H1D histogram to a Table in a separate frame. The numbers are formatted to scientific format. One can sort and search the data in this table (cannot be modified).
-
fill
public void fill(P0D p0d)
Fill histogram from P0D array- Parameters:
p0d
- input P0D array
-
fill
public void fill(int TotNumber, AbstractDistribution random)
Fill the histogram with random numbers. Random generators are taken from cern.jet.random.*. Examples: Beta, Binominal, Poisson, BreitWigner,ChiSquare,Empirical Exponential, Gamma, Hyperbolic, Logarithmic, Normal, NegativeBinomial- Parameters:
TotNumber
- number generated eventsrandom
- generator
-
fillGauss
public void fillGauss(int TotNumber, double mean, double sd)
Fill the histogram with random numbers from Gaussian (Normal) distribution. Seed is taken from time.- Parameters:
TotNumber
- number generated eventsmean
- mean of the gaussiansd
- standard deviation
-
fillRnd
public void fillRnd(int TotNumber, double mean, double width)
Fill the histogram with random numbers from a flat distribution. Seed is taken from time. Using mean=0 and width=1 will give a flat distribution between 0 and 1.- Parameters:
TotNumber
- number generated eventsmean
- mean of the distributionwidth
- width of the distribution
-
fill
public void fill(P0I p0i)
Fill histogram from P0I array- Parameters:
p0i
- input P0I array
-
getAxis
public IAxis getAxis()
Get histogram Axis class.- Returns:
- Axis used for this histogram.
-
binCenter
public double binCenter(int index)
Get bin centres.- Parameters:
index
- bin index- Returns:
- bin centre.
-
binCenters
public double[] binCenters()
Get all bin centers in form of array- Returns:
- double[] array of bin centers
-
binLowerEdge
public double binLowerEdge(int index)
Get bin lower edge.- Parameters:
index
- bin index- Returns:
- lower edge
-
binLowerEdges
public double[] binLowerEdges()
Get all lower edges in form of array- Returns:
- double[] array of low edges
-
binUpperEdge
public double binUpperEdge(int index)
Get bin upper edge.- Parameters:
index
- bin index- Returns:
- upper edge
-
binUpperEdges
public double[] binUpperEdges()
Get all upper edges in form of array- Returns:
- double[] array of upper edges
-
toFile
public void toFile(java.lang.String name)
Write the H1D histogram to a file- Parameters:
name
- File name
-
setHeights
public void setHeights(double[] values)
Sets the content of H1D histogram (heights). Keep errors the same. RMS and Mean will be wrong!.- Parameters:
values
- array with values in Y (dimension: bins + 2)
-
setErrors
public void setErrors(double[] errors)
Sets errors of H1D histogram (for heights). Keep values the same- Parameters:
errors
- array with errors in Y (dimension: bins + 2)
-
setContents
public void setContents(double[] values, double[] errors)
Sets the content of H1D histogram. Start from 1 to bins+2.- Parameters:
values
- array with values in Y (dimension: bins + 2)errors
- array with errors on Y (dimension: bins + 2)
-
setContents
public void setContents(double[] heights, double[] errors, int[] entries, double[] means, double[] rmss)
Set the content of the whole Histogram at once. This is a convenience method for saving/restoring Histograms. Of the arguments below the heights array cannot be null. The errors array should in general be non-null, but this depends on the specific binner. The entries array can be null, in which case the entry of a bin is taken to be the integer part of the height. If the means array is null, the mean is defaulted to the geometric center of the bin. If the rms array is null, the rms is taken to be the bin width over the root of 12.- Parameters:
heights
- The bins heightserrors
- The bins errorsentries
- The bin entries.means
- The means of the bins.rmss
- The rmss of the bins
-
setMeanAndRms
public void setMeanAndRms(double mean, double rms)
Sets the Mean and RMS of H1D histogram- Parameters:
mean
- mean of the histogramrms
- RMS to be set
-
setNEntries
public void setNEntries(int entries)
Sets number of entries of H1D histogram.- Parameters:
entries
- Number of entries
-
setValidEntries
public void setValidEntries(int entries)
Sets number of valid entries.- Parameters:
entries
- Number of valid entries
-
get
public Histogram1D get()
Get JAIDA histogram- Returns:
- JAIDA Histogram1D histogram
-
setMin
public void setMin(double min)
Set Min value of axis- Parameters:
min
- Minimum value of axis
-
getMin
public double getMin()
Get Minimum value of the axis- Returns:
- Minimum value of the axis
-
setMax
public void setMax(double max)
Set Maximum value of axis- Parameters:
max
- Maximum value of axis
-
getMax
public double getMax()
Get Maximum value of axis- Returns:
- Maximum value of axis
-
setBins
public void setBins(int bins)
Sets the number of bins- Parameters:
bins
- Number of bins
-
getBins
public int getBins()
Get the number of bins- Returns:
- Number of bins
-
getBinSize
public double getBinSize()
Get bin width in case of fixed-size bins.- Returns:
- bin width (max-min) /bins
-
getBinSize
public double getBinSize(int index)
Get bin width for index i- Parameters:
index
- of this bin- Returns:
- bin width at index
-
shift
public void shift(double d)
Shift all bins by some value- Parameters:
d
- parameter used to shift bins
-
isFixedBinning
public boolean isFixedBinning()
Return true if bins have constant bin width- Returns:
- true if bin width is fixed
-
fill
public void fill(double value)
Fill histogram with a value- Parameters:
value
- Value to be filled
-
fill
public void fill(PND pnd)
Fill histogram with values from a PND array. This means that every entry from PND contributes to histogram. All weights are 1.- Parameters:
pnd
- PND used to fill histogram
-
fill
public void fill(PND pnd, PND weigths)
Fill histograms with values from PND array. Also specify weigths in a form of PND. Make sure that both arrays has the size size and dimension.- Parameters:
pnd
- input valueweigths
- PND with weights
-
fill
public void fill(double[] values)
Fill histogram with array of double values- Parameters:
values
- array of double values
-
fill
public void fill(Cloud1D c1d)
Fill histogram with array of double values- Parameters:
values
- array of double values
-
fill
public void fill(double[] values, double[] weights)
Fill histogram with array of double values. Take into account weights.- Parameters:
values
- array of double valuesweights
- array of double weights
-
fill
public void fill(int[] values)
Fill histogram with array of integer values- Parameters:
values
- array of integer values
-
fill
public void fill(double value, double weight)
Fill histogram a with weight- Parameters:
value
- Value to be filledweight
- Weight of the value
-
mean
public double mean()
Get mean of the histogram- Returns:
- Mean of histogram
-
getStat
public java.util.Map<java.lang.String,java.lang.Double> getStat()
Calculate complete statistics for this histogram. Unlike other methods (like mean or rms), it performs calculations on the existing histogram, thus the method is somewhat slow. It return mean, error on the mean, RMS, variance, standard deviation.The key for the output map are: mean, error, rms, variance, stddev etc. Print the keys of this map to get the full access to statistics.
- Returns:
- map representing histogram statistics
-
rms
public double rms()
Get RMS of histogram- Returns:
- RMS of histogram
-
allEntries
public int allEntries()
Get number of all entries- Returns:
- Number of all entries
-
extraEntries
public int extraEntries()
Number of under and overflow entries in the histogram.- Returns:
- Number of under and overflow entries
-
entries
public int entries()
Number of in-range entries in the histogram- Returns:
- Number of in-range entries
-
getUnderflow
public int getUnderflow()
Number of underflow entries- Returns:
- Number of underflow
-
getUnderflowHeight
public double getUnderflowHeight()
Underflow height- Returns:
- height of underflow
-
getOverflowlowHeight
public double getOverflowlowHeight()
Overflow height- Returns:
- Height of underflow
-
getOverflow
public int getOverflow()
Number of overflow entries- Returns:
- Number of overflow entries
-
fillInvBinSizeWeight
public void fillInvBinSizeWeight(double value)
Fill histogram with a value, weighting it by inverse of bin size. Should be useful for histograms with irregular binning.- Parameters:
value
- Value to filled histogram with.
-
scale
public void scale(java.lang.String title, double scaleFactor)
Scale the histogram.- Parameters:
title
- New titlescaleFactor
- Scale factor
-
operScale
public H1D operScale(java.lang.String title, double scaleFactor)
Scale the histogram and return scaled object.- Parameters:
title
- New titlescaleFactor
- Scale factor
-
scale
public void scale(double scaleFactor)
Scale the histogram.- Parameters:
scaleFactor
- Scale factor
-
operSmooth
public H1D operSmooth(boolean isWeighted, int k)
Smooth the histogram.Each band of the histogram is smoothed by averaging over a moving window of a size specified by the method parameter: if the value of the parameter is k then the width of the window is 2*k + 1. If the window runs off the end of the histogram only those values which intersect the histogram are taken into consideration. The smoothing may optionally be weighted to favor the central value using a "triangular" weighting. For example, for a value of k equal to 2 the central bin would have weight 1/3, the adjacent bins 2/9, and the next adjacent bins 1/9. Errors are kept the same as before.
- Parameters:
isWeighted
- Whether bins will be weighted using a triangular weighting scheme favoring bins near the central bin.k
- The smoothing parameter which must be non-negative. If zero, the histogram object will be returned with no smoothing applied.- Returns:
- A smoothed version of the histogram.
-
operSmoothGauss
public H1D operSmoothGauss(double standardDeviation)
Computes a Gaussian smoothed version of the histogram.Each band of the histogram is smoothed by discrete convolution with a kernel approximating a Gaussian impulse response with the specified standard deviation.
- Parameters:
standardDeviation
- The standard deviation of the Gaussian smoothing kernel which must be non-negative or anIllegalArgumentException
will be thrown. If zero, the histogram object will be returned with no smoothing applied.- Returns:
- A Gaussian smoothed version of the histogram.
-
getEntropy
public double getEntropy()
Returns the entropy of the histogram.The entropy is defined to be the negation of the sum of the products of the probability associated with each bin with the base-2 log of the probability.
- Returns:
- The entropy of the histogram.
-
copy
public H1D copy()
Make a copy of the data holder- Returns:
- New data holder
-
clear
public void clear()
Make a copy of the data holder
-
rebin
public H1D rebin(int ngroup)
Rebin a histogram with constant bin width. This function returns a new histogram with the rebinned contents. The bin errors are recomputed during the rebinning.- Parameters:
ngroup
- indicates how many bins of this have to me merged into one bin of hnew- Returns:
- a new histogram with rebinned content.
-
copy
public H1D copy(java.lang.String newtitle)
Get exact copy of the current histogram. This makes a new object.- Parameters:
newtitle
- New title- Returns:
- a new copy of the histogram
-
scaleErrors
public H1D scaleErrors(double scale)
Rescale errors by a some factor. This will return a new object.- Parameters:
scale
- scale factor used to multiply errors- Returns:
- a new copy of the histogram with rescaled errors on bin content.
-
binEntries
public int binEntries(int index)
Number of entries in a bin with index i- Parameters:
index
- Bin index- Returns:
- Number of entries
-
binEntries
public int[] binEntries()
Get all entries of the histogram as an array- Returns:
- array with histogram entries.
-
binError
public double binError(int index)
Error on the bin with index i- Parameters:
index
- Bin index- Returns:
- Error
-
binHeight
public double binHeight(int index)
Height of the corresponding bin- Parameters:
index
- Bin index- Returns:
- Bin Height
-
binHeights
public double[] binHeights()
Get all heights of the histogram as an array- Returns:
- array with histogram heights.
-
binErrors
public double[] binErrors()
Get all bin errors of the histogram as an array- Returns:
- array with histogram errors.
-
binMean
public double binMean(int index)
Mean in a single bin with index- Parameters:
index
- Bin index- Returns:
- Mean value inside of this bin
-
binRms
public double binRms(int index)
RMS of a single bin with index- Parameters:
index
- Bin index- Returns:
- RMS of this bin
-
maxBinHeight
public double maxBinHeight()
Max value of all bins- Returns:
- Max value
-
minBinHeight
public double minBinHeight()
Min value of all bins- Returns:
- Min value
-
sumAllBinHeights
public double sumAllBinHeights()
Sum of all heights- Returns:
- Sum of all Heights
-
integral
public double integral()
Sum of all heights multiplied by the bin size.- Returns:
- Sum of all heights times bin size.
-
findBin
public int findBin(double x)
Convert a coordinate on the axis to a bin number- Parameters:
x
- coordinate on axis- Returns:
- index of the corresponding bin
-
integral
public double integral(int BinMin, int BinMax, boolean timesBinWidth)
Integrate a histogram between two bin indices (between 1 and max number) The integral is computed as the sum of bin contents in the range if the last parameter is false. If it is true, the integral is the sum of the bin contents multiplied by the bin width in x.- Parameters:
BinMin
- Min index for integration starting from 1 (included to integration)BinMax
- Max index for integration (start from 1, included to integration)timesBinWidth
- If true, the integral is the sum of the bin contents multiplied by the bin width in x.- Returns:
- integral (sum of all heights)
-
integral
public double integral(int BinMin, int BinMax)
Integrate a histogram between two bin indices (between 1 and max number) By default the integral is computed as the sum of bin contents in the range.- Parameters:
BinMin
- Min index for integration starting from 1 (included to integration)BinMax
- Max index for integration (included to integration)- Returns:
- integral (sum of all heights)
-
integralRegion
public double integralRegion(double xmin, double xmax, boolean timesBinWidth)
Integrate histogram in a region between Xmin and Xmax. This will sum up all bin content between the regions.- Parameters:
Xmin
- Min index for integrationXmax
- Max index for integrationtimesBinWidth
- if true, multiply by the bin width.- Returns:
- integral (sum of all heights)
-
integralRegion
public double integralRegion(double xmin, double xmax)
Integrate histogram in a region between Xmin and Xmax. This will sum up all bin content between the regions.- Parameters:
Xmin
- Min index for integrationXmax
- Max index for integration- Returns:
- integral (sum of all heights)
-
getProbability
public H1D getProbability()
Return q probability distribution derived from a histogram. The histogram is scaled by the sum of all contents.- Returns:
- probability distribution
-
getDividedByBinWidth
public H1D getDividedByBinWidth()
Divide heights of each bin by the bin width. Variable bin sizes are supported. Statistics of the histogram should be treated with care.- Returns:
- new histogram after the division by bin width.
-
getDensity
public H1D getDensity()
Get a density distribution dividing each bin of the histogram by the bin width and the total number of heights for all bins. Variable bin sizes are supported. Statistics of the histogram should be treated with care. This disreibution is normalized to 1.- Returns:
- new histogram with density distribution
-
compareChi2
public java.util.Map<java.lang.String,java.lang.Double> compareChi2(F1D f1)
Compare the histogram with a function. The comparison tests hypotheses that the histogram represent identical distribution with a function using Pearson's chi-squared test. The number chi2/ndf gives the estimate (values close to 1 indicates similarity between 2 histograms.). the function and histogram are identical if chi2=0. Chi2/ndf and p-value probability is 1. Maken sure that statistical errors are included correctly. Data with zero errors will be ignored.- Parameters:
f1
- function to compare to.- Returns:
- map with the result. It gives Chi2, gives number of degrees of freedom (ndf), probability ("quality", or p-value).
-
compareChi2
public java.util.Map<java.lang.String,java.lang.Double> compareChi2(H1D h2)
Compare two histograms. Comparison of two histograms test hypotheses that two histograms represent identical distributions. It calculates Chi2 between 2 histograms taking into account errors on the heights of the bins. The number chi2/ndf gives the estimate (values close to 1 indicates similarity between 2 histograms.) Two histograms are identical if chi2=0. Chi2/ndf and p-value probability is 1. Make sure that both histograms have error (or set them to small values).- Parameters:
h2
- second histogram to compare to.- Returns:
- map with the result. It gives Chi2, gives number of degrees of freedom (ndf), probability ("quality", or p-value).
-
oper
public H1D oper(H1D a, java.lang.String what)
Various manipulations with histograms (+,-,*,/). Keep the original title. No new histogram object created.- Parameters:
a
- H1D histogram.what
- String representing the operation: "+" add a histogram to the original "-" subtract a histogram from the original "*" multiply "/" divide- Returns:
- modified H1D histogram
-
getValues
public double[][] getValues(int mode)
Get positions in X,Y and Errors. For x, we take mean values- Parameters:
mode
- if =1, take center of the bins. In all other cases - mean value in each bin- Returns:
- array with X,Y, and Error on Y, double[3][bins];
-
oper
public H1D oper(H1D a, java.lang.String title, java.lang.String what)
Various manipulations with histograms (+,-,*,/). Note: no new object will be created.- Parameters:
a
- H1D histogram.title
- New Title- Returns:
- same H1D object but modified
-
getStatParameters
public java.lang.String[] getStatParameters()
Get statistical parameters of a Histogram as a list of strings- Parameters:
h1
- histogram H1D- Returns:
- list of with mean, RMS etc.
-
doc
public void doc()
Show online documentation.
-
-
DMelt 3.0 © DataMelt by jWork.ORG