ATLAS Offline Software
Loading...
Searching...
No Matches
TrackOverlayRoISiRDOMergerAlg.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3 * */
4
5#ifndef TRACKOVERLAYREC_TRACKOVERLAYROISIRDOMERGERALG_H
6#define TRACKOVERLAYREC_TRACKOVERLAYROISIRDOMERGERALG_H
7
9#include "GaudiKernel/ToolHandle.h"
12
17
18#include <atomic>
19
20class PixelID;
21class SCT_ID;
22
23namespace TrackOverlay {
24
34{
35public:
36 using AthReentrantAlgorithm::AthReentrantAlgorithm;
37
38 virtual StatusCode initialize() override;
39 virtual StatusCode execute(const EventContext& ctx) const override;
40 virtual StatusCode finalize() override;
41
42private:
43 SG::ReadHandleKey<xAOD::CaloClusterContainer> m_clusterKey{this, "CaloClusterKey", "egammaTopoClusters", "EM calo clusters seeding the RoIs"};
44
45 SG::ReadHandleKey<PixelRDO_Container> m_sigPixelKey{this, "SignalPixelRDOKey", "Sig_PixelRDOs", "Signal-only Pixel RDOs"};
46 SG::ReadHandleKey<PixelRDO_Container> m_fullPixelKey{this, "MergedPixelRDOKey", "PixelRDOs", "Signal + pileup Pixel RDOs"};
47 SG::WriteHandleKey<PixelRDO_Container> m_outPixelKey{this, "OutputPixelRDOKey", "RoI_PixelRDOs", "Output Pixel RDOs"};
48
49 SG::ReadHandleKey<SCT_RDO_Container> m_sigSCTKey{this, "SignalSCT_RDOKey", "Sig_SCT_RDOs", "Signal-only SCT RDOs"};
50 SG::ReadHandleKey<SCT_RDO_Container> m_fullSCTKey{this, "MergedSCT_RDOKey", "SCT_RDOs", "Signal + pileup SCT RDOs"};
51 SG::WriteHandleKey<SCT_RDO_Container> m_outSCTKey{this, "OutputSCT_RDOKey", "RoI_SCT_RDOs", "Output SCT RDOs"};
52
53 ToolHandle<IRegSelTool> m_regSelPixel{this, "RegSelTool_Pixel", "", "Region selector for Pixel"};
54 ToolHandle<IRegSelTool> m_regSelSCT{this, "RegSelTool_SCT", "", "Region selector for SCT"};
55
56 Gaudi::Property<float> m_minClusterEt{this, "MinClusterEt", 10000., "Minimum cluster ET [MeV] to open an RoI"};
57 Gaudi::Property<float> m_etaHalfWidth{this, "EtaHalfWidth", 0.15, "RoI half width in eta"};
58 Gaudi::Property<float> m_phiHalfWidth{this, "PhiHalfWidth", 0.3, "RoI half width in phi"};
59 Gaudi::Property<float> m_zHalfWidth{this, "ZHalfWidth", 225., "RoI half width in z along the beam line [mm]"};
60
61 const PixelID* m_pixelID{nullptr};
62 const SCT_ID* m_sctID{nullptr};
63
64 mutable std::atomic<unsigned long> m_nEvents{0};
65 mutable std::atomic<unsigned long> m_nRoIs{0};
66 mutable std::atomic<unsigned long> m_nPixelRoIModules{0};
67 mutable std::atomic<unsigned long> m_nSCTRoIModules{0};
68};
69
70} // namespace TrackOverlay
71
72#endif
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.
An algorithm that can be simultaneously executed in multiple threads.
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:69
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
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.
Builds the Pixel/SCT RDO containers used by the track overlay primary pass when RoI-limited silicon o...
SG::ReadHandleKey< SCT_RDO_Container > m_sigSCTKey
SG::ReadHandleKey< PixelRDO_Container > m_sigPixelKey
virtual StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< SCT_RDO_Container > m_outSCTKey
SG::WriteHandleKey< PixelRDO_Container > m_outPixelKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clusterKey
SG::ReadHandleKey< SCT_RDO_Container > m_fullSCTKey
SG::ReadHandleKey< PixelRDO_Container > m_fullPixelKey