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 
31 
37 
38 
39 // forward declarations
40 class GtCondition;
41 class L1GtAlgorithm;
42 class L1TGlobalScales;
43 
44 // class declaration
46 {
47 
48 public:
49 
50  // constructor
51  TriggerMenu();
52 
53  TriggerMenu(const std::string&, const unsigned int numberConditionChips,
54  const std::vector<std::vector<MuonTemplate> >&,
55  const std::vector<std::vector<CaloTemplate> >&,
56  const std::vector<std::vector<EnergySumTemplate> >&,
57  const std::vector<std::vector<ExternalTemplate> >&,
58  const std::vector<std::vector<CorrelationTemplate> >&,
59  const std::vector<std::vector<MuonTemplate> >&,
60  const std::vector<std::vector<CaloTemplate> >&,
61  const std::vector<std::vector<EnergySumTemplate> >&
62  );
63 
64  // copy constructor
65  TriggerMenu(const TriggerMenu&);
66 
67  // destructor
68  virtual ~TriggerMenu();
69 
70  // assignment operator
72 
73 public:
74 
76  inline const std::vector<l1t::ConditionMap>& gtConditionMap() const {
77  return m_conditionMap;
78  }
79 
80  void setGtConditionMap(const std::vector<l1t::ConditionMap>&);
81  void buildGtConditionMap();
82 
84  inline const std::string& gtTriggerMenuInterface() const {
86  }
87 
89 
90  //
91  inline const std::string& gtTriggerMenuName() const {
92  return m_triggerMenuName;
93  }
94 
95  void setGtTriggerMenuName(const std::string&);
96 
97  //
98  inline const std::string& gtTriggerMenuImplementation() const {
100  }
101 
103 
105  inline const std::string& gtScaleDbKey() const {
106  return m_scaleDbKey;
107  }
108 
109  void setGtScaleDbKey(const std::string&);
110 
112  inline const std::vector<std::vector<MuonTemplate> >& vecMuonTemplate() const {
113  return m_vecMuonTemplate;
114  }
115 
116  void setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
117 
118  //
119  inline const std::vector<std::vector<CaloTemplate> >& vecCaloTemplate() const {
120  return m_vecCaloTemplate;
121  }
122 
123  void setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
124 
125  //
126  inline const std::vector<std::vector<EnergySumTemplate> >&
128 
129  return m_vecEnergySumTemplate;
130  }
131 
133  const std::vector<std::vector<EnergySumTemplate> >&);
134 
135 
136  inline const std::vector<std::vector<ExternalTemplate> >&
138 
139  return m_vecExternalTemplate;
140  }
141 
143  const std::vector<std::vector<ExternalTemplate> >&);
144 
145  //
146  inline const std::vector<std::vector<CorrelationTemplate> >&
148 
150  }
151 
153  const std::vector<std::vector<CorrelationTemplate> >&);
154 
155  //
156  inline const std::vector<std::vector<MuonTemplate> >& corMuonTemplate() const {
157  return m_corMuonTemplate;
158  }
159 
160  void setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
161 
162  //
163  inline const std::vector<std::vector<CaloTemplate> >& corCaloTemplate() const {
164  return m_corCaloTemplate;
165  }
166 
167  void setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
168 
169  // get / set the vectors containing the conditions for correlation templates
170  //
171  inline const std::vector<std::vector<EnergySumTemplate> >&
173 
174  return m_corEnergySumTemplate;
175  }
176 
178  const std::vector<std::vector<EnergySumTemplate> >&);
179 
180 
182  inline const l1t::AlgorithmMap& gtAlgorithmMap() const {
183  return m_algorithmMap;
184  }
185 
187 
189  inline const l1t::AlgorithmMap& gtAlgorithmAliasMap() const {
190  return m_algorithmAliasMap;
191  }
192 
194 
195 
197  inline const l1t::L1TGlobalScales& gtScales() const {
198  return m_gtScales;
199  }
200 
201  void setGtScales(const l1t::L1TGlobalScales&);
202 
203 /*
205  inline const l1t::AlgorithmMap& gtTechnicalTriggerMap() const {
206  return m_technicalTriggerMap;
207  }
208 
209 // void setGtTechnicalTriggerMap(const l1t::AlgorithmMap&);
210 */
213  void print(std::ostream&, int&) const;
214 
215 public:
216 
219  const bool gtAlgorithmResult(const std::string& algName,
220  const std::vector<bool>& decWord) const;
221 
222 private:
223 
225  std::vector<l1t::ConditionMap> m_conditionMap;
226 
227 private:
228 
233 
236 
239  std::vector<std::vector<MuonTemplate> > m_vecMuonTemplate;
240  std::vector<std::vector<CaloTemplate> > m_vecCaloTemplate;
241  std::vector<std::vector<EnergySumTemplate> > m_vecEnergySumTemplate;
242 
243  std::vector<std::vector<ExternalTemplate> > m_vecExternalTemplate;
244 
245  std::vector<std::vector<CorrelationTemplate> > m_vecCorrelationTemplate;
246  std::vector<std::vector<MuonTemplate> > m_corMuonTemplate;
247  std::vector<std::vector<CaloTemplate> > m_corCaloTemplate;
248  std::vector<std::vector<EnergySumTemplate> > m_corEnergySumTemplate;
249 
252 
255 
257 // l1t::AlgorithmMap m_technicalTriggerMap;
258 
259  // class containing the scales from the L1 Menu XML
261 
262 
263 };
264 
265 #endif /*L1Trigger_L1TGlobal_TriggerMenu_h*/
std::string m_triggerMenuName
Definition: TriggerMenu.h:231
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:368
const l1t::AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
Definition: TriggerMenu.h:189
void setVecExternalTemplate(const std::vector< std::vector< ExternalTemplate > > &)
Definition: TriggerMenu.cc:348
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate() const
Definition: TriggerMenu.h:137
std::string m_triggerMenuImplementation
Definition: TriggerMenu.h:232
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:362
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
Definition: TriggerMenu.h:127
void setGtTriggerMenuImplementation(const std::string &)
Definition: TriggerMenu.cc:314
void setGtAlgorithmMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:383
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:235
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
Definition: TriggerMenu.h:172
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:239
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:243
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:246
const std::string & gtTriggerMenuImplementation() const
Definition: TriggerMenu.h:98
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:247
virtual ~TriggerMenu()
Definition: TriggerMenu.cc:109
const l1t::L1TGlobalScales & gtScales() const
get the scales
Definition: TriggerMenu.h:197
void setGtScaleDbKey(const std::string &)
Definition: TriggerMenu.cc:319
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
Definition: TriggerMenu.h:163
void setGtScales(const l1t::L1TGlobalScales &)
Definition: TriggerMenu.cc:324
void buildGtConditionMap()
Definition: TriggerMenu.cc:166
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:241
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
Definition: TriggerMenu.h:119
void setVecEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:341
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:251
l1t::L1TGlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:260
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:329
void setCorEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:374
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:400
void setGtConditionMap(const std::vector< l1t::ConditionMap > &)
Definition: TriggerMenu.cc:161
const l1t::AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: TriggerMenu.h:182
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
Definition: TriggerMenu.h:84
const std::vector< l1t::ConditionMap > & gtConditionMap() const
get / set / build the condition maps
Definition: TriggerMenu.h:76
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
Definition: TriggerMenu.h:112
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
const std::string & gtTriggerMenuName() const
Definition: TriggerMenu.h:91
void setGtTriggerMenuName(const std::string &)
Definition: TriggerMenu.cc:310
TriggerMenu & operator=(const TriggerMenu &)
Definition: TriggerMenu.cc:125
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
Definition: TriggerMenu.cc:355
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:225
void setGtAlgorithmAliasMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:388
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:254
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:335
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
Definition: TriggerMenu.cc:609
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
Definition: TriggerMenu.h:156
void setGtTriggerMenuInterface(const std::string &)
Definition: TriggerMenu.cc:306
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:230
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:248
const std::string & gtScaleDbKey() const
menu associated scale key
Definition: TriggerMenu.h:105
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:245
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
Definition: TriggerMenu.h:147
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:240