57 bool jDataTowerFilled =
false;
60 if(!jDataTowerContainer.
isValid()) {
61 ATH_MSG_ERROR(
"Could not retrieve collection " << jDataTowerContainer.
key() );
62 return StatusCode::FAILURE;
64 jDataTowerFilled = !jDataTowerContainer->empty();
72 if(!jEmulatedTowerContainer.
isValid()) {
73 ATH_MSG_ERROR(
"Could not retrieve collection " << jEmulatedTowerContainer.
key() );
74 return StatusCode::FAILURE;
80 std::unique_ptr<jTowerContainer> local_jTowerContainerRaw = std::make_unique<jTowerContainer>();
91 data_jTowerContainer = &jEmulatedTowerContainer;
94 data_jTowerContainer = &jDataTowerContainer;
97 ATH_MSG_DEBUG(
"Collection used to build the jTower for simulation: " << (*data_jTowerContainer).key() <<
" with size: "<<(*data_jTowerContainer)->size());
101 unsigned int TTID = my_jTower->jFEXtowerID();
104 if( (targetTower = local_jTowerContainerRaw->findTower(TTID)) ) {
106 targetTower->
setiEta( my_jTower->globalEta() );
107 targetTower->
setiPhi( my_jTower->globalPhi() );
112 uint8_t source = my_jTower->Calosource();
117 targetTower->
set_Et(1,(my_jTower->et_count()).at(0)*500);
120 if( (my_jTower->isjTowerSat()).at(0) ) targetTower->
setHADSat();
125 if(source == 0 or source == 2 or source == 4 ) layer = 0;
131 if( (my_jTower->isjTowerSat()).at(0) ){
142 ATH_MSG_ERROR(
"Tower ID is officially unknown - it will be ignored. (Needs investigation). Please report this!" );
148 ATH_MSG_ERROR(
"Falling into the legacy path. This should never happen!. Use EmulatedTowers or DataTowers - Contact L1Calo offline experts");
149 return StatusCode::FAILURE;
163 ATH_CHECK(jTowerContainerSG.
record(std::move( local_jTowerContainerRaw ) ) );
168 return StatusCode::SUCCESS;