CMS 3D CMS Logo

L1MuBMWedgeSorter.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
16 //
17 //--------------------------------------------------
18 #ifndef L1MUBM_WEDGE_SORTER_H
19 #define L1MUBM_WEDGE_SORTER_H
20 
21 //---------------
22 // C++ Headers --
23 //---------------
24 
25 #include <vector>
26 
27 //----------------------
28 // Base Class Headers --
29 //----------------------
30 
32 
33 //------------------------------------
34 // Collaborating Class Declarations --
35 //------------------------------------
36 
37 class L1MuBMTrackFinder;
38 class L1MuBMTrack;
39 class L1MuBMSecProcId;
40 
41 // ---------------------
42 // -- Class Interface --
43 // ---------------------
44 
46 
47  public:
48 
50  L1MuBMWedgeSorter(const L1MuBMTrackFinder&, int id );
51 
53  ~L1MuBMWedgeSorter() override;
54 
56  inline int id() const { return m_wsid; }
57 
59  void run() override;
60 
62  void reset() override;
63 
65  void print() const;
66 
68  inline const std::vector<const L1MuBMTrack*>& tracks() const { return m_TrackCands; }
69 
71  inline bool anyMuonCands() const { return anyTrack(); }
72 
73  private:
74 
76  void runCOL(std::vector<L1MuBMTrack*>&) const;
77 
79  bool anyTrack() const;
80 
82  static bool neighbour(const L1MuBMSecProcId& spid1, const L1MuBMSecProcId& spid2);
83 
84  private:
85 
87  int m_wsid;
88 
89  std::vector<const L1MuBMTrack*> m_TrackCands;
90 
91 };
92 
93 #endif
~L1MuBMWedgeSorter() override
destructor
void reset() override
reset Wedge Sorter
std::vector< const L1MuBMTrack * > m_TrackCands
bool anyTrack() const
are there any non-empty muon candidates in the Wedge Sorter?
const std::vector< const L1MuBMTrack * > & tracks() const
return vector of muon candidates
L1MuBMWedgeSorter(const L1MuBMTrackFinder &, int id)
constructor
static bool neighbour(const L1MuBMSecProcId &spid1, const L1MuBMSecProcId &spid2)
find out if two Sector Processors are neighbours in the same wedge
const L1MuBMTrackFinder & m_tf
int id() const
return Wedge Sorter identifier (0-11)
void print() const
print results after sorting
void runCOL(std::vector< L1MuBMTrack * > &) const
run the Cancel Out Logic of the wedge sorter
bool anyMuonCands() const
return number of muon candidates
void run() override
run Wedge Sorter