ATLAS Offline Software
Loading...
Searching...
No Matches
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
23class CaloIdManager;
24
25namespace 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<eFEXSuperCellTowerIdProvider> 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
std::vector< Identifier > ID
Helper class for offline supercell identifiers.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This class initializes the Calo (LAr and Tile) offline identifiers.
virtual StatusCode AssignSuperCellsToTowers(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw) const override
std::string DectectorName(const CaloSampling::CaloSample sample) const
virtual void ConnectSuperCellToTower(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw, int iETower, Identifier ID, int iCell, float et, int layer, bool doenergysplit) const override
ToolHandle< eFEXSuperCellTowerIdProvider > m_eFEXSuperCellTowerIdProviderTool
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
SG::ReadHandleKey< CaloCellContainer > m_scellsCollectionSGKey
SG::ReadHandleKey< xAOD::TriggerTowerContainer > m_triggerTowerCollectionSGKey
virtual StatusCode initialize() override
standard Athena-Algorithm method
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
eSuperCellTowerMapper(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode AssignTriggerTowerMapper(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw) const override
virtual int FindTowerIDForSuperCell(int towereta, int towerphi) const override
virtual void reset() const override
Property holding a SG store/key/clid from which a ReadHandle is made.
Provide Supercell-tower mapping.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Extra patterns decribing particle interation process.