def getSimpleLinkMap(ts, orbitDelay=28, outputDirectory = "", slotDict = {}): print 'Start Get Mapping' linkMap = {} # print_links(ts) getGoodLinks(ts, orbitDelay=orbitDelay, forceInit=True) setFixRangeModeOff(ts, slotDict) sleep(2) for rbx in slotDict: print 'RBX number:', rbx for slot in slotDict[rbx]: uniqueID = getUniqueID(ts, rbx, slot) print 'Looking at slot %i, id: %s'%(slot, uniqueID) setFixRangeModeOff(ts, {rbx:[slot]}) sleep(2) setFixRangeModeOnBottom(ts, {rbx:[slot]}, 3) sleep(2) # printDaisyChain(slot) fName = uhtr.get_histos(ts,n_orbits=10, sepCapID=0, file_out_base = outputDirectory+"mappingHist") vals = read_histo(fName,False) for i in range(0,144,6): link = int(i/6) #print link, vals[i] if vals[i]['mean'] > 100: print "Bottom: Link %i"%link linkMap[link] = {'unique_ID':uniqueID, 'rbx':rbx, 'slot':slot, 'side':'Bottom', } setFixRangeModeOff(ts, {rbx:[slot]}) sleep(2) setFixRangeModeOnTop(ts, {rbx:[slot]}, 3) sleep(2) #printDaisyChain(slot) fName = uhtr.get_histos(ts,n_orbits=10, sepCapID=0, file_out_base = outputDirectory+"mappingHist") vals = read_histo(fName,False) for i in range(0,144,6): link = int(i/6) #print link, vals[i] if vals[i]['mean'] > 100: print "Top: Link %i"%link linkMap[link] = {'unique_ID':uniqueID, 'rbx':rbx, 'slot':slot, 'side':'Top', } setFixRangeModeOff(ts, slotDict) sleep(2) print 'Done with Getting Mapping' return linkMap
import sys import subprocess from hcal_teststand.uhtr import * from hcal_teststand import * from hcal_teststand.hcal_teststand import * from hcal_teststand.qie import * from read_histo import * ts = teststand("HEfnalAcc") uhtr.get_histos(ts=ts, n_orbits=1000, sepCapID=1, file_out_base="histotest") vals = read_histo("histotest.root",True,0) for i in vals: print i, vals[i]