46 x0 = AtlasAPI.list_datasets(client, patterns = [c1.project+
'.%.physics_Main.merge.AOD%'], fields = [
'run_number',
'ldn',
'events',
'total_size'], order=
None, limit=
None, show_archived=
False, grl=c1.grl, data_period=c1.period)
47 runs =
set([a[
'run_number']
for a
in x0])
50 print (
'no run in period'+c1.period+
' is listed in GRL:', c1.grl)
54 x = AtlasAPI.list_datasets(client, patterns = [c1.project+
'.%.physics_Main.merg%'+c1.derivation+
'%'], fields = [
'run_number',
'ldn',
'events',
'total_size'], order=
None, limit=
None, show_archived=
False, grl=c1.grl, data_period=c1.period)
59 print (a[
'run_number'], a[
'ldn'])
61 dic1[a[
'ldn'].
split(
'_')[-1]].append((a[
'run_number'],a[
'ldn']))
63 dic1[a[
'ldn'].
split(
'_')[-1]] = [(a[
'run_number'],a[
'ldn'])]
66 allTags = sorted(dic1.keys(), key=
lambda k: len(dic1[k]),reverse=
True)
68 print (tag,
':', end=
'')
74 t_acceptTags = c1.acceptTags
if c1.acceptTags
else allTags
78 for t
in t_acceptTags:
79 for a
in dic1.get(t,[]):
90 print (
'No dataset in period',c1.period+
', exiting...')
102 print (
'MISSING ',
' '.join(runs))
105 dlist=
','.join([d[1]
for d
in ds])
106 superTag =
'period'+c1.period+
','+c1.sTag+ds[0][1][-5:]
107 comments = superTag+
','+c1.derivation
109 cmd=
'ami cmd COMAPopulateSuperProductionDataset -rucioRegistration="yes" -creationComment="'+comments+
'" -selectionType="run_config" -superTag="'+superTag+
'" -containedDatasets="'+dlist+
'" -separator="," '
110 print (
'command:',cmd)
114 with open(c1.outScript,
'a')
as f1:
119 if not c1.autoCreate:
121 x = raw_input(
"create contianer: y[es]/N[o]/e[xit]")
122 if x ==
'e' or x==
'N':
return
125 call(cmd, shell=
True)