84 std::map<int, int> trackAddr;
85 trackAddr[0] = rawTrackAddress;
86 mu.setTrackAddress(trackAddr);
89 mu.setTFIdentifiers(
proc, tf);
90 mu.setDataword(raw_data_32_63, raw_data_00_31);
96 mu, (uint32_t)(dataword & 0xFFFFFFFF), (uint32_t)((dataword >> 32) & 0xFFFFFFFF),
proc, tf, isKalman);
100 uint32_t& raw_data_00_31,
101 uint32_t& raw_data_32_63,
102 const bool isKalman) {
103 int abs_eta =
mu.hwEta();
105 abs_eta += (1 << (etaSignShift_ - absEtaShift_));
107 int abs_phi =
mu.hwPhi();
109 abs_phi += (1 << (phiSignShift_ - absPhiShift_));
111 raw_data_00_31 = (
mu.hwPt() & ptMask_) << ptShift_ | (
mu.hwQual() & qualMask_) << qualShift_ |
112 (abs_eta & absEtaMask_) << absEtaShift_ | (
mu.hwEta() < 0) << etaSignShift_ |
113 (
mu.hwHF() & hfMask_) << hfShift_ | (abs_phi & absPhiMask_) << absPhiShift_ |
114 (
mu.hwPhi() < 0) << phiSignShift_;
117 int rawTrkAddr = generateRawTrkAddress(
mu, isKalman);
119 raw_data_32_63 =
mu.hwSign() << signShift_ |
mu.hwSignValid() << signValidShift_ |
120 (rawTrkAddr & trackAddressMask_) << trackAddressShift_;
122 raw_data_32_63 |= (
mu.hwPtUnconstrained() & ptUnconstrainedMask_) << ptUnconstrainedShift_ | (
mu.hwDXY() & dxyMask_)
131 generatePackedDataWords(
mu, lsw, msw, isKalman);
132 return (((
uint64_t)msw) << 32) + lsw;
136 int tf =
mu.trackFinderType();
154 rawTrkAddr = (detSide & 0x1) << bmtfTrAddrDetSideShift_ |
155 (wheelNum & bmtfTrAddrWheelMask_) << bmtfTrAddrWheelShift_ |
156 (stat1 & bmtfTrAddrStat1Mask_) << bmtfTrAddrStat1Shift_ |
157 (stat2 & bmtfTrAddrStat2Mask_) << bmtfTrAddrStat2Shift_ |
158 (stat3 & bmtfTrAddrStat3Mask_) << bmtfTrAddrStat3Shift_ |
159 (stat4 & bmtfTrAddrStat4Mask_) << bmtfTrAddrStat4Shift_;
161 edm::LogWarning(
"L1T") <<
"BMTF muon track address map contains " <<
mu.trackAddress().size()
163 <<
" subaddresses. Check the data format. Setting track address to 0.";
181 edm::LogWarning(
"L1T") <<
"EMTF muon track address map contains " <<
mu.trackAddress().size()
183 <<
" subaddresses. Check the data format. Setting track address to 0.";
193 edm::LogWarning(
"L1T") <<
"OMTF muon track address map contains " <<
mu.trackAddress().size()
195 <<
" subaddresses. Check the data format. Setting track address to 0.";
199 rawTrkAddr =
mu.trackAddress().at(0);