Skip to content

Commit 2593027

Browse files
committed
PlainTreeFiller - add warning when try to rename absent field
1 parent 165fe19 commit 2593027

2 files changed

Lines changed: 23 additions & 12 deletions

File tree

infra/PlainTreeFiller.cpp

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,26 @@ void PlainTreeFiller::SetFieldsToRename(const std::vector<std::pair<std::string,
4242
}
4343
}
4444

45+
void PlainTreeFiller::CheckIgnorePreserveRenameFields(const std::vector<std::string>& leafNames) const {
46+
for (const auto& fti : fields_to_ignore_) {
47+
if (std::find(leafNames.begin(), leafNames.end(), fti) == leafNames.end()) {
48+
std::cout << "WARNING PlainTreeFiller::CheckIgnorePreserveRenameFields(): field " << fti << " is set to be ignored, but it is absent among input fields\n";
49+
}
50+
}
51+
52+
for (const auto& ftp : fields_to_preserve_) {
53+
if (std::find(leafNames.begin(), leafNames.end(), ftp) == leafNames.end()) {
54+
std::cout << "WARNING PlainTreeFiller::CheckIgnorePreserveRenameFields(): field " << ftp << " is set to be preserved, but it is absent among input fields\n";
55+
}
56+
}
57+
58+
for (const auto& ftr : fields_to_rename_) {
59+
if (std::find(leafNames.begin(), leafNames.end(), ftr.first) == leafNames.end()) {
60+
std::cout << "WARNING PlainTreeFiller::CheckIgnorePreserveRenameFields(): field " << ftr.first << " is set to be renamed, but it is absent among input fields\n";
61+
}
62+
}
63+
}
64+
4565
void PlainTreeFiller::Init() {
4666
if (is_ignore_defual_fields_) {
4767
std::vector<std::string> defaultFieldsNames;
@@ -92,18 +112,7 @@ void PlainTreeFiller::Init() {
92112
for (int iVar = 0, nVars = vars.size(); iVar < nVars; ++iVar) {
93113
leafNames.emplace_back(vars[iVar].GetName());
94114
}
95-
96-
for (const auto& fti : fields_to_ignore_) {
97-
if (std::find(leafNames.begin(), leafNames.end(), fti) == leafNames.end()) {
98-
std::cout << "WARNING PlainTreeFiller::Init(): field " << fti << " is set to be ignored, but it is absent among input fields\n";
99-
}
100-
}
101-
102-
for (const auto& ftp : fields_to_preserve_) {
103-
if (std::find(leafNames.begin(), leafNames.end(), ftp) == leafNames.end()) {
104-
std::cout << "WARNING PlainTreeFiller::Init(): field " << ftp << " is set to be preserved, but it is absent among input fields\n";
105-
}
106-
}
115+
CheckIgnorePreserveRenameFields(leafNames);
107116

108117
file_ = TFile::Open(file_name_.c_str(), "recreate");
109118
plain_tree_ = new TTree(tree_name_.c_str(), "Plain Tree");

infra/PlainTreeFiller.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ class PlainTreeFiller : public AnalysisTask {
4242
void SetIsPrependLeavesWithBranchName(bool is = true) { is_prepend_leaves_with_branchname_ = is; }
4343

4444
protected:
45+
void CheckIgnorePreserveRenameFields(const std::vector<std::string>& leafNames) const;
46+
4547
TFile* file_{nullptr};
4648
TTree* plain_tree_{nullptr};
4749

0 commit comments

Comments
 (0)