8 : verbose_(iConfig.getParameter<
int>(
"verbose")),
16 std::array<std::vector<edm::Ptr<l1t::TrackerMuon::L1TTTrackType> >, 9> loctracks;
17 for (
unsigned i = 0;
i < 9; ++
i)
22 for (
unsigned i = 0;
i < 9; ++
i)
26 std::array<l1t::MuonStubRefVector, 9>
stubs;
27 for (
int i = 0;
i < 9; ++
i)
31 std::array<std::vector<PreTrackMatchedMuon>, 9> mus;
32 for (
int i = 0;
i < 9; ++
i)
36 std::vector<std::vector<PreTrackMatchedMuon> > muCleaneds;
37 muCleaneds.push_back(
tps_->cleanNeighbor(mus[0], mus[8], mus[1],
true));
38 muCleaneds.push_back(
tps_->cleanNeighbor(mus[1], mus[0], mus[2],
false));
39 muCleaneds.push_back(
tps_->cleanNeighbor(mus[2], mus[1], mus[3],
true));
40 muCleaneds.push_back(
tps_->cleanNeighbor(mus[3], mus[2], mus[4],
false));
41 muCleaneds.push_back(
tps_->cleanNeighbor(mus[4], mus[3], mus[5],
true));
42 muCleaneds.push_back(
tps_->cleanNeighbor(mus[5], mus[4], mus[6],
false));
43 muCleaneds.push_back(
tps_->cleanNeighbor(mus[6], mus[5], mus[7],
true));
44 muCleaneds.push_back(
tps_->cleanNeighbor(mus[7], mus[6], mus[8],
false));
46 muCleaneds.push_back(
tps_->cleanNeighbor(mus[8], mus[7], mus[0],
false));
49 std::vector<PreTrackMatchedMuon> mergedCleaned;
50 for (
auto&&
v : muCleaneds) {
51 mergedCleaned.insert(mergedCleaned.end(),
v.begin(),
v.end());
54 std::vector<l1t::TrackerMuon> trackMatchedMuonsNoIso =
tps_->convert(mergedCleaned, 32);
57 std::vector<l1t::TrackerMuon> sortedTrackMuonsNoIso =
tps_->sort(trackMatchedMuonsNoIso, 12);
59 tps_->SetQualityBits(sortedTrackMuonsNoIso);
62 std::vector<ConvertedTTTrack> mergedconvertedTracks;
64 mergedconvertedTracks.insert(mergedconvertedTracks.end(),
v.begin(),
v.end());
67 isolation_->isolation_allmu_alltrk(sortedTrackMuonsNoIso, mergedconvertedTracks);
72 tps_->outputGT(sortedTrackMuonsNoIso);
74 return sortedTrackMuonsNoIso;
79 std::vector<edm::Ptr<l1t::TrackerMuon::L1TTTrackType> >
out;
81 if (
track->phiSector() == processor) {
91 ap_int<BITSPHI> center = ap_int<BITSPHI>(processor * 910);
93 for (
const auto&
s :
muons) {
94 ap_int<BITSSTUBCOORD>
deltaPhi =
s->hwPhi() - center;
95 ap_uint<
BITSPHI - 1> absDeltaPhi =
97 if (absDeltaPhi < 683)
106 ap_int<BITSSTUBCOORD> center = ap_int<BITSSTUBCOORD>((processor * 910) / 8);
108 for (
const auto&
s : allStubs) {
109 ap_int<BITSSTUBCOORD> phi = 0;
110 if (
s->quality() & 0x1)
115 ap_int<BITSSTUBCOORD>
deltaPhi = phi - center;
118 if (absDeltaPhi < 168)
l1t::SAMuonRefVector associateMuonsWithNonant(const l1t::SAMuonRefVector &, uint)
std::vector< l1t::TrackerMuon > processEvent(const std::vector< edm::Ptr< l1t::TrackerMuon::L1TTTrackType > > &, const l1t::MuonStubRefVector &)
std::vector< edm::Ref< SAMuonCollection > > SAMuonRefVector
muons
the two sets of parameters below are mutually exclusive, depending if RECO or ALCARECO is used the us...
std::vector< edm::Ref< MuonStubCollection > > MuonStubRefVector
std::vector< edm::Ptr< l1t::TrackerMuon::L1TTTrackType > > associateTracksWithNonant(const std::vector< edm::Ptr< l1t::TrackerMuon::L1TTTrackType > > &tracks, uint processor)
TPS(const edm::ParameterSet &iConfig)
l1t::MuonStubRefVector associateStubsWithNonant(const l1t::MuonStubRefVector &, uint)
std::unique_ptr< Isolation > isolation_
std::unique_ptr< TrackConverter > tt_track_converter_
std::unique_ptr< TPSAlgorithm > tps_