ATLAS Offline Software
Egamma1_LArStrip_Fex.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef GLOBALSIM_EGAMMA1_LARSTRIP_FEX_H
6 #define GLOBALSIM_EGAMMA1_LARSTRIP_FEX_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 
16 #include "../IO/LArStripNeighborhoodContainer.h"
17 
20 
21 #include <vector>
22 
23 namespace GlobalSim {
24 
25 
27  public:
28 
29 
30  Egamma1_LArStrip_Fex(const std::string& name, ISvcLocator* pSvcLocator);
31 
32  virtual StatusCode initialize() override;
33  virtual StatusCode execute(const EventContext& ) const override;
34 
35  private:
36 
38  this,
39  "EventInfo",
40  "EventInfo",
41  "EventInfo name"};
42 
43  // tool to get a vector of cal cells
44 
45  ToolHandle<ICaloCellsProducer> m_cellProducer{this,
46  "caloCellProducer",
47  "EMB1CellFromCaloCells",
48  "AlgTool to provide a vector of CaloCells"
49  };
50 
51  // tool to get eFexRoIs
52 
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 
79  findNeighborhoods(const std::vector<const xAOD::eFexEMRoI*>&,
80  const std::vector<const CaloCell*>&,
82 
85  const std::vector<const CaloCell*>&,
87 
90  const std::vector<const CaloCell*>&,
91  const CaloCell*&) const;
92 
94  dump(const xAOD::EventInfo& eventInfo,
95  const LArStripNeighborhoodContainer&) const;
96 
98  dumpTerse(const xAOD::EventInfo& eventInfo,
99  const LArStripNeighborhoodContainer&) const;
100 
101 
102 
103  };
104 
105 }
106 #endif
107 
108 
109 
110 
GlobalSim::Egamma1_LArStrip_Fex::findClosestCellToRoI
StatusCode findClosestCellToRoI(const xAOD::eFexEMRoI *, const std::vector< const CaloCell * > &, const CaloCell *&) const
GlobalSim::Egamma1_LArStrip_Fex::m_cellProducer
ToolHandle< ICaloCellsProducer > m_cellProducer
Definition: Egamma1_LArStrip_Fex.h:45
GlobalSim::Egamma1_LArStrip_Fex::initialize
virtual StatusCode initialize() override
Definition: Egamma1_LArStrip_Fex.cxx:46
GlobalSim::Egamma1_LArStrip_Fex::dumpTerse
StatusCode dumpTerse(const xAOD::EventInfo &eventInfo, const LArStripNeighborhoodContainer &) const
Definition: Egamma1_LArStrip_Fex.cxx:345
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::findNeighborhood
StatusCode findNeighborhood(const xAOD::eFexEMRoI *, const std::vector< const CaloCell * > &, LArStripNeighborhoodContainer &) const
Definition: Egamma1_LArStrip_Fex.cxx:119
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
GlobalSim::Egamma1_LArStrip_Fex::m_neighKey
SG::WriteHandleKey< LArStripNeighborhoodContainer > m_neighKey
Definition: Egamma1_LArStrip_Fex.h:72
GlobalSim
AlgTool to obtain a selection of eFex RoIs read in from the event store.
Definition: dump.h:8
ICaloCellsProducer.h
GlobalSim::Egamma1_LArStrip_Fex::m_dump
Gaudi::Property< bool > m_dump
Definition: Egamma1_LArStrip_Fex.h:59
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
GlobalSim::Egamma1_LArStrip_Fex::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: Egamma1_LArStrip_Fex.h:37
GlobalSim::Egamma1_LArStrip_Fex::Egamma1_LArStrip_Fex
Egamma1_LArStrip_Fex(const std::string &name, ISvcLocator *pSvcLocator)
Definition: Egamma1_LArStrip_Fex.cxx:41
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
GlobalSim::Egamma1_LArStrip_Fex
Definition: Egamma1_LArStrip_Fex.h:26
GlobalSim::Egamma1_LArStrip_Fex::m_dumpTerse
Gaudi::Property< bool > m_dumpTerse
Definition: Egamma1_LArStrip_Fex.h:65
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
GlobalSim::Egamma1_LArStrip_Fex::findNeighborhoods
StatusCode findNeighborhoods(const std::vector< const xAOD::eFexEMRoI * > &, const std::vector< const CaloCell * > &, LArStripNeighborhoodContainer &) const
Definition: Egamma1_LArStrip_Fex.cxx:106
GlobalSim::Egamma1_LArStrip_Fex::dump
StatusCode dump(const xAOD::EventInfo &eventInfo, const LArStripNeighborhoodContainer &) const
Definition: Egamma1_LArStrip_Fex.cxx:295
GlobalSim::Egamma1_LArStrip_Fex::m_roiAlgTool
ToolHandle< eFexRoIAlgTool > m_roiAlgTool
Definition: Egamma1_LArStrip_Fex.h:54
eFexRoIAlgTool.h
GlobalSim::Egamma1_LArStrip_Fex::execute
virtual StatusCode execute(const EventContext &) const override
Definition: Egamma1_LArStrip_Fex.cxx:59