Definition at line 423 of file COOLRates.py.
◆ __init__()
def COOLRates.RateQueryWorker.__init__ |
( |
|
self | ) |
|
Definition at line 424 of file COOLRates.py.
425 COOLQueryWorker.__init__(self)
◆ __call__()
def COOLRates.COOLQueryWorker.__call__ |
( |
|
self, |
|
|
|
queueIn, |
|
|
|
queueOut |
|
) |
| |
|
inherited |
Definition at line 133 of file COOLRates.py.
133 def __call__(self,queueIn,queueOut):
134 signal.signal(signal.SIGINT, signal.SIG_IGN)
138 queryBundle = queueIn.get(
False,.001)
142 if queryBundle
is True:
144 resultBundle = self.processQuery(queryBundle)
145 queueOut.put(resultBundle)
146 except Exception
as exception:
147 logger.critical(exception)
◆ close()
def COOLRates.COOLQueryWorker.close |
( |
|
self | ) |
|
|
inherited |
◆ convertTime()
def COOLRates.COOLQueryWorker.convertTime |
( |
|
self, |
|
|
|
timeStart, |
|
|
|
timeEnd, |
|
|
|
timeConverter |
|
) |
| |
|
inherited |
Definition at line 98 of file COOLRates.py.
98 def convertTime(self,timeStart,timeEnd,timeConverter):
99 validRunLbs = [runLb
for runLb,time
in timeConverter.items()
if timeStart<=time<=timeEnd]
◆ getdb()
def COOLRates.COOLQueryWorker.getdb |
( |
|
self, |
|
|
|
dbName |
|
) |
| |
|
inherited |
Definition at line 78 of file COOLRates.py.
78 def getdb(self,dbName):
79 if dbName
not in self.db:
81 return self.db.
get(dbName)
◆ getdbName()
def COOLRates.COOLQueryWorker.getdbName |
( |
|
self, |
|
|
|
folderName |
|
) |
| |
|
inherited |
Definition at line 90 of file COOLRates.py.
90 def getdbName(self,folderName):
91 if folderName.startswith(
'/LHC/DCS/'):
92 return 'oracle://ATLAS_COOLPROD;schema=ATLAS_COOLOFL_DCS;dbname=COMP200;'
93 if folderName.startswith(
'/TRIGGER/HLT/')
and 'Rates' in folderName:
94 return "oracle://ATLAS_COOLPROD;schema=ATLAS_COOLONL_TRIGGER;dbname=MONP200;"
95 if not folderName.startswith(
'/'): folderName =
'/'+folderName
96 return "oracle://ATLAS_COOLPROD;schema=ATLAS_COOLONL_{0};dbname=COMP200;".
format(folderName.split(
"/")[1])
◆ getFolder()
def COOLRates.COOLQueryWorker.getFolder |
( |
|
self, |
|
|
|
folderName |
|
) |
| |
|
inherited |
Definition at line 83 of file COOLRates.py.
83 def getFolder(self,folderName):
84 if folderName
not in self.folder:
85 dbName = self.getdbName(folderName)
86 db = self.getdb(dbName)
87 self.folder[folderName] = db.getFolder(folderName)
88 return self.folder.
get(folderName)
◆ processQuery()
def COOLRates.RateQueryWorker.processQuery |
( |
|
self, |
|
|
|
rateBundle |
|
) |
| |
Reimplemented from COOLRates.COOLQueryWorker.
Definition at line 427 of file COOLRates.py.
427 def processQuery(self,rateBundle):
429 result[rateBundle.alias] = {}
433 folder = self.getFolder(rateBundle.folderName)
434 folder.setPrefetchAll(
False)
435 folderIterator = folder.browseObjects(rateBundle.IoVStart,rateBundle.IoVEnd,rateBundle.channelSelection)
436 while folderIterator.goToNext():
437 currentSlice = folderIterator.currentRef()
438 firstResult[currentSlice.since()]=
float(currentSlice.payloadValue(rateBundle.payloadName))
439 folderIterator.close()
442 if rateBundle.turnCountFolderName
is not None:
444 folder = self.getFolder(rateBundle.turnCountFolderName)
445 folder.setPrefetchAll(
False)
446 folderIterator = folder.browseObjects(rateBundle.IoVStart,rateBundle.IoVEnd,cool.ChannelSelection())
447 while folderIterator.goToNext():
448 currentSlice = folderIterator.currentRef()
449 secondResult[currentSlice.since()]=
float(currentSlice.payloadValue(rateBundle.turnCountPayloadName))
450 folderIterator.close()
451 result[rateBundle.alias].update(dict((key,11246.0*firstResult.get(key)/secondResult.get(key))
for key
in commonKeys([firstResult,secondResult])))
453 result[rateBundle.alias].update(firstResult)
◆ db
COOLRates.COOLQueryWorker.db |
|
inherited |
◆ db_svc
COOLRates.COOLQueryWorker.db_svc |
|
inherited |
◆ folder
COOLRates.COOLQueryWorker.folder |
|
inherited |
◆ timeConverter
COOLRates.COOLQueryWorker.timeConverter |
|
inherited |
The documentation for this class was generated from the following file: