lumils = sorted(lumiLSdata.keys()) for lsnum in lumils: print('lumilsnum,cmslsnum,instlumi ', lsnum, lumiLSdata[lsnum][0], lumiLSdata[lsnum][1] * normval) (runnum, trgLSdata) = dataDML.trgLSById(schema, trgdataid) cmsls = trgLSdata.keys() cmsls.sort() for lsnum in cmsls: print('cmslsnum,deadtime,bizerocount,bitzeroprescale,deadfrac ', lsnum, trgLSdata[lsnum][0], trgLSdata[lsnum][1], trgLSdata[lsnum][2], trgLSdata[lsnum][3]) [runnum, datasource, npath, pathnames] = dataDML.hltRunById(schema, hltdataid) print('npath,pathnames ', npath, pathnames) pathnameList = pathnames.split(',') (runnum, hltLSdata) = dataDML.hltLSById(schema, hltdataid) cmsls = hltLSdata.keys() cmsls.sort() for lsnum in cmsls: prescaleblob = hltLSdata[lsnum][0] print('lsnum ', lsnum) if prescaleblob: hltprescales = CommonUtil.unpackBlobtoArray(prescaleblob, 'h') for pidx, pathname in enumerate(pathnameList): print('pathname, hltprescales ', pathname, hltprescales[pidx]) session.transaction().commit() del session print('')
def fetchOldData(schema,oldlumidataid): ''' fetch old perbunch data if the run exists select CMSBXINDEXBLOB,BEAMINTENSITYBLOB_1,BEAMINTENSITYBLOB_2,BXLUMIVALUE_OCC1,BXLUMIVALUE_OCC2,BXLUMIVALUE_ET,BXLUMIERROR_OCC1,BXLUMIERROR_OCC2,BXLUMIERROR_ET,BXLUMIQUALITY_OCC1,BXLUMIQUALITY_OCC2,BXLUMIQUALITY_ET from lumisummaryv2 where data_id=:oldlumidataid; output: {lumilsnum:[bxvalueblob_occ1(0),bxerrblob_occ1(1),bxqualityblob_occ1(2),bxvalueblob_occ2(3),bxerrblob_occ2(4),bxqualityblob_occ2(5),bxvalueblob_et(6),bxerrblob_et(7),bxqualityblob_et(8),bxindexblob(9),beam1intensity(10),beam2intensity(11),beamstatus(12),beamenergy(13),instlumierror(14),instlumiquality(15)],...} ''' result={} qHandle=schema.newQuery() try: qHandle.addToTableList('LUMISUMMARYV2') qHandle.addToOutputList('LUMILSNUM','lumilsnum') qHandle.addToOutputList('BEAMSTATUS','beamstatus') qHandle.addToOutputList('BEAMENERGY','beamenergy') qHandle.addToOutputList('INSTLUMIERROR','instlumierror') qHandle.addToOutputList('INSTLUMIQUALITY','instlumiquality') qHandle.addToOutputList('BXLUMIVALUE_OCC1','bxvalue_occ1') qHandle.addToOutputList('BXLUMIERROR_OCC1','bxerror_occ1') qHandle.addToOutputList('BXLUMIQUALITY_OCC1','bxquality_occ1') qHandle.addToOutputList('BXLUMIVALUE_OCC2','bxvalue_occ2') qHandle.addToOutputList('BXLUMIERROR_OCC2','bxerror_occ2') qHandle.addToOutputList('BXLUMIQUALITY_OCC2','bxquality_occ2') qHandle.addToOutputList('BXLUMIVALUE_ET','bxvalue_et') qHandle.addToOutputList('BXLUMIERROR_ET','bxerror_et') qHandle.addToOutputList('BXLUMIQUALITY_ET','bxquality_et') qHandle.addToOutputList('CMSBXINDEXBLOB','bxindexblob') qHandle.addToOutputList('BEAMINTENSITYBLOB_1','beam1intensity') qHandle.addToOutputList('BEAMINTENSITYBLOB_2','beam2intensity') qConditionStr='DATA_ID=:dataid' qCondition=coral.AttributeList() qCondition.extend('dataid','unsigned long long') print('oldlumidataid ',oldlumidataid) qCondition['dataid'].setData(int(oldlumidataid)) qResult=coral.AttributeList() qResult.extend('lumilsnum','unsigned int') qResult.extend('beamstatus','string') qResult.extend('beamenergy','float') qResult.extend('instlumierror','float') qResult.extend('instlumiquality','short') qResult.extend('bxvalue_occ1','blob') qResult.extend('bxerror_occ1','blob') qResult.extend('bxquality_occ1','blob') qResult.extend('bxvalue_occ2','blob') qResult.extend('bxerror_occ2','blob') qResult.extend('bxquality_occ2','blob') qResult.extend('bxvalue_et','blob') qResult.extend('bxerror_et','blob') qResult.extend('bxquality_et','blob') qResult.extend('bxindexblob','blob') qResult.extend('beam1intensity','blob') qResult.extend('beam2intensity','blob') qHandle.defineOutput(qResult) qHandle.setCondition(qConditionStr,qCondition) cursor=qHandle.execute() while next(cursor): lumilsnum=cursor.currentRow()['lumilsnum'].data() beamstatus=cursor.currentRow()['beamstatus'].data() beamenergy=cursor.currentRow()['beamenergy'].data() instlumierror=cursor.currentRow()['instlumierror'].data() instlumiquality=cursor.currentRow()['instlumiquality'].data() bxvalueblob_occ1=cursor.currentRow()['bxvalue_occ1'].data() bxvalueblob_occ1Array=CommonUtil.unpackBlobtoArray(bxvalueblob_occ1,'f') bxerrblob_occ1=cursor.currentRow()['bxerror_occ1'].data() bxqualityblob_occ1=cursor.currentRow()['bxquality_occ1'].data() bxvalueblob_occ2=cursor.currentRow()['bxvalue_occ2'].data() bxerrblob_occ2=cursor.currentRow()['bxerror_occ2'].data() bxqualityblob_occ2=cursor.currentRow()['bxquality_occ2'].data() bxvalueblob_et=cursor.currentRow()['bxvalue_et'].data() bxerrblob_et=cursor.currentRow()['bxerror_et'].data() bxqualityblob_et=cursor.currentRow()['bxquality_et'].data() bxindexblob=cursor.currentRow()['bxindexblob'].data() beam1intensity=cursor.currentRow()['beam1intensity'].data() beam2intensity=cursor.currentRow()['beam2intensity'].data() result[lumilsnum]=[bxvalueblob_occ1,bxerrblob_occ1,bxqualityblob_occ1,bxvalueblob_occ2,bxerrblob_occ2,bxqualityblob_occ2,bxvalueblob_et,bxerrblob_et,bxqualityblob_et,bxindexblob,beam1intensity,beam2intensity,beamstatus,beamenergy,instlumierror,instlumiquality] except : del qHandle raise del qHandle return result
def fetchOldData(schema, oldlumidataid): ''' fetch old perbunch data if the run exists select CMSBXINDEXBLOB,BEAMINTENSITYBLOB_1,BEAMINTENSITYBLOB_2,BXLUMIVALUE_OCC1,BXLUMIVALUE_OCC2,BXLUMIVALUE_ET,BXLUMIERROR_OCC1,BXLUMIERROR_OCC2,BXLUMIERROR_ET,BXLUMIQUALITY_OCC1,BXLUMIQUALITY_OCC2,BXLUMIQUALITY_ET from lumisummaryv2 where data_id=:oldlumidataid; output: {lumilsnum:[bxvalueblob_occ1(0),bxerrblob_occ1(1),bxqualityblob_occ1(2),bxvalueblob_occ2(3),bxerrblob_occ2(4),bxqualityblob_occ2(5),bxvalueblob_et(6),bxerrblob_et(7),bxqualityblob_et(8),bxindexblob(9),beam1intensity(10),beam2intensity(11),beamstatus(12),beamenergy(13),instlumierror(14),instlumiquality(15)],...} ''' result = {} qHandle = schema.newQuery() try: qHandle.addToTableList('LUMISUMMARYV2') qHandle.addToOutputList('LUMILSNUM', 'lumilsnum') qHandle.addToOutputList('BEAMSTATUS', 'beamstatus') qHandle.addToOutputList('BEAMENERGY', 'beamenergy') qHandle.addToOutputList('INSTLUMIERROR', 'instlumierror') qHandle.addToOutputList('INSTLUMIQUALITY', 'instlumiquality') qHandle.addToOutputList('BXLUMIVALUE_OCC1', 'bxvalue_occ1') qHandle.addToOutputList('BXLUMIERROR_OCC1', 'bxerror_occ1') qHandle.addToOutputList('BXLUMIQUALITY_OCC1', 'bxquality_occ1') qHandle.addToOutputList('BXLUMIVALUE_OCC2', 'bxvalue_occ2') qHandle.addToOutputList('BXLUMIERROR_OCC2', 'bxerror_occ2') qHandle.addToOutputList('BXLUMIQUALITY_OCC2', 'bxquality_occ2') qHandle.addToOutputList('BXLUMIVALUE_ET', 'bxvalue_et') qHandle.addToOutputList('BXLUMIERROR_ET', 'bxerror_et') qHandle.addToOutputList('BXLUMIQUALITY_ET', 'bxquality_et') qHandle.addToOutputList('CMSBXINDEXBLOB', 'bxindexblob') qHandle.addToOutputList('BEAMINTENSITYBLOB_1', 'beam1intensity') qHandle.addToOutputList('BEAMINTENSITYBLOB_2', 'beam2intensity') qConditionStr = 'DATA_ID=:dataid' qCondition = coral.AttributeList() qCondition.extend('dataid', 'unsigned long long') print('oldlumidataid ', oldlumidataid) qCondition['dataid'].setData(int(oldlumidataid)) qResult = coral.AttributeList() qResult.extend('lumilsnum', 'unsigned int') qResult.extend('beamstatus', 'string') qResult.extend('beamenergy', 'float') qResult.extend('instlumierror', 'float') qResult.extend('instlumiquality', 'short') qResult.extend('bxvalue_occ1', 'blob') qResult.extend('bxerror_occ1', 'blob') qResult.extend('bxquality_occ1', 'blob') qResult.extend('bxvalue_occ2', 'blob') qResult.extend('bxerror_occ2', 'blob') qResult.extend('bxquality_occ2', 'blob') qResult.extend('bxvalue_et', 'blob') qResult.extend('bxerror_et', 'blob') qResult.extend('bxquality_et', 'blob') qResult.extend('bxindexblob', 'blob') qResult.extend('beam1intensity', 'blob') qResult.extend('beam2intensity', 'blob') qHandle.defineOutput(qResult) qHandle.setCondition(qConditionStr, qCondition) cursor = qHandle.execute() while next(cursor): lumilsnum = cursor.currentRow()['lumilsnum'].data() beamstatus = cursor.currentRow()['beamstatus'].data() beamenergy = cursor.currentRow()['beamenergy'].data() instlumierror = cursor.currentRow()['instlumierror'].data() instlumiquality = cursor.currentRow()['instlumiquality'].data() bxvalueblob_occ1 = cursor.currentRow()['bxvalue_occ1'].data() bxvalueblob_occ1Array = CommonUtil.unpackBlobtoArray( bxvalueblob_occ1, 'f') bxerrblob_occ1 = cursor.currentRow()['bxerror_occ1'].data() bxqualityblob_occ1 = cursor.currentRow()['bxquality_occ1'].data() bxvalueblob_occ2 = cursor.currentRow()['bxvalue_occ2'].data() bxerrblob_occ2 = cursor.currentRow()['bxerror_occ2'].data() bxqualityblob_occ2 = cursor.currentRow()['bxquality_occ2'].data() bxvalueblob_et = cursor.currentRow()['bxvalue_et'].data() bxerrblob_et = cursor.currentRow()['bxerror_et'].data() bxqualityblob_et = cursor.currentRow()['bxquality_et'].data() bxindexblob = cursor.currentRow()['bxindexblob'].data() beam1intensity = cursor.currentRow()['beam1intensity'].data() beam2intensity = cursor.currentRow()['beam2intensity'].data() result[lumilsnum] = [ bxvalueblob_occ1, bxerrblob_occ1, bxqualityblob_occ1, bxvalueblob_occ2, bxerrblob_occ2, bxqualityblob_occ2, bxvalueblob_et, bxerrblob_et, bxqualityblob_et, bxindexblob, beam1intensity, beam2intensity, beamstatus, beamenergy, instlumierror, instlumiquality ] except: del qHandle raise del qHandle return result
(lumidataid,trgdataid,hltdataid)=dataDML.guessDataIdByRun(schema,myrun) print 'all dataids ',lumidataid,trgdataid,hltdataid (runnum,lumiLSdata)=dataDML.lumiLSById(schema,lumidataid) lumils=lumiLSdata.keys() lumils.sort() for lsnum in lumils: print 'lumilsnum,cmslsnum,instlumi ',lsnum,lumiLSdata[lsnum][0],lumiLSdata[lsnum][1]*normval (runnum,trgLSdata)=dataDML.trgLSById(schema,trgdataid) cmsls=trgLSdata.keys() cmsls.sort() for lsnum in cmsls: print 'cmslsnum,deadtime,bizerocount,bitzeroprescale,deadfrac ',lsnum,trgLSdata[lsnum][0],trgLSdata[lsnum][1],trgLSdata[lsnum][2],trgLSdata[lsnum][3] [runnum,datasource,npath,pathnames]=dataDML.hltRunById(schema,hltdataid) print 'npath,pathnames ',npath,pathnames pathnameList=pathnames.split(',') (runnum,hltLSdata)=dataDML.hltLSById(schema,hltdataid) cmsls=hltLSdata.keys() cmsls.sort() for lsnum in cmsls: prescaleblob=hltLSdata[lsnum][0] print 'lsnum ',lsnum if prescaleblob: hltprescales=CommonUtil.unpackBlobtoArray(prescaleblob,'h') for pidx,pathname in enumerate(pathnameList): print 'pathname, hltprescales ',pathname,hltprescales[pidx] session.transaction().commit() del session print ''