16 return StatusCode::SUCCESS;
26 return StatusCode::SUCCESS;
42 for (
size_t i=0;i<
result.nClusters;++i) {
63 if( !cluster_container.
isValid()) {
68 return StatusCode::SUCCESS;
71 std::vector<const xAOD::CaloCluster*> clustersEMECA,clustersEMECC;
76 if ((pCluster->samplingPattern() & barrelPattern) == 0 ) {
77 if (pCluster->eta()>0.)
78 clustersEMECA.push_back(pCluster);
80 clustersEMECC.push_back(pCluster);
87 auto tmplarTime = std::make_unique<LArCollisionTime>(sideA.nClusters,sideC.nClusters,sideA.energy,sideC.energy,sideA.time,sideC.time);
90 if (! larTime.
put (std::move (tmplarTime)) ) {
94 ATH_MSG_DEBUG(
"Number/Time/Energy, Side A: " << sideA.nClusters <<
"/" << sideA.time <<
"/" << sideA.energy);
95 ATH_MSG_DEBUG(
"Number/Time/Energy, Side C: " << sideC.nClusters <<
"/" << sideC.time <<
"/" << sideC.energy);
97 if ( sideA.nClusters>0 && sideC.nClusters>0 && std::fabs(sideA.time-sideC.time)<
m_timeCut) {
106 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
virtual void setFilterPassed(bool state, const EventContext &ctx) const
static constexpr unsigned int barrelPattern()
Get the bit-pattern for barrel samplings.
StatusCode execute(const EventContext &ctx) const override final
standard Athena-Algorithm method
perSide_t analyseClustersPerSide(std::vector< const xAOD::CaloCluster * > &clusters) const
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clusterContainerName
SG::WriteHandleKey< LArCollisionTime > m_outputName
std::atomic< unsigned > m_nCollEvt
StatusCode initialize() override final
standard Athena-Algorithm method
std::atomic< unsigned > m_nEvt
Gaudi::Property< size_t > m_maxClusters
Gaudi::Property< float > m_timeCut
StatusCode finalize() override final
standard Athena-Algorithm method
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.
flt_t time() const
Access cluster time.
virtual double e() const
The total energy of the particle.
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Tell the compiler to optimize assuming that FP may trap.
#define CXXUTILS_TRAPPING_FP