ATLAS Offline Software
Loading...
Searching...
No Matches
python.TileCalibTools Namespace Reference

Classes

class  TileASCIIParser
class  TileASCIIParser2
class  TileASCIIParser3
class  TileBlobReader
class  TileBlobWriter

Functions

 getLastRunNumber ()
 getPromptCalibRunNumber ()
 getAliasFromFile (aliastype='Current')
 getTilePrefix (ofl=True, splitOnlInOflSchema=True)
 getTilePrefixes ()
 getAthenaFolderDescr (type="run-lumi")
 getAthenaFolderType (folderDescr)
 openDb (db, instance, mode="READONLY", schema="COOLOFL_TILE", sqlfn="tileSqlite.db")
 openDbOracle (db, schema, folder)
 openDbConn (connStr, mode="READONLY")
 coolTimeFromRunLumi (runNum, lbkNum)
 decodeTimeString (timeString)
 getCoolValidityKey (pointInTime, isSince=True)
 getFolderTag (db, folderPath, globalTag)
 findTag (folder, tag)
 runLumiFromCoolTime (iov)
 copyFolder (dbr, dbw, folder, tagr, tagw, chanNum, pointInTime1, pointInTime2)

Variables

 log = getLogger("TileCalibTools")
int MINRUN = 0
int MINLBK = 0
 MAXRUN = cool.Int32Max
 MAXLBK = cool.UInt32Max
int UNIX2COOL = 1000000000
 UNIXTMAX = cool.Int32Max
int LASPARTCHAN = 43

Function Documentation

◆ coolTimeFromRunLumi()

python.TileCalibTools.coolTimeFromRunLumi ( runNum,
lbkNum )
Returns COOL timeStamp build from run and lumi block numbers

Definition at line 344 of file TileCalibTools.py.

344def coolTimeFromRunLumi(runNum, lbkNum):
345 """
346 Returns COOL timeStamp build from run and lumi block numbers
347 """
348 return (int(runNum)<<32) + int(lbkNum)
349
350#
351#______________________________________________________________________

◆ copyFolder()

python.TileCalibTools.copyFolder ( dbr,
dbw,
folder,
tagr,
tagw,
chanNum,
pointInTime1,
pointInTime2 )

Definition at line 494 of file TileCalibTools.py.

494def copyFolder(dbr, dbw, folder, tagr, tagw, chanNum, pointInTime1, pointInTime2):
495
496 log.info("Copy channel %i", chanNum)
497
498 folderR = dbr.getFolder(folder)
499 folderW = dbw.getFolder(folder)
500
501 chansel = cool.ChannelSelection(chanNum)
502
503 iov1 = getCoolValidityKey(pointInTime1,False)
504 iov2 = getCoolValidityKey(pointInTime2,False)
505
506 if tagr=='':
507 multiVersion = False
508 objs = folderR.browseObjects(iov1,iov2,chansel)
509 else:
510 multiVersion = True
511 objs = folderR.browseObjects(iov1,iov2,chansel,tagr)
512 while objs.goToNext():
513 obj=objs.currentRef()
514 sinceCool=obj.since()
515 if sinceCool < iov1:
516 sinceCool = iov1
517 untilCool=obj.until()
518 data=obj.payload()
519 sinceTup = runLumiFromCoolTime(sinceCool)
520 untilTup = runLumiFromCoolTime(untilCool)
521 log.debug("Copy entry: [%i,%i] - [%i,%i]: %s", sinceTup[0],sinceTup[1],untilTup[0],untilTup[1], data)
522 folderW.storeObject(sinceCool, untilCool, data, chanNum, tagw, multiVersion)
523
524
525
526#======================================================================
527#===
528#=== TileBlobWriter
529#===
530#======================================================================
531
532#
533#______________________________________________________________________

◆ decodeTimeString()

python.TileCalibTools.decodeTimeString ( timeString)
Retruns UNIX time stamp given an input time string

Definition at line 352 of file TileCalibTools.py.

352def decodeTimeString(timeString):
353 """
354 Retruns UNIX time stamp given an input time string
355 """
356 return int(time.mktime(time.strptime(timeString,"%Y-%m-%d %H:%M:%S")))
357
358#
359#______________________________________________________________________

◆ findTag()

python.TileCalibTools.findTag ( folder,
tag )

Definition at line 477 of file TileCalibTools.py.

477def findTag(folder,tag):
478 taglist=folder.listTags()
479 if len(taglist):
480 if tag=='FIRST':
481 return taglist[0]
482 else:
483 return taglist[-1]
484 else:
485 return 'tag-not-found'
486
487#
488#____________________________________________________________________

