CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
41 
42 // forward declarations
43 class GlobalCondition;
44 class L1GtAlgorithm;
45 class GlobalScales;
46 
47 // class declaration
48 class TriggerMenu {
49 public:
50  // constructor
51  TriggerMenu();
52 
53  TriggerMenu(const std::string&,
54  const unsigned int numberConditionChips,
55  const std::vector<std::vector<MuonTemplate> >&,
56  const std::vector<std::vector<CaloTemplate> >&,
57  const std::vector<std::vector<EnergySumTemplate> >&,
58  const std::vector<std::vector<ExternalTemplate> >&,
59  const std::vector<std::vector<CorrelationTemplate> >&,
60  const std::vector<std::vector<CorrelationThreeBodyTemplate> >&,
61  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&,
62  const std::vector<std::vector<MuonTemplate> >&,
63  const std::vector<std::vector<CaloTemplate> >&,
64  const std::vector<std::vector<EnergySumTemplate> >&);
65 
66  // copy constructor
67  TriggerMenu(const TriggerMenu&);
68 
69  // destructor
70  virtual ~TriggerMenu();
71 
72  // assignment operator
74 
75 public:
77  inline const std::vector<l1t::ConditionMap>& gtConditionMap() const { return m_conditionMap; }
78 
79  void setGtConditionMap(const std::vector<l1t::ConditionMap>&);
80  void buildGtConditionMap();
81 
83  inline const std::string& gtTriggerMenuInterface() const { return m_triggerMenuInterface; }
84 
86 
87  //
88  inline const std::string& gtTriggerMenuName() const { return m_triggerMenuName; }
89 
90  void setGtTriggerMenuName(const std::string&);
91 
92  //
93  inline const unsigned long gtTriggerMenuUUID() const { return m_triggerMenuUUID; }
94 
95  void setGtTriggerMenuUUID(const unsigned long uuid);
96 
97  //
98  inline const unsigned long gtTriggerMenuImplementation() const { return m_triggerMenuImplementation; }
99 
100  void setGtTriggerMenuImplementation(const unsigned long);
101 
103  inline const std::string& gtScaleDbKey() const { return m_scaleDbKey; }
104 
105  void setGtScaleDbKey(const std::string&);
106 
108  inline const std::vector<std::vector<MuonTemplate> >& vecMuonTemplate() const { return m_vecMuonTemplate; }
109 
110  void setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
111 
112  //
113  inline const std::vector<std::vector<CaloTemplate> >& vecCaloTemplate() const { return m_vecCaloTemplate; }
114 
115  void setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
116 
117  //
118  inline const std::vector<std::vector<EnergySumTemplate> >& vecEnergySumTemplate() const {
119  return m_vecEnergySumTemplate;
120  }
121 
122  void setVecEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >&);
123 
124  inline const std::vector<std::vector<ExternalTemplate> >& vecExternalTemplate() const {
125  return m_vecExternalTemplate;
126  }
127 
128  void setVecExternalTemplate(const std::vector<std::vector<ExternalTemplate> >&);
129 
130  //
131  inline const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplate() const {
133  }
134 
135  void setVecCorrelationTemplate(const std::vector<std::vector<CorrelationTemplate> >&);
136 
137  //
138  inline const std::vector<std::vector<CorrelationThreeBodyTemplate> >& vecCorrelationThreeBodyTemplate() const {
140  }
141 
142  void setVecCorrelationThreeBodyTemplate(const std::vector<std::vector<CorrelationThreeBodyTemplate> >&);
143 
144  //
145  inline const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&
148  }
149 
151  const std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> >&);
152 
153  //
154  inline const std::vector<std::vector<MuonTemplate> >& corMuonTemplate() const { return m_corMuonTemplate; }
155 
156  void setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
157 
158  //
159  inline const std::vector<std::vector<CaloTemplate> >& corCaloTemplate() const { return m_corCaloTemplate; }
160 
161  void setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
162 
163  // get / set the vectors containing the conditions for correlation templates
164  //
165  inline const std::vector<std::vector<EnergySumTemplate> >& corEnergySumTemplate() const {
166  return m_corEnergySumTemplate;
167  }
168 
169  void setCorEnergySumTemplate(const std::vector<std::vector<EnergySumTemplate> >&);
170 
172  inline const l1t::AlgorithmMap& gtAlgorithmMap() const { return m_algorithmMap; }
173 
175 
178 
180 
182  inline const l1t::GlobalScales& gtScales() const { return m_gtScales; }
183 
184  void setGtScales(const l1t::GlobalScales&);
185 
186  /*
188  inline const l1t::AlgorithmMap& gtTechnicalTriggerMap() const {
189  return m_technicalTriggerMap;
190  }
191 
192 // void setGtTechnicalTriggerMap(const l1t::AlgorithmMap&);
193 */
196  void print(std::ostream&, int&) const;
197 
198 public:
201  const bool gtAlgorithmResult(const std::string& algName, const std::vector<bool>& decWord) const;
202 
203 private:
205  std::vector<l1t::ConditionMap> m_conditionMap;
206 
207 private:
212 
213  unsigned long m_triggerMenuUUID;
214 
217 
220  std::vector<std::vector<MuonTemplate> > m_vecMuonTemplate;
221  std::vector<std::vector<CaloTemplate> > m_vecCaloTemplate;
222  std::vector<std::vector<EnergySumTemplate> > m_vecEnergySumTemplate;
223 
224  std::vector<std::vector<ExternalTemplate> > m_vecExternalTemplate;
225 
226  std::vector<std::vector<CorrelationTemplate> > m_vecCorrelationTemplate;
227  std::vector<std::vector<CorrelationThreeBodyTemplate> > m_vecCorrelationThreeBodyTemplate;
228  std::vector<std::vector<CorrelationWithOverlapRemovalTemplate> > m_vecCorrelationWithOverlapRemovalTemplate;
229  std::vector<std::vector<MuonTemplate> > m_corMuonTemplate;
230  std::vector<std::vector<CaloTemplate> > m_corCaloTemplate;
231  std::vector<std::vector<EnergySumTemplate> > m_corEnergySumTemplate;
232 
235 
238 
240  // l1t::AlgorithmMap m_technicalTriggerMap;
241 
242  // class containing the scales from the L1 Menu XML
244 };
245 
246 #endif /*L1Trigger_L1TGlobal_TriggerMenu_h*/
const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > & vecCorrelationWithOverlapRemovalTemplate() const
Definition: TriggerMenu.h:146
std::string m_triggerMenuName
Definition: TriggerMenu.h:210
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:367
const l1t::AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
Definition: TriggerMenu.h:177
void setVecExternalTemplate(const std::vector< std::vector< ExternalTemplate > > &)
Definition: TriggerMenu.cc:344
const std::vector< std::vector< ExternalTemplate > > & vecExternalTemplate() const
Definition: TriggerMenu.h:124
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:363
const unsigned long gtTriggerMenuUUID() const
Definition: TriggerMenu.h:93
const std::vector< std::vector< EnergySumTemplate > > & vecEnergySumTemplate() const
Definition: TriggerMenu.h:118
const l1t::GlobalScales & gtScales() const
get the scales
Definition: TriggerMenu.h:182
void setGtAlgorithmMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:376
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:216
std::vector< std::vector< CorrelationThreeBodyTemplate > > m_vecCorrelationThreeBodyTemplate
Definition: TriggerMenu.h:227
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
Definition: TriggerMenu.h:165
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:220
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:224
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:229
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:230
virtual ~TriggerMenu()
Definition: TriggerMenu.cc:110
void setVecCorrelationThreeBodyTemplate(const std::vector< std::vector< CorrelationThreeBodyTemplate > > &)
Definition: TriggerMenu.cc:352
void setGtScaleDbKey(const std::string &)
Definition: TriggerMenu.cc:326
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
Definition: TriggerMenu.h:159
void setGtScales(const l1t::GlobalScales &)
Definition: TriggerMenu.cc:329
void buildGtConditionMap()
Definition: TriggerMenu.cc:161
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:222
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:243
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
Definition: TriggerMenu.h:113
void setVecEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:340
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:234
void setGtTriggerMenuUUID(const unsigned long uuid)
Definition: TriggerMenu.cc:323
std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > m_vecCorrelationWithOverlapRemovalTemplate
Definition: TriggerMenu.h:228
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
Definition: TriggerMenu.cc:332
void setCorEnergySumTemplate(const std::vector< std::vector< EnergySumTemplate > > &)
Definition: TriggerMenu.cc:371
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:389
void setGtConditionMap(const std::vector< l1t::ConditionMap > &)
Definition: TriggerMenu.cc:158
const l1t::AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: TriggerMenu.h:172
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
Definition: TriggerMenu.h:83
const std::vector< l1t::ConditionMap > & gtConditionMap() const
get / set / build the condition maps
Definition: TriggerMenu.h:77
const std::vector< std::vector< CorrelationThreeBodyTemplate > > & vecCorrelationThreeBodyTemplate() const
Definition: TriggerMenu.h:138
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
Definition: TriggerMenu.h:108
const std::string & gtTriggerMenuName() const
Definition: TriggerMenu.h:88
void setVecCorrelationWithOverlapRemovalTemplate(const std::vector< std::vector< CorrelationWithOverlapRemovalTemplate > > &)
Definition: TriggerMenu.cc:357
const unsigned long gtTriggerMenuImplementation() const
Definition: TriggerMenu.h:98
void setGtTriggerMenuName(const std::string &)
Definition: TriggerMenu.cc:317
void setGtTriggerMenuImplementation(const unsigned long)
Definition: TriggerMenu.cc:319
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:213
TriggerMenu & operator=(const TriggerMenu &)
Definition: TriggerMenu.cc:123
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
Definition: TriggerMenu.cc:348
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:205
void setGtAlgorithmAliasMap(const l1t::AlgorithmMap &)
Definition: TriggerMenu.cc:379
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:237
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:211
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
Definition: TriggerMenu.cc:336
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
Definition: TriggerMenu.cc:571
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
Definition: TriggerMenu.h:154
void setGtTriggerMenuInterface(const std::string &)
Definition: TriggerMenu.cc:313
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:209
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:231
std::map< std::string, GlobalAlgorithm > AlgorithmMap
map containing the algorithms
const std::string & gtScaleDbKey() const
menu associated scale key
Definition: TriggerMenu.h:103
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:226
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
Definition: TriggerMenu.h:131
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:221