ATLAS Offline Software
Loading...
Searching...
No Matches
Egamma1_OnlineMapNbhood.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 GLOBALSIM_EGAMMA1_ONLINEMAPNBHOOD_H
6#define GLOBALSIM_EGAMMA1_ONLINEMAPNBHOOD_H
7
8/*
9 This Algorithm finds and outputs GlobalLArCells in the neighbourhood of eFEX
10 RoIs. These neighhoods are used to run various Egamma1 Algorithms in GlobalSim.
11 This method uses the Athena offline calo map to form the neighbourhood.
12 It is seeded from the GlobalLArCells.
13*/
14
15#include "eFexRoIAlgTool.h"
16#include "GlobalLArCell.h"
18
20#include "../IO/eEmNbhoodTOB.h"
21
22#include "Identifier/Identifier.h"
23
26
27#include <vector>
28
29//forward declarations for calorimenter ID helpers
30class CaloCell_ID;
31class LArEM_ID;
32
33namespace GlobalSim {
34
36 public:
37
38 Egamma1_OnlineMapNbhood(const std::string& name, ISvcLocator* pSvcLocator);
39
41 virtual StatusCode initialize() override;
43 virtual StatusCode execute(const EventContext& ) const override;
44
45 private:
46
49
52 this,
53 "EventInfo",
54 "EventInfo",
55 "EventInfo name"};
56
58 ToolHandle<eFexRoIAlgTool>
60 this,
61 "roiAlgTool",
62 "GlobalSim::eFexRoIAlgTool",
63 "AlgTool to provide a vector<const xAOD::eFexEMRoI*>"};
64
68 this,
69 "GlobalLArCellsKey",
70 "GlobalLArCells",
71 "Key for the container of the LAr cells sent to Global"};
72
76 this,
77 "eFEXetaKey",
78 "eFEXeta"};
79
83 this,
84 "eFEXphiKey",
85 "eFEXphi"};
86
90 this,
91 "FailedeFEXetaKey",
92 "FailedeFEXeta"};
93
97 this,
98 "FailedeFEXphiKey",
99 "FailedeFEXphi"};
100
104 this,
105 "stripNeighborhoodTOBKey",
106 "stripNeighborhoodTOBContainer",
107 "location to write strip neighborhoods of EFex RoIs, with the associated TOBs"};
108
109
111 Gaudi::Property<bool> m_dump {
112 this,
113 "dump",
114 false,
115 "flag to enable dumps"};
116
118 Gaudi::Property<bool> m_dumpTerse {
119 this,
120 "dumpTerse",
121 false,
122 "flag to enable terse dumps"};
123
125 StatusCode
126 findNeighborhoods_OnlineMap(const std::vector<const xAOD::eFexEMRoI*>&,
128 std::vector<bool>&,
130
132 StatusCode
135 bool&,
137
139 bool
140 findSeedCell(float,
141 float,
143 Identifier&) const;
144
146 bool
147 findHalfStrips(int,
148 float,
149 float,
151 Identifier&) const;
152
154 StatusCode
157 std::vector<std::vector<std::shared_ptr<const GlobalSim::GlobalLArCell>> >&) const;
158
160 StatusCode
162 std::vector<std::vector<std::shared_ptr<const GlobalSim::GlobalLArCell>> >&) const;
163
165 std::shared_ptr<const GlobalLArCell> findMax(std::vector<std::shared_ptr<const GlobalLArCell>>&) const;
166 };
167
168}
169#endif
170
171
172
173
An algorithm that can be simultaneously executed in multiple threads.
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
ToolHandle< eFexRoIAlgTool > m_roiAlgTool
ToolHandle for the eFexRoI AlgTool.
SG::WriteHandleKey< std::vector< float > > m_eFEXphiKey
WriteHandle Key for the eFexRoI's phi (for valid windows, for DEBUG).
Egamma1_OnlineMapNbhood(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< bool > m_dumpTerse
Parameter to toggle dumping of brief information window information.
SG::WriteHandleKey< IOBitwise::eEmNbhoodTOBContainer > m_neighKey
WriteHandle Key for the resulting TOBs.
StatusCode findWindow(IdentifierHash, const GlobalSim::GlobalLArCellContainer &, std::vector< std::vector< std::shared_ptr< const GlobalSim::GlobalLArCell > > > &) const
Function to produce a window around an input seed cell.
std::shared_ptr< const GlobalLArCell > findMax(std::vector< std::shared_ptr< const GlobalLArCell > > &) const
Function to find the maximum energy cell in a vector of cells.
virtual StatusCode execute(const EventContext &) const override
execute function running for every event
SG::WriteHandleKey< std::vector< float > > m_eFEXetaKey
WriteHandle Key for the eFexRoI's eta (for valid windows, for DEBUG).
StatusCode findMaxima(IdentifierHash &, std::vector< std::vector< std::shared_ptr< const GlobalSim::GlobalLArCell > > > &) const
Function to find the maximum energy cell in a window.
SG::WriteHandleKey< std::vector< float > > m_FailedeFEXetaKey
WriteHandle Key for the eFexRoI's eta (for invalid windows, for DEBUG).
virtual StatusCode initialize() override
initialize function running before the first event
StatusCode findNeighborhoods_OnlineMap(const std::vector< const xAOD::eFexEMRoI * > &, const GlobalSim::GlobalLArCellContainer &, std::vector< bool > &, IOBitwise::eEmNbhoodTOBContainer &) const
Function to produce mutliple windows from a vector of incoming eFeX RoIs.
StatusCode findNeighborhood_OnlineMap(const xAOD::eFexEMRoI *, const GlobalSim::GlobalLArCellContainer &, bool &, IOBitwise::eEmNbhoodTOBContainer &) const
Function to produce a window from an incoming eFeX RoI.
SG::WriteHandleKey< std::vector< float > > m_FailedeFEXphiKey
WriteHandle Key for the eFexRoI's phi (for invalid windows, for DEBUG).
Gaudi::Property< bool > m_dump
Parameter to toggle dumping of full information window information.
SG::ReadHandleKey< GlobalSim::GlobalLArCellContainer > m_gblLArCellContainerKey
ReadHandle Key to the GlobalLArCellContainer.
bool findSeedCell(float, float, const GlobalSim::GlobalLArCellContainer &, Identifier &) const
Function to find the seed cell for a window from the eFeX RoI position.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
ReadHandle Key for the EventInfo object.
bool findHalfStrips(int, float, float, const GlobalSim::GlobalLArCellContainer &, Identifier &) const
Function to search for seed cells according to local granularity.
This is a "hash" representation of an Identifier.
Helper class for LArEM offline identifiers.
Definition LArEM_ID.h:111
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.
DataVector< GlobalSim::IOBitwise::eEmNbhoodTOB > eEmNbhoodTOBContainer
AlgTool that to test whether expected the TIP values generated by data supplied by eEmMultTestBench c...
eFexEMRoI_v1 eFexEMRoI
Define the latest version of the eFexEMRoI class.
Definition eFexEMRoI.h:17