CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TriggerMenu.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1TGlobal_TriggerMenu_h
2 #define L1Trigger_L1TGlobal_TriggerMenu_h
3 
20 // system include files
21 #include <string>
22 #include <vector>
23 #include <map>
24 
25 #include <iosfwd>
26 
27 // user include files
29 
40 
41 // forward declarations
42 class GtCondition;
43 class L1GtAlgorithm;
44 
45 // class declaration
47 {
48 
49 public:
50 
51  // constructor
52  TriggerMenu();
53 
54  TriggerMenu(const std::string&, const unsigned int numberConditionChips,
55  const std::vector<std::vector<MuonTemplate> >&,
56  const std::vector<std::vector<CaloTemplate> >&,
57  const std::vector<std::vector<EnergySumTemplate> >&,
58  const std::vector<std::vector<L1GtJetCountsTemplate> >&,
59  const std::vector<std::vector<L1GtCastorTemplate> >&,
60  const std::vector<std::vector<L1GtHfBitCountsTemplate> >&,
61  const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >&,
62  const std::vector<std::vector<L1GtBptxTemplate> >&,
63  const std::vector<std::vector<L1GtExternalTemplate> >&,
64  const std::vector<std::vector<CorrelationTemplate> >&,
65  const std::vector<std::vector<MuonTemplate> >&,
66  const std::vector<std::vector<CaloTemplate> >&,
67  const std::vector<std::vector<EnergySumTemplate> >&
68  );
69 
70  // copy constructor
71  TriggerMenu(const TriggerMenu&);
72 
73  // destructor
74  virtual ~TriggerMenu();
75 
76  // assignment operator
78 
79 public:
80 
82  inline const std::vector<l1t::ConditionMap>& gtConditionMap() const {
83  return m_conditionMap;
84  }
85 
86  void setGtConditionMap(const std::vector<l1t::ConditionMap>&);
87  void buildGtConditionMap();
88 
90  inline const std::string& gtTriggerMenuInterface() const {
92  }
93 
95 
96  //
97  inline const std::string& gtTriggerMenuName() const {
98  return m_triggerMenuName;
99  }
100 
101  void setGtTriggerMenuName(const std::string&);
102 
103  //
104  inline const std::string& gtTriggerMenuImplementation() const {
106  }
107 
109 
111  inline const std::string& gtScaleDbKey() const {
112  return m_scaleDbKey;
113  }
114 
115  void setGtScaleDbKey(const std::string&);
116 
118  inline const std::vector<std::vector<MuonTemplate> >& vecMuonTemplate() const {
119  return m_vecMuonTemplate;
120  }
121 
122  void setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
123 
124  //
125  inline const std::vector<std::vector<CaloTemplate> >& vecCaloTemplate() const {
126  return m_vecCaloTemplate;
127  }
128 
129  void setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
130 
131  //
132  inline const std::vector<std::vector<EnergySumTemplate> >&
134 
135  return m_vecEnergySumTemplate;
136  }
137 
139  const std::vector<std::vector<EnergySumTemplate> >&);
140 
141  //
142  inline const std::vector<std::vector<L1GtJetCountsTemplate> >&
144 
145  return m_vecJetCountsTemplate;
146  }
147 
149  const std::vector<std::vector<L1GtJetCountsTemplate> >&);
150 
151  //
152  inline const std::vector<std::vector<L1GtCastorTemplate> >&
154 
155  return m_vecCastorTemplate;
156  }
157 
159  const std::vector<std::vector<L1GtCastorTemplate> >&);
160 
161  //
162  inline const std::vector<std::vector<L1GtHfBitCountsTemplate> >&
164 
166  }
167 
169  const std::vector<std::vector<L1GtHfBitCountsTemplate> >&);
170 
171  //
172  inline const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >&
174 
176  }
177 
179  const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >&);
180 
181  //
182  inline const std::vector<std::vector<L1GtBptxTemplate> >&
183  vecBptxTemplate() const {
184 
185  return m_vecBptxTemplate;
186  }
187 
188  void setVecBptxTemplate(
189  const std::vector<std::vector<L1GtBptxTemplate> >&);
190 
191  //
192 
193  inline const std::vector<std::vector<L1GtExternalTemplate> >&
195 
196  return m_vecExternalTemplate;
197  }
198 
200  const std::vector<std::vector<L1GtExternalTemplate> >&);
201 
202  //
203  inline const std::vector<std::vector<CorrelationTemplate> >&
205 
207  }
208 
210  const std::vector<std::vector<CorrelationTemplate> >&);
211 
212  //
213  inline const std::vector<std::vector<MuonTemplate> >& corMuonTemplate() const {
214  return m_corMuonTemplate;
215  }
216 
217  void setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
218 
219  //
220  inline const std::vector<std::vector<CaloTemplate> >& corCaloTemplate() const {
221  return m_corCaloTemplate;
222  }
223 
224  void setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
225 
226  // get / set the vectors containing the conditions for correlation templates
227  //
228  inline const std::vector<std::vector<EnergySumTemplate> >&
230 
231  return m_corEnergySumTemplate;
232  }
233 
235  const std::vector<std::vector<EnergySumTemplate> >&);
236 
237 
239  inline const l1t::AlgorithmMap& gtAlgorithmMap() const {
240  return m_algorithmMap;
241  }
242 
244 
246  inline const l1t::AlgorithmMap& gtAlgorithmAliasMap() const {
247  return m_algorithmAliasMap;
248  }
249 
251 
253  inline const l1t::AlgorithmMap& gtTechnicalTriggerMap() const {
254  return m_technicalTriggerMap;
255  }
256 
258 
261  void print(std::ostream&, int&) const;
262 
263 public:
264 
267  const bool gtAlgorithmResult(const std::string& algName,
268  const std::vector<bool>& decWord) const;
269 
270 private:
271 
273  std::vector<l1t::ConditionMap> m_conditionMap;
274 
275 private:
276 
281 
284 
287  std::vector<std::vector<MuonTemplate> > m_vecMuonTemplate;
288  std::vector<std::vector<CaloTemplate> > m_vecCaloTemplate;
289  std::vector<std::vector<EnergySumTemplate> > m_vecEnergySumTemplate;
290  std::vector<std::vector<L1GtJetCountsTemplate> > m_vecJetCountsTemplate;
291  std::vector<std::vector<L1GtCastorTemplate> > m_vecCastorTemplate;
292  std::vector<std::vector<L1GtHfBitCountsTemplate> > m_vecHfBitCountsTemplate;
293  std::vector<std::vector<L1GtHfRingEtSumsTemplate> > m_vecHfRingEtSumsTemplate;
294  std::vector<std::vector<L1GtBptxTemplate> > m_vecBptxTemplate;
295  std::vector<std::vector<L1GtExternalTemplate> > m_vecExternalTemplate;
296 
297  std::vector<std::vector<CorrelationTemplate> > m_vecCorrelationTemplate;
298  std::vector<std::vector<MuonTemplate> > m_corMuonTemplate;
299  std::vector<std::vector<CaloTemplate> > m_corCaloTemplate;
300  std::vector<std::vector<EnergySumTemplate> > m_corEnergySumTemplate;
301 
304 
307 
310 
311 
312 };
313 
314 #endif /*L1Trigger_L1TGlobal_TriggerMenu_h*/
void setVecHfRingEtSumsTemplate(const std::vector< std::vector< L1GtHfRingEtSumsTemplate > > &)
Definition: TriggerMenu.cc:495
l1t::AlgorithmMap m_technicalTriggerMap
map containing the technical triggers
Definition: TriggerMenu.h:309
const std::vector< std::vector< L1GtHfBitCountsTemplate > > & vecHfBitCountsTemplate() const
Definition: TriggerMenu.h:163
std::string m_triggerMenuName
Definition: TriggerMenu.h:279
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:526
void setVecBptxTemplate(const std::vector< std::vector< L1GtBptxTemplate > > &)
Definition: TriggerMenu.cc:501
void setVecHfBitCountsTemplate(const std::vector< std::vector< L1GtHfBitCountsTemplate > > &)
Definition: TriggerMenu.cc:489
const l1t::AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
Definition: TriggerMenu.h:246
std::string m_triggerMenuImplementation
Definition: TriggerMenu.h:280
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:520
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
Definition: TriggerMenu.h:133
void setGtTriggerMenuImplementation(const std::string &)
Definition: TriggerMenu.cc:449
void setGtAlgorithmMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:541
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:283
std::vector< std::vector< L1GtHfRingEtSumsTemplate > > m_vecHfRingEtSumsTemplate
Definition: TriggerMenu.h:293
const std::vector< std::vector< L1GtCastorTemplate > > & vecCastorTemplate() const
Definition: TriggerMenu.h:153
std::vector< std::vector< L1GtHfBitCountsTemplate > > m_vecHfBitCountsTemplate
Definition: TriggerMenu.h:292
std::vector< std::vector< L1GtJetCountsTemplate > > m_vecJetCountsTemplate
Definition: TriggerMenu.h:290
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
Definition: TriggerMenu.h:229
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:287
const std::vector< std::vector< L1GtExternalTemplate > > & vecExternalTemplate() const
Definition: TriggerMenu.h:194
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:298
const std::string & gtTriggerMenuImplementation() const
Definition: TriggerMenu.h:104
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:299
virtual ~TriggerMenu()
Definition: TriggerMenu.cc:124
const std::vector< std::vector< L1GtBptxTemplate > > & vecBptxTemplate() const
Definition: TriggerMenu.h:183
void setGtScaleDbKey(const std::string &)
Definition: TriggerMenu.cc:454
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
Definition: TriggerMenu.h:220
void buildGtConditionMap()
Definition: TriggerMenu.cc:186
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:289
std::vector< std::vector< L1GtExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:295
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
Definition: TriggerMenu.h:125
void setVecEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:471
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:303
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:459
void setCorEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:532
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:556
void setGtConditionMap(const std::vector< l1t::ConditionMap > &)
Definition: TriggerMenu.cc:181
const l1t::AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: TriggerMenu.h:239
void setVecCastorTemplate(const std::vector< std::vector< L1GtCastorTemplate > > &)
Definition: TriggerMenu.cc:483
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
Definition: TriggerMenu.h:90
const l1t::AlgorithmMap & gtTechnicalTriggerMap() const
get / set the technical trigger map
Definition: TriggerMenu.h:253
const std::vector< l1t::ConditionMap > & gtConditionMap() const
get / set / build the condition maps
Definition: TriggerMenu.h:82
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
Definition: TriggerMenu.h:118
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
const std::string & gtTriggerMenuName() const
Definition: TriggerMenu.h:97
void setGtTriggerMenuName(const std::string &)
Definition: TriggerMenu.cc:445
TriggerMenu & operator=(const TriggerMenu &)
Definition: TriggerMenu.cc:140
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
Definition: TriggerMenu.cc:513
void setGtTechnicalTriggerMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:551
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:273
void setGtAlgorithmAliasMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:546
std::vector< std::vector< L1GtBptxTemplate > > m_vecBptxTemplate
Definition: TriggerMenu.h:294
void setVecJetCountsTemplate(const std::vector< std::vector< L1GtJetCountsTemplate > > &)
Definition: TriggerMenu.cc:477
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:306
void setVecExternalTemplate(const std::vector< std::vector< L1GtExternalTemplate > > &)
Definition: TriggerMenu.cc:507
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:465
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
Definition: TriggerMenu.cc:763
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
Definition: TriggerMenu.h:213
void setGtTriggerMenuInterface(const std::string &)
Definition: TriggerMenu.cc:441
std::vector< std::vector< L1GtCastorTemplate > > m_vecCastorTemplate
Definition: TriggerMenu.h:291
const std::vector< std::vector< L1GtJetCountsTemplate > > & vecJetCountsTemplate() const
Definition: TriggerMenu.h:143
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:278
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:300
const std::vector< std::vector< L1GtHfRingEtSumsTemplate > > & vecHfRingEtSumsTemplate() const
Definition: TriggerMenu.h:173
const std::string & gtScaleDbKey() const
menu associated scale key
Definition: TriggerMenu.h:111
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:297
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
Definition: TriggerMenu.h:204
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:288