32 return StatusCode::SUCCESS;
45 ATH_CHECK(eflowCaloObjectsWriteHandle.
record(std::make_unique<eflowCaloObjectContainer>()));
49 ATH_CHECK(caloClustersWriteHandle.
record(std::make_unique<xAOD::CaloClusterContainer>(),
50 std::make_unique<xAOD::CaloClusterAuxContainer>()));
51 ATH_MSG_DEBUG(
"CaloClusterWriteHandle has container of size" << caloClustersWriteHandle->size());
58 ATH_CHECK(eflowRecClustersWriteHandle.
record(std::make_unique<eflowRecClusterContainer>()));
68 thisIPFSubtractionTool->execute(theElowCaloObjectContainer,&localEFlowRecTrackContainer,&theEFlowRecClusterContainerReference);
73 for (
auto thisEFTrack : localEFlowRecTrackContainer) {
74 msg() <<
"This efRecTrack has E,pt,eta and phi of " << thisEFTrack->getTrack()->e() <<
", "
75 << thisEFTrack->getTrack()->pt() <<
", " << thisEFTrack->getTrack()->eta() <<
" and "
76 << thisEFTrack->getTrack()->phi() <<
endmsg;
79 for (
auto thisEFCluster : *(eflowRecClustersWriteHandle.
ptr())) {
80 msg() <<
"This efRecCluster has E,pt,eta and phi of " << thisEFCluster->getCluster()->e() <<
","
81 << thisEFCluster->getCluster()->pt() <<
", " << thisEFCluster->getCluster()->eta() <<
" and "
82 << thisEFCluster->getCluster()->phi() <<
endmsg;
86 N_efrClusters = theEFlowRecClusterContainerReference.
size();
90 ATH_CHECK(thisIPFBaseTool->execute(*theElowCaloObjectContainer));
94 return StatusCode::SUCCESS;
101 ATH_MSG_VERBOSE(
"List of IPFSubtraction tools in execution sequence:");
104 unsigned int subtractionToolCtr = 0;
106 subtractionToolCtr++;
107 ATH_MSG_VERBOSE(std::setw(2) << std::setiosflags(std::ios_base::right) << subtractionToolCtr <<
".) "
108 << std::resetiosflags(std::ios_base::right) << std::setw(36) << std::setfill(
'.')
109 << std::setiosflags(std::ios_base::left) << thisIPFSubtractionTool->type() << std::setfill(
'.')
110 << thisIPFSubtractionTool->name() << std::setfill(
' '));
119 unsigned int baseToolCtr = 0;
122 ATH_MSG_VERBOSE(std::setw(2) << std::setiosflags(std::ios_base::right) << baseToolCtr <<
".) "
123 << std::resetiosflags(std::ios_base::right) << std::setw(36) << std::setfill(
'.')
124 << std::setiosflags(std::ios_base::left) << thisIPFBaseTool->type() << std::setfill(
'.')
125 << thisIPFBaseTool->name() << std::setfill(
' '));
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
bool msgLvl(const MSG::Level lvl) const
An algorithm that can be simultaneously executed in multiple threads.
size_type size() const noexcept
Returns the number of elements in the collection.
Group of local monitoring quantities and retain correlation when filling histograms
Declare a monitored scalar variable.
Helper class to create a scoped timer.
ToolHandle< IPFClusterSelectorTool > m_IPFClusterSelectorTool
ToolHandle for the PFClusterSelectorTool which creates the set of eflowRecCluster to be used.
PFAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< eflowCaloObjectContainer > m_eflowCaloObjectsWriteHandleKey
WriteHandleKey for eflowCaloObjectContainer to be written out.
SG::WriteHandleKey< eflowRecClusterContainer > m_eflowRecClustersWriteHandleKey
WriteHandleKey for the eflowRecClusterContainer to write out.
StatusCode finalize() override
ToolHandleArray< IPFSubtractionTool > m_IPFSubtractionTools
List of IPFSubtractionTool, which will be executed by this algorithm.
SG::ReadHandleKey< eflowRecTrackContainer > m_eflowRecTracksReadHandleKey
ReadHandleKey for the eflowRecTrackContainer to be read in.
ToolHandleArray< IPFBaseTool > m_IPFBaseTools
List of PFBaseAlgTool, which will be executed by this algorithm.
ToolHandle< GenericMonitoringTool > m_monTool
Online monitoring tool for recording histograms of the alg in action.
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_caloClustersWriteHandleKey
WriteHandleKey for CaloClusterContainer to be written out.
void printTools()
Funciton to print out list of tools if in VERBOSE mode.
StatusCode initialize() override
const_pointer_type ptr()
Dereference the pointer.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
pointer_type ptr()
Dereference the pointer.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.