ATLAS Offline Software
Loading...
Searching...
No Matches
gFexTower2SCellDecorator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef GFEXL1CALO2SCELLDECORATORTOOL_H
6#define GFEXL1CALO2SCELLDECORATORTOOL_H
7
13
16
19#include <vector>
20#include <unordered_map>
21#include <string>
22
23
24namespace LVL1 {
25
27 public:
28 gFexTower2SCellDecorator(const std::string& name, ISvcLocator* svc);
29
31 virtual StatusCode initialize() override;
33 virtual StatusCode execute( const EventContext& ) const override;
34
35 private:
36 // ------------------------- Properties --------------------------------------
37 //Readhandle for Scell container
38 SG::ReadHandleKey<CaloCellContainer> m_SCellKey {this, "SCell", "SCell", "SCell container"};
39
40 //Readhandle for TriggerTower container
41 SG::ReadHandleKey<xAOD::TriggerTowerContainer> m_triggerTowerKey {this, "xODTriggerTowers", "xAODTriggerTowers", "xAODTriggerTowers container"};
42
43 const std::string m_ReadKey_name = "L1_gFexDataTowers";
44
45 //Readhandle for Scell container
46 SG::ReadHandleKey < xAOD::gFexTowerContainer > m_gTowersReadKey {this,"gTowersReadKey" ,"L1_gFexDataTowers", "Read gFex EDM Trigger Tower container"};
47
48 //WriteDecorHandle
49 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gSCellEtdecorKey { this, "gSCellEtdecorKey" , "L1_gFexDataTowers.SCellEt" , "SCell Et information of the gTower"};
50 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gSCellEtadecorKey { this, "gSCellEtadecorKey" , "L1_gFexDataTowers.SCellEta" , "SCell Eta information of the gTower"};
51 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gSCellPhidecorKey { this, "gSCellPhidecorKey" , "L1_gFexDataTowers.SCellPhi" , "SCell Phi information of the gTower"};
52 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gSCellIDdecorKey { this, "gSCellIDdecorKey" , "L1_gFexDataTowers.SCellID" , "SCell IDs information of the gTower"};
53 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gSCellSampledecorKey{ this, "gSCellSampledecorKey", "L1_gFexDataTowers.SCellSample" , "SCell Samples information of the gTower"};
54 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gtowerEtMeVdecorKey { this, "gtowerEtMeVdecorKey" , "L1_gFexDataTowers.gtowerEtMeV" , "gFex Tower Et information in MeV"};
55 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gTowerEtdecorKey { this, "gTowerEtdecorKey" , "L1_gFexDataTowers.SCSumEncoded" , "SCell sum Et. ENCODED!"};
56 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gTileEtMeVdecorKey { this, "gTileEtMeVdecorKey" , "L1_gFexDataTowers.TileEt" , "Tile Tower Et information in Encoded from jepET"};
57 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gTileEtadecorKey { this, "gTileEtadecorKey" , "L1_gFexDataTowers.TileEta" , "Tile Tower Eta information in MeV"};
58 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gTilePhidecorKey { this, "gTilePhidecorKey" , "L1_gFexDataTowers.TilePhi" , "Tile Tower Phi information in MeV"};
59 SG::WriteDecorHandleKey<xAOD::gFexTowerContainer> m_gTileIDdecorKey { this, "gTileIDdecorKey" , "L1_gFexDataTowers.TileID" , "Tile Tower ID information"};
60
61
62 //property for gFEX mapping
63 Gaudi::Property<std::string> m_gFEX2Scellmapping {this, "gFEX2SCmapping" , "L1CaloFEXByteStream/gFEX_maps/2023_02_23/gfexSuperCellMap.txt" , "Text file to convert from simulation ID to SuperCell Identifier"};
64 Gaudi::Property<std::string> m_gFEX2Tilemapping {this, "gFEX2Tilemapping", "L1CaloFEXByteStream/gFEX_maps/2023_02_23/gfexTileMap.txt", "Text file to convert from simulation ID to Tile Identifier"};
65
66 StatusCode ReadSCfromFile(const std::string& );
67 StatusCode ReadTilefromFile(const std::string& );
68 bool isBadSCellID(const std::string&) const;
69
70 std::unordered_map< uint32_t, std::vector<uint64_t> > m_map_TTower2SCells;
71 std::unordered_map< uint32_t, std::vector<uint32_t> > m_map_TTower2Tile;
72
73};
74}
75#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
Handle class for adding a decoration to an object.
An algorithm that can be simultaneously executed in multiple threads.
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gTileIDdecorKey
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gTileEtadecorKey
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gtowerEtMeVdecorKey
std::unordered_map< uint32_t, std::vector< uint64_t > > m_map_TTower2SCells
Gaudi::Property< std::string > m_gFEX2Scellmapping
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gSCellPhidecorKey
gFexTower2SCellDecorator(const std::string &name, ISvcLocator *svc)
SG::ReadHandleKey< CaloCellContainer > m_SCellKey
std::unordered_map< uint32_t, std::vector< uint32_t > > m_map_TTower2Tile
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gSCellEtadecorKey
Gaudi::Property< std::string > m_gFEX2Tilemapping
SG::ReadHandleKey< xAOD::gFexTowerContainer > m_gTowersReadKey
virtual StatusCode initialize() override
Function initialising the algorithm.
bool isBadSCellID(const std::string &) const
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gSCellSampledecorKey
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gSCellEtdecorKey
StatusCode ReadTilefromFile(const std::string &)
StatusCode ReadSCfromFile(const std::string &)
SG::ReadHandleKey< xAOD::TriggerTowerContainer > m_triggerTowerKey
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gTilePhidecorKey
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gTowerEtdecorKey
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gTileEtMeVdecorKey
virtual StatusCode execute(const EventContext &) const override
Function executing the algorithm.
SG::WriteDecorHandleKey< xAOD::gFexTowerContainer > m_gSCellIDdecorKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...