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 
22 // system include files
23 #include <string>
24 #include <vector>
25 #include <map>
26 
27 #include <iosfwd>
28 
29 // user include files
31 
33 
45 
46 // forward declarations
47 class GlobalCondition;
48 class L1GtAlgorithm;
49 class GlobalScales;
50 
51 // class declaration
52 class TriggerMenu {
53 public:
54  // constructor
55  TriggerMenu();
56 
57  TriggerMenu(const std::string&,
58  const unsigned int numberConditionChips,
59  const std::vector<std::vector<MuonTemplate> >&,
60  const std::vector<std::vector<MuonShowerTemplate> >&,
61  const std::vector<std::vector<CaloTemplate> >&,
62  const std::vector<std::vector<EnergySumTemplate> >&,
63  const std::vector<std::vector<EnergySumZdcTemplate> >&,
64  const std::vector<std::vector<AXOL1TLTemplate> >&,
65  const std::vector<std::vector<CICADATemplate> >&,
66  const std::vector<std::vector<ExternalTemplate> >&,
67  const std::vector<std::vector<CorrelationTemplate> >&,
68  const std::vector<std::vector<CorrelationThreeBodyTemplate> >&,
69  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&,
70  const std::vector<std::vector<MuonTemplate> >&,
71  const std::vector<std::vector<CaloTemplate> >&,
72  const std::vector<std::vector<EnergySumTemplate> >&);
73 
74  // copy constructor
75  TriggerMenu(const TriggerMenu&);
76 
77  // destructor
78  virtual ~TriggerMenu();
79 
80  // assignment operator
82 
83 public:
85  inline const std::vector<l1t::ConditionMap>& gtConditionMap() const { return m_conditionMap; }
86 
87  void setGtConditionMap(const std::vector<l1t::ConditionMap>&);
88  void buildGtConditionMap();
89 
91  inline const std::string& gtTriggerMenuInterface() const { return m_triggerMenuInterface; }
92 
94 
95  //
96  inline const std::string& gtTriggerMenuName() const { return m_triggerMenuName; }
97 
98  void setGtTriggerMenuName(const std::string&);
99 
100  //
101  inline const unsigned long gtTriggerMenuUUID() const { return m_triggerMenuUUID; }
102 
103  void setGtTriggerMenuUUID(const unsigned long uuid);
104 
105  //
106  inline const unsigned long gtTriggerMenuImplementation() const { return m_triggerMenuImplementation; }
107 
108  void setGtTriggerMenuImplementation(const unsigned long);
109 
111  inline const std::string& gtScaleDbKey() const { return m_scaleDbKey; }
112 
113  void setGtScaleDbKey(const std::string&);
114 
116  inline const std::vector<std::vector<MuonTemplate> >& vecMuonTemplate() const { return m_vecMuonTemplate; }
117 
118  void setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
119 
120  //
121  inline const std::vector<std::vector<MuonShowerTemplate> >& vecMuonShowerTemplate() const {
123  }
124 
125  void setVecMuonShowerTemplate(const std::vector<std::vector<MuonShowerTemplate> >&);
126 
127  //
128  inline const std::vector<std::vector<CaloTemplate> >& vecCaloTemplate() const { return m_vecCaloTemplate; }
129 
130  void setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
131 
132  //
133  inline const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTemplate() const {
134  return m_vecEnergySumTemplate;
135  }
136 
137  void setVecEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >&);
138 
139  //
140  inline const std::vector<std::vector<EnergySumZdcTemplate> >& vecEnergySumZdcTemplate() const {
142  }
143 
144  void setVecEnergySumZdcTemplate(const std::vector<std::vector<EnergySumZdcTemplate> >&);
145 
146  //
147  inline const std::vector<std::vector<AXOL1TLTemplate> >& vecAXOL1TLTemplate() const { return m_vecAXOL1TLTemplate; }
148 
149  void setVecAXOL1TLTemplate(const std::vector<std::vector<AXOL1TLTemplate> >&);
150 
151  //
152  inline const std::vector<std::vector<CICADATemplate> >& vecCICADATemplate() const { return m_vecCICADATemplate; }
153 
154  void setVecCICADATemplate(const std::vector<std::vector<CICADATemplate> >&);
155 
156  //
157  inline const std::vector<std::vector<ExternalTemplate> >& vecExternalTemplate() const {
158  return m_vecExternalTemplate;
159  }
160 
161  void setVecExternalTemplate(const std::vector<std::vector<ExternalTemplate> >&);
162 
163  //
164  inline const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplate() const {
166  }
167 
168  void setVecCorrelationTemplate(const std::vector<std::vector<CorrelationTemplate> >&);
169 
170  //
171  inline const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTemplate() const {
173  }
174 
175  void setVecCorrelationThreeBodyTemplate(const std::vector<std::vector<CorrelationThreeBodyTemplate> >&);
176 
177  //
178  inline const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&
181  }
182 
184  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&);
185 
186  //
187  inline const std::vector<std::vector<MuonTemplate> >& corMuonTemplate() const { return m_corMuonTemplate; }
188 
189  void setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
190 
191  //
192  inline const std::vector<std::vector<CaloTemplate> >& corCaloTemplate() const { return m_corCaloTemplate; }
193 
194  void setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
195 
196  // get / set the vectors containing the conditions for correlation templates
197  //
198  inline const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTemplate() const {
199  return m_corEnergySumTemplate;
200  }
201 
202  void setCorEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >&);
203 
205  inline const l1t::AlgorithmMap& gtAlgorithmMap() const { return m_algorithmMap; }
206 
208 
211 
213 
215  inline const l1t::GlobalScales& gtScales() const { return m_gtScales; }
216 
217  void setGtScales(const l1t::GlobalScales&);
218 
219  /*
221  inline const l1t::AlgorithmMap& gtTechnicalTriggerMap() const {
222  return m_technicalTriggerMap;
223  }
224 
225 // void setGtTechnicalTriggerMap(const l1t::AlgorithmMap&);
226 */
229  void print(std::ostream&, int&) const;
230 
231 public:
234  const bool gtAlgorithmResult(const std::string& algName, const std::vector<bool>& decWord) const;
235 
236 private:
238  std::vector<l1t::ConditionMap> m_conditionMap;
239 
240 private:
245 
246  unsigned long m_triggerMenuUUID;
247 
250 
253  std::vector<std::vector<MuonTemplate> > m_vecMuonTemplate;
254  std::vector<std::vector<MuonShowerTemplate> > m_vecMuonShowerTemplate;
255  std::vector<std::vector<CaloTemplate> > m_vecCaloTemplate;
256  std::vector<std::vector<EnergySumTemplate> > m_vecEnergySumTemplate;
257  std::vector<std::vector<EnergySumZdcTemplate> > m_vecEnergySumZdcTemplate;
258  std::vector<std::vector<AXOL1TLTemplate> > m_vecAXOL1TLTemplate;
259  std::vector<std::vector<CICADATemplate> > m_vecCICADATemplate;
260 
261  std::vector<std::vector<ExternalTemplate> > m_vecExternalTemplate;
262 
263  std::vector<std::vector<CorrelationTemplate> > m_vecCorrelationTemplate;
264  std::vector<std::vector<CorrelationThreeBodyTemplate> > m_vecCorrelationThreeBodyTemplate;
265  std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> > m_vecCorrelationWithOverlapRemovalTemplate;
266  std::vector<std::vector<MuonTemplate> > m_corMuonTemplate;
267  std::vector<std::vector<CaloTemplate> > m_corCaloTemplate;
268  std::vector<std::vector<EnergySumTemplate> > m_corEnergySumTemplate;
269 
272 
275 
277  // l1t::AlgorithmMap m_technicalTriggerMap;
278 
279  // class containing the scales from the L1 Menu XML
281 };
282 
283 #endif /*L1Trigger_L1TGlobal_TriggerMenu_h*/
std::string m_triggerMenuName
Definition: TriggerMenu.h:243
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:474
const l1t::GlobalScales & gtScales() const
get the scales
Definition: TriggerMenu.h:215
void setVecExternalTemplate(const std::vector< std::vector< ExternalTemplate > > &)
Definition: TriggerMenu.cc:451
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
Definition: TriggerMenu.h:192
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:470
std::vector< std::vector< CICADATemplate > > m_vecCICADATemplate
Definition: TriggerMenu.h:259
void setGtAlgorithmMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:483
const l1t::AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: TriggerMenu.h:205
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:249
std::vector< std::vector< CorrelationThreeBodyTemplate > > m_vecCorrelationThreeBodyTemplate
Definition: TriggerMenu.h:264
void setVecAXOL1TLTemplate(const std::vector< std::vector< AXOL1TLTemplate > > &)
Definition: TriggerMenu.cc:443
const std::vector< std::vector< MuonShowerTemplate > > & vecMuonShowerTemplate() const
Definition: TriggerMenu.h:121
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate() const
Definition: TriggerMenu.h:157
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
Definition: TriggerMenu.h:187
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
Definition: TriggerMenu.h:133
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:253
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:261
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:266
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:267
virtual ~TriggerMenu()
Definition: TriggerMenu.cc:122
void setVecCorrelationThreeBodyTemplate(const std::vector< std::vector< CorrelationThreeBodyTemplate > > &)
Definition: TriggerMenu.cc:459
const std::string & gtTriggerMenuName() const
Definition: TriggerMenu.h:96
void setGtScaleDbKey(const std::string &)
Definition: TriggerMenu.cc:420
const l1t::AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
Definition: TriggerMenu.h:210
void setGtScales(const l1t::GlobalScales &)
Definition: TriggerMenu.cc:423
void buildGtConditionMap()
Definition: TriggerMenu.cc:177
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:256
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:280
const unsigned long gtTriggerMenuUUID() const
Definition: TriggerMenu.h:101
void setVecEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:434
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:271
void setGtTriggerMenuUUID(const unsigned long uuid)
Definition: TriggerMenu.cc:417
std::vector< std::vector< EnergySumZdcTemplate > > m_vecEnergySumZdcTemplate
Definition: TriggerMenu.h:257
std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > m_vecCorrelationWithOverlapRemovalTemplate
Definition: TriggerMenu.h:265
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:426
void setCorEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:478
const std::vector< std::vector< CorrelationThreeBodyTemplate > > & vecCorrelationThreeBodyTemplate() const
Definition: TriggerMenu.h:171
void setGtConditionMap(const std::vector< l1t::ConditionMap > &)
Definition: TriggerMenu.cc:174
const unsigned long gtTriggerMenuImplementation() const
Definition: TriggerMenu.h:106
void setVecEnergySumZdcTemplate(const std::vector< std::vector< EnergySumZdcTemplate > > &)
Definition: TriggerMenu.cc:438
void setVecCorrelationWithOverlapRemovalTemplate(const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &)
Definition: TriggerMenu.cc:464
void setGtTriggerMenuName(const std::string &)
Definition: TriggerMenu.cc:411
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
Definition: TriggerMenu.h:164
void setGtTriggerMenuImplementation(const unsigned long)
Definition: TriggerMenu.cc:413
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
Definition: TriggerMenu.cc:678
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:246
void setVecCICADATemplate(const std::vector< std::vector< CICADATemplate > > &)
Definition: TriggerMenu.cc:447
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
Definition: TriggerMenu.h:128
std::vector< std::vector< AXOL1TLTemplate > > m_vecAXOL1TLTemplate
Definition: TriggerMenu.h:258
TriggerMenu & operator=(const TriggerMenu &)
Definition: TriggerMenu.cc:135
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
Definition: TriggerMenu.cc:455
const std::vector< l1t::ConditionMap > & gtConditionMap() const
get / set / build the condition maps
Definition: TriggerMenu.h:85
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:238
void setGtAlgorithmAliasMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:486
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
Definition: TriggerMenu.h:198
const std::vector< std::vector< AXOL1TLTemplate > > & vecAXOL1TLTemplate() const
Definition: TriggerMenu.h:147
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:274
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:244
const std::vector< std::vector< EnergySumZdcTemplate > > & vecEnergySumZdcTemplate() const
Definition: TriggerMenu.h:140
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
Definition: TriggerMenu.h:116
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:430
void setVecMuonShowerTemplate(const std::vector< std::vector< MuonShowerTemplate > > &)
void setGtTriggerMenuInterface(const std::string &)
Definition: TriggerMenu.cc:407
const std::vector< std::vector< CICADATemplate > > & vecCICADATemplate() const
Definition: TriggerMenu.h:152
const std::string & gtScaleDbKey() const
menu associated scale key
Definition: TriggerMenu.h:111
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:242
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:268
std::map< std::string, GlobalAlgorithm > AlgorithmMap
map containing the algorithms
std::vector< std::vector< MuonShowerTemplate > > m_vecMuonShowerTemplate
Definition: TriggerMenu.h:254
const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > & vecCorrelationWithOverlapRemovalTemplate() const
Definition: TriggerMenu.h:179
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:496
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:263
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
Definition: TriggerMenu.h:91
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:255