28 (ptlut_data.
bt_vi[0] == 0 && ptlut_data.
bt_vi[1] != 0) ? ptlut_data.
bt_ci[1] + 16 : ptlut_data.
bt_ci[0];
29 int me2_ch_id = ptlut_data.
bt_ci[2];
30 int me3_ch_id = ptlut_data.
bt_ci[3];
31 int me4_ch_id = ptlut_data.
bt_ci[4];
33 int me1_seg_id = (ptlut_data.
bt_vi[0] == 0 && ptlut_data.
bt_vi[1] != 0) ? ptlut_data.
bt_si[1] : ptlut_data.
bt_si[0];
34 int me2_seg_id = ptlut_data.
bt_si[2];
35 int me3_seg_id = ptlut_data.
bt_si[3];
36 int me4_seg_id = ptlut_data.
bt_si[4];
38 auto get_gmt_chamber_me1 = [](
int ch) {
46 else if (ch == 3 + 16)
48 else if (ch == 6 + 16)
50 else if (ch == 9 + 16)
55 auto get_gmt_chamber = [](
int ch) {
69 int EMTF_kBX = (
abs(global_event_BX) % 2048) - 25 + in_track.
BX();
94 for (
const auto& in_track : in_tracks) {
95 int bx = in_track.BX();
97 if (gmtMinBX <=
bx &&
bx <= gmtMaxBX) {
115 int emtfMaxProc = 11;
118 auto sortedCands = std::make_unique<l1t::RegionalMuonCandBxCollection>();
119 sortedCands->clear();
122 for (
int proc = emtfMinProc;
proc <= emtfMaxProc;
proc++) {
125 int cand_proc =
cand->processor();
128 if (cand_proc !=
proc)
130 sortedCands->push_back(iBX, *
cand);
l1t::EMTFTrackCollection EMTFTrackCollection
void setHwPhi(int bits)
Set compressed relative phi as transmitted by hardware LSB = 2*pi/576 (8 bits)
void sort_uGMT_muons(l1t::RegionalMuonCandBxCollection &cands)
void swap(Association< C > &lhs, Association< C > &rhs)
void convert(const int global_event_BX, const EMTFTrack &in_track, l1t::RegionalMuonCand &out_cand) const
std::vector< RegionalMuonCand >::const_iterator const_iterator
void setTFIdentifiers(int processor, tftype trackFinder)
Set the processor ID, track-finder type. From these two, the link is set.
void setTrackSubAddress(bmtfAddress subAddress, int value)
Set a part of the muon candidates track address; specialised for BMTF.
Abs< T >::type abs(const T &t)
void setHwHF(bool bit)
Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)
void setHwQual(int bits)
Set compressed quality code as transmitted by hardware (4 bits)
void setHwPt(int bits)
Set compressed pT as transmitted by hardware LSB = 0.5 (9 bits)
void setHwEta(int bits)
Set compressed eta as transmitted by hardware LSB = 0.010875 (9 bits)
void setHwDXY(int bits)
Set compressed impact parameter with respect to beamspot (4 bits)
void setBXRange(int bxFirst, int bxLast)
void setHwSignValid(int bits)
Set whether charge measurement is valid (0 for high pT muons)
void convert_all(const edm::Event &iEvent, const EMTFTrackCollection &in_tracks, l1t::RegionalMuonCandBxCollection &out_cands) const
void setHwPtUnconstrained(int bits)
Set compressed second displaced pT as transmitted by hardware LSB = 1.0 (8 bits)
void push_back(int bx, T object)
void setHwSign(int bits)
Set charge sign bit (charge = (-1)^(sign))
int GMT_charge_valid() const