25 CHECK(towers.isValid());
26 auto nTowers = towers->size();
27 ATH_MSG_DEBUG(
"Reading " << nTowers <<
" cell towers from xAOD::BaseContainer");
29 std::vector<WTATrigObj> input_towers;
30 for(
size_t i = 0; i < nTowers; i++){
32 WTATrigObj this_tower(tower.ptt.
bits().to_ulong(), tower.eta.
bits().to_ulong(), tower.phi.
bits().to_ulong(), 0, i);
33 input_towers.push_back(this_tower);
37 std::unique_ptr<WTAConeMaker> MyWTAConeMaker = std::make_unique<WTACone2PassMaker>();
44 MyWTAConeMaker->m_WTAConeMakerParameter = MyWTAParameters;
50 std::vector<WTAJet> WTAJetList = wta_parallel_helper.
GetAllJets();
54 CHECK( jets.record( std::make_unique<xAOD::BaseContainer>(), std::make_unique<xAOD::AuxContainerBase>()) );
56 for(
const auto&
WTAJet: WTAJetList){
57 jets->push_back( std::make_unique<SG::AuxElement>() );
60 jet.ptt = std::clamp(
static_cast<int>(
WTAJet.
pt()), 0, (1 <<
jet.ptt.width) - 1);
61 jet.eta = std::clamp(
static_cast<int>(
WTAJet.
eta()), 0, (1 <<
jet.eta.width) - 1);
62 jet.phi = std::clamp(
static_cast<int>(
WTAJet.
phi()), 0, (1 <<
jet.phi.width) - 1);
65 jet.ring_zero_ptt = std::clamp(
static_cast<int>(ering_info.
ring0_Et), 0, (1 <<
jet.ring_zero_ptt.width) - 1);
66 jet.ring_one_ptt = std::clamp(
static_cast<int>(ering_info.
ring1_Et), 0, (1 <<
jet.ring_one_ptt.width) - 1);
67 jet.ring_two_ptt = std::clamp(
static_cast<int>(ering_info.
ring2_Et), 0, (1 <<
jet.ring_two_ptt.width) - 1);
68 jet.ring_three_ptt = std::clamp(
static_cast<int>(ering_info.
ring3_Et), 0, (1 <<
jet.ring_three_ptt.width) - 1);
69 jet.ring_four_ptt = std::clamp(
static_cast<int>(ering_info.
ring4_Et), 0, (1 <<
jet.ring_four_ptt.width) - 1);
70 jet.total_tobs =std::clamp(
static_cast<int>(ering_info.
total_TobN), 0, (1 <<
jet.total_tobs.width) - 1);
71 jet.ring_one_tobs = std::clamp(
static_cast<int>(ering_info.
ring1_TobN), 0, (1 <<
jet.ring_one_tobs.width) - 1);
72 jet.ring_two_tobs = std::clamp(
static_cast<int>(ering_info.
ring2_TobN), 0, (1 <<
jet.ring_two_tobs.width) - 1);
73 jet.ring_three_tobs = std::clamp(
static_cast<int>(ering_info.
ring3_TobN), 0, (1 <<
jet.ring_three_tobs.width) - 1);
74 jet.ring_four_tobs = std::clamp(
static_cast<int>(ering_info.
ring4_TobN), 0, (1 <<
jet.ring_four_tobs.width) - 1);
79 jet.flag_et_overflow =
false;
80 jet.flag_error =
false;
81 jet.flag_next_tob_same_et =
false;
82 jet.flag_truncate =
false;
85 return StatusCode::SUCCESS;