168 def initLBData(self):
169
170
171
172
173
174
175
176 LBDataStructStr = "struct LBDataStruct {\
177 ULong64_t coolStartTime;\
178 ULong64_t coolEndTime;\
179 Double_t startTime;\
180 Double_t endTime;\
181 Float_t lbTime;\
182 UInt_t fill;\
183 UInt_t run;\
184 UInt_t lb;\
185 Float_t eBeam;\
186 Bool_t stable;\
187 Bool_t ready;\
188 Bool_t physics;\
189 Bool_t larVeto;\
190 \
191 UInt_t onlValid;\
192 UInt_t olcValid;\
193 UInt_t onlPrefChan;\
194 Float_t muToLumi;\
195 Float_t onlInstLum;\
196 Float_t onlInstLumAll;\
197 Float_t onlEvtsPerBX;\
198 \
199 UInt_t nColl;\
200 UInt_t nBeam1;\
201 UInt_t nBeam2;\
202 Float_t qBeam1Col;\
203 Float_t qBeam2Col;\
204 Float_t qBeam1All;\
205 Float_t qBeam2All;\
206 \
207 Float_t specLumi;\
208 Float_t geomLumi;\
209 Float_t maxEvtsPerBX;\
210 \
211 Float_t l1LiveFrac;\
212 Float_t avgLiveFrac;\
213 Float_t lumiWtLiveFrac;\
214 \
215 UInt_t matched;\
216 };"
217
218
219 gROOT.ProcessLine(LBDataStructStr)
220 from ROOT import LBDataStruct
221 self.lbData = LBDataStruct()
222
223 self.varList = []
224
225 self.varList.append(('startTime', 'D'))
226 self.varList.append(('endTime', 'D'))
227 self.varList.append(('coolStartTime', 'l'))
228 self.varList.append(('coolEndTime', 'l'))
229 self.varList.append(('lbTime', 'F'))
230
231 self.varList.append(('fill', 'i'))
232 self.varList.append(('run', 'i'))
233 self.varList.append(('lb', 'i'))
234 self.varList.append(('eBeam', 'F'))
235
236
237 self.varList.append(('stable', 'O'))
238 self.varList.append(('ready', 'O'))
239 self.varList.append(('physics', 'O'))
240 self.varList.append(('larVeto', 'O'))
241
242
243 self.varList.append(('onlPrefChan', 'i'))
244 self.varList.append(('muToLumi', 'F'))
245 self.varList.append(('onlInstLum', 'F'))
246 self.varList.append(('onlInstLumAll', 'F'))
247 self.varList.append(('onlEvtsPerBX', 'F'))
248 self.varList.append(('onlValid', 'i'))
249 self.varList.append(('olcValid', 'i'))
250
251
252 self.varList.append(('nColl', 'i'))
253 self.varList.append(('nBeam1', 'i'))
254 self.varList.append(('nBeam2', 'i'))
255 self.varList.append(('qBeam1Col', 'F'))
256 self.varList.append(('qBeam2Col', 'F'))
257 self.varList.append(('qBeam1All', 'F'))
258 self.varList.append(('qBeam2All', 'F'))
259
260 self.varList.append(('specLumi', 'F'))
261 self.varList.append(('geomLumi', 'F'))
262 self.varList.append(('maxEvtsPerBX', 'F'))
263
264
265 self.varList.append(('l1LiveFrac', 'F'))
266 self.varList.append(('avgLiveFrac', 'F'))
267 self.varList.append(('lumiWtLiveFrac', 'F'))
268
269
270 self.varList.append(('matched', 'i'))
271
272 for (var, type) in self.varList:
273 if self.updatemode:
274 self.loadBranch(var)
275
276 else:
277 self.defineBranch(var, type)
278