ATLAS Offline Software
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"
15 #include "Egamma1_LArStrip_Fex.h"
17 
18 #include "../IO/LArStripNeighborhoodContainer.h"
19 
22 
23 #include <vector>
24 
25 namespace GlobalSim {
26 
27 
29 
30  public:
31 
32  Egamma1_LArStrip_Fex_RowAware(const std::string& name, ISvcLocator* pSvcLocator);
33 
34  virtual StatusCode initialize() override;
35  virtual StatusCode execute(const EventContext& ) const override;
36 
37  private:
38 
40  this,
41  "EventInfo",
42  "EventInfo",
43  "EventInfo name"};
44 
45  // tool to get a vector of cal cells
46  ToolHandle<ICaloCellsProducer> m_cellProducer{this,
47  "caloCellProducer",
48  "EMB1CellFromCaloCells",
49  "AlgTool to provide a vector of CaloCells"
50  };
51 
52  // tool to get eFexRoIs
53  ToolHandle<eFexRoIAlgTool>
55  "roiAlgTool",
56  "EMB1CellFromCaloCells",
57  "AlgTool to provide a vector<const xAOD::eFexEMRoI*>"};
58 
59  Gaudi::Property<bool> m_dump {
60  this,
61  "dump",
62  false,
63  "flag to enable dumps"};
64 
65  Gaudi::Property<bool> m_dumpTerse {
66  this,
67  "dumpTerse",
68  false,
69  "flag to enable terse dumps"};
70 
73  this,
74  "stripNeighborhoodKey",
75  "stripNeighborhoodContainer"};
76  //"location to write strip neighborhoods of EFex RoIs"};
77 
80  this,
81  "phimaxKey",
82  "phimax"};
83  //"location to write strip neighborhoods of EFex RoIs"};
84 
86  findNeighborhoods_RowAware(const std::vector<const xAOD::eFexEMRoI*>&,
87  const std::vector<const CaloCell*>&,
89  std::vector<int>&) const;
90 
93  const std::vector<const CaloCell*>&,
95  std::vector<int>&) const;
96 
99  const std::vector<const CaloCell*>&,
100  const CaloCell*&) const;
101  };
102 
103 }
104 #endif
105 
106 
107 
108 
GlobalSim::Egamma1_LArStrip_Fex_RowAware::execute
virtual StatusCode execute(const EventContext &) const override
Definition: Egamma1_LArStrip_Fex_RowAware.cxx:63
GlobalSim::Egamma1_LArStrip_Fex_RowAware::Egamma1_LArStrip_Fex_RowAware
Egamma1_LArStrip_Fex_RowAware(const std::string &name, ISvcLocator *pSvcLocator)
Definition: Egamma1_LArStrip_Fex_RowAware.cxx:45
GlobalSim::Egamma1_LArStrip_Fex_RowAware::findClosestCellToRoI
StatusCode findClosestCellToRoI(const xAOD::eFexEMRoI *, const std::vector< const CaloCell * > &, const CaloCell *&) const
GlobalSim::Egamma1_LArStrip_Fex_RowAware::m_cellProducer
ToolHandle< ICaloCellsProducer > m_cellProducer
Definition: Egamma1_LArStrip_Fex_RowAware.h:46
GlobalSim::Egamma1_LArStrip_Fex_RowAware
Definition: Egamma1_LArStrip_Fex_RowAware.h:28
GlobalSim::Egamma1_LArStrip_Fex_RowAware::initialize
virtual StatusCode initialize() override
Definition: Egamma1_LArStrip_Fex_RowAware.cxx:50
SG::ReadHandleKey< xAOD::EventInfo >
xAOD::eFexEMRoI_v1
Class describing a LVL1 eFEX EM region of interest.
Definition: eFexEMRoI_v1.h:33
GlobalSim::Egamma1_LArStrip_Fex_RowAware::m_phimaxKey
SG::WriteHandleKey< std::vector< int > > m_phimaxKey
Definition: Egamma1_LArStrip_Fex_RowAware.h:79
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
GlobalSim
AlgTool to obtain a selection of eFex RoIs read in from the event store.
Definition: dump.h:8
ICaloCellsProducer.h
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
GlobalSim::Egamma1_LArStrip_Fex_RowAware::m_dump
Gaudi::Property< bool > m_dump
Definition: Egamma1_LArStrip_Fex_RowAware.h:59
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
GlobalSim::Egamma1_LArStrip_Fex_RowAware::m_neighKey
SG::WriteHandleKey< LArStripNeighborhoodContainer > m_neighKey
Definition: Egamma1_LArStrip_Fex_RowAware.h:72
GlobalSim::Egamma1_LArStrip_Fex_RowAware::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: Egamma1_LArStrip_Fex_RowAware.h:39
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
GlobalSim::Egamma1_LArStrip_Fex_RowAware::findNeighborhood_RowAware
StatusCode findNeighborhood_RowAware(const xAOD::eFexEMRoI *, const std::vector< const CaloCell * > &, LArStripNeighborhoodContainer &, std::vector< int > &) const
Definition: Egamma1_LArStrip_Fex_RowAware.cxx:125
AthReentrantAlgorithm.h
Egamma1_LArStrip_Fex.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
CaloCellContainer.h
EventInfo.h
GlobalSim::Egamma1_LArStrip_Fex_RowAware::m_roiAlgTool
ToolHandle< eFexRoIAlgTool > m_roiAlgTool
Definition: Egamma1_LArStrip_Fex_RowAware.h:54
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
GlobalSim::Egamma1_LArStrip_Fex_RowAware::m_dumpTerse
Gaudi::Property< bool > m_dumpTerse
Definition: Egamma1_LArStrip_Fex_RowAware.h:65
GlobalSim::Egamma1_LArStrip_Fex_RowAware::findNeighborhoods_RowAware
StatusCode findNeighborhoods_RowAware(const std::vector< const xAOD::eFexEMRoI * > &, const std::vector< const CaloCell * > &, LArStripNeighborhoodContainer &, std::vector< int > &) const
Definition: Egamma1_LArStrip_Fex_RowAware.cxx:111
eFexRoIAlgTool.h