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 
83 
85 
86  public:
87 
88  static const unsigned int MAXRPC = 8, MAXRPCbarrel = 4, MAXRPCendcap = 4,
89  MAXDTBX = 4, MAXCSC = 4 ;
90 
91  static const unsigned int MaxMuons = 4;
92 
94  L1MuGMTConfig(const edm::ParameterSet& ps);
95 
97  virtual ~L1MuGMTConfig();
98 
99  static edm::InputTag getDTInputTag() { return m_DTInputTag; }
100  static edm::InputTag getCSCInputTag() { return m_CSCInputTag; }
101  static edm::InputTag getRPCbInputTag() { return m_RPCbInputTag; }
102  static edm::InputTag getRPCfInputTag() { return m_RPCfInputTag; }
103  static edm::InputTag getMipIsoInputTag() { return m_MipIsoInputTag; }
104 
105  static bool Debug() { return m_debug; }
106  static bool Debug(int level) { return ( m_debug && m_dbgLevel >= level ); }
107 
108  static void setDebugLevel(int level) { m_dbgLevel = level; }
109  static int getDebugLevel() { return m_dbgLevel; }
110 
111  static int getBxMin() { return m_BxMin; }
112  static int getBxMax() { return m_BxMax; }
113 
114  static int getBxMinRo() { return m_BxMinRo; }
115  static int getBxMaxRo() { return m_BxMaxRo; }
116 
117  static float getEtaWeightBarrel() { return m_EtaWeight_barrel; }
118  static float getPhiWeightBarrel() { return m_PhiWeight_barrel; }
119  static float getEtaPhiThresholdBarrel() { return m_EtaPhiThreshold_barrel; }
120  static float getEtaWeightEndcap() { return m_EtaWeight_endcap; }
121  static float getPhiWeightEndcap() { return m_PhiWeight_endcap; }
122  static float getEtaPhiThresholdEndcap() { return m_EtaPhiThreshold_endcap; }
123  static float getEtaWeightCOU() { return m_EtaWeight_COU; }
124  static float getPhiWeightCOU() { return m_PhiWeight_COU; }
125  static float getEtaPhiThresholdCOU() { return m_EtaPhiThreshold_COU; }
126 
127  static bool getCaloTrigger() { return m_CaloTrigger; }
128  static int getIsolationCellSizeEta() { return m_IsolationCellSizeEta; }
129  static int getIsolationCellSizePhi() { return m_IsolationCellSizePhi; }
130 
132  static bool getDoOvlRpcAnd() { return m_DoOvlRpcAnd; }
133 
134  static bool getPropagatePhi() { return m_PropagatePhi; }
135 
136  static unsigned getVersionSortRankEtaQLUT() { return m_VersionSortRankEtaQLUT; }
137  static unsigned getVersionLUTs() { return m_VersionLUTs; }
138 
139  // Register getters
140  static L1MuGMTRegCDLConfig* getRegCDLConfig() { return m_RegCDLConfig; }
141  static L1MuGMTRegMMConfigPhi* getRegMMConfigPhi() { return m_RegMMConfigPhi; }
142  static L1MuGMTRegMMConfigEta* getRegMMConfigEta() { return m_RegMMConfigEta; }
143  static L1MuGMTRegMMConfigPt* getRegMMConfigPt() { return m_RegMMConfigPt; }
144  static L1MuGMTRegMMConfigCharge* getRegMMConfigCharge() { return m_RegMMConfigCharge; }
145  static L1MuGMTRegMMConfigMIP* getRegMMConfigMIP() { return m_RegMMConfigMIP; }
146  static L1MuGMTRegMMConfigISO* getRegMMConfigISO() { return m_RegMMConfigISO; }
147  static L1MuGMTRegMMConfigSRK* getRegMMConfigSRK() { return m_RegMMConfigSRK; }
148  static L1MuGMTRegSortRankOffset* getRegSortRankOffset() { return m_RegSortRankOffset; }
149 
150  // LUT getters
151  static L1MuGMTEtaLUT* getEtaLUT() { return m_EtaLUT; }
152  static L1MuGMTLFCOUDeltaEtaLUT* getLFCOUDeltaEtaLUT() { return m_LFCOUDeltaEtaLUT; }
153  static L1MuGMTLFDeltaEtaLUT* getLFDeltaEtaLUT() { return m_LFDeltaEtaLUT; }
154  static L1MuGMTLFDisableHotLUT* getLFDisableHotLUT() { return m_LFDisableHotLUT; }
155  static L1MuGMTLFEtaConvLUT* getLFEtaConvLUT() { return m_LFEtaConvLUT; }
156  static L1MuGMTLFMatchQualLUT* getLFMatchQualLUT() { return m_LFMatchQualLUT; }
157  static L1MuGMTLFMergeRankCombineLUT* getLFMergeRankCombineLUT() { return m_LFMergeRankCombineLUT; }
158  static L1MuGMTLFMergeRankEtaPhiLUT* getLFMergeRankEtaPhiLUT() { return m_LFMergeRankEtaPhiLUT; }
159  static L1MuGMTLFMergeRankEtaQLUT* getLFMergeRankEtaQLUT() { return m_LFMergeRankEtaQLUT; }
160  static L1MuGMTLFMergeRankPtQLUT* getLFMergeRankPtQLUT() { return m_LFMergeRankPtQLUT; }
161  static L1MuGMTLFOvlEtaConvLUT* getLFOvlEtaConvLUT() { return m_LFOvlEtaConvLUT; }
162  static L1MuGMTLFPhiProEtaConvLUT* getLFPhiProEtaConvLUT() { return m_LFPhiProEtaConvLUT; }
163  static L1MuGMTLFPhiProLUT* getLFPhiProLUT() { return m_LFPhiProLUT; }
164  static L1MuGMTLFPtMixLUT* getLFPtMixLUT() { return m_LFPtMixLUT; }
165  static L1MuGMTLFSortRankCombineLUT* getLFSortRankCombineLUT() { return m_LFSortRankCombineLUT; }
166  static L1MuGMTLFSortRankEtaPhiLUT* getLFSortRankEtaPhiLUT() { return m_LFSortRankEtaPhiLUT; }
167  static L1MuGMTLFSortRankEtaQLUT* getLFSortRankEtaQLUT() { return m_LFSortRankEtaQLUT; }
168  static L1MuGMTLFSortRankPtQLUT* getLFSortRankPtQLUT() { return m_LFSortRankPtQLUT; }
169  static L1MuGMTMIAUEtaConvLUT* getMIAUEtaConvLUT() { return m_MIAUEtaConvLUT; }
170  static L1MuGMTMIAUEtaProLUT* getMIAUEtaProLUT() { return m_MIAUEtaProLUT; }
171  static L1MuGMTMIAUPhiPro1LUT* getMIAUPhiPro1LUT() { return m_MIAUPhiPro1LUT; }
172  static L1MuGMTMIAUPhiPro2LUT* getMIAUPhiPro2LUT() { return m_MIAUPhiPro2LUT; }
173  static L1MuGMTPhiLUT* getPhiLUT() { return m_PhiLUT; }
174 
175  void setGMTScales(const L1MuGMTScales* gmtscales) { m_GMTScales = gmtscales; }
176  static const L1MuGMTScales* getGMTScales() { return m_GMTScales; }
177 
178  void setCaloGeom( const L1CaloGeometry* caloGeom ) { m_caloGeom = caloGeom ; }
179  static const L1CaloGeometry* getCaloGeom() { return m_caloGeom ; }
180 
181  void setTriggerScales(const L1MuTriggerScales* trigscales) { m_TriggerScales = trigscales; }
182  static const L1MuTriggerScales* getTriggerScales() { return m_TriggerScales; }
183 
184  void setTriggerPtScale(const L1MuTriggerPtScale* trigptscale) { m_TriggerPtScale = trigptscale; }
185  static const L1MuTriggerPtScale* getTriggerPtScale() { return m_TriggerPtScale; }
186 
187  void setGMTParams(const L1MuGMTParameters* gmtparams) { m_GMTParams = gmtparams; }
188  static const L1MuGMTParameters* getGMTParams() { return m_GMTParams; }
189 
190  void setGMTChanMask(const L1MuGMTChannelMask* gmtchanmask) { m_GMTChanMask = gmtchanmask; }
191  static const L1MuGMTChannelMask* getGMTChanMask() { return m_GMTChanMask; }
192 
193 
194  static const edm::ParameterSet* getParameterSet() { return m_ps; }
195 
196  void createLUTsRegs();
197  void clearLUTsRegs();
198  void dumpLUTs(std::string dir);
199  void dumpRegs(std::string dir);
200 
201  void setDefaults();
202 
203  private:
204 
205  static const edm::ParameterSet* m_ps;
208 
214 
215  static bool m_debug; // debug flag
216  static int m_dbgLevel; // debug level
217 
218  static int m_BxMin;
219  static int m_BxMax;
220 
221  static int m_BxMinRo;
222  static int m_BxMaxRo;
223 
224  static float m_EtaWeight_barrel;
225  static float m_PhiWeight_barrel;
227  static float m_EtaWeight_endcap;
228  static float m_PhiWeight_endcap;
230  static float m_EtaWeight_COU;
231  static float m_PhiWeight_COU;
232  static float m_EtaPhiThreshold_COU;
233 
234  static bool m_CaloTrigger;
237 
238  static bool m_DoOvlRpcAnd;
239 
240  static bool m_PropagatePhi;
241 
242  static unsigned m_VersionSortRankEtaQLUT;
243  static unsigned m_VersionLUTs;
244 
245  // Register pointers
255 
256  // LUT pointers
280 
281  // scales pointers
282  static const L1MuGMTScales* m_GMTScales;
285 
286  static const L1CaloGeometry* m_caloGeom ;
287 };
288 
289 #endif
290 
291 
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:138
static L1MuGMTLFMergeRankPtQLUT * getLFMergeRankPtQLUT()
static edm::InputTag getRPCfInputTag()
void setTriggerPtScale(const L1MuTriggerPtScale *trigptscale)
static L1MuGMTPhiLUT * getPhiLUT()
static edm::InputTag getRPCbInputTag()
static L1MuGMTRegMMConfigEta * getRegMMConfigEta()
static L1MuGMTLFSortRankCombineLUT * m_LFSortRankCombineLUT
static const L1MuTriggerScales * m_TriggerScales
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
const int MAXDTBX
static float getEtaPhiThresholdEndcap()
static L1MuGMTRegMMConfigISO * m_RegMMConfigISO
GMT Merge Method Config Register Charge.
Definition: L1MuGMTReg.h:168
static void setDebugLevel(int level)
static L1MuGMTLFOvlEtaConvLUT * getLFOvlEtaConvLUT()
static L1MuGMTMIAUEtaConvLUT * m_MIAUEtaConvLUT
GMT Merge Method Config Register ISO.
Definition: L1MuGMTReg.h:226
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:269
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
GMT Register that implements Configuration of Cancel Decisison Logic.
Definition: L1MuGMTReg.h:298
static int getBxMaxRo()
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:237
static L1MuGMTLFMergeRankEtaPhiLUT * getLFMergeRankEtaPhiLUT()
static const L1MuGMTScales * m_GMTScales
static const L1MuTriggerPtScale * getTriggerPtScale()
static int getBxMin()
GMT Merge Method Config Register Eta.
Definition: L1MuGMTReg.h:148
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
const int MAXCSC
static L1MuGMTLFCOUDeltaEtaLUT * getLFCOUDeltaEtaLUT()
GMT Merge Method Config Register Pt.
Definition: L1MuGMTReg.h:158
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()
static const L1CaloGeometry * m_caloGeom
GMT Merge Method Config Register MIP.
Definition: L1MuGMTReg.h:216
static int m_BxMaxRo
static float getEtaWeightBarrel()
static const edm::ParameterSet * getParameterSet()
static L1MuGMTLFCOUDeltaEtaLUT * m_LFCOUDeltaEtaLUT
static L1MuGMTRegMMConfigMIP * getRegMMConfigMIP()
static const edm::ParameterSet * m_ps
static L1MuGMTLFPtMixLUT * m_LFPtMixLUT
static int getIsolationCellSizePhi()
static int getBxMax()
dbl *** dir
Definition: mlp_gen.cc:35
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:99
static int getDebugLevel()
static edm::InputTag m_DTInputTag
static L1MuGMTRegMMConfigSRK * m_RegMMConfigSRK
static L1MuGMTLFMergeRankEtaQLUT * getLFMergeRankEtaQLUT()
static bool Debug(int level)
const int MAXRPC
static float getEtaPhiThresholdBarrel()
static bool m_debug
static float getPhiWeightBarrel()
static edm::InputTag getCSCInputTag()