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 
43 
44 // forward declarations
45 class GlobalCondition;
46 class L1GtAlgorithm;
47 class GlobalScales;
48 
49 // class declaration
50 class TriggerMenu {
51 public:
52  // constructor
53  TriggerMenu();
54 
55  TriggerMenu(const std::string&,
56  const unsigned int numberConditionChips,
57  const std::vector<std::vector<MuonTemplate> >&,
58  const std::vector<std::vector<MuonShowerTemplate> >&,
59  const std::vector<std::vector<CaloTemplate> >&,
60  const std::vector<std::vector<EnergySumTemplate> >&,
61  const std::vector<std::vector<EnergySumZdcTemplate> >&,
62  const std::vector<std::vector<ExternalTemplate> >&,
63  const std::vector<std::vector<CorrelationTemplate> >&,
64  const std::vector<std::vector<CorrelationThreeBodyTemplate> >&,
65  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&,
66  const std::vector<std::vector<MuonTemplate> >&,
67  const std::vector<std::vector<CaloTemplate> >&,
68  const std::vector<std::vector<EnergySumTemplate> >&);
69 
70  // copy constructor
71  TriggerMenu(const TriggerMenu&);
72 
73  // destructor
74  virtual ~TriggerMenu();
75 
76  // assignment operator
78 
79 public:
81  inline const std::vector<l1t::ConditionMap>& gtConditionMap() const { return m_conditionMap; }
82 
83  void setGtConditionMap(const std::vector<l1t::ConditionMap>&);
84  void buildGtConditionMap();
85 
87  inline const std::string& gtTriggerMenuInterface() const { return m_triggerMenuInterface; }
88 
90 
91  //
92  inline const std::string& gtTriggerMenuName() const { return m_triggerMenuName; }
93 
94  void setGtTriggerMenuName(const std::string&);
95 
96  //
97  inline const unsigned long gtTriggerMenuUUID() const { return m_triggerMenuUUID; }
98 
99  void setGtTriggerMenuUUID(const unsigned long uuid);
100 
101  //
102  inline const unsigned long gtTriggerMenuImplementation() const { return m_triggerMenuImplementation; }
103 
104  void setGtTriggerMenuImplementation(const unsigned long);
105 
107  inline const std::string& gtScaleDbKey() const { return m_scaleDbKey; }
108 
109  void setGtScaleDbKey(const std::string&);
110 
112  inline const std::vector<std::vector<MuonTemplate> >& vecMuonTemplate() const { return m_vecMuonTemplate; }
113 
114  void setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
115 
116  //
117  inline const std::vector<std::vector<MuonShowerTemplate> >& vecMuonShowerTemplate() const {
119  }
120 
121  void setVecMuonShowerTemplate(const std::vector<std::vector<MuonShowerTemplate> >&);
122 
123  //
124  inline const std::vector<std::vector<CaloTemplate> >& vecCaloTemplate() const { return m_vecCaloTemplate; }
125 
126  void setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
127 
128  //
129  inline const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTemplate() const {
130  return m_vecEnergySumTemplate;
131  }
132 
133  void setVecEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >&);
134 
135  //
136  inline const std::vector<std::vector<EnergySumZdcTemplate> >& vecEnergySumZdcTemplate() const {
138  }
139 
140  void setVecEnergySumZdcTemplate(const std::vector<std::vector<EnergySumZdcTemplate> >&);
141 
142  //
143  inline const std::vector<std::vector<ExternalTemplate> >& vecExternalTemplate() const {
144  return m_vecExternalTemplate;
145  }
146 
147  void setVecExternalTemplate(const std::vector<std::vector<ExternalTemplate> >&);
148 
149  //
150  inline const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplate() const {
152  }
153 
154  void setVecCorrelationTemplate(const std::vector<std::vector<CorrelationTemplate> >&);
155 
156  //
157  inline const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTemplate() const {
159  }
160 
161  void setVecCorrelationThreeBodyTemplate(const std::vector<std::vector<CorrelationThreeBodyTemplate> >&);
162 
163  //
164  inline const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&
167  }
168 
170  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&);
171 
172  //
173  inline const std::vector<std::vector<MuonTemplate> >& corMuonTemplate() const { return m_corMuonTemplate; }
174 
175  void setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
176 
177  //
178  inline const std::vector<std::vector<CaloTemplate> >& corCaloTemplate() const { return m_corCaloTemplate; }
179 
180  void setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
181 
182  // get / set the vectors containing the conditions for correlation templates
183  //
184  inline const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTemplate() const {
185  return m_corEnergySumTemplate;
186  }
187 
188  void setCorEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >&);
189 
191  inline const l1t::AlgorithmMap& gtAlgorithmMap() const { return m_algorithmMap; }
192 
194 
197 
199 
201  inline const l1t::GlobalScales& gtScales() const { return m_gtScales; }
202 
203  void setGtScales(const l1t::GlobalScales&);
204 
205  /*
207  inline const l1t::AlgorithmMap& gtTechnicalTriggerMap() const {
208  return m_technicalTriggerMap;
209  }
210 
211 // void setGtTechnicalTriggerMap(const l1t::AlgorithmMap&);
212 */
215  void print(std::ostream&, int&) const;
216 
217 public:
220  const bool gtAlgorithmResult(const std::string& algName, const std::vector<bool>& decWord) const;
221 
222 private:
224  std::vector<l1t::ConditionMap> m_conditionMap;
225 
226 private:
231 
232  unsigned long m_triggerMenuUUID;
233 
236 
239  std::vector<std::vector<MuonTemplate> > m_vecMuonTemplate;
240  std::vector<std::vector<MuonShowerTemplate> > m_vecMuonShowerTemplate;
241  std::vector<std::vector<CaloTemplate> > m_vecCaloTemplate;
242  std::vector<std::vector<EnergySumTemplate> > m_vecEnergySumTemplate;
243  std::vector<std::vector<EnergySumZdcTemplate> > m_vecEnergySumZdcTemplate;
244 
245  std::vector<std::vector<ExternalTemplate> > m_vecExternalTemplate;
246 
247  std::vector<std::vector<CorrelationTemplate> > m_vecCorrelationTemplate;
248  std::vector<std::vector<CorrelationThreeBodyTemplate> > m_vecCorrelationThreeBodyTemplate;
249  std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> > m_vecCorrelationWithOverlapRemovalTemplate;
250  std::vector<std::vector<MuonTemplate> > m_corMuonTemplate;
251  std::vector<std::vector<CaloTemplate> > m_corCaloTemplate;
252  std::vector<std::vector<EnergySumTemplate> > m_corEnergySumTemplate;
253 
256 
259 
261  // l1t::AlgorithmMap m_technicalTriggerMap;
262 
263  // class containing the scales from the L1 Menu XML
265 };
266 
267 #endif /*L1Trigger_L1TGlobal_TriggerMenu_h*/
std::string m_triggerMenuName
Definition: TriggerMenu.h:229
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:419
const l1t::GlobalScales & gtScales() const
get the scales
Definition: TriggerMenu.h:201
void setVecExternalTemplate(const std::vector< std::vector< ExternalTemplate > > &)
Definition: TriggerMenu.cc:396
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
Definition: TriggerMenu.h:178
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:415
void setGtAlgorithmMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:428
const l1t::AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: TriggerMenu.h:191
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:235
std::vector< std::vector< CorrelationThreeBodyTemplate > > m_vecCorrelationThreeBodyTemplate
Definition: TriggerMenu.h:248
const std::vector< std::vector< MuonShowerTemplate > > & vecMuonShowerTemplate() const
Definition: TriggerMenu.h:117
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate() const
Definition: TriggerMenu.h:143
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
Definition: TriggerMenu.h:173
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
Definition: TriggerMenu.h:129
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:239
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:245
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:250
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:251
virtual ~TriggerMenu()
Definition: TriggerMenu.cc:116
void setVecCorrelationThreeBodyTemplate(const std::vector< std::vector< CorrelationThreeBodyTemplate > > &)
Definition: TriggerMenu.cc:404
const std::string & gtTriggerMenuName() const
Definition: TriggerMenu.h:92
void setGtScaleDbKey(const std::string &)
Definition: TriggerMenu.cc:373
const l1t::AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
Definition: TriggerMenu.h:196
void setGtScales(const l1t::GlobalScales &)
Definition: TriggerMenu.cc:376
void buildGtConditionMap()
Definition: TriggerMenu.cc:169
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:242
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:264
const unsigned long gtTriggerMenuUUID() const
Definition: TriggerMenu.h:97
void setVecEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:387
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:255
void setGtTriggerMenuUUID(const unsigned long uuid)
Definition: TriggerMenu.cc:370
std::vector< std::vector< EnergySumZdcTemplate > > m_vecEnergySumZdcTemplate
Definition: TriggerMenu.h:243
std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > m_vecCorrelationWithOverlapRemovalTemplate
Definition: TriggerMenu.h:249
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:379
void setCorEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:423
const std::vector< std::vector< CorrelationThreeBodyTemplate > > & vecCorrelationThreeBodyTemplate() const
Definition: TriggerMenu.h:157
void setGtConditionMap(const std::vector< l1t::ConditionMap > &)
Definition: TriggerMenu.cc:166
const unsigned long gtTriggerMenuImplementation() const
Definition: TriggerMenu.h:102
void setVecEnergySumZdcTemplate(const std::vector< std::vector< EnergySumZdcTemplate > > &)
Definition: TriggerMenu.cc:391
void setVecCorrelationWithOverlapRemovalTemplate(const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &)
Definition: TriggerMenu.cc:409
void setGtTriggerMenuName(const std::string &)
Definition: TriggerMenu.cc:364
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
Definition: TriggerMenu.h:150
void setGtTriggerMenuImplementation(const unsigned long)
Definition: TriggerMenu.cc:366
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
Definition: TriggerMenu.cc:623
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:232
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
Definition: TriggerMenu.h:124
TriggerMenu & operator=(const TriggerMenu &)
Definition: TriggerMenu.cc:129
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
Definition: TriggerMenu.cc:400
const std::vector< l1t::ConditionMap > & gtConditionMap() const
get / set / build the condition maps
Definition: TriggerMenu.h:81
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:224
void setGtAlgorithmAliasMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:431
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
Definition: TriggerMenu.h:184
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:258
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:230
const std::vector< std::vector< EnergySumZdcTemplate > > & vecEnergySumZdcTemplate() const
Definition: TriggerMenu.h:136
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
Definition: TriggerMenu.h:112
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:383
void setVecMuonShowerTemplate(const std::vector< std::vector< MuonShowerTemplate > > &)
void setGtTriggerMenuInterface(const std::string &)
Definition: TriggerMenu.cc:360
const std::string & gtScaleDbKey() const
menu associated scale key
Definition: TriggerMenu.h:107
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:228
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:252
std::map< std::string, GlobalAlgorithm > AlgorithmMap
map containing the algorithms
std::vector< std::vector< MuonShowerTemplate > > m_vecMuonShowerTemplate
Definition: TriggerMenu.h:240
const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > & vecCorrelationWithOverlapRemovalTemplate() const
Definition: TriggerMenu.h:165
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:441
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:247
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
Definition: TriggerMenu.h:87
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:241