12 : minPhiQuality_(iConfig.getParameter<
int>(
"minPhiQuality")),
13 minBX_(iConfig.getParameter<
int>(
"minBX")),
14 maxBX_(iConfig.getParameter<
int>(
"maxBX")),
18 coarseEta1_(iConfig.getParameter<
std::
vector<
int> >(
"coarseEta_1")),
19 coarseEta2_(iConfig.getParameter<
std::
vector<
int> >(
"coarseEta_2")),
20 coarseEta3_(iConfig.getParameter<
std::
vector<
int> >(
"coarseEta_3")),
21 coarseEta4_(iConfig.getParameter<
std::
vector<
int> >(
"coarseEta_4")),
22 phiOffset_(iConfig.getParameter<
std::
vector<
int> >(
"phiOffset")),
23 phiBFactor_(iConfig.getParameter<
int>(
"phiBDivider")),
24 verbose_(iConfig.getParameter<
int>(
"verbose")),
25 phiLSB_(iConfig.getParameter<double>(
"phiLSB")),
26 etaLSB_(iConfig.getParameter<double>(
"etaLSB")) {}
65 }
else if (qeta1 > 0) {
75 int abswheel = fabs(phiS.
whNum());
80 ap_uint<18> normalization0 =
sector * ap_uint<15>(21845);
81 ap_int<18> normalization1 = ap_int<18>(ap_int<17>(phiS.
phi()) * ap_ufixed<8, 0>(0.3183));
82 ap_int<18> kmtf_phi = ap_int<18>(normalization0 + normalization1);
84 float globalPhi =
phi *
M_PI / (1 << 17);
109 l1t::MuonStub stub(
wheel,
sector,
station, tfLayer,
phi, phiS.
phiBend(),
tag,
bx,
quality,
eta, 0, 0, 1);
127 if (tseta !=
nullptr) {
131 for (
const auto& phiDigi : *phiContainer->
getContainer()) {
132 if ((phiDigi.bxNum() - 20) !=
bx || phiDigi.whNum() !=
wheel || phiDigi.scNum() !=
sector ||
139 ap_uint<64> wphi = ap_uint<17>(phiDigi.phi());
140 ap_uint<64> wphib = ap_uint<13>(phiDigi.phiBend());
141 ap_uint<64> wr1 = ap_uint<21>(0);
142 ap_uint<64> wq = ap_uint<4>(phiDigi.quality());
143 ap_uint<64> wr2 = ap_uint<9>(0);
146 sN = sN | (wphib << 17);
147 sN = sN | (wr1 << 30);
148 sN = sN | (wq << 51);
149 sN = sN | (wr2 << 55);
151 os << std::uppercase << std::setfill(
'0') << std::setw(16) << std::hex <<
uint64_t(sN) <<
" ";
169 for (
const auto& stub :
out)
170 edm::LogInfo(
"BarrelStub") <<
"Barrel Stub bx=" << stub.bxNum() <<
" TF=" << stub.tfLayer()
171 <<
" etaRegion=" << stub.etaRegion() <<
" phiRegion=" << stub.phiRegion()
172 <<
" depthRegion=" << stub.depthRegion() <<
" coord1=" << stub.offline_coord1() <<
"," 173 << stub.coord1() <<
" coord2=" << stub.offline_coord2() <<
"," << stub.coord2()
174 <<
" eta1=" << stub.offline_eta1() <<
"," << stub.eta1()
175 <<
" eta2=" << stub.offline_eta2() <<
"," << stub.eta2()
176 <<
" quality=" << stub.quality() <<
" etaQuality=" << stub.etaQuality();
186 }
else if (
wheel < 0) {
L1MuDTChambThDigi const * chThetaSegm(int wheel, int stat, int sect, int bx) const
void setOfflineQuantities(double coord1, double coord2, double eta1, double eta2)
L1TPhase2GMTBarrelStubProcessor()
std::vector< int > coarseEta2_
double offline_coord1() const
int position(const int i) const
int calculateEta(uint, int, uint, uint)
std::vector< int > coarseEta1_
std::vector< MuonStub > MuonStubCollection
std::vector< int > coarseEta4_
l1t::MuonStub buildStub(const L1Phase2MuDTPhDigi &, const L1MuDTChambThDigi *)
Log< level::Info, false > LogInfo
l1t::MuonStubCollection makeStubs(const L1Phase2MuDTPhContainer *, const L1MuDTChambThContainer *)
unsigned long long uint64_t
l1t::MuonStub buildStubNoEta(const L1Phase2MuDTPhDigi &)
Segment_Container const * getContainer() const
double offline_coord2() const
~L1TPhase2GMTBarrelStubProcessor()
void setEta(int eta1, int eta2, int etaQ)
int quality(const int i) const
std::vector< int > coarseEta3_