if normdefinitionDict.has_key('comment'): commentStr = normdefinitionDict['comment'] if options.action == 'create': (revision_id, branch_id) = revisionDML.branchInfoByName( dbsession.nominalSchema(), 'NORM') branchinfo = (revision_id, 'NORM') (normrev_id, normentry_id, normdata_id) = normDML.createNorm(dbsession.nominalSchema(), normname, lumitype, istypedefault, branchinfo, comment=commentStr) else: normdata_id = normDML.normIdByName(dbsession.nominalSchema(), normname) for normvalueDict in normvalues: if not normvalueDict.has_key( 'corrector') or not normvalueDict['corrector']: raise RuntimeError( 'parameter corrector is required for create/insert action') if not normvalueDict.has_key( 'since') or not normvalueDict['since']: raise RuntimeError( 'parameter since is required for create/insert action') correctorStr = normvalueDict['corrector'] sincerun = int(normvalueDict['since']) if options.firstsince: if sincerun < int(options.firstsince): continue amodetag = normvalueDict['amodetag']
sys.exit(13) ############################################################### # check normtag and get norm values if required ############################################################### normname='NONE' normid=0 normvalueDict={} if not options.withoutNorm: normname=options.normtag if not normname: normmap=normDML.normIdByType(session.nominalSchema(),lumitype='PIXEL',defaultonly=True) if len(normmap): normname=normmap.keys()[0] normid=normmap[normname] else: normid=normDML.normIdByName(session.nominalSchema(),normname) if not normid: raise RuntimeError('[ERROR] cannot resolve norm/correction') sys.exit(12) normvalueDict=normDML.normValueById(session.nominalSchema(),normid) #{since:[corrector(0),{paramname:paramvalue}(1),amodetag(2),egev(3),comment(4)]} session.transaction().commit() lumiReport.toScreenHeader(thiscmmd,datatagname,normname,workingversion,updateversion,'PIXEL',toFile=options.headerfile) ################## # ls level # ################## session.transaction().start(True) GrunsummaryData=lumiCalcAPI.runsummaryMap(session.nominalSchema(),irunlsdict,dataidmap,lumitype='PIXEL') if options.action == 'overview': result=lumiCalcAPI.lumiForIds(session.nominalSchema(),irunlsdict,dataidmap,runsummaryMap=GrunsummaryData,beamstatusfilter=None,timeFilter=timeFilter,normmap=normvalueDict,lumitype='PIXEL') lumiReport.toScreenOverview(result,iresults,options.scalefactor,irunlsdict=irunlsdict,noWarning=noWarning,toFile=options.outputfile)
else: dataidmap=revisionDML.dataIdsByTagName(session.nominalSchema(),datatagname,runlist=runlist,withcomment=False) # # check normtag and get norm values if required # normname='NONE' normid=0 normvalueDict={} if not options.withoutNorm: normname=options.normtag if not normname: normmap=normDML.normIdByType(session.nominalSchema(),lumitype='HF',defaultonly=True) if len(normmap): normname=normmap.keys()[0] normid=normmap[normname] else: normid=normDML.normIdByName(session.nominalSchema(),normname) if not normid: raise RuntimeError('[ERROR] cannot resolve norm/correction') sys.exit(-1) normvalueDict=normDML.normValueById(session.nominalSchema(),normid) #{since:[corrector(0),{paramname:paramvalue}(1),amodetag(2),egev(3),comment(4)]} session.transaction().commit() for fillnum in fillstoprocess:# process per fill session.transaction().start(True) filldata=getSpecificLumi(session.nominalSchema(),fillnum,options.inputdir,dataidmap,normvalueDict,xingMinLum=options.xingMinLum,amodetag=options.amodetag,bxAlgo=options.bxAlgo) specificlumiTofile(fillnum,filldata,options.outputdir) session.transaction().commit()
else: if 'lumitype' in normdefinitionDict and normdefinitionDict['lumitype']: lumitype=normdefinitionDict['lumitype'] istypedefault=0 if 'istypedefault' in normdefinitionDict and normdefinitionDict['istypedefault']: istypedefault=int(normdefinitionDict['istypedefault']) commentStr='' if 'comment' in normdefinitionDict: commentStr=normdefinitionDict['comment'] if options.action=='create': (revision_id,branch_id)=revisionDML.branchInfoByName(dbsession.nominalSchema(),'NORM') branchinfo=(revision_id,'NORM') (normrev_id,normentry_id,normdata_id)=normDML.createNorm(dbsession.nominalSchema(),normname,lumitype,istypedefault,branchinfo,comment=commentStr) else: normdata_id=normDML.normIdByName(dbsession.nominalSchema(),normname) for normvalueDict in normvalues: if 'corrector' not in normvalueDict or not normvalueDict['corrector']: raise RuntimeError('parameter corrector is required for create/insert action') if 'since' not in normvalueDict or not normvalueDict['since']: raise RuntimeError('parameter since is required for create/insert action') correctorStr=normvalueDict['corrector'] sincerun=int(normvalueDict['since']) if options.firstsince: if sincerun<int(options.firstsince): continue amodetag=normvalueDict['amodetag'] egev=int(normvalueDict['egev']) detailcomment=normvalueDict['comment'] (correctorname,parameterlist)=CommonUtil.parselumicorrector(correctorStr) parameterDict={}