ATLAS Offline Software
Classes | Public Member Functions | Static Private Attributes | List of all members
python.AtlRunQuerySelectorWorker.SelectorWorker Class Reference
Collaboration diagram for python.AtlRunQuerySelectorWorker.SelectorWorker:

Classes

class  SelDescr
 

Public Member Functions

def selectors (cls)
 
def executedSelectors (cls)
 
def getOrderedNeeds (cls, client)
 
def addSelector (cls, selector, priority)
 
def findSelectorDescriptor (cls, selname, selcls=None)
 
def getShowSelector (cls, selname, *args, **kwargs)
 
def CreateSelector (cls, selname, doesShow, *args, **kwargs)
 
def getRetrieveSelector (cls, selname, selcls=None, *args, **kwargs)
 
def getOrderedSelectorList (cls)
 
def setApplySelection (cls)
 
def setShowOutput (cls)
 
def parseSelectorOptions (cls, options)
 
def parseShowOption (cls, options)
 

Static Private Attributes

 __selectors
 
list __executedSelectorsInOrder = []
 
list __showSelectorsInOrder = []
 
dictionary __selectorDependencies
 
dictionary __creationRules
 

Detailed Description

Definition at line 15 of file AtlRunQuerySelectorWorker.py.

Member Function Documentation

◆ addSelector()

def python.AtlRunQuerySelectorWorker.SelectorWorker.addSelector (   cls,
  selector,
  priority 
)

Definition at line 99 of file AtlRunQuerySelectorWorker.py.

99  def addSelector(cls, selector, priority):
100  s = cls.findSelectorDescriptor(selector.name)
101  if s:
102  return s.selector
103  cls.__selectors += [cls.SelDescr(selector=selector,priority=priority,doesSelect=True,doesShow=False,executed=False)]
104  return cls.__selectors[-1].selector
105 
106 

◆ CreateSelector()

def python.AtlRunQuerySelectorWorker.SelectorWorker.CreateSelector (   cls,
  selname,
  doesShow,
args,
**  kwargs 
)

Definition at line 135 of file AtlRunQuerySelectorWorker.py.

135  def CreateSelector( cls, selname, doesShow, *args, **kwargs):
136  selcls = SelectorWorker.__creationRules[selname]
137  thecls = eval('%s' % selcls)
138  newsel = thecls(selname, *args, **kwargs)
139  # print ("CREATING SELECTOR %s %s('%s')" % (("SHOW" if doesShow else "RETRIEVE"), selcls, selname))
140  s = cls.SelDescr(selector=newsel, priority=0, doesSelect=False, doesShow=True, executed=False)
141  return s
142 
143 

◆ executedSelectors()

def python.AtlRunQuerySelectorWorker.SelectorWorker.executedSelectors (   cls)

Definition at line 80 of file AtlRunQuerySelectorWorker.py.

80  def executedSelectors(cls):
81  for s in cls.__executedSelectorsInOrder:
82  yield s.selector
83 

◆ findSelectorDescriptor()

def python.AtlRunQuerySelectorWorker.SelectorWorker.findSelectorDescriptor (   cls,
  selname,
  selcls = None 
)
returns a SelDescr if name and class match

Definition at line 109 of file AtlRunQuerySelectorWorker.py.

109  def findSelectorDescriptor(cls, selname, selcls=None):
110  """ returns a SelDescr if name and class match"""
111  for s in cls.__selectors:
112  if s.selector.name == selname and (selcls is None or selcls==s.selector.__class__.__name__):
113  return s
114  return None
115 

◆ getOrderedNeeds()

def python.AtlRunQuerySelectorWorker.SelectorWorker.getOrderedNeeds (   cls,
  client 
)

Definition at line 85 of file AtlRunQuerySelectorWorker.py.

85  def getOrderedNeeds(cls, client):
86  needs = []
87  selname = client.selector.name
88  if selname in cls.__selectorDependencies:
89  dependson = cls.__selectorDependencies[selname]
90  for d in dependson:
91  dep = cls.findSelectorDescriptor(d)
92  if dep is None:
93  raise RuntimeError('Selector %s depends on %s which is not defined' % (selname,d))
94  needs.insert(0, dep)
95  return needs
96 
97 

