CMS 3D CMS Logo

Functions
normDML Namespace Reference

Functions

def allNorms (schema)
 Norm/Correction/version DML API # # Author: Zhen Xie #. More...
 
def createNorm (schema, normname, lumitype, istypedefault, branchinfo, comment='')
 
def demoteNormFromTypeDefault (schema, normname, lumitype)
 
def exportNormValue (schema, sourcenormname, destnormname, firstsince=None, lastsince=None)
 copy/export/import More...
 
def insertValueToNormId (schema, normdataid, sincerun, corrector, amodetag, egev, parameters, comment='')
 
def normIdByName (schema, normname)
 
def normIdByType (schema, lumitype='HF', defaultonly=True)
 
def normInfoByName (schema, normname)
 
def normValueById (schema, normid)
 
def promoteNormToTypeDefault (schema, normname, lumitype)
 

Function Documentation

def normDML.allNorms (   schema)

Norm/Correction/version DML API # # Author: Zhen Xie #.

list all lumi norms
select DATA_ID,ENTRY_NAME,LUMITYPE,ISTYPEDEFAULT,COMMENT,CTIME FROM LUMINORMSV2
output:
{normname:[data_id,lumitype,istypedefault,comment,creationtime]}

Definition at line 13 of file normDML.py.

References data, nameDealer.luminormv2TableName(), and GetRecoTauVFromDQM_MC_cff.next.

13 def allNorms(schema):
14  '''
15  list all lumi norms
16  select DATA_ID,ENTRY_NAME,LUMITYPE,ISTYPEDEFAULT,COMMENT,CTIME FROM LUMINORMSV2
17  output:
18  {normname:[data_id,lumitype,istypedefault,comment,creationtime]}
19  '''
20  result={}
21  qHandle=schema.newQuery()
22  try:
23  qHandle.addToTableList( nameDealer.luminormv2TableName() )
24  qHandle.addToOutputList('DATA_ID')
25  qHandle.addToOutputList('ENTRY_NAME')
26  qHandle.addToOutputList('LUMITYPE')
27  qHandle.addToOutputList('ISTYPEDEFAULT')
28  qHandle.addToOutputList('COMMENT')
29  qHandle.addToOutputList('TO_CHAR(CTIME,\'MM/DD/YY HH24:MI\')','creationtime')
30  qResult=coral.AttributeList()
31  qResult.extend('DATA_ID','unsigned long long')
32  qResult.extend('ENTRY_NAME','string')
33  qResult.extend('LUMITYPE','string')
34  qResult.extend('ISTYPEDEFAULT','unsigned int')
35  qResult.extend('COMMENT','string')
36  qResult.extend('creationtime','string')
37  qHandle.defineOutput(qResult)
38  cursor=qHandle.execute()
39  while next(cursor):
40  normname=cursor.currentRow()['ENTRY_NAME'].data()
41  if normname not in result:
42  result[normname]=[]
43  dataid=cursor.currentRow()['DATA_ID'].data()
44  lumitype=cursor.currentRow()['LUMITYPE'].data()
45  istypedefault=cursor.currentRow()['ISTYPEDEFAULT'].data()
46  comment=''
47  if not cursor.currentRow()['COMMENT'].isNull():
48  comment=cursor.currentRow()['COMMENT'].data()
49  creationtime=cursor.currentRow()['creationtime'].data()
50  if len(result[normname])==0:
51  result[normname]=[dataid,lumitype,istypedefault,comment,creationtime]
52  elif len(result[normname])!=0 and dataid>result[normname][0]:
53  result[normname]=[dataid,lumitype,istypedefault,comment,creationtime]
54  except :
55  del qHandle
56  raise
57  del qHandle
58  return result
59 
def luminormv2TableName()
Definition: nameDealer.py:40
def allNorms(schema)
Norm/Correction/version DML API # # Author: Zhen Xie #.
Definition: normDML.py:13
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
def normDML.createNorm (   schema,
  normname,
  lumitype,
  istypedefault,
  branchinfo,
  comment = '' 
)
branchinfo(normrevisionid,branchname)    

Definition at line 223 of file normDML.py.

References revisionDML.addEntry(), revisionDML.addRevision(), revisionDML.bookNewEntry(), revisionDML.bookNewRevision(), revisionDML.entryInBranch(), and nameDealer.luminormv2TableName().

