dbsession.transaction().commit() ############################## # list ############################## if options.action == 'list': dbsession = svc.openSession(isReadOnly=True, cpp2sqltype=[ ('unsigned int', 'NUMBER(10)'), ('unsigned long long', 'NUMBER(20)') ]) dbsession.transaction().start(True) if options.normname: norminfo = normDML.normInfoByName(dbsession.nominalSchema(), options.normname) normdataid = norminfo[0] normvalues = normDML.normValueById(dbsession.nominalSchema(), normdataid) lumiReport.toScreenNormDetail(options.normname, norminfo, normvalues) elif options.lumitype: luminormidmap = normDML.normIdByType(dbsession.nominalSchema(), lumitype=options.lumitype, defaultonly=False) for normname, normid in luminormidmap.items(): norminfo = normDML.normInfoByName(dbsession.nominalSchema(), normname) normvalues = normDML.normValueById(dbsession.nominalSchema(), normid) lumiReport.toScreenNormDetail(normname, norminfo, normvalues) else: allnorms = normDML.allNorms(dbsession.nominalSchema()) lumiReport.toScreenNormSummary(allnorms)
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) if options.action == 'lumibyls': if not options.hltpath: result=lumiCalcAPI.lumiForIds(session.nominalSchema(),irunlsdict,dataidmap,runsummaryMap=GrunsummaryData,beamstatusfilter=None,timeFilter=timeFilter,normmap=normvalueDict,lumitype='PIXEL',minbiasXsec=options.minbiasxsec) lumiReport.toScreenLumiByLS(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()
dbsession=svc.openSession(isReadOnly=False,cpp2sqltype=[('unsigned int','NUMBER(10)'),('unsigned long long','NUMBER(20)')]) dbsession.transaction().start(False) if options.action=='setdefault': normDML.promoteNormToTypeDefault(dbsession.nominalSchema(),options.normname,options.lumitype) if options.action=='unsetdefault': normDML.demoteNormFromTypeDefault(dbsession.nominalSchema(),options.normname,options.lumitype) dbsession.transaction().commit() ############################## # list ############################## if options.action=='list': dbsession=svc.openSession(isReadOnly=True,cpp2sqltype=[('unsigned int','NUMBER(10)'),('unsigned long long','NUMBER(20)')]) dbsession.transaction().start(True) if options.normname: norminfo=normDML.normInfoByName(dbsession.nominalSchema(),options.normname) normdataid=norminfo[0] normvalues=normDML.normValueById(dbsession.nominalSchema(),normdataid) lumiReport.toScreenNormDetail(options.normname,norminfo,normvalues) elif options.lumitype: luminormidmap=normDML.normIdByType(dbsession.nominalSchema(),lumitype=options.lumitype,defaultonly=False) for normname,normid in luminormidmap.items(): norminfo=normDML.normInfoByName(dbsession.nominalSchema(),normname) normvalues=normDML.normValueById(dbsession.nominalSchema(),normid) lumiReport.toScreenNormDetail(normname,norminfo,normvalues) else: allnorms=normDML.allNorms(dbsession.nominalSchema()) lumiReport.toScreenNormSummary(allnorms) dbsession.transaction().commit() del dbsession del svc