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 
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 GlobalCondition;
41 class L1GtAlgorithm;
42 class GlobalScales;
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 unsigned long gtTriggerMenuUUID() const {
99  return m_triggerMenuUUID;
100  }
101 
102  void setGtTriggerMenuUUID(const unsigned long uuid);
103 
104 
105  //
106  inline const unsigned long gtTriggerMenuImplementation() const {
108  }
109 
110  void setGtTriggerMenuImplementation(const unsigned long);
111 
113  inline const std::string& gtScaleDbKey() const {
114  return m_scaleDbKey;
115  }
116 
117  void setGtScaleDbKey(const std::string&);
118 
120  inline const std::vector<std::vector<MuonTemplate> >& vecMuonTemplate() const {
121  return m_vecMuonTemplate;
122  }
123 
124  void setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
125 
126  //
127  inline const std::vector<std::vector<CaloTemplate> >& vecCaloTemplate() const {
128  return m_vecCaloTemplate;
129  }
130 
131  void setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
132 
133  //
134  inline const std::vector<std::vector<EnergySumTemplate> >&
136 
137  return m_vecEnergySumTemplate;
138  }
139 
141  const std::vector<std::vector<EnergySumTemplate> >&);
142 
143 
144  inline const std::vector<std::vector<ExternalTemplate> >&
146 
147  return m_vecExternalTemplate;
148  }
149 
151  const std::vector<std::vector<ExternalTemplate> >&);
152 
153  //
154  inline const std::vector<std::vector<CorrelationTemplate> >&
156 
158  }
159 
161  const std::vector<std::vector<CorrelationTemplate> >&);
162 
163  //
164  inline const std::vector<std::vector<MuonTemplate> >& corMuonTemplate() const {
165  return m_corMuonTemplate;
166  }
167 
168  void setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
169 
170  //
171  inline const std::vector<std::vector<CaloTemplate> >& corCaloTemplate() const {
172  return m_corCaloTemplate;
173  }
174 
175  void setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
176 
177  // get / set the vectors containing the conditions for correlation templates
178  //
179  inline const std::vector<std::vector<EnergySumTemplate> >&
181 
182  return m_corEnergySumTemplate;
183  }
184 
186  const std::vector<std::vector<EnergySumTemplate> >&);
187 
188 
190  inline const l1t::AlgorithmMap& gtAlgorithmMap() const {
191  return m_algorithmMap;
192  }
193 
195 
197  inline const l1t::AlgorithmMap& gtAlgorithmAliasMap() const {
198  return m_algorithmAliasMap;
199  }
200 
202 
203 
205  inline const l1t::GlobalScales& gtScales() const {
206  return m_gtScales;
207  }
208 
209  void setGtScales(const l1t::GlobalScales&);
210 
211 /*
213  inline const l1t::AlgorithmMap& gtTechnicalTriggerMap() const {
214  return m_technicalTriggerMap;
215  }
216 
217 // void setGtTechnicalTriggerMap(const l1t::AlgorithmMap&);
218 */
221  void print(std::ostream&, int&) const;
222 
223 public:
224 
227  const bool gtAlgorithmResult(const std::string& algName,
228  const std::vector<bool>& decWord) const;
229 
230 private:
231 
233  std::vector<l1t::ConditionMap> m_conditionMap;
234 
235 private:
236 
241 
242  unsigned long m_triggerMenuUUID;
243 
246 
249  std::vector<std::vector<MuonTemplate> > m_vecMuonTemplate;
250  std::vector<std::vector<CaloTemplate> > m_vecCaloTemplate;
251  std::vector<std::vector<EnergySumTemplate> > m_vecEnergySumTemplate;
252 
253  std::vector<std::vector<ExternalTemplate> > m_vecExternalTemplate;
254 
255  std::vector<std::vector<CorrelationTemplate> > m_vecCorrelationTemplate;
256  std::vector<std::vector<MuonTemplate> > m_corMuonTemplate;
257  std::vector<std::vector<CaloTemplate> > m_corCaloTemplate;
258  std::vector<std::vector<EnergySumTemplate> > m_corEnergySumTemplate;
259 
262 
265 
267 // l1t::AlgorithmMap m_technicalTriggerMap;
268 
269  // class containing the scales from the L1 Menu XML
271 
272 
273 };
274 
275 #endif /*L1Trigger_L1TGlobal_TriggerMenu_h*/
std::string m_triggerMenuName
Definition: TriggerMenu.h:239
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:375
const l1t::AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
Definition: TriggerMenu.h:197
void setVecExternalTemplate(const std::vector< std::vector< ExternalTemplate > > &)
Definition: TriggerMenu.cc:355
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate() const
Definition: TriggerMenu.h:145
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:369
const unsigned long gtTriggerMenuUUID() const
Definition: TriggerMenu.h:98
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
Definition: TriggerMenu.h:135
const l1t::GlobalScales & gtScales() const
get the scales
Definition: TriggerMenu.h:205
void setGtAlgorithmMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:390
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:245
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
Definition: TriggerMenu.h:180
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:249
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:253
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:256
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:257
virtual ~TriggerMenu()
Definition: TriggerMenu.cc:110
void setGtScaleDbKey(const std::string &)
Definition: TriggerMenu.cc:326
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
Definition: TriggerMenu.h:171
void setGtScales(const l1t::GlobalScales &)
Definition: TriggerMenu.cc:331
void buildGtConditionMap()
Definition: TriggerMenu.cc:168
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:251
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:270
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
Definition: TriggerMenu.h:127
void setVecEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:348
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:261
void setGtTriggerMenuUUID(const unsigned long uuid)
Definition: TriggerMenu.cc:320
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:336
void setCorEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:381
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:407
void setGtConditionMap(const std::vector< l1t::ConditionMap > &)
Definition: TriggerMenu.cc:163
const l1t::AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: TriggerMenu.h:190
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:120
const std::string & gtTriggerMenuName() const
Definition: TriggerMenu.h:91
const unsigned long gtTriggerMenuImplementation() const
Definition: TriggerMenu.h:106
void setGtTriggerMenuName(const std::string &)
Definition: TriggerMenu.cc:312
void setGtTriggerMenuImplementation(const unsigned long)
Definition: TriggerMenu.cc:316
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:242
TriggerMenu & operator=(const TriggerMenu &)
Definition: TriggerMenu.cc:126
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
Definition: TriggerMenu.cc:362
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:233
void setGtAlgorithmAliasMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:395
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:264
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:240
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:342
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
Definition: TriggerMenu.cc:619
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
Definition: TriggerMenu.h:164
void setGtTriggerMenuInterface(const std::string &)
Definition: TriggerMenu.cc:308
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:238
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:258
std::map< std::string, GlobalAlgorithm > AlgorithmMap
map containing the algorithms
const std::string & gtScaleDbKey() const
menu associated scale key
Definition: TriggerMenu.h:113
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:255
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
Definition: TriggerMenu.h:155
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:250