57 m_Isol(14,18), m_Mip(14,18) {
107 <<
"\nrequested, but not found in the event." << std::endl;
119 <<
"\nrequested, but not found in the event." << std::endl;
131 <<
"\nrequested, but not found in the event." << std::endl;
143 <<
"\nrequested, but not found in the event." << std::endl;
154 for (
int i=0;
i<4;
i++) {
162 for (
int i=0;
i<4;
i++) {
170 for (
int i=0;
i<4;
i++) {
178 for (
int i=0;
i<4;
i++) {
200 std::vector<L1MuRegionalCand>::iterator iter;
266 std::vector<L1MuRegionalCand>::const_iterator iter =
m_RpcMuons.begin();
268 if ( !(*iter).empty() ) count++;
282 std::vector<L1MuRegionalCand>::const_iterator iter =
m_DtbxMuons.begin();
284 if ( !(*iter).empty() ) count++;
298 std::vector<L1MuRegionalCand>::const_iterator iter =
m_CscMuons.begin();
300 if ( !(*iter).empty() ) count++;
315 return ( number == 0 );
326 std::vector<L1MuRegionalCand>::const_iterator iter;
327 for ( iter = data->begin(); iter != data->end(); iter++ ) {
328 if ( (*iter).bx() != bx )
continue;
330 if(!(*iter).empty())
m_RpcMuons[irpcb] = (*iter);
344 std::vector<L1MuRegionalCand>::const_iterator iter;
345 for ( iter = data->begin(); iter != data->end(); iter++ ) {
346 if ( (*iter).bx() != bx )
continue;
348 if(!(*iter).empty())
m_RpcMuons[irpcf+4] = (*iter);
364 std::vector<L1MuRegionalCand>::const_iterator iter;
365 for ( iter = data->begin(); iter != data->end(); iter++ ) {
367 if ( (*iter).bx() > 10) bxoffset=16;
368 if ( (*iter).bx() != bx+bxoffset )
continue;
385 std::vector<L1MuRegionalCand>::const_iterator iter;
386 for ( iter = data->begin(); iter != data->end(); iter++ ) {
387 if ( (*iter).bx() != bx )
continue;
402 edm::LogVerbatim(
"GMT_PSB_info") <<
"RPC barrel muons received by the GMT :";
416 edm::LogVerbatim(
"GMT_PSB_info") <<
"RPC endcap muons received by the GMT :";
463 L1CaloRegionCollection::const_iterator iter;
467 for ( iter = regions->begin(); iter != regions->end(); iter++ ) {
468 if ( (*iter).id().ieta() < 4 || (*iter).id().ieta() > 17 || (*iter).id().iphi() > 17 )
continue;
469 m_Isol.
set( (*iter).id().ieta()-4, (*iter).id().iphi(), (*iter).quiet() );
470 m_Mip.
set( (*iter).id().ieta()-4, (*iter).id().iphi(), (*iter).mip() );
472 if ( (*iter).quiet() )
487 <<
"\nrequested, but not found in the event." << std::endl;
void getRPCf(std::vector< L1MuRegionalCand > const *data, int bx)
get muons from RPCf Trigger
int numberDTBX() const
return number of non-empty DTBX muons
void print() const
print PSB
void getCSC(std::vector< L1MuRegionalCand > const *data, int bx)
get muons from endcap Muon Trigger Track Finder
static edm::InputTag getRPCfInputTag()
static edm::InputTag getRPCbInputTag()
const L1MuScale * getPtScale() const
get the Pt scale
void init(T v=0)
initialize matrix
static bool getCaloTrigger()
void set(int r, int c, T v)
set matrix element
bool empty() const
are there any data in the PSB
void setInputCand(int nr, unsigned data)
set Input muon
unsigned getSubsystemMask() const
void getCalo(edm::Event &e)
get Calorimeter Trigger data
const L1MuGlobalMuonTrigger & m_gmt
int numberRPC() const
return number of non-empty RPC muons
void setPtValue(float ptVal)
Set Pt Value.
L1MuGMTPSB(const L1MuGlobalMuonTrigger &gmt, edm::ConsumesCollector &&iC)
constructor
void setQuietbit(int eta, int phi)
set Quiet bit
const L1MuRegionalCand * CSCMuon(int index) const
get CSC muon
void setMIPbit(int eta, int phi)
set MIP bit
void printDTBX() const
print DTBX muons
void setPhiValue(float phiVal)
Set Phi Value.
const L1MuScale * getPhiScale() const
get the phi scale
static const L1MuGMTChannelMask * getGMTChanMask()
void setEtaValue(float etaVal)
Set Eta Value (need to set type, first)
const L1MuRegionalCand * RPCMuon(int index) const
get RPC muon
unsigned eta_packed() const
return eta packed as in hardware
static const unsigned int MAXCSC
static const unsigned int MAXDTBX
static const unsigned int MAXRPCendcap
virtual ~L1MuGMTPSB()
destructor
std::vector< L1MuRegionalCand > m_CscMuons
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
static const L1MuTriggerPtScale * getTriggerPtScale()
L1MuGMTMatrix< bool > m_Isol
void printRPCbarrel() const
print barrel RPC muons
T const * product() const
static const L1MuTriggerScales * getTriggerScales()
void getRPCb(std::vector< L1MuRegionalCand > const *data, int bx)
get muons from RPCb Trigger
const L1MuRegionalCand * DTBXMuon(int index) const
get DTBX muon
void printCSC() const
print CSC muons
const L1MuScale * getRegionalEtaScale(int isys) const
get the regioanl muon trigger eta scale, isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC) ...
void receiveData(edm::Event &e, int bx)
receive muon candidates
char data[epos_bytes_allocation]
static edm::InputTag getMipIsoInputTag()
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
void printRPCendcap() const
print endcap RPC muons
void getDTBX(std::vector< L1MuRegionalCand > const *data, int bx)
get muons from barrel Muon Trigger Track Finder
L1MuGMTMatrix< bool > m_Mip
static const unsigned int MAXRPCbarrel
int numberCSC() const
return number of non-empty CSC muons
std::vector< L1CaloRegion > L1CaloRegionCollection
std::vector< L1MuRegionalCand > m_RpcMuons
unsigned pt_packed() const
return pt packed as in hardware
std::vector< L1MuRegionalCand > m_DtbxMuons
static edm::InputTag getDTInputTag()
unsigned type_idx() const
return type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC
L1MuGMTReadoutRecord * currentReadoutRecord() const
return a reference to the current record in the ring buffer
static const unsigned int MAXRPC
unsigned phi_packed() const
return phi packed as in hardware
static edm::InputTag getCSCInputTag()