ATLAS Offline Software
Loading...
Searching...
No Matches
python.GoodRunsListConfig.GoodRunsListConfig Class Reference
Collaboration diagram for python.GoodRunsListConfig.GoodRunsListConfig:

Public Member Functions

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

Public Attributes

str name = "GoodRunsListConfig"
str querytool = "AtlRunQuery.py"
str listname = "default.xml"
str prefix = ""
str show = ""
 show arguments
str dqfolder = "DEFECTS"
dict querydict = {}
list dqignore = []

Detailed Description

Definition at line 4 of file GoodRunsListConfig.py.

Constructor & Destructor Documentation

◆ __init__()

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()

python.GoodRunsListConfig.GoodRunsListConfig.getctag ( self)

Definition at line 149 of file GoodRunsListConfig.py.

149 def getctag(self):
150 return self.querydict.get('ctag', '')
151
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition hcg.cxx:130

◆ getdqfolder()

python.GoodRunsListConfig.GoodRunsListConfig.getdqfolder ( self)

Definition at line 108 of file GoodRunsListConfig.py.

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

◆ getparseddqflags()

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
std::map< std::string, std::string > parse(const std::string &list)
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition hcg.cxx:177

◆ getsearchquery()

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()

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()

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()

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()

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()

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 = "DEFECTS"

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 = "default.xml"

Definition at line 9 of file GoodRunsListConfig.py.

◆ name

python.GoodRunsListConfig.GoodRunsListConfig.name = "GoodRunsListConfig"

Definition at line 7 of file GoodRunsListConfig.py.

◆ prefix

str python.GoodRunsListConfig.GoodRunsListConfig.prefix = ""

Definition at line 10 of file GoodRunsListConfig.py.

◆ querydict

dict python.GoodRunsListConfig.GoodRunsListConfig.querydict = {}

Definition at line 16 of file GoodRunsListConfig.py.

◆ querytool

python.GoodRunsListConfig.GoodRunsListConfig.querytool = "AtlRunQuery.py"

Definition at line 8 of file GoodRunsListConfig.py.

◆ show

python.GoodRunsListConfig.GoodRunsListConfig.show = ""

show arguments

Definition at line 11 of file GoodRunsListConfig.py.


The documentation for this class was generated from the following file: