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 #include "../IO/IeEmNbhoodTOBContainer.h"
20 #include "../IO/IeEmTOB.h"
21 
24 
25 #include <vector>
26 
27 namespace GlobalSim {
28 
29 
31 
32  public:
33 
34  Egamma1_LArStrip_Fex_RowAware(const std::string& name, ISvcLocator* pSvcLocator);
35 
36  virtual StatusCode initialize() override;
37  virtual StatusCode execute(const EventContext& ) const override;
38 
39  private:
40 
42  this,
43  "EventInfo",
44  "EventInfo",
45  "EventInfo name"};
46 
47  // tool to get a vector of cal cells
48  ToolHandle<ICaloCellsProducer> m_cellProducer{this,
49  "caloCellProducer",
50  "EMB1CellFromCaloCells",
51  "AlgTool to provide a vector of CaloCells"
52  };
53 
54  // tool to get eFexRoIs
55  ToolHandle<eFexRoIAlgTool>
57  "roiAlgTool",
58  "EMB1CellFromCaloCells",
59  "AlgTool to provide a vector<const xAOD::eFexEMRoI*>"};
60 
61  Gaudi::Property<bool> m_dump {
62  this,
63  "dump",
64  false,
65  "flag to enable dumps"};
66 
67  Gaudi::Property<bool> m_dumpTerse {
68  this,
69  "dumpTerse",
70  false,
71  "flag to enable terse dumps"};
72 
75  this,
76  "stripNeighborhoodTOBKey",
77  "stripNeighborhoodTOBContainer",
78  "location to write strip neighborhoods of EFex RoIs, with the associated TOBs"};
79 
82  this,
83  "phimaxKey",
84  "phimax"};
85  //"location to write strip neighborhoods of EFex RoIs"};
86 
88  findNeighborhoods_RowAware(const std::vector<const xAOD::eFexEMRoI*>&,
89  const std::vector<const CaloCell*>&,
91  std::vector<int>&) const;
92 
95  const std::vector<const CaloCell*>&,
97  std::vector<int>&) const;
98 
101  const std::vector<const CaloCell*>&,
102  const CaloCell*&) const;
103  };
104 
105 }
106 #endif
107 
108 
109 
110 
GlobalSim::Egamma1_LArStrip_Fex_RowAware::execute
virtual StatusCode execute(const EventContext &) const override
Definition: Egamma1_LArStrip_Fex_RowAware.cxx:64
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:46
GlobalSim::Egamma1_LArStrip_Fex_RowAware::findNeighborhood_RowAware
StatusCode findNeighborhood_RowAware(const xAOD::eFexEMRoI *, const std::vector< const CaloCell * > &, IOBitwise::IeEmNbhoodTOBContainer &, std::vector< int > &) const
Definition: Egamma1_LArStrip_Fex_RowAware.cxx:128
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:48
GlobalSim::Egamma1_LArStrip_Fex_RowAware
Definition: Egamma1_LArStrip_Fex_RowAware.h:30
GlobalSim::Egamma1_LArStrip_Fex_RowAware::initialize
virtual StatusCode initialize() override
Definition: Egamma1_LArStrip_Fex_RowAware.cxx:51
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::findNeighborhoods_RowAware
StatusCode findNeighborhoods_RowAware(const std::vector< const xAOD::eFexEMRoI * > &, const std::vector< const CaloCell * > &, IOBitwise::IeEmNbhoodTOBContainer &, std::vector< int > &) const
Definition: Egamma1_LArStrip_Fex_RowAware.cxx:114
GlobalSim::Egamma1_LArStrip_Fex_RowAware::m_phimaxKey
SG::WriteHandleKey< std::vector< int > > m_phimaxKey
Definition: Egamma1_LArStrip_Fex_RowAware.h:81
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
GlobalSim
AlgTool that to test whether expected the TIP values generated by data supplied by eEmMultTestBench c...
Definition: CommonSelector.cxx: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_neighKey
SG::WriteHandleKey< IOBitwise::IeEmNbhoodTOBContainer > m_neighKey
Definition: Egamma1_LArStrip_Fex_RowAware.h:74
GlobalSim::Egamma1_LArStrip_Fex_RowAware::m_dump
Gaudi::Property< bool > m_dump
Definition: Egamma1_LArStrip_Fex_RowAware.h:61
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
GlobalSim::Egamma1_LArStrip_Fex_RowAware::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: Egamma1_LArStrip_Fex_RowAware.h:41
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
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:56
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:67
eFexRoIAlgTool.h