7 from CoolRunQuery.utils.AtlRunQueryIOV
import IOVRange
8 from CoolRunQuery.utils.AtlRunQueryTimer
import timer
9 from CoolRunQuery.utils.AtlRunQueryUtils
import coolDbConn, GetRanges
11 from .AtlRunQuerySelectorBase
import RunLBBasedCondition
16 super(EventSelector,self).
__init__(name=name,
17 dbfolderkey=
'oracle::SFO-based',
18 channelKeys = [(0,
'#Events',
'EFEvents')])
26 return "SELOUT Checking if number of events matches %s" % self.
events
28 return "Retrieving event numbers"
38 connection = coolDbConn.GetSFODBConnection()
39 cursor = connection.cursor()
40 cursor.arraysize = 1000
42 runnrlist = [r.runNr
for r
in runlist]
44 from CoolRunQuery.AtlRunQuerySFO
import GetSFO_NphysicseventsAll
45 with timer(
"GetSFO_NphysicseventsAll", disabled=
True):
50 iov = IOVRange(runStart=run.runNr, lbStart=1, runEnd=run.runNr+1, lbEnd=0)
53 if run.runNr
not in events:
56 run.addResult(k,
"n.a.", iov, reject=
False)
57 run.showDataIncomplete=
True
60 nev = events[run.runNr]
63 run.addResult(k, self.
prettyValue(nev,k), iov, reject=
True)
71 newrunlist += [run.runNr]
73 runlist = [r
for r
in runlist
if r.runNr
in newrunlist]
75 duration = time() - start
77 print (
" ==> %i runs found (%.2f sec)" % (len(runlist),duration))
79 print (
" ==> Done (%g sec)" % duration)
89 if val>=cr[0]
and val<=cr[1]:
98 super(AllEventsSelector,self).
__init__(name=name,
99 dbfolderkey=
'COOLONL_TDAQ::/TDAQ/RunCtrl/EventCounters',
100 channelKeys = [(0,
'#Events (incl. calib.)',
'EFEvents'),
101 (0,
'#Events (streamed)',
'RecordedEvents'),
102 (0,
'#L2A',
'L2Events')])
108 return "SELOUT Checking if number of events matches %s" % self.
events
110 return "Retrieving event numbers"
119 if val>=cr[0]
and val<=cr[1]:
127 super(L1EventsSelector,self).
__init__(name=name,
128 dbfolderkey=
'COOLONL_TRIGGER::/TRIGGER/LVL1/CTPCORELBDATA',
129 channelKeys = [(0,
'#L1A',
'GlobalL1AcceptCounter')])
136 return "SELOUT Checking if number of L1A events matches %s" % self.
events
138 return "Retrieving L1A numbers"