Global Muon Trigger emulator TWiki

This page describes the Global Muon Trigger emulator software in CMSSW. The code resides in directories L1Trigger/CMS.GlobalMuonTrigger and DataFormats/L1CMS.GlobalMuonTrigger.


CMS has a sophisticated muon system with special dedicated trigger chambers in addition to the normal tracking chambers. The RPC trigger chambers produce a pattern of hits, the drift tube and cathode strip tracking chambers deliver track vectors at each muon station. Regional triggers of the three subsystems, the PAC trigger of the RPCs and the DT and CSC track finders, all deliver muon tracks. In general, a muon will be found by both by the RPC and the DT or CSC track finders. The task of the Global Muon Trigger (GMT) is to combine the results of all these subsystems by finding the four best muons of every bunch crossing and transmitting them to the Global Trigger (GT). In addition to finding the four best muons the GMT appends two bits set by the Calorimeter Regional Trigger, a MIP bit and an isolation bit, also called quiet bit, to each of the muon data words. The MIP bit is set if the calorimeter energy is consistent with the passage of a minimum ionizing particle, the isolation or quiet bit is set if a certain energy threshold in the trigger towers surrounding the muon is not exceeded. Both bits are used in the GT to suppress background and to improve selectivity.


The Global Muon Trigger receives 4 muon candidates from the DTBX based barrel Muon Trigger Track Finder, 4 muon candidates from the CSC based endcap Muon Trigger Track Finder and 8 muon candidates (4 barrel + 4 endcap) from the RPC Trigger (at the moment all implemented as std::vector<L1MuRegionalCand>). In addition it receives 252 isolation and 252 MIP bits from the calorimeter trigger (interface to be defined). The main class L1MuGlobalMuonTrigger is an EDProducer. It produces a vector of GMT muon candidates for the Global Trigger std::vector<L1MuGMTCand> and a collection of readout records L1MuGMTReadoutCollection. All interface classes reside in DataFormats/L1GlobalMuonTrigger.

Quality code

Quality codes are sent with each muon from the L1 Global Muon Trigger to the L1 Global Trigger. They are used in the Global Trigger in order to include only certain qualities of candidates in certain trigger algorithms. The current definition of the quality codes is given in the table below. The definition may change in the future. It is therefore safer not to rely on the quality codes in the analysis code but to use the provided interpretation Methods in class L1MuGMTCand

bool useInSingleMuonTrigger();
bool useInDiMuonTrigger();
bool isMatchedCand();
bool isHaloCand();

Quality code Definition Intended Special Use
0 empty muon candidate -
1 halo muon Halo muons for alignment
2 Very Low Quality Type 1 Skip in Single and di-muon trigger
3 Very Low Quality Type 2 Skip in Single muon trigger
4 Very Low Quality Type 3 Skip in di-muon trigger
5 RPC unconfirmed candidate -
6 DT or CSC unconfirmed candidate -
7 DT/RPC or CSC/RPC Matched candidate -


A set of default parameters can be found in the L1MuGMTParameters.cfi file in the data directory of the package (L1TriggerConfig/GMTConfigProducers).

