ATLAS Offline Software
Loading...
Searching...
No Matches
AFPToFDBCreate Namespace Reference

Classes

class  AFPDBDict
class  folderBulk

Functions

 runLBtoDB (run, lb)
 makeFolderAndSpec (db, folderName, tag)
 main ()

Function Documentation

◆ main()

AFPToFDBCreate.main ( )

Definition at line 138 of file AFPToFDBCreate.py.

138def main():
139 dbFile = "Example.db"
140 dbName = "CONDBR2"
141
142 # remove the old db file so that we can write the new one
143 try:
144 import os
145 os.remove(dbFile)
146 except IOError:
147 pass
148
149 # get database service and open database
150 dbSvc = cool.DatabaseSvcFactory.databaseService()
151
152 # database accessed via physical name
153 dbString = "sqlite://;schema=%s;dbname=%s" % (dbFile, dbName)
154 try:
155 db = dbSvc.createDatabase(dbString)
156 except Exception as e:
157 print ('Problem creating database', e)
158 sys.exit(-1)
159 print ("Created database", dbString)
160
161 # define the folder in the database, its specification and its tag
162 folderBlkLoc_01=makeFolderAndSpec(db,folderName="/FWD/Onl/AFP/ToFParameters/Local", tag="AFPToFLoc-01")
163 folderBlkVtx_01=makeFolderAndSpec(db,folderName="/FWD/Onl/AFP/ToFParameters/Vertex", tag="AFPToFVtx-01")
164
165
166 # have the same IOV as alignment
167 fromRun = 203302
168 myDict = AFPDBDict(folderBlkLoc_01)
169 myDict.append(stationID=0, trainID=0, barID=0, barWeight=1.0, barTimeOffset=1494.0)
170 myDict.append(stationID=0, trainID=0, barID=1, barWeight=1.0, barTimeOffset=1500.0)
171 myDict.append(stationID=0, trainID=0, barID=2, barWeight=1.0, barTimeOffset=1500.0)
172 myDict.append(stationID=0, trainID=0, barID=3, barWeight=1.0, barTimeOffset=1500.0)
173 myDict.append(stationID=0, trainID=1, barID=0, barWeight=1.0, barTimeOffset=1500.0)
174 myDict.append(stationID=0, trainID=1, barID=1, barWeight=1.0, barTimeOffset=1500.0)
175 myDict.append(stationID=0, trainID=1, barID=2, barWeight=1.0, barTimeOffset=1500.0)
176 myDict.append(stationID=0, trainID=1, barID=3, barWeight=1.0, barTimeOffset=1500.0)
177 myDict.append(stationID=0, trainID=2, barID=0, barWeight=1.0, barTimeOffset=1500.0)
178 myDict.append(stationID=0, trainID=2, barID=1, barWeight=1.0, barTimeOffset=1500.0)
179 myDict.append(stationID=0, trainID=2, barID=2, barWeight=1.0, barTimeOffset=1500.0)
180 myDict.append(stationID=0, trainID=2, barID=3, barWeight=1.0, barTimeOffset=1500.0)
181 myDict.append(stationID=0, trainID=3, barID=0, barWeight=1.0, barTimeOffset=1500.0)
182 myDict.append(stationID=0, trainID=3, barID=1, barWeight=1.0, barTimeOffset=1500.0)
183 myDict.append(stationID=0, trainID=3, barID=2, barWeight=1.0, barTimeOffset=1500.0)
184 myDict.append(stationID=0, trainID=3, barID=3, barWeight=1.0, barTimeOffset=1500.0)
185 myDict.append(stationID=3, trainID=0, barID=0, barWeight=1.0, barTimeOffset=1500.0)
186 myDict.append(stationID=3, trainID=0, barID=1, barWeight=1.0, barTimeOffset=1500.0)
187 myDict.append(stationID=3, trainID=0, barID=2, barWeight=1.0, barTimeOffset=1500.0)
188 myDict.append(stationID=3, trainID=0, barID=3, barWeight=1.0, barTimeOffset=1500.0)
189 myDict.append(stationID=3, trainID=1, barID=0, barWeight=1.0, barTimeOffset=1500.0)
190 myDict.append(stationID=3, trainID=1, barID=1, barWeight=1.0, barTimeOffset=1500.0)
191 myDict.append(stationID=3, trainID=1, barID=2, barWeight=1.0, barTimeOffset=1500.0)
192 myDict.append(stationID=3, trainID=1, barID=3, barWeight=1.0, barTimeOffset=1500.0)
193 myDict.append(stationID=3, trainID=2, barID=0, barWeight=1.0, barTimeOffset=1500.0)
194 myDict.append(stationID=3, trainID=2, barID=1, barWeight=1.0, barTimeOffset=1500.0)
195 myDict.append(stationID=3, trainID=2, barID=2, barWeight=1.0, barTimeOffset=1500.0)
196 myDict.append(stationID=3, trainID=2, barID=3, barWeight=1.0, barTimeOffset=1500.0)
197 myDict.append(stationID=3, trainID=3, barID=0, barWeight=1.0, barTimeOffset=1500.0)
198 myDict.append(stationID=3, trainID=3, barID=1, barWeight=1.0, barTimeOffset=1500.0)
199 myDict.append(stationID=3, trainID=3, barID=2, barWeight=1.0, barTimeOffset=1500.0)
200 myDict.append(stationID=3, trainID=3, barID=3, barWeight=1.0, barTimeOffset=1500.0)
201 myDict.savePayload(folderBlk=folderBlkLoc_01, fromRun=fromRun)
202
203
204 # have the same IOV as alignment
205 fromRun = 203302
206 myDict = AFPDBDict(folderBlk=folderBlkVtx_01)
207 myDict.append(stationID=0, timeGlobalOffset=0.0, timeOffset=(64.,45.,25.,11.), timeSlope=(-7.3,-5.0,-4.0,-4.0), trainEdge=(-18.7,-13.2,-8.1,-4.0,-2.5))
208 myDict.append(stationID=3, timeGlobalOffset=5.0, timeOffset=( 2., 9.,14.,12.), timeSlope=( 4.0, 5.0, 3.0, 6.0), trainEdge=(-18.7,-13.2,-8.1,-4.0,-2.5))
209 myDict.savePayload(folderBlk=folderBlkVtx_01, fromRun=fromRun)
210
211
212 print ("\nClose database")
213 db.closeDatabase()
214
215
int main()
Definition hello.cxx:18

