1 #ifndef RDFAnalysis_ScheduleNamer_H 2 #define RDFAnalysis_ScheduleNamer_H 43 const std::string& branch,
44 const std::string& =
"")
const override {
return branch; }
51 const std::string& branch,
52 const std::string& =
"")
override 54 m_branches.push_back(branch);
63 const std::string& branch,
64 const std::string& =
"")
const override 65 {
return std::count(m_branches.begin(), m_branches.end(), branch) > 0; }
67 const std::string&
nominalName()
const override {
return m_nominal;}
73 {
return std::vector<std::string>{}; }
79 const std::string& =
"")
const override 80 {
return std::set<std::string>{}; }
85 std::vector<std::string>
branches()
const override 86 {
return m_branches; }
92 const std::map<std::string, ROOT::RDF::RNode>&)
override {}
95 std::unique_ptr<IBranchNamer>
copy()
const override 96 {
return std::make_unique<ScheduleNamer>(*this); }
100 std::vector<std::string> m_branches;
102 std::string m_nominal;
107 #endif //> !RDFAnalysis_ScheduleNamer_H Abstract base class that describes how a Node should name its branches internally.
Definition: IBranchNamer.h:33
Namer class to be used by the scheduler.
Definition: ScheduleNamer.h:20
std::string nameBranch(const std::string &branch, const std::string &="") const override
Get the full name of a branch.
Definition: ScheduleNamer.h:42
void readBranchList(const std::map< std::string, ROOT::RDF::RNode > &) override
Read branch lists from a set of rnodes.
Definition: ScheduleNamer.h:91
std::set< std::string > systematicsAffecting(const std::string &="") const override
Get all systematics affecting a base branch name.
Definition: ScheduleNamer.h:78
bool exists(const std::string &branch, const std::string &="") const override
Test if a specific variation of a specific branch exists.
Definition: ScheduleNamer.h:62
std::vector< std::string > systematics() const override
Get all systematics.
Definition: ScheduleNamer.h:72
std::string createBranch(const std::string &branch, const std::string &="") override
Create a new branch.
Definition: ScheduleNamer.h:50
Definition: CutflowDetail.h:11
The branch naming interface.
std::vector< std::string > branches() const override
Get all branch base names.
Definition: ScheduleNamer.h:85
std::unique_ptr< IBranchNamer > copy() const override
Make a copy of this class.
Definition: ScheduleNamer.h:95
const std::string & nominalName() const override
Get the name of the nominal variation.
Definition: ScheduleNamer.h:67
~ScheduleNamer()
Definition: ScheduleNamer.h:33
ScheduleNamer(const IBranchNamer &other)
Create the namer by copying the list of branches from another namer.
Definition: ScheduleNamer.h:29