2 from RecoLuminosity.LumiDB
import nameDealer,dbUtil,revisionDML,lumiTime
12 def runList(schema,fillnum=None,runmin=None,runmax=None,startT=None,stopT=None,l1keyPattern=None,hltkeyPattern=None,amodetag=None,nominalEnergy=None,energyFlut=0.2,requiretrg=True,requirehlt=True):
14 select runnum from cmsrunsummary r,lumidata l,trgdata t,hltdata h where r.runnum=l.runnum and l.runnum=t.runnum and t.runnum=h.runnum and r.fillnum=:fillnum and r.runnum>:runmin and r.runnum<:runmax and r.starttime>=:startT and r.stopTime<=:stopT and r.amodetag=:amodetag and regexp_like(r.l1key,:l1keypattern) and regexp_like(hltkey,:hltkeypattern) and l.nominalEnergy>=:nominalEnergy*(1-energyFlut) and l.nominalEnergy<=:nominalEnergy*(1+energyFlut)
17 qHandle=schema.newQuery()
23 qHandle.addToTableList(r)
24 qHandle.addToTableList(l)
26 qHandle.addToTableList(t)
28 qHandle.addToTableList(h)
29 qConditionStr=r+
'.runnum='+l+
'.runnum and '+l+
'.runnum='+t+
'.runnum and '+t+
'.runnum='+h+
'.runnum'
30 qCondition=coral.AttributeList()
32 qConditionStr+=
' and '+r+
'.fillnum=:fillnum'
33 qCondition.extend(
'fillnum',
'unsigned int')
34 qCondition[
'fillnum'].setData(fillnum)
36 qConditionStr+=
' and '+r+
'.runnum>=:runmin'
37 qCondition.extend(
'runmin',
'unsigned int')
38 qCondition[
'runmin'].setData(runmin)
40 qConditionStr+=
' and '+r+
'.runnum<=:runmax'
41 qCondition.extend(
'runmax',
'unsigned int')
42 qCondition[
'runmax'].setData(runmax)
44 qConditionStr+=
' and '+r+
'.starttime>=:startT'
45 qCondition.extend(
'start',
'time stamp')
46 qCondition[
'startT'].setData(startT)
48 qConditionStr+=
' and '+r+
'.stoptime<=:stopT'
49 qCondition.extend(
'stop',
'time stamp')
50 qCondition[
'stop'].setData(stopT)
52 qConditionStr+=
' and '+r+
'.amodetag=:amodetag'
53 qCondition.extend(
'amodetag',
'string')
54 qCondition[
'amodetag'].setData(amodetag)
56 qConditionStr+=
' and regexp_like('+r+
'.l1key,:l1keypattern)'
57 qCondition.extend(
'l1keypattern',
'string')
58 qCondition[
'l1keypattern'].setData(l1keyPattern)
60 qConditionStr+=
' and regexp_like('+r+
'.hltkey,:hltkeypattern)'
61 qCondition.extend(
'hltkeypattern',
'string')
62 qCondition[
'hltkeypattern'].setData(hltkeyPattern)
64 emin=nominalEnergy*(1.0-energyFlut)
65 emax=nominalEnergy*(1.0+energyFlut)
66 qConditionStr+=
' and '+l+
'.nominalegev>=:emin and '+l+
'.nominalegev<=:emax'
67 qCondition.extend(
'emin',
'float')
68 qCondition.extend(
'emax',
'float')
69 qCondition[
'emin'].setData(emin)
70 qCondition[
'emax'].setData(emax)
71 qResult=coral.AttributeList()
72 qResult.extend(
'runnum',
'unsigned int')
73 qHandle.defineOutput(qResult)
74 qHandle.setCondition(qConditionStr,qCondition)
75 qHandle.addToOutputList(r+
'.RUNNUM',
'runnum')
76 cursor=qHandle.execute()
78 result.append(cursor.currentRow()[
'runnum'].
data())
87 select l1key,amodetag,egev,hltkey,fillnum,sequence,to_char(starttime),to_char(stoptime) from cmsrunsummary where runnum=:runnum
88 output: [l1key,amodetag,egev,hltkey,fillnum,sequence,starttime,stoptime]
91 qHandle=schema.newQuery()
95 qCondition=coral.AttributeList()
96 qCondition.extend(
'runnum',
'unsigned int')
97 qCondition[
'runnum'].setData(int(runnum))
98 qHandle.addToOutputList(
'L1KEY',
'l1key')
99 qHandle.addToOutputList(
'AMODETAG',
'amodetag')
100 qHandle.addToOutputList(
'EGEV',
'egev')
101 qHandle.addToOutputList(
'HLTKEY',
'hltkey')
102 qHandle.addToOutputList(
'FILLNUM',
'fillnum')
103 qHandle.addToOutputList(
'SEQUENCE',
'sequence')
104 if sessionflavor==
'SQLite':
105 qHandle.addToOutputList(
'STARTTIME',
'starttime')
106 qHandle.addToOutputList(
'STOPTIME',
'stoptime')
108 qHandle.addToOutputList(
'to_char(STARTTIME,\''+t.coraltimefm+
'\')',
'starttime')
109 qHandle.addToOutputList(
'to_char(STOPTIME,\''+t.coraltimefm+
'\')',
'stoptime')
110 qHandle.setCondition(
'RUNNUM=:runnum',qCondition)
111 qResult=coral.AttributeList()
112 qResult.extend(
'l1key',
'string')
113 qResult.extend(
'amodetag',
'string')
114 qResult.extend(
'egev',
'unsigned int')
115 qResult.extend(
'hltkey',
'string')
116 qResult.extend(
'fillnum',
'unsigned int')
117 qResult.extend(
'sequence',
'string')
118 qResult.extend(
'starttime',
'string')
119 qResult.extend(
'stoptime',
'string')
120 qHandle.defineOutput(qResult)
121 cursor=qHandle.execute()
123 result.append(cursor.currentRow()[
'l1key'].
data())
124 result.append(cursor.currentRow()[
'amodetag'].
data())
125 result.append(cursor.currentRow()[
'egev'].
data())
126 result.append(cursor.currentRow()[
'hltkey'].
data())
127 result.append(cursor.currentRow()[
'fillnum'].
data())
128 result.append(cursor.currentRow()[
'sequence'].
data())
129 result.append(cursor.currentRow()[
'starttime'].
data())
130 result.append(cursor.currentRow()[
'stoptime'].
data())
139 this overview query should be only for norm
140 select e.name,max(n.data_id),r.revision_id , n.amodetag,n.norm_1,n.egev_1,n.norm_2,n.egev_2 from luminorms_entries e,luminorms_rev r,luminorms n where n.entry_id=e.entry_id and n.data_id=r.data_id and r.revision_id>=min(branchfilter) and r.revision_id<=max(branchfilter) group by e.entry_name,r.revision_id,n.amodetag,n.norm_1,n.egev_1,n.norm_2,n.egev_2;
141 output {norm_name:[data_id,amodetag,norm_1,egev_1,norm_2,egev_2]}
148 if branchfilter
and len(branchfilter)!=0:
149 branchmin=
min(branchfilter)
150 branchmax=
max(branchfilter)
153 qHandle=schema.newQuery()
158 qHandle.addToOutputList('e.NAME',
'normname')
159 qHandle.addToOutputList(
'max(r.DATA_ID)',
'data_id')
160 qHandle.addToOutputList(
'r.REVISION_ID',
'revision_id')
161 qHandle.addToOutputList(
'n.AMODETAG',
'amodetag')
162 qHandle.addToOutputList(
'n.NORM_1',
'norm_1')
163 qHandle.addToOutputList(
'n.EGEV_1',
'energy_1')
164 qHandle.addToOutputList(
'n.NORM_2',
'norm_2')
165 qHandle.addToOutputList(
'n.EGEV_2',
'energy_2')
166 qCondition=coral.AttributeList()
167 qCondition.extend(
'branchmin',
'unsigned long long')
168 qCondition.extend(
'branchmax',
'unsigned long long')
169 qCondition[
'branchmin'].setData(branchmin)
170 qCondition[
'branchmax'].setData(branchmax)
171 qResult=coral.AttributeList()
172 qResult.extend(
'normname',
'string')
173 qResult.extend(
'data_id',
'unsigned long long')
174 qResult.extend(
'revision_id',
'unsigned long long')
175 qResult.extend(
'amodetag',
'string')
176 qResult.extend(
'norm_1',
'float')
177 qResult.extend(
'energy_1',
'unsigned int')
178 qResult.extend(
'norm_2',
'float')
179 qResult.extend(
'energy_2',
'unsigned int')
180 qHandle.defineOutput(qResult)
181 qHandle.setCondition(
'n.ENTRY_ID=e.ENTRY_ID and n.DATA_ID=r.DATA_ID AND n.DATA_ID=r.DATA_ID AND r.REVISION_ID>=:branchmin AND r.REVISION_ID<=:branchmax',qCondition)
182 qHandle.groupBy(
'e.name,r.revision_id,n.amodetag,n.norm_1,n.egev_1,n.norm_2,n.egev_2')
183 cursor=qHandle.execute()
185 normname=cursor.currentRow()[
'normname'].
data()
186 amodetag=cursor.currentRow()[
'amodetag'].
data()
187 norm_1=cursor.currentRow()[
'norm_1'].
data()
188 energy_1=cursor.currentRow()[
'energy_1'].
data()
190 if cursor.currentRow()[
'norm_2'].
data():
191 norm_2=cursor.currentRow()[
'norm_2'].
data()
193 if cursor.currentRow()[
'energy_2'].
data():
194 energy_2=cursor.currentRow()[
'energy_2'].
data()
195 result[normname]=[amodetag,norm_1,energy_1,norm_2,energy_2]
201 select entry_name,amodetag,norm_1,egev_1,norm_2,egev_2 from luminorms where DATA_ID=:dataid
202 result [name(0),amodetag(1),norm_1(2),egev_1(3),norm_2(4),energy_2(5) ]
205 qHandle=schema.newQuery()
208 qHandle.addToOutputList(
'ENTRY_NAME',
'normname')
209 qHandle.addToOutputList(
'AMODETAG',
'amodetag')
210 qHandle.addToOutputList(
'NORM_1',
'norm_1')
211 qHandle.addToOutputList(
'EGEV_1',
'energy_1')
212 qHandle.addToOutputList(
'NORM_2',
'norm_2')
213 qHandle.addToOutputList(
'EGEV_2',
'energy_2')
214 qCondition=coral.AttributeList()
215 qCondition.extend(
'dataid',
'unsigned long long')
216 qCondition[
'dataid'].setData(dataid)
217 qResult=coral.AttributeList()
218 qResult.extend(
'normname',
'string')
219 qResult.extend(
'amodetag',
'string')
220 qResult.extend(
'norm_1',
'float')
221 qResult.extend(
'energy_1',
'unsigned int')
222 qResult.extend(
'norm_2',
'float')
223 qResult.extend(
'energy_2',
'unsigned int')
224 qHandle.defineOutput(qResult)
225 qHandle.setCondition(
'DATA_ID=:dataid',qCondition)
226 cursor=qHandle.execute()
228 normname=cursor.currentRow()[
'normname'].
data()
229 amodetag=cursor.currentRow()[
'amodetag'].
data()
230 norm_1=cursor.currentRow()[
'norm_1'].
data()
231 energy_1=cursor.currentRow()[
'energy_1'].
data()
233 if cursor.currentRow()[
'norm_2'].
data():
234 norm_2=cursor.currentRow()[
'norm_2'].
data()
236 if cursor.currentRow()[
'energy_2'].
data():
237 energy_2=cursor.currentRow()[
'energy_2'].
data()
238 result.extend([normname,amodetag,norm_1,energy_1,norm_2,energy_2])
247 select RUNNUM,SOURCE,BITZERONAME,BITNAMECLOB from trgdata where DATA_ID=:dataid
248 result [runnum(0),datasource(1),bitzeroname(2),bitnameclob(3)]
251 qHandle=schema.newQuery()
254 qHandle.addToOutputList(
'RUNNUM',
'runnum')
255 qHandle.addToOutputList(
'SOURCE',
'source')
256 qHandle.addToOutputList(
'BITZERONAME',
'bitzeroname')
257 qHandle.addToOutputList(
'BITNAMECLOB',
'bitnameclob')
258 qCondition=coral.AttributeList()
259 qCondition.extend(
'dataid',
'unsigned long long')
260 qCondition[
'dataid'].setData(dataid)
261 qResult=coral.AttributeList()
262 qResult.extend(
'runnum',
'unsigned int')
263 qResult.extend(
'source',
'string')
264 qResult.extend(
'bitzeroname',
'string')
265 qResult.extend(
'bitnameclob',
'string')
266 qHandle.defineOutput(qResult)
267 qHandle.setCondition(
'DATA_ID=:dataid',qCondition)
268 cursor=qHandle.execute()
270 runnum=cursor.currentRow()[
'runnum'].
data()
271 print 'runnum ',runnum
272 source=cursor.currentRow()[
'source'].
data()
273 print 'source ',source
274 bitzeroname=cursor.currentRow()[
'bitzeroname'].
data()
275 print 'bitzeroname ',bitzeroname
276 bitnameclob=cursor.currentRow()[
'bitnameclob'].
data()
277 print 'bitnameclob ',bitnameclob
279 result.extend([runnum,source,bitzeroname,bitnameclob])
288 result (runnum,{cmslsnum:[deadtimecount(0),bitzerocount(1),bitzeroprescale(2),deadfrac(3),prescalesblob(4),trgcountblob(5)]})
292 qHandle=schema.newQuery()
295 qHandle.addToOutputList(
'RUNNUM',
'runnum')
296 qHandle.addToOutputList(
'CMSLSNUM',
'cmslsnum')
297 qHandle.addToOutputList(
'DEADTIMECOUNT',
'deadtimecount')
298 qHandle.addToOutputList(
'BITZEROCOUNT',
'bitzerocount')
299 qHandle.addToOutputList(
'BITZEROPRESCALE',
'bitzeroprescale')
300 qHandle.addToOutputList(
'DEADFRAC',
'deadfrac')
302 qHandle.addToOutputList(
'PRESCALESBLOB',
'prescalesblob')
303 qHandle.addToOutputList(
'TRGCOUNTBLOB',
'trgcountblob')
304 qConditionStr=
'DATA_ID=:dataid'
305 qCondition=coral.AttributeList()
306 qCondition.extend(
'dataid',
'unsigned long long')
307 qCondition[
'dataid'].setData(dataid)
308 qResult=coral.AttributeList()
309 qResult.extend(
'runnum',
'unsigned int')
310 qResult.extend(
'cmslsnum',
'unsigned int')
311 qResult.extend(
'deadtimecount',
'unsigned long long')
312 qResult.extend(
'bitzerocount',
'unsigned int')
313 qResult.extend(
'bitzeroprescale',
'unsigned int')
314 qResult.extend(
'deadfrac',
'float')
316 qResult.extend(
'prescalesblob',
'blob')
317 qResult.extend(
'trgcountblob',
'blob')
318 qHandle.defineOutput(qResult)
319 qHandle.setCondition(qConditionStr,qCondition)
320 cursor=qHandle.execute()
322 runnum=cursor.currentRow()[
'runnum'].
data()
323 cmslsnum=cursor.currentRow()[
'cmslsnum'].
data()
324 deadtimecount=cursor.currentRow()[
'deadtimecount'].
data()
325 bitzerocount=cursor.currentRow()[
'bitzerocount'].
data()
326 bitzeroprescale=cursor.currentRow()[
'bitzeroprescale'].
data()
327 deadfrac=cursor.currentRow()[
'deadfrac'].
data()
328 if not result.has_key(cmslsnum):
330 result[cmslsnum].
append(deadtimecount)
331 result[cmslsnum].
append(bitzerocount)
332 result[cmslsnum].
append(bitzeroprescale)
333 result[cmslsnum].
append(deadfrac)
337 prescalesblob=cursor.currentRow()[
'prescalesblob']
338 trgcountblob=cursor.currentRow()[
'trgcountblob']
339 result[cmslsnum].extend([prescalesblob,trgcountblob])
344 return (runnum,result)
347 result [runnum(0),datasource(1)]
350 qHandle=schema.newQuery()
353 qHandle.addToOutputList(
'RUNNUM',
'runnum')
354 qHandle.addToOutputList(
'SOURCE',
'datasource')
355 qConditionStr=
'DATA_ID=:dataid'
356 qCondition=coral.AttributeList()
357 qCondition.extend(
'dataid',
'unsigned long long')
358 qCondition[
'dataid'].setData(dataid)
359 qResult=coral.AttributeList()
360 qResult.extend(
'runnum',
'unsigned int')
361 qResult.extend(
'datasource',
'string')
362 qHandle.defineOutput(qResult)
363 qHandle.setCondition(qConditionStr,qCondition)
364 cursor=qHandle.execute()
366 runnum=cursor.currentRow()[
'runnum'].
data()
367 datasource=cursor.currentRow()[
'datasource'].
data()
368 result.extend([runnum,datasource])
374 def lumiLSById(schema,dataid,beamstatus=None,beamenergy=None,beamenergyFluc=0.2,withBXInfo=False,bxAlgo='OCC1',withBeamIntensity=False):
376 result (runnum,{lumilsnum,[cmslsnum(0),instlumi(1),instlumierr(2),instlumiqlty(3),beamstatus(4),beamenergy(5),numorbit(6),startorbit(7),bxvalueblob(8),bxerrblob(9),bxindexblob(10),beam1intensity(11),beam2intensity(12)]})
380 qHandle=schema.newQuery()
381 if withBXInfo
and bxAlgo
not in [
'OCC1',
'OCC2',
'ET']:
382 raise ValueError(
'unknown lumi algo '+bxAlgo)
383 if beamstatus
and beamstatus
not in [
'STABLE BEAMS',]:
384 raise ValueError(
'unknown beam status '+beamstatus)
387 qHandle.addToOutputList(
'RUNNUM',
'runnum')
388 qHandle.addToOutputList(
'CMSLSNUM',
'cmslsnum')
389 qHandle.addToOutputList(
'LUMILSNUM',
'lumilsnum')
390 qHandle.addToOutputList(
'INSTLUMI',
'instlumi')
391 qHandle.addToOutputList(
'INSTLUMIERROR',
'instlumierr')
392 qHandle.addToOutputList(
'INSTLUMIQUALITY',
'instlumiqlty')
393 qHandle.addToOutputList(
'BEAMSTATUS',
'beamstatus')
394 qHandle.addToOutputList(
'BEAMENERGY',
'beamenergy')
395 qHandle.addToOutputList(
'NUMORBIT',
'numorbit')
396 qHandle.addToOutputList(
'STARTORBIT',
'startorbit')
398 qHandle.addToOutputList(
'BXLUMIVALUE_'+bxAlgo,
'bxvalue')
399 qHandle.addToOutputList(
'BXLUMIERROR_'+bxAlgo,
'bxerror')
400 if withBeamIntensity:
401 qHandle.addToOutputList(
'CMSBXINDEXBLOB',
'bxindexblob')
402 qHandle.addToOutputList(
'BEAMINTENSITYBLOB_1',
'beam1intensity')
403 qHandle.addToOutputList(
'BEAMINTENSITYBLOB_2',
'beam2intensity')
405 qConditionStr=
'DATA_ID=:dataid'
406 qCondition=coral.AttributeList()
407 qCondition.extend(
'dataid',
'unsigned long long')
408 qCondition[
'dataid'].setData(dataid)
410 qConditionStr+=
' and BEAMSTATUS=:beamstatus'
411 qCondition.extend(
'beamstatus',
'string')
412 qCondition[
'beamstatus'].setData(beamstatus)
414 emin=float(beamenergy)*(1.0-beamenergyFluc)
415 emax=float(beamenergy)*(1.0+beamenergyFluc)
416 qConditionStr+=
' and BEAMENERGY>=:emin and BEAMENERGY<=:emax'
417 qCondition.extend(
'beamenergy',
'float')
418 qCondition[
'emin'].setData(emin)
419 qCondition[
'emax'].setData(emax)
420 qResult=coral.AttributeList()
421 qResult.extend(
'runnum',
'unsigned int')
422 qResult.extend(
'cmslsnum',
'unsigned int')
423 qResult.extend(
'lumilsnum',
'unsigned int')
424 qResult.extend(
'instlumi',
'float')
425 qResult.extend(
'instlumierr',
'float')
426 qResult.extend(
'instlumiqlty',
'short')
427 qResult.extend(
'beamstatus',
'string')
428 qResult.extend(
'beamenergy',
'float')
429 qResult.extend(
'numorbit',
'unsigned int')
430 qResult.extend(
'startorbit',
'unsigned int')
432 qResult.extend(
'bxvalue',
'blob')
433 qResult.extend(
'bxerror',
'blob')
434 if withBeamIntensity:
435 qResult.extend(
'bxindexblob',
'blob')
436 qResult.extend(
'beam1intensity',
'blob')
437 qResult.extend(
'beam2intensity',
'blob')
438 qHandle.defineOutput(qResult)
439 qHandle.setCondition(qConditionStr,qCondition)
440 cursor=qHandle.execute()
442 runnum=cursor.currentRow()[
'runnum'].
data()
443 cmslsnum=cursor.currentRow()[
'cmslsnum'].
data()
444 lumilsnum=cursor.currentRow()[
'lumilsnum'].
data()
445 instlumi=cursor.currentRow()[
'instlumi'].
data()
446 instlumierr=cursor.currentRow()[
'instlumierr'].
data()
447 instlumiqlty=cursor.currentRow()[
'instlumiqlty'].
data()
448 beamstatus=cursor.currentRow()[
'beamstatus'].
data()
449 beamenergy=cursor.currentRow()[
'beamenergy'].
data()
450 numorbit=cursor.currentRow()[
'numorbit'].
data()
451 startorbit=cursor.currentRow()[
'startorbit'].
data()
455 bxvalueblob=cursor.currentRow()[
'bxvalue'].
data()
456 bxerrblob==cursor.currentRow()[
'bxerror'].
data()
460 if withBeamIntensity:
461 bxindexblob=cursor.currentRow()[
'bxindexblob'].
data()
462 beam1intensity=cursor.currentRow()[
'beam1intensity'].
data()
463 beam2intensity=cursor.currentRow()[
'beam2intensity'].
data()
464 if not result.has_key(lumilsnum):
466 result[lumilsnum].extend([cmslsnum,instlumi,instlumierr,instlumiqlty,beamstatus,beamenergy,numorbit,startorbit,bxvalueblob,bxerrblob,bxindexblob,beam1intensity,beam2intensity])
471 return (runnum,result)
474 result (runnum,{lumilsnum,[cmslsnum(0),beamstatus(1),beamenergy(2),beam1intensity(3),beam2intensity(4)]})
478 qHandle=schema.newQuery()
481 qHandle.addToOutputList(
'RUNNUM',
'runnum')
482 qHandle.addToOutputList(
'CMSLSNUM',
'cmslsnum')
483 qHandle.addToOutputList(
'LUMILSNUM',
'lumilsnum')
484 qHandle.addToOutputList(
'BEAMSTATUS',
'beamstatus')
485 qHandle.addToOutputList(
'BEAMENERGY',
'beamenergy')
486 qHandle.addToOutputList(
'CMSBXINDEXBLOB',
'bxindexblob')
487 qHandle.addToOutputList(
'BEAMINTENSITYBLOB_1',
'beam1intensity')
488 qHandle.addToOutputList(
'BEAMINTENSITYBLOB_2',
'beam2intensity')
489 qConditionStr=
'DATA_ID=:dataid'
490 qCondition=coral.AttributeList()
491 qCondition.extend(
'dataid',
'unsigned long long')
492 qCondition[
'dataid'].setData(dataid)
493 qResult=coral.AttributeList()
494 qResult.extend(
'runnum',
'unsigned int')
495 qResult.extend(
'cmslsnum',
'unsigned int')
496 qResult.extend(
'lumilsnum',
'unsigned int')
497 qResult.extend(
'beamstatus',
'string')
498 qResult.extend(
'beamenergy',
'float')
499 qResult.extend(
'bxindexblob',
'blob')
500 qResult.extend(
'beam1intensity',
'blob')
501 qResult.extend(
'beam2intensity',
'blob')
502 qHandle.defineOutput(qResult)
503 qHandle.setCondition(qConditionStr,qCondition)
504 cursor=qHandle.execute()
506 runnum=cursor.currentRow()[
'runnum'].
data()
507 cmslsnum=cursor.currentRow()[
'cmslsnum'].
data()
508 lumilsnum=cursor.currentRow()[
'lumilsnum'].
data()
509 beamstatus=cursor.currentRow()[
'beamstatus'].
data()
510 beamenergy=cursor.currentRow()[
'beamenergy'].
data()
511 bxindexblob=cursor.currentRow()[
'bxindexblob'].
data()
512 beam1intensity=cursor.currentRow()[
'beam1intensity'].
data()
513 beam2intensity=cursor.currentRow()[
'beam2intensity'].
data()
514 if not result.has_key(lumilsnum):
516 result[lumilsnum].extend([lumilsnum,beamstatus,beamenergy,bxindexblob,beam1intensity,beam2intensity])
521 return (runnum,result)
524 result {lumilsnum:[cmslsnum,numorbit,startorbit,bxlumivalue,bxlumierr,bxlumiqlty]}
527 qHandle=schema.newQuery()
530 qHandle.addToOutputList(
'CMSLSNUM',
'cmslsnum')
531 qHandle.addToOutputList(
'LUMILSNUM',
'lumilsnum')
533 qHandle.addToOutputList(
'NUMORBIT',
'numorbit')
534 qHandle.addToOutputList(
'STARTORBIT',
'startorbit')
535 qHandle.addToOutputList(
'BXLUMIVALUE_'+algoname,
'bxlumivalue')
536 qHandle.addToOutputList(
'BXLUMIERROR_'+algoname,
'bxlumierr')
537 qHandle.addToOutputList(
'BXLUMIQUALITY_'+algoname,
'bxlumiqlty')
538 qConditionStr=
'DATA_ID=:dataid'
539 qCondition=coral.AttributeList()
540 qCondition.extend(
'dataid',
'unsigned long long')
541 qCondition[
'dataid'].setData(dataid)
542 qResult=coral.AttributeList()
543 qResult.extend(
'cmslsnum',
'unsigned int')
544 qResult.extend(
'lumilsnum',
'unsigned int')
545 qResult.extend(
'numorbit',
'unsigned int')
546 qResult.extend(
'startorbit',
'unsigned int')
547 qResult.extend(
'bxlumivalue',
'blob')
548 qResult.extend(
'bxlumierr',
'blob')
549 qResult.extend(
'bxlumiqlty',
'blob')
550 qHandle.defineOutput(qResult)
551 qHandle.setCondition(qConditionStr,qCondition)
552 cursor=qHandle.execute()
554 cmslsnum=cursor.currentRow()[
'cmslsnum'].
data()
555 lumilsnum=cursor.currentRow()[
'lumilsnum'].
data()
556 numorbit=cursor.currentRow()[
'numorbit'].
data()
557 startorbit=cursor.currentRow()[
'startorbit'].
data()
558 bxlumivalue=cursor.currentRow()[
'bxlumivalue'].
data()
559 bxlumierr=cursor.currentRow()[
'bxlumierr'].
data()
560 bxlumiqlty=cursor.currentRow()[
'bxlumiqlty'].
data()
561 if not result.has_key(algoname):
563 if not result[algoname].has_key(lumilsnum):
564 result[algoname][lumilsnum]=[]
565 result[algoname][lumilsnum].extend([cmslsnum,numorbit,startorbit,bxlumivalue,bxlumierr,bxlumiqlty])
568 raise RuntimeError(
' dataDML.lumiBXById: '+str(e))
574 result [runnum(0),datasource(1),npath(2),pathnameclob(3)]
577 qHandle=schema.newQuery()
580 qHandle.addToOutputList(
'RUNNUM',
'runnum')
581 qHandle.addToOutputList(
'SOURCE',
'datasource')
582 qHandle.addToOutputList(
'NPATH',
'npath')
583 qHandle.addToOutputList(
'PATHNAMECLOB',
'pathnameclob')
584 qConditionStr=
'DATA_ID=:dataid'
585 qCondition=coral.AttributeList()
586 qCondition.extend(
'dataid',
'unsigned long long')
587 qCondition[
'dataid'].setData(dataid)
588 qResult=coral.AttributeList()
589 qResult.extend(
'runnum',
'unsigned int')
590 qResult.extend(
'datasource',
'string')
591 qResult.extend(
'npath',
'unsigned int')
592 qResult.extend(
'pathnameclob',
'string')
593 qHandle.defineOutput(qResult)
594 qHandle.setCondition(qConditionStr,qCondition)
595 cursor=qHandle.execute()
597 runnum=cursor.currentRow()[
'runnum'].
data()
598 datasource=cursor.currentRow()[
'datasource'].
data()
599 npath=cursor.currentRow()[
'npath'].
data()
600 pathnameclob=cursor.currentRow()[
'pathnameclob'].
data()
601 result.extend([runnum,datasource,npath,pathnameclob])
610 select m.hltkey,m.hltpathname,m.l1seed from cmsrunsummary r,trghltmap m where r.runnum=:runnum and m.hltkey=r.hltkey
611 output: {hltpath:l1seed}
614 queryHandle=schema.newQuery()
618 queryHandle.addToTableList(r)
619 queryHandle.addToTableList(m)
620 queryCondition=coral.AttributeList()
621 queryCondition.extend(
'runnum',
'unsigned int')
622 queryCondition[
'runnum'].setData(int(runnum))
624 queryHandle.addToOutputList(m+
'.HLTPATHNAME',
'hltpathname')
625 queryHandle.addToOutputList(m+
'.L1SEED',
'l1seed')
626 queryHandle.setCondition(r+
'.RUNNUM=:runnum and '+m+
'.HLTKEY='+r+
'.HLTKEY',queryCondition)
627 queryResult=coral.AttributeList()
629 queryResult.extend(
'hltpathname',
'string')
630 queryResult.extend(
'l1seed',
'string')
631 queryHandle.defineOutput(queryResult)
632 cursor=queryHandle.execute()
635 hltpathname=cursor.currentRow()[
'hltpathname'].
data()
636 l1seed=cursor.currentRow()[
'l1seed'].
data()
637 if not result.has_key(hltpathname):
638 result[hltpathname]=l1seed
647 result (runnum, {cmslsnum:[prescaleblob,hltcountblob,hltacceptblob]}
650 qHandle=schema.newQuery()
653 qHandle.addToOutputList(
'RUNNUM',
'runnum')
654 qHandle.addToOutputList(
'CMSLSNUM',
'cmslsnum')
655 qHandle.addToOutputList(
'PRESCALEBLOB',
'prescaleblob')
656 qHandle.addToOutputList(
'HLTCOUNTBLOB',
'hltcountblob')
657 qHandle.addToOutputList(
'HLTACCEPTBLOB',
'hltacceptblob')
658 qConditionStr=
'DATA_ID=:dataid'
659 qCondition=coral.AttributeList()
660 qCondition.extend(
'dataid',
'unsigned long long')
661 qCondition[
'dataid'].setData(dataid)
662 qResult=coral.AttributeList()
663 qResult.extend(
'runnum',
'unsigned int')
664 qResult.extend(
'cmslsnum',
'unsigned int')
665 qResult.extend(
'prescaleblob',
'blob')
666 qResult.extend(
'hltcountblob',
'blob')
667 qResult.extend(
'hltacceptblob',
'blob')
668 qHandle.defineOutput(qResult)
669 qHandle.setCondition(qConditionStr,qCondition)
670 cursor=qHandle.execute()
672 runnum=cursor.currentRow()[
'runnum'].
data()
673 cmslsnum=cursor.currentRow()[
'cmslsnum'].
data()
674 prescaleblob=cursor.currentRow()[
'prescaleblob'].
data()
675 hltcountblob=cursor.currentRow()[
'hltcountblob'].
data()
676 hltacceptblob=cursor.currentRow()[
'hltacceptblob'].
data()
677 if not result.has_key(cmslsnum):
679 result[cmslsnum].extend([prescaleblob,hltcountblob,hltacceptblob])
684 return (runnum,result)
687 get dataids by runnumber, if there are duplicates, pick max(dataid).Bypass full version lookups
688 result (lumidataid(0),trgdataid(1),hltdataid(2))
693 qHandle=schema.newQuery()
698 qHandle.addToOutputList(
'l.DATA_ID',
'lumidataid')
699 qHandle.addToOutputList(
't.DATA_ID',
'trgdataid')
700 qHandle.addToOutputList(
'h.DATA_ID',
'hltdataid')
701 qConditionStr=
'l.RUNNUM=t.RUNNUM and t.RUNNUM=h.RUNNUM and l.RUNNUM=:runnum '
702 qCondition=coral.AttributeList()
703 qCondition.extend(
'runnum',
'unsigned int')
704 qCondition[
'runnum'].setData(runnum)
705 qResult=coral.AttributeList()
706 qResult.extend(
'lumidataid',
'unsigned long long')
707 qResult.extend(
'trgdataid',
'unsigned long long')
708 qResult.extend(
'hltdataid',
'unsigned long long')
709 qHandle.defineOutput(qResult)
710 qHandle.setCondition(qConditionStr,qCondition)
711 cursor=qHandle.execute()
713 lumidataid=cursor.currentRow()[
'lumidataid'].
data()
714 trgdataid=cursor.currentRow()[
'trgdataid'].
data()
715 hltdataid=cursor.currentRow()[
'hltdataid'].
data()
716 lumiids.append(lumidataid)
717 trgids.append(trgdataid)
718 hltids.append(hltdataid)
723 return (
max(lumiids),
max(trgids),
max(hltids))
727 get norm dataids by amodetag, egev if there are duplicates, pick max(dataid).Bypass full version lookups
728 select data_id from luminorm where amodetag=:amodetag and egev_1=:egev1
731 qHandle=schema.newQuery()
734 qHandle.addToOutputList(
'DATA_ID',
'normdataid')
735 qConditionStr=
'AMODETAG=:amodetag AND EGEV_1=:egev1'
736 qCondition=coral.AttributeList()
737 qCondition.extend(
'amodetag',
'string')
738 qCondition.extend(
'egev1',
'unsigned int')
739 qCondition[
'amodetag'].setData(amodetag)
740 qCondition[
'egev1'].setData(egev1)
741 qResult=coral.AttributeList()
742 qResult.extend(
'normdataid',
'unsigned long long')
743 qHandle.defineOutput(qResult)
744 qHandle.setCondition(qConditionStr,qCondition)
745 cursor=qHandle.execute()
747 normdataid=cursor.currentRow()[
'normdataid'].
data()
748 luminormids.append(normdataid)
753 if len(luminormids) !=0:
return max(luminormids)
758 get norm dataids by name, if there are duplicates, pick max(dataid).Bypass full version lookups
759 select luminorm.data_id from luminorm where name=:normname
760 result luminormdataid
763 qHandle=schema.newQuery()
767 qHandle.addToOutputList(
'DATA_ID',
'normdataid')
768 qConditionStr=
'ENTRY_NAME=:normname '
769 qCondition=coral.AttributeList()
770 qCondition.extend(
'normname',
'string')
771 qCondition[
'normname'].setData(normname)
772 qResult=coral.AttributeList()
773 qResult.extend(
'normdataid',
'unsigned long long')
774 qHandle.defineOutput(qResult)
775 qHandle.setCondition(qConditionStr,qCondition)
776 cursor=qHandle.execute()
778 normdataid=cursor.currentRow()[
'normdataid'].
data()
779 luminormids.append(normdataid)
784 if len(luminormids) !=0:
return max(luminormids)
791 select el.entry_id,et.entry_id,eh.entry_id,el.revision_id,et.revision_id,eh.revision_id from lumidataentiries el,trgdataentries et,hltdataentries eh where el.name=et.name and et.name=eh.name and el.name=:entryname;
794 return [lumientryid,trgentryid,hltentryid]
797 qHandle=schema.newQuery()
806 qCondition=coral.AttributeList()
807 qCondition.extend(
'runnumstr',
'string')
808 qCondition[
'runnumstr'].setData(str(runnum))
809 qResult=coral.AttributeList()
810 qResult.extend(
'lumientryid',
'unsigned long long')
811 qResult.extend(
'trgentryid',
'unsigned long long')
812 qResult.extend(
'hltentryid',
'unsigned long long')
813 qHandle.defineOutput(qResult)
814 qHandle.setCondition(qConditionStr,qCondition)
815 cursor=qHandle.execute()
817 lumientryid=cursor.currentRow()[
'lumientryid'].
data()
818 trgentryid=cursor.currentRow()[
'trgentryid'].
data()
819 hltentryid=cursor.currentRow()[
'hltentryid'].
data()
820 if lumientryid
in branchfilter
and trgentryid
in branchfilter
and hltentryid
in branchfilter:
821 result.extend([lumientryid,trgentryid,hltentryid])
830 select l.data_id,rl.revision_id from lumidatatable l,lumirevisions rl where l.data_id=rl.data_id and l.entry_id=:entryid
831 check revision_id is in branch
838 elif datatype==
'trg':
840 elif dataytpe==
'hlt':
843 raise RunTimeError(
'datatype '+datatype+
' is not supported')
845 qHandle=schema.newQuery()
847 qHandle.addToTableList(revmaptablename)
848 qHandle.addToTableList(datatablename)
849 qHandle.addToOutputList(
'l.DATA_ID',
'dataid')
850 qHandle.addToOutputList(revmaptablename+
'.REVISION_ID',
'revisionid')
851 qConditionStr=datatablename+
'.DATA_ID='+revmaptablename+
'.DATA_ID AND '+datatablename+
'.ENTRY_ID=:entryid'
852 qCondition=coral.AttributeList()
853 qCondition.extend(
'entryid',
'unsigned long long')
854 qResult=coral.AttributeList()
855 qResult.extend(
'dataid',
'unsigned long long')
856 qResult.extend(
'revisionid',
'unsigned long long')
857 qHandle.defineOutput(qResult)
858 qHandle.setCondition(qConditionStr,qCondition)
859 cursor=qHandle.execute()
861 dataid=cursor.currentRow()[
'dataid'].
data()
862 revisionid=cursor.currentRow()[
'revisionid'].
data()
863 if revisionid
in branchfilter:
864 dataids.append(dataid)
869 if len(dataids)!=0:
return max(dataids)
875 def addNormToBranch(schema,normname,amodetag,norm1,egev1,optionalnormdata,branchinfo):
878 branchinfo(normrevisionid,branchname)
879 optionalnormdata {'norm2':norm2,'egev2':egev2}
881 (revision_id,entry_id,data_id)
883 print 'branchinfo ',branchinfo
885 if optionalnormdata.has_key(
'norm2'):
886 norm2=optionalnormdata[
'norm2']
888 if optionalnormdata.has_key(
'egev2'):
889 egev2=optionalnormdata[
'egev2']
894 entryinfo=(revision_id,entry_id,normname,data_id)
899 tabrowDefDict={
'DATA_ID':
'unsigned long long',
'ENTRY_ID':
'unsigned long long',
'ENTRY_NAME':
'string',
'AMODETAG':
'string',
'NORM_1':
'float',
'EGEV_1':
'unsigned int',
'NORM_2':
'float',
'EGEV_2':
'unsigned int'}
900 tabrowValueDict={
'DATA_ID':data_id,
'ENTRY_ID':entry_id,
'ENTRY_NAME':normname,
'AMODETAG':amodetag,
'NORM_1':norm1,
'EGEV_1':egev1,
'NORM_2':norm2,
'EGEV_2':egev2}
903 return (revision_id,entry_id,data_id)
909 lumirundata [datasource]
910 branchinfo (branch_id,branch_name)
912 (revision_id,entry_id,data_id)
915 datasource=lumirundata[0]
919 entryinfo=(revision_id,entry_id,str(runnumber),data_id)
924 tabrowDefDict={
'DATA_ID':
'unsigned long long',
'ENTRY_ID':
'unsigned long long',
'ENTRY_NAME':
'string',
'RUNNUM':
'unsigned int',
'SOURCE':
'string'}
925 tabrowValueDict={
'DATA_ID':data_id,
'ENTRY_ID':entry_id,
'ENTRY_NAME':str(runnumber),
'RUNNUM':int(runnumber),
'SOURCE':datasource}
928 return (revision_id,entry_id,data_id)
934 trgrundata [datasource(0),bitzeroname(1),bitnameclob(2)]
935 bitnames clob, bitnames separated by ','
937 (revision_id,entry_id,data_id)
940 datasource=trgrundata[0]
941 bitzeroname=trgrundata[1]
942 bitnames=trgrundata[2]
946 entryinfo=(revision_id,entry_id,str(runnumber),data_id)
951 tabrowDefDict={
'DATA_ID':
'unsigned long long',
'ENTRY_ID':
'unsigned long long',
'ENTRY_NAME':
'string',
'SOURCE':
'string',
'RUNNUM':
'unsigned int',
'BITZERONAME':
'string',
'BITNAMECLOB':
'string'}
952 tabrowValueDict={
'DATA_ID':data_id,
'ENTRY_ID':entry_id,
'ENTRY_NAME':str(runnumber),
'SOURCE':datasource,
'RUNNUM':int(runnumber),
'BITZERONAME':bitzeroname,
'BITNAMECLOB':bitnames}
955 return (revision_id,entry_id,data_id)
961 hltrundata [pathnameclob(0),datasource(1)]
963 (revision_id,entry_id,data_id)
966 pathnames=hltrundata[0]
967 datasource=hltrundata[1]
968 npath=len(pathnames.split(
','))
972 entryinfo=(revision_id,entry_id,str(runnumber),data_id)
977 tabrowDefDict={
'DATA_ID':
'unsigned long long',
'ENTRY_ID':
'unsigned long long',
'ENTRY_NAME':
'string',
'RUNNUM':
'unsigned int',
'SOURCE':
'string',
'NPATH':
'unsigned int',
'PATHNAMECLOB':
'string'}
978 tabrowValueDict={
'DATA_ID':data_id,
'ENTRY_ID':entry_id,
'ENTRY_NAME':str(runnumber),
'RUNNUM':int(runnumber),
'SOURCE':datasource,
'NPATH':npath,
'PATHNAMECLOB':pathnames}
981 return (revision_id,entry_id,data_id)
988 runsummarydata [l1key,amodetag,egev,sequence,hltkey,fillnum,starttime,stoptime]
991 l1key=runsummarydata[0]
992 amodetag=runsummarydata[1]
993 egev=runsummarydata[2]
999 if not complementalOnly:
1000 sequence=runsummarydata[3]
1001 hltkey=runsummarydata[4]
1002 fillnum=runsummarydata[5]
1003 starttime=runsummarydata[6]
1004 stoptime=runsummarydata[7]
1006 if not complementalOnly:
1007 tabrowDefDict={
'RUNNUM':
'unsigned int',
'L1KEY':
'string',
'AMODETAG':
'string',
'EGEV':
'unsigned int',
'SEQUENCE':
'string',
'HLTKEY':
'string',
'FILLNUM':
'unsigned int',
'STARTTIME':
'time stamp',
'STOPTIME':
'time stamp'}
1008 tabrowValueDict={
'RUNNUM':int(runnumber),
'L1KEY':l1key,
'AMODETAG':amodetag,
'EGEV':int(egev),
'SEQUENCE':sequence,
'HLTKEY':hltkey,
'FILLNUM':int(fillnum),
'STARTTIME':starttime,
'STOPTIME':stoptime}
1012 setClause=
'L1KEY=:l1key,AMODETAG=:amodetag,EGEV=:egev'
1013 updateCondition=
'RUNNUM=:runnum'
1014 inputData=coral.AttributeList()
1015 inputData.extend(
'l1key',
'string')
1016 inputData.extend(
'amodetag',
'string')
1017 inputData.extend(
'egev',
'unsigned int')
1018 inputData.extend(
'runnum',
'unsigned int')
1019 inputData[
'l1key'].setData(l1key)
1020 inputData[
'amodetag'].setData(amodetag)
1021 inputData[
'egev'].setData(int(egev))
1022 inputData[
'runnum'].setData(int(runnumber))
1030 trghltmap {hltpath:l1seed}
1036 kQueryBindList=coral.AttributeList()
1037 kQueryBindList.extend(
'hltkey',
'string')
1038 kQuery=schema.newQuery()
1040 kQuery.setCondition(
'HLTKEY=:hltkey',kQueryBindList)
1041 kQueryBindList[
'hltkey'].setData(hltkey)
1042 kResult=kQuery.execute()
1043 while kResult.next():
1045 if not hltkeyExists:
1047 trghltDefDict=[(
'HLTKEY',
'string'),(
'HLTPATHNAME',
'string'),(
'L1SEED',
'string')]
1048 for hltpath,l1seed
in trghltmap.items():
1049 bulkvalues.append([(
'HLTKEY',hltkey),(
'HLTPATHNAME',hltpath),(
'L1SEED',l1seed)])
1052 nrows=len(bulkvalues)
1055 print 'error in insertTrgHltMap '
1059 insert trg per-LS data for given run and data_id, this operation can be split in transaction chuncks
1061 trglsdata {cmslsnum:[deadtime,bitzerocount,bitzeroprescale,trgcountBlob,trgprescaleBlob]}
1062 result nrows inserted
1063 if nrows==0, then this insertion failed
1065 print 'total number of trg rows ',len(trglsdata)
1066 lstrgDefDict=[(
'DATA_ID',
'unsigned long long'),(
'RUNNUM',
'unsigned int'),(
'CMSLSNUM',
'unsigned int'),(
'DEADTIMECOUNT',
'unsigned long long'),(
'BITZEROCOUNT',
'unsigned int'),(
'BITZEROPRESCALE',
'unsigned int'),(
'PRESCALEBLOB',
'blob'),(
'TRGCOUNTBLOB',
'blob')]
1071 for cmslsnum,perlstrg
in trglsdata.items():
1072 deadtimecount=perlstrg[0]
1073 bitzerocount=perlstrg[1]
1074 bitzeroprescale=perlstrg[2]
1075 trgcountblob=perlstrg[3]
1076 trgprescaleblob=perlstrg[4]
1077 bulkvalues.append([(
'DATA_ID',data_id),(
'RUNNUM',runnumber),(
'CMSLSNUM',cmslsnum),(
'DEADTIMECOUNT',deadtimecount),(
'BITZEROCOUNT',bitzerocount),(
'BITZEROPRESCALE',bitzeroprescale),(
'PRESCALEBLOB',trgprescaleblob),(
'TRGCOUNTBLOB',trgcountblob)])
1081 print 'committing trg in LS chunck ',nrows
1083 session.transaction().
start(
False)
1085 session.transaction().commit()
1088 elif committedrows==len(trglsdata):
1089 print 'committing trg at the end '
1091 session.transaction().
start(
False)
1093 session.transaction().commit()
1095 print 'error in bulkInsertTrgLSData'
1100 hltlsdata {cmslsnum:[inputcountBlob,acceptcountBlob,prescaleBlob]}
1102 print 'total number of hlt rows ',len(hltlsdata)
1103 lshltDefDict=[(
'DATA_ID',
'unsigned long long'),(
'RUNNUM',
'unsigned int'),(
'CMSLSNUM',
'unsigned int'),(
'PRESCALEBLOB',
'blob'),(
'HLTCOUNTBLOB',
'blob'),(
'HLTACCEPTBLOB',
'blob')]
1108 for cmslsnum,perlshlt
in hltlsdata.items():
1109 inputcountblob=perlshlt[0]
1110 acceptcountblob=perlshlt[1]
1111 prescaleblob=perlshlt[2]
1112 bulkvalues.append([(
'DATA_ID',data_id),(
'RUNNUM',runnumber),(
'CMSLSNUM',cmslsnum),(
'PRESCALEBLOB',prescaleblob),(
'HLTCOUNTBLOB',inputcountblob),(
'HLTACCEPTBLOB',acceptcountblob)])
1117 print 'committing hlt in LS chunck ',nrows
1119 session.transaction().
start(
False)
1121 session.transaction().commit()
1124 elif committedrows==len(hltlsdata):
1125 print 'committing hlt at the end '
1127 session.transaction().
start(
False)
1129 session.transaction().commit()
1131 print 'error in bulkInsertHltLSData'
1137 lumilsdata {lumilsnum:[cmslsnum,instlumi,instlumierror,instlumiquality,beamstatus,beamenergy,numorbit,startorbit,cmsbxindexblob,beam1intensity,beam2intensity,bxlumivalue_occ1,bxlumierror_occ1,bxlumiquality_occ1,bxlumivalue_occ2,bxlumierror_occ2,bxlumiquality_occ2,bxlumivalue_et,bxlumierror_et,bxlumiquality_et]}
1139 lslumiDefDict=[(
'DATA_ID',
'unsigned long long'),(
'RUNNUM',
'unsigned int'),(
'LUMILSNUM',
'unsigned int'),(
'CMSLSNUM',
'unsigned int'),(
'INSTLUMI',
'float'),(
'INSTLUMIERROR',
'float'),(
'INSTLUMIQUALITY',
'short'),(
'BEAMSTATUS',
'string'),(
'BEAMENERGY',
'float'),(
'NUMORBIT',
'unsigned int'),(
'STARTORBIT',
'unsigned int'),(
'CMSBXINDEXBLOB',
'blob'),(
'BEAMINTENSITYBLOB_1',
'blob'),(
'BEAMINTENSITYBLOB_2',
'blob'),(
'BXLUMIVALUE_OCC1',
'blob'),(
'BXLUMIERROR_OCC1',
'blob'),(
'BXLUMIQUALITY_OCC1',
'blob'),(
'BXLUMIVALUE_OCC2',
'blob'),(
'BXLUMIERROR_OCC2',
'blob'),(
'BXLUMIQUALITY_OCC2',
'blob'),(
'BXLUMIVALUE_ET',
'blob'),(
'BXLUMIERROR_ET',
'blob'),(
'BXLUMIQUALITY_ET',
'blob')]
1140 print 'total number of lumi rows ',len(lumilsdata)
1145 for lumilsnum,perlslumi
in lumilsdata.items():
1146 cmslsnum=perlslumi[0]
1147 instlumi=perlslumi[1]
1148 instlumierror=perlslumi[2]
1149 instlumiquality=perlslumi[3]
1150 beamstatus=perlslumi[4]
1151 beamenergy=perlslumi[5]
1152 numorbit=perlslumi[6]
1153 startorbit=perlslumi[7]
1154 cmsbxindexindexblob=perlslumi[8]
1155 beam1intensity=perlslumi[9]
1156 beam2intensity=perlslumi[10]
1157 bxlumivalue_occ1=perlslumi[11]
1158 bxlumierror_occ1=perlslumi[12]
1159 bxlumiquality_occ1=perlslumi[13]
1160 bxlumivalue_occ2=perlslumi[14]
1161 bxlumierror_occ2=perlslumi[15]
1162 bxlumiquality_occ2=perlslumi[16]
1163 bxlumivalue_et=perlslumi[17]
1164 bxlumierror_et=perlslumi[18]
1165 bxlumiquality_et=perlslumi[19]
1166 bulkvalues.append([(
'DATA_ID',data_id),(
'RUNNUM',runnumber),(
'LUMILSNUM',lumilsnum),(
'CMSLSNUM',cmslsnum),(
'INSTLUMI',instlumi),(
'INSTLUMIERROR',instlumierror),(
'INSTLUMIQUALITY',instlumiquality),(
'BEAMSTATUS',beamstatus),(
'BEAMENERGY',beamenergy),(
'NUMORBIT',numorbit),(
'STARTORBIT',startorbit),(
'CMSBXINDEXBLOB',cmsbxindexindexblob),(
'BEAMINTENSITYBLOB_1',beam1intensity),(
'BEAMINTENSITYBLOB_2',beam2intensity),(
'BXLUMIVALUE_OCC1',bxlumivalue_occ1),(
'BXLUMIERROR_OCC1',bxlumierror_occ1),(
'BXLUMIQUALITY_OCC1',bxlumiquality_occ1),(
'BXLUMIVALUE_OCC2',bxlumivalue_occ2),(
'BXLUMIERROR_OCC2',bxlumierror_occ2),(
'BXLUMIQUALITY_OCC2',bxlumiquality_occ2),(
'BXLUMIVALUE_ET',bxlumivalue_et),(
'BXLUMIERROR_ET',bxlumierror_et),(
'BXLUMIQUALITY_ET',bxlumiquality_et)])
1170 print 'committing lumi in LS chunck ',nrows
1172 session.transaction().
start(
False)
1174 session.transaction().commit()
1177 elif committedrows==len(lumilsdata):
1178 print 'committing lumi at the end '
1180 session.transaction().
start(
False)
1182 session.transaction().commit()
1250 if __name__ ==
"__main__":
1251 import sessionManager
1252 import lumidbDDL,revisionDML,generateDummyData
1254 myconstr=
'oracle://devdb10/cms_xiezhen_dev'
1256 session=svc.openSession(isReadOnly=
False,cpp2sqltype=[(
'unsigned int',
'NUMBER(10)'),(
'unsigned long long',
'NUMBER(20)')])
1257 schema=session.nominalSchema()
1258 session.transaction().
start(
False)
1274 normbranchinfo=(normbranchid,
'NORM')
1275 addNormToBranch(schema,
'pp7TeV',
'PROTPHYS',6370.0,3500,{},normbranchinfo)
1278 branchinfo=(branchid,
'DATA')
1279 for runnum
in [1200,1211,1222,1233,1345]:
1285 lumirundata=[lumidummydata[0]]
1286 lumilsdata=lumidummydata[1]
1288 insertLumiLSSummary(schema,runnum,lumidataid,lumilsdata)
1290 trgrundata=[trgdata[0],trgdata[1],trgdata[2]]
1291 trglsdata=trgdata[3]
1293 insertTrgLSData(schema,runnum,trgdataid,trglsdata)
1295 hltrundata=[hltdata[0],hltdata[1]]
1296 hltlsdata=hltdata[2]
1298 insertHltLSData(schema,runnum,hltdataid,hltlsdata)
1299 session.transaction().commit()
1300 print 'test reading'
1301 session.transaction().
start(
True)
1302 print '===inspecting NORM by name==='
1306 print 'latest norm data_id for pp7TeV ',latestNorms
1308 print '===inspecting DATA branch==='
1314 print 'latest lumi data_id for run 1211 ',latestrevision
1317 print 'latest lumi data_id for run 1222 ',latestrevision
1320 print 'latest trg data_id for run 1222 ',latestrevision
1321 session.transaction().commit()
1322 print 'tagging data so far as data_orig'
1323 session.transaction().
start(
False)
1325 session.transaction().commit()
1326 session.transaction().
start(
True)
1330 session.transaction().commit()
1331 session.transaction().
start(
False)
1332 for runnum
in [1200,1222]:
1333 print 'revising lumidata for run ',runnum
1335 lumirundata=[lumidummydata[0]]
1336 lumilsdata=lumidummydata[1]
1338 insertLumiLSSummary(schema,runnum,lumidataid,lumilsdata)
1341 session.transaction().commit()
1344 print '===test reading==='
1345 session.transaction().
start(
True)
1367 print 'trg run, trgdataid ',trgdataid
1375 session.transaction().commit()
def revisionsInBranchName
def bulkInsertLumiLSSummary
def addTrgRunDataToBranch
const T & max(const T &a, const T &b)
def addLumiRunDataToBranch
def lumisummaryv2TableName
def addHLTRunDataToBranch
def latestDataRevisionOfEntry
def cmsrunsummaryTableName