ATLAS Offline Software
eTowerMakerFromEfexTowers.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 eTowerMakerFromEfexTowers_H
6 #define eTowerMakerFromEfexTowers_H
7 
8 // STL
9 #include <string>
10 
11 // Athena/Gaudi
16 
17 namespace LVL1 {
18 
20 {
21  public:
22 
23  eTowerMakerFromEfexTowers(const std::string& name, ISvcLocator* pSvcLocator);
25 
26  virtual StatusCode initialize() override;
27  virtual StatusCode execute(const EventContext& ctx) const override;
28 
29  private:
30 
31  SG::ReadHandleKey<xAOD::eFexTowerContainer> m_eFexTowerContainerSGKey {this, "InputTowers", "L1_eFexDataTowers", "efexTowers (use L1_eFexEmulatedTowers for built from SC, or L1_eFexDataTowers for efex readout"};
32  // the use-case for this second input tower collection is in monitoring when running in prescaled readout mode
33  // we want to use the input data readout when we have it, but otherwise fallback to the calo readout
34  SG::ReadHandleKey<xAOD::eFexTowerContainer> m_eFexTowerContainer2SGKey {this, "SecondaryInputTowers", "L1_eFexEmulatedTowers", "If specified, will fallback to this collection of towers if the first collection is incomplete"};
35  UnsignedIntegerProperty m_minTowersRequired {this,"MinTowersRequired",1,"Will use the primary collection provided there's at least this many towers there"};
36 
37  SG::WriteHandleKey<LVL1::eTowerContainer> m_eTowerContainerSGKey {this, "MyETowers", "eTowerContainer", "MyETowers"};
38  ToolHandle<IeTowerBuilder> m_eTowerBuilderTool {this, "eTowerBuilderTool", "LVL1::eTowerBuilder", "Tool that builds eTowers for simulation"};
39 
41  "Key to noise cuts (AttrListCollection)"};
42  UnsignedIntegerProperty m_noiseCutBeginTimestamp {this,"NoiseCutsBeginTimestamp",1672531200,"Earliest timestamp that noise cuts will be applied from db. Default is start of 2023"};
43 
44  mutable std::atomic<bool> m_printedNoiseCuts = false;
45 
47 
48 };
49 
50 } // end of LVL1 namespace
51 #endif
eFexTowerContainer.h
LVL1::eTowerMakerFromEfexTowers::initialize
virtual StatusCode initialize() override
Definition: eTowerMakerFromEfexTowers.cxx:37
eTowerContainer.h
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
LVL1::eTowerMakerFromEfexTowers::m_eFexTowerContainerSGKey
SG::ReadHandleKey< xAOD::eFexTowerContainer > m_eFexTowerContainerSGKey
Definition: eTowerMakerFromEfexTowers.h:31
LVL1::eTowerMakerFromEfexTowers::m_eFexTowerContainer2SGKey
SG::ReadHandleKey< xAOD::eFexTowerContainer > m_eFexTowerContainer2SGKey
Definition: eTowerMakerFromEfexTowers.h:34
LVL1::eTowerMakerFromEfexTowers::m_eTowerBuilderTool
ToolHandle< IeTowerBuilder > m_eTowerBuilderTool
Definition: eTowerMakerFromEfexTowers.h:38
LVL1::eTowerMakerFromEfexTowers::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: eTowerMakerFromEfexTowers.cxx:54
LVL1::eTowerMakerFromEfexTowers::m_noiseCutsKey
SG::ReadCondHandleKey< CondAttrListCollection > m_noiseCutsKey
Definition: eTowerMakerFromEfexTowers.h:40
LVL1::eTowerMakerFromEfexTowers::m_minTowersRequired
UnsignedIntegerProperty m_minTowersRequired
Definition: eTowerMakerFromEfexTowers.h:35
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
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
LVL1::eTowerMakerFromEfexTowers::m_noiseCutBeginTimestamp
UnsignedIntegerProperty m_noiseCutBeginTimestamp
Definition: eTowerMakerFromEfexTowers.h:42
SG::WriteHandleKey< LVL1::eTowerContainer >
LVL1::eTowerMakerFromEfexTowers::m_debugMutex
std::mutex m_debugMutex
Definition: eTowerMakerFromEfexTowers.h:46
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::eTowerMakerFromEfexTowers::m_eTowerContainerSGKey
SG::WriteHandleKey< LVL1::eTowerContainer > m_eTowerContainerSGKey
Definition: eTowerMakerFromEfexTowers.h:37
LVL1::eTowerMakerFromEfexTowers::eTowerMakerFromEfexTowers
eTowerMakerFromEfexTowers(const std::string &name, ISvcLocator *pSvcLocator)
Definition: eTowerMakerFromEfexTowers.cxx:30
LVL1::eTowerMakerFromEfexTowers::m_printedNoiseCuts
std::atomic< bool > m_printedNoiseCuts
Definition: eTowerMakerFromEfexTowers.h:44
TrigConf::name
Definition: HLTChainList.h:35
AthReentrantAlgorithm.h
LVL1::eTowerMakerFromEfexTowers::~eTowerMakerFromEfexTowers
~eTowerMakerFromEfexTowers()=default
SG::ReadCondHandleKey< CondAttrListCollection >
LVL1::eTowerMakerFromEfexTowers
Definition: eTowerMakerFromEfexTowers.h:20