◆ getOrderedSelectorList()

def python.AtlRunQuerySelectorWorker.SelectorWorker.getOrderedSelectorList (   cls)

Definition at line 162 of file AtlRunQuerySelectorWorker.py.

162  def getOrderedSelectorList(cls):
163  # Highes priority first
164  sortedSel = cls.__selectors
165  sortedSel.sort(key = lambda x: x.priority, reverse=True)
166  return sortedSel
167 

◆ getRetrieveSelector()

def python.AtlRunQuerySelectorWorker.SelectorWorker.getRetrieveSelector (   cls,
  selname,
  selcls = None,
args,
**  kwargs 
)

Definition at line 145 of file AtlRunQuerySelectorWorker.py.

145  def getRetrieveSelector(cls, selname, selcls=None, *args, **kwargs):
146  s = cls.findSelectorDescriptor(selname, selcls)
147  if s:
148  try:
149  s.selector.addShowSelector()
150  except Exception:
151  pass
152  return s.selector
153  elif selcls is not None:
154  s = cls.CreateSelector( selname, False, *args, **kwargs)
155  cls.__selectors += [s]
156  return s.selector
157  else:
158  return None
159 
160 

◆ getShowSelector()

def python.AtlRunQuerySelectorWorker.SelectorWorker.getShowSelector (   cls,
  selname,
args,
**  kwargs 
)

Definition at line 117 of file AtlRunQuerySelectorWorker.py.

117  def getShowSelector(cls, selname, *args, **kwargs):
118  selcls = SelectorWorker.__creationRules[selname]
119  # see if the selector is already there
120  s = cls.findSelectorDescriptor(selname, selcls)
121  if s:
122  s.doesShow=True
123  cls.__showSelectorsInOrder += [s]
124  try:
125  s.selector.addShowSelector(*args, **kwargs)
126  except Exception:
127  pass
128  else:
129  s = cls.CreateSelector( selname, True, *args, **kwargs)
130  cls.__showSelectorsInOrder += [s]
131  cls.__selectors += [s]
132  return s.selector
133 

◆ parseSelectorOptions()

def python.AtlRunQuerySelectorWorker.SelectorWorker.parseSelectorOptions (   cls,
  options 
)

Definition at line 180 of file AtlRunQuerySelectorWorker.py.

180  def parseSelectorOptions(cls,options):
181 
182  if options.events:
183  cls.addSelector( EventSelector(name = 'events', events = options.events), 280 )
184 
185  if options.larcond:
186  cls.addSelector( LArcondSelector(name = 'larcond', larcond = options.larcond), 115 )
187 
188  if options.datasets:
189  cls.addSelector( DatasetsSelector(name = 'datasets', datasets = options.datasets), 110 )
190 
191  if options.duration:
192  cls.addSelector( DurationSelector(name = 'duration', duration = options.duration), 95 )
193 
194  if options.streams:
195  cls.addSelector( StreamSelector(name = 'streams', streams = options.streams), 95 )
196 
197  if options.smklist:
198  cls.addSelector( TrigKeySelector(name = 'trigkey'), 71 ).setSelectSMK(smks = options.smklist)
199 
200  if options.release:
201  cls.addSelector( TrigKeySelector(name = 'trigkey'), 70 ).setSelectRelease(release = options.release)
202 
203  if options.detmaskin or options.detmaskout:
204  cls.addSelector( DetectorSelector('detmask', options.detmaskin, options.detmaskout), 60 )
205 
206  if options.lhc:
207  cls.addSelector( LHCSelector(name = 'lhc', lhc = options.lhc), 48 )
208 
209  if options.beamspot:
210  cls.addSelector( BeamspotSelector(name = 'beamspot', beamspot = options.beamspot), 44 )
211 
212  if options.olclumi:
213  cls.addSelector( OLCLumiSelector(name = 'olclumi', olclumi = options.olclumi), 43 )
214 
215  if options.bpm:
216  cls.addSelector( BPMSelector(name = 'bpm', release = options.bpm), 40 )
217 
218  if options.luminosity:
219  cls.addSelector( LuminositySelector(name = 'luminosity', luminosity = options.luminosity), 40 )
220 
221  if options.projecttag:
222  cls.addSelector( FilenameSelector(name = 'filenametag', projecttag = options.projecttag), 40 )
223 
224  if options.readyforphysics:
225  cls.addSelector( ReadyForPhysicsSelector(name = 'readyforphysics', readyforphysics = options.readyforphysics), 31 )
226 
227  if options.partition:
228  cls.addSelector( PartitionSelector(name = 'partition', partition = options.partition), 300 )
229 
230  if options.trigger:
231  cls.addSelector( TriggerSelector(name = 'trigger', trigger = options.trigger), 25 )
232 
233  if options.bfield:
234  cls.addSelector( BFieldSelector(name = 'bfield', bf = options.bfield), 10 )
235 
236  if options.dqchannels:
237  cls.addSelector( DQSelector(), 50 ).addSelectionChannel(options.dqchannels)
238 
239 
240 
241 

