ATLAS Offline Software
Loading...
Searching...
No Matches
Egamma1_LArStrip_Fex_RowAware.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4
5#ifndef GLOBALSIM_EGAMMA1_LARSTRIP_FEX_ROWAWARE_H
6#define GLOBALSIM_EGAMMA1_LARSTRIP_FEX_ROWAWARE_H
7
8/*
9 This Algorithm finds and outputs CaloCell in the neighborhoods of eFEX
10 RoIs. These neighhoods are used to run various Algorithms in GlobalSim.
11*/
12
13#include "ICaloCellsProducer.h"
14#include "eFexRoIAlgTool.h"
17
20
23
24#include <vector>
25
26namespace GlobalSim {
27
28
30
31 public:
32
33 Egamma1_LArStrip_Fex_RowAware(const std::string& name, ISvcLocator* pSvcLocator);
34
35 virtual StatusCode initialize() override;
36 virtual StatusCode execute(const EventContext& ) const override;
37
38 private:
39
41 this,
42 "EventInfo",
43 "EventInfo",
44 "EventInfo name"};
45
46 // tool to get a vector of cal cells
47 ToolHandle<ICaloCellsProducer> m_cellProducer{this,
48 "caloCellProducer",
49 "EMB1CellFromCaloCells",
50 "AlgTool to provide a vector of CaloCells"
51 };
52
53 // tool to get eFexRoIs
54 ToolHandle<eFexRoIAlgTool>
56 "roiAlgTool",
57 "EMB1CellFromCaloCells",
58 "AlgTool to provide a vector<const xAOD::eFexEMRoI*>"};
59
60 Gaudi::Property<bool> m_dump {
61 this,
62 "dump",
63 false,
64 "flag to enable dumps"};
65
66 Gaudi::Property<bool> m_dumpTerse {
67 this,
68 "dumpTerse",
69 false,
70 "flag to enable terse dumps"};
71
74 this,
75 "stripNeighborhoodTOBKey",
76 "stripNeighborhoodTOBContainer",
77 "location to write strip neighborhoods of EFex RoIs, with the associated TOBs"};
78
81 this,
82 "phimaxKey",
83 "phimax"};
84 //"location to write strip neighborhoods of EFex RoIs"};
85
86 StatusCode
87 findNeighborhoods_RowAware(const std::vector<const xAOD::eFexEMRoI*>&,
88 const std::vector<const CaloCell*>&,
90 std::vector<int>&) const;
91
92 StatusCode
94 const std::vector<const CaloCell*>&,
96 std::vector<int>&) const;
97
98 StatusCode
100 const std::vector<const CaloCell*>&,
101 const CaloCell*&) const;
102 };
103
104}
105#endif
106
107
108
109
An algorithm that can be simultaneously executed in multiple threads.
Data object for each calorimeter readout cell.
Definition CaloCell.h:57
StatusCode findNeighborhood_RowAware(const xAOD::eFexEMRoI *, const std::vector< const CaloCell * > &, IOBitwise::eEmNbhoodTOBContainer &, std::vector< int > &) const
SG::WriteHandleKey< IOBitwise::eEmNbhoodTOBContainer > m_neighKey
virtual StatusCode execute(const EventContext &) const override
StatusCode findClosestCellToRoI(const xAOD::eFexEMRoI *, const std::vector< const CaloCell * > &, const CaloCell *&) const
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
SG::WriteHandleKey< std::vector< int > > m_phimaxKey
Egamma1_LArStrip_Fex_RowAware(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode findNeighborhoods_RowAware(const std::vector< const xAOD::eFexEMRoI * > &, const std::vector< const CaloCell * > &, IOBitwise::eEmNbhoodTOBContainer &, std::vector< int > &) const
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
Property: Defining the container object.
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