CMS 3D CMS Logo

L1MuGMTConfig.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
6 //
7 //
8 // Author :
9 // N. Neumeister CERN EP
10 //
11 // Migrated to CMSSW:
12 // I. Mikulec
13 //
14 //--------------------------------------------------
15 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTConfig_h
16 #define L1TriggerGlobalMuonTrigger_L1MuGMTConfig_h
17 
18 //---------------
19 // C++ Headers --
20 //---------------
21 
22 #include <string>
23 
24 //----------------------
25 // Base Class Headers --
26 //----------------------
27 
28 //------------------------------------
29 // Collaborating Class Declarations --
30 //------------------------------------
32 
33 namespace edm {
34  class InputTag;
35 }
36 
46 
47 class L1MuGMTEtaLUT;
59 class L1MuGMTLFPhiProLUT;
60 class L1MuGMTLFPtMixLUT;
69 class L1MuGMTPhiLUT;
70 
71 class L1MuGMTScales;
72 class L1MuTriggerScales;
73 class L1MuTriggerPtScale;
74 class L1MuGMTParameters;
75 class L1MuGMTChannelMask;
76 
77 class L1CaloGeometry;
78 
79 // ---------------------
80 // -- Class Interface --
81 // ---------------------
82 
84 public:
85  static const unsigned int MAXRPC = 8, MAXRPCbarrel = 4, MAXRPCendcap = 4, MAXDTBX = 4, MAXCSC = 4;
86 
87  static const unsigned int MaxMuons = 4;
88 
91 
93  virtual ~L1MuGMTConfig();
94 
100 
101  static bool Debug() { return m_debug; }
102  static bool Debug(int level) { return (m_debug && m_dbgLevel >= level); }
103 
104  static void setDebugLevel(int level) { m_dbgLevel = level; }
105  static int getDebugLevel() { return m_dbgLevel; }
106 
107  static int getBxMin() { return m_BxMin; }
108  static int getBxMax() { return m_BxMax; }
109 
110  static int getBxMinRo() { return m_BxMinRo; }
111  static int getBxMaxRo() { return m_BxMaxRo; }
112 
113  static float getEtaWeightBarrel() { return m_EtaWeight_barrel; }
114  static float getPhiWeightBarrel() { return m_PhiWeight_barrel; }
116  static float getEtaWeightEndcap() { return m_EtaWeight_endcap; }
117  static float getPhiWeightEndcap() { return m_PhiWeight_endcap; }
119  static float getEtaWeightCOU() { return m_EtaWeight_COU; }
120  static float getPhiWeightCOU() { return m_PhiWeight_COU; }
121  static float getEtaPhiThresholdCOU() { return m_EtaPhiThreshold_COU; }
122 
123  static bool getCaloTrigger() { return m_CaloTrigger; }
126 
128  static bool getDoOvlRpcAnd() { return m_DoOvlRpcAnd; }
129 
130  static bool getPropagatePhi() { return m_PropagatePhi; }
131 
133  static unsigned getVersionLUTs() { return m_VersionLUTs; }
134 
135  // Register getters
145 
146  // LUT getters
147  static L1MuGMTEtaLUT* getEtaLUT() { return m_EtaLUT; }
169  static L1MuGMTPhiLUT* getPhiLUT() { return m_PhiLUT; }
170 
171  void setGMTScales(const L1MuGMTScales* gmtscales) { m_GMTScales = gmtscales; }
172  static const L1MuGMTScales* getGMTScales() { return m_GMTScales; }
173 
174  void setCaloGeom(const L1CaloGeometry* caloGeom) { m_caloGeom = caloGeom; }
175  static const L1CaloGeometry* getCaloGeom() { return m_caloGeom; }
176 
177  void setTriggerScales(const L1MuTriggerScales* trigscales) { m_TriggerScales = trigscales; }
179 
180  void setTriggerPtScale(const L1MuTriggerPtScale* trigptscale) { m_TriggerPtScale = trigptscale; }
182 
183  void setGMTParams(const L1MuGMTParameters* gmtparams) { m_GMTParams = gmtparams; }
184  static const L1MuGMTParameters* getGMTParams() { return m_GMTParams; }
185 
186  void setGMTChanMask(const L1MuGMTChannelMask* gmtchanmask) { m_GMTChanMask = gmtchanmask; }
187  static const L1MuGMTChannelMask* getGMTChanMask() { return m_GMTChanMask; }
188 
189  static const edm::ParameterSet* getParameterSet() { return m_ps; }
190 
191  void createLUTsRegs();
192  void clearLUTsRegs();
193  void dumpLUTs(std::string dir);
194  void dumpRegs(std::string dir);
195 
196  void setDefaults();
197 
198 private:
199  static const edm::ParameterSet* m_ps;
202 
208 
209  static bool m_debug; // debug flag
210  static int m_dbgLevel; // debug level
211 
212  static int m_BxMin;
213  static int m_BxMax;
214 
215  static int m_BxMinRo;
216  static int m_BxMaxRo;
217 
218  static float m_EtaWeight_barrel;
219  static float m_PhiWeight_barrel;
221  static float m_EtaWeight_endcap;
222  static float m_PhiWeight_endcap;
224  static float m_EtaWeight_COU;
225  static float m_PhiWeight_COU;
226  static float m_EtaPhiThreshold_COU;
227 
228  static bool m_CaloTrigger;
231 
232  static bool m_DoOvlRpcAnd;
233 
234  static bool m_PropagatePhi;
235 
236  static unsigned m_VersionSortRankEtaQLUT;
237  static unsigned m_VersionLUTs;
238 
239  // Register pointers
249 
250  // LUT pointers
274 
275  // scales pointers
276  static const L1MuGMTScales* m_GMTScales;
279 
280  static const L1CaloGeometry* m_caloGeom;
281 };
282 
283 #endif
static L1MuGMTLFSortRankEtaPhiLUT * m_LFSortRankEtaPhiLUT
static edm::InputTag m_CSCInputTag
static L1MuGMTLFDeltaEtaLUT * m_LFDeltaEtaLUT
static float m_EtaPhiThreshold_COU
void setGMTChanMask(const L1MuGMTChannelMask *gmtchanmask)
static L1MuGMTRegMMConfigISO * getRegMMConfigISO()
static L1MuGMTRegMMConfigCharge * m_RegMMConfigCharge
static L1MuGMTEtaLUT * getEtaLUT()
static L1MuGMTRegMMConfigCharge * getRegMMConfigCharge()
static L1MuGMTLFSortRankEtaPhiLUT * getLFSortRankEtaPhiLUT()
static L1MuGMTMIAUPhiPro2LUT * m_MIAUPhiPro2LUT
static edm::InputTag m_RPCbInputTag
static int m_BxMax
static L1MuGMTMIAUPhiPro2LUT * getMIAUPhiPro2LUT()
static bool m_DoOvlRpcAnd
static int m_IsolationCellSizePhi
GMT Merge Method Config Register Phi.
Definition: L1MuGMTReg.h:148
static L1MuGMTLFMergeRankPtQLUT * getLFMergeRankPtQLUT()
static edm::InputTag getRPCfInputTag()
Definition: L1MuGMTConfig.h:98
void setTriggerPtScale(const L1MuTriggerPtScale *trigptscale)
static L1MuGMTPhiLUT * getPhiLUT()
static edm::InputTag getRPCbInputTag()
Definition: L1MuGMTConfig.h:97
static L1MuGMTRegMMConfigEta * getRegMMConfigEta()
static L1MuGMTLFSortRankCombineLUT * m_LFSortRankCombineLUT
static const L1MuTriggerScales * m_TriggerScales
void dumpRegs(std::string dir)
static const L1CaloGeometry * getCaloGeom()
static L1MuGMTEtaLUT * m_EtaLUT
static float getPhiWeightEndcap()
static bool m_CaloTrigger
static float getEtaWeightEndcap()
static int m_dbgLevel
static bool getCaloTrigger()
static float m_PhiWeight_barrel
static L1MuGMTPhiLUT * m_PhiLUT
static int m_IsolationCellSizeEta
static L1MuGMTLFMatchQualLUT * getLFMatchQualLUT()
static L1MuGMTLFMergeRankEtaQLUT * m_LFMergeRankEtaQLUT
static L1MuGMTLFMatchQualLUT * m_LFMatchQualLUT
static float getEtaPhiThresholdEndcap()
static L1MuGMTRegMMConfigISO * m_RegMMConfigISO
GMT Merge Method Config Register Charge.
Definition: L1MuGMTReg.h:178
static void setDebugLevel(int level)
static L1MuGMTLFOvlEtaConvLUT * getLFOvlEtaConvLUT()
static L1MuGMTMIAUEtaConvLUT * m_MIAUEtaConvLUT
GMT Merge Method Config Register ISO.
Definition: L1MuGMTReg.h:241
virtual ~L1MuGMTConfig()
destructor
static L1MuGMTLFDeltaEtaLUT * getLFDeltaEtaLUT()
static L1MuGMTMIAUEtaConvLUT * getMIAUEtaConvLUT()
static L1MuGMTLFDisableHotLUT * m_LFDisableHotLUT
void setGMTScales(const L1MuGMTScales *gmtscales)
static bool getPropagatePhi()
static unsigned getVersionLUTs()
static const L1MuTriggerPtScale * m_TriggerPtScale
static L1MuGMTRegMMConfigPhi * m_RegMMConfigPhi
static bool Debug()
static float m_EtaWeight_endcap
static L1MuGMTRegMMConfigSRK * getRegMMConfigSRK()
static const L1MuGMTChannelMask * m_GMTChanMask
static unsigned m_VersionSortRankEtaQLUT
static float m_PhiWeight_COU
static L1MuGMTLFSortRankCombineLUT * getLFSortRankCombineLUT()
static L1MuGMTLFMergeRankPtQLUT * m_LFMergeRankPtQLUT
static L1MuGMTRegMMConfigPhi * getRegMMConfigPhi()
static L1MuGMTLFMergeRankCombineLUT * m_LFMergeRankCombineLUT
static int getIsolationCellSizeEta()
static L1MuGMTLFSortRankPtQLUT * getLFSortRankPtQLUT()
static L1MuGMTLFPhiProLUT * getLFPhiProLUT()
static L1MuGMTRegSortRankOffset * m_RegSortRankOffset
static int m_BxMinRo
GMT Register that implements Rank offset for merged cands.
Definition: L1MuGMTReg.h:286
static L1MuGMTRegMMConfigPt * getRegMMConfigPt()
static L1MuGMTLFSortRankEtaQLUT * m_LFSortRankEtaQLUT
static float getEtaWeightCOU()
static const L1MuGMTChannelMask * getGMTChanMask()
static unsigned getVersionSortRankEtaQLUT()
static unsigned m_VersionLUTs
static L1MuGMTRegMMConfigEta * m_RegMMConfigEta
static float getEtaPhiThresholdCOU()
static float getPhiWeightCOU()
static bool getDoOvlRpcAnd()
require DT/CSC candidates to be confirmed by the RPC in the overlap region
static const unsigned int MAXCSC
Definition: L1MuGMTConfig.h:85
static const unsigned int MAXDTBX
Definition: L1MuGMTConfig.h:85
GMT Register that implements Configuration of Cancel Decisison Logic.
Definition: L1MuGMTReg.h:312
static const unsigned int MAXRPCendcap
Definition: L1MuGMTConfig.h:85
static int getBxMaxRo()
void dumpLUTs(std::string dir)
static edm::InputTag m_MipIsoInputTag
static int getBxMinRo()
static L1MuGMTLFPtMixLUT * getLFPtMixLUT()
static L1MuGMTLFDisableHotLUT * getLFDisableHotLUT()
static float m_EtaPhiThreshold_endcap
static L1MuGMTMIAUEtaProLUT * m_MIAUEtaProLUT
void setCaloGeom(const L1CaloGeometry *caloGeom)
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.
Definition: L1MuGMTReg.h:253
static L1MuGMTLFMergeRankEtaPhiLUT * getLFMergeRankEtaPhiLUT()
static const L1MuGMTScales * m_GMTScales
static const L1MuTriggerPtScale * getTriggerPtScale()
static int getBxMin()
GMT Merge Method Config Register Eta.
Definition: L1MuGMTReg.h:158
static const unsigned int MaxMuons
Definition: L1MuGMTConfig.h:87
L1MuGMTConfig(const edm::ParameterSet &ps)
constructor
static const L1MuGMTParameters * getGMTParams()
static const L1MuGMTScales * getGMTScales()
static float m_EtaWeight_COU
static L1MuGMTRegMMConfigPt * m_RegMMConfigPt
static L1MuGMTMIAUPhiPro1LUT * getMIAUPhiPro1LUT()
static L1MuGMTLFPhiProLUT * m_LFPhiProLUT
static bool m_PropagatePhi
static L1MuGMTLFMergeRankCombineLUT * getLFMergeRankCombineLUT()
static const L1MuGMTParameters * m_GMTParams
static L1MuGMTRegMMConfigMIP * m_RegMMConfigMIP
static L1MuGMTLFEtaConvLUT * m_LFEtaConvLUT
static const L1MuTriggerScales * getTriggerScales()
static L1MuGMTLFSortRankEtaQLUT * getLFSortRankEtaQLUT()
static L1MuGMTLFEtaConvLUT * getLFEtaConvLUT()
void setGMTParams(const L1MuGMTParameters *gmtparams)
static L1MuGMTLFSortRankPtQLUT * m_LFSortRankPtQLUT
void clearLUTsRegs()
static L1MuGMTLFCOUDeltaEtaLUT * getLFCOUDeltaEtaLUT()
GMT Merge Method Config Register Pt.
Definition: L1MuGMTReg.h:168
HLT enums.
static L1MuGMTRegSortRankOffset * getRegSortRankOffset()
static L1MuGMTMIAUPhiPro1LUT * m_MIAUPhiPro1LUT
static L1MuGMTLFOvlEtaConvLUT * m_LFOvlEtaConvLUT
static float m_EtaPhiThreshold_barrel
static int m_BxMin
static edm::InputTag getMipIsoInputTag()
Definition: L1MuGMTConfig.h:99
static const L1CaloGeometry * m_caloGeom
GMT Merge Method Config Register MIP.
Definition: L1MuGMTReg.h:230
static int m_BxMaxRo
static float getEtaWeightBarrel()
static const edm::ParameterSet * getParameterSet()
static L1MuGMTLFCOUDeltaEtaLUT * m_LFCOUDeltaEtaLUT
void createLUTsRegs()
static L1MuGMTRegMMConfigMIP * getRegMMConfigMIP()
static const edm::ParameterSet * m_ps
static L1MuGMTLFPtMixLUT * m_LFPtMixLUT
static const unsigned int MAXRPCbarrel
Definition: L1MuGMTConfig.h:85
static int getIsolationCellSizePhi()
static int getBxMax()
void setTriggerScales(const L1MuTriggerScales *trigscales)
static L1MuGMTRegCDLConfig * getRegCDLConfig()
static L1MuGMTLFPhiProEtaConvLUT * m_LFPhiProEtaConvLUT
static L1MuGMTMIAUEtaProLUT * getMIAUEtaProLUT()
static L1MuGMTRegCDLConfig * m_RegCDLConfig
static L1MuGMTLFPhiProEtaConvLUT * getLFPhiProEtaConvLUT()
static edm::InputTag getDTInputTag()
Definition: L1MuGMTConfig.h:95
static int getDebugLevel()
static edm::InputTag m_DTInputTag
static L1MuGMTRegMMConfigSRK * m_RegMMConfigSRK
static const unsigned int MAXRPC
Definition: L1MuGMTConfig.h:85
static L1MuGMTLFMergeRankEtaQLUT * getLFMergeRankEtaQLUT()
static bool Debug(int level)
static float getEtaPhiThresholdBarrel()
static bool m_debug
static float getPhiWeightBarrel()
static edm::InputTag getCSCInputTag()
Definition: L1MuGMTConfig.h:96