◆ parseShowOption()

def python.AtlRunQuerySelectorWorker.SelectorWorker.parseShowOption (   cls,
  options 
)

Definition at line 243 of file AtlRunQuerySelectorWorker.py.

243  def parseShowOption(cls,options):
244  if not options.show:
245  return
246 
247  for s in options.show:
248 
249  if s == 'summary' or s == 'dqeff' or s == 'dqsummary' or s == 'dqplots' or s == 'cosmics' or s == 'heavyions':
250  pass # handled outside
251 
252  elif s=='run':
253  Run.showrunnr = True
254 
255  elif s=='time':
256  Run.showtime = True
257 
258  elif s=='duration':
259  Run.showduration = True
260 
261  elif s[0:3]=='dq ' or s=='dq':
262  SelectorWorker.getShowSelector('dataquality').addShowChannel(s[3:])
263 
264  elif s[0:7] == 'streams':
265  SelectorWorker.getShowSelector('streams').addShowStreamPattern(s[8:])
266 
267  elif s[0:7] == 'trigger':
268  SelectorWorker.getShowSelector('trigger').addShowTriggerPattern(s[8:])
269 
270  elif s[0:8] == 'datasets':
271  SelectorWorker.getShowSelector('datasets').addShowDatasetPattern(s[9:])
272 
273  elif s[0:9] == 'trigrates':
274  SelectorWorker.getShowSelector('rates').addPattern(s[10:])
275 
276  elif s[0:3] == 'lhc':
277  arg = ''
278  if 'all' in s:
279  arg = 'all'
280  elif 'min' in s:
281  arg = 'min'
282  SelectorWorker.getShowSelector('lhc',addArg=arg)
283 
284  elif 'olclumi' in s:
285  SelectorWorker.getShowSelector(s)
286 
287  elif s == 'smk':
288  SelectorWorker.getShowSelector('trigkey').setShow('smk')
289 
290  elif s == 'trigkeys' or s == 'smk':
291  SelectorWorker.getShowSelector('trigkey').setShow('smk')
292  SelectorWorker.getShowSelector('l1trigkey')
293  SelectorWorker.getShowSelector('hlttrigkey')
294  SelectorWorker.getShowSelector('bgskey')
295 
296  elif s == 'release':
297  SelectorWorker.getShowSelector('trigkey').setShow('release')
298 
299  elif s[0:10] == 'luminosity':
300  SelectorWorker.getShowSelector('luminosity').addShowTag(s.split(None,1)[1])
301 
302  elif s[0:8] == 'beamspot':
303  SelectorWorker.getShowSelector('beamspot',args=s[8:])
304 
305  elif s[0:3] == 'bpm':
306  SelectorWorker.getShowSelector('bpm')
307 
308  elif s == 'filenametag' or s == 'projecttag':
309  SelectorWorker.getShowSelector('filenametag')
310 
311  elif s in ['bfield', 'events', 'allevents', 'detmask', 'olcfillparams', 'olclbdata', 'datasets', 'partition', 'readyforphysics', 'larcond']:
312  SelectorWorker.getShowSelector(s)
313 
314  else:
315  raise RuntimeError("ERROR: option 'show %s' not implemented" %s)
316 

