Example #1
0
def getFillFromDB(schema,fillnum):
    '''
    output: {run:starttime}
    '''
    runtimesInFill={}
    fillrundict=lumiCalcAPI.fillrunMap(schema,fillnum)
    if len(fillrundict)>0:
        runs=fillrundict.values()[0]
        runlsdict=dict(list(zip(runs,[None]*len(runs))))
        runresult=lumiCalcAPI.runsummary(schema,runlsdict)    
        for perrundata in runresult:
            runtimesInFill[perrundata[0]]=perrundata[7]
    return runtimesInFill
Example #2
0
def getFillFromDB(schema, fillnum):
    '''
    output: {run:starttime}
    '''
    runtimesInFill = {}
    fillrundict = lumiCalcAPI.fillrunMap(schema, fillnum)
    if len(fillrundict) > 0:
        runs = fillrundict.values()[0]
        runlsdict = dict(zip(runs, [None] * len(runs)))
        runresult = lumiCalcAPI.runsummary(schema, runlsdict)
        for perrundata in runresult:
            runtimesInFill[perrundata[0]] = perrundata[7]
    return runtimesInFill
Example #3
0
     newFirstRun=lastDrawnRun+1
     if options.lastpointfromdb:
         newFirstRun=lastDrawnRun
     runsnotdrawn=lumiCalcAPI.runList(schema,options.fillnum,runmin=newFirstRun,runmax=None,startT=begtime,stopT=endtime,l1keyPattern=None,hltkeyPattern=None,amodetag=options.amodetag,nominalEnergy=options.beamenergy,energyFlut=options.beamfluctuation,requiretrg=reqTrg,requirehlt=reqHlt)
     
 if options.action=='fill':
     lastDrawnFill=1000
     lastDrawnRun=132000
     if resultlines:
         lastDrawnFill=max([int(t[0]) for t in resultlines])        
         lastDrawnRun=min([int(t[1]) for t in resultlines if int(t[0])==lastDrawnFill])
     newFirstRun=lastDrawnRun+1
     if options.lastpointfromdb:
         newFirstRun=lastDrawnRun
     runsnotdrawn=lumiCalcAPI.runList(schema,runmin=newFirstRun,runmax=None,startT=begtime,stopT=endtime,l1keyPattern=None,hltkeyPattern=None,amodetag=options.amodetag,nominalEnergy=options.beamenergy,energyFlut=options.beamfluctuation,requiretrg=reqTrg,requirehlt=reqHlt)
     fillrunMap=lumiCalcAPI.fillrunMap(schema,runmin=newFirstRun,runmax=None,startT=begtime,stopT=endtime)
 session.transaction().commit()
 for r in runsnotdrawn:
     if irunlsdict:
         if not irunlsdict.has_key(r):
             continue                
         runlsfromDB[r]=irunlsdict[r]
     else:
         runlsfromDB[r]=None
             
 if options.verbose:
     print '[INFO] runs from db: ',runlsfromDB
     if lastDrawnRun:
         print '[INFO] last run in old plot: ',lastDrawnRun
         print '[INFO] first run from DB in fresh plot: ',newFirstRun
     if maxDrawnDay:
Example #4
0
            newFirstRun = lastDrawnRun
        runlist = lumiCalcAPI.runList(session.nominalSchema(),
                                      runmin=newFirstRun,
                                      runmax=None,
                                      startT=begtime,
                                      stopT=endtime,
                                      l1keyPattern=None,
                                      hltkeyPattern=None,
                                      amodetag=options.amodetag,
                                      nominalEnergy=options.beamenergy,
                                      energyFlut=options.beamfluctuation,
                                      requiretrg=reqTrg,
                                      requirehlt=reqHlt)
        fillrunMap = lumiCalcAPI.fillrunMap(session.nominalSchema(),
                                            runmin=newFirstRun,
                                            runmax=None,
                                            startT=begtime,
                                            stopT=endtime)

    if options.inputfile:
        (irunlsdict, iresults) = parseInputFiles(options.inputfile)
        #apply further filter only if specified
        if options.fillnum or options.begin or options.end or options.amodetag or options.beamenergy:
            rruns = [val for val in runlist if val in irunlsdict.keys()]
            for selectedrun in irunlsdict.keys(
            ):  #if there's further filter on the runlist,clean input dict
                if selectedrun not in rruns:
                    del irunlsdict[selectedrun]
        else:
            rruns = irunlsdict.keys()
    else:
