ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
LArHVMapDbFiller.LArHVMapDbFiller Class Reference
Inheritance diagram for LArHVMapDbFiller.LArHVMapDbFiller:
Collaboration diagram for LArHVMapDbFiller.LArHVMapDbFiller:

Public Member Functions

def __init__ (self)
 
def setBegin (self, run, lumi)
 
def setEnd (self, run, lumi)
 
def setFileName (self, fileName)
 
def setFolderTag (self, folderTag)
 
def readFile (self)
 
def genDb (self)
 
def dumpDb (self, dbstring)
 

Public Attributes

 beginTime
 
 endTime
 
 FileName
 
 FolderTag
 
 Params
 

Detailed Description

A simple class used to fill SQLite db file with parameters for simulation
and/or digitization.

Definition at line 22 of file LArHVMapDbFiller.py.

Constructor & Destructor Documentation

◆ __init__()

def LArHVMapDbFiller.LArHVMapDbFiller.__init__ (   self)

Definition at line 28 of file LArHVMapDbFiller.py.

28  def __init__(self):
29  object.__init__(self)
30 
31  self.beginTime = None
32  self.endTime = None
33  self.FileName = None
34  self.FolderTag = None
35  self.Params = {}
36  return
37 

Member Function Documentation

◆ dumpDb()

def LArHVMapDbFiller.LArHVMapDbFiller.dumpDb (   self,
  dbstring 
)

Definition at line 135 of file LArHVMapDbFiller.py.

135  def dumpDb(self, dbstring):
136 
137  print ("LArHVMapDbFiller.dumpDb: Dumping database:", dbstring)
138  # get database service and open database
139  dbSvc = cool.DatabaseSvcFactory.databaseService()
140  # database accessed via physical name
141  try:
142  db = dbSvc.openDatabase(dbstring,False)
143  except Exception as e:
144  print ('LArHVMapDbFiller.dumpDb: Problem opening database',e)
145  sys.exit(-1)
146 
147  # Loop over folders
148  folders = db.listAllNodes()
149  for ff in folders:
150  # Get Folder
151  try:
152  f = db.getFolder(ff)
153  print ("LArHVMapDbFiller.dumpDb: Dumping folder " + str(ff))
154  except Exception:
155  #print ("Skipping " + str(ff))
156  continue
157 
158  # get tags
159  # tags = f.listTags()
160  # print ("for tags ",)
161  # for tag in tags: print (tag)
162 
163  # for tag in tags:
164 
165  nobjs = f.countObjects( cool.ValidityKeyMin,
166  cool.ValidityKeyMax,
167  cool.ChannelSelection.all())
168 
169  print ("LArHVMapDbFiller.dumpDb: number of IOV payloads", nobjs)
170 
171  objs = f.browseObjects( cool.ValidityKeyMin,
172  cool.ValidityKeyMax,
173  cool.ChannelSelection.all())
174  i = 0
175  while objs.goToNext():
176  obj = objs.currentRef()
177  print ("LArHVMapDbFiller.dumpDb: Payload", i,)
178  print ("since [r,l]: [", obj.since() ,']',)
179  print ("until [r,l]: [", obj.until() ,']',)
180  print ("payload", obj.payload(),)
181  print ("chan",obj.channelId() )
182  i += 1
183 
184  objs.close()
185 
186  # finish
187  db.closeDatabase()

◆ genDb()

def LArHVMapDbFiller.LArHVMapDbFiller.genDb (   self)

Definition at line 67 of file LArHVMapDbFiller.py.

