CMS 3D CMS Logo

L1MuBMAssignmentUnit.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
16 //
17 //--------------------------------------------------
18 #ifndef L1MUBM_ASSIGNMENT_UNIT_H
19 #define L1MUBM_ASSIGNMENT_UNIT_H
20 
21 //---------------
22 // C++ Headers --
23 //---------------
24 
25 #include <vector>
26 #include <iosfwd>
27 
28 //----------------------
29 // Base Class Headers --
30 //----------------------
31 
33 
34 //------------------------------------
35 // Collaborating Class Declarations --
36 //------------------------------------
41 
44 
45 class L1MuBMTrackSegPhi;
47 class L1MuBMLUTHandler;
48 // ---------------------
49 // -- Class Interface --
50 // ---------------------
51 
53 
54  public:
55 
58 
60  ~L1MuBMAssignmentUnit() override;
61 
63  void run(const edm::EventSetup& c) override;
64 
66  void reset() override;
67 
69  void PhiAU(const edm::EventSetup& c);
70 
72  void PtAU(const edm::EventSetup& c);
73 
75  void QuaAU();
76  unsigned int Quality();
77 
79  static void setPrecision();
80 
81  private:
82 
84  void TSR();
85 
87  const L1MuBMTrackSegPhi* getTSphi(int station) const;
88 
90  static int convertSector(int);
91 
94 
99 
101  int getPtAddress(L1MuBMLUTHandler::PtAssMethod, int bendcharge=0) const;
104 
106  int phiDiff(int stat1, int stat2) const;
107 
108  private:
109 
111  int m_id;
112 
114  std::vector<const L1MuBMTrackSegPhi*> m_TSphi;
116 
120  static unsigned short nbit_phi;
121  static unsigned short nbit_phib;
122 
123 };
124 
125 #endif
L1MuBMLUTHandler::PtAssMethod getPtMethod() const
determine pt assignment method
L1MuBMAssignmentUnit(L1MuBMSectorProcessor &sp, int id)
constructor
edm::ESHandle< L1TMuonBarrelParams > bmtfParamsHandle
void QuaAU()
assign quality
void PtAU(const edm::EventSetup &c)
assign pt and charge
int getPtAddress(L1MuBMLUTHandler::PtAssMethod, int bendcharge=0) const
calculate bend angle
void reset() override
reset Assignment Unit
L1MuBMLUTHandler * thePtaLUTs
pt-assignment look-up tables
void TSR()
Track Segment Router.
std::vector< const L1MuBMTrackSegPhi * > m_TSphi
~L1MuBMAssignmentUnit() override
destructor
L1MuBMLUTHandler::PtAssMethod getPt1Method(L1MuBMLUTHandler::PtAssMethod) const
static int convertSector(int)
convert sector Id to 8 bit code (= sector center)
L1MuBMLUTHandler * thePhiLUTs
phi-assignment look-up tables
static unsigned short nbit_phib
of bits used for pt-assignment
static void setPrecision()
set precision of phi and phib
virtual void run()
run processor logic
int getPt1Address(L1MuBMLUTHandler::PtAssMethod) const
L1MuBMAddressArray m_addArray
const L1MuBMTrackSegPhi * getTSphi(int station) const
get track segment from a given station
static int getCharge(L1MuBMLUTHandler::PtAssMethod)
determine charge
int getPt2Address(L1MuBMLUTHandler::PtAssMethod) const
L1MuBMLUTHandler::PtAssMethod getPt2Method(L1MuBMLUTHandler::PtAssMethod) const
int phiDiff(int stat1, int stat2) const
build difference of two phi values
L1MuBMSectorProcessor & m_sp
void PhiAU(const edm::EventSetup &c)
assign phi
static unsigned short nbit_phi
of bits used for pt-assignment
L1MuBMLUTHandler::PtAssMethod m_ptAssMethod