MINT2
|
#include <HyperBinningMaker.h>
Classes | |
struct | VolumeStatus |
Public Member Functions | |
HyperBinningMaker (const HyperCuboid &binningRange, const HyperPointSet &data) | |
HyperBinningMaker (const HyperBinning &binning, 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. More... | |
void | drawAfterEachIteration (TString path) |
void | updateFromExistingHyperBinning (const HyperBinning &binning) |
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, bool noSnapToGrid=false) const |
HyperCuboid | splitAbovePoint (int dim, double splitPoint, const HyperCuboid &original, bool noSnapToGrid=false) 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 More... | |
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 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 () | |
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.
|
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.
HyperBinningMaker::HyperBinningMaker | ( | const HyperBinning & | binning, |
const HyperPointSet & | data | ||
) |
|
virtual |
void HyperBinningMaker::addBin | ( | const HyperCuboid & | hyperCuboid, |
const HyperPointSet & | hyperPointSet, | ||
const HyperPointSet & | shadowHyperPointSet, | ||
int | status | ||
) |
Add a bin to the binning scheme
Definition at line 252 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 121 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 820 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 855 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 839 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 1343 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 1283 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 185 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 869 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 893 of file HyperBinningMaker.cpp.
|
virtual |
Call this at the end of the algorithm
Definition at line 1305 of file HyperBinningMaker.cpp.
|
virtual |
When making an algorithm, call this after each iteration if possible
Definition at line 1324 of file HyperBinningMaker.cpp.
|
inline |
Definition at line 190 of file HyperBinningMaker.h.
|
inline |
Definition at line 193 of file HyperBinningMaker.h.
void HyperBinningMaker::getDimWithLargestSplitSignificance | ( | int & | dim, |
double & | split, | ||
int | binNumber, | ||
bool | useConstraints = true |
||
) |
Definition at line 710 of file HyperBinningMaker.cpp.
|
inline |
Definition at line 189 of file HyperBinningMaker.h.
|
inline |
Definition at line 192 of file HyperBinningMaker.h.
HyperHistogram * HyperBinningMaker::getHyperBinningHistogram | ( | ) | const |
Use the current state of the HyperBinningMaker to create a HyperBinningHistogram
Definition at line 1222 of file HyperBinningMaker.cpp.
HyperBinningMemRes HyperBinningMaker::getHyperVolumeBinning | ( | ) | const |
Use the current state of the HyperBinningMaker to create a HyperVolumeBinning
Definition at line 1199 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 1152 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 1172 of file HyperBinningMaker.cpp.
int HyperBinningMaker::getNumHyperVolumes | ( | ) | const |
return the number of HyperVolumes - this is NOT the number of bins
Definition at line 1162 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 1268 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 1246 of file HyperBinningMaker.cpp.
void HyperBinningMaker::getSplitToMinNeg2LLH | ( | double & | split, |
double & | sig, | ||
int | binNumber, | ||
int | dimension, | ||
bool | useConstraints = true |
||
) |
Definition at line 676 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 232 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 242 of file HyperBinningMaker.cpp.
bool HyperBinningMaker::isValidBinningDimension | ( | int | dimension | ) |
Check that we are allowed to bin in this dimension
Definition at line 266 of file HyperBinningMaker.cpp.
int HyperBinningMaker::likelihoodSplit | ( | int | binNumber | ) |
Definition at line 734 of file HyperBinningMaker.cpp.
int HyperBinningMaker::likelihoodSplitAll | ( | ) |
Definition at line 782 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 586 of file HyperBinningMaker.cpp.
double HyperBinningMaker::nullNeg2LLH | ( | int | binNumber | ) |
Definition at line 638 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 573 of file HyperBinningMaker.cpp.
TH1D * HyperBinningMaker::scanSig | ( | int | binNumber, |
int | dimension, | ||
int | nbins, | ||
bool | useConstraints = true |
||
) |
Definition at line 656 of file HyperBinningMaker.cpp.
|
inline |
select which dimensions should be binned
Definition at line 157 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 288 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 219 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 225 of file HyperBinningMaker.cpp.
void HyperBinningMaker::setHyperFunction | ( | HyperFunction * | fnc | ) |
Set the HyperFunction - only used by some binning Algs.
Definition at line 1121 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 1115 of file HyperBinningMaker.cpp.
void HyperBinningMaker::setMinimumEdgeLength | ( | double | val | ) |
Set the minimum edge length for all dimensions
Definition at line 1134 of file HyperBinningMaker.cpp.
void HyperBinningMaker::setMinimumEdgeLength | ( | HyperPoint | val | ) |
Set the minimum edge length for all dimensions.
Definition at line 1142 of file HyperBinningMaker.cpp.
|
inline |
used for the axis titles on any of the HyperBinningHistograms I create
Definition at line 183 of file HyperBinningMaker.h.
|
inlinestatic |
set the verbosity of the output - by default this is on
Definition at line 154 of file HyperBinningMaker.h.
void HyperBinningMaker::setSeed | ( | int | seed | ) |
Set the random seed that is required for some binning schemes
Definition at line 202 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 1128 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartLikelihoodSplit | ( | int | binNumber | ) |
Definition at line 761 of file HyperBinningMaker.cpp.
int HyperBinningMaker::smartLikelihoodSplitAll | ( | ) |
Definition at line 799 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 948 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 969 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 1033 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 936 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 1015 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 1056 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 1074 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 988 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 512 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 365 of file HyperBinningMaker.cpp.
HyperCuboid HyperBinningMaker::splitAbovePoint | ( | int | dim, |
double | splitPoint, | ||
const HyperCuboid & | original, | ||
bool | noSnapToGrid = false |
||
) | 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 136 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 998 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 1095 of file HyperBinningMaker.cpp.
HyperCuboid HyperBinningMaker::splitBelowPoint | ( | int | dim, |
double | splitPoint, | ||
const HyperCuboid & | original, | ||
bool | noSnapToGrid = false |
||
) | 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 163 of file HyperBinningMaker.cpp.
|
virtual |
Call this at the beginning of the algorithm
Definition at line 1295 of file HyperBinningMaker.cpp.
|
virtual |
When making an algorithm, call this at the beginning of each iteration if possible
Definition at line 1314 of file HyperBinningMaker.cpp.
void HyperBinningMaker::updateFromExistingHyperBinning | ( | const HyperBinning & | binning | ) |
Takes an existing HyperBinning and updates the current state of the HyperBinningMaker
Definition at line 51 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 321 of file HyperBinningMaker.cpp.
|
inline |
select if weighted event should be used - by default this is off
Definition at line 169 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 213 of file HyperBinningMaker.cpp.
|
protected |
what dimensions are we allowed to bin in
Definition at line 90 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 84 of file HyperBinningMaker.h.
|
protected |
if this is true, the binning will be drawn after every interation of the algorithm
Definition at line 113 of file HyperBinningMaker.h.
|
protected |
directory used to draw the binning
Definition at line 116 of file HyperBinningMaker.h.
|
protected |
Some binning algorithms are based on a function rather than a dataset
Definition at line 125 of file HyperBinningMaker.h.
|
protected |
if the
Definition at line 131 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 119 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 99 of file HyperBinningMaker.h.
|
protected |
the minimum bin width in each dimension
Definition at line 107 of file HyperBinningMaker.h.
|
protected |
used for the axis titles on any of the HyperBinningHistograms I create
Definition at line 122 of file HyperBinningMaker.h.
|
protected |
random number generator (some binning adaptive binning schemes may require this)
Definition at line 110 of file HyperBinningMaker.h.
|
protected |
has a shadow HyperPointSet been provided
Definition at line 93 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 103 of file HyperBinningMaker.h.
|
protected |
if this is true, any split point needs to be located on a grid
Definition at line 128 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 80 of file HyperBinningMaker.h.
|
protected |
should event weights be considered when creating the binning
Definition at line 96 of file HyperBinningMaker.h.
|
staticprotected |
print out the status of the binning algorithm
Definition at line 52 of file HyperBinningMaker.h.