Main functional block running for each event.
24 {
25
26 if (dc){dc->collect(*this, "start");}
27
28 SG::ReadHandle<xAOD::gFexJetRoIContainer> inContainer(
m_gFexJetRoIKey, ctx);
29 CHECK(inContainer.isValid());
30
31 ATH_MSG_DEBUG(
"Number of gFexRhoROIs read in " << inContainer->size());
32 if(inContainer->size() != 3){
33 ATH_MSG_ERROR(
"Expected 3 input gFex Rho TOBs. I received " << inContainer->size());
34 }
35
37 auto outContainer = std::make_unique<OutContainer>();
38
41 for(auto tob:*inContainer){
43 rho_bits += tob->gFexTobEt();
44 rho_scale = tob->tobEtScale();
45 }
46
47 outContainer->push_back(std::make_unique<IOBitwise::gFexRhoTOB>(rho_bits, rho_scale));
48
49 for(auto tob:*outContainer){
51 if (dc){dc->collect(*this, tob->to_string());}
52 }
53
55 ctx);
56 CHECK(h_write.record(std::move(outContainer)));
57
58 if (dc){
59 dc->collect(*this, "end");
60 }
61 return StatusCode::SUCCESS;
62 }
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_ERROR(x,...)
DataVector< GlobalSim::IOBitwise::gFexRhoTOB > gFexRhoTOBContainer