Name Type Default
Debug int 0
BX_min int -4
BX_max int 4
BX_min_readout int -2
BX_max_readout int 2
EtaWeight_barrel float 0.028
PhiWeight_barrel float 1.0
EtaPhiThreshold_barrel float 0.062
EtaWeight_endcap float 0.13
PhiWeight_endcap float 1.0
EtaPhiThreshold_endcap float 0.062
CaloTrigger bool true
IsolationCellSizeEta int 2
IsolationCellSizePhi int 2
EtaWeight_COU float 0.316
PhiWeight_COU float 1.0
EtaPhiThreshold_COU float 0.127
COUConfig int obsolete
DoOvlRpcAnd bool 0
PropagatePhi bool false
MergeMethodPhiBrl takeDT, takeRPC, byRank, byMinPt, byCombi, Special takeDT
MergeMethodPhiFwd takeCSC, takeRPC, byRank, byMinPt, byCombi, Special takeCSC
MergeMethodEtaBrl takeDT, takeRPC, byRank, byMinPt, byCombi, Special Special
MergeMethodEtaFwd takeCSC, takeRPC, byRank, byMinPt, byCombi, Special Special
MergeMethodPtBrl takeDT, takeRPC, byRank, byMinPt, byCombi, Special byMinPt
MergeMethodPtFwd takeCSC, takeRPC, byRank, byMinPt, byCombi, Special byMinPt
MergeMethodChargeBrl takeDT, takeRPC, byRank, byMinPt, byCombi, Special takeDT
MergeMethodChargeFwd takeCSC, takeRPC, byRank, byMinPt, byCombi, Special takeCSC
MergeMethodMIPBrl takeDT, takeRPC, byRank, byMinPt, byCombi, Special Special
MergeMethodMIPFwd takeCSC, takeRPC, byRank, byMinPt, byCombi, Special Special
MergeMethodMIPSpecialUseANDBrl bool false
MergeMethodMIPSpecialUseANDFwd bool false
MergeMethodISOBrl takeDT, takeRPC, byRank, byMinPt, byCombi, Special Special
MergeMethodISOFwd takeCSC, takeRPC, byRank, byMinPt, byCombi, Special Special
MergeMethodISOSpecialUseANDBrl bool true
MergeMethodISOSpecialUseANDFwd bool true
MergeMethodSRKBrl takeDT, takeRPC, byRank, byMinPt, byCombi, Special takeDT
MergeMethodSRKFwd takeCSC, takeRPC, byRank, byMinPt, byCombi, Special takeCSC
HaloOverwritesMatchedBrl bool true
HaloOverwritesMatchedFwd bool true
SortRankOffsetBrl unsigned 10
SortRankOffsetFwd unsigned 10
CDLConfigWordDTCSC unsigned 2
CDLConfigWordCSCDT unsigned 3
CDLConfigWordbRPCCSC unsigned 16
CDLConfigWordfRPCDT unsigned 1
VersionSortRankEtaQLUT unsigned 2

New parameter has been added (>21X) in order to accommodate different versions of low quality assignment LUT. VersionSortRankEtaQLUT=1 is adapted for full CMS geometry and VersionSortRankEtaQLUT=2 for startup geometry (staged RPC).

Cancel-decision logic configuration

There are four cancel-out units in the GMT. In the hardware, two of them are located in the Barrel Logic FPGA and two of them in the Forward Logic FPGA (as indicated in the thirs row of the table, below).Each unit has two groups of muons as an input (first/second). If a muon in the first group and a muon in the second group match in eta an phi, then either of them (or both) may be cancelled, depending on the configuration of the cancel-decision logic. The table below lists the possible cancel-options and the default settings. The options correspond to one bit each in the cancel decsision configuration word and may be freely combined. 'is matched' in the table refers to the muon being matched with a complementary muon in its main matiching unit. For example the default configuration of the DT/CSC cancel-out unit means: if a DT and a CSC muon are matched in space and if the CSC muon is matched with an RPC muon in its main matching unit but the DT muon is not matched with an RPC muon in its main matching unit, then the DT muon will be cancelled.

Bit Nr / Value Meaning which cancel-out unit (first/second)
brl FPGA fwd FPGA brl FPGA fwd FPGA
0 / 1 Cancel first when neither is matched - x - x
1 / 2 Cancel first when only second is matched x x - -
2 / 4 Cancel first when only first is matched - - - -
3 / 8 Cancel first when both are matched - - - -
4 / 16 Cancel second when neither is matched N/A N/A x -
5 / 32 Cancel second when only first is matched N/A N/A - -
6 / 64 Cancel second when only second is matched N/A N/A - -
7 / 128 Cancel second when both are matched N/A N/A - -
Default value of CDL Config word 2 3 16 1

Tests and examples

The test directory of the package contains a steering file runGMT.cfg which uses a built-in external input source to feed GMT emulator with pre-generated data stored in an ascii format as it is used for hardware tests (an exapmle is provided). The file runGMTTest.cfg adds a small EDAnalyzer which dumps the GMT data. The file runGMTTree.cfg shows how to create a simple root tree with all GMT related information needed to validate the GMT. writeLUTsAndRegs.cfg generates LUTs and register configuration which can be loaded into the HW.


The main Global Muon Trigger page

-- Main.imikulec - 31 May 2006

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2008-06-18 - JimBrooke
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback