1 #ifndef RDFAnalysis_BranchNamer_H 2 #define RDFAnalysis_BranchNamer_H 37 bool systNameFirst =
true,
38 bool inputFromFriends =
false,
40 m_systematics(systematics),
41 m_systNameFirst(systNameFirst),
42 m_inputFromFriendTrees(inputFromFriends),
55 const std::string& branch,
56 const std::string& systName =
"")
const override;
67 const std::string& branch,
68 const std::string& systName =
"")
override;
76 const std::string& branch,
77 const std::string& systName =
"")
const override;
85 const std::string& branch,
86 const std::string& systName =
"")
const;
89 const std::string&
nominalName()
const override {
return m_nominalName; }
95 {
return m_systematics; }
102 const std::string& branch)
const override;
107 std::vector<std::string>
branches()
const override;
113 void readBranchList(
const std::map<std::string, ROOT::RDF::RNode>& rnodes )
override;
115 std::unique_ptr<IBranchNamer>
copy()
const override 116 {
return std::make_unique<DefaultBranchNamer>(*this); }
120 std::map<std::string, std::map<std::string, std::string>> m_branches;
123 std::vector<std::string> m_systematics;
127 bool m_systNameFirst{
true};
130 bool m_inputFromFriendTrees{
true};
133 std::string m_nominalName{
"NOSYS"};
137 #endif //gb> !RDFAnalysis_BranchNamer_H std::string createBranch(const std::string &branch, const std::string &systName="") override
Get the full name of a branch.
Definition: DefaultBranchNamer.cxx:34
Abstract base class that describes how a Node should name its branches internally.
Definition: IBranchNamer.h:33
Default implementation of the IBranchNamer interface.
Definition: DefaultBranchNamer.h:24
void readBranchList(const std::map< std::string, ROOT::RDF::RNode > &rnodes) override
Set the node that this namer is looking at.
Definition: DefaultBranchNamer.cxx:107
const std::string & nominalName() const override
Print the name of the nominal variation.
Definition: DefaultBranchNamer.h:89
std::unique_ptr< IBranchNamer > copy() const override
Make a copy of this class.
Definition: DefaultBranchNamer.h:115
std::vector< std::string > branches() const override
Get all branch base names.
Definition: DefaultBranchNamer.cxx:99
Definition: CutflowDetail.h:11
std::vector< std::string > systematics() const override
Get all systematics.
Definition: DefaultBranchNamer.h:94
std::string newBranchName(const std::string &branch, const std::string &systName="") const
Get the full name of a branch.
Definition: DefaultBranchNamer.cxx:74
DefaultBranchNamer(const std::vector< std::string > &systematics, bool systNameFirst=true, bool inputFromFriends=false, const std::string &nominalName="NOSYS")
Construct the namer.
Definition: DefaultBranchNamer.h:35
The branch naming interface.
std::string nameBranch(const std::string &branch, const std::string &systName="") const override
Get the full name of a branch.
Definition: DefaultBranchNamer.cxx:9
std::set< std::string > systematicsAffecting(const std::string &branch) const override
Get all systematics affecting a base branch name.
Definition: DefaultBranchNamer.cxx:85
bool exists(const std::string &branch, const std::string &systName="") const override
Test if a specific variation of a specific branch exists.
Definition: DefaultBranchNamer.cxx:62