CMS 3D CMS Logo

SummaryTableOutputFields.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_NanoAOD_SummaryTableOutputFields_h
2 #define PhysicsTools_NanoAOD_SummaryTableOutputFields_h
3 
5 
6 #include "RNTupleFieldPtr.h"
7 
9 public:
10  SummaryTableOutputFields() = default;
12  void fill(const nanoaod::MergeableCounterTable &tab);
13 
14 private:
15  template <typename T, typename Col>
16  std::vector<RNTupleFieldPtr<T>> makeFields(const std::vector<Col> &tabcols, RNTupleModel &model);
17  template <typename T, typename Col>
18  static void fillScalarFields(const std::vector<Col> &tabcols, std::vector<RNTupleFieldPtr<T>> fields);
19  template <typename T, typename Col>
20  static void fillVectorFields(const std::vector<Col> &tabcols, std::vector<RNTupleFieldPtr<T>> fields);
21 
22  std::vector<RNTupleFieldPtr<std::uint64_t>> m_intFields;
23  std::vector<RNTupleFieldPtr<double>> m_floatFields;
24  std::vector<RNTupleFieldPtr<double>> m_floatWithNormFields;
25  std::vector<RNTupleFieldPtr<std::vector<double>>> m_vfloatFields;
26  std::vector<RNTupleFieldPtr<std::vector<double>>> m_vfloatWithNormFields;
27  std::vector<RNTupleFieldPtr<std::vector<std::uint64_t>>> m_vintFields;
28 };
29 
30 #endif
SummaryTableOutputFields()=default
std::vector< RNTupleFieldPtr< std::uint64_t > > m_intFields
std::vector< RNTupleFieldPtr< std::vector< double > > > m_vfloatWithNormFields
std::vector< RNTupleFieldPtr< std::vector< double > > > m_vfloatFields
std::vector< RNTupleFieldPtr< double > > m_floatWithNormFields
std::vector< RNTupleFieldPtr< T > > makeFields(const std::vector< Col > &tabcols, RNTupleModel &model)
std::vector< RNTupleFieldPtr< double > > m_floatFields
std::vector< RNTupleFieldPtr< std::vector< std::uint64_t > > > m_vintFields
static void fillVectorFields(const std::vector< Col > &tabcols, std::vector< RNTupleFieldPtr< T >> fields)
static void fillScalarFields(const std::vector< Col > &tabcols, std::vector< RNTupleFieldPtr< T >> fields)
void fill(const nanoaod::MergeableCounterTable &tab)