◆ getAliasFromFile()

python.TileCalibTools.getAliasFromFile ( aliastype = 'Current')
Return name of top-level tag for 'Current' or 'CurrentES' or 'Next' or 'NextES' aliases

Definition at line 126 of file TileCalibTools.py.

126def getAliasFromFile(aliastype='Current'):
127 """
128 Return name of top-level tag for 'Current' or 'CurrentES' or 'Next' or 'NextES' aliases
129 """
130
131 aliasfolder = '/afs/cern.ch/atlas/conditions/poolcond/buffer/BestKnowledge'
132 try:
133 falias = open('%s/%s' % (aliasfolder, aliastype))
134 alias = falias.readline()
135 falias.close()
136 return alias.replace('\n','').replace('*','')
137 except Exception:
138 import os
139 aliasfolder = os.getcwd()+'/BestKnowledge'
140 print("Looking for %s in %s" % (aliastype,aliasfolder))
141 try:
142 falias = open('%s/%s' % (aliasfolder, aliastype))
143 alias = falias.readline()
144 falias.close()
145 return alias.replace('\n','').replace('*','')
146 except Exception:
147 return aliastype.upper()
148
149#
150#______________________________________________________________________
void print(char *figname, TCanvas *c1)
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition hcg.cxx:310

◆ getAthenaFolderDescr()

python.TileCalibTools.getAthenaFolderDescr ( type = "run-lumi")
Returns the run-lumi type folder description needed to read back the folder content
as a CondAttrListCollection in Athena.

Definition at line 179 of file TileCalibTools.py.

179def getAthenaFolderDescr(type="run-lumi"):
180 """
181 Returns the run-lumi type folder description needed to read back the folder content
182 as a CondAttrListCollection in Athena.
183 """
184 desc ='<timeStamp>'+type+'</timeStamp>'
185 desc+='<addrHeader><address_header service_type="71" clid="1238547719" /></addrHeader>'
186 desc+='<typeName>CondAttrListCollection</typeName>'
187 return desc
188
189#
190#______________________________________________________________________

◆ getAthenaFolderType()

python.TileCalibTools.getAthenaFolderType ( folderDescr)

Definition at line 191 of file TileCalibTools.py.

191def getAthenaFolderType(folderDescr):
192 type = re.compile(".*<timeStamp>(.*)</timeStamp>.*").search(folderDescr)
193 if not type:
194 raise Exception("No folder type info found in \'%s\'" % folderDescr)
195 return type.groups()[0]
196
197#
198#______________________________________________________________________
void search(TDirectory *td, const std::string &s, std::string cwd, node *n)
recursive directory search for TH1 and TH2 and TProfiles
Definition hcg.cxx:739

◆ getCoolValidityKey()

python.TileCalibTools.getCoolValidityKey ( pointInTime,
isSince = True )
The interpretation of pointInTime depends on their type:
- tuple(int,int) : run and lbk number
- integer        : Values are interpreted as unix time stamps
- string         : time stamp of format 'yyyy-mm-dd hh:mm:ss'

Definition at line 360 of file TileCalibTools.py.

360def getCoolValidityKey(pointInTime, isSince=True):
361 """
362 The interpretation of pointInTime depends on their type:
363 - tuple(int,int) : run and lbk number
364 - integer : Values are interpreted as unix time stamps
365 - string : time stamp of format 'yyyy-mm-dd hh:mm:ss'
366 """
367
368 validityKey = None
369
370 #=== string: convert to unix time and treat as latter
371 if isinstance(pointInTime, str):
372 pointInTime = decodeTimeString(pointInTime)
373
374 #=== integer: unix time stamp
375 if isinstance(pointInTime, int):
376 if pointInTime >=0:
377 validityKey = pointInTime * UNIX2COOL
378 else:
379 if isSince:
380 validityKey = int(time.time()) * UNIX2COOL
381 else :
382 validityKey = cool.ValidityKeyMax
383 #=== run-lumi tuple
384 elif isinstance(pointInTime, tuple):
385 validityKey = coolTimeFromRunLumi(pointInTime[0],pointInTime[1])
386 #=== catch other types
387 else:
388 raise Exception("Unrecognized pointInTime type=%s" % type(pointInTime))
389 return cool.ValidityKey(validityKey)
390
391
392#
393#____________________________________________________________________

◆ getFolderTag()

