27 const std::string& name, ISvcLocator* pSvcLocator) :
46 return StatusCode::SUCCESS;
60 std::pair<xAOD::CaloClusterContainer*, xAOD::ShallowAuxContainer*> copyPair =
63 std::unique_ptr<xAOD::CaloClusterContainer> clusters{copyPair.first};
64 std::unique_ptr<xAOD::ShallowAuxContainer> clustersAux{copyPair.second};
66 ATH_CHECK( outputClusters.
record(std::move(clusters), std::move(clustersAux)));
72 for (
auto itrPair = std::make_pair(inputClusters->begin(), outputClusters->begin());
73 itrPair != std::make_pair(inputClusters->end(), outputClusters->end());
74 ++itrPair.first, ++itrPair.second) {
77 ATH_MSG_ERROR(
"Failed to read the cell links from the input clusters!");
78 return StatusCode::FAILURE;
80 (**itrPair.second).addCellLink(std::make_unique<CaloClusterCellLink>(*inputLinks));
88 (std::abs(cl->eta0()) < 1.45 && clcorr->name().find(
"37") != std::string::npos) ||
89 (std::abs(cl->eta0()) >= 1.45 && clcorr->name().find(
"55") != std::string::npos) ) {
114 if (!outputClusters->empty() ) {
115 ATH_MSG_DEBUG(
" REGTEST: Last Cluster Et = " << outputClusters->back()->et());
116 ATH_MSG_DEBUG(
" REGTEST: Last Cluster eta = " << outputClusters->back()->eta());
117 ATH_MSG_DEBUG(
" REGTEST: Last Cluster phi = " << outputClusters->back()->phi());
120 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
Header file to be included by clients of the Monitored infrastructure.
Handle class for reading from StoreGate.
Handle class for recording to StoreGate.
An algorithm that can be simultaneously executed in multiple threads.
Bookkeeping of cells that make up a cluster Simplified replacement for CaloCellLink,...
static StatusCode finalizeClusters(SG::WriteHandle< CaloClusterCellLinkContainer > &h, xAOD::CaloClusterContainer *pClusterColl)
Finalize clusters (move CaloClusterCellLink to a separate container).
Group of local monitoring quantities and retain correlation when filling histograms
void fill()
Explicitly fill the monitoring histograms and disable autoFill.
StatusCode setConst()
Set the 'const' bit for the bound proxy in the store.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
pointer_type ptr()
Dereference the pointer.
ToolHandle< GenericMonitoringTool > m_monTool
virtual StatusCode initialize() override
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_outputClustersKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inputClustersKey
SG::WriteHandleKey< CaloClusterCellLinkContainer > m_outputCellLinksKey
ToolHandleArray< CaloClusterProcessor > m_clusterCorrections
Gaudi::Property< bool > m_isSW
TrigCaloClusterCalibrator(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode execute(const EventContext &ctx) const override
flt_t calPhi() const
Get in signal state CALIBRATED.
flt_t calEta() const
Get in signal state CALIBRATED.
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
std::pair< std::unique_ptr< T >, std::unique_ptr< ShallowAuxContainer > > shallowCopyContainer(const T &cont, const EventContext &ctx)
Function making a shallow copy of a constant container.