CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
TriggerMenu Class Reference

#include <TriggerMenu.h>

Public Member Functions

void buildGtConditionMap ()
 
const std::vector< std::vector
< CaloTemplate > > & 
corCaloTemplate () const
 
const std::vector< std::vector
< EnergySumTemplate > > & 
corEnergySumTemplate () const
 
const std::vector< std::vector
< MuonTemplate > > & 
corMuonTemplate () const
 
const l1t::AlgorithmMapgtAlgorithmAliasMap () const
 get / set the algorithm map (by alias) More...
 
const l1t::AlgorithmMapgtAlgorithmMap () const
 get / set the algorithm map (by name) More...
 
const bool gtAlgorithmResult (const std::string &algName, const std::vector< bool > &decWord) const
 
const std::vector
< l1t::ConditionMap > & 
gtConditionMap () const
 get / set / build the condition maps More...
 
const std::string & gtScaleDbKey () const
 menu associated scale key More...
 
const l1t::GlobalScalesgtScales () const
 get the scales More...
 
const unsigned long gtTriggerMenuImplementation () const
 
const std::string & gtTriggerMenuInterface () const
 get / set the trigger menu names More...
 
const std::string & gtTriggerMenuName () const
 
const unsigned long gtTriggerMenuUUID () const
 
TriggerMenuoperator= (const TriggerMenu &)
 
void print (std::ostream &, int &) const
 
void setCorCaloTemplate (const std::vector< std::vector< CaloTemplate > > &)
 
void setCorEnergySumTemplate (const std::vector< std::vector< EnergySumTemplate > > &)
 
void setCorMuonTemplate (const std::vector< std::vector< MuonTemplate > > &)
 
void setGtAlgorithmAliasMap (const l1t::AlgorithmMap &)
 
void setGtAlgorithmMap (const l1t::AlgorithmMap &)
 
void setGtConditionMap (const std::vector< l1t::ConditionMap > &)
 
void setGtScaleDbKey (const std::string &)
 
void setGtScales (const l1t::GlobalScales &)
 
void setGtTriggerMenuImplementation (const unsigned long)
 
void setGtTriggerMenuInterface (const std::string &)
 
void setGtTriggerMenuName (const std::string &)
 
void setGtTriggerMenuUUID (const unsigned long uuid)
 
void setVecCaloTemplate (const std::vector< std::vector< CaloTemplate > > &)
 
void setVecCorrelationTemplate (const std::vector< std::vector< CorrelationTemplate > > &)
 
void setVecEnergySumTemplate (const std::vector< std::vector< EnergySumTemplate > > &)
 
void setVecExternalTemplate (const std::vector< std::vector< ExternalTemplate > > &)
 
void setVecMuonTemplate (const std::vector< std::vector< MuonTemplate > > &)
 
 TriggerMenu ()
 
 TriggerMenu (const std::string &, const unsigned int numberConditionChips, const std::vector< std::vector< MuonTemplate > > &, const std::vector< std::vector< CaloTemplate > > &, const std::vector< std::vector< EnergySumTemplate > > &, const std::vector< std::vector< ExternalTemplate > > &, const std::vector< std::vector< CorrelationTemplate > > &, const std::vector< std::vector< MuonTemplate > > &, const std::vector< std::vector< CaloTemplate > > &, const std::vector< std::vector< EnergySumTemplate > > &)
 
 TriggerMenu (const TriggerMenu &)
 
const std::vector< std::vector
< CaloTemplate > > & 
vecCaloTemplate () const
 
const std::vector< std::vector
< CorrelationTemplate > > & 
vecCorrelationTemplate () const
 
const std::vector< std::vector
< EnergySumTemplate > > & 
vecEnergySumTemplate () const
 
const std::vector< std::vector
< ExternalTemplate > > & 
vecExternalTemplate () const
 
const std::vector< std::vector
< MuonTemplate > > & 
vecMuonTemplate () const
 get / set the vectors containing the conditions More...
 
virtual ~TriggerMenu ()
 

Private Attributes

l1t::AlgorithmMap m_algorithmAliasMap
 map containing the physics algorithms (by alias) More...
 
l1t::AlgorithmMap m_algorithmMap
 map containing the physics algorithms (by name) More...
 
std::vector< l1t::ConditionMapm_conditionMap
 map containing the conditions (per condition chip) - transient More...
 
std::vector< std::vector
< CaloTemplate > > 
m_corCaloTemplate
 
std::vector< std::vector
< EnergySumTemplate > > 
m_corEnergySumTemplate
 
std::vector< std::vector
< MuonTemplate > > 
m_corMuonTemplate
 
l1t::GlobalScales m_gtScales
 map containing the technical triggers More...
 
std::string m_scaleDbKey
 menu associated scale key More...
 
unsigned long m_triggerMenuImplementation
 
std::string m_triggerMenuInterface
 menu names More...
 
std::string m_triggerMenuName
 
unsigned long m_triggerMenuUUID
 
std::vector< std::vector
< CaloTemplate > > 
m_vecCaloTemplate
 
std::vector< std::vector
< CorrelationTemplate > > 
m_vecCorrelationTemplate
 
std::vector< std::vector
< EnergySumTemplate > > 
m_vecEnergySumTemplate
 
std::vector< std::vector
< ExternalTemplate > > 
m_vecExternalTemplate
 
std::vector< std::vector
< MuonTemplate > > 
m_vecMuonTemplate
 

Detailed Description

Description: L1 trigger menu.

Implementation: <TODO: enter implementation details>

Author
: Vasile Mihai Ghete - HEPHY Vienna

$Date$ $Revision$

Definition at line 45 of file TriggerMenu.h.

Constructor & Destructor Documentation

TriggerMenu::TriggerMenu ( )

Definition at line 31 of file TriggerMenu.cc.

32  : m_triggerMenuInterface( "NULL" ),
33  m_triggerMenuName( "NULL" ),
35  m_scaleDbKey( "NULL" )
36 {
37  // empty
38 }
std::string m_triggerMenuName
Definition: TriggerMenu.h:239
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:245
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:240
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:238
TriggerMenu::TriggerMenu ( const std::string &  triggerMenuNameVal,
const unsigned int  numberConditionChips,
const std::vector< std::vector< MuonTemplate > > &  vecMuonTemplateVal,
const std::vector< std::vector< CaloTemplate > > &  vecCaloTemplateVal,
const std::vector< std::vector< EnergySumTemplate > > &  vecEnergySumTemplateVal,
const std::vector< std::vector< ExternalTemplate > > &  vecExternalTemplateVal,
const std::vector< std::vector< CorrelationTemplate > > &  vecCorrelationTemplateVal,
const std::vector< std::vector< MuonTemplate > > &  corMuonTemplateVal,
const std::vector< std::vector< CaloTemplate > > &  corCaloTemplateVal,
const std::vector< std::vector< EnergySumTemplate > > &  corEnergySumTemplateVal 
)

Definition at line 40 of file TriggerMenu.cc.

References buildGtConditionMap(), m_conditionMap, and m_triggerMenuUUID.

52  :
53  m_triggerMenuInterface( "NULL" ),
54  m_triggerMenuName(triggerMenuNameVal),
56  m_scaleDbKey( "NULL" ),
57  m_vecMuonTemplate(vecMuonTemplateVal),
58  m_vecCaloTemplate(vecCaloTemplateVal),
59  m_vecEnergySumTemplate(vecEnergySumTemplateVal),
60  m_vecExternalTemplate(vecExternalTemplateVal),
61  m_vecCorrelationTemplate(vecCorrelationTemplateVal),
62  m_corMuonTemplate(corMuonTemplateVal),
63  m_corCaloTemplate(corCaloTemplateVal),
64  m_corEnergySumTemplate(corEnergySumTemplateVal)
65 {
66 
67  m_conditionMap.resize(numberConditionChips);
70 
71 }
std::string m_triggerMenuName
Definition: TriggerMenu.h:239
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:245
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:249
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:253
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:256
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:257
void buildGtConditionMap()
Definition: TriggerMenu.cc:168
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:251
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:242
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:233
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:240
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:238
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:258
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:255
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:250
TriggerMenu::TriggerMenu ( const TriggerMenu rhs)

Definition at line 74 of file TriggerMenu.cc.

References m_algorithmAliasMap, m_algorithmMap, m_conditionMap, m_corCaloTemplate, m_corEnergySumTemplate, m_corMuonTemplate, m_scaleDbKey, m_triggerMenuImplementation, m_triggerMenuInterface, m_triggerMenuName, m_triggerMenuUUID, m_vecCaloTemplate, m_vecCorrelationTemplate, m_vecEnergySumTemplate, m_vecExternalTemplate, and m_vecMuonTemplate.

75 {
76 
82 
83  // copy physics conditions
88 
93 
94  // rebuild condition map to update the pointers
95  // (only physics conditions are included in it)
96  m_conditionMap.resize(rhs.m_conditionMap.size());
97  (*this).buildGtConditionMap();
98 
99  // copy algorithm map
102 
103  // copy technical triggers
104  // (separate map for technical triggers and physics triggers)
105  //m_technicalTriggerMap = rhs.m_technicalTriggerMap;
106 
107 }
std::string m_triggerMenuName
Definition: TriggerMenu.h:239
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:245
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:249
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:253
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:256
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:257
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:251
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:261
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:242
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:233
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:264
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:240
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:238
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:258
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:255
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:250
TriggerMenu::~TriggerMenu ( )
virtual

Definition at line 110 of file TriggerMenu.cc.

References m_algorithmAliasMap, m_algorithmMap, and m_conditionMap.

111 {
112 
113  // loop over condition maps (one map per condition chip)
114  for (std::vector<l1t::ConditionMap>::iterator
115  itCondOnChip = m_conditionMap.begin(); itCondOnChip != m_conditionMap.end(); itCondOnChip++) {
116 
117  itCondOnChip->clear();
118 
119  }
120 
121  m_algorithmMap.clear();
122  m_algorithmAliasMap.clear();
123 }
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:261
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:233
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:264

Member Function Documentation

void TriggerMenu::buildGtConditionMap ( )

DMP: Comment out unused templates for now

