84 m_CSCInputTag = m_ps->getParameter<
edm::InputTag>(
"CSCCandidates");
85 m_RPCbInputTag = m_ps->getParameter<
edm::InputTag>(
"RPCbCandidates");
86 m_RPCfInputTag = m_ps->getParameter<
edm::InputTag>(
"RPCfCandidates");
87 m_MipIsoInputTag = m_ps->getParameter<
edm::InputTag>(
"MipIsoData");
90 m_dbgLevel = m_ps->getUntrackedParameter<
int>(
"Debug",0);
93 m_BxMin = m_ps->getParameter<
int>(
"BX_min");
94 m_BxMax = m_ps->getParameter<
int>(
"BX_max");
97 m_BxMinRo = m_ps->getParameter<
int>(
"BX_min_readout");
98 m_BxMaxRo = m_ps->getParameter<
int>(
"BX_max_readout");
116 m_EtaWeight_barrel = m_GMTParams->getEtaWeight_barrel();
117 m_PhiWeight_barrel = m_GMTParams->getPhiWeight_barrel();
118 m_EtaPhiThreshold_barrel = m_GMTParams->getEtaPhiThreshold_barrel();
120 m_EtaWeight_endcap = m_GMTParams->getEtaWeight_endcap();
121 m_PhiWeight_endcap = m_GMTParams->getPhiWeight_endcap();
122 m_EtaPhiThreshold_endcap = m_GMTParams->getEtaPhiThreshold_endcap();
124 m_EtaWeight_COU = m_GMTParams->getEtaWeight_COU();
125 m_PhiWeight_COU = m_GMTParams->getPhiWeight_COU();
126 m_EtaPhiThreshold_COU = m_GMTParams->getEtaPhiThreshold_COU();
128 m_CaloTrigger = m_GMTParams->getCaloTrigger();
129 m_IsolationCellSizeEta = m_GMTParams->getIsolationCellSizeEta();
130 m_IsolationCellSizePhi = m_GMTParams->getIsolationCellSizePhi();
132 m_DoOvlRpcAnd = m_GMTParams->getDoOvlRpcAnd();
134 m_PropagatePhi = m_GMTParams->getPropagatePhi();
136 m_VersionSortRankEtaQLUT = m_GMTParams->getVersionSortRankEtaQLUT();
137 m_VersionLUTs = m_GMTParams->getVersionLUTs();
143 <<
"*******************************************" << endl
144 <<
"**** L1 Global Muon Trigger settings : ****" << endl
145 <<
"*******************************************" << endl
148 <<
"L1 Global Muon Trigger : DTCandidates : " << m_DTInputTag << endl
149 <<
"L1 Global Muon Trigger : CSCCandidates : " << m_CSCInputTag << endl
150 <<
"L1 Global Muon Trigger : RPCbCandidates : " << m_RPCbInputTag << endl
151 <<
"L1 Global Muon Trigger : RPCfCandidates : " << m_RPCfInputTag << endl
152 <<
"L1 Global Muon Trigger : debug level : " << m_dbgLevel << endl
153 <<
"L1 Global Muon Trigger : minimal bunch-crossing : " << m_BxMin << endl
154 <<
"L1 Global Muon Trigger : maximal bunch-crossing : " << m_BxMax << endl
155 <<
"L1 Global Muon Trigger : barrel eta weight : " << m_EtaWeight_barrel << endl
156 <<
"L1 Global Muon Trigger : barrel phi weight : " << m_PhiWeight_barrel << endl
157 <<
"L1 Global Muon Trigger : barrel eta-phi threshold : " << m_EtaPhiThreshold_barrel << endl
158 <<
"L1 Global Muon Trigger : endcap eta weight : " << m_EtaWeight_endcap << endl
159 <<
"L1 Global Muon Trigger : endcap phi weight : " << m_PhiWeight_endcap << endl
160 <<
"L1 Global Muon Trigger : endcap eta-phi threshold : " << m_EtaPhiThreshold_endcap << endl
161 <<
"L1 Global Muon Trigger : cancel out unit eta weight : " << m_EtaWeight_COU << endl
162 <<
"L1 Global Muon Trigger : cancel out unit phi weight : " << m_PhiWeight_COU << endl
163 <<
"L1 Global Muon Trigger : cancel out unit eta-phi threshold : " << m_EtaPhiThreshold_COU << endl
164 <<
"L1 Global Muon Trigger : calorimeter trigger : " << m_CaloTrigger << endl
165 <<
"L1 Global Muon Trigger : muon isolation cell size (eta) : " << m_IsolationCellSizeEta << endl
166 <<
"L1 Global Muon Trigger : muon isolation cell size (phi) : " << m_IsolationCellSizePhi << endl
167 <<
"L1 Global Muon Trigger : require confirmation by RPC in overlap region : " << m_DoOvlRpcAnd << endl
168 <<
"L1 Global Muon Trigger : propagate phi to vertex : " << m_PropagatePhi << endl
169 <<
"L1 Global Muon Trigger : version of low quality assignment LUT : " << m_VersionSortRankEtaQLUT << endl
170 <<
"L1 Global Muon Trigger : general LUTs version : " << m_VersionLUTs << endl;
217 delete m_RegCDLConfig;
218 delete m_RegMMConfigPhi;
219 delete m_RegMMConfigEta;
220 delete m_RegMMConfigPt;
221 delete m_RegMMConfigCharge;
222 delete m_RegMMConfigMIP;
223 delete m_RegMMConfigISO;
224 delete m_RegMMConfigSRK;
225 delete m_RegSortRankOffset;
229 delete m_LFCOUDeltaEtaLUT;
230 delete m_LFDeltaEtaLUT;
231 delete m_LFDisableHotLUT;
232 delete m_LFEtaConvLUT;
233 delete m_LFMatchQualLUT;
234 delete m_LFMergeRankCombineLUT;
235 delete m_LFMergeRankEtaPhiLUT;
236 delete m_LFMergeRankEtaQLUT;
237 delete m_LFMergeRankPtQLUT;
238 delete m_LFOvlEtaConvLUT;
239 delete m_LFPhiProEtaConvLUT;
240 delete m_LFPhiProLUT;
242 delete m_LFSortRankCombineLUT;
243 delete m_LFSortRankEtaPhiLUT;
244 delete m_LFSortRankEtaQLUT;
245 delete m_LFSortRankPtQLUT;
246 delete m_MIAUEtaConvLUT;
247 delete m_MIAUEtaProLUT;
248 delete m_MIAUPhiPro1LUT;
249 delete m_MIAUPhiPro2LUT;
254 std::vector<L1MuGMTLUT*> theLUTs;
256 theLUTs.push_back( m_LFSortRankEtaQLUT );
257 theLUTs.push_back( m_LFSortRankPtQLUT );
258 theLUTs.push_back( m_LFSortRankEtaPhiLUT );
259 theLUTs.push_back( m_LFSortRankCombineLUT );
261 theLUTs.push_back( m_LFDisableHotLUT );
263 theLUTs.push_back( m_LFMergeRankEtaQLUT );
264 theLUTs.push_back( m_LFMergeRankPtQLUT );
265 theLUTs.push_back( m_LFMergeRankEtaPhiLUT );
266 theLUTs.push_back( m_LFMergeRankCombineLUT );
268 theLUTs.push_back( m_LFDeltaEtaLUT );
269 theLUTs.push_back( m_LFMatchQualLUT );
270 theLUTs.push_back( m_LFOvlEtaConvLUT );
271 theLUTs.push_back( m_LFCOUDeltaEtaLUT );
273 theLUTs.push_back( m_LFEtaConvLUT );
275 theLUTs.push_back( m_LFPtMixLUT );
276 theLUTs.push_back( m_LFPhiProLUT );
277 theLUTs.push_back( m_LFPhiProEtaConvLUT );
279 theLUTs.push_back( m_MIAUEtaConvLUT );
280 theLUTs.push_back( m_MIAUPhiPro1LUT );
281 theLUTs.push_back( m_MIAUPhiPro2LUT );
282 theLUTs.push_back( m_MIAUEtaProLUT );
284 std::vector<L1MuGMTLUT*>::iterator it = theLUTs.begin();
285 for (;it != theLUTs.end(); it++) {
287 <<
"**** Generating " << (*it)->Name() <<
" LUT ****" << endl
289 std::string fn = dir +
"/" + (*it)->Name() +
".lut";
290 (*it)->Save(fn.c_str());
294 <<
"Successfully created all GMT look-up tables in directory './" << dir <<
"'" << endl << endl;
299 std::vector<L1MuGMTReg*> theRegs;
301 theRegs.push_back( m_RegCDLConfig );
302 theRegs.push_back( m_RegMMConfigPhi );
303 theRegs.push_back( m_RegMMConfigEta );
304 theRegs.push_back( m_RegMMConfigPt );
305 theRegs.push_back( m_RegMMConfigCharge );
306 theRegs.push_back( m_RegMMConfigSRK );
307 theRegs.push_back( m_RegMMConfigMIP );
308 theRegs.push_back( m_RegMMConfigISO );
309 theRegs.push_back( m_RegSortRankOffset );
312 ofstream
of( (dir +
"/LogicFPGARegs.cfg").c_str() );
314 std::vector<L1MuGMTReg*>::iterator it = theRegs.begin();
315 for (;it != theRegs.end(); it++) {
317 for (
unsigned int i=0;
i<(*it)->getNumberOfInstances();
i++)
318 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
T getParameter(std::string const &) const
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
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