python.TileCalibTools.getFolderTag ( db,
folderPath,
globalTag )

Definition at line 394 of file TileCalibTools.py.

394def getFolderTag(db, folderPath, globalTag):
395
396 tag=""
397 gTAG = globalTag.upper()
398 findTAG = (gTAG == "ANY" or gTAG == "FIRST" or gTAG == "LAST")
399 if globalTag.startswith("/") or globalTag.startswith("TileO") or globalTag.upper().startswith("CALO"):
400 tag = globalTag
401 log.warning("Using tag as-is for folder %s", folderPath)
402 elif '/TILE/ONL01' in folderPath:
403 log.info("Using empty tag for single-version folder %s", folderPath)
404 elif globalTag.startswith(" "):
405 log.warning("Using empty tag for folder %s", folderPath)
406 elif globalTag=="":
407 tag = TileCalibUtils.getFullTag(folderPath, globalTag)
408 log.warning("Using tag with empty suffix for folder %s", folderPath)
409 else:
410 if folderPath.startswith('/CALO'):
411 dbname = 'COOLOFL_CALO' if folderPath.startswith('/CALO/Ofl') else 'COOLONL_CALO'
412 else:
413 dbname ='COOLOFL_TILE'
414 schema=dbname+'/CONDBR2'
415 if isinstance(db, str):
416 if 'OFLP200' in db or 'MC' in db:
417 schema=dbname+'/OFLP200'
418 if not globalTag.startswith("OFLCOND"):
419 if globalTag.startswith("RUN"):
420 globalTag='OFLCOND-'+globalTag
421 log.info("Using Simulation global tag \'%s\'", globalTag)
422 elif 'COMP200' in db or 'RUN1' in db:
423 schema=dbname+'/COMP200'
424 if globalTag!='UPD1' and globalTag!='UPD4' and ('UPD1' in globalTag or 'UPD4' in globalTag or 'COND' not in globalTag):
425 if not findTAG:
426 log.info("Using suffix \'%s\' as it is", globalTag)
427 else:
428 findTAG = False
429 globalTag='COMCOND-BLKPA-RUN1-06'
430 log.info("Using RUN1 global tag \'%s\'", globalTag)
431 if schema == dbname+'/CONDBR2':
432 if globalTag=='CURRENT' or globalTag=='UPD4' or globalTag=='':
433 globalTag=getAliasFromFile('Current')
434 log.info("Resolved CURRENT globalTag to \'%s\'", globalTag)
435 elif globalTag=='CURRENTES' or globalTag=='UPD1':
436 globalTag=getAliasFromFile('CurrentES')
437 log.info("Resolved CURRENT ES globalTag to \'%s\'", globalTag)
438 elif globalTag=='NEXT':
439 globalTag=getAliasFromFile('Next')
440 log.info("Resolved NEXT globalTag to \'%s\'", globalTag)
441 elif globalTag=='NEXTES':
442 globalTag=getAliasFromFile('NextES')
443 log.info("Resolved NEXT ES globalTag to \'%s\'", globalTag)
444 globalTag=globalTag.replace('*','')
445 if not findTAG and ('UPD1' in globalTag or 'UPD4' in globalTag or 'COND' not in globalTag):
446 tag = TileCalibUtils.getFullTag(folderPath, globalTag)
447 if tag.startswith('Calo') and 'NoiseCell' not in tag:
448 tag='CALO'+tag[4:]
449 log.info("Resolved localTag \'%s\' to folderTag \'%s\'", globalTag,tag)
450 else:
451 if not isinstance(db, str):
452 try:
453 folder = db.getFolder(folderPath)
454 if findTAG:
455 tag = findTag(folder,gTAG)
456 else:
457 tag = folder.resolveTag(globalTag)
458 log.info("Resolved globalTag \'%s\' to folderTag \'%s\'", globalTag,tag)
459 schema=""
460 except Exception as e:
461 log.warning(e)
462 log.warning("Using %s to resolve globalTag",schema)
463 if len(schema):
464 dbr = openDbConn(schema,'READONLY')
465 folder = dbr.getFolder(folderPath)
466 if findTAG:
467 tag = findTag(folder,gTAG)
468 else:
469 tag = folder.resolveTag(globalTag)
470 dbr.closeDatabase()
471 log.info("Resolved globalTag \'%s\' to folderTag \'%s\'", globalTag,tag)
472
473 return tag
474
475#
476#____________________________________________________________________
static std::string getFullTag(const std::string &folder, const std::string &tag)
Returns the full tag string, composed of camelized folder name and tag part.