◆ makeFolderAndSpec()

AFPToFDBCreate.makeFolderAndSpec ( db,
folderName,
tag )
A function that will ensure a folder is in the database, it creates it if necessary. Also defines content of the folders. It contains only a single entry of a long string

Definition at line 34 of file AFPToFDBCreate.py.

34def makeFolderAndSpec(db,folderName,tag):
35 """A function that will ensure a folder is in the database, it creates it if necessary. Also defines content of the folders. It contains only a single entry of a long string"""
36
37 spec=cool.RecordSpecification()
38
39 # each folder contain just a single entry, this string will be JSON entry
40 spec.extend("data",cool.StorageType.String64k)
41
42 runLumi=True
43
44 # if there are more channels, use "CondAttrListCollection"; if there is only one channel, use "AthenaAttributeList"
45 # it's also possible to use "CondAttrListCollection" if there's only one channel
46 folder=AtlCoolLib.ensureFolder(db,folderName,spec,AtlCoolLib.athenaDesc(runLumi,'CondAttrListCollection'),cool.FolderVersioning.MULTI_VERSION)
47
48 if(folder is None):
49 sys.exit(1)
50
51 return folderBulk(folder, folderName, spec, tag)
52
if(febId1==febId2)

◆ runLBtoDB()

AFPToFDBCreate.runLBtoDB ( run,
lb )
Turns run number and lumibock into integrer needed by the database

Definition at line 30 of file AFPToFDBCreate.py.

30def runLBtoDB(run,lb):
31 """Turns run number and lumibock into integrer needed by the database"""
32 return (run<<32) + lb
33