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
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
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
static const L1MuTriggerScales * getTriggerScales()
T const * product() const
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()
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()