26 def __init__(self):
27
28 self.reference_gains={}
29 self.UNIX2COOL = 1000000000
30
31
32 dbSvc = cool.DatabaseSvcFactory.databaseService()
33
34 dbString = 'oracle://ATLAS_COOLPROD;schema=ATLAS_COOLONL_TRIGGER;dbname=CONDBR2'
35 try:
36 db = dbSvc.openDatabase(dbString, False)
37 except Exception as e:
38 print ('Error: Problem opening database', e)
39 sys.exit(1)
40
41 folder_name = "/TRIGGER/Receivers/Factors/CalibGains"
42 folder=db.getFolder(folder_name)
43
44 startUtime = int(time.time())
45 endUtime = int(time.time())
46 startValKey = startUtime * self.UNIX2COOL
47 endValKey = endUtime * self.UNIX2COOL
48 chsel = cool.ChannelSelection(0,sys.maxint)
49
50 try:
51 itr=folder.browseObjects(startValKey, endValKey, chsel)
52 except Exception as e:
53 print (e)
54 sys.exit(1)
55
56 for row in itr:
57 ReceiverId = hex(int(row.channelId()))
58 payload = row.payload()
59 gain = payload['factor']
60 self.reference_gains[ReceiverId]=gain
61
62
63 db.closeDatabase()
64
65