![]() |
![]() |
00001 //------------------------------------------------- 00002 // 00003 // Class: L1MuGMTConfig 00004 // 00005 // Description: Configuration parameters for L1GlobalMuonTrigger 00006 // 00007 // 00008 // $Date: 2008/04/21 17:21:09 $ 00009 // $Revision: 1.11 $ 00010 // 00011 // Author : 00012 // N. Neumeister CERN EP 00013 // 00014 // Migrated to CMSSW: 00015 // I. Mikulec 00016 // 00017 //-------------------------------------------------- 00018 00019 //----------------------- 00020 // This Class's Header -- 00021 //----------------------- 00022 00023 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTConfig.h" 00024 00025 //--------------- 00026 // C++ Headers -- 00027 //--------------- 00028 00029 #include <iostream> 00030 #include <fstream> 00031 #include <string> 00032 00033 //------------------------------- 00034 // Collaborating Class Headers -- 00035 //------------------------------- 00036 00037 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00038 #include "FWCore/ParameterSet/interface/InputTag.h" 00039 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTReg.h" 00040 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTEtaLUT.h" 00041 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFCOUDeltaEtaLUT.h" 00042 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFDeltaEtaLUT.h" 00043 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFDisableHotLUT.h" 00044 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFEtaConvLUT.h" 00045 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFMatchQualLUT.h" 00046 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFMergeRankCombineLUT.h" 00047 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFMergeRankEtaPhiLUT.h" 00048 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFMergeRankEtaQLUT.h" 00049 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFMergeRankPtQLUT.h" 00050 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFOvlEtaConvLUT.h" 00051 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFPhiProEtaConvLUT.h" 00052 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFPhiProLUT.h" 00053 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFPtMixLUT.h" 00054 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFSortRankCombineLUT.h" 00055 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFSortRankEtaPhiLUT.h" 00056 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFSortRankEtaQLUT.h" 00057 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFSortRankPtQLUT.h" 00058 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTMIAUEtaConvLUT.h" 00059 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTMIAUEtaProLUT.h" 00060 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTMIAUPhiPro1LUT.h" 00061 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTMIAUPhiPro2LUT.h" 00062 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTPhiLUT.h" 00063 00064 #include "CondFormats/L1TObjects/interface/L1MuGMTScales.h" 00065 #include "CondFormats/L1TObjects/interface/L1MuGMTParameters.h" 00066 00067 #include "CondFormats/L1TObjects/interface/L1CaloGeometry.h" 00068 00069 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00070 00071 // -------------------------------- 00072 // class L1MuGMTConfig 00073 //--------------------------------- 00074 using namespace std; 00075 00076 //---------------- 00077 // Constructors -- 00078 //---------------- 00079 00080 L1MuGMTConfig::L1MuGMTConfig(const edm::ParameterSet& ps) { 00081 00082 m_ps = &ps; 00083 00084 m_DTInputTag = m_ps->getParameter<edm::InputTag>("DTCandidates"); 00085 m_CSCInputTag = m_ps->getParameter<edm::InputTag>("CSCCandidates"); 00086 m_RPCbInputTag = m_ps->getParameter<edm::InputTag>("RPCbCandidates"); 00087 m_RPCfInputTag = m_ps->getParameter<edm::InputTag>("RPCfCandidates"); 00088 m_MipIsoInputTag = m_ps->getParameter<edm::InputTag>("MipIsoData"); 00089 00090 m_debug = true; 00091 m_dbgLevel = m_ps->getUntrackedParameter<int>("Debug",0); 00092 00093 // set min and max bunch crossing 00094 m_BxMin = m_ps->getParameter<int>("BX_min"); 00095 m_BxMax = m_ps->getParameter<int>("BX_max"); 00096 00097 // set min and max bunch crossing for the readout 00098 m_BxMinRo = m_ps->getParameter<int>("BX_min_readout"); 00099 m_BxMaxRo = m_ps->getParameter<int>("BX_max_readout"); 00100 00101 } 00102 00103 //-------------- 00104 // Destructor -- 00105 //-------------- 00106 L1MuGMTConfig::~L1MuGMTConfig() {} 00107 00108 00109 //-------------- 00110 // Operations -- 00111 //-------------- 00112 00113 00114 void L1MuGMTConfig::setDefaults() { 00115 00116 // set weights for eta and phi 00117 m_EtaWeight_barrel = m_GMTParams->getEtaWeight_barrel(); 00118 m_PhiWeight_barrel = m_GMTParams->getPhiWeight_barrel(); 00119 m_EtaPhiThreshold_barrel = m_GMTParams->getEtaPhiThreshold_barrel(); 00120 00121 m_EtaWeight_endcap = m_GMTParams->getEtaWeight_endcap(); 00122 m_PhiWeight_endcap = m_GMTParams->getPhiWeight_endcap(); 00123 m_EtaPhiThreshold_endcap = m_GMTParams->getEtaPhiThreshold_endcap(); 00124 00125 m_EtaWeight_COU = m_GMTParams->getEtaWeight_COU(); 00126 m_PhiWeight_COU = m_GMTParams->getPhiWeight_COU(); 00127 m_EtaPhiThreshold_COU = m_GMTParams->getEtaPhiThreshold_COU(); 00128 00129 m_CaloTrigger = m_GMTParams->getCaloTrigger(); 00130 m_IsolationCellSizeEta = m_GMTParams->getIsolationCellSizeEta(); 00131 m_IsolationCellSizePhi = m_GMTParams->getIsolationCellSizePhi(); 00132 00133 m_DoOvlRpcAnd = m_GMTParams->getDoOvlRpcAnd(); 00134 00135 m_PropagatePhi = m_GMTParams->getPropagatePhi(); 00136 00137 m_VersionSortRankEtaQLUT = m_GMTParams->getVersionSortRankEtaQLUT(); 00138 00139 if ( Debug(1) ) { 00140 stringstream stdss; 00141 stdss 00142 << endl 00143 << "*******************************************" << endl 00144 << "**** L1 Global Muon Trigger settings : ****" << endl 00145 << "*******************************************" << endl 00146 << endl 00147 00148 << "L1 Global Muon Trigger : DTCandidates : " << m_DTInputTag << endl 00149 << "L1 Global Muon Trigger : CSCCandidates : " << m_CSCInputTag << endl 00150 << "L1 Global Muon Trigger : RPCbCandidates : " << m_RPCbInputTag << endl 00151 << "L1 Global Muon Trigger : RPCfCandidates : " << m_RPCfInputTag << endl 00152 << "L1 Global Muon Trigger : debug level : " << m_dbgLevel << endl 00153 << "L1 Global Muon Trigger : minimal bunch-crossing : " << m_BxMin << endl 00154 << "L1 Global Muon Trigger : maximal bunch-crossing : " << m_BxMax << endl 00155 << "L1 Global Muon Trigger : barrel eta weight : " << m_EtaWeight_barrel << endl 00156 << "L1 Global Muon Trigger : barrel phi weight : " << m_PhiWeight_barrel << endl 00157 << "L1 Global Muon Trigger : barrel eta-phi threshold : " << m_EtaPhiThreshold_barrel << endl 00158 << "L1 Global Muon Trigger : endcap eta weight : " << m_EtaWeight_endcap << endl 00159 << "L1 Global Muon Trigger : endcap phi weight : " << m_PhiWeight_endcap << endl 00160 << "L1 Global Muon Trigger : endcap eta-phi threshold : " << m_EtaPhiThreshold_endcap << endl 00161 << "L1 Global Muon Trigger : cancel out unit eta weight : " << m_EtaWeight_COU << endl 00162 << "L1 Global Muon Trigger : cancel out unit phi weight : " << m_PhiWeight_COU << endl 00163 << "L1 Global Muon Trigger : cancel out unit eta-phi threshold : " << m_EtaPhiThreshold_COU << endl 00164 << "L1 Global Muon Trigger : calorimeter trigger : " << m_CaloTrigger << endl 00165 << "L1 Global Muon Trigger : muon isolation cell size (eta) : " << m_IsolationCellSizeEta << endl 00166 << "L1 Global Muon Trigger : muon isolation cell size (phi) : " << m_IsolationCellSizePhi << endl 00167 << "L1 Global Muon Trigger : require confirmation by RPC in overlap region : " << m_DoOvlRpcAnd << endl 00168 << "L1 Global Muon Trigger : propagate phi to vertex : " << m_PropagatePhi << endl 00169 << "L1 Global Muon Trigger : version of low quality assignment LUT : " << m_VersionSortRankEtaQLUT << endl; 00170 edm::LogVerbatim("GMT_Config_info") << stdss.str(); 00171 } 00172 00173 // create Registers 00174 m_RegCDLConfig = new L1MuGMTRegCDLConfig(); 00175 m_RegMMConfigPhi = new L1MuGMTRegMMConfigPhi(); 00176 m_RegMMConfigEta = new L1MuGMTRegMMConfigEta(); 00177 m_RegMMConfigPt = new L1MuGMTRegMMConfigPt(); 00178 m_RegMMConfigCharge = new L1MuGMTRegMMConfigCharge(); 00179 m_RegMMConfigMIP = new L1MuGMTRegMMConfigMIP(); 00180 m_RegMMConfigISO = new L1MuGMTRegMMConfigISO(); 00181 m_RegMMConfigSRK = new L1MuGMTRegMMConfigSRK(); 00182 m_RegSortRankOffset = new L1MuGMTRegSortRankOffset(); 00183 00184 // create LUTs 00185 m_EtaLUT = new L1MuGMTEtaLUT(); 00186 m_LFCOUDeltaEtaLUT = new L1MuGMTLFCOUDeltaEtaLUT(); 00187 m_LFDeltaEtaLUT = new L1MuGMTLFDeltaEtaLUT(); 00188 m_LFDisableHotLUT = new L1MuGMTLFDisableHotLUT(); 00189 m_LFEtaConvLUT = new L1MuGMTLFEtaConvLUT(); 00190 m_LFMatchQualLUT = new L1MuGMTLFMatchQualLUT(); 00191 m_LFMergeRankCombineLUT = new L1MuGMTLFMergeRankCombineLUT(); 00192 m_LFMergeRankEtaPhiLUT = new L1MuGMTLFMergeRankEtaPhiLUT(); 00193 m_LFMergeRankEtaQLUT = new L1MuGMTLFMergeRankEtaQLUT(); 00194 m_LFMergeRankPtQLUT = new L1MuGMTLFMergeRankPtQLUT(); 00195 m_LFOvlEtaConvLUT = new L1MuGMTLFOvlEtaConvLUT(); 00196 m_LFPhiProEtaConvLUT = new L1MuGMTLFPhiProEtaConvLUT(); 00197 m_LFPhiProLUT = new L1MuGMTLFPhiProLUT(); 00198 m_LFPtMixLUT = new L1MuGMTLFPtMixLUT(); 00199 m_LFSortRankCombineLUT = new L1MuGMTLFSortRankCombineLUT(); 00200 m_LFSortRankEtaPhiLUT = new L1MuGMTLFSortRankEtaPhiLUT(); 00201 m_LFSortRankEtaQLUT = new L1MuGMTLFSortRankEtaQLUT(); 00202 m_LFSortRankPtQLUT = new L1MuGMTLFSortRankPtQLUT(); 00203 m_MIAUEtaConvLUT = new L1MuGMTMIAUEtaConvLUT(); 00204 m_MIAUEtaProLUT = new L1MuGMTMIAUEtaProLUT(); 00205 m_MIAUPhiPro1LUT = new L1MuGMTMIAUPhiPro1LUT(); 00206 m_MIAUPhiPro2LUT = new L1MuGMTMIAUPhiPro2LUT(); 00207 m_PhiLUT = new L1MuGMTPhiLUT(); 00208 00209 } 00210 00211 void L1MuGMTConfig::clear() { 00212 // delete Registers 00213 delete m_RegCDLConfig; 00214 delete m_RegMMConfigPhi; 00215 delete m_RegMMConfigEta; 00216 delete m_RegMMConfigPt; 00217 delete m_RegMMConfigCharge; 00218 delete m_RegMMConfigMIP; 00219 delete m_RegMMConfigISO; 00220 delete m_RegMMConfigSRK; 00221 delete m_RegSortRankOffset; 00222 00223 // delete LUTs 00224 delete m_EtaLUT; 00225 delete m_LFCOUDeltaEtaLUT; 00226 delete m_LFDeltaEtaLUT; 00227 delete m_LFDisableHotLUT; 00228 delete m_LFEtaConvLUT; 00229 delete m_LFMatchQualLUT; 00230 delete m_LFMergeRankCombineLUT; 00231 delete m_LFMergeRankEtaPhiLUT; 00232 delete m_LFMergeRankEtaQLUT; 00233 delete m_LFMergeRankPtQLUT; 00234 delete m_LFOvlEtaConvLUT; 00235 delete m_LFPhiProEtaConvLUT; 00236 delete m_LFPhiProLUT; 00237 delete m_LFPtMixLUT; 00238 delete m_LFSortRankCombineLUT; 00239 delete m_LFSortRankEtaPhiLUT; 00240 delete m_LFSortRankEtaQLUT; 00241 delete m_LFSortRankPtQLUT; 00242 delete m_MIAUEtaConvLUT; 00243 delete m_MIAUEtaProLUT; 00244 delete m_MIAUPhiPro1LUT; 00245 delete m_MIAUPhiPro2LUT; 00246 delete m_PhiLUT; 00247 } 00248 00249 void L1MuGMTConfig::dumpLUTs(std::string dir) { 00250 std::vector<L1MuGMTLUT*> theLUTs; 00251 00252 theLUTs.push_back( m_LFSortRankEtaQLUT ); 00253 theLUTs.push_back( m_LFSortRankPtQLUT ); 00254 theLUTs.push_back( m_LFSortRankEtaPhiLUT ); 00255 theLUTs.push_back( m_LFSortRankCombineLUT ); 00256 00257 theLUTs.push_back( m_LFDisableHotLUT ); 00258 00259 theLUTs.push_back( m_LFMergeRankEtaQLUT ); 00260 theLUTs.push_back( m_LFMergeRankPtQLUT ); 00261 theLUTs.push_back( m_LFMergeRankEtaPhiLUT ); 00262 theLUTs.push_back( m_LFMergeRankCombineLUT ); 00263 00264 theLUTs.push_back( m_LFDeltaEtaLUT ); 00265 theLUTs.push_back( m_LFMatchQualLUT ); 00266 theLUTs.push_back( m_LFOvlEtaConvLUT ); 00267 theLUTs.push_back( m_LFCOUDeltaEtaLUT ); 00268 00269 theLUTs.push_back( m_LFEtaConvLUT ); 00270 00271 theLUTs.push_back( m_LFPtMixLUT ); 00272 theLUTs.push_back( m_LFPhiProLUT ); 00273 theLUTs.push_back( m_LFPhiProEtaConvLUT ); 00274 00275 theLUTs.push_back( m_MIAUEtaConvLUT ); 00276 theLUTs.push_back( m_MIAUPhiPro1LUT ); 00277 theLUTs.push_back( m_MIAUPhiPro2LUT ); 00278 theLUTs.push_back( m_MIAUEtaProLUT ); 00279 00280 std::vector<L1MuGMTLUT*>::iterator it = theLUTs.begin(); 00281 for (;it != theLUTs.end(); it++) { 00282 edm::LogVerbatim("GMT_LUTGen_info") 00283 << "**** Generating " << (*it)->Name() << " LUT ****" << endl 00284 << "saving" << endl; 00285 std::string fn = dir + "/" + (*it)->Name() + ".lut"; 00286 (*it)->Save(fn.c_str()); 00287 } 00288 00289 edm::LogVerbatim("GMT_LUTGen_info") 00290 << "Successfully created all GMT look-up tables in directory './" << dir << "'" << endl << endl; 00291 00292 } 00293 00294 void L1MuGMTConfig::dumpRegs(std::string dir) { 00295 std::vector<L1MuGMTReg*> theRegs; 00296 00297 theRegs.push_back( m_RegCDLConfig ); 00298 theRegs.push_back( m_RegMMConfigPhi ); 00299 theRegs.push_back( m_RegMMConfigEta ); 00300 theRegs.push_back( m_RegMMConfigPt ); 00301 theRegs.push_back( m_RegMMConfigCharge ); 00302 theRegs.push_back( m_RegMMConfigSRK ); 00303 theRegs.push_back( m_RegMMConfigMIP ); 00304 theRegs.push_back( m_RegMMConfigISO ); 00305 theRegs.push_back( m_RegSortRankOffset ); 00306 00307 00308 ofstream of( (dir + "/LogicFPGARegs.cfg").c_str() ); 00309 00310 std::vector<L1MuGMTReg*>::iterator it = theRegs.begin(); 00311 for (;it != theRegs.end(); it++) { 00312 00313 for (unsigned int i=0; i<(*it)->getNumberOfInstances(); i++) 00314 of << (*it)->getName() << "[" << i << "] = " << (*it)->getValue(i) << endl; 00315 00316 } 00317 00318 } 00319 00320 // static data members 00321 00322 const edm::ParameterSet* L1MuGMTConfig::m_ps=0; 00323 00324 edm::InputTag L1MuGMTConfig::m_DTInputTag = edm::InputTag(); 00325 edm::InputTag L1MuGMTConfig::m_CSCInputTag = edm::InputTag(); 00326 edm::InputTag L1MuGMTConfig::m_RPCbInputTag = edm::InputTag(); 00327 edm::InputTag L1MuGMTConfig::m_RPCfInputTag = edm::InputTag(); 00328 edm::InputTag L1MuGMTConfig::m_MipIsoInputTag = edm::InputTag(); 00329 int L1MuGMTConfig::m_dbgLevel = 0; 00330 bool L1MuGMTConfig::m_debug = false; 00331 int L1MuGMTConfig::m_BxMin = -4; 00332 int L1MuGMTConfig::m_BxMax = 4; 00333 int L1MuGMTConfig::m_BxMinRo = -2; 00334 int L1MuGMTConfig::m_BxMaxRo = 2; 00335 float L1MuGMTConfig::m_EtaWeight_barrel = 0.028; 00336 float L1MuGMTConfig::m_PhiWeight_barrel = 1.0; 00337 float L1MuGMTConfig::m_EtaPhiThreshold_barrel = 0.062; 00338 float L1MuGMTConfig::m_EtaWeight_endcap = 0.13; 00339 float L1MuGMTConfig::m_PhiWeight_endcap = 1.0; 00340 float L1MuGMTConfig::m_EtaPhiThreshold_endcap = 0.062; 00341 float L1MuGMTConfig::m_EtaWeight_COU = 0.316; 00342 float L1MuGMTConfig::m_PhiWeight_COU = 1.0; 00343 float L1MuGMTConfig::m_EtaPhiThreshold_COU = 0.127; 00344 bool L1MuGMTConfig::m_CaloTrigger = true; 00345 int L1MuGMTConfig::m_IsolationCellSizeEta = 2; 00346 int L1MuGMTConfig::m_IsolationCellSizePhi = 2; 00347 bool L1MuGMTConfig::m_DoOvlRpcAnd = false; 00348 00349 bool L1MuGMTConfig::m_PropagatePhi = false; 00350 unsigned L1MuGMTConfig::m_VersionSortRankEtaQLUT = 2; 00351 00352 L1MuGMTRegCDLConfig* L1MuGMTConfig::m_RegCDLConfig=0; 00353 L1MuGMTRegMMConfigPhi* L1MuGMTConfig::m_RegMMConfigPhi=0; 00354 L1MuGMTRegMMConfigEta* L1MuGMTConfig::m_RegMMConfigEta=0; 00355 L1MuGMTRegMMConfigPt* L1MuGMTConfig::m_RegMMConfigPt=0; 00356 L1MuGMTRegMMConfigCharge* L1MuGMTConfig::m_RegMMConfigCharge=0; 00357 L1MuGMTRegMMConfigMIP* L1MuGMTConfig::m_RegMMConfigMIP=0; 00358 L1MuGMTRegMMConfigISO* L1MuGMTConfig::m_RegMMConfigISO=0; 00359 L1MuGMTRegMMConfigSRK* L1MuGMTConfig::m_RegMMConfigSRK=0; 00360 L1MuGMTRegSortRankOffset* L1MuGMTConfig::m_RegSortRankOffset=0; 00361 00362 L1MuGMTEtaLUT* L1MuGMTConfig::m_EtaLUT=0; 00363 L1MuGMTLFCOUDeltaEtaLUT* L1MuGMTConfig::m_LFCOUDeltaEtaLUT=0; 00364 L1MuGMTLFDeltaEtaLUT* L1MuGMTConfig::m_LFDeltaEtaLUT=0; 00365 L1MuGMTLFDisableHotLUT* L1MuGMTConfig::m_LFDisableHotLUT=0; 00366 L1MuGMTLFEtaConvLUT* L1MuGMTConfig::m_LFEtaConvLUT=0; 00367 L1MuGMTLFMatchQualLUT* L1MuGMTConfig::m_LFMatchQualLUT=0; 00368 L1MuGMTLFMergeRankCombineLUT* L1MuGMTConfig::m_LFMergeRankCombineLUT=0; 00369 L1MuGMTLFMergeRankEtaPhiLUT* L1MuGMTConfig::m_LFMergeRankEtaPhiLUT=0; 00370 L1MuGMTLFMergeRankEtaQLUT* L1MuGMTConfig::m_LFMergeRankEtaQLUT=0; 00371 L1MuGMTLFMergeRankPtQLUT* L1MuGMTConfig::m_LFMergeRankPtQLUT=0; 00372 L1MuGMTLFOvlEtaConvLUT* L1MuGMTConfig::m_LFOvlEtaConvLUT=0; 00373 L1MuGMTLFPhiProEtaConvLUT* L1MuGMTConfig::m_LFPhiProEtaConvLUT=0; 00374 L1MuGMTLFPhiProLUT* L1MuGMTConfig::m_LFPhiProLUT=0; 00375 L1MuGMTLFPtMixLUT* L1MuGMTConfig::m_LFPtMixLUT=0; 00376 L1MuGMTLFSortRankCombineLUT* L1MuGMTConfig::m_LFSortRankCombineLUT=0; 00377 L1MuGMTLFSortRankEtaPhiLUT* L1MuGMTConfig::m_LFSortRankEtaPhiLUT=0; 00378 L1MuGMTLFSortRankEtaQLUT* L1MuGMTConfig::m_LFSortRankEtaQLUT=0; 00379 L1MuGMTLFSortRankPtQLUT* L1MuGMTConfig::m_LFSortRankPtQLUT=0; 00380 L1MuGMTMIAUEtaConvLUT* L1MuGMTConfig::m_MIAUEtaConvLUT=0; 00381 L1MuGMTMIAUEtaProLUT* L1MuGMTConfig::m_MIAUEtaProLUT=0; 00382 L1MuGMTMIAUPhiPro1LUT* L1MuGMTConfig::m_MIAUPhiPro1LUT=0; 00383 L1MuGMTMIAUPhiPro2LUT* L1MuGMTConfig::m_MIAUPhiPro2LUT=0; 00384 L1MuGMTPhiLUT* L1MuGMTConfig::m_PhiLUT=0; 00385 00386 const L1MuGMTScales* L1MuGMTConfig::m_GMTScales=0; 00387 const L1MuTriggerScales* L1MuGMTConfig::m_TriggerScales=0; 00388 const L1MuTriggerPtScale* L1MuGMTConfig::m_TriggerPtScale=0; 00389 const L1MuGMTParameters* L1MuGMTConfig::m_GMTParams=0; 00390 00391 const L1CaloGeometry* L1MuGMTConfig::m_caloGeom = 0 ;