CMS 3D CMS Logo

RegionalMuonGMTPacker.h
Go to the documentation of this file.
1 #ifndef L1T_PACKER_STAGE2_REGIONALMUONGMTPACKER_H
2 #define L1T_PACKER_STAGE2_REGIONALMUONGMTPACKER_H
3 
4 #include <vector>
5 #include <map>
11 
12 namespace l1t {
13  namespace stage2 {
14  class RegionalMuonGMTPacker : public Packer {
15  public:
16  Blocks pack(const edm::Event&, const PackerTokens*) override;
17  void setIsKbmtf() { isKbmtf_ = true; };
21 
22  private:
23  struct GMTObjects {
24  std::vector<RegionalMuonCand> mus;
26  };
27  typedef std::map<size_t, std::map<size_t, GMTObjects>> GMTObjectMap; // Map of BX --> linkID --> objects
28  typedef std::map<unsigned int, std::vector<uint32_t>> PayloadMap;
29  void packTF(const GMTObjectMap& objMap,
30  int firstMuonBx,
31  int lastMuonBx,
32  int firstMuonShowerBx,
33  int lastMuonShowerBx,
34  Blocks&);
35  std::pair<int, int> getMuons(GMTObjectMap& objMap,
36  const edm::Event& event,
38  std::pair<int, int> getMuonShowers(GMTObjectMap& objMap,
39  const edm::Event& event,
41 
42  static constexpr size_t wordsPerBx_ = 6; // number of 32 bit words per BX
43 
44  bool isKbmtf_{false};
47  bool useEmtfLooseShowers_{false};
48  };
49  } // namespace stage2
50 } // namespace l1t
51 
52 #endif
std::pair< int, int > getMuons(GMTObjectMap &objMap, const edm::Event &event, const edm::EDGetTokenT< RegionalMuonCandBxCollection > &tfToken)
std::map< unsigned int, std::vector< uint32_t > > PayloadMap
delete x;
Definition: CaloConfig.h:22
void packTF(const GMTObjectMap &objMap, int firstMuonBx, int lastMuonBx, int firstMuonShowerBx, int lastMuonShowerBx, Blocks &)
std::vector< Block > Blocks
Definition: Block.h:99
std::pair< int, int > getMuonShowers(GMTObjectMap &objMap, const edm::Event &event, const edm::EDGetTokenT< RegionalMuonShowerBxCollection > &tfShowerToken)
std::map< size_t, std::map< size_t, GMTObjects > > GMTObjectMap
Blocks pack(const edm::Event &, const PackerTokens *) override
Definition: event.py:1