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

Functions

 createSqlite (sqliteName, folderName="/TDAQ/OLC/LHC/FILLPARAMS")
 createSqliteForAvg (sqliteName, folderName="/TDAQ/OLC/LHC/LBDATA3")
 createSqliteForInt (sqliteName, folderName="/TDAQ/OLC/LHC/BUNCHDATA")
 fillFolder (folder, data=[], iovMin=cool.ValidityKeyMin, iovMax=cool.ValidityKeyMax)
 fillFolderForAvg (folder, data=[], iovMin=cool.ValidityKeyMin, iovMax=cool.ValidityKeyMax)
 fillFolderForInt (folder, data=[], iovMin=cool.ValidityKeyMin, iovMax=cool.ValidityKeyMax)
 createBCMask1 ()
 createBCMask2 ()

Variables

 msg = logging.getLogger( 'dummyLHCFillDB' )
 db
 folder
 d1 = createBCMask1()
 d2 = createBCMask2()
 iovMin
 iovMax

Function Documentation

◆ createBCMask1()

python.dummyLHCFillDB.createBCMask1 ( )

Definition at line 238 of file dummyLHCFillDB.py.

238def createBCMask1():
239 mask=[]
240 #pre-fill with zero
241 for i in range(0,3564):
242 mask.append(0x0)
243
244 #A train across the wrap-around:
245 for i in range (0,25):
246 mask[i]=0x3
247
248 for i in range (3550,3564):
249 mask[i]=0x3
250
251 #A short sequence of bunches that doesn't qualify as train
252 for i in range (1000,1030):
253
254 mask[i]=0x3
255 return mask
256
257

◆ createBCMask2()

python.dummyLHCFillDB.createBCMask2 ( )

Definition at line 258 of file dummyLHCFillDB.py.

258def createBCMask2():
259 mask=[]
260 #pre-fill with zero
261 for i in range(0,3564):
262 mask.append(0x0)
263
264 t8b4e=[0x3,0x3,0x3,0x3, 0x3,0x3,0x3,0x3, 0x0,0x0,0x0,0x0]
265
266 for i in range(0,20):
267 #create a train of 20 8be4 groups start
268 mask[100+i*12:100+(i+1)*12]=t8b4e
269
270 return mask
271
272
273
274

◆ createSqlite()

python.dummyLHCFillDB.createSqlite ( sqliteName,
folderName = "/TDAQ/OLC/LHC/FILLPARAMS" )

Definition at line 12 of file dummyLHCFillDB.py.

12def createSqlite(sqliteName,folderName="/TDAQ/OLC/LHC/FILLPARAMS"):
13
14 dbSvc = cool.DatabaseSvcFactory.databaseService()
15
16 if os.access(sqliteName,os.R_OK):
17 msg.debug("UPDATING existing sqlite file %s" , sqliteName)
18 db=dbSvc.openDatabase("sqlite://;schema="+sqliteName+";dbname=CONDBR2",False)
19 else:
20 msg.debug("Creating new sqlite file %s" , sqliteName)
21 db=dbSvc.createDatabase("sqlite://;schema="+sqliteName+";dbname=CONDBR2")
22 pass
23
24 spec = cool.RecordSpecification()
25 spec.extend("Beam1Bunches",cool.StorageType.UInt32)
26 spec.extend("Beam2Bunches",cool.StorageType.UInt32)
27 spec.extend("LuminousBunches",cool.StorageType.UInt32)
28 spec.extend("BCIDmasks",cool.StorageType.Blob64k)
29
30 descr='<timeStamp>time</timeStamp><addrHeader><address_header service_type="71" clid="40774348" /></addrHeader><typeName>AthenaAttributeList</typeName>'
31 if db.existsFolder(folderName):
32 folder=db.getFolder(folderName)
33 else:
34 msg.debug("Creating COOL folder/tag %s" , (folderName))
35 folderSpec = cool.FolderSpecification(cool.FolderVersioning.MULTI_VERSION, spec)
36 folder = db.createFolder(folderName, folderSpec, descr, True)
37 pass
38
39 return db,folder
40
41
42

◆ createSqliteForAvg()

python.dummyLHCFillDB.createSqliteForAvg ( sqliteName,
folderName = "/TDAQ/OLC/LHC/LBDATA3" )

Definition at line 43 of file dummyLHCFillDB.py.

