28 #include <sys/types.h>
57 produces<std::vector<L1MuGMTCand> >();
58 produces<L1MuGMTReadoutCollection>();
61 produces<std::vector<unsigned> >();
107 edm::LogVerbatim(
"GMT_info") <<
"creating GMT MIP & ISO bit Assigment Unit (0,1)";
124 usesResource(
"L1MuGlobalMuonTrigger");
212 onoff = mask & 1 ?
"OFF" :
"ON";
214 onoff = mask & 2 ?
"OFF" :
"ON";
216 onoff = mask & 4 ?
"OFF" :
"ON";
218 onoff = mask & 8 ?
"OFF" :
"ON";
237 mkdir(dir.c_str(), S_ISUID | S_ISGID | S_ISVTX | S_IRUSR | S_IWUSR | S_IXUSR);
265 for (
int bx = bx_min;
bx <= bx_max;
bx++) {
272 edm::LogVerbatim(
"GMT_info") <<
"L1GlobalMuonTrigger processing bunch-crossing : " <<
bx;
329 edm::LogVerbatim(
"GMT_info") <<
"running GMT barrel MIP & ISO bit Assignment Unit";
335 edm::LogVerbatim(
"GMT_info") <<
"running GMT endcap MIP & ISO bit Assignment Unit";
365 const std::vector<const L1MuGMTExtendedCand*>& gmt_cont =
m_Sorter->
Cands();
366 std::vector<const L1MuGMTExtendedCand*>::const_iterator iexc;
367 for (iexc = gmt_cont.begin(); iexc != gmt_cont.end(); iexc++) {
379 std::unique_ptr<std::vector<L1MuGMTCand> > GMTCands(
new std::vector<L1MuGMTCand>);
380 std::vector<L1MuGMTExtendedCand>::const_iterator iexc;
382 GMTCands->push_back(*iexc);
390 std::unique_ptr<std::vector<unsigned> > mipiso(
new std::vector<unsigned>);
391 for (
int i = 0;
i < 32;
i++) {
435 int bx_size = bx_max_ro - bx_min_ro + 1;
439 for (
int bx = bx_min_ro;
bx <= bx_max_ro;
bx++) {
443 if ((*iter)->getBxInEvent() ==
bx) {
444 rrc->addRecord(**iter);
Log< level::Info, true > LogVerbatim
void setGMTChanMask(const L1MuGMTChannelMask *gmtchanmask)
T getUntrackedParameter(std::string const &, T const &) const
edm::ESGetToken< L1MuTriggerPtScale, L1MuTriggerPtScaleRcd > m_trigPtScaleToken
unsigned long long m_L1MuTriggerScalesCacheID
std::vector< L1MuGMTReadoutRecord * > m_ReadoutRingbuffer
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
unsigned long long m_L1MuGMTChannelMaskCacheID
void print() const
print PSB
edm::ESGetToken< L1MuGMTParameters, L1MuGMTParametersRcd > m_gmtParamsToken
void SetBX(int bx)
Set the current bunch crossing.
void setTriggerPtScale(const L1MuTriggerPtScale *trigptscale)
void dumpRegs(std::string dir)
std::vector< L1MuGMTExtendedCand > m_ExtendedCands
void reset()
clear cancel-out unit
void print() const
print results after MIP & ISO bit assignment
edm::ESGetToken< L1MuTriggerScales, L1MuTriggerScalesRcd > m_trigScalesToken
void print()
print cancel-out bits
bool empty() const
are there any data in the PSB
void produce(edm::Event &, const edm::EventSetup &) override
virtual void reset()
reset Sorter
unsigned getSubsystemMask() const
void reset()
clear MIP & ISO bit assignment unit
L1MuGlobalMuonTrigger(const edm::ParameterSet &)
void print()
print matching results
const std::vector< const L1MuGMTExtendedCand * > & Cands() const
return std::vector with all muon candidates
unsigned long long m_L1CaloGeometryCacheID
virtual void run()
run Sorter
void run()
run GMT MIP & ISO bit assignment unit
void setGMTScales(const L1MuGMTScales *gmtscales)
unsigned long long m_L1MuTriggerPtScaleCacheID
L1MuGMTMipIsoAU * m_MipIsoAU[2]
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::ESGetToken< L1MuGMTScales, L1MuGMTScalesRcd > m_gmtScalesToken
edm::ESGetToken< L1CaloGeometry, L1CaloGeometryRecord > m_caloGeomToken
static const L1MuGMTChannelMask * getGMTChanMask()
std::unique_ptr< L1MuGMTReadoutCollection > getReadoutCollection()
unsigned IsMIPISO(int bx, int idx)
Get stored MIP/ISO select bits.
L1MuGMTMatcher * m_Matcher[2]
void dumpLUTs(std::string dir)
L1MuGMTMerger * m_Merger[2]
void setCaloGeom(const L1CaloGeometry *caloGeom)
void print() const
print results after selection
unsigned long long m_L1MuGMTScalesCacheID
void print()
print results after sorting
L1MuGMTCancelOutUnit * m_CancelOutUnit[4]
void reset()
clear Matcher
T const * product() const
void setGMTParams(const L1MuGMTParameters *gmtparams)
~L1MuGlobalMuonTrigger() override
void receiveData(edm::Event &e, int bx)
receive muon candidates
edm::ESGetToken< L1MuGMTChannelMask, L1MuGMTChannelMaskRcd > m_gmtChanMaskToken
void reset()
Reset the debug block.
static L1MuGMTConfig * m_config
unsigned long long m_L1MuGMTParametersCacheID
static L1MuGMTDebugBlock * m_db
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
void setTriggerScales(const L1MuTriggerScales *trigscales)
void run()
run cancel-out unit
int numberOfCands() const
return number of found muon candidates after sorter