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 
42 
43 // forward declarations
44 class GlobalCondition;
45 class L1GtAlgorithm;
46 class GlobalScales;
47 
48 // class declaration
49 class TriggerMenu {
50 public:
51  // constructor
52  TriggerMenu();
53 
54  TriggerMenu(const std::string&,
55  const unsigned int numberConditionChips,
56  const std::vector<std::vector<MuonTemplate> >&,
57  const std::vector<std::vector<MuonShowerTemplate> >&,
58  const std::vector<std::vector<CaloTemplate> >&,
59  const std::vector<std::vector<EnergySumTemplate> >&,
60  const std::vector<std::vector<ExternalTemplate> >&,
61  const std::vector<std::vector<CorrelationTemplate> >&,
62  const std::vector<std::vector<CorrelationThreeBodyTemplate> >&,
63  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&,
64  const std::vector<std::vector<MuonTemplate> >&,
65  const std::vector<std::vector<CaloTemplate> >&,
66  const std::vector<std::vector<EnergySumTemplate> >&);
67 
68  // copy constructor
69  TriggerMenu(const TriggerMenu&);
70 
71  // destructor
72  virtual ~TriggerMenu();
73 
74  // assignment operator
76 
77 public:
79  inline const std::vector<l1t::ConditionMap>& gtConditionMap() const { return m_conditionMap; }
80 
81  void setGtConditionMap(const std::vector<l1t::ConditionMap>&);
82  void buildGtConditionMap();
83 
85  inline const std::string& gtTriggerMenuInterface() const { return m_triggerMenuInterface; }
86 
88 
89  //
90  inline const std::string& gtTriggerMenuName() const { return m_triggerMenuName; }
91 
92  void setGtTriggerMenuName(const std::string&);
93 
94  //
95  inline const unsigned long gtTriggerMenuUUID() const { return m_triggerMenuUUID; }
96 
97  void setGtTriggerMenuUUID(const unsigned long uuid);
98 
99  //
100  inline const unsigned long gtTriggerMenuImplementation() const { return m_triggerMenuImplementation; }
101 
102  void setGtTriggerMenuImplementation(const unsigned long);
103 
105  inline const std::string& gtScaleDbKey() const { return m_scaleDbKey; }
106 
107  void setGtScaleDbKey(const std::string&);
108 
110  inline const std::vector<std::vector<MuonTemplate> >& vecMuonTemplate() const { return m_vecMuonTemplate; }
111 
112  void setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
113 
114  //
115  inline const std::vector<std::vector<MuonShowerTemplate> >& vecMuonShowerTemplate() const {
117  }
118 
119  void setVecMuonShowerTemplate(const std::vector<std::vector<MuonShowerTemplate> >&);
120 
121  //
122  inline const std::vector<std::vector<CaloTemplate> >& vecCaloTemplate() const { return m_vecCaloTemplate; }
123 
124  void setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
125 
126  //
127  inline const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTemplate() const {
128  return m_vecEnergySumTemplate;
129  }
130 
131  void setVecEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >&);
132 
133  inline const std::vector<std::vector<ExternalTemplate> >& vecExternalTemplate() const {
134  return m_vecExternalTemplate;
135  }
136 
137  void setVecExternalTemplate(const std::vector<std::vector<ExternalTemplate> >&);
138 
139  //
140  inline const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplate() const {
142  }
143 
144  void setVecCorrelationTemplate(const std::vector<std::vector<CorrelationTemplate> >&);
145 
146  //
147  inline const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTemplate() const {
149  }
150 
151  void setVecCorrelationThreeBodyTemplate(const std::vector<std::vector<CorrelationThreeBodyTemplate> >&);
152 
153  //
154  inline const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&
157  }
158 
160  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&);
161 
162  //
163  inline const std::vector<std::vector<MuonTemplate> >& corMuonTemplate() const { return m_corMuonTemplate; }
164 
165  void setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
166 
167  //
168  inline const std::vector<std::vector<CaloTemplate> >& corCaloTemplate() const { return m_corCaloTemplate; }
169 
170  void setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
171 
172  // get / set the vectors containing the conditions for correlation templates
173  //
174  inline const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTemplate() const {
175  return m_corEnergySumTemplate;
176  }
177 
178  void setCorEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >&);
179 
181  inline const l1t::AlgorithmMap& gtAlgorithmMap() const { return m_algorithmMap; }
182 
184 
187 
189 
191  inline const l1t::GlobalScales& gtScales() const { return m_gtScales; }
192 
193  void setGtScales(const l1t::GlobalScales&);
194 
195  /*
197  inline const l1t::AlgorithmMap& gtTechnicalTriggerMap() const {
198  return m_technicalTriggerMap;
199  }
200 
201 // void setGtTechnicalTriggerMap(const l1t::AlgorithmMap&);
202 */
205  void print(std::ostream&, int&) const;
206 
207 public:
210  const bool gtAlgorithmResult(const std::string& algName, const std::vector<bool>& decWord) const;
211 
212 private:
214  std::vector<l1t::ConditionMap> m_conditionMap;
215 
216 private:
221 
222  unsigned long m_triggerMenuUUID;
223 
226 
229  std::vector<std::vector<MuonTemplate> > m_vecMuonTemplate;
230  std::vector<std::vector<MuonShowerTemplate> > m_vecMuonShowerTemplate;
231  std::vector<std::vector<CaloTemplate> > m_vecCaloTemplate;
232  std::vector<std::vector<EnergySumTemplate> > m_vecEnergySumTemplate;
233 
234  std::vector<std::vector<ExternalTemplate> > m_vecExternalTemplate;
235 
236  std::vector<std::vector<CorrelationTemplate> > m_vecCorrelationTemplate;
237  std::vector<std::vector<CorrelationThreeBodyTemplate> > m_vecCorrelationThreeBodyTemplate;
238  std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> > m_vecCorrelationWithOverlapRemovalTemplate;
239  std::vector<std::vector<MuonTemplate> > m_corMuonTemplate;
240  std::vector<std::vector<CaloTemplate> > m_corCaloTemplate;
241  std::vector<std::vector<EnergySumTemplate> > m_corEnergySumTemplate;
242 
245 
248 
250  // l1t::AlgorithmMap m_technicalTriggerMap;
251 
252  // class containing the scales from the L1 Menu XML
254 };
255 
256 #endif /*L1Trigger_L1TGlobal_TriggerMenu_h*/
std::string m_triggerMenuName
Definition: TriggerMenu.h:219
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:391
const l1t::GlobalScales & gtScales() const
get the scales
Definition: TriggerMenu.h:191
void setVecExternalTemplate(const std::vector< std::vector< ExternalTemplate > > &)
Definition: TriggerMenu.cc:368
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
Definition: TriggerMenu.h:168
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:387
void setGtAlgorithmMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:400
const l1t::AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: TriggerMenu.h:181
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:225
std::vector< std::vector< CorrelationThreeBodyTemplate > > m_vecCorrelationThreeBodyTemplate
Definition: TriggerMenu.h:237
const std::vector< std::vector< MuonShowerTemplate > > & vecMuonShowerTemplate() const
Definition: TriggerMenu.h:115
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate() const
Definition: TriggerMenu.h:133
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
Definition: TriggerMenu.h:163
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
Definition: TriggerMenu.h:127
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:229
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:234
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:239
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:240
virtual ~TriggerMenu()
Definition: TriggerMenu.cc:113
void setVecCorrelationThreeBodyTemplate(const std::vector< std::vector< CorrelationThreeBodyTemplate > > &)
Definition: TriggerMenu.cc:376
const std::string & gtTriggerMenuName() const
Definition: TriggerMenu.h:90
void setGtScaleDbKey(const std::string &)
Definition: TriggerMenu.cc:350
const l1t::AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
Definition: TriggerMenu.h:186
void setGtScales(const l1t::GlobalScales &)
Definition: TriggerMenu.cc:353
void buildGtConditionMap()
Definition: TriggerMenu.cc:165
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:232
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:253
const unsigned long gtTriggerMenuUUID() const
Definition: TriggerMenu.h:95
void setVecEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:364
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:244
void setGtTriggerMenuUUID(const unsigned long uuid)
Definition: TriggerMenu.cc:347
std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > m_vecCorrelationWithOverlapRemovalTemplate
Definition: TriggerMenu.h:238
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:356
void setCorEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:395
const std::vector< std::vector< CorrelationThreeBodyTemplate > > & vecCorrelationThreeBodyTemplate() const
Definition: TriggerMenu.h:147
void setGtConditionMap(const std::vector< l1t::ConditionMap > &)
Definition: TriggerMenu.cc:162
const unsigned long gtTriggerMenuImplementation() const
Definition: TriggerMenu.h:100
void setVecCorrelationWithOverlapRemovalTemplate(const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &)
Definition: TriggerMenu.cc:381
void setGtTriggerMenuName(const std::string &)
Definition: TriggerMenu.cc:341
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
Definition: TriggerMenu.h:140
void setGtTriggerMenuImplementation(const unsigned long)
Definition: TriggerMenu.cc:343
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
Definition: TriggerMenu.cc:595
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:222
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
Definition: TriggerMenu.h:122
TriggerMenu & operator=(const TriggerMenu &)
Definition: TriggerMenu.cc:126
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
Definition: TriggerMenu.cc:372
const std::vector< l1t::ConditionMap > & gtConditionMap() const
get / set / build the condition maps
Definition: TriggerMenu.h:79
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:214
void setGtAlgorithmAliasMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:403
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
Definition: TriggerMenu.h:174
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:247
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:220
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
Definition: TriggerMenu.h:110
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:360
void setVecMuonShowerTemplate(const std::vector< std::vector< MuonShowerTemplate > > &)
void setGtTriggerMenuInterface(const std::string &)
Definition: TriggerMenu.cc:337
const std::string & gtScaleDbKey() const
menu associated scale key
Definition: TriggerMenu.h:105
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:218
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:241
std::map< std::string, GlobalAlgorithm > AlgorithmMap
map containing the algorithms
std::vector< std::vector< MuonShowerTemplate > > m_vecMuonShowerTemplate
Definition: TriggerMenu.h:230
const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > & vecCorrelationWithOverlapRemovalTemplate() const
Definition: TriggerMenu.h:155
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:413
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:236
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
Definition: TriggerMenu.h:85
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:231