◆ getLastRunNumber()

python.TileCalibTools.getLastRunNumber ( )
Return the run number of next run to be taken in the pit

Definition at line 55 of file TileCalibTools.py.

55def getLastRunNumber():
56 """
57 Return the run number of next run to be taken in the pit
58 """
59
60 urls = ["http://atlas-service-db-runlist.web.cern.ch/atlas-service-db-runlist/cgi-bin/latestRun.py",
61 "http://pcata007.cern.ch/cgi-bin/getLastRunNumber.py",
62 "http://pcata007.cern.ch/latestRun"]
63
64 run=0
65 for url in urls:
66 try:
67 for line in urlopen(url).readlines():
68 r=line.strip()
69 if r.isdigit():
70 run=int(r)
71 break
72 if run>0:
73 break
74 except Exception:
75 continue
76
77 return max(run+1,222222)
78
79#
80#______________________________________________________________________
#define max(a, b)
Definition cfImp.cxx:41

◆ getPromptCalibRunNumber()

python.TileCalibTools.getPromptCalibRunNumber ( )
Return the minimal run number of runs in prompt calibration loop

Definition at line 81 of file TileCalibTools.py.

81def getPromptCalibRunNumber():
82 """
83 Return the minimal run number of runs in prompt calibration loop
84 """
85
86 promptCalibRuns = []
87
88 try:
89 fin = open("/afs/cern.ch/user/a/atlcond/scratch0/nemo/prod/web/calibruns.txt","r").read().split()
90 for line in fin:
91 try:
92 if line:
93 promptCalibRuns.append( int(line) )
94 except ValueError:
95 pass
96 except Exception:
97 promptCalibRuns=[]
98
99 if len(promptCalibRuns)==0:
100
101 urls = ["http://pcata007.cern.ch/cgi-bin/getBulkRunNumber.py",
102 "http://pcata007.cern.ch/latestRun"]
103
104 run=0
105 for url in urls:
106 try:
107 for line in urlopen(url).readlines():
108 r=line.strip()
109 if r.isdigit():
110 run=int(r)
111 break
112 if run>0:
113 promptCalibRuns=[run]
114 break
115 except Exception:
116 continue
117
118 if len(promptCalibRuns) >= 1:
119 promptCalibRuns.sort()
120 return promptCalibRuns[0]
121 else:
122 return getLastRunNumber()
123
124#
125#______________________________________________________________________
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition hcg.cxx:177
IovVectorMap_t read(const Folder &theFolder, const SelectionCriterion &choice, const unsigned int limit=10)

◆ getTilePrefix()

python.TileCalibTools.getTilePrefix ( ofl = True,
splitOnlInOflSchema = True )
Returns the common Tile prefix used for all COOL folders.
ofl = False ... single version folders
ofl = True  ... multiversion folders
splitOnlInOflSchema = False ... offline only folders or
                splitOnline folders in Online schema
splitOnlInOflSchema = True ... splitOnlineFolders in
                offline schema

Definition at line 151 of file TileCalibTools.py.

151def getTilePrefix(ofl=True,splitOnlInOflSchema=True):
152 """
153 Returns the common Tile prefix used for all COOL folders.
154 ofl = False ... single version folders
155 ofl = True ... multiversion folders
156 splitOnlInOflSchema = False ... offline only folders or
157 splitOnline folders in Online schema
158 splitOnlInOflSchema = True ... splitOnlineFolders in
159 offline schema
160 """
161 if ofl:
162 if splitOnlInOflSchema:
163 return "/TILE/OFL02/"
164 else:
165 return "/TILE/OFL01/"
166 else:
167 return "/TILE/ONL01/"
168
169#
170#______________________________________________________________________

◆ getTilePrefixes()

python.TileCalibTools.getTilePrefixes ( )
Returns a list of all TILE folder prefixes

Definition at line 171 of file TileCalibTools.py.

171def getTilePrefixes():
172 """
173 Returns a list of all TILE folder prefixes
174 """
175 return ["/TILE/ONL01/","/TILE/OFL01/","/TILE/OFL02/"]
176
177#
178#______________________________________________________________________

◆ openDb()

python.TileCalibTools.openDb ( db,
instance,
mode = "READONLY",
schema = "COOLOFL_TILE",
sqlfn = "tileSqlite.db" )
Opens a COOL db connection.
- db:       The DB type. The following names are recognized:
                * SQLITE: Opens file mentioned in sqlfn parameter
                * ORACLE or FRONTIER: Opens ORACLE DB, forces READONLY
