ATLAS Offline Software
gTowerMakerFromGfexTowers.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 gTowerMakerFromGfexTowers_H
6 #define gTowerMakerFromGfexTowers_H
7 
8 // STL
9 #include <string>
10 
11 // Athena/Gaudi
18 
19 class CaloIdManager;
20 
21 namespace LVL1 {
22 
24 {
25  public:
26 
27  gTowerMakerFromGfexTowers(const std::string& name, ISvcLocator* pSvcLocator);
28  virtual ~gTowerMakerFromGfexTowers() = default;
29 
30  virtual StatusCode initialize() override;
31  virtual StatusCode execute() override;
32 
33  private:
34 
35  // Decoded input data
36  SG::ReadHandleKey<xAOD::gFexTowerContainer> m_gDataTowerKey {this, "InputDataTowers", "L1_gFexDataTowers", "gfexTowers with 200 MeV resolution (default) (use L1_gFexEmulatedTowers for built from SC, or L1_gFexDataTowers for efex readout"};
37  // SG::ReadHandleKey<xAOD::gFexTowerContainer> m_gDataTower50Key {this, "InputDataTowers", "L1_gFexDataTowers50", "gfexTowers with 50 MeV resolution (use L1_gFexEmulatedTowers for built from SC, or L1_gFexDataTowers for efex readout"};
38 
39  //Emulated input data
40  // the use-case for this second input tower collection is in monitoring when running in prescaled readout mode
41  // we want to use the input data readout when we have it, but otherwise fallback to the calo readout
42  SG::ReadHandleKey<xAOD::gFexTowerContainer> m_gEmulTowerKey {this, "InputEmulatedTowers", "L1_gFexEmulatedTowers", "If specified, will fallback to this collection of towers if the first collection is incomplete/empty"};
43 
44  //Gaudi properties
45  Gaudi::Property<bool> m_UseEmulated {this, "UseEmulated", false, "It switches off the CaloCell -> Jtower path. It uses instead L1_gFexDataTowers and L1_gFexEmulatedTowers "};
46  Gaudi::Property<bool> m_isMC {this, "IsMC", false, "Is used to know when we run on data. So L1_gFexDataTowers can be present"};
47 
48 
49  // SG object for the gFEX simulation input
50  SG::WriteHandleKey<LVL1::gTowerContainer> m_gTowerContainerSGKey {this, "MyGTowers", "gTowerContainer", "MyGTowers"};
51 
52  ToolHandle<IgTowerBuilder> m_gTowerBuilderTool {this, "gTowerBuilderTool", "LVL1::gTowerBuilder", "Tool that builds jTowers for simulation"};
53  ToolHandle<IgSuperCellTowerMapper> m_gSuperCellTowerMapperTool {this, "gSuperCellTowerMapperTool", "LVL1::gSuperCellTowerMapper", "Tool that maps supercells to gTowers"};
54 };
55 
56 } // end of LVL1 namespace
57 #endif
gFexTowerContainer.h
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
LVL1::gTowerMakerFromGfexTowers::m_gSuperCellTowerMapperTool
ToolHandle< IgSuperCellTowerMapper > m_gSuperCellTowerMapperTool
Definition: gTowerMakerFromGfexTowers.h:53
LVL1::gTowerMakerFromGfexTowers::m_UseEmulated
Gaudi::Property< bool > m_UseEmulated
Definition: gTowerMakerFromGfexTowers.h:45
gTowerContainer.h
LVL1::gTowerMakerFromGfexTowers::~gTowerMakerFromGfexTowers
virtual ~gTowerMakerFromGfexTowers()=default
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
gSuperCellTowerMapper.h
gTowerBuilder.h
AthAlgorithm.h
LVL1::gTowerMakerFromGfexTowers::execute
virtual StatusCode execute() override
Definition: gTowerMakerFromGfexTowers.cxx:51
SG::WriteHandleKey< LVL1::gTowerContainer >
CaloIdManager
This class initializes the Calo (LAr and Tile) offline identifiers.
Definition: CaloIdManager.h:45
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgorithm
Definition: AthAlgorithm.h:47
LVL1::gTowerMakerFromGfexTowers::m_gDataTowerKey
SG::ReadHandleKey< xAOD::gFexTowerContainer > m_gDataTowerKey
Definition: gTowerMakerFromGfexTowers.h:36
TrigConf::name
Definition: HLTChainList.h:35
LVL1::gTowerMakerFromGfexTowers::m_gEmulTowerKey
SG::ReadHandleKey< xAOD::gFexTowerContainer > m_gEmulTowerKey
Definition: gTowerMakerFromGfexTowers.h:42
LVL1::gTowerMakerFromGfexTowers::gTowerMakerFromGfexTowers
gTowerMakerFromGfexTowers(const std::string &name, ISvcLocator *pSvcLocator)
Definition: gTowerMakerFromGfexTowers.cxx:32
LVL1::gTowerMakerFromGfexTowers::initialize
virtual StatusCode initialize() override
Definition: gTowerMakerFromGfexTowers.cxx:37
LVL1::gTowerMakerFromGfexTowers::m_gTowerBuilderTool
ToolHandle< IgTowerBuilder > m_gTowerBuilderTool
Definition: gTowerMakerFromGfexTowers.h:52
LVL1::gTowerMakerFromGfexTowers
Definition: gTowerMakerFromGfexTowers.h:24
LVL1::gTowerMakerFromGfexTowers::m_gTowerContainerSGKey
SG::WriteHandleKey< LVL1::gTowerContainer > m_gTowerContainerSGKey
Definition: gTowerMakerFromGfexTowers.h:50
LVL1::gTowerMakerFromGfexTowers::m_isMC
Gaudi::Property< bool > m_isMC
Definition: gTowerMakerFromGfexTowers.h:46