ATLAS Offline Software
jTowerMakerFromJfexTowers.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 jTowerMakerFromJfexTowers_H
6 #define jTowerMakerFromJfexTowers_H
7 
8 // STL
9 #include <string>
10 
11 // Athena/Gaudi
17 
18 class CaloIdManager;
19 
20 namespace LVL1 {
21 
23 {
24  public:
25 
26  jTowerMakerFromJfexTowers(const std::string& name, ISvcLocator* pSvcLocator);
28 
29  virtual StatusCode initialize() override;
30  virtual StatusCode execute(const EventContext& ctx) const override;
31 
32 
33  private:
34 
35  // Decoded input data
36  SG::ReadHandleKey<xAOD::jFexTowerContainer> m_DataTowerKey {this, "InputDataTowers", "L1_jFexDataTowers", "jfexTowers (use L1_jFexEmulatedTowers for built from SC, or L1_jFexDataTowers for efex readout"};
37 
38  //Emulated input data
39  // the use-case for this second input tower collection is in monitoring when running in prescaled readout mode
40  // we want to use the input data readout when we have it, but otherwise fallback to the calo readout
41  SG::ReadHandleKey<xAOD::jFexTowerContainer> m_EmulTowerKey {this, "InputEmulatedTowers", "L1_jFexEmulatedTowers", "If specified, will fallback to this collection of towers if the first collection is incomplete/empty"};
42 
43  //Gaudi properties
44  Gaudi::Property<bool> m_UseEmulated {this, "UseEmulated", true, "It switches off the CaloCell -> Jtower path. It uses instead L1_jFexDataTowers and L1_jFexEmulatedTowers "};
45  Gaudi::Property<bool> m_isMC {this, "IsMC", false, "Is used to know when we run on data. So L1_jFexDataTowers can be present"};
46 
47 
48  // SG object for the jFEX simulation input
49  SG::WriteHandleKey<LVL1::jTowerContainer> m_jTowerContainerSGKey {this, "MyJTowers", "jTowerContainer", "MyJTowers"};
50 
51  ToolHandle<IjTowerBuilder> m_jTowerBuilderTool {this, "jTowerBuilderTool", "LVL1::jTowerBuilder", "Tool that builds jTowers for simulation"};
52  ToolHandle<IjSuperCellTowerMapper> m_jSuperCellTowerMapperTool {this, "jSuperCellTowerMapperTool", "LVL1::jSuperCellTowerMapper", "Tool that maps supercells to jTowers"};
53 };
54 
55 } // end of LVL1 namespace
56 #endif
jFexTowerContainer.h
LVL1::jTowerMakerFromJfexTowers::~jTowerMakerFromJfexTowers
~jTowerMakerFromJfexTowers()=default
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
LVL1::jTowerMakerFromJfexTowers::m_jSuperCellTowerMapperTool
ToolHandle< IjSuperCellTowerMapper > m_jSuperCellTowerMapperTool
Definition: jTowerMakerFromJfexTowers.h:52
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::jTowerMakerFromJfexTowers::m_DataTowerKey
SG::ReadHandleKey< xAOD::jFexTowerContainer > m_DataTowerKey
Definition: jTowerMakerFromJfexTowers.h:36
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
SG::WriteHandleKey< LVL1::jTowerContainer >
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
LVL1::jTowerMakerFromJfexTowers::initialize
virtual StatusCode initialize() override
Definition: jTowerMakerFromJfexTowers.cxx:41
LVL1::jTowerMakerFromJfexTowers::m_jTowerBuilderTool
ToolHandle< IjTowerBuilder > m_jTowerBuilderTool
Definition: jTowerMakerFromJfexTowers.h:51
TrigConf::name
Definition: HLTChainList.h:35
AthReentrantAlgorithm.h
jTowerContainer.h
LVL1::jTowerMakerFromJfexTowers::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: jTowerMakerFromJfexTowers.cxx:56
jSuperCellTowerMapper.h
LVL1::jTowerMakerFromJfexTowers::m_jTowerContainerSGKey
SG::WriteHandleKey< LVL1::jTowerContainer > m_jTowerContainerSGKey
Definition: jTowerMakerFromJfexTowers.h:49
LVL1::jTowerMakerFromJfexTowers
Definition: jTowerMakerFromJfexTowers.h:23
LVL1::jTowerMakerFromJfexTowers::jTowerMakerFromJfexTowers
jTowerMakerFromJfexTowers(const std::string &name, ISvcLocator *pSvcLocator)
Definition: jTowerMakerFromJfexTowers.cxx:36
LVL1::jTowerMakerFromJfexTowers::m_EmulTowerKey
SG::ReadHandleKey< xAOD::jFexTowerContainer > m_EmulTowerKey
Definition: jTowerMakerFromJfexTowers.h:41
LVL1::jTowerMakerFromJfexTowers::m_UseEmulated
Gaudi::Property< bool > m_UseEmulated
Definition: jTowerMakerFromJfexTowers.h:44
LVL1::jTowerMakerFromJfexTowers::m_isMC
Gaudi::Property< bool > m_isMC
Definition: jTowerMakerFromJfexTowers.h:45