51 std::vector<ConvertedTTTrack> convertedTracks0 =
tt_track_converter_->convertTracks(tracks0);
52 std::vector<ConvertedTTTrack> convertedTracks1 =
tt_track_converter_->convertTracks(tracks1);
53 std::vector<ConvertedTTTrack> convertedTracks2 =
tt_track_converter_->convertTracks(tracks2);
54 std::vector<ConvertedTTTrack> convertedTracks3 =
tt_track_converter_->convertTracks(tracks3);
55 std::vector<ConvertedTTTrack> convertedTracks4 =
tt_track_converter_->convertTracks(tracks4);
56 std::vector<ConvertedTTTrack> convertedTracks5 =
tt_track_converter_->convertTracks(tracks5);
57 std::vector<ConvertedTTTrack> convertedTracks6 =
tt_track_converter_->convertTracks(tracks6);
58 std::vector<ConvertedTTTrack> convertedTracks7 =
tt_track_converter_->convertTracks(tracks7);
59 std::vector<ConvertedTTTrack> convertedTracks8 =
tt_track_converter_->convertTracks(tracks8);
62 std::vector<MuonROI> rois0 =
roi_assoc_->associate(0, muonTracks, stubs0);
63 std::vector<MuonROI> rois1 =
roi_assoc_->associate(0, muonTracks, stubs1);
64 std::vector<MuonROI> rois2 =
roi_assoc_->associate(0, muonTracks, stubs2);
65 std::vector<MuonROI> rois3 =
roi_assoc_->associate(0, muonTracks, stubs3);
66 std::vector<MuonROI> rois4 =
roi_assoc_->associate(0, muonTracks, stubs4);
67 std::vector<MuonROI> rois5 =
roi_assoc_->associate(0, muonTracks, stubs5);
68 std::vector<MuonROI> rois6 =
roi_assoc_->associate(0, muonTracks, stubs6);
69 std::vector<MuonROI> rois7 =
roi_assoc_->associate(0, muonTracks, stubs7);
70 std::vector<MuonROI> rois8 =
roi_assoc_->associate(0, muonTracks, stubs8);
73 std::vector<PreTrackMatchedMuon> mu0 =
track_mu_match_->processNonant(convertedTracks0, rois0);
74 std::vector<PreTrackMatchedMuon> mu1 =
track_mu_match_->processNonant(convertedTracks1, rois1);
75 std::vector<PreTrackMatchedMuon> mu2 =
track_mu_match_->processNonant(convertedTracks2, rois2);
76 std::vector<PreTrackMatchedMuon> mu3 =
track_mu_match_->processNonant(convertedTracks3, rois3);
77 std::vector<PreTrackMatchedMuon> mu4 =
track_mu_match_->processNonant(convertedTracks4, rois4);
78 std::vector<PreTrackMatchedMuon> mu5 =
track_mu_match_->processNonant(convertedTracks5, rois5);
79 std::vector<PreTrackMatchedMuon> mu6 =
track_mu_match_->processNonant(convertedTracks6, rois6);
80 std::vector<PreTrackMatchedMuon> mu7 =
track_mu_match_->processNonant(convertedTracks7, rois7);
81 std::vector<PreTrackMatchedMuon> mu8 =
track_mu_match_->processNonant(convertedTracks8, rois8);
83 printf(
"Matching Nonant 5 with %zu tracks and %zu rois and %zu stubs\n",
84 convertedTracks5.size(),
89 std::vector<PreTrackMatchedMuon> muCleaned =
track_mu_match_->cleanNeighbor(mu0, mu8, mu1,
true);
90 std::vector<PreTrackMatchedMuon> muCleaned1 =
track_mu_match_->cleanNeighbor(mu1, mu0, mu2,
false);
91 std::vector<PreTrackMatchedMuon> muCleaned2 =
track_mu_match_->cleanNeighbor(mu2, mu1, mu3,
true);
92 std::vector<PreTrackMatchedMuon> muCleaned3 =
track_mu_match_->cleanNeighbor(mu3, mu2, mu4,
false);
93 std::vector<PreTrackMatchedMuon> muCleaned4 =
track_mu_match_->cleanNeighbor(mu4, mu3, mu5,
true);
94 std::vector<PreTrackMatchedMuon> muCleaned5 =
track_mu_match_->cleanNeighbor(mu5, mu4, mu6,
false);
95 std::vector<PreTrackMatchedMuon> muCleaned6 =
track_mu_match_->cleanNeighbor(mu6, mu5, mu7,
true);
96 std::vector<PreTrackMatchedMuon> muCleaned7 =
track_mu_match_->cleanNeighbor(mu7, mu6, mu8,
false);
97 std::vector<PreTrackMatchedMuon> muCleaned8 =
101 std::copy(muCleaned1.begin(), muCleaned1.end(), std::back_inserter(muCleaned));
102 std::copy(muCleaned2.begin(), muCleaned2.end(), std::back_inserter(muCleaned));
103 std::copy(muCleaned3.begin(), muCleaned3.end(), std::back_inserter(muCleaned));
104 std::copy(muCleaned4.begin(), muCleaned4.end(), std::back_inserter(muCleaned));
105 std::copy(muCleaned5.begin(), muCleaned5.end(), std::back_inserter(muCleaned));
106 std::copy(muCleaned6.begin(), muCleaned6.end(), std::back_inserter(muCleaned));
107 std::copy(muCleaned7.begin(), muCleaned7.end(), std::back_inserter(muCleaned));
108 std::copy(muCleaned8.begin(), muCleaned8.end(), std::back_inserter(muCleaned));
110 std::vector<l1t::TrackerMuon> trackMatchedMuonsNoIso =
track_mu_match_->convert(muCleaned, 32);
124 std::vector<l1t::TrackerMuon> sortedTrackMuonsNoIso =
track_mu_match_->sort(trackMatchedMuonsNoIso, 12);
132 return sortedTrackMuonsNoIso;
145 std::vector<edm::Ptr<l1t::TrackerMuon::L1TTTrackType> >
out;
147 if (
track->phiSector() == processor) {
157 ap_int<BITSSTUBCOORD> center = ap_int<BITSSTUBCOORD>((processor * 910) / 32);
159 for (
const auto&
s : allStubs) {
160 ap_int<BITSSTUBCOORD> phi = 0;
161 if (
s->quality() & 0x1)
166 ap_int<BITSSTUBCOORD>
deltaPhi = phi - center;
169 if (absDeltaPhi < 42)
std::vector< l1t::TrackerMuon > processEvent(const std::vector< edm::Ptr< l1t::TrackerMuon::L1TTTrackType > > &tracks, const l1t::ObjectRefBxCollection< l1t::RegionalMuonCand > &muonTracks, const l1t::MuonStubRefVector &stubs)
std::unique_ptr< Isolation > isolation_
std::vector< edm::Ref< MuonStubCollection > > MuonStubRefVector
l1t::MuonStubRefVector associateStubsWithNonant(const l1t::MuonStubRefVector &allStubs, uint processor)
auto const & tracks
cannot be loose
std::vector< edm::Ptr< l1t::TrackerMuon::L1TTTrackType > > associateTracksWithNonant(const std::vector< edm::Ptr< l1t::TrackerMuon::L1TTTrackType > > &tracks, uint processor)
std::unique_ptr< Tauto3Mu > tauto3mu_
std::unique_ptr< TrackMuonMatchAlgorithm > track_mu_match_
std::unique_ptr< ROITempAssociator > roi_assoc_
std::unique_ptr< TrackConverter > tt_track_converter_
Node(const edm::ParameterSet &iConfig)