- instance: One of valid instances - CONDBR2 OFLP200 COMP200 CMCP200
- mode:     Can be READONLY (default), RECREATE or UPDATE
- schema:   One of valid schemas - COOLONL_CALO COOLOFL_CALO COOLONL_LAR COOLOFL_LAR COOLONL_TILE COOLOFL_TILE
- sqlfn:    Name of sqlite file if db is SQLITE

Definition at line 199 of file TileCalibTools.py.

199def openDb(db, instance, mode="READONLY", schema="COOLOFL_TILE", sqlfn="tileSqlite.db"):
200 """
201 Opens a COOL db connection.
202 - db: The DB type. The following names are recognized:
203 * SQLITE: Opens file mentioned in sqlfn parameter
204 * ORACLE or FRONTIER: Opens ORACLE DB, forces READONLY
205 - instance: One of valid instances - CONDBR2 OFLP200 COMP200 CMCP200
206 - mode: Can be READONLY (default), RECREATE or UPDATE
207 - schema: One of valid schemas - COOLONL_CALO COOLOFL_CALO COOLONL_LAR COOLOFL_LAR COOLONL_TILE COOLOFL_TILE
208 - sqlfn: Name of sqlite file if db is SQLITE
209 """
210 #=== check for valid db names
211 if db is not None:
212 validDb = ["SQLITE", "ORACLE", "FRONTIER"]
213 if db not in validDb:
214 raise Exception( "DB not valid: %s, valid DBs are: %s" % (db,validDb) )
215 elif db == "ORACLE" or db == "FRONTIER":
216 mode = "READONLY"
217
218 #=== check for valid instance names
219 validInstance = ["COMP200", "CONDBR2", "CMCP200", "OFLP200"]
220 if instance not in validInstance:
221 raise Exception( "Instance not valid: %s, valid instance are: %s" % (instance,validInstance) )
222
223 #=== check for valid schema names
224 validSchema = ["COOLONL_TILE","COOLOFL_TILE"]
225 if schema not in validSchema:
226 raise Exception( "Schema not valid: %s, valid schemas are: %s" % (schema,validSchema) )
227
228 #=== construct connection string
229 connStr = ""
230 if db=='SQLITE':
231 if mode=="READONLY" and not os.path.exists(sqlfn):
232 raise Exception( "Sqlite file %s does not exist" % (sqlfn) )
233 if (mode=="RECREATE" or mode=="UPDATE") and not os.path.exists(os.path.dirname(sqlfn)):
234 dirn=os.path.dirname(sqlfn)
235 if dirn:
236 os.makedirs(dirn)
237 connStr="sqlite://X;schema=%s;dbname=%s" % (sqlfn,instance)
238 elif db=='FRONTIER':
239 connStr='frontier://ATLF/()/;schema=ATLAS_%s;dbname=%s' % (schema,instance)
240 elif db=='ORACLE':
241 connStr='oracle://%s;schema=ATLAS_%s;dbname=%s' % ('ATLAS_COOLPROD',schema,instance)
242 else:
243 connStr=schema+'/'+instance
244
245 return openDbConn(connStr, mode)
246
247#
248#______________________________________________________________________

◆ openDbConn()

python.TileCalibTools.openDbConn ( connStr,
mode = "READONLY" )
Opens a COOL db connection.
- connStr: The DB connection string
- mode:    Can be READONLY (default), RECREATE or UPDATE
           or ORACLE or FRONTIER if connStr is only short name of the database

Definition at line 275 of file TileCalibTools.py.

