5#ifndef TRIGGEPPERF_GepCellsHandlerALG_H
6#define TRIGGEPPERF_GepCellsHandlerALG_H
11#include "GaudiKernel/ToolHandle.h"
29 virtual StatusCode
execute(
const EventContext&)
const override;
42 default:
ATH_MSG_FATAL(
"A GEP energy encoding scheme with " << value <<
" energy bits is currently not defined");
43 return StatusCode::FAILURE;
46 ATH_MSG_INFO(
"Setting GEP energy encoding to a " << value <<
"-bit scheme which allows for the sending of " <<
m_maxCellsPerFEB <<
" cells to GEP per FEB");
49 return StatusCode::SUCCESS;
54 ATH_MSG_FATAL(
"The value of the least significant bit in the GEP energy encoding cannot be set to " << value);
55 return StatusCode::FAILURE;
57 ATH_MSG_INFO(
"Setting the value for the least significant bit in the GEP energy encoding to " << value <<
" MeV");
60 return StatusCode::SUCCESS;
63 StatusCode
setG(
int value) {
65 ATH_MSG_FATAL(
"The value of G in the GEP energy encoding cannot be set to " << value);
66 return StatusCode::FAILURE;
68 ATH_MSG_INFO(
"Setting the value for G in the GEP energy encoding to " << value);
71 return StatusCode::SUCCESS;
85 "String defining the GEP readout scheme according to number of readout bits + '-' + value of LSB in MeV + '-' + gain value"};
88 "Enabling or disabling the hardware-style energy encoding for the GEP"};
91 "Enabling or disabling the truncation of cells from FEBs with more than the maximum number of cells which can be send"};
94 "If true, all cells are considered regardless whether they are truncated or below the 2sigma threshold"};
96 Gaudi::Property<std::string>
m_LArCellMap {
this,
"LArCellMapFile",
"UpgradePerformanceFunctions/LAr_Cell_Map_offlineID_0.csv",
97 "File associating LAr cells with readout FEBs and connection technology"};
114 const EventContext&)
const;
Definition of CaloDetDescrManager.
An algorithm that can be simultaneously executed in multiple threads.
Container class for CaloCell.
Helper class for offline cell identifiers.
Data object for each calorimeter readout cell.
std::map< unsigned int, Gep::GepCaloCell > m_gepCellsBase
Gaudi::Property< std::string > m_GepEnergyEncodingScheme
Gaudi::Property< bool > m_doTruncationOfOverflowingFEBs
virtual StatusCode execute(const EventContext &) const override
virtual StatusCode initialize() override
Gaudi::Property< std::string > m_LArCellMap
GepCellsHandlerAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadCondHandleKey< CaloNoise > m_totalNoiseKey
Gaudi::Property< bool > m_writeAllCells
StatusCode setG(int value)
StatusCode setNumberOfEnergyBits(int value)
unsigned m_maxCellsPerFEB
SG::WriteHandleKey< Gep::GepCellMap > m_outputGepCellsKey
StatusCode removeCellsFromOverloadedFEB(std::vector< Gep::GepCaloCell > &cells) const
SG::ReadCondHandleKey< CaloNoise > m_electronicNoiseKey
Key of the CaloNoise Conditions data object.
int getGepEnergy(float offline_et) const
StatusCode setLeastSignificantBit(int value)
Gaudi::Property< bool > m_doGepHardwareStyleEnergyEncoding
SG::ReadHandleKey< CaloCellContainer > m_caloCellsKey
std::vector< unsigned int > getNeighbours(const CaloCellContainer &allcells, const CaloCell *acell, const EventContext &) const
const CaloCell_ID * m_CaloCell_ID
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.