319 {
320
322 if(!aod){
324 return StatusCode::SUCCESS;
325 }
327 if( aod->
size() != tpb_aod->
size() ) {
328 ATH_MSG_WARNING(
"sizes of the muon container " <<
label <<
" and the corresponding (?) trigpassbits object are different: "
329 << aod->
size() <<
" vs " << tpb_aod->
size() <<
", will not convert TrigPassBits for this container" );
330 }
332 if(!xaodMuon){
334 return StatusCode::SUCCESS;
335 }
337
338 if(aod->
size() != xaodMuon->
size()) {
339 ATH_MSG_ERROR(
"containers before and after the conversion are of different sizes");
340 return StatusCode::FAILURE;
341 }
342
345
347
351 ATH_MSG_DEBUG(
"muon xaod ispassing = " << xBits->isPassing( i ) );
353 xBits->markPassing( i );
354 ATH_MSG_DEBUG(
"muon xaod ispassing (after update) = " << xBits->isPassing( i ) );
355
356
357
358 }
359 tpb_xaod = xBits.release();
360 return StatusCode::SUCCESS;
361 }
const T * at(size_type n) const
Access an element, as an rvalue.
unsigned int size() const
gets size of the bits array
bool isPassing(const TrigPassBits *bits, const T *obj, const CONTAINER *container)
Check the bit for the object in the associated bits object.
std::unique_ptr< TrigPassBits_v1 > makeTrigPassBits(const CONT *container, uint32_t containerKey=xAOD::TrigPassBits_v1::DEFAULT_KEY)
Helper function creating a new object to describe a target container.