34#include "GaudiKernel/Bootstrap.h"
35#include "GaudiKernel/ISvcLocator.h"
36#include "GaudiKernel/IDataProviderSvc.h"
37#include "GaudiKernel/SmartDataPtr.h"
50 for (
int iboard = 0; iboard <
m_NBOARDS; iboard++) {
232 for (
int iboard = 0; iboard <
m_NBOARDS; iboard++) {
264 return StatusCode::FAILURE;
275 <<
" Drawer " << idrawer
281 for (
int ieta = mineta; ieta <= maxeta; ieta++) {
299 ATH_MSG_INFO(
"Initialization completed, number of towers " << nt );
301 return StatusCode::SUCCESS;
316 ATH_CHECK( triggerContainer.
record(std::make_unique<TileTriggerContainer>()) );
328 double p_maxTowerSum = 0;
329 std::vector<Identifier> p_boardTowerID;
330 std::vector<double> p_boardTowerSum;
331 std::vector<Identifier> p_backTowerID;
332 std::vector<double> p_backTowerSum;
342 for (; it != end; ++it) {
346 std::vector<float> samples = cinp->
fsamples();
350 <<
" " <<
m_TT_ID->pos_neg_z(
id)
353 <<
" peak =" << samples[0] );
361 if (samples[0] > p_maxTowerSum) {
362 p_maxTowerSum = samples[0];
402 if ((std::max(phi1, phi2) - std::min(phi1, phi2)) != 32)
continue;
404 p_backTowerID[nbacktowers] = id1;
407 p_backTowerID[nbacktowers] =
id2;
413 p_backTowerID.resize(nbacktowers);
414 p_backTowerSum.resize(nbacktowers);
416 triggerContainer->push_back(std::make_unique<TileTrigger>(p_maxTowerID, p_maxTowerSum,
417 p_boardTowerID, p_boardTowerSum,
418 p_backTowerID, p_backTowerSum));
420 ATH_MSG_DEBUG(
"TileTriggerContainer registered successfully (" << triggerContainer.
key() <<
")" );
424 return StatusCode::SUCCESS;
435 return StatusCode::SUCCESS;
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
Helpers for checking error return status codes and reporting errors.
#define CHECK(...)
Evaluate an expression and check for errors.
Handle class for reading from StoreGate.
Handle class for recording to StoreGate.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
const ServiceHandle< StoreGateSvc > & detStore() const
DataModel_detail::const_iterator< DataVector > const_iterator
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual const std::string & key() const override final
Return the StoreGate ID for the referenced object.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
bool m_connectedTowers[NMAXTOWERS]
virtual ~TileCosmicsTrigger()
std::vector< std::string > m_connectedDrawers[8]
std::vector< std::string > m_connectedDrawers2
std::vector< std::string > m_connectedDrawers1
SG::ReadHandleKey< TileTTL1Container > m_ttl1ContainerKey
int m_boardOfTower[NMAXTOWERS]
TileCosmicsTrigger(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< std::string > m_connectedDrawers4
std::vector< std::string > m_connectedDrawers6
SG::WriteHandleKey< TileTriggerContainer > m_triggerContainerKey
std::vector< std::string > m_connectedDrawers3
float m_towerSum[NMAXTOWERS]
bool m_firedTowers[NMAXTOWERS]
std::vector< std::string > m_connectedDrawers5
std::vector< std::string > m_connectedDrawers7
std::vector< std::string > m_connectedDrawers8
const CaloLVL1_ID * m_TT_ID
static const int m_NMaxTowers
Hash table for TileTTL1 identifiers.
const Identifier & TTL1_ID() const
const std::vector< float > & fsamples() const