CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuBMTrackFinder.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
18 //
19 //--------------------------------------------------
20 #ifndef L1MUBM_TRACK_FINDER_H
21 #define L1MUBM_TRACK_FINDER_H
22 
23 //---------------
24 // C++ Headers --
25 //---------------
26 
27 #include <vector>
28 #include <iostream>
29 //----------------------
30 // Base Class Headers --
31 //----------------------
32 
33 #include <map>
34 
35 //------------------------------------
36 // Collaborating Class Declarations --
37 //------------------------------------
38 
46 
47 class L1MuBMTFConfig;
48 class L1MuBMSecProcMap;
49 class L1MuBMSecProcId;
51 class L1MuBMEtaProcessor;
52 class L1MuBMWedgeSorter;
53 class L1MuBMMuonSorter;
54 class BMTrackCand;
55 class L1MuRegionalCand;
56 
57 // ---------------------
58 // -- Class Interface --
59 // ---------------------
60 
61 
63 
64  public:
65 
69 
72 
74  virtual ~L1MuBMTrackFinder();
75 
78 
80  void run(const edm::Event& e, const edm::EventSetup& c);
81 
83  void reset();
84 
85  inline int setAdd(int ust, int rel_add);
86 
88  const L1MuBMSectorProcessor* sp(const L1MuBMSecProcId&) const;
89 
91  inline const L1MuBMEtaProcessor* ep(int id) const { return m_epvec[id]; }
92 
94  inline const L1MuBMWedgeSorter* ws(int id) const { return m_wsvec[id]; }
95 
97  inline const L1MuBMMuonSorter* ms() const { return m_ms; }
98 
100  int numberOfTracks();
101 
102  TFtracks_const_iter begin(int bx);
103 
104  TFtracks_const_iter end(int bx);
105 
106  void clear();
107 
109  int numberOfTracks(int bx);
110 
112  static L1MuBMTFConfig* config() { return m_config; }
113 
114 // std::vector<BMTrackCand>& getcache0() { return _cache0; }
115 
118 
119  private:
120 
122  virtual void reconstruct(const edm::Event& e, const edm::EventSetup& c) { reset(); run(e,c); }
123 
124  private:
125 
129  std::vector<L1MuBMEtaProcessor*> m_epvec;
130  std::vector<L1MuBMWedgeSorter*> m_wsvec;
132 
134 
135  std::map<int,int> eta_map ={
136  { -32, -119},{ -31, -115},{ -30, -111},{ -29, -107},{ -28, -104},{ -27, -100},{ -26, -96},{ -25, -92},{ -24, -89},{ -23, -85},
137  { -22, -81},{ -21, -77},{ -20, -74},{ -19, -70},{ -18, -66},{ -17, -62},{ -16, -59},{ -15, -55},{ -14, -51},{ -13, -47},
138  { -12, -44},{ -11, -40},{ -10, -36},{ -9, -32},{ -8, -29},{ -7, -25},{ -6, -21},{ -5, -17},{ -4, -14},{ -3, -10},
139  { -2, -6},{ -1, -2},{ 0, 1},{ 1, 5},{ 2, 9},{ 3, 13},{ 4, 16},{ 5, 20},{ 6, 24},{ 7, 28},
140  { 8, 31},{ 9, 35},{ 10, 39},{ 11, 43},{ 12, 46},{ 13, 50},{ 14, 54},{ 15, 58},{ 16, 61},{ 17, 65},
141  { 18, 69},{ 19, 73},{ 20, 76},{ 21, 80},{ 22, 84},{ 23, 88},{ 24, 91},{ 25, 95},{ 26, 99},{ 27, 103},
142  { 28, 106},{ 29, 110},{ 30, 114},{ 31, 118}};
143 
145 
146 
147 };
148 
149 #endif
l1t::RegionalMuonCandBxCollection::iterator TFtracks_iter
edm::EDGetTokenT< L1MuDTChambPhContainer > m_DTDigiToken
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
L1MuBMMuonSorter * m_ms
BM Muon Sorter.
const L1MuBMMuonSorter * ms() const
get a pointer to the BM Muon Sorter
const L1MuBMWedgeSorter * ws(int id) const
get a pointer to a Wedge Sorter, index [0-11]
std::map< int, int > eta_map
L1MuBMTrackFinder(const edm::ParameterSet &ps, edm::ConsumesCollector &&iC)
constructor
static 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< RegionalMuonCand >::iterator iterator
Definition: BXVector.h:19
void run(const edm::Event &e, const edm::EventSetup &c)
run the barrel MTTF
static L1MuBMTFConfig * m_config
Track Finder configuration.
l1t::RegionalMuonCandBxCollection _cache0
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
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.
std::vector< RegionalMuonCand >::const_iterator const_iterator
Definition: BXVector.h:20
virtual ~L1MuBMTrackFinder()
destructor
void reset()
reset the barrel MTTF