◆ selectors()

def python.AtlRunQuerySelectorWorker.SelectorWorker.selectors (   cls)

Definition at line 64 of file AtlRunQuerySelectorWorker.py.

64  def selectors(cls):
65  for s in SelectorWorker.getOrderedSelectorList():
66  if s.executed:
67  continue
68  needs = cls.getOrderedNeeds(s)
69  for ss in needs:
70  if ss.executed:
71  continue
72  yield ss.selector
73  cls.__executedSelectorsInOrder += [ss]
74  ss.executed=True
75  yield s.selector
76  cls.__executedSelectorsInOrder += [s]
77  s.executed=True
78 

◆ setApplySelection()

def python.AtlRunQuerySelectorWorker.SelectorWorker.setApplySelection (   cls)

Definition at line 169 of file AtlRunQuerySelectorWorker.py.

169  def setApplySelection(cls):
170  for s in cls.__selectors:
171  s.selector.applySelection = s.doesSelect
172 

◆ setShowOutput()

def python.AtlRunQuerySelectorWorker.SelectorWorker.setShowOutput (   cls)

Definition at line 174 of file AtlRunQuerySelectorWorker.py.

174  def setShowOutput(cls):
175  for s in cls.__showSelectorsInOrder:
176  s.selector.setShowOutput()
177 
178 

Member Data Documentation

◆ __creationRules

dictionary python.AtlRunQuerySelectorWorker.SelectorWorker.__creationRules
staticprivate
Initial value:
= {
'dataquality' : 'DQSelector',
'streams' : 'StreamSelector',
'trigger' : 'TriggerSelector',
'datasets' : 'DatasetsSelector',
'rates' : 'RatesSelector',
'lhc' : 'LHCSelector',
'bfield' : 'BFieldSelector',
'events' : 'EventSelector',
'allevents' : 'AllEventsSelector',
'release' : 'TrigKeySelector',
'trigkey' : 'TrigKeySelector',
'l1trigkey' : 'L1TrigKeySelector',
'hlttrigkey' : 'HLTTrigKeySelector',
'bgskey' : 'BGSKeySelector',
'detmask' : 'DetectorSelector',
'olclumi' : 'OLCLumiSelector',
'olcfillparams' : 'OLCFillParamsCondition',
'olclbdata' : 'OLCLBDataCondition',
'datasets' : 'DatasetsSelector',
'partition' : 'PartitionSelector',
'readyforphysics' : 'ReadyForPhysicsSelector',
'larcond' : 'LArcondSelector',
'luminosity' : 'LuminositySelector',
'beamspot' : 'BeamspotSelector',
'bpm' : 'BPMSelector',
'filenametag' : 'FilenameSelector'
}

Definition at line 33 of file AtlRunQuerySelectorWorker.py.

◆ __executedSelectorsInOrder

list python.AtlRunQuerySelectorWorker.SelectorWorker.__executedSelectorsInOrder = []
staticprivate

Definition at line 27 of file AtlRunQuerySelectorWorker.py.

◆ __selectorDependencies

dictionary python.AtlRunQuerySelectorWorker.SelectorWorker.__selectorDependencies
staticprivate
Initial value:
= { 'trigger':['trigkey','l1trigkey','hlttrigkey'],
'dataquality':['readyforphysics']
}

Definition at line 29 of file AtlRunQuerySelectorWorker.py.

◆ __selectors

python.AtlRunQuerySelectorWorker.SelectorWorker.__selectors
staticprivate

Definition at line 26 of file AtlRunQuerySelectorWorker.py.

◆ __showSelectorsInOrder

list python.AtlRunQuerySelectorWorker.SelectorWorker.__showSelectorsInOrder = []
staticprivate

Definition at line 28 of file AtlRunQuerySelectorWorker.py.


The documentation for this class was generated from the following file:
EventInfoWrite.EventSelector
EventSelector
Definition: EventInfoWrite.py:49