43def createSqliteForAvg(sqliteName,folderName="/TDAQ/OLC/LHC/LBDATA3"):
44
45 dbSvc = cool.DatabaseSvcFactory.databaseService()
46
47 if os.access(sqliteName,os.R_OK):
48 msg.debug("UPDATING existing sqlite file %s" , sqliteName)
49 db=dbSvc.openDatabase("sqlite://;schema="+sqliteName+";dbname=CONDBR2",False)
50 else:
51 msg.debug("Creating new sqlite file %s" , sqliteName)
52 db=dbSvc.createDatabase("sqlite://;schema="+sqliteName+";dbname=CONDBR2")
53 pass
54
55
56
57 spec = cool.RecordSpecification()
58 spec.extend("Beam1Intensity",cool.StorageType.Float)
59 spec.extend("Beam2Intensity",cool.StorageType.Float)
60
61 spec.extend("Beam1IntensityAll",cool.StorageType.Float)
62 spec.extend("Beam2IntensityAll",cool.StorageType.Float)
63 spec.extend("Beam1IntensityStd",cool.StorageType.Float)
64 spec.extend("Beam2IntensityStd",cool.StorageType.Float)
65 spec.extend("Beam1IntensityAllStd",cool.StorageType.Float)
66 spec.extend("Beam2IntensityAllStd",cool.StorageType.Float)
67
68 spec.extend("RunLB",cool.StorageType.UInt63)
69 spec.extend("Valid",cool.StorageType.UInt32)
70
71 # clid=40774348 -> AthenaAttributeList
72 # clid=120132775 -> BunchCrossingAverageData
73 descr='<timeStamp>time</timeStamp><addrHeader><address_header service_type="71" clid="1238547719" /></addrHeader><typeName>CondAttrListCollection</typeName>'
74
75 if db.existsFolder(folderName):
76 msg.debug("folder exist")
77 folder=db.getFolder(folderName)
78 else:
79 msg.debug("Creating COOL folder/tag %s" , (folderName))
80 folderSpec = cool.FolderSpecification(cool.FolderVersioning.MULTI_VERSION, spec)
81 folder = db.createFolder(folderName, folderSpec, descr, True)
82 pass
83
84 return db,folder
85
86
87

◆ createSqliteForInt()

python.dummyLHCFillDB.createSqliteForInt ( sqliteName,
folderName = "/TDAQ/OLC/LHC/BUNCHDATA" )

Definition at line 88 of file dummyLHCFillDB.py.

88def createSqliteForInt(sqliteName,folderName="/TDAQ/OLC/LHC/BUNCHDATA"):
89
90 dbSvc = cool.DatabaseSvcFactory.databaseService()
91
92 if os.access(sqliteName,os.R_OK):
93 msg.debug("UPDATING existing sqlite file %s" , sqliteName)
94 db=dbSvc.openDatabase("sqlite://;schema="+sqliteName+";dbname=CONDBR2",False)
95 else:
96 msg.debug("Creating new sqlite file %s" , sqliteName)
97 db=dbSvc.createDatabase("sqlite://;schema="+sqliteName+";dbname=CONDBR2")
98 pass
99
100
101
102 spec = cool.RecordSpecification()
103 spec.extend("RunLB",cool.StorageType.UInt63)
104 spec.extend("B1BunchAverage",cool.StorageType.Float)
105 spec.extend("B2BunchAverage",cool.StorageType.Float)
106
107 spec.extend("B1BunchIntensities",cool.StorageType.Blob64k)
108 spec.extend("B2BunchIntensities",cool.StorageType.Blob64k)
109
110 spec.extend("Valid",cool.StorageType.UInt32)
111
112 # clid=40774348 -> AthenaAttributeList
113 # clid=120132775 -> BunchCrossingAverageData
114 descr='<timeStamp>time</timeStamp><addrHeader><address_header service_type="71" clid="1238547719" /></addrHeader><typeName>CondAttrListCollection</typeName>'
115
116 if db.existsFolder(folderName):
117 msg.debug("folder exist")
118 folder=db.getFolder(folderName)
119 else:
120 msg.debug("Creating COOL folder/tag %s" , (folderName))
121 folderSpec = cool.FolderSpecification(cool.FolderVersioning.MULTI_VERSION, spec)
122 folder = db.createFolder(folderName, folderSpec, descr, True)
123 pass
124
125 return db,folder
126
127

◆ fillFolder()

python.dummyLHCFillDB.fillFolder ( folder,
data = [],
iovMin = cool.ValidityKeyMin,
iovMax = cool.ValidityKeyMax )

Definition at line 128 of file dummyLHCFillDB.py.

