ATLAS Offline Software
Loading...
Searching...
No Matches
mergeEnergyRamps.GainsFromSqlite Class Reference
Collaboration diagram for mergeEnergyRamps.GainsFromSqlite:

Public Member Functions

 __init__ (self, name, geometryMapper)
 getGoodGains (self)

Public Attributes

int cut_gain_low = 0.
int cut_gain_high = 3
int cut_offset_low = -100.
int cut_offset_high = 100.
 geometry_convertor = geometryMapper
 run_nr = None
 strategy = None
dict measured_gains = {}
dict measured_chi2 = {}
dict measured_offset = {}
dict measured_error_code = {}
int UNIX2COOL = 1000000000

Detailed Description

Definition at line 279 of file mergeEnergyRamps.py.

Constructor & Destructor Documentation

◆ __init__()

mergeEnergyRamps.GainsFromSqlite.__init__ ( self,
name,
geometryMapper )

Definition at line 281 of file mergeEnergyRamps.py.

281 def __init__(self,name,geometryMapper):
282
283# self.cut_gain_low = 0.5
284# self.cut_gain_high = 1.6
285# self.cut_offset_low = -10.
286# self.cut_offset_high = 10.
287
288 self.cut_gain_low = 0. # all gains that are not completly crazy...
289 self.cut_gain_high = 3
290 self.cut_offset_low = -100.
291 self.cut_offset_high = 100.
292
293 self.geometry_convertor = geometryMapper
294
295 self.run_nr = None #will come later
296 self.strategy = None #later
297
298 self.measured_gains={}
299 self.measured_chi2={}
300 self.measured_offset={}
301 self.measured_error_code={}
302
303 self.UNIX2COOL = 1000000000
304
305 # get database service and open database
306 dbSvc = cool.DatabaseSvcFactory.databaseService()
307
308 dbString='sqlite://;schema='+name+';dbname=L1CALO'
309 try:
310 db = dbSvc.openDatabase(dbString, False)
311 except Exception as e:
312 print ('Error: Problem opening database', e)
313 sys.exit(1)
314
315 folder_name = '/TRIGGER/L1Calo/V1/Results/EnergyScanResults'
316 folder=db.getFolder(folder_name)
317
318 startUtime = int(time.time())
319 endUtime = int(time.time())
320 startValKey = startUtime * self.UNIX2COOL
321 endValKey = endUtime * self.UNIX2COOL
322 chsel = cool.ChannelSelection(0,sys.maxsize)
323
324 try:
325 itr=folder.browseObjects(startValKey, endValKey, chsel)
326 except Exception as e:
327 print (e)
328 sys.exit(1)
329
330 for row in itr:
331 CoolId = hex(int(row.channelId()))
332 payload = row.payload()
333 self.measured_gains[CoolId] = payload['Slope']
334 self.measured_chi2[CoolId] = payload['Chi2']
335 self.measured_offset[CoolId] = payload['Offset']
336 self.measured_error_code[CoolId] = payload['ErrorCode']
337
338# print (self.measured_gains)
339
340 folder_gen_name = '/TRIGGER/L1Calo/V1/Results/EnergyScanRunInfo'
341 folder_gen=db.getFolder(folder_gen_name)
342
343 try:
344 itr=folder_gen.browseObjects(startValKey, endValKey, chsel)
345 except Exception as e:
346 print (e)
347 sys.exit(1)
348
349 for row in itr:
350 payload = row.payload()
351 self.run_nr = payload['RunNumber']
352 self.strategy = payload['GainStrategy']
353
354
355 # close database
356 db.closeDatabase()
357

Member Function Documentation

◆ getGoodGains()

mergeEnergyRamps.GainsFromSqlite.getGoodGains ( self)

Definition at line 358 of file mergeEnergyRamps.py.

358 def getGoodGains(self):
359
360 good_gains={}
361
362 for i in self.measured_gains.keys():
363
364 if ((self.measured_gains[i] > self.cut_gain_low and self.measured_gains[i] < self.cut_gain_high) and
365 (self.measured_offset[i] > self.cut_offset_low and self.measured_offset[i] < self.cut_offset_high) and
366# not (self.geometry_convertor.isCoolHad(i) and self.geometry_convertor.isPPMFCAL(i)) ):
367 not (self.geometry_convertor.isPPMFCAL(i)) ):
368
369 good_gains[i]=[self.measured_gains[i],self.measured_error_code[i]]
370
371 elif self.geometry_convertor.isPPMFCAL(i):
372 good_gains[i]=[self.measured_gains[i]/2,self.measured_error_code[i]]
373
374 else:
375 print ("GainsFromSqlite::getGoodGains have rejected channel ", i)
376
377 return good_gains # these are gains as a function of PPM Cool
378
379

Member Data Documentation

◆ cut_gain_high

mergeEnergyRamps.GainsFromSqlite.cut_gain_high = 3

Definition at line 289 of file mergeEnergyRamps.py.

◆ cut_gain_low

int mergeEnergyRamps.GainsFromSqlite.cut_gain_low = 0.

Definition at line 288 of file mergeEnergyRamps.py.

◆ cut_offset_high

mergeEnergyRamps.GainsFromSqlite.cut_offset_high = 100.

Definition at line 291 of file mergeEnergyRamps.py.

◆ cut_offset_low

int mergeEnergyRamps.GainsFromSqlite.cut_offset_low = -100.

Definition at line 290 of file mergeEnergyRamps.py.

◆ geometry_convertor

mergeEnergyRamps.GainsFromSqlite.geometry_convertor = geometryMapper

Definition at line 293 of file mergeEnergyRamps.py.

◆ measured_chi2

dict mergeEnergyRamps.GainsFromSqlite.measured_chi2 = {}

Definition at line 299 of file mergeEnergyRamps.py.

◆ measured_error_code

dict mergeEnergyRamps.GainsFromSqlite.measured_error_code = {}

Definition at line 301 of file mergeEnergyRamps.py.

◆ measured_gains

dict mergeEnergyRamps.GainsFromSqlite.measured_gains = {}

Definition at line 298 of file mergeEnergyRamps.py.

◆ measured_offset

dict mergeEnergyRamps.GainsFromSqlite.measured_offset = {}

Definition at line 300 of file mergeEnergyRamps.py.

◆ run_nr

mergeEnergyRamps.GainsFromSqlite.run_nr = None

Definition at line 295 of file mergeEnergyRamps.py.

◆ strategy

mergeEnergyRamps.GainsFromSqlite.strategy = None

Definition at line 296 of file mergeEnergyRamps.py.

◆ UNIX2COOL

int mergeEnergyRamps.GainsFromSqlite.UNIX2COOL = 1000000000

Definition at line 303 of file mergeEnergyRamps.py.


The documentation for this class was generated from the following file: