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
15 #include "jSuperCellTowerMapper.h"
16 #include "jTowerBuilder.h"
18 
19 class CaloIdManager;
20 
21 namespace LVL1 {
22 
24 {
25  public:
26 
27  jTowerMakerFromJfexTowers(const std::string& name, ISvcLocator* pSvcLocator);
29 
30  virtual StatusCode initialize() override;
31  virtual StatusCode execute(const EventContext& ctx) const override;
32 
33 
34  private:
35 
36  // Decoded input data
37  SG::ReadHandleKey<xAOD::jFexTowerContainer> m_DataTowerKey {this, "InputDataTowers", "L1_jFexDataTowers", "jfexTowers (use L1_jFexEmulatedTowers for built from SC, or L1_jFexDataTowers 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::jFexTowerContainer> m_EmulTowerKey {this, "InputEmulatedTowers", "L1_jFexEmulatedTowers", "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", true, "It switches off the CaloCell -> Jtower path. It uses instead L1_jFexDataTowers and L1_jFexEmulatedTowers "};
46  Gaudi::Property<bool> m_isMC {this, "IsMC", false, "Is used to know when we run on data. So L1_jFexDataTowers can be present"};
47 
48 
49  // SG object for the jFEX simulation input
50  SG::WriteHandleKey<LVL1::jTowerContainer> m_jTowerContainerSGKey {this, "MyJTowers", "jTowerContainer", "MyJTowers"};
51 
52  ToolHandle<IjTowerBuilder> m_jTowerBuilderTool {this, "jTowerBuilderTool", "LVL1::jTowerBuilder", "Tool that builds jTowers for simulation"};
53  ToolHandle<IjSuperCellTowerMapper> m_jSuperCellTowerMapperTool {this, "jSuperCellTowerMapperTool", "LVL1::jSuperCellTowerMapper", "Tool that maps supercells to jTowers"};
54 };
55 
56 } // end of LVL1 namespace
57 #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:53
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:37
jTowerBuilder.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
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:36
LVL1::jTowerMakerFromJfexTowers::m_jTowerBuilderTool
ToolHandle< IjTowerBuilder > m_jTowerBuilderTool
Definition: jTowerMakerFromJfexTowers.h:52
TrigConf::name
Definition: HLTChainList.h:35
AthReentrantAlgorithm.h
jTowerContainer.h
LVL1::jTowerMakerFromJfexTowers::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: jTowerMakerFromJfexTowers.cxx:51
jSuperCellTowerMapper.h
LVL1::jTowerMakerFromJfexTowers::m_jTowerContainerSGKey
SG::WriteHandleKey< LVL1::jTowerContainer > m_jTowerContainerSGKey
Definition: jTowerMakerFromJfexTowers.h:50
LVL1::jTowerMakerFromJfexTowers
Definition: jTowerMakerFromJfexTowers.h:24
LVL1::jTowerMakerFromJfexTowers::jTowerMakerFromJfexTowers
jTowerMakerFromJfexTowers(const std::string &name, ISvcLocator *pSvcLocator)
Definition: jTowerMakerFromJfexTowers.cxx:31
LVL1::jTowerMakerFromJfexTowers::m_EmulTowerKey
SG::ReadHandleKey< xAOD::jFexTowerContainer > m_EmulTowerKey
Definition: jTowerMakerFromJfexTowers.h:42
LVL1::jTowerMakerFromJfexTowers::m_UseEmulated
Gaudi::Property< bool > m_UseEmulated
Definition: jTowerMakerFromJfexTowers.h:45
LVL1::jTowerMakerFromJfexTowers::m_isMC
Gaudi::Property< bool > m_isMC
Definition: jTowerMakerFromJfexTowers.h:46