ATLAS Offline Software
Classes | Functions | Variables
dq_defect_info_table Namespace Reference

Classes

class  Defect
 

Functions

def build_table (**kwargs)
 
def build_defects (descriptions, virtuals, intolerables, lbs, lumis, all_defects)
 
def copy_art (target_dir)
 
def main ()
 

Variables

 verbose
 
 ip
 
string GRAPH_URL = "http://atlasdqm.web.cern.ch/atlasdqm/defect_graph/HEAD"
 
list headings
 Headings control the content which is displayed. More...
 
 heading_names
 
 heading_titles
 
string content_string
 

Function Documentation

◆ build_defects()

def dq_defect_info_table.build_defects (   descriptions,
  virtuals,
  intolerables,
  lbs,
  lumis,
  all_defects 
)

Definition at line 123 of file dq_defect_info_table.py.

123 def build_defects(descriptions, virtuals, intolerables, lbs, lumis, all_defects):
124 
125  with timer("Sort defects by channel"):
126  dbc = all_defects.by_channel
127 
128  with timer("Compute luminosities"):
129  lumi_by_defect = compute_lumi_many_channels(lbs, lumis, all_defects)
130 
131  defects = []
132 
133  for name, description in sorted(descriptions.iteritems()):
134  virtual, intolerable = name in virtuals, name in intolerables
135  defect = Defect(name, description, dbc[name], virtual, intolerable,
136  lumi_by_defect.get(name, 0))
137  defects.append(defect)
138 
139  defects.sort(key=lambda d: (d.virtual, not d.intolerable))
140 
141  return defects
142 

◆ build_table()

def dq_defect_info_table.build_table ( **  kwargs)
Build the HTML content

Definition at line 110 of file dq_defect_info_table.py.

110 def build_table(**kwargs):
111  """
112  Build the HTML content
113  """
114  path = resource_filename("DQDefects.data", "table.html")
115  with open(path) as fd:
116  template = MarkupTemplate(fd, path)
117 
118  stream = template.generate(HTML=HTML, **kwargs)
119  serializer = HTMLSerializer(doctype="html5")
120  content = encode(serializer(stream))
121  return content
122 

◆ copy_art()

def dq_defect_info_table.copy_art (   target_dir)

Definition at line 143 of file dq_defect_info_table.py.

143 def copy_art(target_dir):
144  art_base = dirname(resource_filename("DQDefects.data", "table.html"))
145 
146  for filename in listdir(art_base):
147  _, _, ext = filename.rpartition(".")
148  if ext.lower() not in ("png", "js", "css"):
149  continue
150  copy2(pjoin(art_base, filename), pjoin(target_dir, filename))
151 

◆ main()

def dq_defect_info_table.main ( )

Definition at line 152 of file dq_defect_info_table.py.

152 def main():
153  d = DefectsDB()
154 
155  iov_range = None, None #
156  iov_range = 185000 << 32, 185500 << 32
157  #iov_range = 177682 << 32, 200000 << 32
158 
159  with timer("Fetch defect info"):
160  all_defects = d.retrieve(*iov_range)
161 
162  with timer("fetch peripheral information"):
163  descriptions = d.all_defect_descriptions
164  intolerable = d.get_intolerable_defects()
165  virtual = d.virtual_defect_names
166 
167  with timer("Fetch lumi inputs"):
168  lbs, lumis = fetch_lumi_inputs(iov_range, "ONLINE")
169 
170  d = build_defects(descriptions, virtual, intolerable, lbs, lumis, all_defects)
171 
172  target_dir = "/afs/cern.ch/user/p/pwaller/www/defects/test"
173  art_dir = pjoin(target_dir, "extern")
174 
175  if not exists(art_dir):
176  makedirs(art_dir)
177 
178  copy_art(art_dir)
179 
180  content = build_table(headings=heading_titles, defects=d)
181  with open(pjoin(target_dir, "test.html"), "w") as fd:
182  fd.write(content)
183 
184 

Variable Documentation

◆ content_string

string dq_defect_info_table.content_string
Initial value:
1 = "".join("<td>{{d.{0}}}</td>".format(x)
2  for x in heading_names if x)

Definition at line 46 of file dq_defect_info_table.py.

◆ GRAPH_URL

string dq_defect_info_table.GRAPH_URL = "http://atlasdqm.web.cern.ch/atlasdqm/defect_graph/HEAD"

Definition at line 24 of file dq_defect_info_table.py.

◆ heading_names

dq_defect_info_table.heading_names

Definition at line 44 of file dq_defect_info_table.py.

◆ heading_titles

dq_defect_info_table.heading_titles

Definition at line 44 of file dq_defect_info_table.py.

◆ headings

list dq_defect_info_table.headings
Initial value:
1 = [
2  ("", "V"),
3  ("", "T"),
4  ("", "U"),
5  ("", "B"),
6  ("name_with_url", "Name"),
7  ("description", "Description"),
8  ("nruns", "# Runs"),
9  ("latest_run", "Latest Run"),
10  ("rec_lb_frac", "Potentially Recoverable LB %"),
11  ("lumi", HTML("Luminosity (pb<sup>-1</sup>)")),
12  #("nlumi", "nlumi"),
13  #("nlumi_rec", "nlumi"),
14 ]

Headings control the content which is displayed.

(Defect.name, "Heading description") Blank identifier means it is constructed entirely inside Defect.content

Definition at line 29 of file dq_defect_info_table.py.

◆ ip

dq_defect_info_table.ip

Definition at line 22 of file dq_defect_info_table.py.

◆ verbose

dq_defect_info_table.verbose

Definition at line 17 of file dq_defect_info_table.py.

python.lumi.compute_lumi_many_channels
def compute_lumi_many_channels(lbs, lumis, iovs, exclude_iovsets=[], good_runs=None)
Definition: lumi.py:66
vtune_athena.format
format
Definition: vtune_athena.py:14
dq_defect_info_table.copy_art
def copy_art(target_dir)
Definition: dq_defect_info_table.py:143
python.dummyaccess.listdir
def listdir(dirname)
Definition: dummyaccess.py:6
dirname
std::string dirname(std::string name)
Definition: utils.cxx:200
dq_defect_info_table.main
def main()
Definition: dq_defect_info_table.py:152
python.lumi.fetch_lumi_inputs
def fetch_lumi_inputs(range_iov, tag="OflLumi-7TeV-002")
Definition: lumi.py:125
python.utils.AtlRunQueryTimer.timer
def timer(name, disabled=False)
Definition: AtlRunQueryTimer.py:86
dq_defect_info_table.build_table
def build_table(**kwargs)
Definition: dq_defect_info_table.py:110
DerivationFramework::TriggerMatchingUtils::sorted
std::vector< typename T::value_type > sorted(T begin, T end)
Helper function to create a sorted vector from an unsorted one.
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
dq_defect_info_table.build_defects
def build_defects(descriptions, virtuals, intolerables, lbs, lumis, all_defects)
Definition: dq_defect_info_table.py:123
Trk::open
@ open
Definition: BinningType.h:40
python.dummyaccess.exists
def exists(filename)
Definition: dummyaccess.py:9
python.PerfMonSerializer.encode
def encode(data, use_base64=True)
Definition: PerfMonSerializer.py:375