223 def createNorm(schema,normname,lumitype,istypedefault,branchinfo,comment=''):
224  '''
225  branchinfo(normrevisionid,branchname)
226  '''
227  try:
228  entry_id=revisionDML.entryInBranch(schema,nameDealer.luminormv2TableName(),normname,branchinfo[1])
229  if entry_id is None:
230  (revision_id,entry_id,data_id)=revisionDML.bookNewEntry(schema,nameDealer.luminormv2TableName())
231  entryinfo=(revision_id,entry_id,normname,data_id)
232  revisionDML.addEntry(schema,nameDealer.luminormv2TableName(),entryinfo,branchinfo)
233  else:
234  (revision_id,data_id)=revisionDML.bookNewRevision( schema,nameDealer.luminormv2TableName() )
235  revisionDML.addRevision(schema,nameDealer.luminormv2TableName(),(revision_id,data_id),branchinfo)
236  tabrowDefDict={'DATA_ID':'unsigned long long','ENTRY_ID':'unsigned long long','ENTRY_NAME':'string','LUMITYPE':'string','ISTYPEDEFAULT':'unsigned int','COMMENT':'string','CTIME':'time stamp'}
237  tabrowValueDict={'DATA_ID':data_id,'ENTRY_ID':entry_id,'ENTRY_NAME':normname,'LUMITYPE':lumitype,'ISTYPEDEFAULT':istypedefault,'COMMENT':comment,'CTIME':coral.TimeStamp()}
238  db=dbUtil.dbUtil(schema)
239  db.insertOneRow(nameDealer.luminormv2TableName(),tabrowDefDict,tabrowValueDict)
240  return (revision_id,entry_id,data_id)
241  except :
242  raise
243 
def luminormv2TableName()
Definition: nameDealer.py:40
def addEntry(schema, datatableName, entryinfo, branchinfo)
Definition: revisionDML.py:342
def entryInBranch(schema, datatableName, entryname, branch)
Definition: revisionDML.py:188
def createNorm(schema, normname, lumitype, istypedefault, branchinfo, comment='')
Definition: normDML.py:223
def bookNewRevision(schema, datatableName)
Definition: revisionDML.py:330
def bookNewEntry(schema, datatableName)
Definition: revisionDML.py:316
def addRevision(schema, datatableName, revisioninfo, branchinfo)
Definition: revisionDML.py:394
def normDML.demoteNormFromTypeDefault (   schema,
  normname,
  lumitype 
)
demote norm from typedefault to non default

Definition at line 244 of file normDML.py.

References nameDealer.luminormv2TableName(), and normIdByName().

244 def demoteNormFromTypeDefault(schema,normname,lumitype):
245  '''
246  demote norm from typedefault to non default
247  '''
248  try:
249  thisnormid=normIdByName(schema,normname)
250  if not thisnormid:
251  raise ValueError(normname+' does not exist, nothing to update')
252  setClause='ISTYPEDEFAULT=0'
253  updateCondition='DATA_ID=:thisnormid AND LUMITYPE=:lumitype'
254  inputData=coral.AttributeList()
255  inputData.extend('thisnormid','unsigned long long')
256  inputData.extend('LUMITYPE','string')
257  inputData['thisnormid'].setData(thisnormid)
258  inputData['LUMITYPE'].setData(lumitype)
259  db=dbUtil.dbUtil(schema)
260  db.singleUpdate(nameDealer.luminormv2TableName(),setClause,updateCondition,inputData)
261  except :
262  raise
263 
def normIdByName(schema, normname)
Definition: normDML.py:60
def luminormv2TableName()
Definition: nameDealer.py:40
def demoteNormFromTypeDefault(schema, normname, lumitype)
Definition: normDML.py:244
def normDML.exportNormValue (   schema,
  sourcenormname,
  destnormname,
  firstsince = None,
  lastsince = None 
)

copy/export/import

copy specified piece of source norm to dest
input:
   time boundary [firstsince, lastsince]
   if None: open 

Definition at line 339 of file normDML.py.

References insertValueToNormId(), normIdByName(), and normValueById().

