CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
L1MuBMTrackFinder.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
19 //
20 //--------------------------------------------------
21 #ifndef L1MUBM_TRACK_FINDER_H
22 #define L1MUBM_TRACK_FINDER_H
23 
24 //---------------
25 // C++ Headers --
26 //---------------
27 
28 #include <vector>
29 #include <iostream>
30 //----------------------
31 // Base Class Headers --
32 //----------------------
33 
34 #include <map>
35 
36 //------------------------------------
37 // Collaborating Class Declarations --
38 //------------------------------------
39 
52 
53 class L1MuBMTFConfig;
54 class L1MuBMSecProcMap;
55 class L1MuBMSecProcId;
57 class L1MuBMEtaProcessor;
58 class L1MuBMWedgeSorter;
59 class L1MuBMMuonSorter;
60 class L1MuRegionalCand;
61 class L1MuDTTrack;
62 class L1MuDTTrackSegPhi;
63 class L1MuDTTrackSegEta;
64 
65 // ---------------------
66 // -- Class Interface --
67 // ---------------------
68 
70 public:
74 
77 
79  virtual ~L1MuBMTrackFinder();
80 
83 
85  void run(const edm::Event& e, const edm::EventSetup& c);
86 
88  void reset();
89 
90  inline int setAdd(int ust, int rel_add);
91 
93  const L1MuBMSectorProcessor* sp(const L1MuBMSecProcId&) const;
94 
96  inline const L1MuBMEtaProcessor* ep(int id) const { return m_epvec[id]; }
97 
99  inline const L1MuBMWedgeSorter* ws(int id) const { return m_wsvec[id]; }
100 
102  inline const L1MuBMMuonSorter* ms() const { return m_ms; }
103 
105  int numberOfTracks();
106 
108 
110 
111  void clear();
112 
114  int numberOfTracks(int bx);
115 
117  static const L1MuBMTFConfig* config() { return m_config; }
118 
124 
125 private:
127  virtual void reconstruct(const edm::Event& e, const edm::EventSetup& c) {
128  reset();
129  run(e, c);
130  }
131 
132 private:
138 
140  std::vector<L1MuBMEtaProcessor*> m_epvec;
141  std::vector<L1MuBMWedgeSorter*> m_wsvec;
143 
145 
148 };
149 
150 #endif
l1t::RegionalMuonCandBxCollection::iterator TFtracks_iter
L1MuBMTrackCollection & getcache1()
edm::EDGetTokenT< L1MuDTChambPhContainer > m_DTDigiToken
const edm::EventSetup & c
int numberOfTracks()
get number of muon candidates found by the barrel MTTF
virtual void reconstruct(const edm::Event &e, const edm::EventSetup &c)
run Track Finder and store candidates in cache
uint16_t *__restrict__ id
std::vector< RegionalMuonCand >::iterator iterator
Definition: BXVector.h:17
L1MuBMMuonSorter * m_ms
BM Muon Sorter.
std::vector< L1MuBMTrack > L1MuBMTrackCollection
Definition: L1MuBMTrack.h:45
const L1MuBMMuonSorter * ms() const
get a pointer to the BM Muon Sorter
L1MuBMTrackSegEtaCollection _cache3
const L1MuBMWedgeSorter * ws(int id) const
get a pointer to a Wedge Sorter, index [0-11]
std::vector< RegionalMuonCand >::const_iterator const_iterator
Definition: BXVector.h:18
L1MuBMTrackFinder(const edm::ParameterSet &ps, edm::ConsumesCollector &&iC)
constructor
L1MuBMTrackSegPhiCollection & getcache2()
L1MuBMTrackCollection _cache1
static const L1MuBMTFConfig * config()
return configuration
TFtracks_const_iter begin(int bx)
std::vector< L1MuBMWedgeSorter * > m_wsvec
Wedge Sorters.
const L1MuBMSectorProcessor * sp(const L1MuBMSecProcId &) const
get a pointer to a Sector Processor
std::vector< L1MuBMTrackSegPhi > L1MuBMTrackSegPhiCollection
L1MuBMTrackSegPhiCollection _cache2
void run(const edm::Event &e, const edm::EventSetup &c)
run the barrel MTTF
static L1MuBMTFConfig * m_config
Track Finder configuration.
l1t::RegionalMuonCandBxCollection _cache0
L1MuBMTrackSegEtaCollection & getcache3()
TFtracks_const_iter end(int bx)
std::vector< L1MuBMEtaProcessor * > m_epvec
Eta Processors.
l1t::RegionalMuonCandBxCollection _cache
l1t::RegionalMuonCandBxCollection::const_iterator TFtracks_const_iter
container for muon candidates
int setAdd(int ust, int rel_add)
void setup(edm::ConsumesCollector &&)
build the structure of the barrel MTTF
std::vector< L1MuBMTrackSegEta > L1MuBMTrackSegEtaCollection
l1t::RegionalMuonCandBxCollection & getcache()
l1t::RegionalMuonCandBxCollection & getcache0()
const L1MuBMEtaProcessor * ep(int id) const
get a pointer to an Eta Processor, index [0-11]
L1MuBMSecProcMap * m_spmap
Sector Processors.
virtual ~L1MuBMTrackFinder()
destructor
void reset()
reset the barrel MTTF
edm::ESGetToken< L1TMuonBarrelParams, L1TMuonBarrelParamsRcd > m_mbParamsToken