Example #5
0
            lastDrawnRun=max([int(t[0]) for t in resultlines])
        newFirstRun=lastDrawnRun+1
        if options.lastpointfromdb:
            newFirstRun=lastDrawnRun
        runlist=lumiCalcAPI.runList(session.nominalSchema(),options.fillnum,runmin=newFirstRun,runmax=None,startT=begtime,stopT=endtime,l1keyPattern=None,hltkeyPattern=None,amodetag=options.amodetag,nominalEnergy=options.beamenergy,energyFlut=options.beamfluctuation,requiretrg=reqTrg,requirehlt=reqHlt)
    if options.action=='fill':
        lastDrawnFill=1000
        lastDrawnRun=132000
        if resultlines:
            lastDrawnFill=max([int(t[0]) for t in resultlines])        
            lastDrawnRun=min([int(t[1]) for t in resultlines if int(t[0])==lastDrawnFill])
        newFirstRun=lastDrawnRun+1
        if options.lastpointfromdb:
            newFirstRun=lastDrawnRun
        runlist=lumiCalcAPI.runList(session.nominalSchema(),runmin=newFirstRun,runmax=None,startT=begtime,stopT=endtime,l1keyPattern=None,hltkeyPattern=None,amodetag=options.amodetag,nominalEnergy=options.beamenergy,energyFlut=options.beamfluctuation,requiretrg=reqTrg,requirehlt=reqHlt)
        fillrunMap=lumiCalcAPI.fillrunMap(session.nominalSchema(),runmin=newFirstRun,runmax=None,startT=begtime,stopT=endtime)

    if options.inputfile:
        (irunlsdict,iresults)=parseInputFiles(options.inputfile)
        #apply further filter only if specified
        if options.fillnum or options.begin or options.end or options.amodetag or options.beamenergy:
            rruns=[val for val in runlist if val in irunlsdict.keys()]
            for selectedrun in irunlsdict.keys():#if there's further filter on the runlist,clean input dict
                if selectedrun not in rruns:
                    del irunlsdict[selectedrun]
        else:
            rruns=irunlsdict.keys()
    else:
        for run in runlist:
            irunlsdict[run]=None
        rruns=irunlsdict.keys()
Example #6
0
     os.environ['CORAL_AUTH_PATH'] = options.authpath
 svc=sessionManager.sessionManager(options.connect,authpath=options.authpath,debugON=options.debug)
 session=svc.openSession(isReadOnly=True,cpp2sqltype=[('unsigned int','NUMBER(10)'),('unsigned long long','NUMBER(20)')])
     
 session.transaction().start(True)
 allfills=lumiCalcAPI.fillInRange(session.nominalSchema(),fillmin=options.minfill,fillmax=options.maxfill,amodetag=options.amodetag)
 if len(allfills)==0:
     print 'no qualified fills found, do nothing... '
     exit(-1)
 allfills.sort()
 runsperfill={}
 runtimes={}
 irunlsdict={}
 if options.fillnum:
     if int(options.fillnum) in allfills:
         runsperfill=lumiCalcAPI.fillrunMap(session.nominalSchema(),fillnum=int(options.fillnum))
         allruns=runsperfill[ int(options.fillnum) ]
         allls=[None]*len(allruns)
         irunlsdict=dict(list(zip(allruns,allls)))
         runresults=lumiCalcAPI.runsummary(session.nominalSchema(),irunlsdict)
         for r in runresults:
             runtimes[r[0]]=r[7]
 else:
     for fill in allfills:
         runtimes={}
         runsperfill=lumiCalcAPI.fillrunMap(session.nominalSchema(),fillnum=fill)
         runs=runsperfill.values()#list of lists
         allruns=[item for sublist in runs for item in sublist]
         allls=[None]*len(allruns)
         irunlsdict=dict(list(zip(allruns,allls)))
         runresults=lumiCalcAPI.runsummary(session.nominalSchema(),irunlsdict)
Example #7
0
    session.transaction().start(True)
    allfills = lumiCalcAPI.fillInRange(session.nominalSchema(),
                                       fillmin=options.minfill,
                                       fillmax=options.maxfill,
                                       amodetag=options.amodetag)
    if len(allfills) == 0:
        print 'no qualified fills found, do nothing... '
        exit(-1)
    allfills.sort()
    runsperfill = {}
    runtimes = {}
    irunlsdict = {}
    if options.fillnum:
        if int(options.fillnum) in allfills:
            runsperfill = lumiCalcAPI.fillrunMap(session.nominalSchema(),
                                                 fillnum=int(options.fillnum))
            allruns = runsperfill[int(options.fillnum)]
            allls = [None] * len(allruns)
            irunlsdict = dict(list(zip(allruns, allls)))
            runresults = lumiCalcAPI.runsummary(session.nominalSchema(),
                                                irunlsdict)
            for r in runresults:
                runtimes[r[0]] = r[7]
    else:
        for fill in allfills:
            runtimes = {}
            runsperfill = lumiCalcAPI.fillrunMap(session.nominalSchema(),
                                                 fillnum=fill)
            runs = runsperfill.values()  #list of lists
            allruns = [item for sublist in runs for item in sublist]
            allls = [None] * len(allruns)