|
def | _getUnprescaled (self, triggerType, additionalTriggerType, matchPattern, livefraction=1.0) |
|
def | _getLowestUnprescaled (self, triggerType, additionalTriggerType, matchPattern, livefraction=1.0) |
|
def | _getAllHLT (self, triggerType, additionalTriggerType, matchPattern, livefraction) |
|
def | _getActive (self, triggerType, additionalTriggerType, matchPattern, livefraction) |
|
def | _getInactive (self, triggerType, additionalTriggerType, matchPattern, livefraction) |
|
def | _checkPeriodConsistency (self, triggerType, additionalTriggerType, matchPattern) |
|
Object containing all the HLT information related to a given period.
Stores a list of TriggerChain objects and the functions to skim them
Definition at line 13 of file TriggerInfo.py.
◆ __init__()
def python.TriggerAPI.TriggerInfo.TriggerInfo.__init__ |
( |
|
self, |
|
|
|
period = 0 , |
|
|
|
customGRL = None , |
|
|
|
release = None , |
|
|
|
flags = None |
|
) |
| |
Definition at line 17 of file TriggerInfo.py.
17 def __init__(self,period=0, customGRL=None, release=None, flags=None):
18 self.triggerChains = []
21 self.totalLBByRun = {}
23 if not period
and not customGRL:
return
24 from .TriggerDataAccess
import getHLTlist
25 HLTlist, self.totalLB, self.totalLBByRun =
getHLTlist(period, customGRL, release, flags)
26 for hlt, l1, livefraction, activeLB, hasRerun, activeLBByRun
in HLTlist:
27 self.triggerChains.
append( TriggerChain(hlt, l1, livefraction, activeLB, hasRerun, activeLBByRun))
◆ __str__()
def python.TriggerAPI.TriggerInfo.TriggerInfo.__str__ |
( |
|
self | ) |
|
Definition at line 41 of file TriggerInfo.py.
42 return f
"<TriggerMenuMT.TriggerAPI.TriggerInfo.TriggerInfo object with {len(self.triggerChains)} triggerChains, period={self.period}, totalLB={self.totalLB}>"
◆ _checkPeriodConsistency()
def python.TriggerAPI.TriggerInfo.TriggerInfo._checkPeriodConsistency |
( |
|
self, |
|
|
|
triggerType, |
|
|
|
additionalTriggerType, |
|
|
|
matchPattern |
|
) |
| |
|
private |
Definition at line 110 of file TriggerInfo.py.
110 def _checkPeriodConsistency(self,triggerType, additionalTriggerType, matchPattern):
112 for i
in range(len(self.triggerChains)):
113 probe1 = self.triggerChains[i]
114 if not (probe1.passType(triggerType, additionalTriggerType)
and re.search(matchPattern, probe1.name)):
continue
115 for j
in range(i+1,len(self.triggerChains)):
116 probe2 = self.triggerChains[j]
117 if not (probe2.passType(triggerType, additionalTriggerType)
and re.search(matchPattern, probe2.name)):
continue
118 if probe1.isUnprescaled()
and not probe2.isUnprescaled()
and probe1.isLowerThan(probe2,self.period)==1:
119 log.error(f
"Found {probe2.name} that is tighter than Primary {probe1.name}")
120 inconsistent.add(probe2.name)
121 if probe2.isUnprescaled()
and not probe1.isUnprescaled()
and probe2.isLowerThan(probe1,self.period)==1:
122 log.error(f
"Found {probe1.name} that is tighter than Primary {probe2.name}")
123 inconsistent.add(probe1.name)
◆ _getActive()
def python.TriggerAPI.TriggerInfo.TriggerInfo._getActive |
( |
|
self, |
|
|
|
triggerType, |
|
|
|
additionalTriggerType, |
|
|
|
matchPattern, |
|
|
|
livefraction |
|
) |
| |
|
private |
Definition at line 105 of file TriggerInfo.py.
105 def _getActive(self,triggerType, additionalTriggerType, matchPattern, livefraction):
106 return [x.name
for x
in self.triggerChains
if x.isActive(livefraction)
and x.passType(triggerType, additionalTriggerType)
and re.search(matchPattern, x.name)]
◆ _getAllHLT()
def python.TriggerAPI.TriggerInfo.TriggerInfo._getAllHLT |
( |
|
self, |
|
|
|
triggerType, |
|
|
|
additionalTriggerType, |
|
|
|
matchPattern, |
|
|
|
livefraction |
|
) |
| |
|
private |
Definition at line 102 of file TriggerInfo.py.
102 def _getAllHLT(self,triggerType, additionalTriggerType, matchPattern, livefraction):
103 return {x.name: x.livefraction
for x
in self.triggerChains
if x.passType(triggerType, additionalTriggerType)
and re.search(matchPattern, x.name)
and x.isUnprescaled(livefraction)}
◆ _getInactive()
def python.TriggerAPI.TriggerInfo.TriggerInfo._getInactive |
( |
|
self, |
|
|
|
triggerType, |
|
|
|
additionalTriggerType, |
|
|
|
matchPattern, |
|
|
|
livefraction |
|
) |
| |
|
private |
Definition at line 107 of file TriggerInfo.py.
107 def _getInactive(self,triggerType, additionalTriggerType, matchPattern, livefraction):
108 return [x.name
for x
in self.triggerChains
if x.isInactive(livefraction)
and x.passType(triggerType, additionalTriggerType)
and re.search(matchPattern, x.name)]
◆ _getLowestUnprescaled()
def python.TriggerAPI.TriggerInfo.TriggerInfo._getLowestUnprescaled |
( |
|
self, |
|
|
|
triggerType, |
|
|
|
additionalTriggerType, |
|
|
|
matchPattern, |
|
|
|
livefraction = 1.0 |
|
) |
| |
|
private |
Definition at line 82 of file TriggerInfo.py.
82 def _getLowestUnprescaled(self,triggerType, additionalTriggerType, matchPattern, livefraction=1.0):
83 chainList = [ x
for x
in self.triggerChains
if x.isUnprescaled(livefraction)
and x.passType(triggerType, additionalTriggerType)
and re.search(matchPattern, x.name)]
85 for chain
in chainList:
86 if chain.triggerType
not in typeMap:
87 typeMap[chain.triggerType] = [chain]
90 for other
in typeMap[chain.triggerType][:]:
91 comp = chain.isLowerThan(other,self.period)
96 if comp == 1: typeMap[chain.triggerType].
remove(other)
98 typeMap[chain.triggerType].
append(chain)
99 return [x.name
for t
in typeMap.values()
for x
in t ]
◆ _getUnprescaled()
def python.TriggerAPI.TriggerInfo.TriggerInfo._getUnprescaled |
( |
|
self, |
|
|
|
triggerType, |
|
|
|
additionalTriggerType, |
|
|
|
matchPattern, |
|
|
|
livefraction = 1.0 |
|
) |
| |
|
private |
Definition at line 79 of file TriggerInfo.py.
79 def _getUnprescaled(self,triggerType, additionalTriggerType, matchPattern, livefraction=1.0):
80 return [x.name
for x
in self.triggerChains
if x.isUnprescaled(livefraction)
and x.passType(triggerType, additionalTriggerType)
and re.search(matchPattern, x.name)]
◆ merge()
def python.TriggerAPI.TriggerInfo.TriggerInfo.merge |
( |
|
cls, |
|
|
|
listofTI |
|
) |
| |
Definition at line 48 of file TriggerInfo.py.
48 def merge(cls,listofTI):
49 from copy
import deepcopy
53 mergedTI.period |= ti.period
54 mergedTI.totalLB += ti.totalLB
55 for run,lb
in ti.totalLBByRun.items():
56 if run
not in mergedTI.totalLBByRun: mergedTI.totalLBByRun[run] = 0
57 mergedTI.totalLBByRun[run] += lb
58 for tc
in ti.triggerChains:
59 if tc.name
not in mergedHLTmap: mergedHLTmap[tc.name] = deepcopy(tc)
60 else: mergedHLTmap[tc.name].activeLB += tc.activeLB
62 for run,lb
in tc.activeLBByRun.items():
63 if run
not in mergedHLTmap[tc.name].activeLBByRun: mergedHLTmap[tc.name].activeLBByRun = 0
64 mergedHLTmap[tc.name].activeLBByRun += lb
65 for tc
in mergedHLTmap.values():
66 tc.livefraction = tc.activeLB/
float(mergedTI.totalLB)
67 mergedTI.triggerChains =
list(mergedHLTmap.values())
◆ reparse()
def python.TriggerAPI.TriggerInfo.TriggerInfo.reparse |
( |
|
self | ) |
|
Definition at line 76 of file TriggerInfo.py.
77 self.triggerChains = [ TriggerChain(t.name, t.l1seed, t.livefraction, t.activeLB)
for t
in self.triggerChains ]
◆ setRunRange()
def python.TriggerAPI.TriggerInfo.TriggerInfo.setRunRange |
( |
|
self, |
|
|
|
start = 0 , |
|
|
|
end = 999999 |
|
) |
| |
Definition at line 29 of file TriggerInfo.py.
29 def setRunRange(self,start=0,end=999999):
30 if not self.totalLBByRun:
32 totalLB = self.totalLB
35 for run,efflb
in self.totalLBByRun.
items():
38 for tc
in self.triggerChains:
39 tc.setRunRange(start,end,totalLB)
◆ testCustomGRL()
def python.TriggerAPI.TriggerInfo.TriggerInfo.testCustomGRL |
( |
|
cls, |
|
|
|
grl |
|
) |
| |
Definition at line 72 of file TriggerInfo.py.
72 def testCustomGRL(cls, grl):
73 from TriggerMenuMT.TriggerAPI.TriggerPeriodData
import TriggerPeriodData
74 return TriggerPeriodData.testCustomGRL(grl)
◆ toJSON()
def python.TriggerAPI.TriggerInfo.TriggerInfo.toJSON |
( |
|
self | ) |
|
Definition at line 44 of file TriggerInfo.py.
45 return dict(period= TriggerPeriod.toName(self.period), totalLB=self.totalLB,triggerChains=self.triggerChains,totalLBByRun=self.totalLBByRun)
◆ period
python.TriggerAPI.TriggerInfo.TriggerInfo.period |
◆ totalLB
python.TriggerAPI.TriggerInfo.TriggerInfo.totalLB |
◆ totalLBByRun
python.TriggerAPI.TriggerInfo.TriggerInfo.totalLBByRun |
◆ triggerChains
python.TriggerAPI.TriggerInfo.TriggerInfo.triggerChains |
The documentation for this class was generated from the following file:
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.