51 {
53
54 TypeRegexes iparticle_type_regexes {
55
56
57
58 {
"(pt|eta|phi|energy|deltaZ0|trkpt|trketa|trkphi|gsftrkpt|gsftrketa|gsftrkphi|cluster_eta|cluster_phi|isAmbiguous|vertexWeight|ntracks_ga|photon_deltaZ|photon_deltaZ_wBeamSpot|d0|z0)"_r,
ConstituentsEDMType::CUSTOM_GETTER}
59 };
60
61 if (
name.find(
"tracks_all_sd0sort") != std::string::npos){
62 config = get_iparticle_input_config(
63 name, input_variables,
64 iparticle_type_regexes);
66 config.link_name =
"trackParticleLinks";
67 config.output_name =
"track_features";
68 }
69 else if (
name.find(
"electrons") != std::string::npos){
70 config = get_iparticle_input_config(
71 name, input_variables,
72 iparticle_type_regexes);
74 config.link_name =
"electronLinks";
75 config.output_name =
"electron_features";
76 }
77 else if (
name.find(
"muons") != std::string::npos){
78 config = get_iparticle_input_config(
79 name, input_variables,
80 iparticle_type_regexes);
82 config.link_name =
"muonLinks";
83 config.output_name =
"muon_features";
84 }
85 else if (
name.find(
"jets") != std::string::npos){
86 config = get_iparticle_input_config(
87 name, input_variables,
88 iparticle_type_regexes);
90 config.link_name =
"jetLinks";
91 config.output_name =
"jet_features";
92 }
93 else if (
name.find(
"photons") != std::string::npos){
94 config = get_iparticle_input_config(
95 name, input_variables,
96 iparticle_type_regexes);
98 config.link_name =
"photonLinks";
99 config.output_name =
"photon_features";
100 }
101 else{
102 throw std::runtime_error(
103 "Unknown constituent type: " + name
104 );
105 }
107 }