67  def genDb(self):
68 
69  dbFileName = 'HVmap.db'
70  dbName = 'COMP200'
71  folderPath = '/LAR/IdentifierOfl/HVLineToElectrodeMap'
72  # Do checks
73  if self.beginTime is None:
74  raise LArHVMapDbFillerError ('Must set begin run number before generating db')
75  if self.endTime is None:
76  self.endTime = cool.ValidityKeyMax
77  if self.FileName is None:
78  raise LArHVMapDbFillerError ('Must give an input file for LArHVToElectrode.data')
79  if self.FolderTag is None:
80  raise LArHVMapDbFillerError ('Must give a folder tag')
81 
82  self.readFile()
83 
84  if len(self.Params) == 0:
85  raise LArHVMapDbFillerError ('No parameters for db ' + dbName)
86 
87  # remove existing db, if any
88  try:
89  os.remove(dbFileName)
90  print ("LArHVMapDbFiller.genDb: Removed db", dbFileName)
91  except OSError:
92  pass
93 
94  # get database service and open database
95  dbSvc=cool.DatabaseSvcFactory.databaseService()
96 
97  # build dbstring - database accessed via physical name
98  dbstring="sqlite://;schema=" + dbFileName + ";dbname=" + dbName
99  try:
100  db=dbSvc.createDatabase(dbstring)
101  except Exception as e:
102  print ('LArHVMapDbFiller.genDb: Problem creating database',e)
103  sys.exit(-1)
104  print ("LArHVMapDbFiller.genDb: Created database",dbstring)
105 
106  # setup a folder payload specification
107  spec=cool.RecordSpecification()
108  for key in self.Params:
109  spec.extend(key, cool.StorageType.String16M)
110 
111  # folder meta-data - note for Athena this has a special meaning
112  desc='<timeStamp>run-lumi</timeStamp><addrHeader><address_header service_type="71" clid="40774348" /></addrHeader><typeName>AthenaAttributeList</typeName>'
113  # create the folder - single version
114  # last argument is createParents - if true, automatically creates parent
115  # folders if needed
116  # note this will not work if the database already exists - delete mycool.db first
117  myfolder=db.createFolder(folderPath, spec, desc, cool.FolderVersioning.MULTI_VERSION,True)
118  # now fill in simlation parameters
119  data=cool.Record(spec)
120  for k, v in self.Params.items():
121  data[k] = v
122 
123  print ("LArHVMapDbFiller.genDb: Recording parameters", data)
124 
125  # store object with IOV valid from 0-10, channel 3
126  myfolder.storeObject(self.beginTime, self.endTime, data, 0, self.FolderTag)
127  print ("LArHVMapDbFiller.genDb: Stored object")
128 
129  # finalize
130  db.closeDatabase()
131 
132  # Try to dump out db as test
133  self.dumpDb(dbstring)
134 

◆ readFile()

def LArHVMapDbFiller.LArHVMapDbFiller.readFile (   self)

Definition at line 59 of file LArHVMapDbFiller.py.

59  def readFile(self):
60  value = ''
61  f = open(self.FileName,'r')
62  for lines in f:
63  value += lines
64  self.Params['LArHVMap'] = value
65  return
66 

◆ setBegin()

def LArHVMapDbFiller.LArHVMapDbFiller.setBegin (   self,
  run,
  lumi 
)

Definition at line 39 of file LArHVMapDbFiller.py.

39  def setBegin(self,run,lumi):
40  print (" setBegin run,lumi ",run)
41  self.beginTime = (int(run) << 32) + int(lumi)
42  print (" time ",self.beginTime)
43  return
44 

◆ setEnd()

def LArHVMapDbFiller.LArHVMapDbFiller.setEnd (   self,
  run,
  lumi 
)

Definition at line 45 of file LArHVMapDbFiller.py.

45  def setEnd(self,run,lumi):
46  print ("setEnd runmlumi ",run)
47  self.endTime = (int(run) << 32) + int(lumi)
48  print (" time ",self.endTime)
49  return
50 

◆ setFileName()

def LArHVMapDbFiller.LArHVMapDbFiller.setFileName (   self,
  fileName 
)

Definition at line 51 of file LArHVMapDbFiller.py.

51  def setFileName(self, fileName):
52  self.FileName = fileName
53  return
54 

◆ setFolderTag()

def LArHVMapDbFiller.LArHVMapDbFiller.setFolderTag (   self,
  folderTag 
)

Definition at line 55 of file LArHVMapDbFiller.py.

55  def setFolderTag(self,folderTag):
56  self.FolderTag = folderTag
57  return
58 

Member Data Documentation

◆ beginTime

LArHVMapDbFiller.LArHVMapDbFiller.beginTime

Definition at line 31 of file LArHVMapDbFiller.py.

◆ endTime

LArHVMapDbFiller.LArHVMapDbFiller.endTime

Definition at line 32 of file LArHVMapDbFiller.py.

◆ FileName

LArHVMapDbFiller.LArHVMapDbFiller.FileName

Definition at line 33 of file LArHVMapDbFiller.py.

◆ FolderTag

LArHVMapDbFiller.LArHVMapDbFiller.FolderTag

Definition at line 34 of file LArHVMapDbFiller.py.

◆ Params

LArHVMapDbFiller.LArHVMapDbFiller.Params

Definition at line 35 of file LArHVMapDbFiller.py.


The documentation for this class was generated from the following file:
FileMerger.readFile
def readFile(name)
Definition: FileMerger.py:27
TrigJetMonitorAlgorithm.items
items
Definition: TrigJetMonitorAlgorithm.py:71
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
Trk::open
@ open
Definition: BinningType.h:40
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
str
Definition: BTagTrackIpAccessor.cxx:11