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");
48 if (
fw >= 0x8010000) {
51 if (
fw >= 0x8000000) {
52 gmt_in_packer->setUseEmtfLooseShowers();
54 if (
fw >= 0x7000000) {
55 gmt_in_packer->setUseEmtfNominalTightShowers();
57 if (
fw >= 0x6010000) {
58 gmt_in_packer->setUseEmtfDisplacementInfo();
60 if (
fw >= 0x6000000) {
61 gmt_in_packer->setIsKbmtf();
65 gmt_out_packer->
setFed(fed);
66 gmt_out_packer->setFwVersion(
fw);
109 if (
fw >= 0x8010000) {
112 if (
fw >= 0x8000000) {
113 gmt_in_unp->setUseEmtfLooseShowers();
115 if (
fw >= 0x7000000) {
116 gmt_in_unp->setUseEmtfNominalTightShowers();
118 if (
fw >= 0x6010000) {
119 gmt_in_unp->setUseEmtfDisplacementInfo();
121 if (
fw >= 0x6000000) {
122 gmt_in_unp->setIsKbmtf();
125 for (
int iLink = 72; iLink < 144; iLink += 2) {
126 res[iLink] = gmt_in_unp;
134 for (
int oLink = 49; oLink < 65; oLink += 2)
135 res[oLink] = gmt_imd_unp;
138 std::array<std::shared_ptr<l1t::stage2::MuonUnpacker>, 6> gmt_out_unps;
140 for (
auto gmt_out_unp : gmt_out_unps) {
144 gmt_out_unp->setFedNumber(fed);
145 gmt_out_unp->setMuonCopy(
i);
147 int oLinkMin =
i * 8 + 1;
148 for (
int oLink = oLinkMin; oLink < oLinkMin + 8; oLink += 2)
149 res[oLink] = gmt_out_unp;
std::shared_ptr< Packer > make(const std::string &) const
std::unique_ptr< UnpackerCollections > getCollections(edm::Event &e) override
void setFed(unsigned fedId)
uint32_t cc[maxCellsPerHit]
static std::string to_string(const XMLCh *ch)
static constexpr size_t NUM_OUTPUT_COPIES
static const PackerFactory * get()
void setUseOmtfDisplacementInfo()
std::map< int, std::shared_ptr< Unpacker > > UnpackerMap
void fillDescription(edm::ParameterSetDescription &desc) override
PackerMap getPackers(int fed, unsigned int fw) override
void registerProducts(edm::ProducesCollector) override
UnpackerMap getUnpackers(int fed, int board, int amc, unsigned int fw) override
#define DEFINE_L1T_PACKING_SETUP(type)
std::unique_ptr< PackerTokens > registerConsumes(const edm::ParameterSet &cfg, edm::ConsumesCollector &cc) override
static const UnpackerFactory * get()
void setAlgoVersion(const unsigned int version)
std::map< std::pair< int, int >, Packers > PackerMap
std::shared_ptr< Unpacker > make(const std::string &) const
void setUseOmtfDisplacementInfo()