CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_4/src/L1Trigger/GlobalMuonTrigger/src/L1MuGMTConfig.cc

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