Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #include "FWCore/Framework/interface/Event.h"
0002 
0003 #include "EventFilter/L1TRawToDigi/interface/Packer.h"
0004 #include "EventFilter/L1TRawToDigi/plugins/PackerFactory.h"
0005 
0006 #include "DataFormats/L1DTTrackFinder/interface/L1MuDTChambPhContainer.h"
0007 #include "DataFormats/L1DTTrackFinder/interface/L1MuDTChambThContainer.h"
0008 
0009 #include "BMTFTokens.h"
0010 
0011 namespace l1t {
0012   namespace stage2 {
0013     class BMTFPackerInputs : public Packer {
0014     public:
0015       Blocks pack(const edm::Event&, const PackerTokens*) override;
0016 
0017     private:
0018       std::map<unsigned int, std::vector<uint32_t> > payloadMap_;
0019 
0020       uint32_t wordPhMaker(const L1MuDTChambPhDigi& phInput);
0021       uint32_t wordThMaker(const L1MuDTChambThDigi& thInput, const bool& qualFlag);
0022 
0023       static const unsigned int phiMask = 0xFFF;
0024       static const unsigned int phiShift = 0;
0025       static const unsigned int phiBMask = 0x3FF;
0026       static const unsigned int phiBShift = 12;
0027       static const unsigned int qualMask = 0x7;
0028       static const unsigned int qualShift = 22;
0029       static const unsigned int rpcMask = 0x1;
0030       static const unsigned int rpcShift = 26;
0031       static const unsigned int bxCntMask = 0x3;
0032       static const unsigned int bxCntShift = 30;
0033 
0034       static const int ownLinks_[];
0035     };
0036   }  // namespace stage2
0037 }  // namespace l1t