Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:10:52

0001 #ifndef L1T_PACKER_STAGE2_REGIONALMUONGMTUNPACKER_H
0002 #define L1T_PACKER_STAGE2_REGIONALMUONGMTUNPACKER_H
0003 
0004 #include "EventFilter/L1TRawToDigi/interface/Unpacker.h"
0005 #include "EventFilter/L1TRawToDigi/interface/Block.h"
0006 #include "GMTCollections.h"
0007 
0008 namespace l1t {
0009   namespace stage2 {
0010     class RegionalMuonGMTUnpacker : public Unpacker {
0011     public:
0012       bool unpack(const Block& block, UnpackerCollections* coll) override;
0013       void setIsKbmtf() { isKbmtf_ = true; }
0014       void setUseOmtfDisplacementInfo() { useOmtfDisplacementInfo_ = true; }
0015       void setUseEmtfDisplacementInfo() { useEmtfDisplacementInfo_ = true; }
0016       void setUseEmtfNominalTightShowers() { useEmtfNominalTightShowers_ = true; }
0017       void setUseEmtfLooseShowers() { useEmtfLooseShowers_ = true; }
0018 
0019     private:
0020       static constexpr unsigned nWords_ = 6;  // every link transmits 6 words (3 muons) per bx
0021       static constexpr unsigned bxzs_enable_shift_ = 1;
0022 
0023       bool isKbmtf_{false};
0024       bool useOmtfDisplacementInfo_{false};
0025       bool useEmtfDisplacementInfo_{false};
0026       bool useEmtfNominalTightShowers_{false};
0027       bool useEmtfLooseShowers_{false};
0028     };
0029   }  // namespace stage2
0030 }  // namespace l1t
0031 
0032 #endif