CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TriggerMenuXmlParser.h
Go to the documentation of this file.
1 #ifndef L1TGlobal_TriggerMenuXmlParser_h
2 #define L1TGlobal_TriggerMenuXmlParser_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 #include "L1Trigger/L1TGlobal/src/L1TMenuEditor/L1TriggerMenu.hxx"
50 
51 
52 // forward declarations
53 class GtCondition;
54 class L1GtAlgorithm;
55 
56 namespace l1t {
57 
58 // class declaration
60 {
61 
62 public:
63 
67 
69  virtual ~TriggerMenuXmlParser();
70 
71 public:
72 
74  inline const unsigned int gtNumberConditionChips() const {
76  }
77 
78  void setGtNumberConditionChips(const unsigned int&);
79 
81  inline const unsigned int gtPinsOnConditionChip() const {
82  return m_pinsOnConditionChip;
83  }
84 
85  void setGtPinsOnConditionChip(const unsigned int&);
86 
89  inline std::vector<int> gtOrderConditionChip() const {
90  return m_orderConditionChip;
91  }
92 
93  void setGtOrderConditionChip(const std::vector<int>&);
94 
96  inline const unsigned int gtNumberPhysTriggers() const {
97  return m_numberPhysTriggers;
98  }
99 
100  void setGtNumberPhysTriggers(const unsigned int&);
101 
103  inline const unsigned int gtNumberTechTriggers() const {
104  return m_numberTechTriggers;
105  }
106 
107  void setGtNumberTechTriggers(const unsigned int&);
108 
110  inline const unsigned int gtNumberL1JetCounts() const {
111  return m_numberL1JetCounts;
112  }
113 
114  void setGtNumberL1JetCounts(const unsigned int&);
115 
116 public:
117 
119  inline const std::vector<ConditionMap>& gtConditionMap() const {
120  return m_conditionMap;
121  }
122 
123  void setGtConditionMap(const std::vector<ConditionMap>&);
124 
126  inline const std::string& gtTriggerMenuInterface() const {
127  return m_triggerMenuInterface;
128  }
129 
131 
132  //
133  inline const std::string& gtTriggerMenuName() const {
134  return m_triggerMenuName;
135  }
136 
137  void setGtTriggerMenuName(const std::string&);
138 
139  //
140  inline const std::string& gtTriggerMenuImplementation() const {
142  }
143 
145 
147  inline const std::string& gtScaleDbKey() const {
148  return m_scaleDbKey;
149  }
150 
151  void setGtScaleDbKey(const std::string&);
152 
154  inline const std::vector<std::vector<MuonTemplate> >& vecMuonTemplate() const {
155  return m_vecMuonTemplate;
156  }
157  void setVecMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
158 
159  //
160  inline const std::vector<std::vector<CaloTemplate> >& vecCaloTemplate() const {
161  return m_vecCaloTemplate;
162  }
163 
164  void setVecCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
165 
166  //
167  inline const std::vector<std::vector<L1GtEnergySumTemplate> >& vecEnergySumTemplate() const {
168 
169  return m_vecEnergySumTemplate;
170  }
171 
173  const std::vector<std::vector<L1GtEnergySumTemplate> >&);
174 
175  //
176  inline const std::vector<std::vector<L1GtJetCountsTemplate> >& vecJetCountsTemplate() const {
177 
178  return m_vecJetCountsTemplate;
179  }
180 
182  const std::vector<std::vector<L1GtJetCountsTemplate> >&);
183 
184  //
185  inline const std::vector<std::vector<L1GtCastorTemplate> >& vecCastorTemplate() const {
186 
187  return m_vecCastorTemplate;
188  }
189 
191  const std::vector<std::vector<L1GtCastorTemplate> >&);
192 
193  //
194  inline const std::vector<std::vector<L1GtHfBitCountsTemplate> >&
196 
198  }
199 
201  const std::vector<std::vector<L1GtHfBitCountsTemplate> >&);
202 
203  //
204  inline const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >&
206 
208  }
209 
211  const std::vector<std::vector<L1GtHfRingEtSumsTemplate> >&);
212 
213  //
214  inline const std::vector<std::vector<L1GtBptxTemplate> >&
215  vecBptxTemplate() const {
216 
217  return m_vecBptxTemplate;
218  }
219 
220  void setVecBptxTemplate(
221  const std::vector<std::vector<L1GtBptxTemplate> >&);
222 
223  //
224  inline const std::vector<std::vector<L1GtExternalTemplate> >&
226 
227  return m_vecExternalTemplate;
228  }
229 
231  const std::vector<std::vector<L1GtExternalTemplate> >&);
232 
233  //
234  inline const std::vector<std::vector<CorrelationTemplate> >& vecCorrelationTemplate() const {
235 
237  }
238 
240  const std::vector<std::vector<CorrelationTemplate> >&);
241 
242  // get / set the vectors containing the conditions for correlation templates
243  //
244  inline const std::vector<std::vector<MuonTemplate> >& corMuonTemplate() const {
245  return m_corMuonTemplate;
246  }
247 
248  void setCorMuonTemplate(const std::vector<std::vector<MuonTemplate> >&);
249 
250  //
251  inline const std::vector<std::vector<CaloTemplate> >& corCaloTemplate() const {
252  return m_corCaloTemplate;
253  }
254 
255  void setCorCaloTemplate(const std::vector<std::vector<CaloTemplate> >&);
256 
257  //
258  inline const std::vector<std::vector<L1GtEnergySumTemplate> >& corEnergySumTemplate() const {
259 
260  return m_corEnergySumTemplate;
261  }
262 
264  const std::vector<std::vector<L1GtEnergySumTemplate> >&);
265 
267  inline const AlgorithmMap& gtAlgorithmMap() const {
268  return m_algorithmMap;
269  }
270 
271  void setGtAlgorithmMap(const AlgorithmMap&);
272 
274  inline const AlgorithmMap& gtAlgorithmAliasMap() const {
275  return m_algorithmAliasMap;
276  }
277 
279 
281  inline const AlgorithmMap& gtTechnicalTriggerMap() const {
282  return m_technicalTriggerMap;
283  }
284 
286 
287 public:
288 
290  void parseXmlFile(const std::string& defXmlFile,
291  const std::string& vmeXmlFile);
292 
293 public:
294 
296  inline const std::string& gtTriggerMenuInterfaceDate() const {
298  }
299 
301 
304  }
305 
307 
310  }
311 
313 
314  //
315 
316  inline const std::string& gtTriggerMenuDate() const {
317  return m_triggerMenuDate;
318  }
319 
320  void setGtTriggerMenuDate(const std::string&);
321 
322  inline const std::string& gtTriggerMenuAuthor() const {
323  return m_triggerMenuAuthor;
324  }
325 
326  void setGtTriggerMenuAuthor(const std::string&);
327 
328  inline const std::string& gtTriggerMenuDescription() const {
330  }
331 
333 
334 
335  inline const std::string& gtAlgorithmImplementation() const {
337  }
338 
340 
341 
342 private:
343 
344  // XML methods
345 
347  XERCES_CPP_NAMESPACE::XercesDOMParser* initXML(const std::string& xmlFile);
348 
350  XERCES_CPP_NAMESPACE::DOMNode* findXMLChild(
351  XERCES_CPP_NAMESPACE::DOMNode* startChild,
352  const std::string& tagName, bool beginOnly = false,
353  std::string* rest = 0);
354 
356  std::string getXMLAttribute(const XERCES_CPP_NAMESPACE::DOMNode* node,
357  const std::string& name);
358 
360  std::string getXMLTextValue(XERCES_CPP_NAMESPACE::DOMNode* node);
361 
363  bool hexString2UInt128(const std::string& hexString, boost::uint64_t& dstL,
364  boost::uint64_t& dstH);
365 
367  bool getXMLHexTextValue128Old(XERCES_CPP_NAMESPACE::DOMNode* node,
368  boost::uint64_t& dstL, boost::uint64_t& dstH);
369  bool getXMLHexTextValue128(const std::string& childName,
370  boost::uint64_t& dstL, boost::uint64_t& dstH);
371 
373  bool getXMLHexTextValueOld(XERCES_CPP_NAMESPACE::DOMNode* node,
374  boost::uint64_t& dst);
375  bool getXMLHexTextValue(const std::string& childName,
376  boost::uint64_t& dst);
377 
379  bool countConditionChildMaxBits(const std::string& childName,
380  unsigned int& dst);
381 
383  bool getConditionChildValuesOld(XERCES_CPP_NAMESPACE::DOMNode* node,
384  const std::string& childName, unsigned int num,
385  std::vector<boost::uint64_t>& dst);
386 
388  void cleanupXML(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
389 
390 
391 private:
392 
393  // methods for the VME file
394 
396  bool parseVmeXML(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
397 
398 private:
399 
400  // methods for conditions and algorithms
401 
404  void clearMaps();
405 
408  bool insertConditionIntoMap(GtCondition& cond, const int chipNr);
409 
411  bool insertAlgorithmIntoMap(const L1GtAlgorithm& alg);
412 
414  bool insertTechTriggerIntoMap(const L1GtAlgorithm& alg);
415 
419 
421  int getNumFromType(const std::string& type);
422 
424  int getBitFromNode(XERCES_CPP_NAMESPACE::DOMNode* node);
425 
427  int getGEqFlag(XERCES_CPP_NAMESPACE::DOMNode* node,
428  const std::string& nodeName);
429 
431  bool getMuonMipIsoBits(XERCES_CPP_NAMESPACE::DOMNode* node,
432  unsigned int num, std::vector<bool>& mipDst,
433  std::vector<bool>& isoEnDst, std::vector<bool>& isoReqDst);
434 
435  std::string l1t2string( l1t::MenuName );
436  std::string l1t2string( l1t::ScalesKey );
437  std::string l1t2string( l1t::FirmwareVersion );
438  std::string l1t2string( l1t::DateTime );
441  std::string l1t2string( l1t::ConditionName );
443  std::string l1t2string( l1t::EtComparison );
444  std::string l1t2string( l1t::CalorimeterObjectType );
446  std::string l1t2string( l1t::AlgorithmIndex );
447  std::string l1t2string( l1t::AlgorithmEquation );
448  std::string l1t2string( l1t::EtThreshold );
449  int l1t2int( l1t::RelativeBx );
450 
452 /* bool parseMuon(XERCES_CPP_NAMESPACE::DOMNode* node, */
453 /* const std::string& name, unsigned int chipNr = 0, */
454 /* const bool corrFlag = false); */
455  bool parseMuon( l1t::MuonCondition condMu,
456  unsigned int chipNr = 0, const bool corrFlag = false);
457 
458 
460 /* bool parseCalo(XERCES_CPP_NAMESPACE::DOMNode* node, */
461 /* const std::string& name, unsigned int chipNr = 0, */
462 /* const bool corrFlag = false); */
463  bool parseCalo( l1t::CalorimeterCondition condCalo,
464  unsigned int chipNr = 0, const bool corrFlag = false);
465 
467  bool parseEnergySum(XERCES_CPP_NAMESPACE::DOMNode* node,
468  const std::string& name, unsigned int chipNr = 0,
469  const bool corrFlag = false);
470 
472  bool parseJetCounts(XERCES_CPP_NAMESPACE::DOMNode* node,
473  const std::string& name, unsigned int chipNr = 0);
474 
476  bool parseCastor(XERCES_CPP_NAMESPACE::DOMNode* node,
477  const std::string& name, unsigned int chipNr = 0);
478 
480  bool parseHfBitCounts(XERCES_CPP_NAMESPACE::DOMNode* node,
481  const std::string& name, unsigned int chipNr = 0);
482 
484  bool parseHfRingEtSums(XERCES_CPP_NAMESPACE::DOMNode* node,
485  const std::string& name, unsigned int chipNr = 0);
486 
488  bool parseBptx(XERCES_CPP_NAMESPACE::DOMNode* node,
489  const std::string& name, unsigned int chipNr = 0);
490 
492  bool parseExternal(XERCES_CPP_NAMESPACE::DOMNode* node,
493  const std::string& name, unsigned int chipNr = 0);
494 
496  bool parseCorrelation(XERCES_CPP_NAMESPACE::DOMNode* node,
497  const std::string& name, unsigned int chipNr = 0);
498 
500  //bool parseId(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
501  bool parseId( std::auto_ptr<l1t::L1TriggerMenu> tm );
502  bool parseId( l1t::Meta meta );
503 
505  bool workCondition(XERCES_CPP_NAMESPACE::DOMNode* node,
506  const std::string& name, unsigned int chipNr);
507 
509  //bool parseConditions(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
510  //bool parseConditions( std::auto_ptr<l1t::L1TriggerMenu> tm );
511  bool parseConditions( l1t::ConditionList conditions );
512 
514 /* bool workAlgorithm(XERCES_CPP_NAMESPACE::DOMNode* node, */
515 /* const std::string& name, unsigned int chipNr); */
516  bool workAlgorithm( l1t::Algorithm algorithm,
517  unsigned int chipNr);
518 
520  //bool parseAlgorithms(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
521  bool parseAlgorithms( l1t::AlgorithmList algorithms );
522 
524  bool workTechTrigger(XERCES_CPP_NAMESPACE::DOMNode* node,
525  const std::string& name);
526 
528  bool parseTechTriggers(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
529 
531  //bool workXML(XERCES_CPP_NAMESPACE::XercesDOMParser* parser);
532  bool workXML( std::auto_ptr<l1t::L1TriggerMenu> tm );
533 
534 private:
535 
537  XERCES_CPP_NAMESPACE::ErrorHandler* m_xmlErrHandler;
538 
540 
543 
545  unsigned int m_pinsOnConditionChip;
546 
549  std::vector<int> m_orderConditionChip;
550 
552  unsigned int m_numberPhysTriggers;
553 
555  unsigned int m_numberTechTriggers;
556 
558  unsigned int m_numberL1JetCounts;
559 
560 private:
561 
563 
567 
571 
573 
574 
575 private:
576 
578  std::vector<ConditionMap> m_conditionMap;
579 
580 private:
581 
586 
589 
592  std::vector<std::vector<MuonTemplate> > m_vecMuonTemplate;
593  std::vector<std::vector<CaloTemplate> > m_vecCaloTemplate;
594  std::vector<std::vector<L1GtEnergySumTemplate> > m_vecEnergySumTemplate;
595  std::vector<std::vector<L1GtJetCountsTemplate> > m_vecJetCountsTemplate;
596  std::vector<std::vector<L1GtCastorTemplate> > m_vecCastorTemplate;
597  std::vector<std::vector<L1GtHfBitCountsTemplate> > m_vecHfBitCountsTemplate;
598  std::vector<std::vector<L1GtHfRingEtSumsTemplate> > m_vecHfRingEtSumsTemplate;
599  std::vector<std::vector<L1GtBptxTemplate> > m_vecBptxTemplate;
600  std::vector<std::vector<L1GtExternalTemplate> > m_vecExternalTemplate;
601 
602  std::vector<std::vector<CorrelationTemplate> > m_vecCorrelationTemplate;
603  std::vector<std::vector<MuonTemplate> > m_corMuonTemplate;
604  std::vector<std::vector<CaloTemplate> > m_corCaloTemplate;
605  std::vector<std::vector<L1GtEnergySumTemplate> > m_corEnergySumTemplate;
606 
609 
612 
615 
616 };
617 
618 }
619 #endif /*L1TGlobal_TriggerMenuXmlParser_h*/
type
Definition: HCALResponse.h:21
const std::string & gtScaleDbKey() const
menu associated scale key
unsigned int m_numberTechTriggers
number of technical triggers
< trclass="colgroup">< tdclass="colgroup"colspan=5 > Ecal cluster collections</td ></tr >< tr >< td >< ahref="classreco_1_1BasicCluster.html"> reco::BasicCluster</a ></td >< td >< ahref="DataFormats_EgammaReco.html"> reco::BasicClusterCollection</a ></td >< td >< ahref="#"> hybridSuperClusters</a ></td >< tdclass="description"> Basic clusters reconstructed with hybrid algorithm(barrel only)</td >< td >S.Rahatlou</td ></tr >< tr >< td >< a href
bool workXML(std::auto_ptr< l1t::L1TriggerMenu > tm)
do all the steps for filling a trigger menu
bool parseJetCounts(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a &quot;jet counts&quot; condition
unsigned int m_numberConditionChips
hardware limits
bool insertConditionIntoMap(GtCondition &cond, const int chipNr)
const std::vector< std::vector< CorrelationTemplate > > & vecCorrelationTemplate() const
bool workAlgorithm(l1t::Algorithm algorithm, unsigned int chipNr)
parse an algorithm and insert it into algorithm map.
GtConditionType
Definition: GtDefinitions.h:99
void setGtAlgorithmAliasMap(const AlgorithmMap &)
void setGtNumberL1JetCounts(const unsigned int &)
std::string l1t2string(l1t::MenuName)
std::vector< std::vector< CaloTemplate > > m_vecCaloTemplate
bool insertTechTriggerIntoMap(const L1GtAlgorithm &alg)
insert a technical trigger into technical trigger map
AlgorithmMap m_algorithmAliasMap
map containing the physics algorithms (by alias)
bool parseConditions(l1t::ConditionList conditions)
parse all conditions
std::vector< std::vector< L1GtJetCountsTemplate > > m_vecJetCountsTemplate
const std::vector< std::vector< L1GtHfBitCountsTemplate > > & vecHfBitCountsTemplate() const
bool parseVmeXML(XERCES_CPP_NAMESPACE::XercesDOMParser *parser)
parse the vme xml file
void setVecEnergySumTemplate(const std::vector< std::vector< L1GtEnergySumTemplate > > &)
const std::string & gtTriggerMenuAuthor() const
const unsigned int gtPinsOnConditionChip() const
get / set the number of pins on the GTL condition chips
const AlgorithmMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
std::vector< std::vector< CorrelationTemplate > > m_vecCorrelationTemplate
const unsigned int gtNumberPhysTriggers() const
get / set the number of physics trigger algorithms
void setGtAlgorithmMap(const AlgorithmMap &)
std::string m_scaleDbKey
menu associated scale key
bool parseCalo(l1t::CalorimeterCondition condCalo, unsigned int chipNr=0, const bool corrFlag=false)
parse a calorimeter condition
void setGtTechnicalTriggerMap(const AlgorithmMap &)
void setGtOrderConditionChip(const std::vector< int > &)
std::vector< std::vector< L1GtEnergySumTemplate > > m_corEnergySumTemplate
std::vector< int > m_orderConditionChip
std::vector< std::vector< CaloTemplate > > m_corCaloTemplate
void setGtTriggerMenuImplementation(const std::string &)
tuple node
Definition: Node.py:50
bool insertAlgorithmIntoMap(const L1GtAlgorithm &alg)
insert an algorithm into algorithm map
void setVecHfRingEtSumsTemplate(const std::vector< std::vector< L1GtHfRingEtSumsTemplate > > &)
bool parseId(std::auto_ptr< l1t::L1TriggerMenu > tm)
parse all parse all identification attributes (trigger menu names, scale DB key, etc) ...
bool parseExternal(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse an External condition
const std::string & gtTriggerMenuDate() const
void setGtNumberPhysTriggers(const unsigned int &)
void setVecHfBitCountsTemplate(const std::vector< std::vector< L1GtHfBitCountsTemplate > > &)
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
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 setGtTriggerMenuInterfaceDescription(const std::string &)
bool getXMLHexTextValue(const std::string &childName, boost::uint64_t &dst)
void parseXmlFile(const std::string &defXmlFile, const std::string &vmeXmlFile)
parse def.xml and vme.xml files
void setGtTriggerMenuName(const std::string &)
std::vector< std::vector< L1GtBptxTemplate > > m_vecBptxTemplate
void setVecBptxTemplate(const std::vector< std::vector< L1GtBptxTemplate > > &)
void setGtScaleDbKey(const std::string &)
const std::string & gtAlgorithmImplementation() const
void setVecJetCountsTemplate(const std::vector< std::vector< L1GtJetCountsTemplate > > &)
const std::string & gtTriggerMenuDescription() const
int getBitFromNode(XERCES_CPP_NAMESPACE::DOMNode *node)
get bit from a bit node
XERCES_CPP_NAMESPACE::ErrorHandler * m_xmlErrHandler
error handler for xml-parser
void setGtTriggerMenuInterfaceAuthor(const std::string &)
const AlgorithmMap & gtTechnicalTriggerMap() const
get / set the technical trigger map
AlgorithmMap m_algorithmMap
map containing the physics algorithms (by name)
const std::vector< std::vector< CaloTemplate > > & vecCaloTemplate() const
bool parseMuon(l1t::MuonCondition condMu, unsigned int chipNr=0, const bool corrFlag=false)
parse a muon condition
const std::string & gtTriggerMenuInterfaceDescription() const
void setVecExternalTemplate(const std::vector< std::vector< L1GtExternalTemplate > > &)
std::vector< ConditionMap > m_conditionMap
map containing the conditions (per condition chip) - transient
const unsigned int gtNumberL1JetCounts() const
get / set the number of L1 jet counts received by GT
std::string getXMLAttribute(const XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name)
get a named attribute for an xml node as string
bool getXMLHexTextValue128Old(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
const std::vector< std::vector< L1GtEnergySumTemplate > > & vecEnergySumTemplate() const
void setVecMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
unsigned int m_numberPhysTriggers
number of physics trigger algorithms
unsigned int m_numberL1JetCounts
jet counts
bool workCondition(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr)
choose the parser for a particular condition
const std::vector< std::vector< L1GtEnergySumTemplate > > & corEnergySumTemplate() const
bool parseHfRingEtSums(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a HfRingEtSums condition
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
bool getXMLHexTextValue128(const std::string &childName, boost::uint64_t &dstL, boost::uint64_t &dstH)
const unsigned int gtNumberConditionChips() const
get / set the number of condition chips in GTL
std::vector< std::vector< L1GtHfRingEtSumsTemplate > > m_vecHfRingEtSumsTemplate
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
std::vector< std::vector< MuonTemplate > > m_vecMuonTemplate
void setVecCastorTemplate(const std::vector< std::vector< L1GtCastorTemplate > > &)
AlgorithmMap m_technicalTriggerMap
map containing the technical triggers
std::vector< std::vector< L1GtHfBitCountsTemplate > > m_vecHfBitCountsTemplate
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
const std::string & gtTriggerMenuName() const
const std::vector< ConditionMap > & gtConditionMap() const
get / set / build the condition maps
std::vector< std::vector< L1GtExternalTemplate > > m_vecExternalTemplate
bool getConditionChildValuesOld(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
l1t::GtConditionType getTypeFromType(const std::string &type)
const std::vector< std::vector< MuonTemplate > > & vecMuonTemplate() const
get / set the vectors containing the conditions
std::string m_triggerMenuInterface
menu names
void setGtConditionMap(const std::vector< ConditionMap > &)
unsigned long long uint64_t
Definition: Time.h:15
bool countConditionChildMaxBits(const std::string &childName, unsigned int &dst)
get the number of bits in the max attribute of a condition child
std::vector< std::vector< L1GtCastorTemplate > > m_vecCastorTemplate
const unsigned int gtNumberTechTriggers() const
get / set the number of technical triggers
void setGtTriggerMenuDescription(const std::string &)
bool xmlFile(const std::string fParam)
bool parseTechTriggers(XERCES_CPP_NAMESPACE::XercesDOMParser *parser)
parse all algorithms
std::vector< std::vector< MuonTemplate > > m_corMuonTemplate
bool parseHfBitCounts(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a HfBitCounts condition
const std::string & gtTriggerMenuInterfaceAuthor() const
void setGtPinsOnConditionChip(const unsigned int &)
std::string m_triggerMenuInterfaceDate
members for XML parser only (do not appear in CondFormats)
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
const std::vector< std::vector< L1GtJetCountsTemplate > > & vecJetCountsTemplate() const
const std::string & gtTriggerMenuImplementation() const
void setGtTriggerMenuInterfaceDate(const std::string &)
void setVecCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
std::vector< int > gtOrderConditionChip() const
bool workTechTrigger(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name)
parse an algorithm and insert it into algorithm map.
virtual ~TriggerMenuXmlParser()
destructor
void setGtNumberConditionChips(const unsigned int &)
void setGtAlgorithmImplementation(const std::string &)
void cleanupXML(XERCES_CPP_NAMESPACE::XercesDOMParser *parser)
shutdown the xml utils and deallocate parser and error handler
XERCES_CPP_NAMESPACE::XercesDOMParser * initXML(const std::string &xmlFile)
init xml system
std::vector< std::vector< L1GtEnergySumTemplate > > m_vecEnergySumTemplate
unsigned int m_pinsOnConditionChip
number of pins on the GTL condition chips
const std::vector< std::vector< L1GtCastorTemplate > > & vecCastorTemplate() const
bool parseCorrelation(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a correlation condition
const std::vector< std::vector< L1GtExternalTemplate > > & vecExternalTemplate() const
std::string getXMLTextValue(XERCES_CPP_NAMESPACE::DOMNode *node)
get the text value of a xml node as string
bool parseAlgorithms(l1t::AlgorithmList algorithms)
parse all algorithms
void setCorCaloTemplate(const std::vector< std::vector< CaloTemplate > > &)
void setCorMuonTemplate(const std::vector< std::vector< MuonTemplate > > &)
void setVecCorrelationTemplate(const std::vector< std::vector< CorrelationTemplate > > &)
void setGtTriggerMenuInterface(const std::string &)
void setCorEnergySumTemplate(const std::vector< std::vector< L1GtEnergySumTemplate > > &)
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
void setGtTriggerMenuDate(const std::string &)
void setGtNumberTechTriggers(const unsigned int &)
void setGtTriggerMenuAuthor(const std::string &)
const AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
bool getXMLHexTextValueOld(XERCES_CPP_NAMESPACE::DOMNode *node, boost::uint64_t &dst)
get a hexadecimal value of a xml node containing text
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< L1GtHfRingEtSumsTemplate > > & vecHfRingEtSumsTemplate() const
int getNumFromType(const std::string &type)
get number of particles from condition type
const std::string & gtTriggerMenuInterfaceDate() const
get / set the XML parser creation date, author, description for menu interface, menu ...
const std::vector< std::vector< L1GtBptxTemplate > > & vecBptxTemplate() const
bool parseCastor(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a CASTOR condition
bool parseBptx(XERCES_CPP_NAMESPACE::DOMNode *node, const std::string &name, unsigned int chipNr=0)
parse a Bptx condition