119 {
120
121
122
123
124 TypeRegexes type_regexes = {
126 {
"sumPt2|chi2Over_ndf|z_asymmetry|weighted_z_asymmetry|z_kurtosis|z_skewness|photon_deltaz|photon_deltaPhi|actualIntPerXing"_r,
EDMType::FLOAT},
129 };
130
132 {"ntrk|sumPt2|chi2Over_ndf|z_asymmetry|weighted_z_asymmetry|z_kurtosis|z_skewness|photon_deltaz|photon_deltaPhi|actualIntPerXing"_r, ""},
133 {"((log_)?pt|abs_eta|eta|phi|energy|mass|sumPt)"_r, ""}};
134
135 std::vector<HSGNNInputConfig> input_config;
136 for (
auto& node:
config.inputs){
137 std::vector<std::string> input_names;
138 input_names.reserve(
node.variables.size());
139for (
const auto& var:
node.variables) {
140 input_names.push_back(
var.name);
141 }
142 input_config = get_input_config(input_names, type_regexes, default_flag_regexes);
143 }
144
145
146 std::vector<std::pair<std::string, std::vector<std::string>>> constituent_names;
147 for (
auto& node:
config.input_sequences) {
148
149 std::vector<std::string>
names;
151for (
const auto& var:
node.variables) {
153 }
154 constituent_names.emplace_back(
node.name, names);
155 }
156
157 std::vector<ConstituentsInputConfig> constituent_configs;
158 constituent_configs.reserve(constituent_names.size());
159for (const auto& el: constituent_names){
160 constituent_configs.push_back(
162 }
163
164 return std::make_tuple(input_config, constituent_configs);
165 }
std::vector< std::pair< std::regex, std::string > > StringRegexes
ConstituentsInputConfig createConstituentsLoaderConfig(const std::string &name, const std::vector< std::string > &input_variables)