ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
python.grl.GRLGen Class Reference
Inheritance diagram for python.grl.GRLGen:
Collaboration diagram for python.grl.GRLGen:

Public Member Functions

def __init__ (self)
 
def index (self)
 
def generate (self, configuration=None, folder='LBSUMM', cooltag='HEAD')
 

Public Attributes

 genlock
 

Detailed Description

Definition at line 98 of file GoodRunsLists/python/grl.py.

Constructor & Destructor Documentation

◆ __init__()

def python.grl.GRLGen.__init__ (   self)

Definition at line 99 of file GoodRunsLists/python/grl.py.

99  def __init__(self):
100  self.genlock = threading.Lock()
101  pass
102 

Member Function Documentation

◆ generate()

def python.grl.GRLGen.generate (   self,
  configuration = None,
  folder = 'LBSUMM',
  cooltag = 'HEAD' 
)

Definition at line 160 of file GoodRunsLists/python/grl.py.

160  def generate(self, configuration=None, folder='LBSUMM', cooltag='HEAD'):
161  if configuration is None:
162  return ''
163  with self.genlock as lock: # noqa: F841
164  q = multiprocessing.Queue()
165  proc = multiprocessing.Process(target=_get_grl_info,
166  args = [os.path.join(GRL_DIRECTORY, configuration),
167  cooltag],
168  kwargs = {'queue': q, 'folder': folder})
169  proc.start()
170  rv = q.get()
171  proc.join()
172  cherrypy.response.headers['content-type'] = 'text/xml'
173  cherrypy.response.headers['content-disposition'] = 'attachment; filename=%s' % rv[1]
174  return rv[0]

◆ index()

def python.grl.GRLGen.index (   self)

Definition at line 104 of file GoodRunsLists/python/grl.py.

104  def index(self):
105  rv = ['<html><head>'
106  '<title>GRL generator</title>'
107  '<script type="text/javascript" src="/static/js/grl.js"><!-- -->'
108  '</script>'
109  '</head><body onload="onLoad()">'
110  '<h1>Good Run List Generator</h1>'
111  '<p>This generator allows you to create good run list XML files from '
112  'configurations that are currently kept on AFS, in <tt>~atlasdqm/grl</tt>.'
113  '<p>Using tags:'
114  '<p>CoolRunQuery-00-01-92'
115  '<p>GoodRunsLists-00-00-71'
116  ]
117  rv.append('<div><form method="get" action="generate" style="border-width: 2px; border-style:solid">')
118  rv.append('Configuration file:&nbsp;<select name="configuration" id="confselect">')
119  for f, cn in _get_list_of_grl_classes():
120  rv.append('<option value="%(config)s">%(config)s</option>'
121  % {'config': cn})
122  rv.append('</select> <a href="javascript:downloadPython()">(Click to download)</a> <br/>\n')
123  rv.append('DQ folder:&nbsp;<select name="folder" id="folderselect" onchange="adjustTagList(this)">\n'
124  '<option value="LBSUMM" selected>LBSUMM: Full DQ summary (default, recommended)</option>\n'
125  '<option value="SHIFTOFL">SHIFTOFL: Offline shifters (experts)</option>\n'
126  '<option value="DQCALCOFL">DQCALCOFL: Automatic checks + online shifters (experts)</option>\n'
127  '</select> If in doubt, leave as LBSUMM<br/>'
128  )
129  rv.append('COOL tag:&nbsp;<select name="cooltag" id ="cooltagselect">')
130  for folder in ('LBSUMM', 'SHIFTOFL', 'DQCALCOFL'):
131  for t, descr, lock in _get_cool_tags_for_folder(folder):
132  if t in TAGS_TO_SUPPRESS: continue
133  apptext = []
134  if descr:
135  apptext.append('(%s)' % descr)
136  if lock == 'unlocked':
137  apptext.append('Tag unlocked, all runs may change')
138  elif lock == 'partial':
139  apptext.append('Tag partially locked, recent runs may change')
140  else:
141  apptext.append('Tag locked')
142  if apptext != []:
143  apptext.insert(0, '&mdash;')
144  rv.append('<option value="%(tag)s">%(tag)s %(apptext)s</option>'
145  % {'tag': t, 'apptext': ' '.join(apptext)})
146 
147  rv.append(
148  '<option value="">HEAD</option>'
149  '</select><br/>')
150  rv.append(
151  '<input type="submit" value="Submit"/>\n'
152  '</form></div>')
153 
154  rv.append('</body></html>')
155 
156 
157  return '\n'.join(rv)
158 

Member Data Documentation

◆ genlock

python.grl.GRLGen.genlock

Definition at line 100 of file GoodRunsLists/python/grl.py.


The documentation for this class was generated from the following file:
python.processes.powheg.ZZj_MiNNLO.ZZj_MiNNLO.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZj_MiNNLO.py:18
python.MadGraphUtils.generate
def generate(process_dir='PROC_mssm_0', grid_pack=False, gridpack_compile=False, extlhapath=None, required_accuracy=0.01, runArgs=None, bias_module=None, requirePMGSettings=False)
Definition: MadGraphUtils.py:108
python.grl._get_cool_tags_for_folder
def _get_cool_tags_for_folder(folder)
Definition: GoodRunsLists/python/grl.py:65
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.grl._get_list_of_grl_classes
def _get_list_of_grl_classes()
Definition: GoodRunsLists/python/grl.py:87
DeMoScan.index
string index
Definition: DeMoScan.py:362