ATLAS Offline Software
Loading...
Searching...
No Matches
python.CreateTierZeroArgdict Namespace Reference

Functions

 resolve (tag)
 utility functions
 evalDatasetNameFion (dsname, dsfionstr)

Variables

 parser
 command line argument parsing
 type
 str
 help
 dest
 int
 default
 args = parser.parse_args()
 amitag = args.amitag
 dsname = args.dsname
 inputflname = args.inputflname
 maxEvents = args.maxEvents
 ncores = args.ncores
 NoMergeTypeList = args.NoMergeTypeList
str taskstep = 'recon'
str partID = '._0001'
 partIDlist = inputflname.split('._')[1:]
str logfilename = dsname+"."+ amitag+"."+taskstep+partID+".job.log"
str jsonflname = dsname+"."+ amitag+"."+taskstep+partID+".job.argdict.json"
dict jobargdict = {}
 ami_tag_content = resolve(amitag)
 phconfig = ami_tag_content.get('phconfig',{})
str parncores = '--nprocs=%i' % ncores
 outputs = ami_tag_content.get('outputs',{})
 dstype = dsname.split('.')[-1]
dict outdatasets = {}
 parname = k
 dstp = v.get('dstype')
 pcs = dstp.split()
 pairs = pcs[1:]
 ifmatch = v.get('ifMatch',None)
 m = re.match(ifmatch,dsname)
 dsfionstr = v.get('dsnamefion',None)
 outdsname = evalDatasetNameFion(dsname,dsfionstr)
str outfilename = outdsname+partID
str outfilevalue = outdsname+'#'+outfilename
 jobargdictfile = open(jsonflname,"w")
 sort_keys
 True
 indent
 separators

Function Documentation

◆ evalDatasetNameFion()

python.CreateTierZeroArgdict.evalDatasetNameFion ( dsname,
dsfionstr )

Definition at line 103 of file CreateTierZeroArgdict.py.

103def evalDatasetNameFion(dsname,dsfionstr):
104 # returns derived dsn or None
105 # raises 'error' in case of problems
106 tokens = dsfionstr.split()
107 if tokens[0] == 'lambda' :
108 dsfion=eval(dsfionstr)
109 newdsname=dsfion(dsname)
110 elif tokens[0] == 'replace' :
111 newdsname = dsname
112 pairs = tokens[1:]
113 while len(pairs) > 1 :
114 newdsname = newdsname.replace(pairs[0],pairs[1])
115 pairs = pairs[2:]
116 elif tokens[0] == 'replace_nth' :
117 parts = dsname.split('.')
118 pairs = tokens[1:]
119 while len(pairs) > 1 :
120 pos = int(pairs[0]) # pos starts counting from 1 !
121 new = pairs[1]
122 parts[pos-1] = new
123 pairs = pairs[2:]
124 newdsname = '.'.join(parts)
125 else :
126 print("ERROR >>> unexpected dsnamefion syntax")
127 raise Exception('error')
128 return newdsname
129
130
131# Executed from the command line
void print(char *figname, TCanvas *c1)

◆ resolve()

python.CreateTierZeroArgdict.resolve ( tag)

utility functions

Definition at line 73 of file CreateTierZeroArgdict.py.

73def resolve(tag) :
74 try :
75 amiuser = ''
76 amipwd = ''
77 amiendpoint = 'atlas'
78 ami = pyAMI.client.Client(endpoint = amiendpoint)
79
80 command = ['GetAMITagInfo','-amiTag=%s' % tag,]
81
82 if amiuser and amipwd :
83 amires = ami.execute(command, format = 'dict_object', AMIUser = amiuser, AMIPass = amipwd)
84 else :
85 amires = ami.execute(command, format = 'dict_object')
86
87 # extract the result
88 r = amires.get_rows('amiTagInfo')[0] # assuming simple tag, i.e. not chained
89 # TODO get rid of these empty strings/str/eval at some point
90 res = {'outputs' : eval(r.get('outputs','{}')),
91 'inputs' : eval(r.get('inputs','{}')),
92 'phconfig' : eval(r.get('phconfig','{}')),
93 'moreInfo' : eval(r.get('moreInfo','{}')),
94 'transformation' : str(r.get('transformation','')),
95 'trfsetupcmd' : str(r.get('trfsetupcmd','')),
96 }
97 except Exception:
98 traceback.print_exc()
99 res = 'error'
100 return res
101
102