128def fillFolder(folder,data=[],iovMin=cool.ValidityKeyMin,iovMax=cool.ValidityKeyMax):
129
130 nB1=0
131 nB2=0
132 nColl=0
133
134 for bcid in data:
135 if (bcid & 0x1): nB1+=1
136 if (bcid & 0x2): nB2+=1
137 if (bcid & 0x3 == 0x3): nColl+=1
138 pass
139
140
141 payload=cool.Record(folder.payloadSpecification())
142 payload['Beam1Bunches']=nB1
143 payload['Beam2Bunches']=nB2
144 payload['LuminousBunches']=nColl
145 btype=getattr(ROOT,"coral::Blob")
146
147 bcmask=btype()
148 bcmask.resize(3564)
149
150 for i,d in enumerate(data):
151 bcmask[i]=d
152
153
154 payload['BCIDmasks']=bcmask
155
156
157 msg.debug("Storing FILLPARAMS object")
158 folder.storeObject(iovMin, iovMax, payload, cool.ChannelId(0))
159
160 return
161
162
163

◆ fillFolderForAvg()

python.dummyLHCFillDB.fillFolderForAvg ( folder,
data = [],
iovMin = cool.ValidityKeyMin,
iovMax = cool.ValidityKeyMax )

Definition at line 164 of file dummyLHCFillDB.py.

164def fillFolderForAvg(folder,data=[],iovMin=cool.ValidityKeyMin,iovMax=cool.ValidityKeyMax):
165
166 nB1=0
167 nB2=0
168 nColl=0
169
170 for bcid in data:
171 if (bcid & 0x1): nB1+=1
172 if (bcid & 0x2): nB2+=1
173 if (bcid & 0x3 == 0x3): nColl+=1
174 pass
175
176 for chanNum in range(0,4):
177 payload=cool.Record(folder.payloadSpecification())
178
179 payload['Beam1Intensity']=1.5+1.5*chanNum
180 payload['Beam2Intensity']=1.5+1.5*chanNum
181 payload['Beam1IntensityAll']=1.5+1.5*chanNum
182 payload['Beam2IntensityAll']=1.5+1.5*chanNum
183 payload['Beam1IntensityStd']=1.5+1.5*chanNum
184 payload['Beam2IntensityStd']=1.5+1.5*chanNum
185 payload['Beam1IntensityAllStd']=1.5+1.5*chanNum
186 payload['Beam2IntensityAllStd']=1.5+1.5*chanNum
187 payload['RunLB']=430897
188 payload['Valid']=1
189
190
191 channelId = cool.ChannelId(chanNum)
192 folder.storeObject(iovMin, iovMax, payload, channelId)
193 msg.debug("Storing LBDATA3 object")
194
195
196 return
197
198
199
200

◆ fillFolderForInt()

python.dummyLHCFillDB.fillFolderForInt ( folder,
data = [],
iovMin = cool.ValidityKeyMin,
iovMax = cool.ValidityKeyMax )

Definition at line 201 of file dummyLHCFillDB.py.

201def fillFolderForInt(folder,data=[],iovMin=cool.ValidityKeyMin,iovMax=cool.ValidityKeyMax):
202
203 for chanNum in range(0,2):
204 payload=cool.Record(folder.payloadSpecification())
205 # payload['Channel']=0
206 payload['RunLB']=430897
207 payload['B1BunchAverage']=1.5+1.5*chanNum
208 payload['B2BunchAverage']=1.5+1.5*chanNum
209
210
211 btype=getattr(ROOT,"coral::Blob")
212
213 bcmask_1=btype()
214 bcmask_1.resize(3564)
215
216 bcmask_2=btype()
217 bcmask_2.resize(3564)
218
219 for i,d in enumerate(data):
220 bcmask_1[i]=d
221
222 for i,d in enumerate(data):
223 bcmask_2[i]=d
224
225 payload['B1BunchIntensities']=bcmask_1
226 payload['B2BunchIntensities']=bcmask_2
227 payload['Valid']=1
228
229 channelId = cool.ChannelId(chanNum)
230 folder.storeObject(iovMin, iovMax, payload, channelId)
231
232 msg.debug("Storing BUNCHDATA object")
233
234 return
235
236
237

Variable Documentation

◆ d1

python.dummyLHCFillDB.d1 = createBCMask1()

Definition at line 280 of file dummyLHCFillDB.py.

◆ d2

python.dummyLHCFillDB.d2 = createBCMask2()

Definition at line 281 of file dummyLHCFillDB.py.

◆ db

python.dummyLHCFillDB.db

Definition at line 278 of file dummyLHCFillDB.py.

◆ folder

python.dummyLHCFillDB.folder

Definition at line 278 of file dummyLHCFillDB.py.

◆ iovMax

python.dummyLHCFillDB.iovMax

Definition at line 283 of file dummyLHCFillDB.py.

◆ iovMin

python.dummyLHCFillDB.iovMin

Definition at line 283 of file dummyLHCFillDB.py.

◆ msg

python.dummyLHCFillDB.msg = logging.getLogger( 'dummyLHCFillDB' )

Definition at line 8 of file dummyLHCFillDB.py.