28 declareInterface<IgFEXSysSim>(
this);
68 return StatusCode::SUCCESS;
82 return ((nphi*eta) + phi +
mod);
88 const EventContext& ctx = Gaudi::Hive::currentContext();
91 if(!this_gTowerContainer.
isValid()){
93 return StatusCode::FAILURE;
109 int fcalEta = 19;
int fcalPhi = 0;
int fcalMod = 900000;
111 int transfcalEta = 15;
int transfcalPhi = 0;
int transfcalMod = 700000;
113 int emecEta = 11;
int emecPhi = 0;
int emecMod = 500000;
115 int transembEta = 7;
int transembPhi = 0;
int transembMod = 300000;
117 int embEta = 6;
int embPhi = 0;
int embMod = 100000;
121 int embposEta = 0;
int embposPhi = 0;
int embposMod = 200000;
123 int transembposEta = 7;
int transembposPhi = 0;
int transembposMod = 400000;
125 int emecposEta = 8;
int emecposPhi = 0;
int emecposMod = 600000;
127 int transfcalposEta = 12;
int transfcalposPhi = 0;
int transfcalposMod = 800000;
129 int fcalposEta = 16;
int fcalposPhi = 0;
int fcalposMod = 1000000;
139 int rows = tmp_gTowersIDs_subset.size();
140 int cols = tmp_gTowersIDs_subset[0].size();
143 for(
int thisCol=0; thisCol<4; thisCol++){
144 for(
int thisRow=0; thisRow<
rows/2; thisRow++){
146 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
151 for(
int thisCol=4; thisCol<8; thisCol++){
152 for(
int thisRow=0; thisRow<
rows; thisRow++){
154 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
159 for(
int thisCol=8; thisCol<12; thisCol++){
160 for(
int thisRow=0; thisRow<
rows; thisRow++){
162 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
167 for(
int thisRow = 0; thisRow <
rows; thisRow++){
169 int towerid = initialTRANSEMB + thisRow;
170 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
174 for(
int thisCol = 13; thisCol < 20; thisCol++){
175 for(
int thisRow=0; thisRow<
rows; thisRow++){
177 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
182 for(
int thisCol = 20; thisCol < 27; thisCol++){
183 for(
int thisRow=0; thisRow<
rows; thisRow++){
185 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
190 for(
int thisRow = 0; thisRow <
rows; thisRow++){
192 int towerid = initialposTRANSEMB + thisRow;
193 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
196 for(
int thisCol=28; thisCol<32; thisCol++){
197 for(
int thisRow=0; thisRow<
rows; thisRow++){
199 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
204 for(
int thisCol=32; thisCol<36; thisCol++){
205 for(
int thisRow=0; thisRow<
rows; thisRow++){
207 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
212 for(
int thisCol=36; thisCol<
cols; thisCol++){
213 for(
int thisRow=0; thisRow<
rows/2; thisRow++){
215 tmp_gTowersIDs_subset[thisRow][thisCol] = towerid;
221 for (
int thisRow=
rows-1; thisRow>=0; thisRow--){
222 for (
int thisCol=0; thisCol<
cols; thisCol++){
223 int tmptowerid = tmp_gTowersIDs_subset[thisRow][thisCol];
224 const float tmptowereta = this_gTowerContainer->
findTower(tmptowerid)->
eta();
225 const float tmptowerphi = this_gTowerContainer->
findTower(tmptowerid)->
phi();
226 if(thisCol !=
cols-1){
ATH_MSG_DEBUG(
"| " << tmptowerid <<
"([" << tmptowerphi <<
"][" << tmptowereta <<
"]) "); }
227 else {
ATH_MSG_DEBUG(
"| " << tmptowerid <<
"([" << tmptowereta <<
"][" << tmptowerphi <<
"]) |"); }
308 int gLJ_scale = thr_gLJ.resolutionMeV();
309 int gXE_scale = thr_gXE.resolutionMeV();
310 int gTE_scale = thr_gTE.resolutionMeV();
368 ATH_MSG_DEBUG(
" write: " << outputgFexBlockHandle.
key() <<
" = " <<
"..." );
377 ATH_MSG_DEBUG(
" write: " << outputgScalarEJwojHandle.
key() <<
" = " <<
"..." );
381 ATH_MSG_DEBUG(
" write: " << outputgMETComponentsJwojHandle.
key() <<
" = " <<
"..." );
385 ATH_MSG_DEBUG(
" write: " << outputgMHTComponentsJwojHandle.
key() <<
" = " <<
"..." );
389 ATH_MSG_DEBUG(
" write: " << outputgMSTComponentsJwojHandle.
key() <<
" = " <<
"..." );
394 ATH_MSG_DEBUG(
" write: " << outputgMETComponentsNoiseCutHandle.
key() <<
" = " <<
"..." );
398 ATH_MSG_DEBUG(
" write: " << outputgMETComponentsRmsHandle.
key() <<
" = " <<
"..." );
402 ATH_MSG_DEBUG(
" write: " << outputgScalarENoiseCutHandle.
key() <<
" = " <<
"..." );
406 ATH_MSG_DEBUG(
" write: " << outputgScalarERmsHandle.
key() <<
" = " <<
"..." );
410 return StatusCode::SUCCESS;
419 return StatusCode::SUCCESS;
428 return StatusCode::SUCCESS;
437 return StatusCode::SUCCESS;
446 return StatusCode::SUCCESS;
455 return StatusCode::SUCCESS;
464 return StatusCode::SUCCESS;
473 return StatusCode::SUCCESS;
482 return StatusCode::SUCCESS;
491 return StatusCode::SUCCESS;
500 return StatusCode::SUCCESS;
509 return StatusCode::SUCCESS;