91def _getmonchains( flags, regex, monlevel=None ):
92
93 chains = []
94
95 if monlevel is None:
96 return chains
97
98 parts = monlevel.split( ":", 1 )
99
100 if parts[0] is None:
101 return chains
102
103 if parts[1] is None:
104 return chains
105
106 sig = parts[0]
107 levels = parts[1].
split(
":")
108
109 _monchains = None
110
111 if _monchains is None :
112
113
114
115
116 from TrigConfigSvc.TriggerConfigAccess import getHLTMonitoringAccess
117
118 if flags is None:
119 from AthenaConfiguration.AllConfigFlags import ConfigFlags
120 flags = ConfigFlags
121
122 moniAccess = getHLTMonitoringAccess(flags, filterOnActiveChains=True )
123
124 _monchains = moniAccess.monitoredChains( signatures=sig, monLevels=levels )
125
126
127
128 for c in _monchains:
129 chain = re.findall( regex, c )
130 for a in chain:
131 if a is not None and c == a :
132 chains.append( a )
133
134 return chains
135
136
std::vector< std::string > split(const std::string &s, const std::string &t=":")