ATLAS Offline Software
TrigConfHLTData/TrigConfHLTData/HLTUtils.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TrigConfHLTData_HLTUtils
6 #define TrigConfHLTData_HLTUtils
7 
8 #include <string>
9 #include <inttypes.h>
10 #include <set>
11 #include <vector>
12 #include <mutex>
13 
14 namespace TrigConf {
15 
16  class HLTChainList;
17  class HLTChain;
18  class HLTSequenceList;
19  class HLTSequence;
20  class HLTPrescale;
21  class HLTFrame;
22 
26  class HLTTEUtils {
27 
28  public:
29 
39  static std::vector<unsigned int> allTEsProducedInLevel( const std::string& level,
40  const HLTChainList& chainList, const HLTSequenceList& sequenceList);
41 
46  static std::vector<std::string> explicitChainTEs(const HLTChain& ch);
47 
48 
49 
53  static std::vector<std::string> implicitChainTEs(const HLTChain& ch, const HLTSequenceList& sequenceList);
54 
55 
56 
60  static std::set<std::string> inputTEs( const std::set<std::string>& TEs,
61  const TrigConf::HLTSequenceList& sequenceList);
62 
63 
64  static std::set<std::string> allTEsProducedInL2Chain( const TrigConf::HLTChain& chain,
65  const TrigConf::HLTSequenceList& sequenceList);
66 
67  static std::set<std::string> allTEsProducedInEFChain( const TrigConf::HLTChain& chain,
68  const TrigConf::HLTSequenceList& sequenceList,
69  const std::set<std::string>& l2tes );
70 
71  static std::set<std::string> allTEsProducedInL2( const TrigConf::HLTFrame& frame);
72 
73  static std::set<std::string> allTEsProducedInEF( const TrigConf::HLTFrame& frame,
74  std::set<std::string>* l2tes=0 );
75 
76  static std::set<std::string> allTEsProduced( const TrigConf::HLTFrame& frame );
77 
78  static std::string ChainCondenseDisplay( const HLTChain& chain,
79  const HLTFrame& frame );
80 
81  static std::vector< std::string > splitGroups(const std::string& s);
82 
83  static HLTSequence* buildSequence(const std::string& desc);
84 
85  static void mergeHLTChainList( TrigConf::HLTFrame& frame );
86 
87  static void mergeHLTChainList2( TrigConf::HLTFrame& frame );
88 
89  static void mergeL2EFPrescales( TrigConf::HLTChain* hltchain,
90  const TrigConf::HLTPrescale& l2ps,
91  const TrigConf::HLTPrescale& efps);
92 
93  };
94 
95 }
96 
97 #endif
TrigConf::HLTTEUtils::mergeHLTChainList
static void mergeHLTChainList(TrigConf::HLTFrame &frame)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:462
TrigConf::HLTPrescale
Definition: HLTPrescale.h:26
TrigConf::HLTTEUtils::allTEsProducedInL2Chain
static std::set< std::string > allTEsProducedInL2Chain(const TrigConf::HLTChain &chain, const TrigConf::HLTSequenceList &sequenceList)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:254
TrigConf::HLTTEUtils::mergeHLTChainList2
static void mergeHLTChainList2(TrigConf::HLTFrame &frame)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:559
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
runLayerRecalibration.chain
chain
Definition: runLayerRecalibration.py:175
TrigConf::HLTTEUtils::allTEsProducedInEF
static std::set< std::string > allTEsProducedInEF(const TrigConf::HLTFrame &frame, std::set< std::string > *l2tes=0)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:191
TrigConf::HLTTEUtils::buildSequence
static HLTSequence * buildSequence(const std::string &desc)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:444
TrigConf::HLTChain
HLT chain configuration information.
Definition: TrigConfHLTData/TrigConfHLTData/HLTChain.h:35
trigbs_dumpPrescaleBits.HLTChain
HLTChain
Definition: trigbs_dumpPrescaleBits.py:41
TrigConf::HLTTEUtils::inputTEs
static std::set< std::string > inputTEs(const std::set< std::string > &TEs, const TrigConf::HLTSequenceList &sequenceList)
returns set of input TEs for given set of TEs
Definition: TrigConfHLTData/Root/HLTUtils.cxx:230
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
TrigConf::HLTTEUtils::implicitChainTEs
static std::vector< std::string > implicitChainTEs(const HLTChain &ch, const HLTSequenceList &sequenceList)
returns list of TEids which are specified by Chain signatures and which are needed by this signatures
Definition: TrigConfHLTData/Root/HLTUtils.cxx:158
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
TrigConf::HLTTEUtils::allTEsProducedInL2
static std::set< std::string > allTEsProducedInL2(const TrigConf::HLTFrame &frame)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:174
TrigConf::HLTTEUtils::explicitChainTEs
static std::vector< std::string > explicitChainTEs(const HLTChain &ch)
returns list of TEids which are specified by Chain signatures
Definition: TrigConfHLTData/Root/HLTUtils.cxx:144
TrigConf::HLTTEUtils
HLTUtils is renamed in r22 to HLTTEUtils.
Definition: TrigConfHLTData/TrigConfHLTData/HLTUtils.h:26
CaloCondBlobAlgs_fillNoiseFromASCII.desc
desc
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:54
TrigConf::HLTChainList
list of all HLT chains in a trigger menu
Definition: HLTChainList.h:56
TrigConf::HLTTEUtils::splitGroups
static std::vector< std::string > splitGroups(const std::string &s)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:411
TrigConf::HLTTEUtils::mergeL2EFPrescales
static void mergeL2EFPrescales(TrigConf::HLTChain *hltchain, const TrigConf::HLTPrescale &l2ps, const TrigConf::HLTPrescale &efps)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:547
TrigConf::HLTTEUtils::allTEsProduced
static std::set< std::string > allTEsProduced(const TrigConf::HLTFrame &frame)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:211
TrigConf::HLTTEUtils::allTEsProducedInEFChain
static std::set< std::string > allTEsProducedInEFChain(const TrigConf::HLTChain &chain, const TrigConf::HLTSequenceList &sequenceList, const std::set< std::string > &l2tes)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:297
TrigConf::HLTTEUtils::ChainCondenseDisplay
static std::string ChainCondenseDisplay(const HLTChain &chain, const HLTFrame &frame)
Definition: TrigConfHLTData/Root/HLTUtils.cxx:341
TrigConf::HLTFrame
The HLT trigger menu,.
Definition: HLTFrame.h:33
TrigConf::HLTTEUtils::allTEsProducedInLevel
static std::vector< unsigned int > allTEsProducedInLevel(const std::string &level, const HLTChainList &chainList, const HLTSequenceList &sequenceList)
returns list of TEids which can be poduced at given level (L2 or EF) in currecnt configuration
Definition: TrigConfHLTData/Root/HLTUtils.cxx:115
TrigConf::HLTSequence
HLT sequence configuration information.
Definition: HLTSequence.h:28
TrigConf::HLTSequenceList
list of HLT sequences
Definition: HLTSequenceList.h:40