55       TypeRegexes iparticle_type_regexes {
 
   59           {
"(pt|eta|phi|energy|deltaZ0|vertexWeight|ntracks_ga|photon_deltaZ|photon_deltaZ_wBeamSpot)"_r, ConstituentsEDMType::CUSTOM_GETTER}
 
   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";
 
   70       else if (
name.find(
"electrons") != std::string::npos){
 
   71         config = get_iparticle_input_config(
 
   72           name, input_variables,
 
   73           iparticle_type_regexes);
 
   74         config.type = ConstituentsType::ELECTRON;
 
   75         config.link_name = 
"electronLinks";
 
   76         config.output_name = 
"electron_features";
 
   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";
 
   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";
 
   94       else if (
name.find(
"photons") != std::string::npos){
 
   95         config = get_iparticle_input_config(
 
   96           name, input_variables,
 
   97           iparticle_type_regexes);
 
   98         config.type = ConstituentsType::PHOTON;
 
   99         config.link_name = 
"photonLinks";
 
  100         config.output_name = 
"photon_features";
 
  103         throw std::runtime_error(
 
  104           "Unknown constituent type: " + 
name