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 
44 
45 // forward declarations
46 class GlobalCondition;
47 class L1GtAlgorithm;
48 class GlobalScales;
49 
50 // class declaration
51 class TriggerMenu {
52 public:
53  // constructor
54  TriggerMenu();
55 
56  TriggerMenu(const std::string&,
57  const unsigned int numberConditionChips,
58  const std::vector<std::vector<MuonTemplate> >&,
59  const std::vector<std::vector<MuonShowerTemplate> >&,
60  const std::vector<std::vector<CaloTemplate> >&,
61  const std::vector<std::vector<EnergySumTemplate> >&,
62  const std::vector<std::vector<EnergySumZdcTemplate> >&,
63  const std::vector<std::vector<AXOL1TLTemplate> >&,
64  const std::vector<std::vector<ExternalTemplate> >&,
65  const std::vector<std::vector<CorrelationTemplate> >&,
66  const std::vector<std::vector<CorrelationThreeBodyTemplate> >&,
67  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&,
68  const std::vector<std::vector<MuonTemplate> >&,
69  const std::vector<std::vector<CaloTemplate> >&,
70  const std::vector<std::vector<EnergySumTemplate> >&);
71 
72  // copy constructor
73  TriggerMenu(const TriggerMenu&);
74 
75  // destructor
76  virtual ~TriggerMenu();
77 
78  // assignment operator
80 
81 public:
83  inline const std::vector<l1t::ConditionMap>& gtConditionMap() const { return m_conditionMap; }
84 
85  void setGtConditionMap(const std::vector<l1t::ConditionMap>&);
86  void buildGtConditionMap();
87 
89  inline const std::string& gtTriggerMenuInterface() const { return m_triggerMenuInterface; }
90 
92 
93  //
94  inline const std::string& gtTriggerMenuName() const { return m_triggerMenuName; }
95 
96  void setGtTriggerMenuName(const std::string&);
97 
98  //
99  inline const unsigned long gtTriggerMenuUUID() const { return m_triggerMenuUUID; }
100 
101  void setGtTriggerMenuUUID(const unsigned long uuid);
102 
103  //
104  inline const unsigned long gtTriggerMenuImplementation() const { return m_triggerMenuImplementation; }
105 
106  void setGtTriggerMenuImplementation(const unsigned long);
107 
109  inline const std::string& gtScaleDbKey() const { return m_scaleDbKey; }
110 
111  void setGtScaleDbKey(const std::string&);
112 
114  inline const std::vector<std::vector<MuonTemplate> >& vecMuonTemplate() const { return m_vecMuonTemplate; }
115 
116  void setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
117 
118  //
119  inline const std::vector<std::vector<MuonShowerTemplate> >& vecMuonShowerTemplate() const {
121  }
122 
123  void setVecMuonShowerTemplate(const std::vector<std::vector<MuonShowerTemplate> >&);
124 
125  //
126  inline const std::vector<std::vector<CaloTemplate> >& vecCaloTemplate() const { return m_vecCaloTemplate; }
127 
128  void setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
129 
130  //
131  inline const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTemplate() const {
132  return m_vecEnergySumTemplate;
133  }
134 
135  void setVecEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >&);
136 
137  //
138  inline const std::vector<std::vector<EnergySumZdcTemplate> >& vecEnergySumZdcTemplate() const {
140  }
141 
142  void setVecEnergySumZdcTemplate(const std::vector<std::vector<EnergySumZdcTemplate> >&);
143 
144  //
145  inline const std::vector<std::vector<AXOL1TLTemplate> >& vecAXOL1TLTemplate() const { return m_vecAXOL1TLTemplate; }
146 
147  void setVecAXOL1TLTemplate(const std::vector<std::vector<AXOL1TLTemplate> >&);
148 
149  //
150  inline const std::vector<std::vector<ExternalTemplate> >& vecExternalTemplate() const {
151  return m_vecExternalTemplate;
152  }
153 
154  void setVecExternalTemplate(const std::vector<std::vector<ExternalTemplate> >&);
155 
156  //
157  inline const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplate() const {
159  }
160 
161  void setVecCorrelationTemplate(const std::vector<std::vector<CorrelationTemplate> >&);
162 
163  //
164  inline const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTemplate() const {
166  }
167 
168  void setVecCorrelationThreeBodyTemplate(const std::vector<std::vector<CorrelationThreeBodyTemplate> >&);
169 
170  //
171  inline const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&
174  }
175 
177  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&);
178 
179  //
180  inline const std::vector<std::vector<MuonTemplate> >& corMuonTemplate() const { return m_corMuonTemplate; }
181 
182  void setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
183 
184  //
185  inline const std::vector<std::vector<CaloTemplate> >& corCaloTemplate() const { return m_corCaloTemplate; }
186 
187  void setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
188 
189  // get / set the vectors containing the conditions for correlation templates
190  //
191  inline const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTemplate() const {
192  return m_corEnergySumTemplate;
193  }
194 
195  void setCorEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >&);
196 
198  inline const l1t::AlgorithmMap& gtAlgorithmMap() const { return m_algorithmMap; }
199 
201 
204 
206 
208  inline const l1t::GlobalScales& gtScales() const { return m_gtScales; }
209 
210  void setGtScales(const l1t::GlobalScales&);
211 
212  /*
214  inline const l1t::AlgorithmMap& gtTechnicalTriggerMap() const {
215  return m_technicalTriggerMap;
216  }
217 
218 // void setGtTechnicalTriggerMap(const l1t::AlgorithmMap&);
219 */
222  void print(std::ostream&, int&) const;
223 
224 public:
227  const bool gtAlgorithmResult(const std::string& algName, const std::vector<bool>& decWord) const;
228 
229 private:
231  std::vector<l1t::ConditionMap> m_conditionMap;
232 
233 private:
238 
239  unsigned long m_triggerMenuUUID;
240 
243 
246  std::vector<std::vector<MuonTemplate> > m_vecMuonTemplate;
247  std::vector<std::vector<MuonShowerTemplate> > m_vecMuonShowerTemplate;
248  std::vector<std::vector<CaloTemplate> > m_vecCaloTemplate;
249  std::vector<std::vector<EnergySumTemplate> > m_vecEnergySumTemplate;
250  std::vector<std::vector<EnergySumZdcTemplate> > m_vecEnergySumZdcTemplate;
251  std::vector<std::vector<AXOL1TLTemplate> > m_vecAXOL1TLTemplate;
252 
253  std::vector<std::vector<ExternalTemplate> > m_vecExternalTemplate;
254 
255  std::vector<std::vector<CorrelationTemplate> > m_vecCorrelationTemplate;
256  std::vector<std::vector<CorrelationThreeBodyTemplate> > m_vecCorrelationThreeBodyTemplate;
257  std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> > m_vecCorrelationWithOverlapRemovalTemplate;
258  std::vector<std::vector<MuonTemplate> > m_corMuonTemplate;
259  std::vector<std::vector<CaloTemplate> > m_corCaloTemplate;
260  std::vector<std::vector<EnergySumTemplate> > m_corEnergySumTemplate;
261 
264 
267 
269  // l1t::AlgorithmMap m_technicalTriggerMap;
270 
271  // class containing the scales from the L1 Menu XML
273 };
274 
275 #endif /*L1Trigger_L1TGlobal_TriggerMenu_h*/
std::string m_triggerMenuName
Definition: TriggerMenu.h:236
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:447
const l1t::GlobalScales & gtScales() const
get the scales
Definition: TriggerMenu.h:208
void setVecExternalTemplate(const std::vector< std::vector< ExternalTemplate > > &)
Definition: TriggerMenu.cc:424
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
Definition: TriggerMenu.h:185
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:443
void setGtAlgorithmMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:456
const l1t::AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: TriggerMenu.h:198
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:242
std::vector< std::vector< CorrelationThreeBodyTemplate > > m_vecCorrelationThreeBodyTemplate
Definition: TriggerMenu.h:256
void setVecAXOL1TLTemplate(const std::vector< std::vector< AXOL1TLTemplate > > &)
Definition: TriggerMenu.cc:420
const std::vector< std::vector< MuonShowerTemplate > > & vecMuonShowerTemplate() const
Definition: TriggerMenu.h:119
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate() const
Definition: TriggerMenu.h:150
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
Definition: TriggerMenu.h:180
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
Definition: TriggerMenu.h:131
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:246
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:253
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:258
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:259
virtual ~TriggerMenu()
Definition: TriggerMenu.cc:119
void setVecCorrelationThreeBodyTemplate(const std::vector< std::vector< CorrelationThreeBodyTemplate > > &)
Definition: TriggerMenu.cc:432
const std::string & gtTriggerMenuName() const
Definition: TriggerMenu.h:94
void setGtScaleDbKey(const std::string &)
Definition: TriggerMenu.cc:397
const l1t::AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
Definition: TriggerMenu.h:203
void setGtScales(const l1t::GlobalScales &)
Definition: TriggerMenu.cc:400
void buildGtConditionMap()
Definition: TriggerMenu.cc:173
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:249
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:272
const unsigned long gtTriggerMenuUUID() const
Definition: TriggerMenu.h:99
void setVecEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:411
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:263
void setGtTriggerMenuUUID(const unsigned long uuid)
Definition: TriggerMenu.cc:394
std::vector< std::vector< EnergySumZdcTemplate > > m_vecEnergySumZdcTemplate
Definition: TriggerMenu.h:250
std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > m_vecCorrelationWithOverlapRemovalTemplate
Definition: TriggerMenu.h:257
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:403
void setCorEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:451
const std::vector< std::vector< CorrelationThreeBodyTemplate > > & vecCorrelationThreeBodyTemplate() const
Definition: TriggerMenu.h:164
void setGtConditionMap(const std::vector< l1t::ConditionMap > &)
Definition: TriggerMenu.cc:170
const unsigned long gtTriggerMenuImplementation() const
Definition: TriggerMenu.h:104
void setVecEnergySumZdcTemplate(const std::vector< std::vector< EnergySumZdcTemplate > > &)
Definition: TriggerMenu.cc:415
void setVecCorrelationWithOverlapRemovalTemplate(const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &)
Definition: TriggerMenu.cc:437
void setGtTriggerMenuName(const std::string &)
Definition: TriggerMenu.cc:388
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
Definition: TriggerMenu.h:157
void setGtTriggerMenuImplementation(const unsigned long)
Definition: TriggerMenu.cc:390
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
Definition: TriggerMenu.cc:651
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:239
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
Definition: TriggerMenu.h:126
std::vector< std::vector< AXOL1TLTemplate > > m_vecAXOL1TLTemplate
Definition: TriggerMenu.h:251
TriggerMenu & operator=(const TriggerMenu &)
Definition: TriggerMenu.cc:132
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
Definition: TriggerMenu.cc:428
const std::vector< l1t::ConditionMap > & gtConditionMap() const
get / set / build the condition maps
Definition: TriggerMenu.h:83
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:231
void setGtAlgorithmAliasMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:459
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
Definition: TriggerMenu.h:191
const std::vector< std::vector< AXOL1TLTemplate > > & vecAXOL1TLTemplate() const
Definition: TriggerMenu.h:145
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:266
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:237
const std::vector< std::vector< EnergySumZdcTemplate > > & vecEnergySumZdcTemplate() const
Definition: TriggerMenu.h:138
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
Definition: TriggerMenu.h:114
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:407
void setVecMuonShowerTemplate(const std::vector< std::vector< MuonShowerTemplate > > &)
void setGtTriggerMenuInterface(const std::string &)
Definition: TriggerMenu.cc:384
const std::string & gtScaleDbKey() const
menu associated scale key
Definition: TriggerMenu.h:109
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:235
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:260
std::map< std::string, GlobalAlgorithm > AlgorithmMap
map containing the algorithms
std::vector< std::vector< MuonShowerTemplate > > m_vecMuonShowerTemplate
Definition: TriggerMenu.h:247
const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > & vecCorrelationWithOverlapRemovalTemplate() const
Definition: TriggerMenu.h:172
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:469
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:255
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
Definition: TriggerMenu.h:89
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:248