def lumi_context(action, runs_lumis): svc = sessionManager.sessionManager('frontier://LumiCalc/CMS_LUMI_PROD') session = svc.openSession(isReadOnly=True, cpp2sqltype=[('unsigned int','NUMBER(10)'),('unsigned long long','NUMBER(20)')]) session.transaction().start(True) datatagid, datatagname = revisionDML.currentDataTag(session.nominalSchema()) dataidmap = revisionDML.dataIdsByTagId(session.nominalSchema(), datatagid, runlist=runs_lumis.keys(), withcomment=False) assert dataidmap session.transaction().commit() if action == 'trgbyls': session.transaction().start(True) result = lumiCalcAPI.trgForIds(session.nominalSchema(), runs_lumis, dataidmap, trgbitname=None, trgbitnamepattern='*', withL1Count=False, withPrescale=True) session.transaction().commit() elif action == 'hltbyls': session.transaction().start(True) result = lumiCalcAPI.hltForIds(session.nominalSchema(), runs_lumis, dataidmap, hltpathname=None, hltpathpattern='*', withL1Pass=False, withHLTAccept=False) session.transaction().commit() elif action == 'hltmenu': session.transaction().start(True) result = lumiCalcAPI.hltpathsForRange(session.nominalSchema(), runs_lumis, hltpathname=None, hltpathpattern='*') session.transaction().commit() del session del svc return result
def lumi_context(action, runs_lumis): svc = sessionManager.sessionManager('frontier://LumiCalc/CMS_LUMI_PROD') session = svc.openSession(isReadOnly=True, cpp2sqltype=[('unsigned int', 'NUMBER(10)'), ('unsigned long long', 'NUMBER(20)') ]) session.transaction().start(True) datatagid, datatagname = revisionDML.currentDataTag( session.nominalSchema()) dataidmap = revisionDML.dataIdsByTagId(session.nominalSchema(), datatagid, runlist=runs_lumis.keys(), withcomment=False) assert dataidmap session.transaction().commit() if action == 'trgbyls': session.transaction().start(True) result = lumiCalcAPI.trgForIds(session.nominalSchema(), runs_lumis, dataidmap, trgbitname=None, trgbitnamepattern='*', withL1Count=False, withPrescale=True) session.transaction().commit() elif action == 'hltbyls': session.transaction().start(True) result = lumiCalcAPI.hltForIds(session.nominalSchema(), runs_lumis, dataidmap, hltpathname=None, hltpathpattern='*', withL1Pass=False, withHLTAccept=False) session.transaction().commit() elif action == 'hltmenu': session.transaction().start(True) result = lumiCalcAPI.hltpathsForRange(session.nominalSchema(), runs_lumis, hltpathname=None, hltpathpattern='*') session.transaction().commit() del session del svc return result
del irunlsdict[selectedrun] if not irunlsdict: print '[INFO] No qualified run found, do nothing' sys.exit(13) session.transaction().commit() thiscmmd = sys.argv[0] lumiReport.toScreenHeader(thiscmmd, datatagname, 'n/a', 'n/a', 'n/a', 'n/a') if options.action == 'trgbyls': session.transaction().start(True) result = lumiCalcAPI.trgForIds(session.nominalSchema(), irunlsdict, dataidmap, trgbitname=sname, trgbitnamepattern=spattern, withL1Count=True, withPrescale=True) session.transaction().commit() if not options.outputfile: lumiReport.toScreenLSTrg(result, iresults=iresults, irunlsdict=irunlsdict, noWarning=options.nowarning, withoutmask=options.withoutmask) else: lumiReport.toScreenLSTrg(result, iresults=iresults, irunlsdict=irunlsdict, noWarning=options.nowarning,
irunlsdict=dict(list(zip(rruns,[None]*len(rruns)))) else: for selectedrun in irunlsdict.keys():#if there's further filter on the runlist,clean input dict if selectedrun not in rruns: del irunlsdict[selectedrun] if not irunlsdict: print('[INFO] No qualified run found, do nothing') sys.exit(13) session.transaction().commit() thiscmmd=sys.argv[0] lumiReport.toScreenHeader(thiscmmd,datatagname,'n/a','n/a','n/a','n/a') if options.action == 'trgbyls': session.transaction().start(True) result=lumiCalcAPI.trgForIds(session.nominalSchema(),irunlsdict,dataidmap,trgbitname=sname,trgbitnamepattern=spattern,withL1Count=True,withPrescale=True) session.transaction().commit() if not options.outputfile: lumiReport.toScreenLSTrg(result,iresults=iresults,irunlsdict=irunlsdict,noWarning=options.nowarning,withoutmask=options.withoutmask) else: lumiReport.toScreenLSTrg(result,iresults=iresults,irunlsdict=irunlsdict,noWarning=options.nowarning,toFile=options.outputfile,withoutmask=options.withoutmask) #print result sys.exit(0) if options.action == 'hltbyls': if not options.name: print('[ERROR] --name option is required by hltbyls, do nothing') sys.exit(0) withL1Pass=True withHLTAccept=True session.transaction().start(True) result=lumiCalcAPI.hltForIds(session.nominalSchema(),irunlsdict,dataidmap,hltpathname=sname,hltpathpattern=spattern,withL1Pass=withL1Pass,withHLTAccept=withHLTAccept)