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 23 of file LArHVMapDbFiller.py.

Constructor & Destructor Documentation

◆ __init__()

def LArHVMapDbFiller.LArHVMapDbFiller.__init__ (   self)

Definition at line 29 of file LArHVMapDbFiller.py.

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

Member Function Documentation

◆ dumpDb()

def LArHVMapDbFiller.LArHVMapDbFiller.dumpDb (   self,
  dbstring 
)

Definition at line 136 of file LArHVMapDbFiller.py.

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

◆ genDb()

def LArHVMapDbFiller.LArHVMapDbFiller.genDb (   self)

Definition at line 68 of file LArHVMapDbFiller.py.

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

◆ readFile()

def LArHVMapDbFiller.LArHVMapDbFiller.readFile (   self)

Definition at line 60 of file LArHVMapDbFiller.py.

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

◆ setBegin()

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

Definition at line 40 of file LArHVMapDbFiller.py.

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

◆ setEnd()

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

Definition at line 46 of file LArHVMapDbFiller.py.

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

◆ setFileName()

def LArHVMapDbFiller.LArHVMapDbFiller.setFileName (   self,
  fileName 
)

Definition at line 52 of file LArHVMapDbFiller.py.

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

◆ setFolderTag()

def LArHVMapDbFiller.LArHVMapDbFiller.setFolderTag (   self,
  folderTag 
)

Definition at line 56 of file LArHVMapDbFiller.py.

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

Member Data Documentation

◆ beginTime

LArHVMapDbFiller.LArHVMapDbFiller.beginTime

Definition at line 32 of file LArHVMapDbFiller.py.

◆ endTime

LArHVMapDbFiller.LArHVMapDbFiller.endTime

Definition at line 33 of file LArHVMapDbFiller.py.

◆ FileName

LArHVMapDbFiller.LArHVMapDbFiller.FileName

Definition at line 34 of file LArHVMapDbFiller.py.

◆ FolderTag

LArHVMapDbFiller.LArHVMapDbFiller.FolderTag

Definition at line 35 of file LArHVMapDbFiller.py.

◆ Params

LArHVMapDbFiller.LArHVMapDbFiller.Params

Definition at line 36 of file LArHVMapDbFiller.py.


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