ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
python.GoodRunsListConfig.GoodRunsListConfig Class Reference
Collaboration diagram for python.GoodRunsListConfig.GoodRunsListConfig:

Public Member Functions

def __init__ (self)
 
def Summary (self)
 
def getsearchquery (self)
 
def getparseddqflags (self)
 
def getdqfolder (self)
 
def setdqfolder (self, dqfolder='')
 
def setdqctag (self, dqctag)
 
def setctag (self, ctag)
 
def getctag (self)
 
def setPrefix (self, newprefix)
 

Public Attributes

 name
 
 querytool
 
 listname
 
 prefix
 
 show
 
 dqfolder
 
 querydict
 
 dqignore
 

Detailed Description

Definition at line 4 of file GoodRunsListConfig.py.

Constructor & Destructor Documentation

◆ __init__()

def python.GoodRunsListConfig.GoodRunsListConfig.__init__ (   self)

Definition at line 5 of file GoodRunsListConfig.py.

5  def __init__(self):
6  # -- run cmd options
7  self.name = "GoodRunsListConfig" # -- name set inside GRLB xml output file
8  self.querytool = "AtlRunQuery.py" # -- run query tool
9  self.listname = "default.xml" # -- name of GRL xml output file
10  self.prefix = "" # -- prefix for GRL file name
11  self.show = "" # -- show arguments for atlrunquery
12  self.dqfolder = "DEFECTS" # -- DQ folder, eg. LBSUMM, SHIFTOFL. Default by AtlRunQuery
13 
14  # -- query selections in AtlRunQuery.py
15  # -- see Database/CoolRunQuery/python/AtlRunQueryParser.py for full list
16  self.querydict = {}
17  self.querydict['partition'] = ["ATLAS"] # -- DAQ partition
18  self.querydict['ptag'] = ["data09*"] # -- projecttag: collection filename prefix
19  #self.querydict['events'] = ["1000+"] # -- number of events per run
20  self.querydict['run'] = ["140541+"] # -- run number selection range
21  #self.querydict['duration'] = ["60s+"] # -- duration of run selection
22  self.querydict['time'] = [] # -- time of run selection, eg.
23  self.querydict['detector'] = [] #['all'] # -- subdetectors turned on, eg.
24  self.querydict['streams'] = [] # -- trigger output streams, eg.
25  self.querydict['mag'] = [] #["solenoidon","toroidon"] # -- magnetic field configuration
26  self.querydict['dq'] = [] # -- selection of data quality flags
27  self.querydict['smk'] = [] # -- super master key, eg.
28  self.querydict['trigger'] = [] # -- select specific triggers available, eg.
29  self.querydict['release'] = [] # -- release used, eg: '15.1.*'
30  #self.querydict['ctag'] = ['DetStatusLBSUMM-pass1'] # -- COOL conditions tag to use, eg: 'COMCOND-HLTC-001-00'. Default = head.
31  self.querydict['db'] = ['DATA'] # -- DATA or MC
32  self.dqignore = [] # DQ defects to ignore. These will be patched into the dq querydict
33 
34 

Member Function Documentation

◆ getctag()

def python.GoodRunsListConfig.GoodRunsListConfig.getctag (   self)

Definition at line 149 of file GoodRunsListConfig.py.

149  def getctag(self):
150  return self.querydict.get('ctag', '')
151 

◆ getdqfolder()

def python.GoodRunsListConfig.GoodRunsListConfig.getdqfolder (   self)

Definition at line 108 of file GoodRunsListConfig.py.

108  def getdqfolder(self):
109  return self.dqfolder
110 

◆ getparseddqflags()

def python.GoodRunsListConfig.GoodRunsListConfig.getparseddqflags (   self)

Definition at line 75 of file GoodRunsListConfig.py.

75  def getparseddqflags(self):
76  from CoolRunQuery.AtlRunQueryLib import DQSelector,AtlRunQueryOptions
77  from CoolRunQuery.AtlRunQueryParser import ArgumentParser
78 
79 
80  query = self.getsearchquery()
81  ap = ArgumentParser()
82  atlqueryarg = self.querytool + " " + ap.ParseArgument( query )
83  (options, args) = AtlRunQueryOptions().parse(atlqueryarg)
84 
85 
86  selector = DQSelector(name = 'dataquality', dq = options.dqchannels)
87  dqfolder = self.getdqfolder()
88 
89  funcArr = []
90  dqconfig = selector.selectors[dqfolder]
91  for flag in dqconfig.flags:
92  fncName = dqconfig.flagInterpreter[flag]['passFncName']
93  fncName = fncName.replace("\'","")
94  funcArr.append(fncName)
95  #funcArr = selector.selectors[dqfolder].passFncName
96  #for i in range(len(funcArr)): funcArr[i] = funcArr[i].replace("\'","")
97 
98 
99  dqchannels = options.dqchannels
100  for i in range(len(dqchannels)):
101  dqArr = dqchannels[i].split()
102  dqArr[1] = funcArr[i]
103  dqchannels[i] = ' '.join(dqArr)
104 
105  return dqchannels
106 
107 

◆ getsearchquery()

def python.GoodRunsListConfig.GoodRunsListConfig.getsearchquery (   self)

Definition at line 46 of file GoodRunsListConfig.py.

46  def getsearchquery(self):
47  cmd = "find "
48 
49  for key in self.querydict.keys():
50  arr = self.querydict[key][:]
51  if key == 'dq':
52  if len(self.dqignore) > 0:
53  toexclude = '\\' + '\\'.join(self.dqignore)
54  else:
55  toexclude = ''
56  print ('to exclude', toexclude)
57  for i, q in enumerate(arr):
58  qsplit = q.split()
59  if len(qsplit) > 0:
60  arr[i] = ' '.join([qsplit[0] + toexclude] + qsplit[1:])
61  for selection in arr:
62  if len(selection)>0:
63  cmd += "%s %s and " % (key,selection)
64  cmd = cmd[:-4]
65 
66  if len(self.show)>0:
67  cmd += " %s" % (self.show)
68  else: cmd += " / show run and events / nodef"
69 
70  xmlstring = 'xmlfile %s:%s' % (self.listname,self.name)
71  cmd += " , %s" % (xmlstring)
72  return cmd
73 
74 

◆ setctag()

def python.GoodRunsListConfig.GoodRunsListConfig.setctag (   self,
  ctag 
)

Definition at line 146 of file GoodRunsListConfig.py.

146  def setctag(self,ctag):
147  if len(ctag)>0: self.querydict['ctag'] = ctag
148 

◆ setdqctag()

def python.GoodRunsListConfig.GoodRunsListConfig.setdqctag (   self,
  dqctag 
)

Definition at line 129 of file GoodRunsListConfig.py.

129  def setdqctag(self,dqctag):
130  if len(dqctag)==0: return
131  for idx in range( len(self.querydict['dq']) ):
132  dqquery = self.querydict['dq'][idx].strip()
133  queryArr = dqquery.split()
134 
135  if len(queryArr)==3:
136  ctagArr = queryArr[1].split('#')
137  queryArr[1] = '%s#%s' % (ctagArr[0],dqctag)
138 
139  elif len(queryArr)==2:
140  dqfoldtag = '%s#%s' % (self.dqfolder,dqctag)
141  queryArr.insert(1,dqfoldtag)
142  dqquery = '%s %s %s' % (queryArr[0],queryArr[1],queryArr[2])
143  self.querydict['dq'][idx] = dqquery
144  return
145 

◆ setdqfolder()

def python.GoodRunsListConfig.GoodRunsListConfig.setdqfolder (   self,
  dqfolder = '' 
)

Definition at line 111 of file GoodRunsListConfig.py.

111  def setdqfolder(self,dqfolder=''):
112  if len(dqfolder)>0: self.dqfolder = dqfolder
113  for idx in range( len(self.querydict['dq']) ):
114  dqquery = self.querydict['dq'][idx].strip()
115  queryArr = dqquery.split()
116 
117  if len(queryArr)==3:
118  ctagArr = queryArr[1].split('#')
119  if len(ctagArr)==2:
120  queryArr[1] = '%s#%s' % (self.dqfolder,ctagArr[1])
121  else: queryArr[1] = self.dqfolder
122 
123  elif len(queryArr)==2:
124  queryArr.insert(1,self.dqfolder)
125  dqquery = '%s %s %s' % (queryArr[0],queryArr[1],queryArr[2])
126  self.querydict['dq'][idx] = dqquery
127  return
128 

◆ setPrefix()

def python.GoodRunsListConfig.GoodRunsListConfig.setPrefix (   self,
  newprefix 
)

Definition at line 152 of file GoodRunsListConfig.py.

152  def setPrefix(self,newprefix):
153  self.prefix = newprefix
154  self.listname = self.prefix+self.listname
155 

◆ Summary()

def python.GoodRunsListConfig.GoodRunsListConfig.Summary (   self)

Definition at line 35 of file GoodRunsListConfig.py.

35  def Summary(self):
36  print ('Name : %s' % (self.name))
37  print ('Tool : %s' % (self.querytool))
38  print ('File : %s' % (self.listname))
39  print ('Show : %s' % (self.show))
40  print ('DQ folder : %s' % (self.dqfolder))
41  print ('Query :')
42  print (self.getsearchquery())
43  return
44 
45 

Member Data Documentation

◆ dqfolder

python.GoodRunsListConfig.GoodRunsListConfig.dqfolder

Definition at line 12 of file GoodRunsListConfig.py.

◆ dqignore

python.GoodRunsListConfig.GoodRunsListConfig.dqignore

Definition at line 32 of file GoodRunsListConfig.py.

◆ listname

python.GoodRunsListConfig.GoodRunsListConfig.listname

Definition at line 9 of file GoodRunsListConfig.py.

◆ name

python.GoodRunsListConfig.GoodRunsListConfig.name

Definition at line 7 of file GoodRunsListConfig.py.

◆ prefix

python.GoodRunsListConfig.GoodRunsListConfig.prefix

Definition at line 10 of file GoodRunsListConfig.py.

◆ querydict

python.GoodRunsListConfig.GoodRunsListConfig.querydict

Definition at line 16 of file GoodRunsListConfig.py.

◆ querytool

python.GoodRunsListConfig.GoodRunsListConfig.querytool

Definition at line 8 of file GoodRunsListConfig.py.

◆ show

python.GoodRunsListConfig.GoodRunsListConfig.show

Definition at line 11 of file GoodRunsListConfig.py.


The documentation for this class was generated from the following file:
parse
std::map< std::string, std::string > parse(const std::string &list)
Definition: egammaLayerRecalibTool.cxx:1113
MuonValidation_CreateSlides_config.Summary
list Summary
Definition: MuonValidation_CreateSlides_config.py:34
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
get
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition: hcg.cxx:127
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
Trk::split
@ split
Definition: LayerMaterialProperties.h:38