339 def exportNormValue(schema,sourcenormname,destnormname,firstsince=None,lastsince=None):
340  '''
341  copy specified piece of source norm to dest
342  input:
343  time boundary [firstsince, lastsince]
344  if None: open
345  '''
346  copysince=0
347  if firstsince:
348  copysince=firstsince
349  copylastsince=4294967295
350  if lastsince:
351  copylastsince=lastsince
352  try:
353  destnormid=normIdByName(schema,destnornmae)
354  if not destnormid:
355  raise RuntimeError('[ERROR] destnorm does not exist')
356  sourcenormid=normIdByName(schema,sourcenorname)
357  if not sourcenormid:
358  raise RuntimeError('[ERROR] sourcenorm does not exist')
359  normvalueDict=normValueById(schema,sourcenormid) #{since:[corrector,{paramname:paramvalue},amodetag,egev,comment]}
360  for sincerun,normvalue in normvalueDict.items():
361  if sincerun>copysince and sincerun<copylastsince:
362  corrector=normvalue[0]
363  parameters=normvalue[1]
364  amodetag=normvalue[2]
365  egev=normvalue[3]
366  comment=normvalue[4]
367  insertValueToNormId(schema,destnormid,sincerun,corrector,amodetag,egev,comment=comment)
368  except:
369  raise
370 
def normIdByName(schema, normname)
Definition: normDML.py:60
def exportNormValue(schema, sourcenormname, destnormname, firstsince=None, lastsince=None)
copy/export/import
Definition: normDML.py:339
def insertValueToNormId(schema, normdataid, sincerun, corrector, amodetag, egev, parameters, comment='')
Definition: normDML.py:298
def normValueById(schema, normid)
Definition: normDML.py:181
def normDML.insertValueToNormId (   schema,
  normdataid,
  sincerun,
  corrector,
  amodetag,
  egev,
  parameters,
  comment = '' 
)
insert into LUMINORMSV2DATA(DATA_ID,SINCERUN,CORRECTOR,...) values(normdataid,)sincerun,corrector,...);
require len(parameters)>=1.
input:
  parameterDict {'NORM_OCC1':normocc1,'NORM_OCC2':normocc2,'NORM_ET':normet,'NORM_PU':normpu,'DRIFT':drift,'A1':a1,...}
output:

Definition at line 298 of file normDML.py.

References objects.autophobj.float, and nameDealer.luminormv2dataTableName().

Referenced by exportNormValue().

298 def insertValueToNormId(schema,normdataid,sincerun,corrector,amodetag,egev,parameters,comment=''):
299  '''
300  insert into LUMINORMSV2DATA(DATA_ID,SINCERUN,CORRECTOR,...) values(normdataid,)sincerun,corrector,...);
301  require len(parameters)>=1.
302  input:
303  parameterDict {'NORM_OCC1':normocc1,'NORM_OCC2':normocc2,'NORM_ET':normet,'NORM_PU':normpu,'DRIFT':drift,'A1':a1,...}
304  output:
305  '''
306  if len(parameters)==0:
307  raise ValueError('appendValueToNormId: at least one value is required')
308  try:
309  db=dbUtil.dbUtil(schema)
310  tabrowDefDict={}
311  tabrowDefDict['DATA_ID']='unsigned long long'
312  tabrowDefDict['CORRECTOR']='string'
313  tabrowDefDict['SINCE']='unsigned int'
314  tabrowDefDict['AMODETAG']='string'
315  tabrowDefDict['NOMINALEGEV']='unsigned int'
316  tabrowDefDict['COMMENT']='string'
317  tabrowValueDict={}
318  tabrowValueDict['DATA_ID']=normdataid
319  tabrowValueDict['CORRECTOR']=corrector
320  tabrowValueDict['SINCE']=sincerun
321  tabrowValueDict['AMODETAG']=amodetag
322  tabrowValueDict['NOMINALEGEV']=egev
323  tabrowValueDict['COMMENT']=comment
324  for paramname,paramvalue in parameters.items():
325  try:
326  floatparam=float(paramvalue)
327  tabrowDefDict[paramname.upper()]='float'
328  tabrowValueDict[paramname.upper()]=float(paramvalue)
329  except ValueError:
330  tabrowDefDict[paramname.upper()]='string'
331  tabrowValueDict[paramname.upper()]=paramvalue
332  db.insertOneRow(nameDealer.luminormv2dataTableName(),tabrowDefDict,tabrowValueDict)
333  except:
334  raise
def insertValueToNormId(schema, normdataid, sincerun, corrector, amodetag, egev, parameters, comment='')
Definition: normDML.py:298
def luminormv2dataTableName()
Definition: nameDealer.py:43
def normDML.normIdByName (   schema,
  normname 
)
select max(DATA_ID) FROM LUMINORMSV2 WHERE ENTRY_NAME=:normname

