18 ISvcLocator* pSvcLocator) :
43 int defaultCuts_barrel[] = { 1000, 1000, 1000, 1000 };
44 int defaultCuts_endcap[] = { 2000, 2000, 2000, 2000 };
48 <<
" energy cut values provided for the endcap : reverting to default" <<
endmsg;
54 <<
" energy cut values provided for the endcap : reverting to default" <<
endmsg;
58 msg(MSG::INFO) <<
"Energy cuts (Barrel) : ";
62 msg() << MSG::INFO <<
"Energy cuts (Endcap) : ";
66 return StatusCode::SUCCESS;
70const std::vector<int>&
79 std::vector<int> energyCuts;
80 energyCuts.assign(
m_onlineID->channelHashMax(),std::numeric_limits<int>::max());
91 if (sampling < 0)
continue;
124 return StatusCode::SUCCESS;
142 auto keepSet = std::make_unique<std::bitset<200000> >();
146 if (abs(chan.energy())>=energyCuts[onlHash]) {
147 keepSet->set(onlHash);
153 for (
const LArDigit* dig : *inputContainer) {
155 if (keepSet->test(onlHash)) {
156 outputContainer->push_back(dig);
161 << inputContainer->size() <<
" digits.");
163 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
DataVector adapter that acts like it holds const pointers.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
const ServiceHandle< StoreGateSvc > & detStore() const
An algorithm that can be simultaneously executed in multiple threads.
This is a "hash" representation of an Identifier.
SG::WriteHandleKey< ConstDigitCont_t > m_outputKey
CxxUtils::CachedValue< std::vector< int > > m_energyCuts
const std::vector< int > & initCutValues(const EventContext &ctx) const
StatusCode initialize() override
const LArOnlineID * m_onlineID
StatusCode finalize() override
SG::ReadHandleKey< LArRawChannelContainer > m_rawChannelKey
const CaloCell_ID * m_caloCellId
StatusCode execute(const EventContext &ctx) const override
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
std::vector< int > m_energyCuts_barrel
std::vector< int > m_energyCuts_endcap
SG::ReadHandleKey< LArDigitContainer > m_inputKey
LArDigitThinner(const std::string &name, ISvcLocator *pSvcLocator)
Liquid Argon digit base class.
Liquid Argon ROD output object base class.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts