32 static const InterfaceID IID_TileCellsDecorator(
"TileCellsDecorator", 1, 0);
39 declareInterface<TileCellsDecorator>(
this);
189 return StatusCode::SUCCESS;
241 for (std::pair<
const xAOD::IParticle*,
const std::vector<const CaloCell*>> particleCellsPair : muonCellsMap) {
244 const std::vector<const CaloCell*>&
cells = particleCellsPair.second;
246 std::vector< float > cells_energy;
247 std::vector< float > cells_et;
248 std::vector< float > cells_eta;
249 std::vector< float > cells_phi;
251 std::vector< int > cells_gain;
252 std::vector< bool > cells_bad;
253 std::vector< int > cells_sampling;
254 std::vector< float > cells_time;
255 std::vector< unsigned short > cells_quality;
257 std::vector< float > cells_sinTh;
258 std::vector< float > cells_cosTh;
259 std::vector< float > cells_cotTh;
260 std::vector< float > cells_x;
261 std::vector< float > cells_y;
262 std::vector< float > cells_z;
264 std::vector< float > cells_r;
265 std::vector< float > cells_dx;
266 std::vector< float > cells_dy;
267 std::vector< float > cells_dz;
268 std::vector< float > cells_dr;
269 std::vector< float > cells_volume;
270 std::vector< float > cells_dphi;
271 std::vector< float > cells_deta;
273 std::vector< int > cells_side;
274 std::vector< unsigned short > cells_section;
275 std::vector< unsigned short > cells_module;
276 std::vector< unsigned short > cells_tower;
277 std::vector< unsigned short > cells_sample;
279 std::vector< unsigned short > cells_pmt1_ros;
280 std::vector< unsigned short > cells_pmt2_ros;
281 std::vector< unsigned short > cells_pmt1_drawer;
282 std::vector< unsigned short > cells_pmt2_drawer;
283 std::vector< unsigned short > cells_pmt1_channel;
284 std::vector< unsigned short > cells_pmt2_channel;
286 std::vector< float > cells_pmt1_energy;
287 std::vector< float > cells_pmt2_energy;
288 std::vector< float > cells_pmt1_time;
289 std::vector< float > cells_pmt2_time;
291 std::vector< unsigned short > cells_pmt1_quality;
292 std::vector< unsigned short > cells_pmt2_quality;
293 std::vector< unsigned short > cells_pmt1_qbit;
294 std::vector< unsigned short > cells_pmt2_qbit;
296 std::vector< bool > cells_pmt1_bad;
297 std::vector< bool > cells_pmt2_bad;
298 std::vector< unsigned short > cells_pmt1_gain;
299 std::vector< unsigned short > cells_pmt2_gain;
307 cells_energy.push_back(
cell->energy() );
308 cells_et.push_back(
cell->et() );
309 cells_eta.push_back(
cell->eta() );
310 cells_phi.push_back(
cell->phi() );
313 cells_gain.push_back(
cell->gain() );
314 cells_bad.push_back(
cell->badcell() );
315 cells_sampling.push_back( cell_dde->
getSampling() );
316 cells_time.push_back(
cell->time() );
317 cells_quality.push_back(
cell->quality() );
320 cells_sinTh.push_back(
cell->sinTh() );
321 cells_cosTh.push_back(
cell->cosTh() );
322 cells_cotTh.push_back(
cell->cotTh() );
323 cells_x.push_back(
cell->x() );
324 cells_y.push_back(
cell->y() );
325 cells_z.push_back(
cell->z() );
328 cells_r.push_back( cell_dde->
r() );
329 cells_dx.push_back( cell_dde->
dx() );
330 cells_dy.push_back( cell_dde->
dy() );
331 cells_dz.push_back( cell_dde->
dz() );
332 cells_dr.push_back( cell_dde->
dr() );
333 cells_volume.push_back( cell_dde->
volume() );
334 cells_dphi.push_back( cell_dde->
dphi() );
335 cells_deta.push_back( cell_dde->
deta() );
368 cells_pmt1_ros.push_back( ros1 );
369 cells_pmt2_ros.push_back( ros2 );
370 cells_pmt1_drawer.push_back( drawer1 );
371 cells_pmt2_drawer.push_back( drawer2 );
372 cells_pmt1_channel.push_back( channel1 );
373 cells_pmt2_channel.push_back( channel2 );
375 cells_pmt1_energy.push_back( tile_cell->
ene1() );
376 cells_pmt2_energy.push_back( tile_cell->
ene2() );
377 cells_pmt1_time.push_back( tile_cell->
time1() );
378 cells_pmt2_time.push_back( tile_cell->
time2() );
379 cells_pmt1_quality.push_back( tile_cell->
qual1() );
380 cells_pmt2_quality.push_back( tile_cell->
qual2() );
381 cells_pmt1_qbit.push_back( tile_cell->
qbit1() );
382 cells_pmt2_qbit.push_back( tile_cell->
qbit2() );
383 cells_pmt1_bad.push_back( tile_cell->
badch1() );
384 cells_pmt2_bad.push_back( tile_cell->
badch2() );
385 cells_pmt1_gain.push_back( tile_cell->
gain1() );
386 cells_pmt2_gain.push_back( tile_cell->
gain2() );
389 cellsEnergy(*
particle) = std::move(cells_energy);
390 cellsEt(*
particle) = std::move(cells_et);
391 cellsEta(*
particle) = std::move(cells_eta);
392 cellsPhi(*
particle) = std::move(cells_phi);
393 cellsGain(*
particle) = std::move(cells_gain);
394 cellsBad(*
particle) = std::move(cells_bad);
395 cellsSampling(*
particle) = std::move(cells_sampling);
396 cellsTime(*
particle) = std::move(cells_time);
397 cellsQuality(*
particle) = std::move(cells_quality);
399 cellsSinTh(*
particle) = std::move(cells_sinTh);
400 cellsCosTh(*
particle) = std::move(cells_cosTh);
401 cellsCotTh(*
particle) = std::move(cells_cotTh);
402 cellsX(*
particle) = std::move(cells_x);
403 cellsY(*
particle) = std::move(cells_y);
404 cellsZ(*
particle) = std::move(cells_z);
405 cellsR(*
particle) = std::move(cells_r);
406 cellsDx(*
particle) = std::move(cells_dx);
407 cellsDy(*
particle) = std::move(cells_dy);
408 cellsDz(*
particle) = std::move(cells_dz);
409 cellsDr(*
particle) = std::move(cells_dr);
410 cellsVolume(*
particle) = std::move(cells_volume);
411 cellsDeta(*
particle) = std::move(cells_deta);
412 cellsDphi(*
particle) = std::move(cells_dphi);
413 cellsSide(*
particle) = std::move(cells_side);
414 cellsSection(*
particle) = std::move(cells_section);
415 cellsModule(*
particle) = std::move(cells_module);
416 cellsTower(*
particle) = std::move(cells_tower);
417 cellsSample(*
particle) = std::move(cells_sample);
419 cellsPmt1Ros(*
particle) = std::move(cells_pmt1_ros);
420 cellsPmt2Ros(*
particle) = std::move(cells_pmt2_ros);
421 cellsPmt1Drawer(*
particle) = std::move(cells_pmt1_drawer);
422 cellsPmt2Drawer(*
particle) = std::move(cells_pmt2_drawer);
423 cellsPmt1Channel(*
particle) = std::move(cells_pmt1_channel);
424 cellsPmt2Channel(*
particle) = std::move(cells_pmt2_channel);
425 cellsPmt1Energy(*
particle) = std::move(cells_pmt1_energy);
426 cellsPmt2Energy(*
particle) = std::move(cells_pmt2_energy);
427 cellsPmt1Time(*
particle) = std::move(cells_pmt1_time);
428 cellsPmt2Time(*
particle) = std::move(cells_pmt2_time);
429 cellsPmt1Quality(*
particle) = std::move(cells_pmt1_quality);
430 cellsPmt2Quality(*
particle) = std::move(cells_pmt2_quality);
431 cellsPmt1_Qbit(*
particle) = std::move(cells_pmt1_qbit);
432 cellsPmt2_Qbit(*
particle) = std::move(cells_pmt2_qbit);
433 cellsPmt1Bad(*
particle) = std::move(cells_pmt1_bad);
434 cellsPmt2Bad(*
particle) = std::move(cells_pmt2_bad);
435 cellsPmt1Gain(*
particle) = std::move(cells_pmt1_gain);
436 cellsPmt2Gain(*
particle) = std::move(cells_pmt2_gain);
440 return StatusCode::SUCCESS;