Implements BlockElementImporterBase.
Definition at line 48 of file GeneralTracksImporterWithVeto.cc.
52 auto vetosH =
e.getHandle(
veto_);
53 const auto&
vetos = *vetosH;
54 std::unordered_set<unsigned> vetoed;
55 for (
unsigned i = 0;
i <
vetos.size(); ++
i) {
59 elems.reserve(elems.size() +
tracks->size());
60 std::vector<bool> mask(
tracks->size(),
true);
66 auto itr = elems.begin();
67 while (
itr != elems.end()) {
91 auto TKs_end = std::partition(
93 auto btk_elems = elems.begin();
94 auto btrack =
tracks->cbegin();
95 auto etrack =
tracks->cend();
98 std::find_if(btk_elems, TKs_end, [&](
const ElementType&
a) {
return (
a->trackRef() ==
track->trackRef()); });
99 if (tk_elem != TKs_end) {
106 static_cast<reco::PFBlockElementTrack*>(tk_elem->get())->setMuonRef(muonref);
124 bool thisIsAPotentialMuon =
false;
133 if (thisIsAPotentialMuon) {
134 LogDebug(
"GeneralTracksImporterWithVeto")
135 <<
"Potential Muon P " << pftrackref->trackRef()->p() <<
" pt " << pftrackref->trackRef()->p() << std::endl;
139 if (vetoed.count(pftrackref->trackRef().
key()) == 0 || muonref.isNonnull()) {
140 elems.emplace_back(trkElem);
145 elems.shrink_to_fit();
References a, cleanBadConvBrems_, reco::PFBlockElementTrack::convRefs(), reco::PFBlockElementTrack::displacedVertexRef(), HLT_2018_cff::distance, DPtovPtCut_, MillePedeFileConverter_cfg::e, PFTrackAlgoTools::goodPtResolution(), mps_fire::i, training_settings::idx, PFMuonAlgo::isLooseMuon(), PFMuonAlgo::isMuon(), edm::Ref< C, T, F >::isNull(), crabWrapper::key, edm::Ref< C, T, F >::key(), LogDebug, muAssocToTrack(), PDWG_BPHSkim_cff::muons, muons_, NHitCut_, pfmu_, reco::PFBlockElementTrack::setMuonRef(), src_, reco::PFBlockElement::T_FROM_DISP, reco::PFBlockElement::T_FROM_GAMMACONV, reco::PFBlockElement::TRACK, HLT_2018_cff::track, trackQuality_, reco::PFBlockElementTrack::trackRef(), PDWG_EXOHSCP_cff::tracks, reco::PFBlockElementTrack::trackType(), useIterTracking_, reco::PFBlockElementTrack::V0Ref(), veto_, and boostedElectronIsolation_cff::vetos.