Variable Documentation

◆ ami_tag_content

python.CreateTierZeroArgdict.ami_tag_content = resolve(amitag)

Definition at line 155 of file CreateTierZeroArgdict.py.

◆ amitag

python.CreateTierZeroArgdict.amitag = args.amitag

Definition at line 58 of file CreateTierZeroArgdict.py.

◆ args

python.CreateTierZeroArgdict.args = parser.parse_args()

Definition at line 50 of file CreateTierZeroArgdict.py.

◆ default

python.CreateTierZeroArgdict.default

Definition at line 39 of file CreateTierZeroArgdict.py.

◆ dest

python.CreateTierZeroArgdict.dest

Definition at line 39 of file CreateTierZeroArgdict.py.

◆ dsfionstr

python.CreateTierZeroArgdict.dsfionstr = v.get('dsnamefion',None)

Definition at line 213 of file CreateTierZeroArgdict.py.

◆ dsname

python.CreateTierZeroArgdict.dsname = args.dsname

Definition at line 59 of file CreateTierZeroArgdict.py.

◆ dstp

python.CreateTierZeroArgdict.dstp = v.get('dstype')

Definition at line 195 of file CreateTierZeroArgdict.py.

◆ dstype

python.CreateTierZeroArgdict.dstype = dsname.split('.')[-1]

Definition at line 190 of file CreateTierZeroArgdict.py.

◆ help

python.CreateTierZeroArgdict.help

Definition at line 34 of file CreateTierZeroArgdict.py.

◆ ifmatch

python.CreateTierZeroArgdict.ifmatch = v.get('ifMatch',None)

Definition at line 207 of file CreateTierZeroArgdict.py.

◆ indent

python.CreateTierZeroArgdict.indent

Definition at line 241 of file CreateTierZeroArgdict.py.

◆ inputflname

python.CreateTierZeroArgdict.inputflname = args.inputflname

Definition at line 60 of file CreateTierZeroArgdict.py.

◆ int

python.CreateTierZeroArgdict.int

Definition at line 39 of file CreateTierZeroArgdict.py.

◆ jobargdict

python.CreateTierZeroArgdict.jobargdict = {}

Definition at line 152 of file CreateTierZeroArgdict.py.

◆ jobargdictfile

python.CreateTierZeroArgdict.jobargdictfile = open(jsonflname,"w")

Definition at line 240 of file CreateTierZeroArgdict.py.

◆ jsonflname

str python.CreateTierZeroArgdict.jsonflname = dsname+"."+ amitag+"."+taskstep+partID+".job.argdict.json"

Definition at line 151 of file CreateTierZeroArgdict.py.

◆ logfilename

str python.CreateTierZeroArgdict.logfilename = dsname+"."+ amitag+"."+taskstep+partID+".job.log"

Definition at line 150 of file CreateTierZeroArgdict.py.

◆ m

python.CreateTierZeroArgdict.m = re.match(ifmatch,dsname)

Definition at line 210 of file CreateTierZeroArgdict.py.

◆ maxEvents

python.CreateTierZeroArgdict.maxEvents = args.maxEvents

Definition at line 63 of file CreateTierZeroArgdict.py.

◆ ncores

python.CreateTierZeroArgdict.ncores = args.ncores

Definition at line 64 of file CreateTierZeroArgdict.py.

◆ NoMergeTypeList

