6#include "Identifier/Identifier.h"
22 return StatusCode::SUCCESS;
30 return StatusCode::SUCCESS;
47 ATH_MSG_INFO (
" Could not get pointer to Cell Container ");
51 return StatusCode::SUCCESS;
67 for (
const CaloCell* cell : *cell_container) {
71 const double eta = cell->eta();
72 if (std::fabs(
eta)<1.5)
continue;
74 const uint16_t provenance =cell->provenance();
95 const double energy=cell->energy();
96 const double noise=noiseCDO->
getNoise(cellID,cell->gain());
98 if (noise>0.) signif = energy/noise;
99 if (signif < 5.)
continue;
102 if (
m_calo_id->is_lar_fcal(cellID) &&
m_calo_id->calo_sample(cellID)==CaloCell_ID::FCAL0) ecut=1200.;
103 if (
m_calo_id->is_em_endcap_inner(cellID) ) ecut=250.;
105 if (ecut<0.)
continue;
106 if (energy<ecut)
continue;
108 double time = cell->time();
122 if (ncellA>0) timeA = timeA/((float)(ncellA));
123 if (ncellC>0) timeC = timeC/((float)(ncellC));
130 ATH_MSG_DEBUG(
" ncellA, ncellA, energyA, energyC, timeA, timeC " << ncellA <<
" " << ncellC <<
" " << energyA <<
" " << energyC <<
" " << timeA <<
" " << timeC);
131 auto larTime = std::make_unique<LArCollisionTime>(ncellA,ncellC,energyA,energyC,timeA,timeC);
133 if (! larTimeWH.
put (std::move (larTime)) ) {
138 return StatusCode::SUCCESS;
Scalar eta() const
pseudorapidity method
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
const ServiceHandle< StoreGateSvc > & detStore() const
virtual void setFilterPassed(bool state, const EventContext &ctx) const
Data object for each calorimeter readout cell.
float getNoise(const IdentifierHash h, const int gain) const
Accessor by IdentifierHash and gain.
Gaudi::Property< int > m_minCells
virtual StatusCode finalize() override final
standard Athena-Algorithm method
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Gaudi::Property< bool > m_iterCut
virtual StatusCode initialize() override final
standard Athena-Algorithm method
const CaloCell_ID * m_calo_id
SG::ReadHandleKey< CaloCellContainer > m_cellsContName
virtual StatusCode execute(const EventContext &ctx) const override final
standard Athena-Algorithm method
Gaudi::Property< float > m_timeCut
SG::WriteHandleKey< LArCollisionTime > m_collTimeName
Gaudi::Property< bool > m_isMC
virtual bool isValid() override final
Can the handle be successfully dereferenced?
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
const_pointer_type put(std::unique_ptr< T > data, bool returnExisting=false) const
Record an object to the store.
bool test(const uint16_t prov, const LArProvenance check)