Definition at line 168 of file TriggerMenu.cc.

References m_conditionMap, m_vecCaloTemplate, m_vecCorrelationTemplate, m_vecEnergySumTemplate, m_vecExternalTemplate, and m_vecMuonTemplate.

Referenced by TriggerMenu().

168  {
169 
170  // clear the conditions from the maps, if any
171  for (std::vector<l1t::ConditionMap>::iterator itCondOnChip =
172  m_conditionMap.begin(); itCondOnChip != m_conditionMap.end(); itCondOnChip++) {
173 
174  itCondOnChip->clear();
175 
176  }
177 
178  // always check that the size of the condition map is greater than the size
179  // of the specific condition vector
180  size_t condMapSize = m_conditionMap.size();
181 
182  //
183  size_t vecMuonSize = m_vecMuonTemplate.size();
184  if (condMapSize < vecMuonSize) {
185  m_conditionMap.resize(vecMuonSize);
186  condMapSize = m_conditionMap.size();
187  }
188 
189  int chipNr = -1;
190 
191  for (std::vector<std::vector<MuonTemplate> >::iterator
192  itCondOnChip = m_vecMuonTemplate.begin();
193  itCondOnChip != m_vecMuonTemplate.end();
194  itCondOnChip++) {
195 
196  chipNr++;
197 
198  for (std::vector<MuonTemplate>::iterator
199  itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
200  itCond++) {
201 
202  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
203  }
204  }
205 
206  //
207  size_t vecCaloSize = m_vecCaloTemplate.size();
208  if (condMapSize < vecCaloSize) {
209  m_conditionMap.resize(vecCaloSize);
210  condMapSize = m_conditionMap.size();
211  }
212 
213  chipNr = -1;
214  for (std::vector<std::vector<CaloTemplate> >::iterator
215  itCondOnChip = m_vecCaloTemplate.begin();
216  itCondOnChip != m_vecCaloTemplate.end();
217  itCondOnChip++) {
218 
219  chipNr++;
220 
221  for (std::vector<CaloTemplate>::iterator
222  itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
223  itCond++) {
224 
225  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
226  }
227  }
228 
229 
230  //
231  size_t vecEnergySumSize = m_vecEnergySumTemplate.size();
232  if (condMapSize < vecEnergySumSize) {
233  m_conditionMap.resize(vecEnergySumSize);
234  condMapSize = m_conditionMap.size();
235  }
236 
237  chipNr = -1;
238  for (std::vector<std::vector<EnergySumTemplate> >::iterator
239  itCondOnChip = m_vecEnergySumTemplate.begin();
240  itCondOnChip != m_vecEnergySumTemplate.end();
241  itCondOnChip++) {
242 
243  chipNr++;
244 
245  for (std::vector<EnergySumTemplate>::iterator
246  itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
247  itCond++) {
248 
249  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
250  }
251  }
252 
254  //
255  //
256  size_t vecExternalSize = m_vecExternalTemplate.size();
257  if (condMapSize < vecExternalSize) {
258  m_conditionMap.resize(vecExternalSize);
259  condMapSize = m_conditionMap.size();
260  }
261 
262  chipNr = -1;
263  for (std::vector<std::vector<ExternalTemplate> >::iterator
264  itCondOnChip = m_vecExternalTemplate.begin();
265  itCondOnChip != m_vecExternalTemplate.end();
266  itCondOnChip++) {
267 
268  chipNr++;
269 
270  for (std::vector<ExternalTemplate>::iterator
271  itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
272  itCond++) {
273 
274  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
275  }
276  }
277 
278 
279  //
280  size_t vecCorrelationSize = m_vecCorrelationTemplate.size();
281  if (condMapSize < vecCorrelationSize) {
282  m_conditionMap.resize(vecCorrelationSize);
283  condMapSize = m_conditionMap.size();
284  }
285 
286  chipNr = -1;
287  for (std::vector<std::vector<CorrelationTemplate> >::iterator
288  itCondOnChip = m_vecCorrelationTemplate.begin();
289  itCondOnChip != m_vecCorrelationTemplate.end();
290  itCondOnChip++) {
291 
292  chipNr++;
293 
294  for (std::vector<CorrelationTemplate>::iterator
295  itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
296  itCond++) {
297 
298  (m_conditionMap.at(chipNr))[itCond->condName()] = &(*itCond);
299  }
300  }
301 
302 
303 
304 
305 }
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:249
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:253
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:251
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:233
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:255
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:250
const std::vector<std::vector<CaloTemplate> >& TriggerMenu::corCaloTemplate ( ) const
inline

Definition at line 171 of file TriggerMenu.h.

References m_corCaloTemplate.

Referenced by l1t::GlobalBoard::runGTL().

171  {
172  return m_corCaloTemplate;
173  }
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:257
const std::vector<std::vector<EnergySumTemplate> >& TriggerMenu::corEnergySumTemplate ( ) const
inline

Definition at line 180 of file TriggerMenu.h.

References m_corEnergySumTemplate.

Referenced by l1t::GlobalBoard::runGTL().

180  {
181 
182  return m_corEnergySumTemplate;
183  }
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:258
const std::vector<std::vector<MuonTemplate> >& TriggerMenu::corMuonTemplate ( ) const
inline

