56 m_gmt(gmt), m_id(id), m_muons(8), m_MIP(8), m_ISO(8),
57 m_MIP_PPUs(8), m_MIP_EPUs(8), m_ISO_PPUs(8), m_ISO_EPUs(8) {
69 for (
int i=0;
i<8;
i++) {
87 std::vector<L1MuGMTPhiProjectionUnit*>::iterator p_iter;
98 std::vector<L1MuGMTEtaProjectionUnit*>::iterator e_iter;
121 std::vector<L1MuGMTPhiProjectionUnit*>::iterator p_iter;
130 std::vector<L1MuGMTEtaProjectionUnit*>::iterator e_iter;
148 for (
int i = 0;
i < 8;
i++ ) {
155 std::vector<L1MuGMTPhiProjectionUnit*>::iterator p_iter;
165 std::vector<L1MuGMTEtaProjectionUnit*>::iterator e_iter;
180 std::stringstream outmip;
181 outmip <<
"Assigned MIP bits : ";
182 std::vector<bool>::const_iterator iter;
183 for ( iter =
m_MIP.begin(); iter !=
m_MIP.end(); iter++ ) {
184 outmip << (*iter) <<
" ";
188 std::stringstream outiso;
189 outiso <<
"Assigned ISO bits : ";
190 for ( iter =
m_ISO.begin(); iter !=
m_ISO.end(); iter++ ) {
191 outiso << (*iter) <<
" ";
232 for (
int imuon = 0; imuon < 8; imuon++ )
236 for (
int iphi = 0; iphi < 18; iphi++ )
237 for (
int ieta = 0; ieta < 14; ieta++ ) {
240 tmpMIP |= mip(ieta, iphi);
242 iphi <<
", eta=" << ieta;
245 m_MIP[imuon] = tmpMIP;
259 for (
int imuon = 0; imuon < 8; imuon++ )
264 for (
int iphi = 0; iphi < 18; iphi++ )
265 for (
int ieta = 0; ieta < 14; ieta++ ) {
268 tmpISO &= isol(ieta, iphi);
271 iphi <<
", eta=" << ieta;
274 if (any)
m_ISO[imuon] = tmpISO;
275 else edm::LogWarning(
"MipISOProblem") <<
"L1MuGMTMipIsoAU::assignISO(): no calo region was checked!!";
std::vector< L1MuGMTPhiProjectionUnit * > m_ISO_PPUs
void print() const
print results after MIP & ISO bit assignment
std::vector< bool > m_ISO
void reset()
clear MIP & ISO bit assignment unit
const L1MuRegionalCand * CSCMuon(int index) const
get CSC muon
void run()
run GMT MIP & ISO bit assignment unit
L1MuGMTMipIsoAU(const L1MuGlobalMuonTrigger &gmt, int id)
constructor
std::vector< bool > m_MIP
const L1MuGMTPSB * Data() const
return pointer to PSB
const L1MuRegionalCand * RPCMuon(int index) const
get RPC muon
static const unsigned int MAXCSC
static const unsigned int MAXDTBX
static const unsigned int MAXRPCendcap
std::vector< const L1MuRegionalCand * > m_muons
std::vector< L1MuGMTPhiProjectionUnit * > m_MIP_PPUs
const L1MuRegionalCand * DTBXMuon(int index) const
get DTBX muon
const L1MuGlobalMuonTrigger & m_gmt
void SetIsMIPISO(int idx, unsigned ismipiso)
Set MIP/ISO bits for current bx.
static const unsigned int MAXRPCbarrel
std::vector< L1MuGMTEtaProjectionUnit * > m_ISO_EPUs
L1MuGMTDebugBlock * DebugBlockForFill() const
for debug: return the debug block (in order to fill it)
const L1MuGMTMatrix< bool > & isolBits() const
return isolation bits
virtual ~L1MuGMTMipIsoAU()
destructor
std::vector< L1MuGMTEtaProjectionUnit * > m_MIP_EPUs
const L1MuGMTMatrix< bool > & mipBits() const
return minimum ionizing bits