HyperPlot  v1
Bin and visualise multidimensional datasets
Public Member Functions | Private Attributes | List of all members
HyperBinningMakerMultiSmart Class Reference

Detailed Description

HyperPlot, Author: Sam Harnew, sam.h.nosp@m.arne.nosp@m.w@gma.nosp@m.il.c.nosp@m.om , Date: Dec 2015

Algorithm to adaptively create a HyperVolumeBinning for a specific HyperPointSet, taking limits from a HyperCuboid.

Todo:
describe how this works...

Definition at line 26 of file HyperBinningMakerMultiSmart.h.

#include <HyperBinningMakerMultiSmart.h>

Inheritance diagram for HyperBinningMakerMultiSmart:
HyperBinningMaker

Public Member Functions

 HyperBinningMakerMultiSmart (const HyperCuboid &binningRange, const HyperPointSet &data, int startingDim=0)
 
virtual void makeBinning ()
 
 ~HyperBinningMakerMultiSmart ()
 
- Public Member Functions inherited from HyperBinningMaker
 HyperBinningMaker (const HyperCuboid &binningRange, const HyperPointSet &data)
 
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
 
HyperHistogramgetHyperBinningHistogram () const
 
HyperHistogramgetShadowHyperBinningHistogram () const
 
HyperHistogramgetRatioHyperBinningHistogram () 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)
 

Private Attributes

int _startingDim
 

Additional Inherited Members

- Static Public Member Functions inherited from HyperBinningMaker
static void setOutputLevel (bool val)
 
- Protected Types inherited from HyperBinningMaker
enum  VolumeStatus { DONE, CONTINUE }
 
- Protected Attributes inherited from HyperBinningMaker
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 inherited from HyperBinningMaker
static bool s_printBinning = true
 

Constructor & Destructor Documentation

HyperBinningMakerMultiSmart::HyperBinningMakerMultiSmart ( const HyperCuboid binningRange,
const HyperPointSet data,
int  startingDim = 0 
)

Constructor that initiates the base class HyperBinningMaker

Definition at line 5 of file HyperBinningMakerMultiSmart.cpp.

HyperBinningMakerMultiSmart::~HyperBinningMakerMultiSmart ( )

Destructor

Definition at line 57 of file HyperBinningMakerMultiSmart.cpp.

Member Function Documentation

void HyperBinningMakerMultiSmart::makeBinning ( )
virtual

run the algorithm

Implements HyperBinningMaker.

Definition at line 13 of file HyperBinningMakerMultiSmart.cpp.

Member Data Documentation

int HyperBinningMakerMultiSmart::_startingDim
private

the dimension to start splitting from

Definition at line 30 of file HyperBinningMakerMultiSmart.h.


The documentation for this class was generated from the following files: