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 5 of file GoodRunsListConfig.py.

Constructor & Destructor Documentation

◆ __init__()

def python.GoodRunsListConfig.GoodRunsListConfig.__init__ (   self)

Definition at line 6 of file GoodRunsListConfig.py.

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

Member Function Documentation

◆ getctag()

def python.GoodRunsListConfig.GoodRunsListConfig.getctag (   self)

Definition at line 150 of file GoodRunsListConfig.py.

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

◆ getdqfolder()

def python.GoodRunsListConfig.GoodRunsListConfig.getdqfolder (   self)

Definition at line 109 of file GoodRunsListConfig.py.

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

◆ getparseddqflags()

def python.GoodRunsListConfig.GoodRunsListConfig.getparseddqflags (   self)

Definition at line 76 of file GoodRunsListConfig.py.

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

◆ getsearchquery()

def python.GoodRunsListConfig.GoodRunsListConfig.getsearchquery (   self)

Definition at line 47 of file GoodRunsListConfig.py.

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

◆ setctag()

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

Definition at line 147 of file GoodRunsListConfig.py.

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

◆ setdqctag()

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

Definition at line 130 of file GoodRunsListConfig.py.

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

◆ setdqfolder()

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

Definition at line 112 of file GoodRunsListConfig.py.

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

◆ setPrefix()

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

Definition at line 153 of file GoodRunsListConfig.py.

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

◆ Summary()

def python.GoodRunsListConfig.GoodRunsListConfig.Summary (   self)

Definition at line 36 of file GoodRunsListConfig.py.

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

Member Data Documentation

◆ dqfolder

python.GoodRunsListConfig.GoodRunsListConfig.dqfolder

Definition at line 13 of file GoodRunsListConfig.py.

◆ dqignore

python.GoodRunsListConfig.GoodRunsListConfig.dqignore

Definition at line 33 of file GoodRunsListConfig.py.

◆ listname

python.GoodRunsListConfig.GoodRunsListConfig.listname

Definition at line 10 of file GoodRunsListConfig.py.

◆ name

python.GoodRunsListConfig.GoodRunsListConfig.name

Definition at line 8 of file GoodRunsListConfig.py.

◆ prefix

python.GoodRunsListConfig.GoodRunsListConfig.prefix

Definition at line 11 of file GoodRunsListConfig.py.

◆ querydict

python.GoodRunsListConfig.GoodRunsListConfig.querydict

Definition at line 17 of file GoodRunsListConfig.py.

◆ querytool

python.GoodRunsListConfig.GoodRunsListConfig.querytool

Definition at line 9 of file GoodRunsListConfig.py.

◆ show

python.GoodRunsListConfig.GoodRunsListConfig.show

Definition at line 12 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:1054
MuonValidation_CreateSlides_config.Summary
list Summary
Definition: MuonValidation_CreateSlides_config.py:34
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
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:798
Trk::split
@ split
Definition: LayerMaterialProperties.h:38