ATLAS Offline Software
HLTFrame.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TrigConf_HLTFrame
6 #define TrigConf_HLTFrame
7 
8 #include <fstream>
9 #include <map>
10 #include <string>
11 #include <iosfwd>
12 #include <vector>
13 
15 
19 
20 namespace TrigConf {
21 
22  class HLTFrame;
23  class HLTChain;
24  class HLTPrescaleSet;
25  class DiffStruct;
26 
27  std::ostream & operator<<(std::ostream &, const HLTFrame &);
28 
33  class HLTFrame : public TrigConfData {
34  public:
36  HLTFrame();
37 
39  virtual ~HLTFrame() override = default;
40 
42  void clear();
43 
48 
49  const HLTChainList& getHLTChainList() const { return m_HLTChainList; }
52  const HLTPrescaleSet* getPrescaleSet(unsigned int lbn) const { return m_hltPrescaleSets.prescaleSet(lbn); }
53  bool mergedHLT() const { return m_setMergedHLT; }
54  const std::string& configSource() const { return m_ConfigSrc; }
55 
56 
58  void setMergedHLT(bool merged=true) { m_setMergedHLT = merged; }
59  void setConfigSource(const std::string& src) { m_ConfigSrc = src; }
60 
61 
63  void print(const std::string& indent="", unsigned int detail=1) const override;
64 
65  void writeXML(const std::string& filename) const;
66  void writeXML(std::ofstream & xmlfile) const;
67 
68  bool equals(const HLTFrame* other, const std::string& filename) const;
69  DiffStruct* compareTo(const HLTFrame* o) const;
70 
71  private:
72 
76  bool m_setMergedHLT {false};
77  std::string m_ConfigSrc {""};
78 
80  std::map<std::string, unsigned int> m_str2idMap;
81 
82  friend std::ostream & operator<<(std::ostream &, const TrigConf::HLTFrame &);
83  };
84 
85 }
86 
87 #endif
TrigConf::HLTFrame::m_HLTSequenceList
HLTSequenceList m_HLTSequenceList
list of HLT trigger sequences (owned)
Definition: HLTFrame.h:74
TrigConf::HLTFrame::m_setMergedHLT
bool m_setMergedHLT
Definition: HLTFrame.h:76
TrigConf::operator<<
std::ostream & operator<<(std::ostream &os, const TrigConf::IsolationLegacy &iso)
Definition: L1ThresholdBase.cxx:339
HLTChainList.h
TrigConf::HLTFrame::operator<<
friend std::ostream & operator<<(std::ostream &, const TrigConf::HLTFrame &)
TrigConf::HLTFrame::m_str2idMap
std::map< std::string, unsigned int > m_str2idMap
TE labels <-> id conversion map.
Definition: HLTFrame.h:80
WriteCellNoiseToCool.src
src
Definition: WriteCellNoiseToCool.py:513
TrigConf::HLTFrame::clear
void clear()
clear chains, sequences and prescales
Definition: HLTFrame.cxx:32
TrigConf::DiffStruct
Definition: DiffStruct.h:14
TrigConf::HLTFrame::thePrescaleSetCollection
HLTPrescaleSetCollection & thePrescaleSetCollection()
Definition: HLTFrame.h:46
detail
Definition: extract_histogram_tag.cxx:14
TrigConf::HLTFrame::m_hltPrescaleSets
HLTPrescaleSetCollection m_hltPrescaleSets
the hlt prescale set (owned)
Definition: HLTFrame.h:75
TrigConf::HLTFrame::thePrescaleSet
HLTPrescaleSet * thePrescaleSet(unsigned int lbn=0)
Definition: HLTFrame.h:47
TrigConf::HLTFrame::getHLTSequenceList
const HLTSequenceList & getHLTSequenceList() const
const accessor to the list of HLT sequences
Definition: HLTFrame.h:50
TrigConf::HLTFrame::compareTo
DiffStruct * compareTo(const HLTFrame *o) const
Definition: HLTFrame.cxx:61
trigbs_dumpPrescaleBits.HLTChain
HLTChain
Definition: trigbs_dumpPrescaleBits.py:41
TrigConf::HLTFrame::theHLTSequenceList
HLTSequenceList & theHLTSequenceList()
accessor to the list of HLT sequences
Definition: HLTFrame.h:45
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
TrigConf::HLTChainList
list of all HLT chains in a trigger menu
Definition: HLTChainList.h:56
TrigConf::HLTFrame::m_ConfigSrc
std::string m_ConfigSrc
Definition: HLTFrame.h:77
TrigConf::HLTFrame::print
void print(const std::string &indent="", unsigned int detail=1) const override
print method
Definition: HLTFrame.cxx:86
TrigConf::HLTPrescaleSetCollection::prescaleSet
const HLTPrescaleSet * prescaleSet(unsigned int lumiblock) const
Definition: HLTPrescaleSetCollection.cxx:49
TrigConfData.h
TrigConf::TrigConfData
Definition: TrigConfData.h:13
TrigConf::HLTPrescaleSet
HLT chain configuration information.
Definition: HLTPrescaleSet.h:31
HLTPrescaleSetCollection.h
TrigConf::HLTFrame::setMergedHLT
void setMergedHLT(bool merged=true)
pass the HLT merged status
Definition: HLTFrame.h:58
TrigConf::HLTFrame::~HLTFrame
virtual ~HLTFrame() override=default
destructor
TrigConf::HLTFrame::HLTFrame
HLTFrame()
default constructor
Definition: HLTFrame.cxx:26
TrigConf::HLTFrame::m_HLTChainList
HLTChainList m_HLTChainList
list of HLT trigger chains (owned)
Definition: HLTFrame.h:73
TrigConf::HLTFrame::getPrescaleSet
const HLTPrescaleSet * getPrescaleSet(unsigned int lbn) const
Definition: HLTFrame.h:52
TrigConf::HLTFrame
The HLT trigger menu,.
Definition: HLTFrame.h:33
TrigConf::HLTFrame::equals
bool equals(const HLTFrame *other, const std::string &filename) const
Definition: HLTFrame.cxx:43
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
TrigConf::HLTFrame::writeXML
void writeXML(const std::string &filename) const
Definition: HLTFrame.cxx:100
HLTSequenceList.h
TrigConf::HLTPrescaleSetCollection
HLT chain configuration information.
Definition: HLTPrescaleSetCollection.h:25
TrigConf::HLTFrame::getHLTChainList
const HLTChainList & getHLTChainList() const
const accessor to the list of HLT chains
Definition: HLTFrame.h:49
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
TrigConf::TrigConfData::indent
std::ostream & indent(std::ostream &o, int lvl, int size) const
Definition: TrigConfData.cxx:23
TrigConf::HLTFrame::getPrescaleSetCollection
const HLTPrescaleSetCollection & getPrescaleSetCollection() const
Definition: HLTFrame.h:51
TrigConf::HLTPrescaleSetCollection::thePrescaleSet
HLTPrescaleSet * thePrescaleSet(unsigned int lumiblock) const
get prescale set for lumiblock and set the internal current lumiblock counter
Definition: HLTPrescaleSetCollection.cxx:54
TrigConf::HLTFrame::theHLTChainList
HLTChainList & theHLTChainList()
accessor to the list of HLT chains
Definition: HLTFrame.h:44
TrigConf::HLTFrame::setConfigSource
void setConfigSource(const std::string &src)
Definition: HLTFrame.h:59
TrigConf::HLTFrame::configSource
const std::string & configSource() const
Definition: HLTFrame.h:54
TrigConf::HLTFrame::mergedHLT
bool mergedHLT() const
Definition: HLTFrame.h:53
LB_AnalMapSplitter.lbn
lbn
Definition: LB_AnalMapSplitter.py:28
TrigConf::HLTSequenceList
list of HLT sequences
Definition: HLTSequenceList.h:40