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 }
0037 }