1 #ifndef PhysicsTools_NanoAOD_TableOutputBranches_h 2 #define PhysicsTools_NanoAOD_TableOutputBranches_h 16 if (
desc->className() !=
"nanoaod::FlatTable")
17 throw cms::Exception(
"Configuration",
"NanoAODOutputModule can only write out nanoaod::FlatTable objects");
41 TBranch *branchptr =
nullptr)
61 tab.
size() == 0 ?
static_cast<T *
>(
nullptr)
std::vector< NamedBranchPtr > m_uint32Branches
void defineBranchesFromFirstEvent(const nanoaod::FlatTable &tab)
TBranch * m_counterBranch
std::vector< NamedBranchPtr > m_int8Branches
int columnIndex(const std::string &name) const
std::vector< NamedBranchPtr > m_int32Branches
std::vector< NamedBranchPtr > m_uint16Branches
auto columnData(unsigned int column) const
get a column by index (const)
std::vector< NamedBranchPtr > m_uint8Branches
TableOutputBranches(const edm::BranchDescription *desc, const edm::EDGetToken &token)
void fill(const edm::OccurrenceForOutput &iWhatever, TTree &tree, bool extensions)
enum TableOutputBranches::@881 m_extension
NamedBranchPtr(const std::string &aname, const std::string &atitle, const std::string &rootType, TBranch *branchptr=nullptr)
std::vector< NamedBranchPtr > m_int16Branches
std::vector< NamedBranchPtr > m_floatBranches
unsigned int size() const
void fillColumn(NamedBranchPtr &pair, const nanoaod::FlatTable &tab)
std::vector< NamedBranchPtr > m_doubleBranches