ATLAS Offline Software
Functions
createLinkMaskingSQLiteFile Namespace Reference

Functions

def main ()
 

Function Documentation

◆ main()

def createLinkMaskingSQLiteFile.main ( )

Definition at line 11 of file createLinkMaskingSQLiteFile.py.

11 def main():
12  dbFile = "LinkMasking.db"
13  dbName = "CONDBR2"
14  folderName ="/purple/pants"
15 
16  fieldNames = ["lastProbedState"]
17  fieldTypes = [cool.StorageType.Bool]
18 
19  # remove the old db file so that we can write the new one
20  try:
21  import os
22  os.remove(dbFile)
23  except:
24  pass
25 
26  # get database service and open database
27  dbSvc = cool.DatabaseSvcFactory.databaseService()
28 
29  # database accessed via physical name
30  dbString = "sqlite://;schema=%s;dbname=%s" % (dbFile, dbName)
31  try:
32  db = dbSvc.createDatabase(dbString)
33  except Exception:
34  import traceback
35  traceback.print_exc()
36  sys.exit(-1)
37  print ("Created database", dbString)
38 
39  # setup folder
40  spec = cool.RecordSpecification()
41  spec.extend(fieldNames[0], fieldTypes[0])
42 
43  # folder meta-data - note for Athena this has a special meaning
44  desc = '<timeStamp>run-lumi</timeStamp><addrHeader><address_header service_type="71" clid="1238547719" /></addrHeader><typeName>CondAttrListCollection</typeName>'
45 
46  # create the folder - single version
47  # last argument is createParents - if true, automatically creates parent folders if needed
48  # note this will not work if the database already exists - delete mycool.db first
49  folderSpec = cool.FolderSpecification(cool.FolderVersioning.SINGLE_VERSION, spec)
50  folder = db.createFolder(folderName, folderSpec, desc, True)
51 
52  # now fill in some data - create a record and fill it
53  data = cool.Record(spec)
54 
55  dataDict = {167772160:False, # barrel_ec 0 layer_disk 0 eta_module -6 phi_module 0 side 0
56  167773184:True, # barrel_ec 0 layer_disk 0 eta_module -6 phi_module 0 side 1
57  167774208:True, # barrel_ec 0 layer_disk 0 eta_module -5 phi_module 0 side 0
58  167775232:True, # barrel_ec 0 layer_disk 0 eta_module -5 phi_module 0 side 1
59  167776256:False, # barrel_ec 0 layer_disk 0 eta_module -4 phi_module 0 side 0
60  }
61 
62  for waferID, lastProbedState in dataDict.items():
63  print ("\nChannel", waferID)
64  print ("lastProbedState is", lastProbedState)
65  data[fieldNames[0]] = lastProbedState
66  print ("Will store this object for channel", waferID, data)
67  folder.storeObject(0, cool.ValidityKeyMax, data, waferID)
68 
69  print ("\nClose database")
70  db.closeDatabase()
71 
createLinkMaskingSQLiteFile.main
def main()
Definition: createLinkMaskingSQLiteFile.py:11