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
17 
18 namespace LVL1 {
19 
21 {
22  public:
23 
24  eTowerMakerFromEfexTowers(const std::string& name, ISvcLocator* pSvcLocator);
26 
27  virtual StatusCode initialize() override;
28  virtual StatusCode execute(const EventContext& ctx) const override;
29 
30  private:
31 
32  SG::ReadHandleKey<xAOD::eFexTowerContainer> m_eFexTowerContainerSGKey {this, "InputTowers", "L1_eFexDataTowers", "efexTowers (use L1_eFexEmulatedTowers for built from SC, or L1_eFexDataTowers for efex readout"};
33  // the use-case for this second input tower collection is in monitoring when running in prescaled readout mode
34  // we want to use the input data readout when we have it, but otherwise fallback to the calo readout
35  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"};
36  UnsignedIntegerProperty m_minTowersRequired {this,"MinTowersRequired",1,"Will use the primary collection provided there's at least this many towers there"};
37 
38  SG::WriteHandleKey<LVL1::eTowerContainer> m_eTowerContainerSGKey {this, "MyETowers", "eTowerContainer", "MyETowers"};
39  ToolHandle<IeTowerBuilder> m_eTowerBuilderTool {this, "eTowerBuilderTool", "LVL1::eTowerBuilder", "Tool that builds eTowers for simulation"};
40 
42  "Key to noise cuts (AttrListCollection)"};
43  UnsignedIntegerProperty m_noiseCutBeginTimestamp {this,"NoiseCutsBeginTimestamp",1672531200,"Earliest timestamp that noise cuts will be applied from db. Default is start of 2023"};
44 
45  mutable std::atomic<bool> m_printedNoiseCuts = false;
46 
48 
49 };
50 
51 } // end of LVL1 namespace
52 #endif
eFexTowerContainer.h
LVL1::eTowerMakerFromEfexTowers::initialize
virtual StatusCode initialize() override
Definition: eTowerMakerFromEfexTowers.cxx:36
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:32
LVL1::eTowerMakerFromEfexTowers::m_eFexTowerContainer2SGKey
SG::ReadHandleKey< xAOD::eFexTowerContainer > m_eFexTowerContainer2SGKey
Definition: eTowerMakerFromEfexTowers.h:35
LVL1::eTowerMakerFromEfexTowers::m_eTowerBuilderTool
ToolHandle< IeTowerBuilder > m_eTowerBuilderTool
Definition: eTowerMakerFromEfexTowers.h:39
LVL1::eTowerMakerFromEfexTowers::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: eTowerMakerFromEfexTowers.cxx:53
LVL1::eTowerMakerFromEfexTowers::m_noiseCutsKey
SG::ReadCondHandleKey< CondAttrListCollection > m_noiseCutsKey
Definition: eTowerMakerFromEfexTowers.h:41
LVL1::eTowerMakerFromEfexTowers::m_minTowersRequired
UnsignedIntegerProperty m_minTowersRequired
Definition: eTowerMakerFromEfexTowers.h:36
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:74
LVL1::eTowerMakerFromEfexTowers::m_noiseCutBeginTimestamp
UnsignedIntegerProperty m_noiseCutBeginTimestamp
Definition: eTowerMakerFromEfexTowers.h:43
SG::WriteHandleKey< LVL1::eTowerContainer >
LVL1::eTowerMakerFromEfexTowers::m_debugMutex
std::mutex m_debugMutex
Definition: eTowerMakerFromEfexTowers.h:47
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:38
LVL1::eTowerMakerFromEfexTowers::eTowerMakerFromEfexTowers
eTowerMakerFromEfexTowers(const std::string &name, ISvcLocator *pSvcLocator)
Definition: eTowerMakerFromEfexTowers.cxx:29
LVL1::eTowerMakerFromEfexTowers::m_printedNoiseCuts
std::atomic< bool > m_printedNoiseCuts
Definition: eTowerMakerFromEfexTowers.h:45
TrigConf::name
Definition: HLTChainList.h:35
AthReentrantAlgorithm.h
LVL1::eTowerMakerFromEfexTowers::~eTowerMakerFromEfexTowers
~eTowerMakerFromEfexTowers()=default
SG::ReadCondHandleKey< CondAttrListCollection >
IeTowerBuilder.h
LVL1::eTowerMakerFromEfexTowers
Definition: eTowerMakerFromEfexTowers.h:21