python.CreateTierZeroArgdict.NoMergeTypeList = args.NoMergeTypeList

Definition at line 65 of file CreateTierZeroArgdict.py.

◆ outdatasets

dict python.CreateTierZeroArgdict.outdatasets = {}

Definition at line 191 of file CreateTierZeroArgdict.py.

◆ outdsname

dict python.CreateTierZeroArgdict.outdsname = evalDatasetNameFion(dsname,dsfionstr)

Definition at line 216 of file CreateTierZeroArgdict.py.

◆ outfilename

str python.CreateTierZeroArgdict.outfilename = outdsname+partID

Definition at line 236 of file CreateTierZeroArgdict.py.

◆ outfilevalue

str python.CreateTierZeroArgdict.outfilevalue = outdsname+'#'+outfilename

Definition at line 237 of file CreateTierZeroArgdict.py.

◆ outputs

python.CreateTierZeroArgdict.outputs = ami_tag_content.get('outputs',{})

Definition at line 189 of file CreateTierZeroArgdict.py.

◆ pairs

python.CreateTierZeroArgdict.pairs = pcs[1:]

Definition at line 201 of file CreateTierZeroArgdict.py.

◆ parname

python.CreateTierZeroArgdict.parname = k

Definition at line 194 of file CreateTierZeroArgdict.py.

◆ parncores

str python.CreateTierZeroArgdict.parncores = '--nprocs=%i' % ncores

Definition at line 174 of file CreateTierZeroArgdict.py.

◆ parser

python.CreateTierZeroArgdict.parser
Initial value:
1= argparse.ArgumentParser(add_help=True,usage='\n\nThis utility creates json argument dictionary and prints instructions for running a Tier-0 job with it. \
2 \nThis script shall be used only with reconstruction related amitags (x/f/c flavours). \
3 \nAMI tag, dataset and file names are required input arguments. \
4 \n\
5 \n1. source AMI from the command line:\
6 \n source /afs/cern.ch/atlas/software/tools/pyAMI/setup.sh \
7 \n2. set up an encrypted configuration file to be able to connect to AMI with your AMI username and password, type:\
8 \n ami auth\
9 \n3. run the script: \
10 \n CreateTierZeroArgdict.py [-h] [--maxEvents MAXEVENTS] [--ncores NCORES] \
11 \n [--NoMergeTypeList NOMERGETYPELIST] \
12 \n amitag dsname inputflname')

command line argument parsing

Definition at line 21 of file CreateTierZeroArgdict.py.

◆ partID

str python.CreateTierZeroArgdict.partID = '._0001'

Definition at line 135 of file CreateTierZeroArgdict.py.

◆ partIDlist

python.CreateTierZeroArgdict.partIDlist = inputflname.split('._')[1:]

Definition at line 137 of file CreateTierZeroArgdict.py.

◆ pcs

python.CreateTierZeroArgdict.pcs = dstp.split()

Definition at line 200 of file CreateTierZeroArgdict.py.

◆ phconfig

python.CreateTierZeroArgdict.phconfig = ami_tag_content.get('phconfig',{})

Definition at line 160 of file CreateTierZeroArgdict.py.

◆ separators

python.CreateTierZeroArgdict.separators

Definition at line 241 of file CreateTierZeroArgdict.py.

◆ sort_keys

python.CreateTierZeroArgdict.sort_keys

Definition at line 241 of file CreateTierZeroArgdict.py.

◆ str

python.CreateTierZeroArgdict.str

Definition at line 34 of file CreateTierZeroArgdict.py.

◆ taskstep

str python.CreateTierZeroArgdict.taskstep = 'recon'

Definition at line 67 of file CreateTierZeroArgdict.py.

◆ True

python.CreateTierZeroArgdict.True

Definition at line 241 of file CreateTierZeroArgdict.py.

◆ type

python.CreateTierZeroArgdict.type

Definition at line 34 of file CreateTierZeroArgdict.py.