Definition at line 60 of file normDML.py.

References data, nameDealer.luminormv2TableName(), SiStripPI.max, and GetRecoTauVFromDQM_MC_cff.next.

Referenced by demoteNormFromTypeDefault(), exportNormValue(), promoteNormToTypeDefault(), and lumi::NormDML.~NormDML().

60 def normIdByName(schema,normname):
61  '''
62  select max(DATA_ID) FROM LUMINORMSV2 WHERE ENTRY_NAME=:normname
63  '''
64  luminormids=[]
65  result=None
66  qHandle=schema.newQuery()
67  try:
68  qHandle.addToTableList( nameDealer.luminormv2TableName() )
69  qHandle.addToOutputList('DATA_ID')
70  if normname:
71  qConditionStr='ENTRY_NAME=:normname '
72  qCondition=coral.AttributeList()
73  qCondition.extend('normname','string')
74  qCondition['normname'].setData(normname)
75  qResult=coral.AttributeList()
76  qResult.extend('DATA_ID','unsigned long long')
77  qHandle.defineOutput(qResult)
78  if normname:
79  qHandle.setCondition(qConditionStr,qCondition)
80  cursor=qHandle.execute()
81  while next(cursor):
82  dataid=cursor.currentRow()['DATA_ID'].data()
83  luminormids.append(dataid)
84  except :
85  del qHandle
86  raise
87  del qHandle
88  if len(luminormids) !=0:
89  return max(luminormids)
90  return result
91 
def normIdByName(schema, normname)
Definition: normDML.py:60
def luminormv2TableName()
Definition: nameDealer.py:40
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
def normDML.normIdByType (   schema,
  lumitype = 'HF',
  defaultonly = True 
)
select max(DATA_ID) FROM LUMINORMSV2 WHERE LUMITYPE=:lumitype
output:
    luminormidmap {normname:normid}

Definition at line 92 of file normDML.py.

References data, createfilelist.int, nameDealer.luminormv2TableName(), and GetRecoTauVFromDQM_MC_cff.next.

Referenced by promoteNormToTypeDefault(), and lumi::NormDML.~NormDML().

