30 ->setComment(
"uGMT intermediate muon from BMTF after first sorting stage");
32 ->setComment(
"uGMT intermediate muon from neg. EMTF side after first sorting stage");
34 ->setComment(
"uGMT intermediate muon from pos. EMTF side after first sorting stage");
36 ->setComment(
"uGMT intermediate muon from neg. OMTF side after first sorting stage");
38 ->setComment(
"uGMT intermediate muon from pos. OMTF side after first sorting stage");
44 auto gmt_in_packer = static_pointer_cast<l1t::stage2::RegionalMuonGMTPacker>(
46 if (
fw >= 0x6000000) {
47 gmt_in_packer->setIsRun3();
51 gmt_out_packer->setFed(fed);
52 gmt_out_packer->setFwVersion(
fw);
68 for (
int i = 1;
i < 6; ++
i) {
87 auto gmt_in_unp = static_pointer_cast<l1t::stage2::RegionalMuonGMTUnpacker>(
89 if (
fw >= 0x6000000) {
90 gmt_in_unp->setIsRun3();
93 for (
int iLink = 72; iLink < 144; iLink += 2) {
94 res[iLink] = gmt_in_unp;
99 auto gmt_imd_unp = static_pointer_cast<l1t::stage2::IntermediateMuonUnpacker>(
101 gmt_imd_unp->setAlgoVersion(
fw);
102 for (
int oLink = 49; oLink < 65; oLink += 2)
103 res[oLink] = gmt_imd_unp;
106 std::array<std::shared_ptr<l1t::stage2::MuonUnpacker>, 6> gmt_out_unps;
108 for (
auto gmt_out_unp : gmt_out_unps) {
111 gmt_out_unp->setAlgoVersion(
fw);
112 gmt_out_unp->setFedNumber(fed);
113 gmt_out_unp->setMuonCopy(
i);
115 int oLinkMin =
i * 8 + 1;
116 for (
int oLink = oLinkMin; oLink < oLinkMin + 8; oLink += 2)
117 res[oLink] = gmt_out_unp;