CMS 3D CMS Logo

L1MuDTAssignmentUnit.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
16 //
17 //--------------------------------------------------
18 #ifndef L1MUDT_ASSIGNMENT_UNIT_H
19 #define L1MUDT_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 //------------------------------------
37 
41 class L1MuDTPhiLut;
42 class L1MuDTPtaLut;
43 class L1MuDTTrackSegPhi;
45 
46 // ---------------------
47 // -- Class Interface --
48 // ---------------------
49 
51 public:
54 
56  ~L1MuDTAssignmentUnit() override;
57 
59  void run(const edm::EventSetup& c) override;
60 
62  void reset() override;
63 
65  void PhiAU(const edm::EventSetup& c);
66 
68  void PtAU(const edm::EventSetup& c);
69 
71  void QuaAU();
72 
74  void setPrecision();
75 
76 private:
78  void TSR();
79 
81  const L1MuDTTrackSegPhi* getTSphi(int station) const;
82 
84  int convertSector(int);
85 
88 
90  PtAssMethod getPtMethod() const;
91 
93  int getPtAddress(PtAssMethod, int bendcharge = 0) const;
94 
96  int phiDiff(int stat1, int stat2) const;
97 
98 private:
100  int m_id;
101 
103  std::vector<const L1MuDTTrackSegPhi*> m_TSphi;
105 
108  unsigned short nbit_phi;
109  unsigned short nbit_phib;
110 };
111 
112 #endif
L1MuDTAssignmentUnit::thePhiLUTs
edm::ESHandle< L1MuDTPhiLut > thePhiLUTs
phi-assignment look-up tables
Definition: L1MuDTAssignmentUnit.h:106
L1MuDTAssignmentUnit::~L1MuDTAssignmentUnit
~L1MuDTAssignmentUnit() override
destructor
Definition: L1MuDTAssignmentUnit.cc:69
L1MuDTAssignmentUnit::m_addArray
L1MuDTAddressArray m_addArray
Definition: L1MuDTAssignmentUnit.h:102
L1MuDTAssParam.h
ESHandle.h
L1MuDTAddressArray
Definition: L1MuDTAddressArray.h:50
relativeConstraints.station
station
Definition: relativeConstraints.py:67
L1MuDTAddressArray.h
L1MuDTAssignmentUnit::getPtAddress
int getPtAddress(PtAssMethod, int bendcharge=0) const
calculate bend angle
Definition: L1MuDTAssignmentUnit.cc:586
L1MuDTAssignmentUnit::nbit_phi
unsigned short nbit_phi
Definition: L1MuDTAssignmentUnit.h:108
L1MuDTPtaLut
Definition: L1MuDTPtaLut.h:39
L1MuDTAssignmentUnit::L1MuDTAssignmentUnit
L1MuDTAssignmentUnit(L1MuDTSectorProcessor &sp, int id)
constructor
Definition: L1MuDTAssignmentUnit.cc:57
L1MuDTAssignmentUnit::getCharge
int getCharge(PtAssMethod)
determine charge
Definition: L1MuDTAssignmentUnit.cc:337
L1MuDTAssignmentUnit::PhiAU
void PhiAU(const edm::EventSetup &c)
assign phi
Definition: L1MuDTAssignmentUnit.cc:133
L1MuDTAssignmentUnit::setPrecision
void setPrecision()
set precision of phi and phib
Definition: L1MuDTAssignmentUnit.cc:761
edm::ESHandle< L1MuDTPhiLut >
L1MuDTAssignmentUnit
Definition: L1MuDTAssignmentUnit.h:50
L1AbstractProcessor
Definition: L1AbstractProcessor.h:34
L1MuDTAssignmentUnit::QuaAU
void QuaAU()
assign quality
Definition: L1MuDTAssignmentUnit.cc:232
L1MuDTAssignmentUnit::m_sp
L1MuDTSectorProcessor & m_sp
Definition: L1MuDTAssignmentUnit.h:99
PtAssMethod
PtAssMethod
Definition: L1MuDTAssParam.h:23
L1MuDTAssignmentUnit::getPtMethod
PtAssMethod getPtMethod() const
determine pt assignment method
Definition: L1MuDTAssignmentUnit.cc:466
L1MuDTAssignmentUnit::reset
void reset() override
reset Assignment Unit
Definition: L1MuDTAssignmentUnit.cc:124
L1MuDTAssignmentUnit::thePtaLUTs
edm::ESHandle< L1MuDTPtaLut > thePtaLUTs
pt-assignment look-up tables
Definition: L1MuDTAssignmentUnit.h:107
L1AbstractProcessor::run
virtual void run()
run processor logic
Definition: L1AbstractProcessor.h:40
L1MuDTAssignmentUnit::m_TSphi
std::vector< const L1MuDTTrackSegPhi * > m_TSphi
Definition: L1MuDTAssignmentUnit.h:103
L1MuDTAssignmentUnit::phiDiff
int phiDiff(int stat1, int stat2) const
build difference of two phi values
Definition: L1MuDTAssignmentUnit.cc:730
L1MuDTAssignmentUnit::m_ptAssMethod
PtAssMethod m_ptAssMethod
Definition: L1MuDTAssignmentUnit.h:104
edm::EventSetup
Definition: EventSetup.h:58
L1MuDTAssignmentUnit::TSR
void TSR()
Track Segment Router.
Definition: L1MuDTAssignmentUnit.cc:295
L1AbstractProcessor.h
L1MuDTSectorProcessor
Definition: L1MuDTSectorProcessor.h:53
L1MuDTAssignmentUnit::convertSector
int convertSector(int)
convert sector Id to 8 bit code (= sector center)
Definition: L1MuDTAssignmentUnit.cc:327
L1MuDTAssignmentUnit::m_id
int m_id
Definition: L1MuDTAssignmentUnit.h:100
L1MuDTAssignmentUnit::nbit_phib
unsigned short nbit_phib
Definition: L1MuDTAssignmentUnit.h:109
L1MuDTAssignmentUnit::PtAU
void PtAU(const edm::EventSetup &c)
assign pt and charge
Definition: L1MuDTAssignmentUnit.cc:205
L1MuDTTrackSegPhi
Definition: L1MuDTTrackSegPhi.h:36
L1MuDTPhiLut
Definition: L1MuDTPhiLut.h:40
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
L1MuDTAssignmentUnit::getTSphi
const L1MuDTTrackSegPhi * getTSphi(int station) const
get track segment from a given station
Definition: L1MuDTAssignmentUnit.cc:311