ATLAS Offline Software
AtlRunQueryOptions.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
2 
3 import sys
4 from optparse import OptionParser
5 
7  def __init__(self):
8  self.parser = OptionParser(usage="usage: %prog options")
9  self.parser.add_option( "-r",
10  "--run",
11  action = 'append',
12  dest = "runlist",
13  help = "A list of run ranges 90923,89500-89600,92050-" )
14 
15  self.parser.add_option( "-t",
16  "--time",
17  action="append",
18  dest = "timelist",
19  help = "A list of time ranges 10.9.2008-30.9.2008,15.10.2008-" )
20 
21  self.parser.add_option( "-p",
22  "--partition",
23  dest = "partition",
24  help = "The partition name [default: %DEFAULT]" )
25 
26  self.parser.add_option( "--readyforphysics",
27  dest = "readyforphysics",
28  help = "ReadyForPhysics flag" )
29 
30  self.parser.add_option( "--db",
31  dest = "database",
32  default = 'CONDBR2', # default doesn't make sense, the DB should be picked based on run number
33  choices = ['COMP200', 'CONDBR2', 'OFLP200', 'DATA', 'MC'],
34  help = "The detabase [default: %DEFAULT]" )
35 
36  self.parser.add_option( "-c",
37  "--ctag",
38  dest = "condtag",
39  help = "The top conditions tag" )
40 
41  self.parser.add_option( "-l",
42  "--duration",
43  dest = "duration",
44  help = "The duration limit of a run in seconds e.g.: -l 36000 (longer than 10 hours) or -l 300- (less than 5 minutes)" )
45 
46  self.parser.add_option( "-e",
47  "--events",
48  dest = "events",
49  help = "Number of events (EF accepts) in run e.g. 10000-20000" )
50 
51  self.parser.add_option( "--allevents",
52  dest = "allevents",
53  help = "Shows number of EFA/SFO/L1A/L2A events in selected runs e.g. 10000-20000" )
54 
55  self.parser.add_option( "-k",
56  "--smk",
57  dest = "smklist",
58  help = "A list of smks 359,365,372-" )
59 
60  self.parser.add_option( "-b",
61  "--bfield",
62  action = "append",
63  choices = ['on', 'off', 'solenoidon', 'solenoidoff', 'toroidon', 'toroidoff'],
64  dest = "bfield",
65  help = "Bfield ['on', 'off', 'solenoidon', 'solenoidoff', 'toroidon', 'toroidoff']" )
66 
67  self.parser.add_option( "-q",
68  "--dq",
69  action = "append",
70  dest = "dqchannels",
71  help = "Data quality flags, e.g. --dq 'PIXB green SHIFTOFL'" )
72 
73  self.parser.add_option( "--detmaskin",
74  action = "append",
75  dest = "detmaskin",
76  help = "Detector mask, e.g. --detmaskin 0x3123 " )
77 
78  self.parser.add_option( "--detmaskout",
79  action = "append",
80  dest = "detmaskout",
81  help = "Detector mask of absent detectors, e.g. --detmaskout 0x2174 " )
82 
83  self.parser.add_option( "--filenametag",
84  dest = "projecttag",
85  help = "Filename tag, e.g. --filenametag !data_test " )
86 
87  self.parser.add_option( "--projecttag",
88  dest = "projecttag",
89  help = "Project tag, e.g. --projecttag !data_test " )
90 
91  self.parser.add_option( "-s",
92  "--show",
93  action = "append",
94  dest = "show",
95  help = "List of items to query" )
96 
97  self.parser.add_option( "--streams",
98  action = "append",
99  dest = "streams",
100  help = 'Streams, --streams "phy*" ' )
101 
102  self.parser.add_option( "--trigger",
103  action = "append",
104  dest = "trigger",
105  help = 'Triggers, --trigger "EF_Electron*" ' )
106 
107  self.parser.add_option( "--release",
108  action = "append",
109  dest = "release",
110  help = 'Release, --release "14.2.5-14.3.1" ' )
111 
112  self.parser.add_option( "--luminosity",
113  action = "append",
114  dest = "luminosity",
115  help = 'Luminosity, --luminosit' )
116 
117  self.parser.add_option( "--olclumi",
118  action = "append",
119  dest = "olclumi",
120  help = 'olclumi, --olclumi "1ub+"' )
121 
122  self.parser.add_option( "--olcfillparams",
123  action = "append",
124  dest = "olcfillparams",
125  help = 'olcfillparams, --olcfillparams "channel"' )
126 
127  self.parser.add_option( "--beamspot",
128  action = "append",
129  dest = "beamspot",
130  help = 'Beamspot, --beamspot' )
131 
132  self.parser.add_option( "--bpm",
133  action = "append",
134  dest = "bpm",
135  help = 'BPM, --bpm' )
136 
137  self.parser.add_option( "--datasets",
138  action = "append",
139  dest = "datasets",
140  help = 'Datasets, --datasets *NTUP*' )
141 
142  self.parser.add_option( "--ami",
143  action = "append",
144  dest = "ami",
145  help = 'Ami, --ami' )
146 
147  self.parser.add_option( "--larcond",
148  action = "append",
149  dest = "larcond",
150  help = 'Larcond, --larcond "nsamples 7"' )
151 
152  self.parser.add_option( "--lhc",
153  action = "append",
154  dest = "lhc",
155  help = 'LHC information, --lhc "fillnumber 851"' )
156 
157  self.parser.add_option( "--summary",
158  action = "count",
159  dest = "summary",
160  help = 'Print summary, --summary ' )
161 
162  self.parser.add_option( "--dqeff",
163  action = "count",
164  dest = "dqeff",
165  help = 'Print DQ efficiency summary, --dqeff ' )
166 
167  self.parser.add_option( "-v",
168  "--verbose",
169  action = "count",
170  dest = "verbose",
171  help = "Verbosity level" )
172 
173  self.parser.add_option( "--noroot",
174  action = "store_false",
175  dest = "dictroot",
176  help = "Do not create root files and python dict" )
177 
178  self.parser.add_option( "--root",
179  action = "store_true",
180  dest = "dictroot",
181  help = "Do create root files and python dict" )
182 
183  self.parser.add_option( "--nohtml",
184  action = "store_false",
185  dest = "html",
186  help = "Text output instead of html" )
187 
188  self.parser.add_option( "--html",
189  action = "store_true",
190  dest = "html",
191  help = "Text output instead of html" )
192 
193  self.parser.add_option( "--selectOnUnknown",
194  action = "store_true",
195  dest = "selectonunknown",
196  default = True,
197  help = "Select when information is not known (only for #evt and partition name)" )
198 
199  self.parser.add_option( "--skipUnknown",
200  action = "store_false",
201  dest = "selectonunknown",
202  help = "Select when information is not known (only for #evt and partition name)" )
203 
204  self.parser.add_option( "--xmlfile",
205  action = "store",
206  type = "string",
207  dest = "xmlfile",
208  help = "Give filename and label (format: filename:label) for XML GoodRunList file" )
209 
210  self.parser.add_option( "--nogrl",
211  action = "store_false",
212  dest = "prodgrl",
213  help = "Do not produce a good run list" )
214 
215  self.parser.add_option( "--utc",
216  action = "store_true",
217  dest = "utc",
218  help = "Use utc for everything, default is local time (CET/CEST)" )
219 
220  self.parser.add_option( "--dqsumgrl",
221  action = "store",
222  dest = "dqsumgrl",
223  #default = "PHYS_StandardGRL_All_Good_25ns",
224  help = "Define tolerable/intolerable defects for DQ summary relative to GRL or other virtual defect, default is PHYS_StandardGRL_All_Good_25ns")
225 
226  self.parser.add_option( "--defecttag",
227  action = "store",
228  dest = "defecttag",
229  #default = "HEAD",
230  help = 'Define defect tag for defect database used for DQ summary relative to GRL or other virtual defect, default is "HEAD"')
231 
232  self.parser.add_option( "--logictag",
233  action = "store",
234  dest = "logictag",
235  #default = "HEAD",
236  help = 'Define logic tag for defect database used for DQ summary relative to GRL or other virtual defect, default is "HEAD"')
237 
238  def splitCmdline(self,argstring):
239  arg = argstring.split()
240  m = list(zip([x for x in range(len(arg)) if arg[x][0]=='"'],[x for x in range(len(arg)) if arg[x][-1]=='"']))
241  m.reverse()
242  for p in m:
243  if p[0]==p[1]:
244  arg[p[0]] = arg[p[0]].strip('"')
245  elif p[1]-p[0] == 2:
246  arg[p[0]:p[1]+1]=[("%s %s %s" % (arg[p[0]],arg[p[0]+1],arg[p[1]])).strip('"')]
247  else:
248  arg[p[0]:p[1]+1]=[("%s %s" % (arg[p[0]],arg[p[1]])).strip('"')]
249  return arg
250 
251 
252  def parse(self,atlqueryarg=None):
253  if atlqueryarg:
254  sys.argv = self.splitCmdline(atlqueryarg)
255  return self.parser.parse_args()
python.AtlRunQueryOptions.AtlRunQueryOptions.parser
parser
Definition: AtlRunQueryOptions.py:8
python.AtlRunQueryOptions.AtlRunQueryOptions.__init__
def __init__(self)
Definition: AtlRunQueryOptions.py:7
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
python.AtlRunQueryOptions.AtlRunQueryOptions.splitCmdline
def splitCmdline(self, argstring)
Definition: AtlRunQueryOptions.py:238
python.AtlRunQueryOptions.AtlRunQueryOptions
Definition: AtlRunQueryOptions.py:6
confTool.parse_args
def parse_args()
Definition: confTool.py:35
python.AtlRunQueryOptions.AtlRunQueryOptions.parse
def parse(self, atlqueryarg=None)
Definition: AtlRunQueryOptions.py:252