72 std::map<int, int> trackAddr;
73 trackAddr[0] = rawTrackAddress;
74 mu.setTrackAddress(trackAddr);
77 mu.setTFIdentifiers(
proc, tf);
78 mu.setDataword(raw_data_32_63, raw_data_00_31);
85 fillRegionalMuonCand(
mu, (uint32_t)(dataword & 0xFFFFFFFF), (uint32_t)((dataword >> 32) & 0xFFFFFFFF),
proc, tf);
89 uint32_t& raw_data_00_31,
90 uint32_t& raw_data_32_63) {
91 int abs_eta =
mu.hwEta();
93 abs_eta += (1 << (etaSignShift_ - absEtaShift_));
95 int abs_phi =
mu.hwPhi();
97 abs_phi += (1 << (phiSignShift_ - absPhiShift_));
99 raw_data_00_31 = (
mu.hwPt() & ptMask_) << ptShift_ | (
mu.hwQual() & qualMask_) << qualShift_ |
100 (abs_eta & absEtaMask_) << absEtaShift_ | (
mu.hwEta() < 0) << etaSignShift_ |
101 (
mu.hwHF() & hfMask_) << hfShift_ | (abs_phi & absPhiMask_) << absPhiShift_ |
102 (
mu.hwPhi() < 0) << phiSignShift_;
105 int tf =
mu.trackFinderType();
122 rawTrkAddr = (segSel & bmtfTrAddrSegSelMask_) << bmtfTrAddrSegSelShift_ |
123 (detSide & 0
x1) << bmtfTrAddrDetSideShift_ |
124 (wheelNum & bmtfTrAddrWheelMask_) << bmtfTrAddrWheelShift_ |
125 (stat1 & bmtfTrAddrStat1Mask_) << bmtfTrAddrStat1Shift_ |
126 (stat2 & bmtfTrAddrStat2Mask_) << bmtfTrAddrStat2Shift_ |
127 (stat3 & bmtfTrAddrStat3Mask_) << bmtfTrAddrStat3Shift_ |
128 (stat4 & bmtfTrAddrStat4Mask_) << bmtfTrAddrStat4Shift_;
130 edm::LogWarning(
"L1T") <<
"BMTF muon track address map contains " <<
mu.trackAddress().size()
132 <<
" subaddresses. Check the data format. Setting track address to 0.";
150 edm::LogWarning(
"L1T") <<
"EMTF muon track address map contains " <<
mu.trackAddress().size()
152 <<
" subaddresses. Check the data format. Setting track address to 0.";
162 edm::LogWarning(
"L1T") <<
"OMTF muon track address map contains " <<
mu.trackAddress().size()
164 <<
" subaddresses. Check the data format. Setting track address to 0.";
168 rawTrkAddr =
mu.trackAddress().at(0);
171 raw_data_32_63 =
mu.hwSign() << signShift_ |
mu.hwSignValid() << signValidShift_ |
172 (rawTrkAddr & trackAddressMask_) << trackAddressShift_;
179 generatePackedDataWords(
mu, lsw, msw);
180 return (((
uint64_t)msw) << 32) + lsw;