1 #ifndef RDFAnalysis_IBranchNamer_H 2 #define RDFAnalysis_IBranchNamer_H 10 #include <ROOT/RDataFrame.hxx> 47 const std::string& branch,
48 const std::string& systName =
"")
const = 0;
60 const std::vector<std::string>&
branches,
61 const std::string& systName =
"")
const;
73 const std::string& branch,
74 const std::string& systName =
"") = 0;
82 const std::string& branch,
83 const std::string& systName =
"")
const = 0;
91 virtual std::vector<std::string>
systematics()
const = 0;
98 const std::string& branch)
const = 0;
105 const std::vector<std::string>& branches)
const;
110 virtual std::vector<std::string>
branches()
const = 0;
117 const std::map<std::string, ROOT::RDF::RNode>& rnodes) = 0;
120 virtual std::unique_ptr<IBranchNamer>
copy()
const = 0;
136 const std::string& expression)
const;
154 const std::string& expression,
155 const std::vector<std::string>& branches,
156 const std::string& systematic);
161 #endif //> !RDFAnalysis_IBranchNamer_H Abstract base class that describes how a Node should name its branches internally.
Definition: IBranchNamer.h:33
virtual void readBranchList(const std::map< std::string, ROOT::RDF::RNode > &rnodes)=0
Read branch lists from a set of rnodes.
virtual ~IBranchNamer()
Definition: IBranchNamer.h:35
virtual bool exists(const std::string &branch, const std::string &systName="") const =0
Test if a specific variation of a specific branch exists.
virtual const std::string & nominalName() const =0
Get the name of the nominal variation.
virtual std::pair< std::string, std::vector< std::string > > expandExpression(const std::string &expression) const
Expand a C++ expression into a pseudo-functional form.
Definition: IBranchNamer.cxx:30
virtual std::vector< std::string > branches() const =0
Get all branch base names.
Definition: CutflowDetail.h:11
virtual std::unique_ptr< IBranchNamer > copy() const =0
Make a copy of this class.
virtual std::vector< std::string > systematics() const =0
Get all systematics.
virtual std::set< std::string > systematicsAffecting(const std::string &branch) const =0
Get all systematics affecting a base branch name.
virtual std::string nameBranch(const std::string &branch, const std::string &systName="") const =0
Get the full name of a branch.
virtual std::string interpretExpression(const std::string &expression, const std::vector< std::string > &branches, const std::string &systematic)
Interpret an expression for a given systematic variation.
Definition: IBranchNamer.cxx:58
virtual std::vector< std::string > nameBranches(const std::vector< std::string > &branches, const std::string &systName="") const
Get the full names of a list of branches.
Definition: IBranchNamer.cxx:8
virtual std::string createBranch(const std::string &branch, const std::string &systName="")=0
Create a new branch.