54 m_gmt(gmt), m_id(id), m_muons(8), m_MIP(8), m_ISO(8),
55 m_MIP_PPUs(8), m_MIP_EPUs(8), m_ISO_PPUs(8), m_ISO_EPUs(8) {
67 for (
int i=0;
i<8;
i++) {
85 std::vector<L1MuGMTPhiProjectionUnit*>::iterator p_iter;
96 std::vector<L1MuGMTEtaProjectionUnit*>::iterator e_iter;
119 std::vector<L1MuGMTPhiProjectionUnit*>::iterator p_iter;
128 std::vector<L1MuGMTEtaProjectionUnit*>::iterator e_iter;
146 for (
int i = 0;
i < 8;
i++ ) {
153 std::vector<L1MuGMTPhiProjectionUnit*>::iterator p_iter;
163 std::vector<L1MuGMTEtaProjectionUnit*>::iterator e_iter;
178 std::stringstream outmip;
179 outmip <<
"Assigned MIP bits : ";
180 std::vector<bool>::const_iterator iter;
181 for ( iter =
m_MIP.begin(); iter !=
m_MIP.end(); iter++ ) {
182 outmip << (*iter) <<
" ";
186 std::stringstream outiso;
187 outiso <<
"Assigned ISO bits : ";
188 for ( iter =
m_ISO.begin(); iter !=
m_ISO.end(); iter++ ) {
189 outiso << (*iter) <<
" ";
230 for (
int imuon = 0; imuon < 8; imuon++ )
234 for (
int iphi = 0; iphi < 18; iphi++ )
235 for (
int ieta = 0; ieta < 14; ieta++ ) {
238 tmpMIP |= mip(ieta, iphi);
240 iphi <<
", eta=" << ieta;
243 m_MIP[imuon] = tmpMIP;
257 for (
int imuon = 0; imuon < 8; imuon++ )
262 for (
int iphi = 0; iphi < 18; iphi++ )
263 for (
int ieta = 0; ieta < 14; ieta++ ) {
266 tmpISO &= isol(ieta, iphi);
269 iphi <<
", eta=" << ieta;
272 if (any)
m_ISO[imuon] = tmpISO;
273 else edm::LogWarning(
"MipISOProblem") <<
"L1MuGMTMipIsoAU::assignISO(): no calo region was checked!!";
std::vector< L1MuGMTPhiProjectionUnit * > m_ISO_PPUs
bool any(const std::vector< T > &v, const T &what)
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