CMS 3D CMS Logo

TriggerMenu.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1TGlobal_TriggerMenu_h
2 #define L1Trigger_L1TGlobal_TriggerMenu_h
3 
21 // system include files
22 #include <string>
23 #include <vector>
24 #include <map>
25 
26 #include <iosfwd>
27 
28 // user include files
30 
32 
39 
40 
41 // forward declarations
42 class GlobalCondition;
43 class L1GtAlgorithm;
44 class GlobalScales;
45 
46 // class declaration
48 {
49 
50 public:
51 
52  // constructor
53  TriggerMenu();
54 
55  TriggerMenu(const std::string&, const unsigned int numberConditionChips,
56  const std::vector<std::vector<MuonTemplate> >&,
57  const std::vector<std::vector<CaloTemplate> >&,
58  const std::vector<std::vector<EnergySumTemplate> >&,
59  const std::vector<std::vector<ExternalTemplate> >&,
60  const std::vector<std::vector<CorrelationTemplate> >&,
61  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&,
62  const std::vector<std::vector<MuonTemplate> >&,
63  const std::vector<std::vector<CaloTemplate> >&,
64  const std::vector<std::vector<EnergySumTemplate> >&
65  );
66 
67  // copy constructor
68  TriggerMenu(const TriggerMenu&);
69 
70  // destructor
71  virtual ~TriggerMenu();
72 
73  // assignment operator
75 
76 public:
77 
79  inline const std::vector<l1t::ConditionMap>& gtConditionMap() const {
80  return m_conditionMap;
81  }
82 
83  void setGtConditionMap(const std::vector<l1t::ConditionMap>&);
84  void buildGtConditionMap();
85 
87  inline const std::string& gtTriggerMenuInterface() const {
89  }
90 
92 
93  //
94  inline const std::string& gtTriggerMenuName() const {
95  return m_triggerMenuName;
96  }
97 
98  void setGtTriggerMenuName(const std::string&);
99 
100  //
101  inline const unsigned long gtTriggerMenuUUID() const {
102  return m_triggerMenuUUID;
103  }
104 
105  void setGtTriggerMenuUUID(const unsigned long uuid);
106 
107 
108  //
109  inline const unsigned long gtTriggerMenuImplementation() const {
111  }
112 
113  void setGtTriggerMenuImplementation(const unsigned long);
114 
116  inline const std::string& gtScaleDbKey() const {
117  return m_scaleDbKey;
118  }
119 
120  void setGtScaleDbKey(const std::string&);
121 
123  inline const std::vector<std::vector<MuonTemplate> >& vecMuonTemplate() const {
124  return m_vecMuonTemplate;
125  }
126 
127  void setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
128 
129  //
130  inline const std::vector<std::vector<CaloTemplate> >& vecCaloTemplate() const {
131  return m_vecCaloTemplate;
132  }
133 
134  void setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
135 
136  //
137  inline const std::vector<std::vector<EnergySumTemplate> >&
139 
140  return m_vecEnergySumTemplate;
141  }
142 
144  const std::vector<std::vector<EnergySumTemplate> >&);
145 
146 
147  inline const std::vector<std::vector<ExternalTemplate> >&
149 
150  return m_vecExternalTemplate;
151  }
152 
154  const std::vector<std::vector<ExternalTemplate> >&);
155 
156  //
157  inline const std::vector<std::vector<CorrelationTemplate> >&
159 
161  }
162 
164  const std::vector<std::vector<CorrelationTemplate> >&);
165 
166  //
167  inline const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&
169 
171  }
172 
174  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&);
175 
176  //
177  inline const std::vector<std::vector<MuonTemplate> >& corMuonTemplate() const {
178  return m_corMuonTemplate;
179  }
180 
181  void setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
182 
183  //
184  inline const std::vector<std::vector<CaloTemplate> >& corCaloTemplate() const {
185  return m_corCaloTemplate;
186  }
187 
188  void setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
189 
190  // get / set the vectors containing the conditions for correlation templates
191  //
192  inline const std::vector<std::vector<EnergySumTemplate> >&
194 
195  return m_corEnergySumTemplate;
196  }
197 
199  const std::vector<std::vector<EnergySumTemplate> >&);
200 
201 
203  inline const l1t::AlgorithmMap& gtAlgorithmMap() const {
204  return m_algorithmMap;
205  }
206 
208 
210  inline const l1t::AlgorithmMap& gtAlgorithmAliasMap() const {
211  return m_algorithmAliasMap;
212  }
213 
215 
216 
218  inline const l1t::GlobalScales& gtScales() const {
219  return m_gtScales;
220  }
221 
222  void setGtScales(const l1t::GlobalScales&);
223 
224 /*
226  inline const l1t::AlgorithmMap& gtTechnicalTriggerMap() const {
227  return m_technicalTriggerMap;
228  }
229 
230 // void setGtTechnicalTriggerMap(const l1t::AlgorithmMap&);
231 */
234  void print(std::ostream&, int&) const;
235 
236 public:
237 
240  const bool gtAlgorithmResult(const std::string& algName,
241  const std::vector<bool>& decWord) const;
242 
243 private:
244 
246  std::vector<l1t::ConditionMap> m_conditionMap;
247 
248 private:
249 
254 
255  unsigned long m_triggerMenuUUID;
256 
259 
262  std::vector<std::vector<MuonTemplate> > m_vecMuonTemplate;
263  std::vector<std::vector<CaloTemplate> > m_vecCaloTemplate;
264  std::vector<std::vector<EnergySumTemplate> > m_vecEnergySumTemplate;
265 
266  std::vector<std::vector<ExternalTemplate> > m_vecExternalTemplate;
267 
268  std::vector<std::vector<CorrelationTemplate> > m_vecCorrelationTemplate;
269  std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> > m_vecCorrelationWithOverlapRemovalTemplate;
270  std::vector<std::vector<MuonTemplate> > m_corMuonTemplate;
271  std::vector<std::vector<CaloTemplate> > m_corCaloTemplate;
272  std::vector<std::vector<EnergySumTemplate> > m_corEnergySumTemplate;
273 
276 
279 
281 // l1t::AlgorithmMap m_technicalTriggerMap;
282 
283  // class containing the scales from the L1 Menu XML
285 
286 
287 };
288 
289 #endif /*L1Trigger_L1TGlobal_TriggerMenu_h*/
const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > & vecCorrelationWithOverlapRemovalTemplate() const
Definition: TriggerMenu.h:168
std::string m_triggerMenuName
Definition: TriggerMenu.h:252
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:409
const l1t::AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
Definition: TriggerMenu.h:210
void setVecExternalTemplate(const std::vector< std::vector< ExternalTemplate > > &)
Definition: TriggerMenu.cc:383
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate() const
Definition: TriggerMenu.h:148
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:403
const unsigned long gtTriggerMenuUUID() const
Definition: TriggerMenu.h:101
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
Definition: TriggerMenu.h:138
const l1t::GlobalScales & gtScales() const
get the scales
Definition: TriggerMenu.h:218
void setGtAlgorithmMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:424
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:258
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
Definition: TriggerMenu.h:193
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:262
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:266
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:270
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:271
virtual ~TriggerMenu()
Definition: TriggerMenu.cc:114
void setGtScaleDbKey(const std::string &)
Definition: TriggerMenu.cc:354
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
Definition: TriggerMenu.h:184
void setGtScales(const l1t::GlobalScales &)
Definition: TriggerMenu.cc:359
void buildGtConditionMap()
Definition: TriggerMenu.cc:173
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:264
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:284
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
Definition: TriggerMenu.h:130
void setVecEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:376
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:275
void setGtTriggerMenuUUID(const unsigned long uuid)
Definition: TriggerMenu.cc:348
std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > m_vecCorrelationWithOverlapRemovalTemplate
Definition: TriggerMenu.h:269
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:364
void setCorEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:415
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:441
void setGtConditionMap(const std::vector< l1t::ConditionMap > &)
Definition: TriggerMenu.cc:168
const l1t::AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: TriggerMenu.h:203
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
Definition: TriggerMenu.h:87
const std::vector< l1t::ConditionMap > & gtConditionMap() const
get / set / build the condition maps
Definition: TriggerMenu.h:79
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
Definition: TriggerMenu.h:123
const std::string & gtTriggerMenuName() const
Definition: TriggerMenu.h:94
void setVecCorrelationWithOverlapRemovalTemplate(const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &)
Definition: TriggerMenu.cc:396
const unsigned long gtTriggerMenuImplementation() const
Definition: TriggerMenu.h:109
void setGtTriggerMenuName(const std::string &)
Definition: TriggerMenu.cc:340
void setGtTriggerMenuImplementation(const unsigned long)
Definition: TriggerMenu.cc:344
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:255
TriggerMenu & operator=(const TriggerMenu &)
Definition: TriggerMenu.cc:130
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
Definition: TriggerMenu.cc:390
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:246
void setGtAlgorithmAliasMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:429
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:278
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:253
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:370
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
Definition: TriggerMenu.cc:653
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
Definition: TriggerMenu.h:177
void setGtTriggerMenuInterface(const std::string &)
Definition: TriggerMenu.cc:336
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:251
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:272
std::map< std::string, GlobalAlgorithm > AlgorithmMap
map containing the algorithms
const std::string & gtScaleDbKey() const
menu associated scale key
Definition: TriggerMenu.h:116
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:268
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
Definition: TriggerMenu.h:158
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:263