Definition at line 164 of file TriggerMenu.h.

References m_corMuonTemplate.

Referenced by l1t::GlobalBoard::runGTL().

164  {
165  return m_corMuonTemplate;
166  }
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:256
const l1t::AlgorithmMap& TriggerMenu::gtAlgorithmAliasMap ( ) const
inline

get / set the algorithm map (by alias)

Definition at line 197 of file TriggerMenu.h.

References m_algorithmAliasMap.

197  {
198  return m_algorithmAliasMap;
199  }
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:264
const l1t::AlgorithmMap& TriggerMenu::gtAlgorithmMap ( ) const
inline

get / set the algorithm map (by name)

Definition at line 190 of file TriggerMenu.h.

References m_algorithmMap.

Referenced by l1t::GlobalBoard::runGTL().

190  {
191  return m_algorithmMap;
192  }
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:261
const bool TriggerMenu::gtAlgorithmResult ( const std::string &  algName,
const std::vector< bool > &  decWord 
) const

get the result for algorithm with name algName use directly the format of decisionWord (no typedef)

Definition at line 619 of file TriggerMenu.cc.

References m_algorithmMap.

620  {
621 
622  bool algResult = false;
623 
624  l1t::CItAlgo itAlgo = m_algorithmMap.find(algName);
625  if (itAlgo != m_algorithmMap.end()) {
626  int bitNumber = (itAlgo->second).algoBitNumber();
627  algResult = decWord.at(bitNumber);
628  return algResult;
629  }
630 
631  // return false if the algorithm name is not found in the menu
632  // TODO throw exception or LogInfo would be better - but the class is used in
633  // XDAQ Trigger Supervisor (outside CMSSW) hence no CMSSW dependence
634  // is allowed here...
635 
636  return false;
637 
638 }
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:261
const std::vector<l1t::ConditionMap>& TriggerMenu::gtConditionMap ( ) const
inline

get / set / build the condition maps

Definition at line 76 of file TriggerMenu.h.

References m_conditionMap.

Referenced by l1t::GlobalBoard::runGTL().

76  {
77  return m_conditionMap;
78  }
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:233
const std::string& TriggerMenu::gtScaleDbKey ( ) const
inline

menu associated scale key

Definition at line 113 of file TriggerMenu.h.

References m_scaleDbKey.

113  {
114  return m_scaleDbKey;
115  }
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:245
const l1t::GlobalScales& TriggerMenu::gtScales ( ) const
inline

get the scales

Definition at line 205 of file TriggerMenu.h.

References m_gtScales.

Referenced by l1t::GlobalBoard::runGTL().

205  {
206  return m_gtScales;
207  }
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:270
const unsigned long TriggerMenu::gtTriggerMenuImplementation ( ) const
inline

Definition at line 106 of file TriggerMenu.h.

References m_triggerMenuImplementation.

Referenced by L1TGlobalProducer::produce().

106  {
108  }
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:240
const std::string& TriggerMenu::gtTriggerMenuInterface ( ) const
inline

get / set the trigger menu names

Definition at line 84 of file TriggerMenu.h.

References m_triggerMenuInterface.

84  {
86  }
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:238
const std::string& TriggerMenu::gtTriggerMenuName ( ) const
inline

Definition at line 91 of file TriggerMenu.h.

References m_triggerMenuName.

91  {
92  return m_triggerMenuName;
93  }
std::string m_triggerMenuName
Definition: TriggerMenu.h:239
const unsigned long TriggerMenu::gtTriggerMenuUUID ( ) const
inline

Definition at line 98 of file TriggerMenu.h.

References m_triggerMenuUUID.

Referenced by L1TGlobalProducer::produce().

98  {
99  return m_triggerMenuUUID;
100  }
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:242
TriggerMenu & TriggerMenu::operator= ( const TriggerMenu rhs)

Definition at line 126 of file TriggerMenu.cc.

References m_algorithmAliasMap, m_algorithmMap, m_conditionMap, m_corCaloTemplate, m_corEnergySumTemplate, m_corMuonTemplate, m_triggerMenuImplementation, m_triggerMenuInterface, m_triggerMenuName, m_triggerMenuUUID, m_vecCaloTemplate, m_vecCorrelationTemplate, m_vecEnergySumTemplate, m_vecExternalTemplate, and m_vecMuonTemplate.

126  {
127 
128  if ( this != &rhs ) {
129 
134 
139 
144 
147 
148 // m_technicalTriggerMap = rhs.m_technicalTriggerMap;
149 
150  }
151 
152  // rebuild condition map to update the pointers
153  // (only physics conditions are included in it)
154  m_conditionMap.resize(rhs.m_conditionMap.size());
155  (*this).buildGtConditionMap();
156 
157  // return the object
158  return *this;
159 
160 }
std::string m_triggerMenuName
Definition: TriggerMenu.h:239
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:249
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:253
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:256
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:257
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:251
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:261
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:242
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:233
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:264
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:240
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:238
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:258
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:255
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:250
void TriggerMenu::print ( std::ostream &  myCout,
int &  printVerbosity 
) const

