121 int max_address = (
station == 1) ? 2 : 12;
122 for (
int reladr =0; reladr < max_address; reladr++) {
129 if ( reladr%2 == 0 ) ts = dttrig->chPhiSegm1(wheel,
station,sector,bx);
130 if ( reladr%2 == 1 ) ts = dttrig->chPhiSegm2(wheel,
station,sector,bx-1);
133 int phib = ts->
phiB();
134 int qual = ts->
code();
135 bool tag = (reladr%2 == 1) ?
true :
false;
138 lwheel =
abs(lwheel)/lwheel*(
abs(wheel)+1);
142 if ( qual < pars->get_inrec_qual_st1(lwheel, sector) )
continue;
146 if ( qual < pars->get_inrec_qual_st2(lwheel, sector) )
continue;
150 if ( qual < pars->get_inrec_qual_st3(lwheel, sector) )
continue;
154 if ( qual < pars->get_inrec_qual_st4(lwheel, sector) )
continue;
175 if ( tsPreviousBX_1 ) {
176 int phiBX = tsPreviousBX_1->
phi();
177 int qualBX = tsPreviousBX_1->
code();
178 if (
abs( (phi >> sh_phi) - (phiBX >> sh_phi) ) <= tolerance &&
179 qualBX > qual ) skipTS =
true;
183 if ( tsPreviousBX_2 ) {
184 int phiBX = tsPreviousBX_2->
phi();
185 int qualBX = tsPreviousBX_2->
code();
186 if (
abs( (phi >> sh_phi) - (phiBX >> sh_phi) ) <= tolerance &&
187 qualBX > qual ) skipTS =
true;
192 int phiBX = tsNextBX_1->
phi();
193 int qualBX = tsNextBX_1->
code();
194 if (
abs( (phi >> sh_phi) - (phiBX >> sh_phi) ) <= tolerance &&
195 qualBX > qual ) skipTS =
true;
200 int phiBX = tsNextBX_2->
phi();
201 int qualBX = tsNextBX_2->
code();
202 if (
abs( (phi >> sh_phi) - (phiBX >> sh_phi) ) <= tolerance &&
203 qualBX > qual ) skipTS =
true;
223 static_cast<L1MuBMTrackSegPhi::TSQuality>(qual),
314 if ( adr >= 4 && adr <= 7 ) sector = (sector+13)%12;
315 if ( adr >= 8 && adr <= 11 ) sector = (sector+11)%12;
static int getTSOutOfTimeWindow()
void run(int bx, const edm::Event &e, const edm::EventSetup &c)
receive track segment data from the BBMX and CSC chamber triggers
int address2wheel(int adr) const
find the right wheel for a given address
static int getNbitsExtPhi()
void addTSphi(int adr, const L1MuBMTrackSegPhi &)
add new phi track segment to the Data Buffer
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::ESHandle< L1MuDTTFParameters > pars
bool get_inrec_chdis_st1(int wh, int sc) const
bool get_inrec_chdis_st3(int wh, int sc) const
int address2sector(int adr) const
find the right sector for a given address
L1MuBMSectorReceiver(L1MuBMSectorProcessor &, edm::ConsumesCollector &&iC)
constructor
edm::EDGetTokenT< L1MuDTChambPhContainer > m_DTDigiToken
int sector() const
return sector number
virtual ~L1MuBMSectorReceiver()
destructor
L1MuDTTFMasks l1mudttfmasks
L1MuBMSectorProcessor & m_sp
void get(HolderT &iHolder) const
Abs< T >::type abs(const T &t)
bool get_inrec_chdis_st2(int wh, int sc) const
static bool getTSOutOfTimeFilter()
const L1MuBMSecProcId & id() const
return Sector Processor identifier
bool get_inrec_chdis_st4(int wh, int sc) const
T const * product() const
void reset()
clear Sector Receiver
const L1MuBMDataBuffer * data() const
return pointer to Data Buffer
edm::ESHandle< L1TMuonBarrelParams > bmtfParamsHandle
int locwheel() const
return physical wheel number (-2,-1,0,+1,+2)
void receiveBBMXData(int bx, const edm::Event &e, const edm::EventSetup &c)
receive track segment data from BBMX chamber trigger
int wheel() const
return wheel number