CMS 3D CMS Logo

L1MuBMSectorProcessor.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
18 //
19 //--------------------------------------------------
20 #ifndef L1MUBM_SECTOR_PROCESSOR_H
21 #define L1MUBM_SECTOR_PROCESSOR_H
22 
23 //---------------
24 // C++ Headers --
25 //---------------
26 
27 #include <vector>
28 
29 //----------------------
30 // Base Class Headers --
31 //----------------------
32 
35 
36 //------------------------------------
37 // Collaborating Class Declarations --
38 //------------------------------------
39 
43 class L1MuBMDataBuffer;
47 class L1MuBMTrackFinder;
48 class L1MuBMTrack;
49 
50 // ---------------------
51 // -- Class Interface --
52 // ---------------------
53 
55 public:
58 
60  virtual ~L1MuBMSectorProcessor();
61 
63  virtual void run(int bx, const edm::Event& e, const edm::EventSetup& c);
64 
66  virtual void reset();
67 
69  void print() const;
70 
72  const L1MuBMSectorProcessor* neighbour() const;
73 
75  inline const L1MuBMSecProcId& id() const { return m_spid; }
76 
78  inline const L1MuBMTrackFinder& tf() const { return m_tf; }
79 
81  inline bool brl() const { return !m_spid.ovl(); }
82 
84  inline bool ovl() const { return m_spid.ovl(); }
85 
87  inline const L1MuBMDataBuffer* data() const { return m_DataBuffer; }
88  inline L1MuBMDataBuffer* data() { return m_DataBuffer; }
89 
91  inline const L1MuBMExtrapolationUnit* EU() const { return m_EU; }
92 
94  inline const L1MuBMTrackAssembler* TA() const { return m_TA; }
95 
97  inline const L1MuBMAssignmentUnit* AU(int id) const { return m_AUs[id]; }
98 
100  inline L1MuBMTrack* track(int id) const { return m_TrackCands[id]; }
101 
103  inline L1MuBMTrack* tracK(int id) const { return m_TracKCands[id]; }
104 
105 private:
107  bool anyTrack() const;
108 
109 private:
112 
117  std::vector<L1MuBMAssignmentUnit*> m_AUs;
118 
119  std::vector<L1MuBMTrack*> m_TrackCands;
120  std::vector<L1MuBMTrack*> m_TracKCands;
121 };
122 
123 #endif
L1MuBMSectorProcessor::anyTrack
bool anyTrack() const
are there any non-empty muon candidates?
Definition: L1MuBMSectorProcessor.cc:295
L1MuBMSectorProcessor::AU
const L1MuBMAssignmentUnit * AU(int id) const
return pointer to Assignment Unit, index [0,1]
Definition: L1MuBMSectorProcessor.h:97
L1MuBMAssignmentUnit
Definition: L1MuBMAssignmentUnit.h:52
L1MuBMTrackAssembler
Definition: L1MuBMTrackAssembler.h:49
L1MuBMSecProcId
Definition: L1MuBMSecProcId.h:40
L1MuBMSectorProcessor::m_tf
const L1MuBMTrackFinder & m_tf
Definition: L1MuBMSectorProcessor.h:110
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
L1MuBMSectorProcessor::m_spid
L1MuBMSecProcId m_spid
Definition: L1MuBMSectorProcessor.h:111
L1MuBMSectorProcessor::tf
const L1MuBMTrackFinder & tf() const
return reference to barrel MTTF
Definition: L1MuBMSectorProcessor.h:78
L1MuBMSectorProcessor
Definition: L1MuBMSectorProcessor.h:54
L1MuBMSectorProcessor::m_TA
L1MuBMTrackAssembler * m_TA
Definition: L1MuBMSectorProcessor.h:116
L1MuBMSectorReceiver
Definition: L1MuBMSectorReceiver.h:53
L1MuBMSectorProcessor::brl
bool brl() const
is it a barrel-only Sector Processor?
Definition: L1MuBMSectorProcessor.h:81
L1MuBMSectorProcessor::print
void print() const
print muon candidates found by the Sector Processor
Definition: L1MuBMSectorProcessor.cc:260
L1MuBMSectorProcessor::m_AUs
std::vector< L1MuBMAssignmentUnit * > m_AUs
Definition: L1MuBMSectorProcessor.h:117
L1MuBMDataBuffer
Definition: L1MuBMDataBuffer.h:41
L1MuBMSectorProcessor::neighbour
const L1MuBMSectorProcessor * neighbour() const
return pointer to the next wheel neighbour
Definition: L1MuBMSectorProcessor.cc:275
L1MuBMSectorProcessor::id
const L1MuBMSecProcId & id() const
return Sector Processor identifier
Definition: L1MuBMSectorProcessor.h:75
L1MuBMSectorProcessor::~L1MuBMSectorProcessor
virtual ~L1MuBMSectorProcessor()
destructor
Definition: L1MuBMSectorProcessor.cc:87
Event.h
L1MuBMTrack
Definition: L1MuBMTrack.h:49
L1MuBMSectorProcessor::L1MuBMSectorProcessor
L1MuBMSectorProcessor(const L1MuBMTrackFinder &, const L1MuBMSecProcId &, edm::ConsumesCollector &&)
constructor
Definition: L1MuBMSectorProcessor.cc:54
L1MuBMSecProcId::ovl
bool ovl() const
is it an overlap region Sector Processor?
Definition: L1MuBMSecProcId.h:61
L1MuBMSecProcId.h
L1MuBMSectorProcessor::reset
virtual void reset()
reset the Sector Processor
Definition: L1MuBMSectorProcessor.cc:234
edm::EventSetup
Definition: EventSetup.h:58
L1MuBMSectorProcessor::track
L1MuBMTrack * track(int id) const
return pointer to muon candidate, index [0,1]
Definition: L1MuBMSectorProcessor.h:100
L1MuBMSectorProcessor::m_TracKCands
std::vector< L1MuBMTrack * > m_TracKCands
Definition: L1MuBMSectorProcessor.h:120
L1MuBMSectorProcessor::ovl
bool ovl() const
is it an overlap region Sector Processor?
Definition: L1MuBMSectorProcessor.h:84
L1MuBMSectorProcessor::data
L1MuBMDataBuffer * data()
Definition: L1MuBMSectorProcessor.h:88
L1MuBMSectorProcessor::m_SectorReceiver
L1MuBMSectorReceiver * m_SectorReceiver
Definition: L1MuBMSectorProcessor.h:113
L1MuBMSectorProcessor::data
const L1MuBMDataBuffer * data() const
return pointer to Data Buffer
Definition: L1MuBMSectorProcessor.h:87
L1MuBMSectorProcessor::EU
const L1MuBMExtrapolationUnit * EU() const
return pointer to Extrapolation Unit
Definition: L1MuBMSectorProcessor.h:91
L1MuBMSectorProcessor::TA
const L1MuBMTrackAssembler * TA() const
return pointer to Track Assembler
Definition: L1MuBMSectorProcessor.h:94
ConsumesCollector.h
L1MuBMTrack.h
L1MuBMSectorProcessor::m_DataBuffer
L1MuBMDataBuffer * m_DataBuffer
Definition: L1MuBMSectorProcessor.h:114
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
L1MuBMSectorProcessor::m_TrackCands
std::vector< L1MuBMTrack * > m_TrackCands
Definition: L1MuBMSectorProcessor.h:119
edm::Event
Definition: Event.h:73
L1MuBMSectorProcessor::tracK
L1MuBMTrack * tracK(int id) const
return pointer to muon candidate, index [0,1]
Definition: L1MuBMSectorProcessor.h:103
L1MuBMSectorProcessor::run
virtual void run(int bx, const edm::Event &e, const edm::EventSetup &c)
run the Sector Processor
Definition: L1MuBMSectorProcessor.cc:107
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
L1MuBMExtrapolationUnit
Definition: L1MuBMExtrapolationUnit.h:54
L1MuBMSectorProcessor::m_EU
L1MuBMExtrapolationUnit * m_EU
Definition: L1MuBMSectorProcessor.h:115
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
L1MuBMTrackFinder
Definition: L1MuBMTrackFinder.h:66