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
.
Description
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.
Interface
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 |
- |
Configuration
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) |
DT/CSC |
CSC/DT |
bRPC/CSC |
fRPC/DT |
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.
Links
The main
Global Muon Trigger page
-- Main.imikulec - 31 May 2006