8 return baseName.empty() ? leafName : (leafName.empty() ? baseName : baseName +
"_" + leafName);
56 "Trying to save an extension table for " +
m_baseName +
57 " before having saved the corresponding main table\n");
76 for (
auto &pair : *branches) {
80 pair.branch->SetTitle(pair.title.c_str());
99 ", is too large for ROOT native array branch");
115 "Mismatch in number of entries between extension and main table for " + tab.
name());
119 fillColumn<int8_t>(pair, tab);
121 fillColumn<uint8_t>(pair, tab);
123 fillColumn<int16_t>(pair, tab);
125 fillColumn<uint16_t>(pair, tab);
127 fillColumn<int32_t>(pair, tab);
129 fillColumn<uint32_t>(pair, tab);
131 fillColumn<float>(pair, tab);
133 fillColumn<double>(pair, tab);
std::vector< NamedBranchPtr > m_uint32Branches
const std::string & columnName(unsigned int col) const
enum TableOutputBranches::@887 m_extension
void defineBranchesFromFirstEvent(const nanoaod::FlatTable &tab)
BasicHandle getByToken(EDGetToken token, TypeID const &typeID) const
const std::string & name() const
static std::string to_string(const XMLCh *ch)
const std::string & doc() const
TBranch * m_counterBranch
std::vector< NamedBranchPtr > m_int8Branches
std::vector< NamedBranchPtr > m_int32Branches
std::vector< NamedBranchPtr > m_uint16Branches
std::vector< NamedBranchPtr > m_uint8Branches
void fill(const edm::OccurrenceForOutput &iWhatever, TTree &tree, bool extensions)
std::vector< NamedBranchPtr > m_int16Branches
ColumnType columnType(unsigned int col) const
unsigned int nColumns() const
const std::string & columnDoc(unsigned int col) const
std::vector< NamedBranchPtr > m_floatBranches
unsigned int size() const
std::vector< NamedBranchPtr > m_doubleBranches