1 #ifndef DataFormats_NanoAOD_MergeableCounterTable_h 2 #define DataFormats_NanoAOD_MergeableCounterTable_h 30 return name == other.
name;
49 for (
unsigned int i = 0,
n = values.size();
i <
n; ++
i) {
54 return name == other.
name && values.size() == other.
values.size();
99 bool tryMerge(std::vector<T> &
one,
const std::vector<T> & two) {
100 if (one.size() != two.size())
return false;
101 for (
unsigned int i = 0,
n = one.size();
i <
n; ++
i) {
SingleColumn< float_accumulator > FloatColumn
void addInt(const std::string &name, const std::string &doc, I value)
void operator+=(const SingleColumn< T > &other)
bool compatible(const VectorColumn< T > &other)
VectorColumn(const std::string &aname, const std::string &adoc, unsigned int size)
const std::vector< VIntColumn > & vintCols() const
void addFloat(const std::string &name, const std::string &doc, F value)
std::vector< IntColumn > intCols_
void addVInt(const std::string &name, const std::string &doc, const std::vector< I > values)
const std::vector< IntColumn > & intCols() const
VectorColumn(const std::string &aname, const std::string &adoc, const std::vector< T > &somevalues)
const std::vector< FloatColumn > & floatCols() const
void operator+=(const VectorColumn< T > &other)
void addVFloat(const std::string &name, const std::string &doc, const std::vector< F > values)
bool tryMerge(std::vector< T > &one, const std::vector< T > &two)
const std::complex< double > I
std::vector< VIntColumn > vintCols_
std::vector< VFloatColumn > vfloatCols_
long long int_accumulator
bool compatible(const SingleColumn< T > &other)
std::vector< FloatColumn > floatCols_
const std::vector< VFloatColumn > & vfloatCols() const
VectorColumn< float_accumulator > VFloatColumn
VectorColumn< int_accumulator > VIntColumn
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
SingleColumn< int_accumulator > IntColumn
bool mergeProduct(const MergeableCounterTable &other)
SingleColumn(const std::string &aname, const std::string &adoc, T avalue=T())