13#include <analysis/dbobjects/ParticleWeightingAxis.h>
32 typedef std::map<std::string, ParticleWeightingBinLimits*>
NDBin;
42 std::map<std::string, ParticleWeightingAxis*>
m_axes;
63 void addAxis(
const std::string& name);
86 double getKey(std::map<std::string, double> values)
const;
92 std::vector<std::string>
getNames()
const;
Class for handling KeyMap.
std::map< std::string, ParticleWeightingAxis * > m_axes
Axes mapped with their names.
const int m_outOfRangeBin
We assign unique bin ID for out-of-range bin.
ParticleWeightingKeyMap()
Constructor.
double getKey(std::map< std::string, double > values) const
Get global bin ID for given observable values.
std::vector< MultiDimBin > m_bins
Vector of keys.
void printKeyMap() const
Print content of the key map.
int addKey(NDBin bin, int key_ID)
Adding predefined ID to the table.
std::vector< std::string > getNames() const
Get vector of names ParticleWeightingKeyMap.
void addAxis(const std::string &name)
Add axis.
std::map< std::string, ParticleWeightingBinLimits * > NDBin
N-dim bin: pairs of bin limits with name of the axis variable.
std::pair< std::vector< int >, int > MultiDimBin
Multidimensional bin: first element contains combination of bin IDs from 1D axis, second elements con...
Abstract base class for different kinds of events.