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; };
22 
23  private:
24  struct GMTObjects {
25  std::vector<RegionalMuonCand> mus;
27  };
28  typedef std::map<size_t, std::map<size_t, GMTObjects>> GMTObjectMap; // Map of BX --> linkID --> objects
29  typedef std::map<unsigned int, std::vector<uint32_t>> PayloadMap;
30  void packTF(const GMTObjectMap& objMap,
31  int firstMuonBx,
32  int lastMuonBx,
33  int firstMuonShowerBx,
34  int lastMuonShowerBx,
35  Blocks&);
36  std::pair<int, int> getMuons(GMTObjectMap& objMap,
37  const edm::Event& event,
39  std::pair<int, int> getMuonShowers(GMTObjectMap& objMap,
40  const edm::Event& event,
42 
43  static constexpr size_t wordsPerBx_ = 6; // number of 32 bit words per BX
44 
45  bool isKbmtf_{false};
49  bool useEmtfLooseShowers_{false};
50  };
51  } // namespace stage2
52 } // namespace l1t
53 
54 #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