ATLAS Offline Software
Loading...
Searching...
No Matches
PFAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef EFLOWREC_PFALGORITHM_H
5#define EFLOWREC_PFALGORITHM_H
6
8#include "GaudiKernel/ToolHandle.h"
10
11#include "eflowCaloObject.h"
12#include "eflowRecTrack.h"
13
16#include "IPFBaseTool.h"
17#include "IPFSubtractionTool.h"
18#include "IPFUnifiedBaseTool.h"
19
20#include "PFData.h"
21
22
24
26
27public:
28 PFAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
30
31 StatusCode initialize() override ;
32 StatusCode execute(const EventContext& ctx) const override;
33 StatusCode finalize() override;
34
35private:
38 ToolHandle<IPFClusterSelectorTool> m_IPFClusterSelectorTool{
39 this,
40 "PFClusterSelectorTool",
41 "PFClusterSelectorTool",
42 "ToolHandle for the PFClusterSelectorTool which creates the set of "
43 "eflowRecCluster to be used"
44 };
45
48 ToolHandleArray<IPFSubtractionTool> m_IPFSubtractionTools{this, "SubtractionToolList", {}, "List of Private Subtraction IPFSubtractionTools"};
49
52 ToolHandleArray<IPFBaseTool> m_IPFBaseTools{this, "BaseToolList", {}, "List of Private IPFBaseTools"};
53
55 ToolHandleArray<IPFUnifiedBaseTool> m_IPFUnifiedBaseTools{this, "UnifiedBaseTools", {}, "List of Private IPFUnifiedBaseTools"};
56
59 this,
60 "eflowRecTracksInputName",
61 "eflowRecTracks",
62 "ReadHandleKey for the eflowRecTrackContainer to be read in"
63 };
64
67 this,
68 "eflowRecClustersOutputName",
69 "eflowRecClusters",
70 "WriteHandleKey for the eflowRecClusterContainer to write out"
71 };
72
75 this,
76 "PFCaloClustersOutputName",
77 "PFCaloCluster",
78 "WriteHandleKey for CaloClusterContainer to be written out"
79 };
80
83 this,
84 "eflowCaloObjectsOutputName",
85 "eflowCaloObjects",
86 "WriteHandleKey for eflowCaloObjectContainer to be written out"
87 };
88
90 ToolHandle<GenericMonitoringTool> m_monTool{ this,
91 "MonTool",
92 "",
93 "Monitoring tool" };
94
96 void printTools();
97
104 Gaudi::Property<bool> m_useUnified{this, "useUnified", false, "Toggle to use standard PFA or unified PFA setup"};
105
106};
107#endif
Header file to be included by clients of the Monitored infrastructure.
An algorithm that can be simultaneously executed in multiple threads.
ToolHandle< IPFClusterSelectorTool > m_IPFClusterSelectorTool
ToolHandle for the PFClusterSelectorTool which creates the set of eflowRecCluster to be used.
Definition PFAlgorithm.h:38
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.
Definition PFAlgorithm.h:82
ToolHandleArray< IPFUnifiedBaseTool > m_IPFUnifiedBaseTools
List of IPFUnifiedBaseTool, which will be executed by this algorithm.
Definition PFAlgorithm.h:55
SG::WriteHandleKey< eflowRecClusterContainer > m_eflowRecClustersWriteHandleKey
WriteHandleKey for the eflowRecClusterContainer to write out.
Definition PFAlgorithm.h:66
StatusCode finalize() override
ToolHandleArray< IPFSubtractionTool > m_IPFSubtractionTools
List of IPFSubtractionTool, which will be executed by this algorithm.
Definition PFAlgorithm.h:48
SG::ReadHandleKey< eflowRecTrackContainer > m_eflowRecTracksReadHandleKey
ReadHandleKey for the eflowRecTrackContainer to be read in.
Definition PFAlgorithm.h:58
ToolHandleArray< IPFBaseTool > m_IPFBaseTools
List of PFBaseAlgTool, which will be executed by this algorithm.
Definition PFAlgorithm.h:52
ToolHandle< GenericMonitoringTool > m_monTool
Online monitoring tool for recording histograms of the alg in action.
Definition PFAlgorithm.h:90
Gaudi::Property< bool > m_useUnified
Selects the unified tool chain (m_IPFUnifiedBaseTools) over the legacy one (m_IPFSubtractionTools + m...
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_caloClustersWriteHandleKey
WriteHandleKey for CaloClusterContainer to be written out.
Definition PFAlgorithm.h:74
void printTools()
Funciton to print out list of tools if in VERBOSE mode.
StatusCode initialize() override
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.