235 def get_trg_obj_data(self,frag):
236 frh = frag.get_header()
237 ta_list = []
238 tpd_list = []
239 size_so_far = 0
240 for i_ta in range(self.get_n_obj(frag)):
241 ta= self.trg_obj(frag.get_data(size_so_far))
242 size_so_far = size_so_far + ta.sizeof()
243 ch_info_ta = self.channel_map.get_channel_info_from_offline_channel(ta.data.channel_peak)
244 ta_list.append( TriggerActivityData(run=frh.run_number,
245 trigger=frh.trigger_number,
246 sequence=frh.sequence_number,
247 src_id=frh.element_id.id,
248 id=i_ta,
249 time_start=ta.data.time_start,
250 time_end=ta.data.time_end,
251 time_peak=ta.data.time_peak,
252 time_activity=ta.data.time_activity,
253 channel_start=ta.data.channel_start,
254 channel_end=ta.data.channel_end,
255 channel_peak=ta.data.channel_peak,
256 plane=self.channel_map.get_plane_from_offline_channel(ta.data.channel_peak),
257 element=ch_info_ta.element,
258 adc_integral=ta.data.adc_integral,
259 adc_peak=ta.data.adc_peak,
260 detid=ta.data.detid,
261 ta_type=ta.data.type,
262 algorithm=ta.data.algorithm,
263 n_tps=len(ta),
264 id_tc=-1) )
265 for i_tp in range(len(ta)):
266 tp = ta[i_tp]
267 ch_info_tp = self.channel_map.get_channel_info_from_offline_channel(tp.channel)
268 tpd_list.append( TriggerPrimitiveData(run=frh.run_number,
269 trigger=frh.trigger_number,
270 sequence=frh.sequence_number,
271 src_id=frh.element_id.id,
272 time_start=tp.time_start,
273 samples_to_peak=tp.samples_to_peak,
274 samples_over_threshold=tp.samples_over_threshold,
275 channel=tp.channel,
276 plane=self.channel_map.get_plane_from_offline_channel(tp.channel),
277 element=ch_info_tp.element,
278 adc_integral=tp.adc_integral,
279 adc_peak=tp.adc_peak,
280 detid=tp.detid,
281 flag=tp.flag,
282 id_ta=i_ta) )
283
284 if len(tpd_list)==0:
285 tpd_list=None
286 return ta_list, tpd_list
287