ATLAS Offline Software
PFAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef PFALGORITHM_H
5 #define PFALGORITHM_H
6 
8 #include "GaudiKernel/ToolHandle.h"
9 #include "StoreGate/DataHandle.h"
11 
13 #include "eflowRec/eflowRecTrack.h"
14 
17 #include "eflowRec/IPFBaseTool.h"
19 
21 
23 
24 public:
25  PFAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
27 
28  StatusCode initialize() override ;
29  StatusCode execute(const EventContext& ctx) const override;
30  StatusCode finalize() override;
31 
32 private:
35  ToolHandle<IPFClusterSelectorTool> m_IPFClusterSelectorTool{
36  this,
37  "PFClusterSelectorTool",
38  "PFClusterSelectorTool",
39  "ToolHandle for the PFClusterSelectorTool which creates the set of "
40  "eflowRecCluster to be used"
41  };
42 
44  ToolHandleArray<IPFSubtractionTool> m_IPFSubtractionTools;
45 
47  ToolHandleArray<IPFBaseTool> m_IPFBaseTools;
48 
51  this,
52  "eflowRecTracksInputName",
53  "eflowRecTracks",
54  "ReadHandleKey for the eflowRecTrackContainer to be read in"
55  };
56 
59  this,
60  "eflowRecClustersOutputName",
61  "eflowRecClusters",
62  "WriteHandleKey for the eflowRecClusterContainer to write out"
63  };
64 
67  this,
68  "PFCaloClustersOutputName",
69  "PFCaloCluster",
70  "WriteHandleKey for CaloClusterContainer to be written out"
71  };
72 
75  this,
76  "eflowCaloObjectsOutputName",
77  "eflowCaloObjects",
78  "WriteHandleKey for eflowCaloObjectContainer to be written out"
79  };
80 
82  ToolHandle<GenericMonitoringTool> m_monTool{ this,
83  "MonTool",
84  "",
85  "Monitoring tool" };
86 
88  void printTools();
89 
90 };
91 #endif
PFAlgorithm
Definition: PFAlgorithm.h:22
IPFBaseTool.h
IPFSubtractionTool.h
PFAlgorithm::m_eflowRecClustersWriteHandleKey
SG::WriteHandleKey< eflowRecClusterContainer > m_eflowRecClustersWriteHandleKey
WriteHandleKey for the eflowRecClusterContainer to write out.
Definition: PFAlgorithm.h:58
eflowRecClusterContainer
Definition: eflowRecCluster.h:275
PFAlgorithm::initialize
StatusCode initialize() override
Definition: PFAlgorithm.cxx:16
PFAlgorithm::~PFAlgorithm
~PFAlgorithm()
Definition: PFAlgorithm.h:26
SG::ReadHandleKey< eflowRecTrackContainer >
DataHandle.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
PFAlgorithm::finalize
StatusCode finalize() override
Definition: PFAlgorithm.cxx:97
eflowRecTrack.h
SG::WriteHandleKey< eflowRecClusterContainer >
PFAlgorithm::m_caloClustersWriteHandleKey
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_caloClustersWriteHandleKey
WriteHandleKey for CaloClusterContainer to be written out.
Definition: PFAlgorithm.h:66
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PFAlgorithm::PFAlgorithm
PFAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: PFAlgorithm.cxx:7
IPFClusterSelectorTool.h
PFAlgorithm::m_IPFBaseTools
ToolHandleArray< IPFBaseTool > m_IPFBaseTools
List of PFBaseAlgTool, which will be executed by this algorithm.
Definition: PFAlgorithm.h:47
PFAlgorithm::printTools
void printTools()
Funciton to print out list of tools if in VERBOSE mode.
Definition: PFAlgorithm.cxx:99
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
eflowCaloObject.h
PFAlgorithm::m_eflowRecTracksReadHandleKey
SG::ReadHandleKey< eflowRecTrackContainer > m_eflowRecTracksReadHandleKey
ReadHandleKey for the eflowRecTrackContainer to be read in.
Definition: PFAlgorithm.h:50
PFAlgorithm::execute
StatusCode execute(const EventContext &ctx) const override
Definition: PFAlgorithm.cxx:35
PFAlgorithm::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Online monitoring tool for recording histograms of the alg in action.
Definition: PFAlgorithm.h:82
CaloClusterContainer.h
PFAlgorithm::m_IPFClusterSelectorTool
ToolHandle< IPFClusterSelectorTool > m_IPFClusterSelectorTool
ToolHandle for the PFClusterSelectorTool which creates the set of eflowRecCluster to be used.
Definition: PFAlgorithm.h:35
PFAlgorithm::m_eflowCaloObjectsWriteHandleKey
SG::WriteHandleKey< eflowCaloObjectContainer > m_eflowCaloObjectsWriteHandleKey
WriteHandleKey for eflowCaloObjectContainer to be written out.
Definition: PFAlgorithm.h:74
PFAlgorithm::m_IPFSubtractionTools
ToolHandleArray< IPFSubtractionTool > m_IPFSubtractionTools
List of IPFSubtractionTool, which will be executed by this algorithm.
Definition: PFAlgorithm.h:44