7 return baseName.empty() ? leafName : (leafName.empty() ? baseName : baseName +
"_" + leafName);
38 "Trying to save an extension table for " +
m_baseName +
39 " before having saved the corresponding main table\n");
42 if (tree.FindBranch((
"n" +
m_baseName).c_str()) !=
nullptr) {
51 for (
auto &pair : *branches) {
54 tree.Branch(branchName.c_str(), (
void *)
nullptr, (branchName + varsize +
"/" + pair.rootTypeCode).c_str());
55 pair.branch->SetTitle(pair.title.c_str());
83 "Mismatch in number of entries between extension and main table for " + tab.
name());
87 fillColumn<float>(pair, tab);
89 fillColumn<int>(pair, tab);
91 fillColumn<uint8_t>(pair, tab);
enum TableOutputBranches::@849 m_extension
BasicHandle getByToken(EDGetToken token, TypeID const &typeID) const
ColumnType columnType(unsigned int col) const
void defineBranchesFromFirstEvent(const nanoaod::FlatTable &tab)
const std::string & doc() const
void fill(const edm::EventForOutput &iEvent, TTree &tree, bool extensions)
std::vector< NamedBranchPtr > m_intBranches
TBranch * m_counterBranch
std::vector< NamedBranchPtr > m_uint8Branches
const std::string & name() const
const std::string & columnName(unsigned int col) const
unsigned int nColumns() const
unsigned int size() const
std::vector< NamedBranchPtr > m_floatBranches
const std::string & columnDoc(unsigned int col) const