print the trigger menu allow various verbosity levels

Definition at line 407 of file TriggerMenu.cc.

References TauDecayModes::dec, m_algorithmMap, m_conditionMap, m_scaleDbKey, m_triggerMenuImplementation, m_triggerMenuInterface, m_triggerMenuName, m_triggerMenuUUID, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by L1TGlobalProducer::produce().

407  {
408 
409  // use another map <int, GlobalAlgorithm> to get the menu sorted after bit number
410  // both algorithm and bit numbers are unique
411  std::map<int, const GlobalAlgorithm*> algoBitToAlgo;
412  typedef std::map<int, const GlobalAlgorithm*>::const_iterator CItBit;
413 
414  for (l1t::CItAlgo itAlgo = m_algorithmMap.begin(); itAlgo != m_algorithmMap.end(); itAlgo++) {
415 
416  int bitNumber = (itAlgo->second).algoBitNumber();
417  algoBitToAlgo[bitNumber] = &(itAlgo->second);
418  }
419 
420  size_t nrDefinedAlgo = algoBitToAlgo.size();
421 
422 /*
423  // idem for technical trigger map - only name and bit number are relevant for them
424  std::map<int, const GlobalAlgorithm*> ttBitToTt;
425 
426  for (l1t::CItAlgo itAlgo = m_technicalTriggerMap.begin(); itAlgo
427  != m_technicalTriggerMap.end(); itAlgo++) {
428 
429  int bitNumber = (itAlgo->second).algoBitNumber();
430  ttBitToTt[bitNumber] = &(itAlgo->second);
431  }
432 
433  size_t nrDefinedTechTrig = ttBitToTt.size();
434 */
435  //
436 
437  switch (printVerbosity) {
438 
439  case 0: {
440 
441  // header for printing algorithms
442 
443  myCout << "\n ********** L1 Trigger Menu - printing ********** \n"
444  << "\nL1 Trigger Menu Interface: " << m_triggerMenuInterface
445  << "\nL1 Trigger Menu Name: " << m_triggerMenuName
446  << "\nL1 Trigger Menu UUID (hash): 0x" << std::hex << m_triggerMenuUUID << std::dec
447  << "\nL1 Trigger Menu Firmware (hash): 0x" << std::hex << m_triggerMenuImplementation << std::dec
448  << "\nAssociated Scale DB Key: " << m_scaleDbKey << "\n\n"
449  << "\nL1 Physics Algorithms: " << nrDefinedAlgo << " algorithms defined." << "\n\n"
450  << "Bit Number "
451  << std::right << std::setw(35) << "Algorithm Name" << " "
452  << std::right << std::setw(35) << "Algorithm Alias"
453  << std::endl;
454 
455  for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
456 
457  int bitNumber = itBit->first;
458  std::string aName = (itBit->second)->algoName();
459  std::string aAlias = (itBit->second)->algoAlias();
460 
461  myCout << std::setw(6) << bitNumber << " "
462  << std::right << std::setw(35) << aName << " "
463  << std::right << std::setw(35) << aAlias
464  << std::endl;
465  }
466 /*
467  myCout
468  << "\nL1 Technical Triggers: " << nrDefinedTechTrig
469  << " technical triggers defined." << "\n\n" << std::endl;
470  if (nrDefinedTechTrig) {
471  myCout << "Bit Number " << " Technical trigger name " << std::endl;
472  }
473 
474  for (CItBit itBit = ttBitToTt.begin(); itBit != ttBitToTt.end(); itBit++) {
475 
476  int bitNumber = itBit->first;
477  std::string aName = (itBit->second)->algoName();
478  std::string aAlias = (itBit->second)->algoAlias();
479 
480  myCout << std::setw(6) << bitNumber << " "
481  << std::right << std::setw(35) << aName << " "
482  << std::right << std::setw(35) << aAlias
483  << std::endl;
484  }
485 */
486  }
487  break;
488 
489  case 1: {
490 
491  // header for printing algorithms
492 
493  myCout << "\n ********** L1 Trigger Menu - printing ********** \n"
494  << "\nL1 Trigger Menu Interface: " << m_triggerMenuInterface
495  << "\nL1 Trigger Menu Name: " << m_triggerMenuName
496  << "\nL1 Trigger Menu UUID (hash): 0x" << std::hex << m_triggerMenuUUID << std::dec
497  << "\nL1 Trigger Menu Firmware (hash): 0x" << std::hex << m_triggerMenuImplementation << std::dec
498  << "\nAssociated Scale DB Key: " << m_scaleDbKey << "\n\n"
499  << "\nL1 Physics Algorithms: " << nrDefinedAlgo << " algorithms defined." << "\n\n"
500  << "Bit Number "
501  << std::right << std::setw(35) << "Algorithm Name" << " "
502  << std::right << std::setw(35) << "Algorithm Alias"
503  << "\n Logical Expression \n"
504  << std::endl;
505 
506  for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
507 
508  int bitNumber = itBit->first;
509  std::string aName = (itBit->second)->algoName();
510  std::string aAlias = (itBit->second)->algoAlias();
511  std::string aLogicalExpression = (itBit->second)->algoLogicalExpression();
512 
513  myCout << std::setw(6) << bitNumber << " "
514  << std::right << std::setw(35) << aName << " "
515  << std::right << std::setw(35) << aAlias
516  << "\n Logical expression: " << aLogicalExpression << "\n"
517  << std::endl;
518  }
519 /*
520  myCout
521  << "\nL1 Technical Triggers: " << nrDefinedTechTrig
522  << " technical triggers defined." << "\n\n" << std::endl;
523  if (nrDefinedTechTrig) {
524  myCout << "Bit Number " << " Technical trigger name " << std::endl;
525  }
526 
527  for (CItBit itBit = ttBitToTt.begin(); itBit != ttBitToTt.end(); itBit++) {
528 
529  int bitNumber = itBit->first;
530  std::string aName = (itBit->second)->algoName();
531 
532  myCout << std::setw(6) << bitNumber << " " << aName << std::endl;
533  }
534 */
535  }
536  break;
537 
538  case 2: {
539 
540  // header for printing algorithms
541 
542  myCout << "\n ********** L1 Trigger Menu - printing ********** \n"
543  << "\nL1 Trigger Menu Interface: " << m_triggerMenuInterface
544  << "\nL1 Trigger Menu Name: " << m_triggerMenuName
545  << "\nL1 Trigger Menu UUID (hash): 0x" << std::hex << m_triggerMenuUUID << std::dec
546  << "\nL1 Trigger Menu Firmware (hash): 0x" << std::hex << m_triggerMenuImplementation << std::dec
547  << "\nAssociated Scale DB Key: " << m_scaleDbKey << "\n\n"
548  << "\nL1 Physics Algorithms: " << nrDefinedAlgo << " algorithms defined." << "\n\n"
549  << std::endl;
550 
551  for (CItBit itBit = algoBitToAlgo.begin(); itBit != algoBitToAlgo.end(); itBit++) {
552  (itBit->second)->print(myCout);
553  }
554 
555 
556  myCout << "\nNumber of condition chips: " << m_conditionMap.size() << "\n"
557  << std::endl;
558 
559  int chipNr = -1;
560  int totalNrConditions = 0;
561 
562  for (std::vector<l1t::ConditionMap>::const_iterator
563  itCondOnChip = m_conditionMap.begin();
564  itCondOnChip != m_conditionMap.end(); itCondOnChip++) {
565 
566  chipNr++;
567 
568  int condMapSize = itCondOnChip->size();
569  totalNrConditions += condMapSize;
570 
571  myCout << "\nTotal number of conditions on condition chip " << chipNr
572  << ": " << condMapSize
573  << " conditions.\n" << std::endl;
574 
575  for (l1t::CItCond itCond = itCondOnChip->begin(); itCond != itCondOnChip->end();
576  itCond++) {
577 
578  (itCond->second)->print(myCout);
579 
580  }
581 
582  }
583 
584  myCout << "\nTotal number of conditions on all condition chips: "
585  << totalNrConditions << "\n"
586  << std::endl;
587 /*
588  myCout
589  << "\nL1 Technical Triggers: " << nrDefinedTechTrig
590  << " technical triggers defined." << "\n\n" << std::endl;
591  if (nrDefinedTechTrig) {
592  myCout << "Bit Number " << " Technical trigger name " << std::endl;
593  }
594 
595  for (CItBit itBit = ttBitToTt.begin(); itBit != ttBitToTt.end(); itBit++) {
596 
597  int bitNumber = itBit->first;
598  std::string aName = (itBit->second)->algoName();
599 
600  myCout << std::setw(6) << bitNumber << " " << aName << std::endl;
601  }
602 */
603 
604  }
605  break;
606 
607  default: {
608  myCout << "\n ********** L1 Trigger Menu - printing ********** \n\n"
609  << "Verbosity level: " << printVerbosity << " not implemented.\n\n"
610  << std::endl;
611  }
612  break;
613  }
614 
615 }
std::string m_triggerMenuName
Definition: TriggerMenu.h:239
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:245
ConditionMap::const_iterator CItCond
iterators through map containing the conditions
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:261
void print(std::ostream &, int &) const
Definition: TriggerMenu.cc:407
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:242
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:233
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:240
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:238
void TriggerMenu::setCorCaloTemplate ( const std::vector< std::vector< CaloTemplate > > &  corCaloTempl)

