ATLAS Offline Software
Loading...
Searching...
No Matches
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
18namespace 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
47 mutable std::mutex m_debugMutex;
48
49};
50
51} // end of LVL1 namespace
52#endif
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadHandleKey< xAOD::eFexTowerContainer > m_eFexTowerContainer2SGKey
SG::ReadHandleKey< xAOD::eFexTowerContainer > m_eFexTowerContainerSGKey
UnsignedIntegerProperty m_noiseCutBeginTimestamp
SG::ReadCondHandleKey< CondAttrListCollection > m_noiseCutsKey
virtual StatusCode execute(const EventContext &ctx) const override
ToolHandle< IeTowerBuilder > m_eTowerBuilderTool
eTowerMakerFromEfexTowers(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
SG::WriteHandleKey< LVL1::eTowerContainer > m_eTowerContainerSGKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...