22class PlainTreeFiller :
public AnalysisTask {
24 PlainTreeFiller() =
default;
26 void AddBranch(
const std::string& branch_name);
30 void Finish()
override;
32 void SetOutputName(std::string file, std::string tree) {
33 file_name_ = std::move(file);
34 tree_name_ = std::move(tree);
37 void SetFieldsToIgnore(
const std::vector<std::string>& fields_to_ignore);
38 void SetFieldsToPreserve(
const std::vector<std::string>& fields_to_preserve);
39 void SetFieldsToRename(
const std::vector<std::pair<std::string, std::string>>& fields_to_rename);
41 void SetIsIgnoreDefaultFields(
bool is =
true) { is_ignore_defual_fields_ = is; }
42 void SetIsPrependLeavesWithBranchName(
bool is =
true) { is_prepend_leaves_with_branchname_ = is; }
45 void CheckIgnorePreserveRenameFields(
const std::vector<std::string>& leafNames)
const;
47 TFile* file_{
nullptr};
48 TTree* plain_tree_{
nullptr};
50 std::string file_name_{
"PlainTree.root"};
51 std::string tree_name_{
"PlainTree"};
52 std::string branch_name_;
54 std::vector<FIB> vars_;
55 std::vector<std::string> fields_to_ignore_{};
56 std::vector<std::string> fields_to_preserve_{};
57 std::map<std::string, std::string> fields_to_rename_{};
59 bool is_ignore_defual_fields_{
false};
60 bool is_prepend_leaves_with_branchname_{
true};