Definition at line 375 of file TriggerMenu.cc.

References m_corCaloTemplate.

376  {
377 
378  m_corCaloTemplate = corCaloTempl;
379 }
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
Definition: TriggerMenu.h:257
void TriggerMenu::setCorEnergySumTemplate ( const std::vector< std::vector< EnergySumTemplate > > &  corEnergySumTempl)

Definition at line 381 of file TriggerMenu.cc.

References m_corEnergySumTemplate.

382  {
383 
384  m_corEnergySumTemplate = corEnergySumTempl;
385 }
std::vector< std::vector< EnergySumTemplate > > m_corEnergySumTemplate
Definition: TriggerMenu.h:258
void TriggerMenu::setCorMuonTemplate ( const std::vector< std::vector< MuonTemplate > > &  corMuonTempl)

Definition at line 369 of file TriggerMenu.cc.

References m_corMuonTemplate.

370  {
371 
372  m_corMuonTemplate = corMuonTempl;
373 }
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
Definition: TriggerMenu.h:256
void TriggerMenu::setGtAlgorithmAliasMap ( const l1t::AlgorithmMap algoMap)

Definition at line 395 of file TriggerMenu.cc.

References m_algorithmAliasMap.

395  {
396  m_algorithmAliasMap = algoMap;
397 }
l1t::AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
Definition: TriggerMenu.h:264
void TriggerMenu::setGtAlgorithmMap ( const l1t::AlgorithmMap algoMap)

