1 #ifndef Analysis_Tools_JetResolutionObject_h 2 #define Analysis_Tools_JetResolutionObject_h 11 #define COND_SERIALIZABLE 12 #define COND_TRANSIENT 14 #include <unordered_map> 19 #include <initializer_list> 30 T clip(
const T& n,
const T& lower,
const T& upper) {
31 return std::max(lower, std::min(n, upper));
35 template <
typename T,
typename U>
43 bimap(std::initializer_list<typename left_type::value_type> l) {
46 right.insert(
typename right_type::value_type(v.second, v.first));
55 left = std::move(rhs.left);
56 right = std::move(rhs.right);
83 return int_hash(static_cast<uint8_t>(s));
96 JetParameters(std::initializer_list<typename value_type::value_type> init);
107 JetParameters&
set(
const typename value_type::value_type& value);
111 std::vector<float> createVector(
const std::vector<Binning>& binning)
const;
136 return (value >= min) && (value <= max);
160 return m_bins_name[bin];
164 return m_bins_name.size();
168 return m_variables_name;
176 return m_variables_name[variable];
180 return m_variables.size();
188 return m_formula_str;
192 return m_formula.get();
222 return m_variables_range;
226 return m_parameters_values;
230 return m_variables_range.size();
234 return m_parameters_values.size();
251 void saveToFile(
const std::string& file)
const;
268 bool m_valid =
false;
size_t nVariables() const
const std::vector< Binning > & getVariables() const
size_t nParameters() const
std::unordered_map< Binning, float > value_type
size_t nParameters() const
std::string getFormulaString() const
T clip(const T &n, const T &lower, const T &upper)
const std::vector< Binning > & getBins() const
Range(float min, float max)
std::vector< std::string > m_parameters_name COND_TRANSIENT
const std::vector< std::string > & getVariablesName() const
std::unordered_map< T, U > left_type
const std::vector< Range > & getVariablesRange() const
std::shared_ptr< TFormula > m_formula COND_TRANSIENT
std::string getVariableName(size_t variable) const
size_t nVariables() const
const std::vector< Record > & getRecords() const
std::vector< std::string > m_variables_name
const Definition & getDefinition() const
result_type operator()(argument_type const &s) const
const std::vector< std::string > & getBinsName() const
std::vector< std::string > m_bins_name
std::string getBinName(size_t bin) const
std::vector< float > m_parameters_values
TFormula const * getFormula() const
std::unordered_map< U, T > right_type
const std::vector< float > & getParametersValues() const
std::vector< Binning > m_bins COND_TRANSIENT
bool is_inside(float value) const
std::string m_formula_str
JME::Binning argument_type
bimap(std::initializer_list< typename left_type::value_type > l)
std::vector< Record > m_records
std::vector< Range > m_bins_range
const std::vector< Range > & getBinsRange() const
std::vector< Binning > m_variables COND_TRANSIENT
std::vector< Range > m_variables_range
const std::vector< std::string > & getParametersName() const
static const bimap< Binning, std::string > binning_to_string