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;