void IsoMuonProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup){ auto mu_pt = make_auto(new std::vector<float>); auto mu_phi = make_auto(new std::vector<float>); auto mu_eta = make_auto(new std::vector<float>); auto mu_iso = make_auto(new std::vector<float>); edm::Handle<edm::ValueMap<double> > iso_handle; edm::Handle<std::vector<reco::RecoChargedCandidate> > muon_handle; iEvent.getByToken(iso_token_, iso_handle); iEvent.getByToken(cand_token_, muon_handle); for(auto it = iso_handle->begin(); it != iso_handle->end(); ++it){ for(auto ite = it.begin(); ite != it.end(); ++ite){ mu_iso->push_back(*ite); } } for(auto it = muon_handle->begin(); it != muon_handle->end(); ++it){ mu_pt->push_back(it->pt()); mu_phi->push_back(it->phi()); mu_eta->push_back(it->eta()); } iEvent.put(mu_pt, "mupt"); iEvent.put(mu_phi, "muphi"); iEvent.put(mu_eta, "mueta"); iEvent.put(mu_iso, "muiso"); }
tree lambda_capture_field_type (tree expr, bool explicit_init_p) { tree type; if (explicit_init_p) { type = make_auto (); type = do_auto_deduction (type, expr, type); } else type = non_reference (unlowered_expr_type (expr)); if (type_dependent_expression_p (expr) && !is_this_parameter (tree_strip_nop_conversions (expr))) { type = cxx_make_type (DECLTYPE_TYPE); DECLTYPE_TYPE_EXPR (type) = expr; DECLTYPE_FOR_LAMBDA_CAPTURE (type) = true; DECLTYPE_FOR_INIT_CAPTURE (type) = explicit_init_p; SET_TYPE_STRUCTURAL_EQUALITY (type); } return type; }
tree lambda_capture_field_type (tree expr, bool explicit_init_p) { tree type; if (explicit_init_p) { type = make_auto (); type = do_auto_deduction (type, expr, type); } else type = non_reference (unlowered_expr_type (expr)); if (!type || WILDCARD_TYPE_P (type) || type_uses_auto (type) || DECL_PACK_P (expr)) { type = cxx_make_type (DECLTYPE_TYPE); DECLTYPE_TYPE_EXPR (type) = expr; DECLTYPE_FOR_LAMBDA_CAPTURE (type) = true; DECLTYPE_FOR_INIT_CAPTURE (type) = explicit_init_p; SET_TYPE_STRUCTURAL_EQUALITY (type); } return type; }