9 toGB = 1. / 1000. / 1000. / 1000.
15 for ds
in grid.listDatasets(scope, query):
16 ar = ds.replace(
'/',
'').
split(
'.')
20 tag = tag.split(
'_p')[0]
22 short = ar[1] +
'.' + tag
30 print(
'---++ %s (%d)' % (name, len(ids)))
32 print(
'''%TABLE{tablewidth="100%" columnwidths="6%,70%,12%,12%"}%''')
33 print(
'| %8s | %60s | %22s | %22s | %22s | %22s |' % (
'*DSID*',
'*Description*',
'*Primary xAOD yield*',
'*TOPQ1 yield*',
'*Primary size [GB]*',
'*xAOD size [GB]*' ))
36 dsids_sofar.append(id)
39 topq1_name =
'Not Available (requested?)'
45 if aods_idonly.has_key(id):
46 primary_name = aods_idonly[id]
48 if topq1_idonly.has_key(id):
49 topq1_name = topq1_idonly[id]
51 if aods_ami.has_key(primary_name.replace(
'/',
'')):
52 aod_yield = aods_ami[primary_name.replace(
'/',
'')]
54 if topq1_ami.has_key(topq1_name.replace(
'/',
'')):
55 topq1_yield = topq1_ami[topq1_name.replace(
'/',
'')]
58 if aods_ami_size.has_key(primary_name.replace(
'/',
'')):
59 aod_size = aods_ami_size[primary_name.replace(
'/',
'')]
61 if topq1_ami_size.has_key(topq1_name.replace(
'/',
'')):
62 topq1_size = topq1_ami_size[topq1_name.replace(
'/',
'')]
66 desc = primary_name.split(
'.')[2]
72 showlink="'''+desc+
'''"
73 hidelink="'''+desc+
'''"
74 showimgleft="%ICONURLPATH{toggleopen-small}%"
75 hideimgleft="%ICONURLPATH{toggleclose-small}%"}%''' +
'<b>Primary:</b> ' + primary_name +
'<br><b>TOPQ1:</b> ' + topq1_name +
'<br>' +
'%ENDTWISTY%'
79 frac = 100. * topq1_yield / aod_yield
81 topq1_yield_txt =
"%15d (%0.0f%%)" % (topq1_yield, frac)
84 if aod_yield < topq1_yield:
87 elif aod_yield > topq1_yield:
91 topq1_yield_txt = cstart + topq1_yield_txt + cend
95 frac = 100. * topq1_size / aod_size
97 topq1_size_txt =
"%15d (%0.0f%%)" % (topq1_size * toGB, frac)
99 print(
'| %d|%s| %d| %s| %4.2f| %s|' % (id, twisty, aod_yield, topq1_yield_txt, aod_size * toGB, topq1_size_txt))
103 if __name__ ==
'__main__':
104 query =
'*.AOD.*_r5591_r5625'
105 query13 =
'*.merge.AOD.*_r5787_r5853'
109 print(
'---+ Introduction')
111 aods_idtag, aods_idonly =
makeDict(
'mc14_8TeV', query)
112 topq1_idtag, topq1_idonly =
makeDict(
'mc14_8TeV', query.replace(
'AOD',
'DAOD_TOPQ1') +
'_p1854')
113 aods_ami = ami.askAmi(
'mc14_8TeV.' + query)
114 topq1_ami = ami.askAmi(
'mc14_8TeV.' + query.replace(
'AOD',
'DAOD_TOPQ1') +
'_p1854')
116 aods_ami_size = ami.askAmi(
'mc14_8TeV.' + query,
'totalSize')
117 topq1_ami_size = ami.askAmi(
'mc14_8TeV.' + query.replace(
'AOD',
'DAOD_TOPQ1') +
'_p1854',
'totalSize')
126 makeTable(
'single top', [110101, 110119, 110140])
127 makeTable(
'Z+jets sherpa', [147770, 147771])
132 remaining =
set(aods_idonly.keys()).difference(
set(dsids_sofar))
138 aods_idtag, aods_idonly =
makeDict(
'mc14_13TeV', query)
139 topq1_idtag, topq1_idonly =
makeDict(
'mc14_13TeV', query.replace(
'AOD',
'DAOD_TOPQ1') +
'_p1852')
141 aods_ami = ami.askAmi(
'mc14_13TeV.' + query)
142 topq1_ami = ami.askAmi(
'mc14_13TeV.' + query.replace(
'AOD',
'DAOD_TOPQ1') +
'_p1852')
143 aods_ami_size = ami.askAmi(
'mc14_13TeV.' + query,
'totalSize')
144 topq1_ami_size = ami.askAmi(
'mc14_13TeV.' + query.replace(
'AOD',
'DAOD_TOPQ1') +
'_p1852',
'totalSize')
148 print(
'---+ 13 !TeV')
151 makeTable(
'single top', [110070, 110071, 110305])
153 remaining =
set(aods_idonly.keys()).difference(
set(dsids_sofar))