HyperPlot
v1
Bin and visualise multidimensional datasets
|
HyperBinningMaker is used to adaptively create a HyperVolumeBinning from a HyperPointSet. This class just contains a suite of useful tools for splitting bins, and creating the bin hierarchy described in HyperVolumeBinning. Specific types of adaptive binning inheret from this class, and are in HyperBinningMakers.h
It is also possible to give it a 'shadow HyperPointSet' - this is useful if one is binning the ratio of two HyperPointSet's and require a minium number of events in both the numerator and denominator.
Definition at line 43 of file HyperBinningMaker.h.
#include <HyperBinningMaker.h>
Public Member Functions | |
HyperBinningMaker (const HyperCuboid &binningRange, const HyperPointSet &data) | |
virtual void | makeBinning ()=0 |
void | setBinningDimensions (std::vector< int > dims) |
void | addShadowHyperPointSet (const HyperPointSet &data) |
void | setSeed (int seed) |
void | useSnapToGrid (bool val) |
void | setGridMultiplier (HyperPoint &multipliers) |
void | setGridMultiplier (double multiplier) |
void | useEventWeights (bool val=true) |
void | setMinimumBinContent (double val) |
void | setShadowMinimumBinContent (double val) |
void | setMinimumEdgeLength (double val) |
void | setMinimumEdgeLength (HyperPoint val) |
void | setHyperFunction (HyperFunction *fnc) |
Set the HyperFunction - only used by some binning Algs. | |
void | drawAfterEachIteration (TString path) |
void | setNames (HyperName names) |
int & | getGlobalVolumeStatus (int volumeNumber) |
int & | getDimensionSpecificVolumeStatus (int volumeNumber, int dimension) |
const int & | getGlobalVolumeStatus (int volumeNumber) const |
const int & | getDimensionSpecificVolumeStatus (int volumeNumber, int dimension) const |
int | getNumContinueBins (int dimension=-1) const |
int | getNumBins () const |
int | getNumHyperVolumes () const |
int | split (int volumeNumber, int dimension, double splitPoint) |
HyperCuboid | splitBelowPoint (int dim, double splitPoint, const HyperCuboid &original) const |
HyperCuboid | splitAbovePoint (int dim, double splitPoint, const HyperCuboid &original) const |
double | getSumOfWeights (const HyperPointSet &hyperPointSet) const |
double | getWeight (const HyperPoint &hyperPoint) const |
bool | isValidBinningDimension (int dimension) |
virtual bool | passFunctionCriteria (HyperCuboid &cuboid1, HyperCuboid &cuboid2) |
HyperPointSet | filterHyperPointSet (const HyperPointSet &hyperPointSet, const HyperCuboid &hyperCuboid, bool print=false) const |
void | addBin (const HyperCuboid &hyperCuboid, const HyperPointSet &hyperPointSet, const HyperPointSet &shadowHyperPointSet, int status) |
void | setDimSpecStatusFromMinBinWidths (int volumeNumber) |
void | updateGlobalStatusFromDimSpecific (int volumeNumber) |
bool | snapToGrid (const HyperCuboid &cuboid, int dimension, double &splitCoord) const |
virtual void | startedAlgorithm () |
virtual void | startedIteration () |
void | drawCurrentState (TString path) const |
virtual void | finishedIteration () |
virtual void | finishedAlgorithm () |
HyperBinningMemRes | getHyperVolumeBinning () const |
HyperHistogram * | getHyperBinningHistogram () const |
HyperHistogram * | getShadowHyperBinningHistogram () const |
HyperHistogram * | getRatioHyperBinningHistogram () const |
virtual | ~HyperBinningMaker () |
destructor | |
double | countEventsBelowSplitPoint (int binNumber, int dimension, double splitPoint) const |
double | countEventsInHyperCuboid (const HyperPointSet &hyperPointSet, const HyperCuboid &hyperCuboid) const |
double | countShadowEventsBelowSplitPoint (int binNumber, int dimension, double splitPoint) const |
double | findSmartSplitPoint (int binNumber, int dimension, double dataFraction) const |
int | smartSplit (int binNumber, int dimension, double dataFraction) |
int | smartSplitAll (int dimension, double dataFraction) |
int | smartSplitAllRandomise (double dataFraction=0.5) |
int | smartMultiSplit (int binNumber, int dimension, int parts) |
int | smartMultiSplit (int binNumber, int dimension) |
int | smartMultiSplitAll (int dimension) |
double | findSmartSplitPointInt (int binNumber, int dimension, double dataFraction) const |
int | smartSplitInt (int binNumber, int dimension, double dataFraction) |
int | smartSplitAllInt (int dimension, double dataFraction) |
int | splitAll (int dimension, double splitPoint) |
int | splitAllRandomise (double splitPoint=0.5) |
int | likelihoodSplit (int binNumber) |
int | likelihoodSplitAll () |
int | smartLikelihoodSplit (int binNumber) |
int | smartLikelihoodSplitAll () |
void | getSplitToMinNeg2LLH (double &split, double &sig, int binNumber, int dimension, bool useConstraints=true) |
void | getDimWithLargestSplitSignificance (int &dim, double &split, int binNumber, bool useConstraints=true) |
TH1D * | scanSig (int binNumber, int dimension, int nbins, bool useConstraints=true) |
double | neg2LLH (int binNumber, int dimension, double splitPoint, bool useConstraints=true) |
double | nullNeg2LLH (int binNumber) |
Static Public Member Functions | |
static void | setOutputLevel (bool val) |
Protected Types | |
enum | VolumeStatus { DONE, CONTINUE } |
Protected Attributes | |
std::vector< HyperCuboid > | _hyperCuboids |
std::vector< std::vector< int > > | _linkedBins |
std::vector< HyperPointSet > | _hyperPointSets |
std::vector< HyperPointSet > | _shadowHyperPointSets |
std::vector< int > | _status |
std::vector< std::vector< int > > | _dimSpecificStatus |
std::vector< int > | _binningDimensions |
bool | _shadowAdded |
bool | _useEventWeights |
double | _minimumBinContent |
double | _shadowMinimumBinContent |
HyperPoint | _minimumEdgeLength |
TRandom * | _random |
bool | _drawAlgorithm |
TString | _drawAlgorithmDir |
int | _iterationNum |
HyperName | _names |
HyperFunction * | _func |
bool | _snapToGrid |
HyperPoint | _gridMultiplier |
Static Protected Attributes | |
static bool | s_printBinning = true |
Private Member Functions | |
HyperBinningMaker () | |
|
protected |
Is the volume split as many times as possible, or can I continue to split it
Definition at line 76 of file HyperBinningMaker.h.
|
private |
Just an empty contructor to make it compile (private, will never be used)
Definition at line 7 of file HyperBinningMaker.cpp.
HyperBinningMaker::HyperBinningMaker | ( | const HyperCuboid & | binningRange, |
const HyperPointSet & | data | ||
) |
Constuctor which enables the user to create a binning scheme for the HyperPointSet given, and using limits provided by a HyperCuboid.
Definition at line 22 of file HyperBinningMaker.cpp.
void HyperBinningMaker::addBin | ( | const HyperCuboid & | hyperCuboid, |
const HyperPointSet & | hyperPointSet, | ||
const HyperPointSet & | shadowHyperPointSet, | ||
int | status | ||
) |
Add a bin to the binning scheme
Definition at line 182 of file HyperBinningMaker.cpp.
void HyperBinningMaker::addShadowHyperPointSet | ( | const HyperPointSet & | data | ) |
Add a shadow HyperPointSet to the HyperBinningMaker. This must be done before any adaptive binning algorithms commence.
Definition at line 51 of file HyperBinningMaker.cpp.
double HyperBinningMaker::countEventsBelowSplitPoint | ( | int | binNumber, |
int | dimension, | ||
double | splitPoint | ||
) | const |
for a specific volume number count how many HyperPoint's (or the sum of those HyperPoint's weights) are below the split value x_dim where
x_dim = lowEdge_dim + (highEdge_dim - lowEdge_dim)*splitPoint
Definition at line 747 of file HyperBinningMaker.cpp.
double HyperBinningMaker::countEventsInHyperCuboid | ( | const HyperPointSet & | hyperPointSet, |
const HyperCuboid & | hyperCuboid | ||
) | const |
Count the number of HyperPoints (or the sum of their weights) within the HyperCuboid
Definition at line 778 of file HyperBinningMaker.cpp.
double HyperBinningMaker::countShadowEventsBelowSplitPoint | ( | int | binNumber, |
int | dimension, | ||
double | splitPoint | ||
) | const |
for a specific volume number count how many HyperPoint's (or the sum of those HyperPoint's weights) are above the split value x_dim where
x_dim = lowEdge_dim + (highEdge_dim - lowEdge_dim)*splitPoint
Definition at line 764 of file HyperBinningMaker.cpp.
void HyperBinningMaker::drawAfterEachIteration | ( | TString | path | ) |
Use this option if you want the binning to be drawn after every iteration of the binning algorithm.
Definition at line 1266 of file HyperBinningMaker.cpp.
void HyperBinningMaker::drawCurrentState | ( | TString | path | ) | const |
Use the current status of the HyperBinningMaker to make a HyperVolumeBinning, and draw it.
Definition at line 1206 of file HyperBinningMaker.cpp.
HyperPointSet HyperBinningMaker::filterHyperPointSet | ( | const HyperPointSet & | hyperPointSet, |
const HyperCuboid & | hyperCuboid, | ||
bool | print = false |
||
) | const |
Return any HyperPoint's that are within the HyperCuboid
Definition at line 115 of file HyperBinningMaker.cpp.
double HyperBinningMaker::findSmartSplitPoint | ( | int | binNumber, |
int | dimension, | ||
double | dataFraction | ||
) | const |
Find the split point such that a specified fraction of events falls within the resulting two bins.
Definition at line 792 of file HyperBinningMaker.cpp.
double HyperBinningMaker::findSmartSplitPointInt | ( | int | binNumber, |
int | dimension, | ||
double | dataFraction | ||
) | const |
Same as findSmartSplitPoint, but only allow splits to be made halfway between two integers. This assumes that all the HyperPoint elements of this dimension are also integers.
Definition at line 816 of file HyperBinningMaker.cpp.
|
virtual |
Call this at the end of the algorithm
Definition at line 1228 of file HyperBinningMaker.cpp.
|
virtual |
When making an algorithm, call this after each iteration if possible
Definition at line 1247 of file HyperBinningMaker.cpp.
void HyperBinningMaker::getDimWithLargestSplitSignificance | ( | int & | dim, |
double & | split, | ||
int | binNumber, | ||
bool | useConstraints = true |
||
) |
Definition at line 637 of file HyperBinningMaker.cpp.
HyperHistogram * HyperBinningMaker::getHyperBinningHistogram | ( | ) | const |
Use the current state of the HyperBinningMaker to create a HyperBinningHistogram
Definition at line 1145 of file HyperBinningMaker.cpp.
HyperBinningMemRes HyperBinningMaker::getHyperVolumeBinning | ( | ) | const |
Use the current state of the HyperBinningMaker to create a HyperVolumeBinning
Definition at line 1122 of file HyperBinningMaker.cpp.
int HyperBinningMaker::getNumBins | ( | ) | const |
Find the number of bins - this is NOT the number of HyperVolumes. Some HyperVolumes are stored as part of the binning hierarchy which help event to be binned efficiently - this is descirbed in detail in the HyperVolumeBinning class.
Definition at line 1075 of file HyperBinningMaker.cpp.
int HyperBinningMaker::getNumContinueBins | ( | int | dimension = -1 | ) | const |
Find the number of bins with the global status of CONTINUE, and the dimension specific status CONTINUE. Note if the dimension given is -1, then only consider Global status
Definition at line 1095 of file HyperBinningMaker.cpp.
int HyperBinningMaker::getNumHyperVolumes | ( | ) | const |
return the number of HyperVolumes - this is NOT the number of bins
Definition at line 1085 of file HyperBinningMaker.cpp.
HyperHistogram * HyperBinningMaker::getRatioHyperBinningHistogram | ( | ) | const |
Use the current state of the HyperBinningMaker to create a HyperBinningHistogram for the ratio of events to shadow events
Definition at line 1191 of file HyperBinningMaker.cpp.
HyperHistogram * HyperBinningMaker::getShadowHyperBinningHistogram | ( | ) | const |
Use the current state of the HyperBinningMaker to create a HyperBinningHistogram for the shadow events
Definition at line 1169 of file HyperBinningMaker.cpp.
void HyperBinningMaker::getSplitToMinNeg2LLH | ( | double & | split, |
double & | sig, | ||
int | binNumber, | ||
int | dimension, | ||
bool | useConstraints = true |
||
) |
Definition at line 603 of file HyperBinningMaker.cpp.
double HyperBinningMaker::getSumOfWeights | ( | const HyperPointSet & | hyperPointSet | ) | const |
Get the sum of weights in a HyperPointSet. If _useEventWeights isn't true, just returns the number of events in the HyperPointSet.
Definition at line 162 of file HyperBinningMaker.cpp.
double HyperBinningMaker::getWeight | ( | const HyperPoint & | hyperPoint | ) | const |
Get the weight of an event - if _useEventWeights isn't true, this is just 1.0
Definition at line 172 of file HyperBinningMaker.cpp.
bool HyperBinningMaker::isValidBinningDimension | ( | int | dimension | ) |
Check that we are allowed to bin in this dimension
Definition at line 196 of file HyperBinningMaker.cpp.
int HyperBinningMaker::likelihoodSplit | ( | int | binNumber | ) |
Definition at line 661 of file HyperBinningMaker.cpp.
int HyperBinningMaker::likelihoodSplitAll | ( | ) |
Definition at line 709 of file HyperBinningMaker.cpp.
|
pure virtual |
This function needs to be defined in the derrived classes, and runs the entire binning algorithm
Implemented in HyperBinningMakerPhaseBinning, HyperBinningMakerSmart, HyperBinningMakerLikelihood, HyperBinningMakerMint, HyperBinningMakerMintSmart, HyperBinningMakerSmartLikelihood, HyperBinningMakerMultiSmart, HyperBinningMakerMintRandomise, and HyperBinningMakerSmartRandomise.
double HyperBinningMaker::neg2LLH | ( | int | binNumber, |
int | dimension, | ||
double | splitPoint, | ||
bool | useConstraints = true |
||
) |
Definition at line 513 of file HyperBinningMaker.cpp.
double HyperBinningMaker::nullNeg2LLH | ( | int | binNumber | ) |
Definition at line 565 of file HyperBinningMaker.cpp.
|
virtual |
If a HyperFunction is passed through the setHyperFunction function, this function is called, and must return true for any successful bin split. Default behavour is to return true, but other derived classes can override
Definition at line 500 of file HyperBinningMaker.cpp.
TH1D * HyperBinningMaker::scanSig | ( | int | binNumber, |
int | dimension, | ||
int | nbins, | ||
bool | useConstraints = true |
||
) |
Definition at line 583 of file HyperBinningMaker.cpp.
|
inline |
select which dimensions should be binned
Definition at line 152 of file HyperBinningMaker.h.
void HyperBinningMaker::setDimSpecStatusFromMinBinWidths | ( | int | volumeNumber | ) |
This checks the bin width in each dimension agaisnt the minimum bin width for that dimension. This is used to set the dimension speicific bin status. If every status is DONE then the global status can also be set to DONE.
Dimensions that are not in the list of binning dimensions are also, automatically set to DONE.
Definition at line 218 of file HyperBinningMaker.cpp.
void HyperBinningMaker::setGridMultiplier | ( | HyperPoint & | multipliers | ) |
Set the grid mulipliers independently for each dimension. See 'useSnapToGrid' function for description
Definition at line 149 of file HyperBinningMaker.cpp.
void HyperBinningMaker::setGridMultiplier | ( | double | multiplier | ) |
Set the grid muliplier to be the same in each dimesnion. See 'useSnapToGrid' function for description
Definition at line 155 of file HyperBinningMaker.cpp.
void HyperBinningMaker::setMinimumBinContent | ( | double | val | ) |
Set the minimum bin content allowed in any bin (calcualted from the HyperPoints)
Definition at line 1038 of file HyperBinningMaker.cpp.
void HyperBinningMaker::setMinimumEdgeLength | ( | double | val | ) |
Set the minimum edge length for all dimensions
Definition at line 1057 of file HyperBinningMaker.cpp.
void HyperBinningMaker::setMinimumEdgeLength | ( | HyperPoint | val | ) |
Set the minimum edge length for all dimensions.
Definition at line 1065 of file HyperBinningMaker.cpp.
|
inline |
used for the axis titles on any of the HyperBinningHistograms I create
Definition at line 176 of file HyperBinningMaker.h.
|
inlinestatic |
set the verbosity of the output - by default this is on
Definition at line 149 of file HyperBinningMaker.h.
void HyperBinningMaker::setSeed | ( | int | seed | ) |
Set the random seed that is required for some binning schemes
Definition at line 132 of file HyperBinningMaker.cpp.
void HyperBinningMaker::setShadowMinimumBinContent | ( | double | val | ) |
Set the minimum bin content allowed in any bin (calcualted from the shadow HyperPoints)
Definition at line 1051 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartLikelihoodSplit | ( | int | binNumber | ) |
Definition at line 688 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartLikelihoodSplitAll | ( | ) |
Definition at line 726 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartMultiSplit | ( | int | binNumber, |
int | dimension, | ||
int | parts | ||
) |
Split a bin into N parts, each which contain the same number of events
Definition at line 871 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartMultiSplit | ( | int | binNumber, |
int | dimension | ||
) |
Split a bin into N parts, each which contain the same number of events
Definition at line 892 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartMultiSplitAll | ( | int | dimension | ) |
Split every volume with the CONTINUE status using the smartSplit function. This makes one of the resulting bins have a fraction 'dataFraction' of the original events.
Definition at line 956 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartSplit | ( | int | binNumber, |
int | dimension, | ||
double | dataFraction | ||
) |
split the bin in a chosen dimension to give a chosen fraction of events in the resulting bin
Definition at line 859 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartSplitAll | ( | int | dimension, |
double | dataFraction | ||
) |
Split every volume with the CONTINUE status using the smartSplit function. This makes one of the resulting bins have a fraction 'dataFraction' of the original events.
Definition at line 938 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartSplitAllInt | ( | int | dimension, |
double | dataFraction | ||
) |
Split every volume with the CONTINUE status at the using the smartSplit function. This makes one of the resulting bins have a fraction 'dataFraction' of the original events.
This assumes that the HyperPoint elements of this dimension are integers, so splits are only made at integers + 0.5
Definition at line 979 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartSplitAllRandomise | ( | double | dataFraction = 0.5 | ) |
Split every volume with the CONTINUE status using the smartSplit function. This makes one of the resulting bins have a fraction 'dataFraction' of the original events. The dimension to split in is chosen at random.
Definition at line 997 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartSplitInt | ( | int | binNumber, |
int | dimension, | ||
double | dataFraction | ||
) |
same as smartSplit but assumes all HyperPoint elements in the chosen dimension are integers. Split points are therefore always an integer + 0.5
Definition at line 911 of file HyperBinningMaker.cpp.
bool HyperBinningMaker::snapToGrid | ( | const HyperCuboid & | cuboid, |
int | dimension, | ||
double & | splitCoord | ||
) | const |
Sometimes it's nice to have all the bin edges along some kind of grid structure. My hope is that this also allows better compression of the binning scheme.
Definition at line 439 of file HyperBinningMaker.cpp.
int HyperBinningMaker::split | ( | int | volumeNumber, |
int | dimension, | ||
double | splitPoint | ||
) |
This is the most important function in the class. It is used to split a specific hypervolume in a specific dimension, at point x_dim where:
x_dim = lowEdge_dim + (highEdge_dim - lowEdge_dim)*splitPoint
i.e. splitPoint = 0.5 would split the bin into two equal peices.
While splitting the bin it checks if the resulting bins follow the nessesary requirements. These are:
Definition at line 295 of file HyperBinningMaker.cpp.
HyperCuboid HyperBinningMaker::splitAbovePoint | ( | int | dim, |
double | splitPoint, | ||
const HyperCuboid & | original | ||
) | const |
Split a HyperCuboid in a specific dimension, at point x_dim where:
x_dim = lowEdge_dim + (highEdge_dim - lowEdge_dim)*splitPoint
i.e. splitPoint = 0.5 would split the bin into two equal pieces.
This fuction returns the HyperCuboid above the split point
Definition at line 66 of file HyperBinningMaker.cpp.
int HyperBinningMaker::splitAll | ( | int | dimension, |
double | splitPoint | ||
) |
Split every volume with the CONTINUE status at the split point given (split point of 0.5 would split the bin into two equal parts)
Definition at line 921 of file HyperBinningMaker.cpp.
int HyperBinningMaker::splitAllRandomise | ( | double | splitPoint = 0.5 | ) |
Split every volume with the CONTINUE status at the split point given (split point of 0.5 would split the bin into two equal parts) The dimension to split in is chosen at random.
Definition at line 1018 of file HyperBinningMaker.cpp.
HyperCuboid HyperBinningMaker::splitBelowPoint | ( | int | dim, |
double | splitPoint, | ||
const HyperCuboid & | original | ||
) | const |
Split a HyperCuboid in a specific dimension, at point x_dim where:
x_dim = lowEdge_dim + (highEdge_dim - lowEdge_dim)*splitPoint
i.e. splitPoint = 0.5 would split the bin into two equal pieces.
This fuction returns the HyperCuboid below the split point
Definition at line 93 of file HyperBinningMaker.cpp.
|
virtual |
Call this at the beginning of the algorithm
Definition at line 1218 of file HyperBinningMaker.cpp.
|
virtual |
When making an algorithm, call this at the beginning of each iteration if possible
Definition at line 1237 of file HyperBinningMaker.cpp.
void HyperBinningMaker::updateGlobalStatusFromDimSpecific | ( | int | volumeNumber | ) |
For a given volume, see if all the dimension specific statuses are DONE. If so, set the global status to DONE.
Definition at line 251 of file HyperBinningMaker.cpp.
|
inline |
select if weighted event should be used - by default this is off
Definition at line 164 of file HyperBinningMaker.h.
void HyperBinningMaker::useSnapToGrid | ( | bool | val | ) |
Do you want to use the snap to grid feature i.e. force all the bin egdes to lie on a well defined grid. Grid is has N bins in each direction between min and max (from the binning limits given) where N = floor( (max - min) / minBinWidth) * gridMultiplier
Definition at line 143 of file HyperBinningMaker.cpp.
|
protected |
what dimensions are we allowed to bin in
Definition at line 88 of file HyperBinningMaker.h.
|
protected |
the status of each HyperVolume dimension i.e. can we continue splitting it into more bins VolumeStatus::CONTINUE or has it been split as many times as possible VolumeStatus::DONE. This only applies to a specific dinemsion. i.e. if the bin is < twice the minimum egde length, can safely say that it cannot be resplit in that dimension. Note that if all dimensions are VolumeStatus::DONE, then _status should also be VolumeStatus::DONE!!
Definition at line 82 of file HyperBinningMaker.h.
|
protected |
if this is true, the binning will be drawn after every interation of the algorithm
Definition at line 111 of file HyperBinningMaker.h.
|
protected |
directory used to draw the binning
Definition at line 114 of file HyperBinningMaker.h.
|
protected |
Some binning algorithms are based on a function rather than a dataset
Definition at line 123 of file HyperBinningMaker.h.
|
protected |
if the
Definition at line 129 of file HyperBinningMaker.h.
|
protected |
vector of HyperCuboid's that defines the binning hierarchy
Definition at line 59 of file HyperBinningMaker.h.
|
protected |
records how many HyperPoints in the inital HyperPointSet (that we're going to adaptively bin) fall into each HyperVolume
Definition at line 67 of file HyperBinningMaker.h.
|
protected |
what iteration are we on
Definition at line 117 of file HyperBinningMaker.h.
|
protected |
each HyperCuboid in the binning hierarchy has linked bins. If these are empty (no linked bins) then this is a true bin. If it contains links, this HyperVolume is just part of the binning hierarchy which is used to speed up the binning of events
Definition at line 61 of file HyperBinningMaker.h.
|
protected |
the minimum number of events allowed in a bin - if _useEventWeights is true this corresponds to the sum of weights in each bin
Definition at line 97 of file HyperBinningMaker.h.
|
protected |
the minimum bin width in each dimension
Definition at line 105 of file HyperBinningMaker.h.
|
protected |
used for the axis titles on any of the HyperBinningHistograms I create
Definition at line 120 of file HyperBinningMaker.h.
|
protected |
random number generator (some binning adaptive binning schemes may require this)
Definition at line 108 of file HyperBinningMaker.h.
|
protected |
has a shadow HyperPointSet been provided
Definition at line 91 of file HyperBinningMaker.h.
|
protected |
records how many HyperPoints in the inital shadow HyperPointSet (that we're going to adaptively bin) fall into each HyperVolume
Definition at line 71 of file HyperBinningMaker.h.
|
protected |
the minimum number of shadow events allowed in a bin - if _useEventWeights is true this corresponds to the sum of weights in each bin
Definition at line 101 of file HyperBinningMaker.h.
|
protected |
if this is true, any split point needs to be located on a grid
Definition at line 126 of file HyperBinningMaker.h.
|
protected |
the status of each HyperVolume i.e. can we continue splitting it into more bins VolumeStatus::CONTINUE or has it been split as many times as possible VolumeStatus::DONE
Definition at line 78 of file HyperBinningMaker.h.
|
protected |
should event weights be considered when creating the binning
Definition at line 94 of file HyperBinningMaker.h.
|
staticprotected |
print out the status of the binning algorithm
Definition at line 52 of file HyperBinningMaker.h.