25 return StatusCode::SUCCESS;
30 return StatusCode::SUCCESS;
36 static const unsigned int MAX_MBTS_COUNTER{32};
37 std::vector<float> energies(MAX_MBTS_COUNTER);
38 std::vector<float> times(MAX_MBTS_COUNTER);
40 for (
const TileCell* cell : *tileCellsHandle) {
45 ATH_CHECK(counter<
static_cast<int>(MAX_MBTS_COUNTER));
46 energies[counter] = cell->energy();
47 times[counter] = cell->time();
54 auto mbtsBitsContainer = std::make_unique< xAOD::TrigT2MbtsBitsContainer>();
55 auto mbtsBitsAuxContainer = std::make_unique< xAOD::TrigT2MbtsBitsAuxContainer>();
56 mbtsBitsContainer->setStore(mbtsBitsAuxContainer.get());
59 mbtsBitsContainer->push_back(mbtsObj);
64 ATH_CHECK(mbtsBitsHandle.
record( std::move(mbtsBitsContainer), std::move( mbtsBitsAuxContainer ) ) );
68 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
const ServiceHandle< StoreGateSvc > & detStore() const
An algorithm that can be simultaneously executed in multiple threads.
MBTSInfoCopier(const std::string &name, ISvcLocator *pSvcLocator)
const TileTBID * m_tileTBID
SG::WriteHandleKey< xAOD::TrigT2MbtsBitsContainer > m_MbtsBitsKey
SG::ReadHandleKey< TileCellContainer > m_mbtsCellContainerKey
virtual ~MBTSInfoCopier() override
virtual StatusCode initialize() override
virtual StatusCode execute(const EventContext &context) const override
virtual StatusCode finalize() override
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
void setTriggerTimes(const std::vector< float > &trigTm)
void setTriggerEnergies(const std::vector< float > &trigEg)
TrigT2MbtsBits_v1 TrigT2MbtsBits