52 {
54
55 TypeRegexes iparticle_type_regexes {
56
57
58
60 };
61
62 if (
name.find(
"tracks_all_sd0sort") != std::string::npos){
63 config = get_iparticle_input_config(
64 name, input_variables,
65 iparticle_type_regexes);
67 config.link_name =
"trackParticleLinks";
68 config.output_name =
"track_features";
69 }
70 else if (
name.find(
"electrons") != std::string::npos){
71 config = get_iparticle_input_config(
72 name, input_variables,
73 iparticle_type_regexes);
75 config.link_name =
"electronLinks";
76 config.output_name =
"electron_features";
77 }
78 else if (
name.find(
"muons") != std::string::npos){
79 config = get_iparticle_input_config(
80 name, input_variables,
81 iparticle_type_regexes);
83 config.link_name =
"muonLinks";
84 config.output_name =
"muon_features";
85 }
86 else if (
name.find(
"jets") != std::string::npos){
87 config = get_iparticle_input_config(
88 name, input_variables,
89 iparticle_type_regexes);
91 config.link_name =
"jetLinks";
92 config.output_name =
"jet_features";
93 }
94 else if (
name.find(
"photons") != std::string::npos){
95 config = get_iparticle_input_config(
96 name, input_variables,
97 iparticle_type_regexes);
99 config.link_name =
"photonLinks";
100 config.output_name =
"photon_features";
101 }
102 else{
103 throw std::runtime_error(
104 "Unknown constituent type: " + name
105 );
106 }
108 }