317 {
318
320 if(!aod){
322 return StatusCode::SUCCESS;
323 }
325 if( aod->
size() != tpb_aod->
size() ) {
326 ATH_MSG_WARNING(
"sizes of the muon container " <<
label <<
" and the corresponding (?) trigpassbits object are different: "
327 << aod->
size() <<
" vs " << tpb_aod->
size() <<
", will not convert TrigPassBits for this container" );
328 }
330 if(!xaodMuon){
332 return StatusCode::SUCCESS;
333 }
335
336 if(aod->
size() != xaodMuon->
size()) {
337 ATH_MSG_ERROR(
"containers before and after the conversion are of different sizes");
338 return StatusCode::FAILURE;
339 }
340
343
345
349 ATH_MSG_DEBUG(
"muon xaod ispassing = " << xBits->isPassing( i ) );
351 xBits->markPassing( i );
352 ATH_MSG_DEBUG(
"muon xaod ispassing (after update) = " << xBits->isPassing( i ) );
353
354
355
356 }
357 tpb_xaod = xBits.release();
358 return StatusCode::SUCCESS;
359 }
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.