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 public:
56 
58  ~L1MuBMAssignmentUnit() override;
59 
61  void run(const edm::EventSetup& c) override;
62 
64  void reset() override;
65 
67  void PhiAU(const edm::EventSetup& c);
68 
70  void PtAU(const edm::EventSetup& c);
71 
73  void QuaAU();
74  unsigned int Quality();
75 
77  static void setPrecision();
78 
79 private:
81  void TSR();
82 
84  const L1MuBMTrackSegPhi* getTSphi(int station) const;
85 
87  static int convertSector(int);
88 
91 
96 
98  int getPtAddress(L1MuBMLUTHandler::PtAssMethod, int bendcharge = 0) const;
101 
103  int phiDiff(int stat1, int stat2) const;
104 
105 private:
107  int m_id;
108 
110  std::vector<const L1MuBMTrackSegPhi*> m_TSphi;
112 
116  static unsigned short nbit_phi;
117  static unsigned short nbit_phib;
118 };
119 
120 #endif
L1MuBMAssignmentUnit::thePtaLUTs
L1MuBMLUTHandler * thePtaLUTs
pt-assignment look-up tables
Definition: L1MuBMAssignmentUnit.h:114
L1MuBMAssignmentUnit::QuaAU
void QuaAU()
assign quality
Definition: L1MuBMAssignmentUnit.cc:255
L1MuBMTrackSegPhi
Definition: L1MuBMTrackSegPhi.h:41
L1MuBMAssignmentUnit::nbit_phib
static unsigned short nbit_phib
Definition: L1MuBMAssignmentUnit.h:117
L1MuBMAssignmentUnit
Definition: L1MuBMAssignmentUnit.h:52
L1MuBMAssignmentUnit::getPt1Method
L1MuBMLUTHandler::PtAssMethod getPt1Method(L1MuBMLUTHandler::PtAssMethod) const
Definition: L1MuBMAssignmentUnit.cc:674
L1MuBMAssignmentUnit::phiDiff
int phiDiff(int stat1, int stat2) const
build difference of two phi values
Definition: L1MuBMAssignmentUnit.cc:644
ESHandle.h
L1AbstractProcessor.h
relativeConstraints.station
station
Definition: relativeConstraints.py:67
L1MuBMAssignmentUnit::PhiAU
void PhiAU(const edm::EventSetup &c)
assign phi
Definition: L1MuBMAssignmentUnit.cc:123
L1MuBMAddressArray
Definition: L1MuBMAddressArray.h:50
L1MuBMAssignmentUnit::getTSphi
const L1MuBMTrackSegPhi * getTSphi(int station) const
get track segment from a given station
Definition: L1MuBMAssignmentUnit.cc:399
L1TMuonBarrelParams.h
L1MuBMAssignmentUnit::m_id
int m_id
Definition: L1MuBMAssignmentUnit.h:107
L1MuBMLUTHandler::PtAssMethod
PtAssMethod
Definition: L1MuBMLUTHandler.h:77
L1MuBMLUTHandler
Definition: L1MuBMLUTHandler.h:26
L1MuBMAssignmentUnit::getPtMethod
L1MuBMLUTHandler::PtAssMethod getPtMethod() const
determine pt assignment method
Definition: L1MuBMAssignmentUnit.cc:495
L1MuBMAssignmentUnit::bmtfParamsHandle
edm::ESHandle< L1TMuonBarrelParams > bmtfParamsHandle
Definition: L1MuBMAssignmentUnit.h:113
L1MuBMAssignmentUnit::nbit_phi
static unsigned short nbit_phi
Definition: L1MuBMAssignmentUnit.h:116
L1MuBMSectorProcessor
Definition: L1MuBMSectorProcessor.h:54
L1MuBMAssignmentUnit::reset
void reset() override
reset Assignment Unit
Definition: L1MuBMAssignmentUnit.cc:114
L1MuBMAssignmentUnit::getCharge
static int getCharge(L1MuBMLUTHandler::PtAssMethod)
determine charge
Definition: L1MuBMAssignmentUnit.cc:425
L1MuBMAssignmentUnit::setPrecision
static void setPrecision()
set precision of phi and phib
Definition: L1MuBMAssignmentUnit.cc:846
edm::ESHandle< L1TMuonBarrelParams >
L1AbstractProcessor
Definition: L1AbstractProcessor.h:34
L1MuBMAssignmentUnit::Quality
unsigned int Quality()
Definition: L1MuBMAssignmentUnit.cc:322
L1MuBMAssignmentUnit::getPt2Method
L1MuBMLUTHandler::PtAssMethod getPt2Method(L1MuBMLUTHandler::PtAssMethod) const
Definition: L1MuBMAssignmentUnit.cc:728
L1MuBMAssignmentUnit::thePhiLUTs
L1MuBMLUTHandler * thePhiLUTs
phi-assignment look-up tables
Definition: L1MuBMAssignmentUnit.h:115
L1TMuonBarrelParamsRcd.h
L1MuBMAssignmentUnit::getPtAddress
int getPtAddress(L1MuBMLUTHandler::PtAssMethod, int bendcharge=0) const
calculate bend angle
Definition: L1MuBMAssignmentUnit.cc:561
L1MuBMAssignmentUnit::PtAU
void PtAU(const edm::EventSetup &c)
assign pt and charge
Definition: L1MuBMAssignmentUnit.cc:201
L1TMuonBarrelParamsAllPublic.h
L1MuBMAssignmentUnit::getPt1Address
int getPt1Address(L1MuBMLUTHandler::PtAssMethod) const
Definition: L1MuBMAssignmentUnit.cc:761
L1MuBMAssignmentUnit::~L1MuBMAssignmentUnit
~L1MuBMAssignmentUnit() override
destructor
Definition: L1MuBMAssignmentUnit.cc:66
L1MuBMAssignmentUnit::m_TSphi
std::vector< const L1MuBMTrackSegPhi * > m_TSphi
Definition: L1MuBMAssignmentUnit.h:110
L1MuBMAssignmentUnit::L1MuBMAssignmentUnit
L1MuBMAssignmentUnit(L1MuBMSectorProcessor &sp, int id)
constructor
Definition: L1MuBMAssignmentUnit.cc:55
L1AbstractProcessor::run
virtual void run()
run processor logic
Definition: L1AbstractProcessor.h:40
L1MuBMAssignmentUnit::TSR
void TSR()
Track Segment Router.
Definition: L1MuBMAssignmentUnit.cc:383
edm::EventSetup
Definition: EventSetup.h:57
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
L1MuBMAssignmentUnit::m_sp
L1MuBMSectorProcessor & m_sp
Definition: L1MuBMAssignmentUnit.h:106
L1MuBMAssignmentUnit::convertSector
static int convertSector(int)
convert sector Id to 8 bit code (= sector center)
Definition: L1MuBMAssignmentUnit.cc:415
L1MuBMAssignmentUnit::m_addArray
L1MuBMAddressArray m_addArray
Definition: L1MuBMAssignmentUnit.h:109
L1MuBMLUTHandler.h
L1MuBMAssignmentUnit::getPt2Address
int getPt2Address(L1MuBMLUTHandler::PtAssMethod) const
Definition: L1MuBMAssignmentUnit.cc:808
L1MuBMAssignmentUnit::m_ptAssMethod
L1MuBMLUTHandler::PtAssMethod m_ptAssMethod
Definition: L1MuBMAssignmentUnit.h:111
L1MuBMAddressArray.h