28 #include <sys/types.h>
70 produces<std::vector<L1MuGMTCand> >();
71 produces<L1MuGMTReadoutCollection>();
74 produces<std::vector<unsigned> >();
212 edm::LogVerbatim(
"GMT_info") <<
" GMT input Channel Mask:" << std::hex << mask << std::dec;
213 onoff = mask&1 ?
"OFF" :
"ON";
215 onoff = mask&2 ?
"OFF" :
"ON";
217 onoff = mask&4 ?
"OFF" :
"ON";
219 onoff = mask&8 ?
"OFF" :
"ON";
239 mkdir(dir.c_str(), S_ISUID|S_ISGID|S_ISVTX|S_IRUSR|S_IWUSR|S_IXUSR);
262 for (
int bx = bx_min; bx <= bx_max; bx++ ) {
327 const std::vector<const L1MuGMTExtendedCand*>& gmt_cont =
m_Sorter->
Cands();
328 std::vector<const L1MuGMTExtendedCand*>::const_iterator iexc;
329 for ( iexc = gmt_cont.begin(); iexc != gmt_cont.end(); iexc++ ) {
341 std::auto_ptr<std::vector<L1MuGMTCand> > GMTCands(
new std::vector<L1MuGMTCand>);
342 std::vector<L1MuGMTExtendedCand>::const_iterator iexc;
344 GMTCands->push_back(*iexc);
352 std::auto_ptr<std::vector<unsigned> > mipiso(
new std::vector<unsigned>);
353 for(
int i=0;
i<32;
i++) {
388 int bx_size = bx_max_ro - bx_min_ro + 1;
392 for (
int bx = bx_min_ro; bx <= bx_max_ro; bx++) {
397 if ( (*iter)->getBxInEvent() == bx ) {
398 rrc->addRecord(**iter);
void setGMTChanMask(const L1MuGMTChannelMask *gmtchanmask)
T getUntrackedParameter(std::string const &, T const &) const
unsigned long long m_L1MuTriggerScalesCacheID
std::vector< L1MuGMTReadoutRecord * > m_ReadoutRingbuffer
unsigned long long m_L1MuGMTChannelMaskCacheID
void print() const
print PSB
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
void print()
print cancel-out bits
bool empty() const
are there any data in the PSB
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
std::auto_ptr< L1MuGMTReadoutCollection > getReadoutCollection()
void setGMTScales(const L1MuGMTScales *gmtscales)
unsigned long long m_L1MuTriggerPtScaleCacheID
L1MuGMTMipIsoAU * m_MipIsoAU[2]
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
static const L1MuGMTChannelMask * getGMTChanMask()
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)
void receiveData(edm::Event &e, int bx)
receive muon candidates
void reset()
Reset the debug block.
static L1MuGMTConfig * m_config
unsigned long long m_L1MuGMTParametersCacheID
static L1MuGMTDebugBlock * m_db
virtual void produce(edm::Event &, const edm::EventSetup &)
void setTriggerScales(const L1MuTriggerScales *trigscales)
void run()
run cancel-out unit
int numberOfCands() const
return number of found muon candidates after sorter