Definition at line 390 of file TriggerMenu.cc.

References m_algorithmMap.

390  {
391  m_algorithmMap = algoMap;
392 }
l1t::AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
Definition: TriggerMenu.h:261
void TriggerMenu::setGtConditionMap ( const std::vector< l1t::ConditionMap > &  condMap)

Definition at line 163 of file TriggerMenu.cc.

References m_conditionMap.

163  {
164  m_conditionMap = condMap;
165 }
std::vector< l1t::ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
Definition: TriggerMenu.h:233
void TriggerMenu::setGtScaleDbKey ( const std::string &  scaleKey)

Definition at line 326 of file TriggerMenu.cc.

References m_scaleDbKey.

326  {
327  m_scaleDbKey = scaleKey;
328 }
std::string m_scaleDbKey
menu associated scale key
Definition: TriggerMenu.h:245
void TriggerMenu::setGtScales ( const l1t::GlobalScales scales)

Definition at line 331 of file TriggerMenu.cc.

References m_gtScales.

331  {
332  m_gtScales = scales;
333 }
l1t::GlobalScales m_gtScales
map containing the technical triggers
Definition: TriggerMenu.h:270
void TriggerMenu::setGtTriggerMenuImplementation ( const unsigned long  menuImplementation)

Definition at line 316 of file TriggerMenu.cc.

References m_triggerMenuImplementation.

316  {
317  m_triggerMenuImplementation = menuImplementation;
318 }
unsigned long m_triggerMenuImplementation
Definition: TriggerMenu.h:240
void TriggerMenu::setGtTriggerMenuInterface ( const std::string &  menuInterface)

Definition at line 308 of file TriggerMenu.cc.

References m_triggerMenuInterface.

308  {
309  m_triggerMenuInterface = menuInterface;
310 }
std::string m_triggerMenuInterface
menu names
Definition: TriggerMenu.h:238
void TriggerMenu::setGtTriggerMenuName ( const std::string &  menuName)

Definition at line 312 of file TriggerMenu.cc.

References m_triggerMenuName.

312  {
313  m_triggerMenuName = menuName;
314 }
std::string m_triggerMenuName
Definition: TriggerMenu.h:239
void TriggerMenu::setGtTriggerMenuUUID ( const unsigned long  uuid)

Definition at line 320 of file TriggerMenu.cc.

References m_triggerMenuUUID, and createPayload::uuid.

320  {
322 }
unsigned long m_triggerMenuUUID
Definition: TriggerMenu.h:242
void TriggerMenu::setVecCaloTemplate ( const std::vector< std::vector< CaloTemplate > > &  vecCaloTempl)

Definition at line 342 of file TriggerMenu.cc.

References m_vecCaloTemplate.

343  {
344 
345  m_vecCaloTemplate = vecCaloTempl;
346 }
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:250
void TriggerMenu::setVecCorrelationTemplate ( const std::vector< std::vector< CorrelationTemplate > > &  vecCorrelationTempl)

Definition at line 362 of file TriggerMenu.cc.

References m_vecCorrelationTemplate.

363  {
364 
365  m_vecCorrelationTemplate = vecCorrelationTempl;
366 }
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:255
void TriggerMenu::setVecEnergySumTemplate ( const std::vector< std::vector< EnergySumTemplate > > &  vecEnergySumTempl)

Definition at line 348 of file TriggerMenu.cc.

References m_vecEnergySumTemplate.

349  {
350 
351  m_vecEnergySumTemplate = vecEnergySumTempl;
352 }
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:251
void TriggerMenu::setVecExternalTemplate ( const std::vector< std::vector< ExternalTemplate > > &  vecExternalTempl)

Definition at line 355 of file TriggerMenu.cc.

References m_vecExternalTemplate.

356  {
357 
358  m_vecExternalTemplate = vecExternalTempl;
359 }
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:253
void TriggerMenu::setVecMuonTemplate ( const std::vector< std::vector< MuonTemplate > > &  vecMuonTempl)

Definition at line 336 of file TriggerMenu.cc.

References m_vecMuonTemplate.

337  {
338 
339  m_vecMuonTemplate = vecMuonTempl;
340 }
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:249
const std::vector<std::vector<CaloTemplate> >& TriggerMenu::vecCaloTemplate ( ) const
inline

Definition at line 127 of file TriggerMenu.h.

References m_vecCaloTemplate.

