CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GtTriggerMenuXmlParser.h
Go to the documentation of this file.
1 #ifndef L1GtConfigProducers_L1GtTriggerMenuXmlParser_h
2 #define L1GtConfigProducers_L1GtTriggerMenuXmlParser_h
3 
21 // system include files
22 #include <string>
23 #include <vector>
24 
25 #include <boost/cstdint.hpp>
26 
27 #include <xercesc/sax/HandlerBase.hpp>
28 #include <xercesc/dom/DOM.hpp>
29 #include <xercesc/parsers/XercesDOMParser.hpp>
30 
31 // user include files
32 // base class
34 
37 
48 
49 // forward declarations
50 class L1GtCondition;
51 class L1GtAlgorithm;
52 
53 // class declaration
55 {
56 
57 public:
58 
62 
64  virtual ~L1GtTriggerMenuXmlParser();
65 
66 public:
67 
69  inline const unsigned int gtNumberConditionChips() const {
71  }
72 
73  void setGtNumberConditionChips(const unsigned int&);
74 
76  inline const unsigned int gtPinsOnConditionChip() const {
77  return m_pinsOnConditionChip;
78  }
79 
80  void setGtPinsOnConditionChip(const unsigned int&);
81 
84  inline std::vector<int> gtOrderConditionChip() const {
85  return m_orderConditionChip;
86  }
87 
88  void setGtOrderConditionChip(const std::vector<int>&);
89 
91  inline const unsigned int gtNumberPhysTriggers() const {
92  return m_numberPhysTriggers;
93  }
94 
95  void setGtNumberPhysTriggers(const unsigned int&);
96 
98  inline const unsigned int gtNumberTechTriggers() const {
99  return m_numberTechTriggers;
100  }
101 
102  void setGtNumberTechTriggers(const unsigned int&);
103 
105  inline const unsigned int gtNumberL1JetCounts() const {
106  return m_numberL1JetCounts;
107  }
108 
109  void setGtNumberL1JetCounts(const unsigned int&);
110 
111 public:
112 
114  inline const std::vector<ConditionMap>& gtConditionMap() const {
115  return m_conditionMap;
116  }
117 
118  void setGtConditionMap(const std::vector<ConditionMap>&);
119 
121  inline const std::string& gtTriggerMenuInterface() const {
122  return m_triggerMenuInterface;
123  }
124 
125  void setGtTriggerMenuInterface(const std::string&);
126 
127  //
128  inline const std::string& gtTriggerMenuName() const {
129  return m_triggerMenuName;
130  }
131 
132  void setGtTriggerMenuName(const std::string&);
133 
134  //
135  inline const std::string& gtTriggerMenuImplementation() const {
137  }
138 
139  void setGtTriggerMenuImplementation(const std::string&);
140 
142  inline const std::string& gtScaleDbKey() const {
143  return m_scaleDbKey;
144  }
145 
146  void setGtScaleDbKey(const std::string&);
147 
149  inline const std::vector<std::vector<L1GtMuonTemplate> >& vecMuonTemplate() const {
150  return m_vecMuonTemplate;
151  }
152  void setVecMuonTemplate(const std::vector<std::vector<L1GtMuonTemplate> >&);
153 
154  //
155  inline const std::vector<std::vector<L1GtCaloTemplate> >& vecCaloTemplate() const {
156  return m_vecCaloTemplate;
157  }
158 
159  void setVecCaloTemplate(const std::vector<std::vector<L1GtCaloTemplate> >&);
160 
161  //
162  inline const std::vector<std::vector<L1GtEnergySumTemplate> >& vecEnergySumTemplate() const {
163 
164  return m_vecEnergySumTemplate;
165  }
166 
168  const std::vector<std::vector<L1GtEnergySumTemplate> >&);
169 
170  //
171  inline const std::vector<std::vector<L1GtJetCountsTemplate> >& vecJetCountsTemplate() const {
172 
173  return m_vecJetCountsTemplate;
174  }
175 
177  const std::vector<std::vector<L1GtJetCountsTemplate> >&);
178 
179  //
180  inline const std::vector<std::vector<L1GtCastorTemplate> >& vecCastorTemplate() const {
181 
182  return m_vecCastorTemplate;
183  }
184 
186  const std::vector<std::vector<L1GtCastorTemplate> >&);
187 
188  //
189  inline const std::vector<std::vector<L1GtHfBitCountsTemplate> >&
191 
193  }
194 
196  const std::vector<std::vector<L1GtHfBitCountsTemplate> >&);
197 
198  //
199  inline const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >&
201 
203  }
204 
206  const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >&);
207 
208  //
209  inline const std::vector<std::vector<L1GtBptxTemplate> >&
210  vecBptxTemplate() const {
211 
212  return m_vecBptxTemplate;
213  }
214 
215  void setVecBptxTemplate(
216  const std::vector<std::vector<L1GtBptxTemplate> >&);
217 
218  //
219  inline const std::vector<std::vector<L1GtExternalTemplate> >&
221 
222  return m_vecExternalTemplate;
223  }
224 
226  const std::vector<std::vector<L1GtExternalTemplate> >&);
227 
228  //
229  inline const std::vector<std::vector<L1GtCorrelationTemplate> >& vecCorrelationTemplate() const {
230 
232  }
233 
235  const std::vector<std::vector<L1GtCorrelationTemplate> >&);
236 
237  // get / set the vectors containing the conditions for correlation templates
238  //
239  inline const std::vector<std::vector<L1GtMuonTemplate> >& corMuonTemplate() const {
240  return m_corMuonTemplate;
241  }
242 
243  void setCorMuonTemplate(const std::vector<std::vector<L1GtMuonTemplate> >&);
244 
245  //
246  inline const std::vector<std::vector<L1GtCaloTemplate> >& corCaloTemplate() const {
247  return m_corCaloTemplate;
248  }
249 
250  void setCorCaloTemplate(const std::vector<std::vector<L1GtCaloTemplate> >&);
251 
252  //
253  inline const std::vector<std::vector<L1GtEnergySumTemplate> >& corEnergySumTemplate() const {
254 
255  return m_corEnergySumTemplate;
256  }
257 
259  const std::vector<std::vector<L1GtEnergySumTemplate> >&);
260 
262  inline const AlgorithmMap& gtAlgorithmMap() const {
263  return m_algorithmMap;
264  }
265 
266  void setGtAlgorithmMap(const AlgorithmMap&);
267 
269  inline const AlgorithmMap& gtAlgorithmAliasMap() const {
270  return m_algorithmAliasMap;
271  }
272 
274 
276  inline const AlgorithmMap& gtTechnicalTriggerMap() const {
277  return m_technicalTriggerMap;
278  }
279 
281 
282 public:
283 
285  void parseXmlFile(const std::string& defXmlFile,
286  const std::string& vmeXmlFile);
287 
288 public:
289 
291  inline const std::string& gtTriggerMenuInterfaceDate() const {
293  }
294 
295  void setGtTriggerMenuInterfaceDate(const std::string&);
296 
297  inline const std::string& gtTriggerMenuInterfaceAuthor() const {
299  }
300 
301  void setGtTriggerMenuInterfaceAuthor(const std::string&);
302 
303  inline const std::string& gtTriggerMenuInterfaceDescription() const {
305  }
306 
307  void setGtTriggerMenuInterfaceDescription(const std::string&);
308 
309  //
310 
311  inline const std::string& gtTriggerMenuDate() const {
312  return m_triggerMenuDate;
313  }
314 
315  void setGtTriggerMenuDate(const std::string&);
316 
317  inline const std::string& gtTriggerMenuAuthor() const {
318  return m_triggerMenuAuthor;
319  }
320 
321  void setGtTriggerMenuAuthor(const std::string&);
322 
323  inline const std::string& gtTriggerMenuDescription() const {
325  }
326 
327  void setGtTriggerMenuDescription(const std::string&);
328 
329 
330  inline const std::string& gtAlgorithmImplementation() const {
332  }
333 
334  void setGtAlgorithmImplementation(const std::string&);
335 
336 
337 private:
338 
339  // XML methods
340 
342  XERCES_CPP_NAMESPACE::XercesDOMParser* initXML(const std::string& xmlFile);
343 
345  XERCES_CPP_NAMESPACE::DOMNode* findXMLChild(
346  XERCES_CPP_NAMESPACE::DOMNode* startChild,
347  const std::string& tagName, bool beginOnly = false,
348  std::string* rest = 0);
349 
351  std::string getXMLAttribute(const XERCES_CPP_NAMESPACE::DOMNode* node,
352  const std::string& name);
353 
355  std::string getXMLTextValue(XERCES_CPP_NAMESPACE::DOMNode* node);
356 
358  bool hexString2UInt128(const std::string& hexString, boost::uint64_t& dstL,
359  boost::uint64_t& dstH);
360 
362  bool getXMLHexTextValue128(XERCES_CPP_NAMESPACE::DOMNode* node,
363  boost::uint64_t& dstL, boost::uint64_t& dstH);
364 
366  bool getXMLHexTextValue(XERCES_CPP_NAMESPACE::DOMNode* node,
367  boost::uint64_t& dst);
368 
370  bool countConditionChildMaxBits(XERCES_CPP_NAMESPACE::DOMNode* node,
371  const std::string& childName, unsigned int& dst);
372 
374  bool getConditionChildValues(XERCES_CPP_NAMESPACE::DOMNode* node,
375  const std::string& childName, unsigned int num,
376  std::vector<boost::uint64_t>& dst);
377 
379  void cleanupXML(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
380 
381 
382 private:
383 
384  // methods for the VME file
385 
387  bool parseVmeXML(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
388 
389 private:
390 
391  // methods for conditions and algorithms
392 
395  void clearMaps();
396 
399  bool insertConditionIntoMap(L1GtCondition& cond, const int chipNr);
400 
402  bool insertAlgorithmIntoMap(const L1GtAlgorithm& alg);
403 
405  bool insertTechTriggerIntoMap(const L1GtAlgorithm& alg);
406 
409  L1GtConditionType getTypeFromType(const std::string& type);
410 
412  int getNumFromType(const std::string& type);
413 
415  int getBitFromNode(XERCES_CPP_NAMESPACE::DOMNode* node);
416 
418  int getGEqFlag(XERCES_CPP_NAMESPACE::DOMNode* node,
419  const std::string& nodeName);
420 
422  bool getMuonMipIsoBits(XERCES_CPP_NAMESPACE::DOMNode* node,
423  unsigned int num, std::vector<bool>& mipDst,
424  std::vector<bool>& isoEnDst, std::vector<bool>& isoReqDst);
425 
427  bool parseMuon(XERCES_CPP_NAMESPACE::DOMNode* node,
428  const std::string& name, unsigned int chipNr = 0,
429  const bool corrFlag = false);
430 
432  bool parseCalo(XERCES_CPP_NAMESPACE::DOMNode* node,
433  const std::string& name, unsigned int chipNr = 0,
434  const bool corrFlag = false);
435 
437  bool parseEnergySum(XERCES_CPP_NAMESPACE::DOMNode* node,
438  const std::string& name, unsigned int chipNr = 0,
439  const bool corrFlag = false);
440 
442  bool parseJetCounts(XERCES_CPP_NAMESPACE::DOMNode* node,
443  const std::string& name, unsigned int chipNr = 0);
444 
446  bool parseCastor(XERCES_CPP_NAMESPACE::DOMNode* node,
447  const std::string& name, unsigned int chipNr = 0);
448 
450  bool parseHfBitCounts(XERCES_CPP_NAMESPACE::DOMNode* node,
451  const std::string& name, unsigned int chipNr = 0);
452 
454  bool parseHfRingEtSums(XERCES_CPP_NAMESPACE::DOMNode* node,
455  const std::string& name, unsigned int chipNr = 0);
456 
458  bool parseBptx(XERCES_CPP_NAMESPACE::DOMNode* node,
459  const std::string& name, unsigned int chipNr = 0);
460 
462  bool parseExternal(XERCES_CPP_NAMESPACE::DOMNode* node,
463  const std::string& name, unsigned int chipNr = 0);
464 
466  bool parseCorrelation(XERCES_CPP_NAMESPACE::DOMNode* node,
467  const std::string& name, unsigned int chipNr = 0);
468 
470  bool parseId(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
471 
473  bool workCondition(XERCES_CPP_NAMESPACE::DOMNode* node,
474  const std::string& name, unsigned int chipNr);
475 
477  bool parseConditions(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
478 
480  bool workAlgorithm(XERCES_CPP_NAMESPACE::DOMNode* node,
481  const std::string& name, unsigned int chipNr);
482 
484  bool parseAlgorithms(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
485 
487  bool workTechTrigger(XERCES_CPP_NAMESPACE::DOMNode* node,
488  const std::string& name);
489 
491  bool parseTechTriggers(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
492 
494  bool workXML(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
495 
496 private:
497 
499  XERCES_CPP_NAMESPACE::ErrorHandler* m_xmlErrHandler;
500 
502 
505 
507  unsigned int m_pinsOnConditionChip;
508 
511  std::vector<int> m_orderConditionChip;
512 
514  unsigned int m_numberPhysTriggers;
515 
517  unsigned int m_numberTechTriggers;
518 
520  unsigned int m_numberL1JetCounts;
521 
522 private:
523 
525 
529 
530  std::string m_triggerMenuDate;
531  std::string m_triggerMenuAuthor;
533 
535 
536 
537 private:
538 
540  std::vector<ConditionMap> m_conditionMap;
541 
542 private:
543 
546  std::string m_triggerMenuName;
548 
550  std::string m_scaleDbKey;
551 
554  std::vector<std::vector<L1GtMuonTemplate> > m_vecMuonTemplate;
555  std::vector<std::vector<L1GtCaloTemplate> > m_vecCaloTemplate;
556  std::vector<std::vector<L1GtEnergySumTemplate> > m_vecEnergySumTemplate;
557  std::vector<std::vector<L1GtJetCountsTemplate> > m_vecJetCountsTemplate;
558  std::vector<std::vector<L1GtCastorTemplate> > m_vecCastorTemplate;
559  std::vector<std::vector<L1GtHfBitCountsTemplate> > m_vecHfBitCountsTemplate;
560  std::vector<std::vector<L1GtHfRingEtSumsTemplate> > m_vecHfRingEtSumsTemplate;
561  std::vector<std::vector<L1GtBptxTemplate> > m_vecBptxTemplate;
562  std::vector<std::vector<L1GtExternalTemplate> > m_vecExternalTemplate;
563 
564  std::vector<std::vector<L1GtCorrelationTemplate> > m_vecCorrelationTemplate;
565  std::vector<std::vector<L1GtMuonTemplate> > m_corMuonTemplate;
566  std::vector<std::vector<L1GtCaloTemplate> > m_corCaloTemplate;
567  std::vector<std::vector<L1GtEnergySumTemplate> > m_corEnergySumTemplate;
568 
571 
574 
577 
578 };
579 
580 #endif /*L1GtConfigProducers_L1GtTriggerMenuXmlParser_h*/
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
int getBitFromNode(XERCES_CPP_NAMESPACE::DOMNode *node)
get bit from a bit node
type
Definition: HCALResponse.h:22
void setGtTriggerMenuInterfaceAuthor(const std::string &)
void setGtTechnicalTriggerMap(const AlgorithmMap &)
std::vector< std::vector< L1GtCastorTemplate > > m_vecCastorTemplate
const std::vector< std::vector< L1GtCaloTemplate > > & vecCaloTemplate() const
std::string getXMLTextValue(XERCES_CPP_NAMESPACE::DOMNode *node)
get the text value of a xml node as string
const unsigned int gtPinsOnConditionChip() const
get / set the number of pins on the GTL condition chips
AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
bool getConditionChildValues(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &childName, unsigned int num, std::vector< boost::uint64_t > &dst)
get values from a child of a condition
void setVecCastorTemplate(const std::vector< std::vector< L1GtCastorTemplate > > &)
const std::string & gtScaleDbKey() const
menu associated scale key
void setVecEnergySumTemplate(const std::vector< std::vector< L1GtEnergySumTemplate > > &)
void setGtTriggerMenuDate(const std::string &)
bool workAlgorithm(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr)
parse an algorithm and insert it into algorithm map.
const std::vector< std::vector< L1GtEnergySumTemplate > > & vecEnergySumTemplate() const
std::vector< std::vector< L1GtExternalTemplate > > m_vecExternalTemplate
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
void setGtConditionMap(const std::vector< ConditionMap > &)
std::vector< std::vector< L1GtCorrelationTemplate > > m_vecCorrelationTemplate
void setGtPinsOnConditionChip(const unsigned int &)
AlgorithmMap m_technicalTriggerMap
map containing the technical triggers
bool parseTechTriggers(XERCES_CPP_NAMESPACE::XercesDOMParser *parser)
parse all algorithms
bool parseId(XERCES_CPP_NAMESPACE::XercesDOMParser *parser)
parse all parse all identification attributes (trigger menu names, scale DB key, etc) ...
unsigned int m_numberPhysTriggers
number of physics trigger algorithms
const AlgorithmMap & gtTechnicalTriggerMap() const
get / set the technical trigger map
void setGtAlgorithmMap(const AlgorithmMap &)
const std::vector< std::vector< L1GtEnergySumTemplate > > & corEnergySumTemplate() const
void setGtAlgorithmAliasMap(const AlgorithmMap &)
const std::vector< ConditionMap > & gtConditionMap() const
get / set / build the condition maps
AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
void setGtTriggerMenuDescription(const std::string &)
const unsigned int gtNumberConditionChips() const
get / set the number of condition chips in GTL
bool parseExternal(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse an External condition
XERCES_CPP_NAMESPACE::XercesDOMParser * initXML(const std::string &xmlFile)
init xml system
const std::vector< std::vector< L1GtMuonTemplate > > & corMuonTemplate() const
bool parseConditions(XERCES_CPP_NAMESPACE::XercesDOMParser *parser)
parse all conditions
void setGtTriggerMenuAuthor(const std::string &)
void setGtNumberPhysTriggers(const unsigned int &)
L1GtConditionType
XERCES_CPP_NAMESPACE::DOMNode * findXMLChild(XERCES_CPP_NAMESPACE::DOMNode *startChild, const std::string &tagName, bool beginOnly=false, std::string *rest=0)
find a named child of a xml node
void setGtScaleDbKey(const std::string &)
bool getMuonMipIsoBits(XERCES_CPP_NAMESPACE::DOMNode *node, unsigned int num, std::vector< bool > &mipDst, std::vector< bool > &isoEnDst, std::vector< bool > &isoReqDst)
get MIP and Isolation bits from a muon
XERCES_CPP_NAMESPACE::ErrorHandler * m_xmlErrHandler
error handler for xml-parser
const std::vector< std::vector< L1GtMuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
std::string m_triggerMenuInterfaceDate
members for XML parser only (do not appear in CondFormats)
const std::string & gtTriggerMenuImplementation() const
tuple node
Definition: Node.py:50
const unsigned int gtNumberTechTriggers() const
get / set the number of technical triggers
std::string m_scaleDbKey
menu associated scale key
void setCorCaloTemplate(const std::vector< std::vector< L1GtCaloTemplate > > &)
std::vector< std::vector< L1GtBptxTemplate > > m_vecBptxTemplate
bool parseMuon(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0, const bool corrFlag=false)
parse a muon condition
int getGEqFlag(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &nodeName)
getGEqFlag - get the &quot;greater or equal flag&quot; from a condition
const std::vector< std::vector< L1GtHfBitCountsTemplate > > & vecHfBitCountsTemplate() const
const AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
bool parseCorrelation(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a correlation condition
void setVecHfRingEtSumsTemplate(const std::vector< std::vector< L1GtHfRingEtSumsTemplate > > &)
const std::vector< std::vector< L1GtHfRingEtSumsTemplate > > & vecHfRingEtSumsTemplate() const
void cleanupXML(XERCES_CPP_NAMESPACE::XercesDOMParser *parser)
shutdown the xml utils and deallocate parser and error handler
std::vector< std::vector< L1GtHfBitCountsTemplate > > m_vecHfBitCountsTemplate
bool getXMLHexTextValue(XERCES_CPP_NAMESPACE::DOMNode *node, boost::uint64_t &dst)
get a hexadecimal value of a xml node containing text
void setCorMuonTemplate(const std::vector< std::vector< L1GtMuonTemplate > > &)
bool insertConditionIntoMap(L1GtCondition &cond, const int chipNr)
const unsigned int gtNumberPhysTriggers() const
get / set the number of physics trigger algorithms
std::vector< std::vector< L1GtMuonTemplate > > m_corMuonTemplate
void setVecCaloTemplate(const std::vector< std::vector< L1GtCaloTemplate > > &)
unsigned int m_numberTechTriggers
number of technical triggers
std::string getXMLAttribute(const XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name)
get a named attribute for an xml node as string
void setVecBptxTemplate(const std::vector< std::vector< L1GtBptxTemplate > > &)
std::string m_triggerMenuInterface
menu names
const std::vector< std::vector< L1GtCastorTemplate > > & vecCastorTemplate() const
const std::vector< std::vector< L1GtJetCountsTemplate > > & vecJetCountsTemplate() const
bool parseHfBitCounts(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a HfBitCounts condition
bool parseHfRingEtSums(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a HfRingEtSums condition
void setVecMuonTemplate(const std::vector< std::vector< L1GtMuonTemplate > > &)
const std::vector< std::vector< L1GtBptxTemplate > > & vecBptxTemplate() const
std::vector< std::vector< L1GtEnergySumTemplate > > m_corEnergySumTemplate
const AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
bool parseVmeXML(XERCES_CPP_NAMESPACE::XercesDOMParser *parser)
parse the vme xml file
void setGtTriggerMenuInterfaceDescription(const std::string &)
bool parseJetCounts(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a &quot;jet counts&quot; condition
const std::string & gtAlgorithmImplementation() const
bool parseEnergySum(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0, const bool corrFlag=false)
parse an &quot;energy sum&quot; condition
void parseXmlFile(const std::string &defXmlFile, const std::string &vmeXmlFile)
parse def.xml and vme.xml files
void setGtTriggerMenuName(const std::string &)
unsigned int m_numberConditionChips
hardware limits
std::vector< std::vector< L1GtJetCountsTemplate > > m_vecJetCountsTemplate
const std::string & gtTriggerMenuInterfaceAuthor() const
bool workCondition(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr)
choose the parser for a particular condition
void setGtTriggerMenuInterfaceDate(const std::string &)
const std::string & gtTriggerMenuAuthor() const
bool workXML(XERCES_CPP_NAMESPACE::XercesDOMParser *parser)
do all the steps for filling a trigger menu
const std::string & gtTriggerMenuDescription() const
unsigned int m_pinsOnConditionChip
number of pins on the GTL condition chips
bool parseCastor(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a CASTOR condition
bool insertTechTriggerIntoMap(const L1GtAlgorithm &alg)
insert a technical trigger into technical trigger map
virtual ~L1GtTriggerMenuXmlParser()
destructor
const std::string & gtTriggerMenuInterfaceDate() const
get / set the XML parser creation date, author, description for menu interface, menu ...
void setGtNumberConditionChips(const unsigned int &)
const std::vector< std::vector< L1GtCorrelationTemplate > > & vecCorrelationTemplate() const
std::vector< std::vector< L1GtCaloTemplate > > m_vecCaloTemplate
const std::string & gtTriggerMenuName() const
bool parseAlgorithms(XERCES_CPP_NAMESPACE::XercesDOMParser *parser)
parse all algorithms
void setGtTriggerMenuInterface(const std::string &)
unsigned long long uint64_t
Definition: Time.h:15
void setVecCorrelationTemplate(const std::vector< std::vector< L1GtCorrelationTemplate > > &)
int getNumFromType(const std::string &type)
get number of particles from condition type
long long int num
Definition: procUtils.cc:71
void setVecHfBitCountsTemplate(const std::vector< std::vector< L1GtHfBitCountsTemplate > > &)
std::vector< std::vector< L1GtCaloTemplate > > m_corCaloTemplate
bool xmlFile(const std::string fParam)
bool parseBptx(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a Bptx condition
std::vector< std::vector< L1GtEnergySumTemplate > > m_vecEnergySumTemplate
void setGtNumberTechTriggers(const unsigned int &)
void setGtOrderConditionChip(const std::vector< int > &)
bool parseCalo(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0, const bool corrFlag=false)
parse a calorimeter condition
std::vector< ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
void setCorEnergySumTemplate(const std::vector< std::vector< L1GtEnergySumTemplate > > &)
const std::string & gtTriggerMenuInterfaceDescription() const
bool hexString2UInt128(const std::string &hexString, boost::uint64_t &dstL, boost::uint64_t &dstH)
convert a hexadecimal string with up to 128 to 2 boost::uint64_t
void setVecJetCountsTemplate(const std::vector< std::vector< L1GtJetCountsTemplate > > &)
bool insertAlgorithmIntoMap(const L1GtAlgorithm &alg)
insert an algorithm into algorithm map
std::vector< std::vector< L1GtHfRingEtSumsTemplate > > m_vecHfRingEtSumsTemplate
void setGtAlgorithmImplementation(const std::string &)
bool getXMLHexTextValue128(XERCES_CPP_NAMESPACE::DOMNode *node, boost::uint64_t &dstL, boost::uint64_t &dstH)
get a hexadecimal value of a xml node containing text with up to 128 bit
std::vector< int > gtOrderConditionChip() const
const unsigned int gtNumberL1JetCounts() const
get / set the number of L1 jet counts received by GT
const std::vector< std::vector< L1GtCaloTemplate > > & corCaloTemplate() const
const std::string & gtTriggerMenuDate() const
bool countConditionChildMaxBits(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &childName, unsigned int &dst)
get the number of bits in the max attribute of a condition child
void setGtTriggerMenuImplementation(const std::string &)
L1GtConditionType getTypeFromType(const std::string &type)
const std::vector< std::vector< L1GtExternalTemplate > > & vecExternalTemplate() const
bool workTechTrigger(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name)
parse an algorithm and insert it into algorithm map.
void setVecExternalTemplate(const std::vector< std::vector< L1GtExternalTemplate > > &)
std::vector< int > m_orderConditionChip
std::vector< std::vector< L1GtMuonTemplate > > m_vecMuonTemplate
void setGtNumberL1JetCounts(const unsigned int &)
unsigned int m_numberL1JetCounts
jet counts