Class HProf1D
- java.lang.Object
-
- jhplot.HProf1D
-
- All Implemented Interfaces:
- java.io.Serializable
public class HProf1D extends java.lang.Object implements java.io.Serializable
Create profile histogram in 1D. It is used to show the mean values in each bin of a second variable. To show it, convert it to the usual H1D histogram (getH1D method). You can specify errors as errors on the mean or spread RMS.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description HProf1D()
Build 1D histogram.HProf1D(IProfile1D h1)
Create profile histogram from JAIDA classHProf1D(Profile1D h1)
Create H1D histogram from JAIDA Histogram1D class.HProf1D(java.lang.String title, double[] edges)
Create 1D profile histogram with variable bin size.HProf1D(java.lang.String title, HProf1D h1d)
Create profile histogram from another instance.HProf1D(java.lang.String title, IAxis axis)
Create 1D histogram with variable bin size.HProf1D(java.lang.String title, int bins, double min, double max)
Build 1D profile histogramHProf1D(hep.io.root.interfaces.TProfile h1t)
Create profile histogram from JAIDA 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 arrayHProf1D
copy()
Make a copy of the data holderHProf1D
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(double[] x, double[] y)
Fill histogram with array of double values.void
fill(double[] x, double[] y, double[] weight)
Fill histogram with array of double values.void
fill(double x, double y)
Fill profile histogram with X and Yvoid
fill(double x, double y, double weight)
Fill profile histogram with X and Yvoid
fillInvBinSizeWeight(double value)
Fill histogram with a value, weighting it by inverse of bin size.void
fillP0D(P0D p0d, P0D p1d)
Fill histogram from two P0D arraysProfile1D
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
getEntropy()
Returns the entropy of the histogram.H1D
getH1D()
Make H1D copy of the current histogram.H1D
getH1D(java.lang.String newtitle)
Convert to H1D for graphical representation using default graphics attributes.H1D
getH1D(java.lang.String newtitle, java.lang.String option)
Convert to H1D for graphical representation using default graphics attributes.double
getMax()
Get Maximum value of axisdouble
getMin()
Get Minimum value of the axisint
getOverflow()
Number of overflow entriesdouble
getOverflowlowHeight()
Overflow heightjava.lang.String
getTitle()
get Title of the histogramint
getUnderflow()
Number of underflow entriesdouble
getUnderflowHeight()
Underflow heightdouble[][]
getValues(int mode)
Get positions in X,Y and Errors.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 binsHProf1D
operSmooth(boolean isWeighted, int k)
Smooth the histogram.HProf1D
operSmoothGauss(double standardDeviation)
Computes a Gaussian smoothed version of the histogram.void
print()
Print histogram on screendouble
rms()
Get RMS of histogramvoid
scale(double scaleFactor)
Scale the histogram.void
scale(java.lang.String title, double scaleFactor)
Scale the histogram.void
setBins(int bins)
Sets the number of binsvoid
setContents(double[] values, double[] errors)
Sets the content of histogram.void
setContents(double[] heights, double[] errors, int[] entries, double[] means, double[] rmss)
Set the content of the whole Histogram at once.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 the histogram.void
setTitle(java.lang.String title)
Sets the titlevoid
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 profile histogram to a filevoid
toTable()
Print the profile histogram to a Table in a separate Frame.
-
-
-
Constructor Detail
-
HProf1D
public HProf1D()
Build 1D histogram. Default constructor. Does not do anything.
-
HProf1D
public HProf1D(java.lang.String title, int bins, double min, double max)
Build 1D profile histogram- Parameters:
title
- Titlebins
- Number of binsmin
- Minimum valuemax
- Maximum value
-
HProf1D
public HProf1D(java.lang.String title, double[] edges)
Create 1D profile histogram with variable bin size.- Parameters:
title
- Title of histogram.edges
- edges
-
HProf1D
public HProf1D(java.lang.String title, IAxis axis)
Create 1D histogram with variable bin size.- Parameters:
title
- Title of histogram.edges
- edges
-
HProf1D
public HProf1D(Profile1D h1)
Create H1D histogram from JAIDA Histogram1D class.- Parameters:
h1
- Profile1D histogram from JAIDA
-
HProf1D
public HProf1D(IProfile1D h1)
Create profile histogram from JAIDA class- Parameters:
h1
- IProfile1D histogram from JAIDA
-
HProf1D
public HProf1D(java.lang.String title, HProf1D h1d)
Create profile histogram from another instance.- Parameters:
title
- new titleh1d
- input H1D
-
HProf1D
public HProf1D(hep.io.root.interfaces.TProfile h1t)
Create profile histogram from JAIDA histogram class- Parameters:
h1t
- TProfile histogram from JAIDA
-
-
Method Detail
-
print
public void print()
Print histogram on screen
-
fillP0D
public void fillP0D(P0D p0d, P0D p1d)
Fill histogram from two P0D arrays- Parameters:
p0d
- input P0D arrayp1d
- input P1D
-
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
-
toTable
public void toTable()
Print the profile histogram to a Table in a separate Frame. One can sort and search the data in this table (but not modify)
-
toFile
public void toFile(java.lang.String name)
Write the profile histogram to a file- Parameters:
name
- File name
-
setContents
public void setContents(double[] values, double[] errors)
Sets the content of 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 the histogram.- Parameters:
entries
- Number of entries
-
setValidEntries
public void setValidEntries(int entries)
Sets number of valid entries.- Parameters:
entries
- Number of valid entries
-
setTitle
public void setTitle(java.lang.String title)
Sets the title- Parameters:
title
- Title
-
getTitle
public java.lang.String getTitle()
get Title of the histogram- Returns:
- Title of histogram
-
get
public Profile1D get()
Get JAIDA histogram- Returns:
- JAIDA Profile1D 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
-
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 x, double y)
Fill profile histogram with X and Y- Parameters:
x
- value in Xy
- value in Y
-
fill
public void fill(double x, double y, double weight)
Fill profile histogram with X and Y- Parameters:
x
- value in Xy
- value in Yweight
- weight for entry
-
fill
public void fill(double[] x, double[] y)
Fill histogram with array of double values. Take into account weights. make sure that both arrays have the same length;- Parameters:
x
- array of double X valuesy
- array of double Y values
-
fill
public void fill(double[] x, double[] y, double[] weight)
Fill histogram with array of double values. Take into account weights. make sure that both arrays have the same length;- Parameters:
x
- array of double X valuesy
- array of double Y valuesweight
- arrays with weights
-
mean
public double mean()
Get mean of the histogram- Returns:
- Mean of histogram
-
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
-
scale
public void scale(double scaleFactor)
Scale the histogram.- Parameters:
scaleFactor
- Scale factor
-
operSmooth
public HProf1D 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 HProf1D 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 HProf1D copy()
Make a copy of the data holder- Returns:
- New data holder
-
copy
public HProf1D copy(java.lang.String newtitle)
Get exact copy of the current histogram. This means it makes a new object.- Parameters:
newtitle
- New title- Returns:
- a new copy of the histogram
-
getH1D
public H1D getH1D()
Make H1D copy of the current histogram. Default graphical attributes are assumed.- Returns:
- a new H1D copy of the histogram
-
getH1D
public H1D getH1D(java.lang.String newtitle)
Convert to H1D for graphical representation using default graphics attributes. The errors on points are shown as error o the mean.- Parameters:
newtitle
- New title- Returns:
- a new H1D copy of the histogram
-
getH1D
public H1D getH1D(java.lang.String newtitle, java.lang.String option)
Convert to H1D for graphical representation using default graphics attributes.- Parameters:
newtitle
- New titleoption
- if option is "s", spread is shown as error- Returns:
- a new H1D copy of the histogram
-
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
-
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];
-
doc
public void doc()
Show online documentation.
-
-
DMelt 3.0 © DataMelt by jWork.ORG