84 ATH_MSG_DEBUG(
"original BS size = " << 4 * orgEvent->fragment_size_word());
85 ATH_MSG_DEBUG(
"athena BS size = " << 4 * newEvent->fragment_size_word());
89 const size_t MAX_ROBFRAGMENTS = 2048;
92 size_t orgrobcount = orgEvent->children(orgRobF, MAX_ROBFRAGMENTS);
93 if (orgrobcount == MAX_ROBFRAGMENTS) {
97 size_t newrobcount = newEvent->children(newRobF,MAX_ROBFRAGMENTS);
98 if (newrobcount == MAX_ROBFRAGMENTS) {
105 for (
size_t irob = 0; irob < orgrobcount; ++irob) {
106 ROBF* rob =
new ROBF(orgRobF[irob]);
108 ATH_MSG_DEBUG(
"original ROBFragment, src ID = " << std::hex << rob->source_id());
111 for (
size_t irob = 0; irob < newrobcount; ++irob) {
112 ROBF* rob =
new ROBF(newRobF[irob]);
113 ROBMAP::const_iterator
it = robsToAdd.find(
reducedROBid(rob->source_id()));
114 if (
it != robsToAdd.end()) {
116 ATH_MSG_DEBUG(
"overwriting ROBFragment with src ID = " << std::hex << rob->source_id());
119 ATH_MSG_DEBUG(
"new ROBFragment, src ID = " << std::hex << rob->source_id());
127 mergedEventWrite->source_id(
event->source_id());
128 mergedEventWrite->bc_time_seconds(
event->bc_time_seconds());
129 mergedEventWrite->bc_time_nanoseconds(
event->bc_time_nanoseconds());
130 mergedEventWrite->global_id(
event->global_id());
131 mergedEventWrite->run_type(
event->run_type());
132 mergedEventWrite->run_no(
event->run_no());
133 mergedEventWrite->lumi_block(
event->lumi_block());
134 mergedEventWrite->lvl1_id(
event->lvl1_id());
135 mergedEventWrite->bc_id(
event->bc_id());
136 mergedEventWrite->lvl1_trigger_type(
event->lvl1_trigger_type());
139 mergedEventWrite->status(
event->nstatus(),
tmp);
140 event->lvl1_trigger_info(
tmp);
141 mergedEventWrite->lvl1_trigger_info(
event->nlvl1_trigger_info(),
tmp);
142 event->lvl2_trigger_info(
tmp);
143 mergedEventWrite->lvl2_trigger_info(
event->nlvl2_trigger_info(),
tmp);
144 event->event_filter_info(
tmp);
145 mergedEventWrite->event_filter_info(
event->nevent_filter_info(),
tmp);
146 event->stream_tag(
tmp);
147 mergedEventWrite->stream_tag(
event->nstream_tag(),
tmp);
148 mergedEventWrite->checksum_type(
event->checksum_type());
151 mergedEventWrite->append(
it->second);
154 uint32_t rawSize = mergedEventWrite->size_word();
157 if (
count != rawSize) {
164 delete it->second;
it->second = 0;
166 delete mergedEventWrite; mergedEventWrite = 0;
168 if (
sc != StatusCode::SUCCESS) {