127  {
128  return m_vecCaloTemplate;
129  }
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
Definition: TriggerMenu.h:250
const std::vector<std::vector<CorrelationTemplate> >& TriggerMenu::vecCorrelationTemplate ( ) const
inline

Definition at line 155 of file TriggerMenu.h.

References m_vecCorrelationTemplate.

155  {
156 
158  }
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
Definition: TriggerMenu.h:255
const std::vector<std::vector<EnergySumTemplate> >& TriggerMenu::vecEnergySumTemplate ( ) const
inline

Definition at line 135 of file TriggerMenu.h.

References m_vecEnergySumTemplate.

135  {
136 
137  return m_vecEnergySumTemplate;
138  }
std::vector< std::vector< EnergySumTemplate > > m_vecEnergySumTemplate
Definition: TriggerMenu.h:251
const std::vector<std::vector<ExternalTemplate> >& TriggerMenu::vecExternalTemplate ( ) const
inline

Definition at line 145 of file TriggerMenu.h.

References m_vecExternalTemplate.

145  {
146 
147  return m_vecExternalTemplate;
148  }
std::vector< std::vector< ExternalTemplate > > m_vecExternalTemplate
Definition: TriggerMenu.h:253
const std::vector<std::vector<MuonTemplate> >& TriggerMenu::vecMuonTemplate ( ) const
inline

get / set the vectors containing the conditions

Definition at line 120 of file TriggerMenu.h.

References m_vecMuonTemplate.

120  {
121  return m_vecMuonTemplate;
122  }
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
Definition: TriggerMenu.h:249

Member Data Documentation

l1t::AlgorithmMap TriggerMenu::m_algorithmAliasMap
private

map containing the physics algorithms (by alias)

Definition at line 264 of file TriggerMenu.h.

Referenced by gtAlgorithmAliasMap(), operator=(), setGtAlgorithmAliasMap(), TriggerMenu(), and ~TriggerMenu().

l1t::AlgorithmMap TriggerMenu::m_algorithmMap
private

map containing the physics algorithms (by name)

Definition at line 261 of file TriggerMenu.h.

Referenced by gtAlgorithmMap(), gtAlgorithmResult(), operator=(), print(), setGtAlgorithmMap(), TriggerMenu(), and ~TriggerMenu().

std::vector<l1t::ConditionMap> TriggerMenu::m_conditionMap
private

map containing the conditions (per condition chip) - transient

Definition at line 233 of file TriggerMenu.h.

Referenced by buildGtConditionMap(), gtConditionMap(), operator=(), print(), setGtConditionMap(), TriggerMenu(), and ~TriggerMenu().

std::vector<std::vector<CaloTemplate> > TriggerMenu::m_corCaloTemplate
private

Definition at line 257 of file TriggerMenu.h.

Referenced by corCaloTemplate(), operator=(), setCorCaloTemplate(), and TriggerMenu().

std::vector<std::vector<EnergySumTemplate> > TriggerMenu::m_corEnergySumTemplate
private
std::vector<std::vector<MuonTemplate> > TriggerMenu::m_corMuonTemplate
private

Definition at line 256 of file TriggerMenu.h.

Referenced by corMuonTemplate(), operator=(), setCorMuonTemplate(), and TriggerMenu().

l1t::GlobalScales TriggerMenu::m_gtScales
private

map containing the technical triggers

Definition at line 270 of file TriggerMenu.h.

Referenced by gtScales(), and setGtScales().

std::string TriggerMenu::m_scaleDbKey
private

menu associated scale key

Definition at line 245 of file TriggerMenu.h.

Referenced by gtScaleDbKey(), print(), setGtScaleDbKey(), and TriggerMenu().

unsigned long TriggerMenu::m_triggerMenuImplementation
private
std::string TriggerMenu::m_triggerMenuInterface
private

menu names

Definition at line 238 of file TriggerMenu.h.

Referenced by gtTriggerMenuInterface(), operator=(), print(), setGtTriggerMenuInterface(), and TriggerMenu().

std::string TriggerMenu::m_triggerMenuName
private

Definition at line 239 of file TriggerMenu.h.

Referenced by gtTriggerMenuName(), operator=(), print(), setGtTriggerMenuName(), and TriggerMenu().

unsigned long TriggerMenu::m_triggerMenuUUID
private

Definition at line 242 of file TriggerMenu.h.

Referenced by gtTriggerMenuUUID(), operator=(), print(), setGtTriggerMenuUUID(), and TriggerMenu().

std::vector<std::vector<CaloTemplate> > TriggerMenu::m_vecCaloTemplate
private
std::vector<std::vector<CorrelationTemplate> > TriggerMenu::m_vecCorrelationTemplate
private
std::vector<std::vector<EnergySumTemplate> > TriggerMenu::m_vecEnergySumTemplate
private
std::vector<std::vector<ExternalTemplate> > TriggerMenu::m_vecExternalTemplate
private
std::vector<std::vector<MuonTemplate> > TriggerMenu::m_vecMuonTemplate
private

vectors containing the conditions explicit, due to persistency...

Definition at line 249 of file TriggerMenu.h.

Referenced by buildGtConditionMap(), operator=(), setVecMuonTemplate(), TriggerMenu(), and vecMuonTemplate().