2 from RecoLuminosity.LumiDB
import nameDealer,dbUtil
10 create new tables if not exist
11 revisions,revisions_id,luminorms,luminorms_entries,luminorms_entries_id,
17 print 'creating revisions table'
18 revisionsTab=coral.TableDescription()
20 revisionsTab.insertColumn(
'REVISION_ID',
'unsigned long long')
21 revisionsTab.insertColumn(
'BRANCH_ID',
'unsigned long long')
22 revisionsTab.insertColumn(
'NAME',
'string')
23 revisionsTab.insertColumn(
'BRANCH_NAME',
'string')
24 revisionsTab.insertColumn(
'COMMENT',
'string')
25 revisionsTab.insertColumn(
'CTIME',
'time stamp',6)
26 revisionsTab.setPrimaryKey(
'REVISION_ID' )
27 revisionsTab.setUniqueConstraint((
'NAME'))
28 db.createTable(revisionsTab,withIdTable=
True)
32 print 'creating luminorms table'
33 luminormsTab=coral.TableDescription()
35 luminormsTab.insertColumn(
'DATA_ID',
'unsigned long long')
36 luminormsTab.insertColumn(
'ENTRY_ID',
'unsigned long long')
37 luminormsTab.insertColumn(
'ENTRY_NAME',
'string')
38 luminormsTab.insertColumn(
'AMODETAG',
'string')
39 luminormsTab.insertColumn(
'NORM_1',
'float')
40 luminormsTab.insertColumn(
'EGEV_1',
'unsigned int')
41 luminormsTab.insertColumn(
'NORM_2',
'float')
42 luminormsTab.insertColumn(
'EGEV_2',
'unsigned int')
43 luminormsTab.setPrimaryKey(
'DATA_ID' )
44 db.createTable(luminormsTab,withIdTable=
True,withEntryTables=
True,withRevMapTable=
True)
48 print 'creating lumidata table'
49 lumidataTab=coral.TableDescription()
51 lumidataTab.insertColumn(
'DATA_ID',
'unsigned long long')
52 lumidataTab.insertColumn(
'ENTRY_ID',
'unsigned long long')
53 lumidataTab.insertColumn(
'ENTRY_NAME',
'string')
54 lumidataTab.insertColumn(
'SOURCE',
'string')
55 lumidataTab.insertColumn(
'RUNNUM',
'unsigned int')
56 lumidataTab.insertColumn(
'NOMINALEGEV',
'float')
57 lumidataTab.setPrimaryKey(
'DATA_ID' )
58 db.createTable(lumidataTab,withIdTable=
True,withEntryTables=
True,withRevMapTable=
True)
62 print 'creating lumisummaryv2 table'
63 summary=coral.TableDescription()
65 summary.insertColumn(
'DATA_ID',
'unsigned long long')
66 summary.insertColumn(
'RUNNUM',
'unsigned int')
67 summary.insertColumn(
'LUMILSNUM',
'unsigned int')
68 summary.insertColumn(
'CMSLSNUM',
'unsigned int')
69 summary.insertColumn(
'INSTLUMI',
'float')
70 summary.insertColumn(
'INSTLUMIERROR',
'float')
71 summary.insertColumn(
'INSTLUMIQUALITY',
'short')
72 summary.insertColumn(
'BEAMSTATUS',
'string')
73 summary.insertColumn(
'BEAMENERGY',
'float')
74 summary.insertColumn(
'NUMORBIT',
'unsigned int')
75 summary.insertColumn(
'STARTORBIT',
'unsigned int')
76 summary.insertColumn(
'CMSBXINDEXBLOB',
'blob')
77 summary.insertColumn(
'BEAMINTENSITYBLOB_1',
'blob')
78 summary.insertColumn(
'BEAMINTENSITYBLOB_2',
'blob')
79 summary.insertColumn(
'BXLUMIVALUE_OCC1',
'blob')
80 summary.insertColumn(
'BXLUMIVALUE_OCC2',
'blob')
81 summary.insertColumn(
'BXLUMIVALUE_ET',
'blob')
82 summary.insertColumn(
'BXLUMIERROR_OCC1',
'blob')
83 summary.insertColumn(
'BXLUMIERROR_OCC2',
'blob')
84 summary.insertColumn(
'BXLUMIERROR_ET',
'blob')
85 summary.insertColumn(
'BXLUMIQUALITY_OCC1',
'blob')
86 summary.insertColumn(
'BXLUMIQUALITY_OCC2',
'blob')
87 summary.insertColumn(
'BXLUMIQUALITY_ET',
'blob')
88 summary.setPrimaryKey((
'DATA_ID',
'LUMILSNUM'))
89 db.createTable(summary,withIdTable=
False)
96 print 'creating cmsrunsummary table'
97 cmsrunsummary=coral.TableDescription()
99 cmsrunsummary.insertColumn(
'RUNNUM',
'unsigned int')
100 cmsrunsummary.insertColumn(
'HLTKEY',
'string')
101 cmsrunsummary.insertColumn(
'L1KEY',
'string')
102 cmsrunsummary.insertColumn(
'FILLNUM',
'unsigned int')
103 cmsrunsummary.insertColumn(
'SEQUENCE',
'string')
104 cmsrunsummary.insertColumn(
'STARTTIME',
'time stamp',6)
105 cmsrunsummary.insertColumn(
'STOPTIME',
'time stamp',6)
106 cmsrunsummary.insertColumn(
'EGEV',
'unsigned int')
107 cmsrunsummary.insertColumn(
'AMODETAG',
'string')
108 cmsrunsummary.setPrimaryKey(
'RUNNUM')
109 db.createTable(cmsrunsummary,withIdTable=
False)
115 print 'creating trghltmap table'
116 trghlt=coral.TableDescription()
118 trghlt.insertColumn(
'HLTKEY',
'string' )
119 trghlt.insertColumn(
'HLTPATHNAME',
'string' )
120 trghlt.insertColumn(
'L1SEED',
'string' )
121 trghlt.setNotNullConstraint(
'HLTKEY',
True)
122 trghlt.setNotNullConstraint(
'HLTPATHNAME',
True)
123 trghlt.setNotNullConstraint(
'L1SEED',
True)
124 db.createTable(trghlt,withIdTable=
False)
127 print 'creating trgdata table'
128 trgdataTab=coral.TableDescription()
130 trgdataTab.insertColumn(
'DATA_ID',
'unsigned long long')
131 trgdataTab.insertColumn(
'ENTRY_ID',
'unsigned long long')
132 trgdataTab.insertColumn(
'ENTRY_NAME',
'string')
133 trgdataTab.insertColumn(
'SOURCE',
'string')
134 trgdataTab.insertColumn(
'RUNNUM',
'unsigned int')
135 trgdataTab.insertColumn(
'BITZERONAME',
'string')
136 trgdataTab.insertColumn(
'BITNAMECLOB',
'string',6000)
137 trgdataTab.setPrimaryKey(
'DATA_ID' )
138 db.createTable(trgdataTab,withIdTable=
True,withEntryTables=
True,withRevMapTable=
True)
141 print 'creating lstrg table'
142 lstrgTab=coral.TableDescription()
144 lstrgTab.insertColumn(
'DATA_ID',
'unsigned long long')
145 lstrgTab.insertColumn(
'RUNNUM',
'unsigned int')
146 lstrgTab.insertColumn(
'CMSLSNUM',
'unsigned int')
147 lstrgTab.insertColumn(
'DEADTIMECOUNT',
'unsigned long long')
148 lstrgTab.insertColumn(
'BITZEROCOUNT',
'unsigned int')
149 lstrgTab.insertColumn(
'BITZEROPRESCALE',
'unsigned int')
150 lstrgTab.insertColumn(
'DEADFRAC',
'float')
151 lstrgTab.insertColumn(
'PRESCALEBLOB',
'blob')
152 lstrgTab.insertColumn(
'TRGCOUNTBLOB',
'blob')
153 lstrgTab.setPrimaryKey( (
'DATA_ID',
'CMSLSNUM') )
154 db.createTable(lstrgTab,withIdTable=
False)
158 print 'creating hltdata table'
159 hltdataTab=coral.TableDescription()
161 hltdataTab.insertColumn(
'DATA_ID',
'unsigned long long')
162 hltdataTab.insertColumn(
'ENTRY_ID',
'unsigned long long')
163 hltdataTab.insertColumn(
'ENTRY_NAME',
'string')
164 hltdataTab.insertColumn(
'RUNNUM',
'unsigned int')
165 hltdataTab.insertColumn(
'SOURCE',
'string')
166 hltdataTab.insertColumn(
'NPATH',
'unsigned int')
167 hltdataTab.insertColumn(
'PATHNAMECLOB',
'string',6000)
168 hltdataTab.setPrimaryKey(
'DATA_ID' )
169 db.createTable(hltdataTab,withIdTable=
True,withEntryTables=
True,withRevMapTable=
True)
173 print 'creating lshlt table'
174 lshltTab=coral.TableDescription()
176 lshltTab.insertColumn(
'DATA_ID',
'unsigned long long')
177 lshltTab.insertColumn(
'RUNNUM',
'unsigned int')
178 lshltTab.insertColumn(
'CMSLSNUM',
'unsigned int')
179 lshltTab.insertColumn(
'PRESCALEBLOB',
'blob')
180 lshltTab.insertColumn(
'HLTCOUNTBLOB',
'blob')
181 lshltTab.insertColumn(
'HLTACCEPTBLOB',
'blob')
182 db.createTable(lshltTab,withIdTable=
False)
183 lshltTab.setPrimaryKey( (
'DATA_ID',
'CMSLSNUM') )
188 print 'creating lumivalidation table'
189 lumivalidation=coral.TableDescription()
191 lumivalidation.insertColumn(
'RUNNUM',
'unsigned int' )
192 lumivalidation.insertColumn(
'CMSLSNUM',
'unsigned int' )
193 lumivalidation.insertColumn(
'FLAG',
'string' )
194 lumivalidation.insertColumn(
'COMMENT',
'string' )
195 lumivalidation.setPrimaryKey( (
'RUNNUM',
'CMSLSNUM') )
196 lumivalidation.setNotNullConstraint(
'FLAG',
True)
197 db.createTable(lumivalidation,withIdTable=
False)
212 for tablename
in tablelist:
219 db.dropTable( tablename )
225 create tables of lumidb1 if not exist
231 lumivalidation=coral.TableDescription()
233 lumivalidation.insertColumn(
'RUNNUM',
'unsigned int' )
234 lumivalidation.insertColumn(
'CMSLSNUM',
'unsigned int' )
235 lumivalidation.insertColumn(
'FLAG',
'string' )
236 lumivalidation.insertColumn(
'COMMENT',
'string' )
237 lumivalidation.setPrimaryKey((
'RUNNUM',
'CMSLSNUM'))
238 lumivalidation.setNotNullConstraint(
'FLAG',
True)
239 db.createTable(lumivalidation,withIdTable=
False)
243 cmsrunsummary=coral.TableDescription()
245 cmsrunsummary.insertColumn(
'RUNNUM',
'unsigned int')
246 cmsrunsummary.insertColumn(
'HLTKEY',
'string')
247 cmsrunsummary.insertColumn(
'FILLNUM',
'unsigned int')
248 cmsrunsummary.insertColumn(
'SEQUENCE',
'string')
249 cmsrunsummary.insertColumn(
'STARTTIME',
'time stamp',6)
250 cmsrunsummary.insertColumn(
'STOPTIME',
'time stamp',6)
251 cmsrunsummary.setPrimaryKey(
'RUNNUM')
252 cmsrunsummary.setNotNullConstraint(
'HLTKEY',
True)
253 cmsrunsummary.setNotNullConstraint(
'FILLNUM',
True)
254 cmsrunsummary.setNotNullConstraint(
'SEQUENCE',
True)
255 cmsrunsummary.createIndex(
'cmsrunsummary_fillnum',(
'FILLNUM'))
256 cmsrunsummary.createIndex(
'cmsrunsummary_startime',(
'STARTTIME'))
257 db.createTable(cmsrunsummary,withIdTable=
False)
261 summary=coral.TableDescription()
263 summary.insertColumn(
'LUMISUMMARY_ID',
'unsigned long long')
264 summary.insertColumn(
'RUNNUM',
'unsigned int')
265 summary.insertColumn(
'CMSLSNUM',
'unsigned int')
266 summary.insertColumn(
'LUMILSNUM',
'unsigned int')
267 summary.insertColumn(
'LUMIVERSION',
'string')
268 summary.insertColumn(
'DTNORM',
'float')
269 summary.insertColumn(
'LHCNORM',
'float')
270 summary.insertColumn(
'CMSALIVE',
'short')
271 summary.insertColumn(
'INSTLUMI',
'float')
272 summary.insertColumn(
'INSTLUMIERROR',
'float')
273 summary.insertColumn(
'INSTLUMIQUALITY',
'short')
274 summary.insertColumn(
'BEAMSTATUS',
'string')
275 summary.insertColumn(
'BEAMENERGY',
'float')
276 summary.insertColumn(
'NUMORBIT',
'unsigned int')
277 summary.insertColumn(
'STARTORBIT',
'unsigned int')
278 summary.insertColumn(
'LUMISECTIONQUALITY',
'short')
279 summary.insertColumn(
'CMSBXINDEXBLOB',
'blob')
280 summary.insertColumn(
'BEAMINTENSITYBLOB_1',
'blob')
281 summary.insertColumn(
'BEAMINTENSITYBLOB_2',
'blob')
282 summary.setPrimaryKey(
'LUMISUMMARY_ID')
283 summary.setNotNullConstraint(
'RUNNUM',
True)
284 summary.setNotNullConstraint(
'CMSLSNUM',
True)
285 summary.setNotNullConstraint(
'LUMILSNUM',
True)
286 summary.setNotNullConstraint(
'CMSALIVE',
True)
287 summary.setNotNullConstraint(
'LUMIVERSION',
True)
288 summary.setNotNullConstraint(
'DTNORM',
True)
289 summary.setNotNullConstraint(
'LHCNORM',
True)
290 summary.setNotNullConstraint(
'INSTLUMI',
True)
291 summary.setNotNullConstraint(
'INSTLUMIERROR',
True)
292 summary.setNotNullConstraint(
'INSTLUMIQUALITY',
True)
293 summary.setNotNullConstraint(
'STARTORBIT',
True)
294 summary.setNotNullConstraint(
'NUMORBIT',
True)
295 summary.setNotNullConstraint(
'LUMISECTIONQUALITY',
True)
296 summary.setNotNullConstraint(
'BEAMENERGY',
True)
297 summary.setNotNullConstraint(
'BEAMSTATUS',
True)
298 summary.setUniqueConstraint((
'RUNNUM',
'LUMIVERSION',
'LUMILSNUM'))
299 summary.createIndex(
'lumisummary_runnum',(
'RUNNUM'))
300 db.createTable(summary,withIdTable=
True)
304 detail=coral.TableDescription()
306 detail.insertColumn(
'LUMIDETAIL_ID',
'unsigned long long')
307 detail.insertColumn(
'LUMISUMMARY_ID',
'unsigned long long')
308 detail.insertColumn(
'BXLUMIVALUE',
'blob')
309 detail.insertColumn(
'BXLUMIERROR',
'blob')
310 detail.insertColumn(
'BXLUMIQUALITY',
'blob')
311 detail.insertColumn(
'ALGONAME',
'string')
312 detail.setPrimaryKey(
'LUMIDETAIL_ID')
314 detail.setNotNullConstraint(
'BXLUMIVALUE',
True)
315 detail.setNotNullConstraint(
'BXLUMIERROR',
True)
316 detail.setNotNullConstraint(
'BXLUMIQUALITY',
True)
317 detail.setNotNullConstraint(
'ALGONAME',
True)
318 detail.setUniqueConstraint((
'LUMISUMMARY_ID',
'ALGONAME'))
319 db.createTable(detail,withIdTable=
True)
323 trg=coral.TableDescription()
325 trg.insertColumn(
'TRG_ID',
'unsigned long long')
326 trg.insertColumn(
'RUNNUM',
'unsigned int')
327 trg.insertColumn(
'CMSLSNUM',
'unsigned int')
328 trg.insertColumn(
'BITNUM',
'unsigned int')
329 trg.insertColumn(
'BITNAME',
'string')
330 trg.insertColumn(
'TRGCOUNT',
'unsigned int')
331 trg.insertColumn(
'DEADTIME',
'unsigned long long')
332 trg.insertColumn(
'PRESCALE',
'unsigned int')
333 trg.setNotNullConstraint(
'RUNNUM',
True)
334 trg.setNotNullConstraint(
'CMSLSNUM',
True)
335 trg.setNotNullConstraint(
'BITNUM',
True)
336 trg.setNotNullConstraint(
'BITNAME',
True)
337 trg.setNotNullConstraint(
'TRGCOUNT',
True)
338 trg.setNotNullConstraint(
'DEADTIME',
True)
339 trg.setNotNullConstraint(
'PRESCALE',
True)
340 trg.setPrimaryKey(
'TRG_ID')
341 trg.createIndex(
'trg_runnum',(
'RUNNUM'))
342 db.createTable(trg,withIdTable=
True)
346 hlt=coral.TableDescription()
348 hlt.insertColumn(
'HLT_ID',
'unsigned long long')
349 hlt.insertColumn(
'RUNNUM',
'unsigned int')
350 hlt.insertColumn(
'CMSLSNUM',
'unsigned int')
351 hlt.insertColumn(
'PATHNAME',
'string')
352 hlt.insertColumn(
'INPUTCOUNT',
'unsigned int')
353 hlt.insertColumn(
'ACCEPTCOUNT',
'unsigned int')
354 hlt.insertColumn(
'PRESCALE',
'unsigned int')
355 hlt.setPrimaryKey(
'HLT_ID' )
356 hlt.setNotNullConstraint(
'RUNNUM',
True)
357 hlt.setNotNullConstraint(
'CMSLSNUM',
True)
358 hlt.setNotNullConstraint(
'PATHNAME',
True)
359 hlt.setNotNullConstraint(
'INPUTCOUNT',
True)
360 hlt.setNotNullConstraint(
'ACCEPTCOUNT',
True)
361 hlt.setNotNullConstraint(
'PRESCALE',
True)
362 hlt.createIndex(
'hlt_runnum',(
'RUNNUM'))
363 db.createTable(hlt,withIdTable=
True)
367 trghlt=coral.TableDescription()
369 trghlt.insertColumn(
'HLTKEY',
'string' )
370 trghlt.insertColumn(
'HLTPATHNAME',
'string' )
371 trghlt.insertColumn(
'L1SEED',
'string' )
372 trghlt.setNotNullConstraint(
'HLTKEY',
True)
373 trghlt.setNotNullConstraint(
'HLTPATHNAME',
True)
374 trghlt.setNotNullConstraint(
'L1SEED',
True)
375 db.createTable(trghlt,withIdTable=
False)
388 modify old tables:cmsrunsummary
389 alter table cmsrunsummary add column(l1key string,egev unsigned int,amodetag string)
393 tableHandle.schemaEditor().insertColumn(
'L1KEY',
'string')
394 tableHandle.schemaEditor().insertColumn(
'EGEV',
'unsigned int')
395 tableHandle.schemaEditor().insertColumn(
'AMODETAG',
'string')
402 dropTables(schema,[
'REVISIONS',
'LUMINORMS',
'LUMIDATA',
'LUMISUMMARYV2',
'TRGDATA',
'LSTRG',
'HLTDATA',
'LSHLT'])
404 ncol=tableHandle.description().numberOfColumns()
406 for i
in range(ncol):
407 colname=tableHandle.description().columnDescription(i).
name()
408 if colname
in [
'L1KEY',
'EGEV',
'AMODETAG']:
409 todrop.append(colname)
410 for colname
in todrop:
411 tableHandle.schemaEditor().dropColumn(colname)
461 revtable.schemaEditor().setUniqueConstraint(
'NAME',
'revisions_name_uc')
474 if __name__ ==
"__main__":
475 import sessionManager
476 myconstr=
'oracle://devdb10/cms_xiezhen_dev'
477 authpath=
'/afs/cern.ch/user/x/xiezhen'
480 session=svc.openSession(isReadOnly=
False,cpp2sqltype=[(
'unsigned int',
'NUMBER(10)'),(
'unsigned long long',
'NUMBER(20)')])
481 schema=session.nominalSchema()
482 session.transaction().
start(
False)
494 session.transaction().
start(
False)
497 print 'created old ',tables
498 session.transaction().commit()
def lumivalidationTableName
def createUniqueConstraints
def dropUNIQUEConstraints
def createNULLConstraints
def lumisummaryv2TableName
def cmsrunsummaryTableName