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