275def openDbConn(connStr, mode="READONLY"):
276 """
277 Opens a COOL db connection.
278 - connStr: The DB connection string
279 - mode: Can be READONLY (default), RECREATE or UPDATE
280 or ORACLE or FRONTIER if connStr is only short name of the database
281 """
282
283 #=== split the name into schema and dbinstance
284 splitname=connStr.split('/')
285 if (len(splitname)!=2): # string connection ready to be used as it is
286 connStr_new=connStr
287 else: # construct connection string
288 schema=splitname[0]
289 instance=splitname[1]
290 if mode=="ORACLE":
291 connStr_new='oracle://%s;schema=ATLAS_%s;dbname=%s' % ('ATLAS_COOLPROD',schema,instance)
292 else:
293 connStr_new='frontier://ATLF/()/;schema=ATLAS_%s;dbname=%s' % (schema,instance)
294
295 #=== get dbSvc and print header info
296 dbSvc = cool.DatabaseSvcFactory.databaseService()
297 log.info( "---------------------------------------------------------------------------------" )
298 log.info( "-------------------------- TileCalibTools.openDbConn ----------------------------" )
299 log.info( "- using COOL version %s", dbSvc.serviceVersion() )
300 log.info( "- opening TileDb: %s",connStr_new )
301 log.info( "- mode: %s", mode )
302 log.info( "---------------------------------------------------------------------------------" )
303
304 #=== action depends on mode
305 if mode in ["READONLY","ORACLE","FRONTIER","",None]:
306 #=== open read only
307 try:
308 db=dbSvc.openDatabase(connStr_new,True)
309 except Exception as e:
310 log.debug( e )
311 log.critical("Could not connect to %s" % connStr_new )
312 return None
313 return db
314 elif mode=="RECREATE":
315 #=== recreating database
316 dbSvc.dropDatabase(connStr_new)
317 try:
318 db = dbSvc.createDatabase(connStr_new)
319 except Exception as e:
320 log.debug( e )
321 log.critical( "Could not create database, giving up..." )
322 return None
323 return db
324 elif mode=="UPDATE":
325 #=== update database
326 try:
327 db=dbSvc.openDatabase(connStr_new,False)
328 except Exception as e:
329 log.debug( e )
330 log.warning( "Could not connect to \'%s\', trying to create it....", connStr_new )
331 try:
332 db=dbSvc.createDatabase(connStr_new)
333 except Exception as e:
334 log.debug( e )
335 log.critical( "Could not create database, giving up..." )
336 return None
337 return db
338 else:
339 log.error("Mode \"%s\" not recognized", mode )
340 return None
341
342#
343#______________________________________________________________________

◆ openDbOracle()

python.TileCalibTools.openDbOracle ( db,
schema,
folder )
Opens a COOL db connection.
- db:       The DB type. The following names are recognized:
                * ORACLE or FRONTIER: Opens ORACLE DB, forces READONLY
- schema:   Full schema string for sqlite file, dbname will be extracted from this string
- folder:   Fill folder path, schema string will be construced using folder name

Definition at line 249 of file TileCalibTools.py.

249def openDbOracle(db, schema, folder):
250 """
251 Opens a COOL db connection.
252 - db: The DB type. The following names are recognized:
253 * ORACLE or FRONTIER: Opens ORACLE DB, forces READONLY
254 - schema: Full schema string for sqlite file, dbname will be extracted from this string
255 - folder: Fill folder path, schema string will be construced using folder name
256 """
257
258 connStr = 'COOL'
259 if '/OFL' in folder.upper():
260 connStr += 'OFL_'
261 else:
262 connStr += 'ONL_'
263 connStr += folder.strip('/').split('/')[0].upper()
264 dbn=schema.split('dbname=')
265 if len(dbn)==2:
266 dbname=dbn[1].split(';')[0]
267 else:
268 dbname='CONDBR2'
269 connStr += '/' + dbname
270
271 return openDbConn(connStr,db)
272
273#
274#______________________________________________________________________
int upper(int c)

◆ runLumiFromCoolTime()

python.TileCalibTools.runLumiFromCoolTime ( iov)

Definition at line 489 of file TileCalibTools.py.

489def runLumiFromCoolTime(iov):
490 return (int(iov >> 32), int(iov & 0xFFFFFFFF))
491
492#
493#____________________________________________________________________

Variable Documentation

◆ LASPARTCHAN

int python.TileCalibTools.LASPARTCHAN = 43

Definition at line 51 of file TileCalibTools.py.

◆ log

python.TileCalibTools.log = getLogger("TileCalibTools")

Definition at line 32 of file TileCalibTools.py.

◆ MAXLBK

python.TileCalibTools.MAXLBK = cool.UInt32Max

Definition at line 47 of file TileCalibTools.py.

◆ MAXRUN

python.TileCalibTools.MAXRUN = cool.Int32Max

Definition at line 46 of file TileCalibTools.py.

◆ MINLBK

int python.TileCalibTools.MINLBK = 0

Definition at line 45 of file TileCalibTools.py.

◆ MINRUN

int python.TileCalibTools.MINRUN = 0

Definition at line 44 of file TileCalibTools.py.

◆ UNIX2COOL

int python.TileCalibTools.UNIX2COOL = 1000000000

Definition at line 48 of file TileCalibTools.py.

◆ UNIXTMAX

python.TileCalibTools.UNIXTMAX = cool.Int32Max

Definition at line 49 of file TileCalibTools.py.