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
47 ToolHandleArray<IPFSubtractionTool> m_IPFSubtractionTools;
48
50 ToolHandleArray<IPFBaseTool> m_IPFBaseTools;
51
53 ToolHandleArray<IPFUnifiedBaseTool> m_IPFUnifiedBaseTools;
54
57 this,
58 "eflowRecTracksInputName",
59 "eflowRecTracks",
60 "ReadHandleKey for the eflowRecTrackContainer to be read in"
61 };
62
65 this,
66 "eflowRecClustersOutputName",
67 "eflowRecClusters",
68 "WriteHandleKey for the eflowRecClusterContainer to write out"
69 };
70
73 this,
74 "PFCaloClustersOutputName",
75 "PFCaloCluster",
76 "WriteHandleKey for CaloClusterContainer to be written out"
77 };
78
81 this,
82 "eflowCaloObjectsOutputName",
83 "eflowCaloObjects",
84 "WriteHandleKey for eflowCaloObjectContainer to be written out"
85 };
86
88 ToolHandle<GenericMonitoringTool> m_monTool{ this,
89 "MonTool",
90 "",
91 "Monitoring tool" };
92
94 void printTools();
95
96 Gaudi::Property<bool> m_useUnified{this, "useUnified", false, "Toggle to use standard PFA or unified PFA setup"};
97
98};
99#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:80
ToolHandleArray< IPFUnifiedBaseTool > m_IPFUnifiedBaseTools
List of IPFUnifiedBaseTool, which will be executed by this algorithm.
Definition PFAlgorithm.h:53
SG::WriteHandleKey< eflowRecClusterContainer > m_eflowRecClustersWriteHandleKey
WriteHandleKey for the eflowRecClusterContainer to write out.
Definition PFAlgorithm.h:64
StatusCode finalize() override
ToolHandleArray< IPFSubtractionTool > m_IPFSubtractionTools
List of IPFSubtractionTool, which will be executed by this algorithm.
Definition PFAlgorithm.h:47
SG::ReadHandleKey< eflowRecTrackContainer > m_eflowRecTracksReadHandleKey
ReadHandleKey for the eflowRecTrackContainer to be read in.
Definition PFAlgorithm.h:56
ToolHandleArray< IPFBaseTool > m_IPFBaseTools
List of PFBaseAlgTool, which will be executed by this algorithm.
Definition PFAlgorithm.h:50
ToolHandle< GenericMonitoringTool > m_monTool
Online monitoring tool for recording histograms of the alg in action.
Definition PFAlgorithm.h:88
Gaudi::Property< bool > m_useUnified
Definition PFAlgorithm.h:96
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_caloClustersWriteHandleKey
WriteHandleKey for CaloClusterContainer to be written out.
Definition PFAlgorithm.h:72
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.