54 : m_gmt(gmt),
m_id(id), m_muons(8), m_MIP(8), m_ISO(8), m_MIP_PPUs(8), m_MIP_EPUs(8), m_ISO_PPUs(8), m_ISO_EPUs(8) {
65 for (
int i = 0;
i < 8;
i++) {
81 std::vector<L1MuGMTPhiProjectionUnit*>::iterator p_iter;
92 std::vector<L1MuGMTEtaProjectionUnit*>::iterator e_iter;
114 std::vector<L1MuGMTPhiProjectionUnit*>::iterator p_iter;
123 std::vector<L1MuGMTEtaProjectionUnit*>::iterator e_iter;
139 for (
int i = 0;
i < 8;
i++) {
146 std::vector<L1MuGMTPhiProjectionUnit*>::iterator p_iter;
156 std::vector<L1MuGMTEtaProjectionUnit*>::iterator e_iter;
169 std::stringstream outmip;
170 outmip <<
"Assigned MIP bits : ";
171 std::vector<bool>::const_iterator iter;
172 for (iter =
m_MIP.begin(); iter !=
m_MIP.end(); iter++) {
173 outmip << (*iter) <<
" ";
177 std::stringstream outiso;
178 outiso <<
"Assigned ISO bits : ";
179 for (iter =
m_ISO.begin(); iter !=
m_ISO.end(); iter++) {
180 outiso << (*iter) <<
" ";
217 for (
int imuon = 0; imuon < 8; imuon++)
221 for (
int iphi = 0; iphi < 18; iphi++)
222 for (
int ieta = 0; ieta < 14; ieta++) {
224 tmpMIP |= mip(ieta, iphi);
227 <<
"L1MuGMTMipIsoAU::assignMIP() checking calo region phi=" << iphi <<
", eta=" << ieta;
230 m_MIP[imuon] = tmpMIP;
242 for (
int imuon = 0; imuon < 8; imuon++)
247 for (
int iphi = 0; iphi < 18; iphi++)
248 for (
int ieta = 0; ieta < 14; ieta++) {
250 tmpISO &= isol(ieta, iphi);
254 <<
"L1MuGMTMipIsoAU::assignISO() checking calo region phi=" << iphi <<
", eta=" << ieta;
258 m_ISO[imuon] = tmpISO;
260 edm::LogWarning(
"MipISOProblem") <<
"L1MuGMTMipIsoAU::assignISO(): no calo region was checked!!";
Log< level::Info, true > LogVerbatim
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
bool isSelected(const std::vector< L1HPSPFTauQualityCut > &qualityCuts, const l1t::PFCandidate &pfCand, float_t primaryVertexZ)
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
Log< level::Warning, false > LogWarning
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