ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
CoolRunQuery
python
selector
AtlRunQuerySelectorEvents.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2
3
4
from
time
import
time
5
import
sys
6
7
from
CoolRunQuery.utils.AtlRunQueryIOV
import
IOVRange
8
from
CoolRunQuery.utils.AtlRunQueryTimer
import
timer
9
from
CoolRunQuery.utils.AtlRunQueryUtils
import
coolDbConn, GetRanges
10
11
from
.AtlRunQuerySelectorBase
import
RunLBBasedCondition
12
13
class
EventSelector
(
RunLBBasedCondition
):
14
def
__init__
(self, name, events=None):
15
self.
events
= events
16
super(EventSelector,self).
__init__
(name=name,
17
dbfolderkey=
'oracle::SFO-based'
,
18
channelKeys = [(0,
'#Events'
,
'EFEvents'
)])
19
if
events:
20
self.
cutRange
= GetRanges(events)
21
22
23
24
def
__str__
(self):
25
if
self.
applySelection
:
26
return
"SELOUT Checking if number of events matches %s"
% self.
events
27
else
:
28
return
"Retrieving event numbers"
29
30
def
select
(self, runlist):
31
32
# some preparation: compile the show patterns
33
start = time()
34
35
print
(self, end=
''
)
36
sys.stdout.flush()
37
newrunlist = []
38
connection = coolDbConn.GetSFODBConnection()
39
cursor = connection.cursor()
40
cursor.arraysize = 1000
41
42
runnrlist = [r.runNr
for
r
in
runlist]
43
44
from
CoolRunQuery.AtlRunQuerySFO
import
GetSFO_NphysicseventsAll
45
with
timer(
"GetSFO_NphysicseventsAll"
, disabled=
True
):
46
events = GetSFO_NphysicseventsAll( cursor, runnrlist )
# { runnr: nPhysEvents }
47
48
for
run
in
runlist:
49
50
iov =
IOVRange
(runStart=run.runNr, lbStart=1, runEnd=run.runNr+1, lbEnd=0)
51
52
for
k
in
self.
ResultKey
():
53
if
run.runNr
not
in
events:
54
# the OVERLAP_EVENTS information is not yet available in the SFO (before Nov 15, 2009)
55
# use the inclusive number instead
56
run.addResult(k,
"n.a."
, iov, reject=
False
)
57
run.showDataIncomplete=
True
58
continue
59
60
nev = events[run.runNr]
61
62
if
self.
ApplySelection
(k)
and
not
self.
passes
(nev,k):
63
run.addResult(k, self.
prettyValue
(nev,k), iov, reject=
True
)
64
continue
65
66
run.addResult(k, self.
prettyValue
(nev,k), iov)
67
68
rej = self.
rejectRun
(run)
69
70
if
not
rej:
71
newrunlist += [run.runNr]
72
73
runlist = [r
for
r
in
runlist
if
r.runNr
in
newrunlist]
74
75
duration = time() - start
76
if
self.
applySelection
:
77
print
(
" ==> %i runs found (%.2f sec)"
% (len(runlist),duration))
78
else
:
79
print
(
" ==> Done (%g sec)"
% duration)
80
return
runlist
81
82
def
passes
(self,values,key):
83
try
:
84
val = int(values)
85
except
ValueError:
# if n.a.
86
self.
selDataMissing
=
True
87
return
True
88
for
cr
in
self.
cutRange
:
89
if
val>=cr[0]
and
val<=cr[1]:
90
return
True
91
return
False
92
93
94
class
AllEventsSelector
(
RunLBBasedCondition
):
95
def
__init__
(self, name, events=None):
96
self.
events
= events
97
self.
showAllevents
=
False
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'
)])
103
if
events:
104
self.
cutRange
= GetRanges(events)
105
106
def
__str__
(self):
107
if
self.
applySelection
:
108
return
"SELOUT Checking if number of events matches %s"
% self.
events
109
else
:
110
return
"Retrieving event numbers"
111
112
def
passes
(self,values,key):
113
try
:
114
val = int(values)
115
except
ValueError:
# if n.a.
116
self.
selDataMissing
=
True
117
return
True
118
for
cr
in
self.
cutRange
:
119
if
val>=cr[0]
and
val<=cr[1]:
120
return
True
121
return
False
122
123
class
L1EventsSelector
(
RunLBBasedCondition
):
124
def
__init__
(self, name, events=None):
125
self.
events
= events
126
self.
showL1events
=
False
127
super(L1EventsSelector,self).
__init__
(name=name,
128
dbfolderkey=
'COOLONL_TRIGGER::/TRIGGER/LVL1/CTPCORELBDATA'
,
129
channelKeys = [(0,
'#L1A'
,
'GlobalL1AcceptCounter'
)])
130
def
setShowL1events
(self):
131
self.
showL1events
=
True
132
super(L1EventsSelector,self).
setShowOutput
()
133
134
def
__str__
(self):
135
if
self.
applySelection
:
136
return
"SELOUT Checking if number of L1A events matches %s"
% self.
events
137
else
:
138
return
"Retrieving L1A numbers"
139
140
def
passes
(self,values,key):
141
return
True
142
IOVRange
Validity Range object.
Definition
IOVRange.h:30
python.selector.AtlRunQuerySelectorBase.Condition.selDataMissing
bool selDataMissing
Definition
AtlRunQuerySelectorBase.py:168
python.selector.AtlRunQuerySelectorBase.Condition.setShowOutput
setShowOutput(self, listofchans=None)
Definition
AtlRunQuerySelectorBase.py:248
python.selector.AtlRunQuerySelectorBase.Condition.ResultKey
ResultKey(self)
Definition
AtlRunQuerySelectorBase.py:230
python.selector.AtlRunQuerySelectorBase.RunLBBasedCondition
Definition
AtlRunQuerySelectorBase.py:264
python.selector.AtlRunQuerySelectorBase.RunLBBasedCondition.rejectRun
rejectRun(self, run)
Definition
AtlRunQuerySelectorBase.py:447
python.selector.AtlRunQuerySelectorBase.Selector.ApplySelection
ApplySelection(self, key)
Definition
AtlRunQuerySelectorBase.py:155
python.selector.AtlRunQuerySelectorBase.Selector.prettyValue
prettyValue(self, value, key)
Definition
AtlRunQuerySelectorBase.py:153
python.selector.AtlRunQuerySelectorBase.Selector.applySelection
bool applySelection
Definition
AtlRunQuerySelectorBase.py:149
python.selector.AtlRunQuerySelectorEvents.AllEventsSelector
Definition
AtlRunQuerySelectorEvents.py:94
python.selector.AtlRunQuerySelectorEvents.AllEventsSelector.__str__
__str__(self)
Definition
AtlRunQuerySelectorEvents.py:106
python.selector.AtlRunQuerySelectorEvents.AllEventsSelector.events
events
Definition
AtlRunQuerySelectorEvents.py:96
python.selector.AtlRunQuerySelectorEvents.AllEventsSelector.showAllevents
bool showAllevents
Definition
AtlRunQuerySelectorEvents.py:97
python.selector.AtlRunQuerySelectorEvents.AllEventsSelector.passes
passes(self, values, key)
Definition
AtlRunQuerySelectorEvents.py:112
python.selector.AtlRunQuerySelectorEvents.AllEventsSelector.cutRange
cutRange
Definition
AtlRunQuerySelectorEvents.py:104
python.selector.AtlRunQuerySelectorEvents.AllEventsSelector.__init__
__init__(self, name, events=None)
Definition
AtlRunQuerySelectorEvents.py:95
python.selector.AtlRunQuerySelectorEvents.EventSelector
Definition
AtlRunQuerySelectorEvents.py:13
python.selector.AtlRunQuerySelectorEvents.EventSelector.events
events
Definition
AtlRunQuerySelectorEvents.py:15
python.selector.AtlRunQuerySelectorEvents.EventSelector.cutRange
cutRange
Definition
AtlRunQuerySelectorEvents.py:20
python.selector.AtlRunQuerySelectorEvents.EventSelector.passes
passes(self, values, key)
Definition
AtlRunQuerySelectorEvents.py:82
python.selector.AtlRunQuerySelectorEvents.EventSelector.__str__
__str__(self)
Definition
AtlRunQuerySelectorEvents.py:24
python.selector.AtlRunQuerySelectorEvents.EventSelector.select
select(self, runlist)
Definition
AtlRunQuerySelectorEvents.py:30
python.selector.AtlRunQuerySelectorEvents.EventSelector.__init__
__init__(self, name, events=None)
Definition
AtlRunQuerySelectorEvents.py:14
python.selector.AtlRunQuerySelectorEvents.L1EventsSelector
Definition
AtlRunQuerySelectorEvents.py:123
python.selector.AtlRunQuerySelectorEvents.L1EventsSelector.events
events
Definition
AtlRunQuerySelectorEvents.py:125
python.selector.AtlRunQuerySelectorEvents.L1EventsSelector.passes
passes(self, values, key)
Definition
AtlRunQuerySelectorEvents.py:140
python.selector.AtlRunQuerySelectorEvents.L1EventsSelector.setShowL1events
setShowL1events(self)
Definition
AtlRunQuerySelectorEvents.py:130
python.selector.AtlRunQuerySelectorEvents.L1EventsSelector.__str__
__str__(self)
Definition
AtlRunQuerySelectorEvents.py:134
python.selector.AtlRunQuerySelectorEvents.L1EventsSelector.showL1events
bool showL1events
Definition
AtlRunQuerySelectorEvents.py:126
python.selector.AtlRunQuerySelectorEvents.L1EventsSelector.__init__
__init__(self, name, events=None)
Definition
AtlRunQuerySelectorEvents.py:124
Generated on
for ATLAS Offline Software by
1.17.0