316 {
317
319 if(!aod){
321 return StatusCode::SUCCESS;
322 }
324 if( aod->
size() != tpb_aod->
size() ) {
325 ATH_MSG_WARNING(
"sizes of the muon container " <<
label <<
" and the corresponding (?) trigpassbits object are different: "
326 << aod->
size() <<
" vs " << tpb_aod->
size() <<
", will not convert TrigPassBits for this container" );
327 }
329 if(!xaodMuon){
331 return StatusCode::SUCCESS;
332 }
334
335 if(aod->
size() != xaodMuon->
size()) {
336 ATH_MSG_ERROR(
"containers before and after the conversion are of different sizes");
337 return StatusCode::FAILURE;
338 }
339
342
344
348 ATH_MSG_DEBUG(
"muon xaod ispassing = " << xBits->isPassing( i ) );
350 xBits->markPassing( i );
351 ATH_MSG_DEBUG(
"muon xaod ispassing (after update) = " << xBits->isPassing( i ) );
352
353
354
355 }
356 tpb_xaod = xBits.release();
357 return StatusCode::SUCCESS;
358 }
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.