Go to the documentation of this file. 1 #ifndef DataFormats_NanoAOD_MergeableCounterTable_h
2 #define DataFormats_NanoAOD_MergeableCounterTable_h
28 "Trying to merge " +
name +
" with " +
other.name +
" failed compatibility test.\n");
47 "LogicError",
"Trying to merge " + this->
name +
" with " + other.
name +
" failed compatibility test.\n");
68 "Trying to merge " +
name +
" with " +
other.name +
" failed compatibility test.\n");
69 for (
unsigned int i = 0,
n =
values.size();
i <
n; ++
i) {
88 const std::vector<T>& somevalues,
94 "LogicError",
"Trying to merge " + this->
name +
" with " + other.
name +
" failed compatibility test.\n");
96 for (
unsigned int i = 0,
n = this->
values.size();
i <
n; ++
i) {
112 template <
typename F>
117 template <
typename F>
122 template <
typename I>
127 template <
typename F>
133 template <
typename F>
139 template <
typename I>
178 template <
typename T>
181 auto x = std::find_if(
one.begin(),
one.end(), [&y](
const T& x) {
return x.name == y.name; });
std::vector< IntColumn > intCols_
std::vector< FloatColumn > floatCols_
void addFloat(const std::string &name, const std::string &doc, F value)
const std::vector< IntColumn > & intCols() const
void operator+=(const SingleColumn< T > &other)
void addInt(const std::string &name, const std::string &doc, I value)
const std::vector< VFloatWithNormColumn > & vfloatWithNormCols() const
bool compatible(const VectorColumn< T > &other)
void swap(MergeableCounterTable &iOther)
const std::vector< VIntColumn > & vintCols() const
VectorWithNormColumn(const std::string &aname, const std::string &adoc, unsigned int size, double anorm=0)
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
void addVInt(const std::string &name, const std::string &doc, const std::vector< I > values)
const std::complex< double > I
VectorWithNormColumn(const std::string &aname, const std::string &adoc, const std::vector< T > &somevalues, double anorm=0)
bool tryMerge(std::vector< T > &one, const std::vector< T > &two)
void operator+=(const SingleWithNormColumn< T > &other)
SingleWithNormColumn(const std::string &aname, const std::string &adoc, T avalue=T(), const double anorm=0)
VectorColumn(const std::string &aname, const std::string &adoc, unsigned int size)
std::vector< FloatWithNormColumn > floatWithNormCols_
SingleColumn(const std::string &aname, const std::string &adoc, T avalue=T())
const std::vector< FloatWithNormColumn > & floatWithNormCols() const
bool mergeProduct(const MergeableCounterTable &other)
void addFloatWithNorm(const std::string &name, const std::string &doc, F value, double norm)
const std::vector< FloatColumn > & floatCols() const
void operator+=(const VectorColumn< T > &other)
std::vector< VIntColumn > vintCols_
SingleColumn< float_accumulator > FloatColumn
SingleColumn< int_accumulator > IntColumn
SingleWithNormColumn< float_accumulator > FloatWithNormColumn
void addVFloat(const std::string &name, const std::string &doc, const std::vector< F > values)
VectorColumn(const std::string &aname, const std::string &adoc, const std::vector< T > &somevalues)
bool compatible(const SingleColumn< T > &other)
VectorColumn< int_accumulator > VIntColumn
void operator+=(const VectorWithNormColumn< T > &other)
std::vector< VFloatWithNormColumn > vfloatWithNormCols_
long long int_accumulator
const std::vector< VFloatColumn > & vfloatCols() const
VectorWithNormColumn< float_accumulator > VFloatWithNormColumn
std::vector< VFloatColumn > vfloatCols_
VectorColumn< float_accumulator > VFloatColumn
void addVFloatWithNorm(const std::string &name, const std::string &doc, const std::vector< F > values, double norm)