ATLAS Offline Software
eSuperCellTowerMapper.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 
6 #ifndef ESUPERCELLTOWERMAPPER_H
7 #define ESUPERCELLTOWERMAPPER_H
8 
9 // STL
10 #include <string>
11 
12 // Athena/Gaudi
16 #include "L1CaloFEXSim/eTower.h"
22 
23 class CaloIdManager;
24 
25 namespace LVL1 {
26 
27 
29 {
30  public:
31  eSuperCellTowerMapper(const std::string& type,const std::string& name,const IInterface* parent);
32  virtual ~eSuperCellTowerMapper();
33 
35  virtual StatusCode initialize() override;
36 
37  virtual StatusCode AssignSuperCellsToTowers(/*eTowerContainer**/std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw) const override;
38  virtual StatusCode AssignTriggerTowerMapper(/*eTowerContainer**/std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw) const override;
39 
40  virtual void reset() const override;
41 
42  private:
44  SG::ReadHandleKey<xAOD::TriggerTowerContainer> m_triggerTowerCollectionSGKey {this, "xODTriggerTowers", "xAODTriggerTowers", "xAODTriggerTowers"};
45  ToolHandle<IeFEXSuperCellTowerIdProvider> m_eFEXSuperCellTowerIdProviderTool {this, "eFEXSuperCellTowerIdProviderTool", "LVL1::eFEXSuperCellTowerIdProvider", "Tool that provides tower-FOGA mapping"};
46 
47  virtual int FindAndConnectTower(/*eTowerContainer**/std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw,CaloSampling::CaloSample sample,const int region, int layer, const int pos_neg, const int eta_index, const int phi_index, Identifier ID, float et, int prov, bool doPrint) const override;
48  virtual void ConnectSuperCellToTower(/*eTowerContainer**/std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw, int iETower, Identifier ID, int iCell, float et, int layer, bool doenergysplit) const override;
49  virtual int FindTowerIDForSuperCell(int towereta, int towerphi) const override;
50  virtual void PrintCellSpec(const CaloSampling::CaloSample sample, int layer, const int region, const int eta_index, const int phi_index, const int pos_neg, int iETower, int iCell, int prov, Identifier ID, bool doenergysplit) const override;
51 
52  std::string DectectorName(const CaloSampling::CaloSample sample) const;
53 
54 };
55 
56 } // end of LVL1 namespace
57 #endif
LVL1::eSuperCellTowerMapper::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: eSuperCellTowerMapper.cxx:39
et
Extra patterns decribing particle interation process.
LVL1::eSuperCellTowerMapper
Definition: eSuperCellTowerMapper.h:29
LVL1::IeSuperCellTowerMapper
Definition: IeSuperCellTowerMapper.h:32
LVL1::eSuperCellTowerMapper::reset
virtual void reset() const override
Definition: eSuperCellTowerMapper.cxx:91
eTowerContainer.h
LVL1::eSuperCellTowerMapper::FindTowerIDForSuperCell
virtual int FindTowerIDForSuperCell(int towereta, int towerphi) const override
Definition: eSuperCellTowerMapper.cxx:788
LVL1::eSuperCellTowerMapper::~eSuperCellTowerMapper
virtual ~eSuperCellTowerMapper()
Definition: eSuperCellTowerMapper.cxx:34
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
LVL1::eSuperCellTowerMapper::m_eFEXSuperCellTowerIdProviderTool
ToolHandle< IeFEXSuperCellTowerIdProvider > m_eFEXSuperCellTowerIdProviderTool
Definition: eSuperCellTowerMapper.h:45
TriggerTowerContainer.h
SG::ReadHandleKey< CaloCellContainer >
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::eSuperCellTowerMapper::AssignTriggerTowerMapper
virtual StatusCode AssignTriggerTowerMapper(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw) const override
Definition: eSuperCellTowerMapper.cxx:49
IeSuperCellTowerMapper.h
LVL1::eSuperCellTowerMapper::m_triggerTowerCollectionSGKey
SG::ReadHandleKey< xAOD::TriggerTowerContainer > m_triggerTowerCollectionSGKey
Definition: eSuperCellTowerMapper.h:44
CaloIdManager
This class initializes the Calo (LAr and Tile) offline identifiers.
Definition: CaloIdManager.h:45
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:100
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
LVL1::eSuperCellTowerMapper::m_scellsCollectionSGKey
SG::ReadHandleKey< CaloCellContainer > m_scellsCollectionSGKey
Definition: eSuperCellTowerMapper.h:43
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloCell_SuperCell_ID.h
Helper class for offline supercell identifiers.
LVL1::eSuperCellTowerMapper::DectectorName
std::string DectectorName(const CaloSampling::CaloSample sample) const
Definition: eSuperCellTowerMapper.cxx:834
createCablingJSON.eta_index
int eta_index
Definition: createCablingJSON.py:9
LVL1::eSuperCellTowerMapper::AssignSuperCellsToTowers
virtual StatusCode AssignSuperCellsToTowers(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw) const override
Definition: eSuperCellTowerMapper.cxx:96
TrigConf::name
Definition: HLTChainList.h:35
CaloCellContainer.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CaloIdManager.h
LVL1::eSuperCellTowerMapper::ConnectSuperCellToTower
virtual void ConnectSuperCellToTower(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw, int iETower, Identifier ID, int iCell, float et, int layer, bool doenergysplit) const override
Definition: eSuperCellTowerMapper.cxx:246
AthAlgTool
Definition: AthAlgTool.h:26
LVL1::eSuperCellTowerMapper::FindAndConnectTower
virtual int FindAndConnectTower(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw, CaloSampling::CaloSample sample, const int region, int layer, const int pos_neg, const int eta_index, const int phi_index, Identifier ID, float et, int prov, bool doPrint) const override
Definition: eSuperCellTowerMapper.cxx:256
eTower.h
eFEXSuperCellTowerIdProvider.h
Provide Supercell-tower mapping.
LVL1::eSuperCellTowerMapper::eSuperCellTowerMapper
eSuperCellTowerMapper(const std::string &type, const std::string &name, const IInterface *parent)
Definition: eSuperCellTowerMapper.cxx:27
LVL1::eSuperCellTowerMapper::PrintCellSpec
virtual void PrintCellSpec(const CaloSampling::CaloSample sample, int layer, const int region, const int eta_index, const int phi_index, const int pos_neg, int iETower, int iCell, int prov, Identifier ID, bool doenergysplit) const override
Definition: eSuperCellTowerMapper.cxx:793