83 m_CSCInputTag = m_ps->getParameter<
edm::InputTag>(
"CSCCandidates");
84 m_RPCbInputTag = m_ps->getParameter<
edm::InputTag>(
"RPCbCandidates");
85 m_RPCfInputTag = m_ps->getParameter<
edm::InputTag>(
"RPCfCandidates");
86 m_MipIsoInputTag = m_ps->getParameter<
edm::InputTag>(
"MipIsoData");
89 m_dbgLevel = m_ps->getUntrackedParameter<
int>(
"Debug", 0);
92 m_BxMin = m_ps->getParameter<
int>(
"BX_min");
93 m_BxMax = m_ps->getParameter<
int>(
"BX_max");
96 m_BxMinRo = m_ps->getParameter<
int>(
"BX_min_readout");
97 m_BxMaxRo = m_ps->getParameter<
int>(
"BX_max_readout");
111 m_EtaWeight_barrel = m_GMTParams->getEtaWeight_barrel();
112 m_PhiWeight_barrel = m_GMTParams->getPhiWeight_barrel();
113 m_EtaPhiThreshold_barrel = m_GMTParams->getEtaPhiThreshold_barrel();
115 m_EtaWeight_endcap = m_GMTParams->getEtaWeight_endcap();
116 m_PhiWeight_endcap = m_GMTParams->getPhiWeight_endcap();
117 m_EtaPhiThreshold_endcap = m_GMTParams->getEtaPhiThreshold_endcap();
119 m_EtaWeight_COU = m_GMTParams->getEtaWeight_COU();
120 m_PhiWeight_COU = m_GMTParams->getPhiWeight_COU();
121 m_EtaPhiThreshold_COU = m_GMTParams->getEtaPhiThreshold_COU();
123 m_CaloTrigger = m_GMTParams->getCaloTrigger();
124 m_IsolationCellSizeEta = m_GMTParams->getIsolationCellSizeEta();
125 m_IsolationCellSizePhi = m_GMTParams->getIsolationCellSizePhi();
127 m_DoOvlRpcAnd = m_GMTParams->getDoOvlRpcAnd();
129 m_PropagatePhi = m_GMTParams->getPropagatePhi();
131 m_VersionSortRankEtaQLUT = m_GMTParams->getVersionSortRankEtaQLUT();
132 m_VersionLUTs = m_GMTParams->getVersionLUTs();
137 <<
"*******************************************" << endl
138 <<
"**** L1 Global Muon Trigger settings : ****" << endl
139 <<
"*******************************************" << endl
142 <<
"L1 Global Muon Trigger : DTCandidates : " << m_DTInputTag << endl
143 <<
"L1 Global Muon Trigger : CSCCandidates : " << m_CSCInputTag << endl
144 <<
"L1 Global Muon Trigger : RPCbCandidates : " << m_RPCbInputTag << endl
145 <<
"L1 Global Muon Trigger : RPCfCandidates : " << m_RPCfInputTag << endl
146 <<
"L1 Global Muon Trigger : debug level : " << m_dbgLevel << endl
147 <<
"L1 Global Muon Trigger : minimal bunch-crossing : " << m_BxMin << endl
148 <<
"L1 Global Muon Trigger : maximal bunch-crossing : " << m_BxMax << endl
149 <<
"L1 Global Muon Trigger : barrel eta weight : " << m_EtaWeight_barrel << endl
150 <<
"L1 Global Muon Trigger : barrel phi weight : " << m_PhiWeight_barrel << endl
151 <<
"L1 Global Muon Trigger : barrel eta-phi threshold : " << m_EtaPhiThreshold_barrel << endl
152 <<
"L1 Global Muon Trigger : endcap eta weight : " << m_EtaWeight_endcap << endl
153 <<
"L1 Global Muon Trigger : endcap phi weight : " << m_PhiWeight_endcap << endl
154 <<
"L1 Global Muon Trigger : endcap eta-phi threshold : " << m_EtaPhiThreshold_endcap << endl
155 <<
"L1 Global Muon Trigger : cancel out unit eta weight : " << m_EtaWeight_COU << endl
156 <<
"L1 Global Muon Trigger : cancel out unit phi weight : " << m_PhiWeight_COU << endl
157 <<
"L1 Global Muon Trigger : cancel out unit eta-phi threshold : " << m_EtaPhiThreshold_COU << endl
158 <<
"L1 Global Muon Trigger : calorimeter trigger : " << m_CaloTrigger << endl
159 <<
"L1 Global Muon Trigger : muon isolation cell size (eta) : " << m_IsolationCellSizeEta << endl
160 <<
"L1 Global Muon Trigger : muon isolation cell size (phi) : " << m_IsolationCellSizePhi << endl
161 <<
"L1 Global Muon Trigger : require confirmation by RPC in overlap region : " << m_DoOvlRpcAnd << endl
162 <<
"L1 Global Muon Trigger : propagate phi to vertex : " << m_PropagatePhi << endl
163 <<
"L1 Global Muon Trigger : version of low quality assignment LUT : " << m_VersionSortRankEtaQLUT << endl
164 <<
"L1 Global Muon Trigger : general LUTs version : " << m_VersionLUTs << endl;
209 delete m_RegCDLConfig;
210 delete m_RegMMConfigPhi;
211 delete m_RegMMConfigEta;
212 delete m_RegMMConfigPt;
213 delete m_RegMMConfigCharge;
214 delete m_RegMMConfigMIP;
215 delete m_RegMMConfigISO;
216 delete m_RegMMConfigSRK;
217 delete m_RegSortRankOffset;
221 delete m_LFCOUDeltaEtaLUT;
222 delete m_LFDeltaEtaLUT;
223 delete m_LFDisableHotLUT;
224 delete m_LFEtaConvLUT;
225 delete m_LFMatchQualLUT;
226 delete m_LFMergeRankCombineLUT;
227 delete m_LFMergeRankEtaPhiLUT;
228 delete m_LFMergeRankEtaQLUT;
229 delete m_LFMergeRankPtQLUT;
230 delete m_LFOvlEtaConvLUT;
231 delete m_LFPhiProEtaConvLUT;
232 delete m_LFPhiProLUT;
234 delete m_LFSortRankCombineLUT;
235 delete m_LFSortRankEtaPhiLUT;
236 delete m_LFSortRankEtaQLUT;
237 delete m_LFSortRankPtQLUT;
238 delete m_MIAUEtaConvLUT;
239 delete m_MIAUEtaProLUT;
240 delete m_MIAUPhiPro1LUT;
241 delete m_MIAUPhiPro2LUT;
246 std::vector<L1MuGMTLUT*> theLUTs;
248 theLUTs.push_back(m_LFSortRankEtaQLUT);
249 theLUTs.push_back(m_LFSortRankPtQLUT);
250 theLUTs.push_back(m_LFSortRankEtaPhiLUT);
251 theLUTs.push_back(m_LFSortRankCombineLUT);
253 theLUTs.push_back(m_LFDisableHotLUT);
255 theLUTs.push_back(m_LFMergeRankEtaQLUT);
256 theLUTs.push_back(m_LFMergeRankPtQLUT);
257 theLUTs.push_back(m_LFMergeRankEtaPhiLUT);
258 theLUTs.push_back(m_LFMergeRankCombineLUT);
260 theLUTs.push_back(m_LFDeltaEtaLUT);
261 theLUTs.push_back(m_LFMatchQualLUT);
262 theLUTs.push_back(m_LFOvlEtaConvLUT);
263 theLUTs.push_back(m_LFCOUDeltaEtaLUT);
265 theLUTs.push_back(m_LFEtaConvLUT);
267 theLUTs.push_back(m_LFPtMixLUT);
268 theLUTs.push_back(m_LFPhiProLUT);
269 theLUTs.push_back(m_LFPhiProEtaConvLUT);
271 theLUTs.push_back(m_MIAUEtaConvLUT);
272 theLUTs.push_back(m_MIAUPhiPro1LUT);
273 theLUTs.push_back(m_MIAUPhiPro2LUT);
274 theLUTs.push_back(m_MIAUEtaProLUT);
276 std::vector<L1MuGMTLUT*>::iterator it = theLUTs.begin();
277 for (; it != theLUTs.end(); it++) {
278 edm::LogVerbatim(
"GMT_LUTGen_info") <<
"**** Generating " << (*it)->Name() <<
" LUT ****" << endl
281 (*it)->Save(fn.c_str());
284 edm::LogVerbatim(
"GMT_LUTGen_info") <<
"Successfully created all GMT look-up tables in directory './" << dir <<
"'"
290 std::vector<L1MuGMTReg*> theRegs;
292 theRegs.push_back(m_RegCDLConfig);
293 theRegs.push_back(m_RegMMConfigPhi);
294 theRegs.push_back(m_RegMMConfigEta);
295 theRegs.push_back(m_RegMMConfigPt);
296 theRegs.push_back(m_RegMMConfigCharge);
297 theRegs.push_back(m_RegMMConfigSRK);
298 theRegs.push_back(m_RegMMConfigMIP);
299 theRegs.push_back(m_RegMMConfigISO);
300 theRegs.push_back(m_RegSortRankOffset);
302 ofstream
of((dir +
"/LogicFPGARegs.cfg").c_str());
304 std::vector<L1MuGMTReg*>::iterator it = theRegs.begin();
305 for (; it != theRegs.end(); it++) {
306 for (
unsigned int i = 0;
i < (*it)->getNumberOfInstances();
i++)
307 of << (*it)->getName() <<
"[" <<
i <<
"] = " << (*it)->getValue(
i) << endl;
static L1MuGMTLFSortRankEtaPhiLUT * m_LFSortRankEtaPhiLUT
static edm::InputTag m_CSCInputTag
static L1MuGMTLFDeltaEtaLUT * m_LFDeltaEtaLUT
static float m_EtaPhiThreshold_COU
Log< level::Info, true > LogVerbatim
static L1MuGMTRegMMConfigCharge * m_RegMMConfigCharge
static L1MuGMTMIAUPhiPro2LUT * m_MIAUPhiPro2LUT
static edm::InputTag m_RPCbInputTag
static bool m_DoOvlRpcAnd
static int m_IsolationCellSizePhi
GMT Merge Method Config Register Phi.
static L1MuGMTLFSortRankCombineLUT * m_LFSortRankCombineLUT
static const L1MuTriggerScales * m_TriggerScales
void dumpRegs(std::string dir)
static L1MuGMTEtaLUT * m_EtaLUT
static bool m_CaloTrigger
static float m_PhiWeight_barrel
static L1MuGMTPhiLUT * m_PhiLUT
static int m_IsolationCellSizeEta
static L1MuGMTLFMergeRankEtaQLUT * m_LFMergeRankEtaQLUT
static L1MuGMTLFMatchQualLUT * m_LFMatchQualLUT
static L1MuGMTRegMMConfigISO * m_RegMMConfigISO
GMT Merge Method Config Register Charge.
static L1MuGMTMIAUEtaConvLUT * m_MIAUEtaConvLUT
GMT Merge Method Config Register ISO.
virtual ~L1MuGMTConfig()
destructor
static L1MuGMTLFDisableHotLUT * m_LFDisableHotLUT
static const L1MuTriggerPtScale * m_TriggerPtScale
static L1MuGMTRegMMConfigPhi * m_RegMMConfigPhi
static float m_EtaWeight_endcap
static const L1MuGMTChannelMask * m_GMTChanMask
static unsigned m_VersionSortRankEtaQLUT
static float m_PhiWeight_COU
static L1MuGMTLFMergeRankPtQLUT * m_LFMergeRankPtQLUT
static L1MuGMTLFMergeRankCombineLUT * m_LFMergeRankCombineLUT
static L1MuGMTRegSortRankOffset * m_RegSortRankOffset
GMT Register that implements Rank offset for merged cands.
static L1MuGMTLFSortRankEtaQLUT * m_LFSortRankEtaQLUT
static unsigned m_VersionLUTs
static L1MuGMTRegMMConfigEta * m_RegMMConfigEta
GMT Register that implements Configuration of Cancel Decisison Logic.
void dumpLUTs(std::string dir)
static edm::InputTag m_MipIsoInputTag
static float m_EtaPhiThreshold_endcap
static L1MuGMTMIAUEtaProLUT * m_MIAUEtaProLUT
static float m_PhiWeight_endcap
static edm::InputTag m_RPCfInputTag
static L1MuGMTLFMergeRankEtaPhiLUT * m_LFMergeRankEtaPhiLUT
static float m_EtaWeight_barrel
GMT Register that implements additional Halo Overwrites Matched bit.
static const L1MuGMTScales * m_GMTScales
GMT Merge Method Config Register Eta.
L1MuGMTConfig(const edm::ParameterSet &ps)
constructor
static float m_EtaWeight_COU
static L1MuGMTRegMMConfigPt * m_RegMMConfigPt
static L1MuGMTLFPhiProLUT * m_LFPhiProLUT
static bool m_PropagatePhi
static const L1MuGMTParameters * m_GMTParams
static L1MuGMTRegMMConfigMIP * m_RegMMConfigMIP
static L1MuGMTLFEtaConvLUT * m_LFEtaConvLUT
T getParameter(std::string const &) const
static L1MuGMTLFSortRankPtQLUT * m_LFSortRankPtQLUT
GMT Merge Method Config Register Pt.
static L1MuGMTMIAUPhiPro1LUT * m_MIAUPhiPro1LUT
static L1MuGMTLFOvlEtaConvLUT * m_LFOvlEtaConvLUT
static float m_EtaPhiThreshold_barrel
static const L1CaloGeometry * m_caloGeom
GMT Merge Method Config Register MIP.
static L1MuGMTLFCOUDeltaEtaLUT * m_LFCOUDeltaEtaLUT
static const edm::ParameterSet * m_ps
static L1MuGMTLFPtMixLUT * m_LFPtMixLUT
static L1MuGMTLFPhiProEtaConvLUT * m_LFPhiProEtaConvLUT
static L1MuGMTRegCDLConfig * m_RegCDLConfig
static edm::InputTag m_DTInputTag
static L1MuGMTRegMMConfigSRK * m_RegMMConfigSRK