92 def normIdByType(schema,lumitype='HF',defaultonly=True):
93  '''
94  select max(DATA_ID) FROM LUMINORMSV2 WHERE LUMITYPE=:lumitype
95  output:
96  luminormidmap {normname:normid}
97  '''
98  luminormidmap={}
99  qHandle=schema.newQuery()
100  try:
101  qHandle.addToTableList( nameDealer.luminormv2TableName() )
102  qHandle.addToOutputList('DATA_ID')
103  qHandle.addToOutputList('ENTRY_NAME')
104  qConditionStr='LUMITYPE=:lumitype'
105  qCondition=coral.AttributeList()
106  qCondition.extend('lumitype','string')
107  qCondition['lumitype'].setData(lumitype)
108  if defaultonly:
109  qConditionStr+=' AND ISTYPEDEFAULT=:istypedefault'
110  qCondition.extend('istypedefault','unsigned int')
111  qCondition['istypedefault'].setData(int(1))
112  qResult=coral.AttributeList()
113  qResult.extend('DATA_ID','unsigned long long')
114  qResult.extend('ENTRY_NAME','string')
115  qHandle.defineOutput(qResult)
116  qHandle.setCondition(qConditionStr,qCondition)
117  cursor=qHandle.execute()
118  while next(cursor):
119  if not cursor.currentRow()['DATA_ID'].isNull():
120  dataid=cursor.currentRow()['DATA_ID'].data()
121  normname=cursor.currentRow()['ENTRY_NAME'].data()
122  if normname not in luminormidmap:
123  luminormidmap[normname]=dataid
124  else:
125  if dataid>luminormidmap[normname]:
126  luminormidmap[normname]=dataid
127  except :
128  del qHandle
129  raise
130  del qHandle
131  return luminormidmap
132 
def luminormv2TableName()
Definition: nameDealer.py:40
def normIdByType(schema, lumitype='HF', defaultonly=True)
Definition: normDML.py:92
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
def normDML.normInfoByName (   schema,
  normname 
)
select DATA_ID,LUMITYPE,ISTYPEDEFAULT,COMMENT,TO_CHAR(CTIME,\'MM/DD/YY HH24:MI\') FROM LUMINORMS WHERE ENTRY_NAME=:normname
output:
    [data_id[0],lumitype[1],istypedefault[2],comment[3],creationtime[4]]

Definition at line 133 of file normDML.py.

References data, nameDealer.luminormv2TableName(), SiStripPI.max, and GetRecoTauVFromDQM_MC_cff.next.

133 def normInfoByName(schema,normname):
134  '''
135  select DATA_ID,LUMITYPE,ISTYPEDEFAULT,COMMENT,TO_CHAR(CTIME,\'MM/DD/YY HH24:MI\') FROM LUMINORMS WHERE ENTRY_NAME=:normname
136  output:
137  [data_id[0],lumitype[1],istypedefault[2],comment[3],creationtime[4]]
138  '''
139  result={}
140  qHandle=schema.newQuery()
141  try:
142  qHandle.addToTableList( nameDealer.luminormv2TableName() )
143  qHandle.addToOutputList('DATA_ID')
144  qHandle.addToOutputList('LUMITYPE')
145  qHandle.addToOutputList('ISTYPEDEFAULT')
146  qHandle.addToOutputList('COMMENT')
147  qHandle.addToOutputList('TO_CHAR(CTIME,\'MM/DD/YY HH24:MI\')','ctime')
148  qConditionStr='ENTRY_NAME=:normname'
149  qCondition=coral.AttributeList()
150  qCondition.extend('normname','string')
151  qCondition['normname'].setData(normname)
152  qResult=coral.AttributeList()
153  qResult.extend('DATA_ID','unsigned long long')
154  qResult.extend('LUMITYPE','string')
155  qResult.extend('ISTYPEDEFAULT','unsigned int')
156  qResult.extend('COMMENT','string')
157  qResult.extend('ctime','string')
158  qHandle.defineOutput(qResult)
159  qHandle.setCondition(qConditionStr,qCondition)
160  cursor=qHandle.execute()
161  while next(cursor):
162  if not cursor.currentRow()['DATA_ID'].isNull():
163  dataid=cursor.currentRow()['DATA_ID'].data()
164  else:
165  continue
166  lumitype=cursor.currentRow()['LUMITYPE'].data()
167  istypedefault=cursor.currentRow()['ISTYPEDEFAULT'].data()
168  comment=''
169  if not cursor.currentRow()['COMMENT'].isNull():
170  comment=cursor.currentRow()['COMMENT'].data()
171  creationtime=cursor.currentRow()['ctime'].data()
172  if dataid not in result:
173  result[dataid]=[dataid,lumitype,istypedefault,comment,creationtime]
174  except :
175  del qHandle
176  raise
177  if len(result)>0:
178  maxdataid=max(result.keys())
179  return result[maxdataid]
180  return result
def normInfoByName(schema, normname)
Definition: normDML.py:133
def luminormv2TableName()
Definition: nameDealer.py:40
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
def normDML.normValueById (   schema,
  normid 
)
select * from luminormsv2data where data_id=normid
output:
    {since:[corrector(0),{paramname:paramvalue}(1),amodetag(2),egev(3),comment(4)]}

Definition at line 181 of file normDML.py.

References data, nameDealer.luminormv2dataTableName(), GetRecoTauVFromDQM_MC_cff.next, and CommonUtil.parselumicorrector().

Referenced by exportNormValue().

181 def normValueById(schema,normid):
182  '''
183  select * from luminormsv2data where data_id=normid
184  output:
185  {since:[corrector(0),{paramname:paramvalue}(1),amodetag(2),egev(3),comment(4)]}
186  '''
187  result={}
189  paramdict={}
190  qHandle=schema.newQuery()
191  try:
192  qHandle.addToTableList(l)
193  qConditionStr='DATA_ID=:normid'
194  qCondition=coral.AttributeList()
195  qCondition.extend('normid','unsigned long long')
196  qCondition['normid'].setData(normid)
197  qResult=coral.AttributeList()
198  qHandle.setCondition(qConditionStr,qCondition)
199  cursor=qHandle.execute()
200  while next(cursor):
201  since=cursor.currentRow()['SINCE'].data()
202  corrector=cursor.currentRow()['CORRECTOR'].data()
203  amodetag=cursor.currentRow()['AMODETAG'].data()
204  nominalegev=cursor.currentRow()['NOMINALEGEV'].data()
205  comment=''
206  if not cursor.currentRow()['COMMENT'].isNull():
207  comment=cursor.currentRow()['COMMENT'].data()
208  (correctorfunc,params)=CommonUtil.parselumicorrector(corrector)
209  paramdict={}
210  for param in params:
211  paramvalue=0.0
212  if not cursor.currentRow()[param.upper()].isNull():
213  paramvalue=cursor.currentRow()[param.upper()].data()
214  paramdict[param]=paramvalue
215  result[since]=[correctorfunc,paramdict,amodetag,nominalegev,comment]
216  except:
217  raise
218  return result
219 
220 #=======================================================
221 # INSERT/UPDATE requires in update transaction
222 #=======================================================
def luminormv2dataTableName()
Definition: nameDealer.py:43
def normValueById(schema, normid)
Definition: normDML.py:181
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
def parselumicorrector(correctorStr)
Definition: CommonUtil.py:271
def normDML.promoteNormToTypeDefault (   schema,
  normname,
  lumitype 
)
set the named norm as default for a given type,reset the old default if any
thisnormid=normIdByName(schema,normname)
olddefaultid=normIdByType(schema,lumitype=lumitype,defaultonly=True)
if thisnormid:
    update LUMINORMSV2 set ISTYPEDEFAULT=1 where DATA_ID=:thisnormid
else:
    raise ValueError('normname does not exist, nothing to update')
if olddefaultid and olddefaultid!=thisnormid:
    update LUMINORMSV2 set ISTYPEDEFAULT=0 where DATA_ID=:olddefaultid

Definition at line 264 of file normDML.py.

References normIdByName(), and normIdByType().

264 def promoteNormToTypeDefault(schema,normname,lumitype):
265  '''
266  set the named norm as default for a given type,reset the old default if any
267  thisnormid=normIdByName(schema,normname)
268  olddefaultid=normIdByType(schema,lumitype=lumitype,defaultonly=True)
269  if thisnormid:
270  update LUMINORMSV2 set ISTYPEDEFAULT=1 where DATA_ID=:thisnormid
271  else:
272  raise ValueError('normname does not exist, nothing to update')
273  if olddefaultid and olddefaultid!=thisnormid:
274  update LUMINORMSV2 set ISTYPEDEFAULT=0 where DATA_ID=:olddefaultid
275  '''
276  try:
277  thisnormid=normIdByName(schema,normname)
278  olddefaultid=normIdByType(schema,lumitype=lumitype,defaultonly=True)
279  if not thisnormid:
280  raise ValueError(normname+' does not exist, nothing to update')
281  setClause='ISTYPEDEFAULT=1'
282  updateCondition='DATA_ID=:thisnormid'
283  inputData=coral.AttributeList()
284  inputData.extend('thisnormid','unsigned long long')
285  inputData['thisnormid'].setData(thisnormid)
286  db=dbUtil.dbUtil(schema)
287  db.singleUpdate(nameDealer.luminormTable(),setClause,updateCondition,inputData)
288  if olddefaultid:
289  setClause='ISTYPEDEFAULT=0'
290  updateCondition='DATA_ID=:olddefaultid'
291  inputData=coral.AttributeList()
292  inputData.extend('olddefaultid','unsigned long long')
293  inputData['olddefaultid'].setData(olddefaultid)
294  db=dbUtil.dbUtil(schema)
295  db.singleUpdate(nameDealer.luminormTable(),setClause,updateCondition,inputData)
296  except :
297  raise
def normIdByName(schema, normname)
Definition: normDML.py:60
def normIdByType(schema, lumitype='HF', defaultonly=True)
Definition: normDML.py:92
def promoteNormToTypeDefault(schema, normname, lumitype)
Definition: normDML.py:264