ATLAS Offline Software
TileTTL1Overlay.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // ================================================
8 // TileTTL1Overlay class description
9 // ================================================
10 //
11 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT
12 //
13 //
14 // class: TileTTL1Overlay
15 //
16 // Description:
17 //
18 //The TileTTL1Overlay class takes calorimeter cells from the TES and
19 // forms Trigger Towers, which it then places back into the TES The calorimeter
20 // cells can be produced either by GEANT or other fast simulation packages
21 // - this is defined by setting a parameter
22 // CellType to 1 for CaloCells, 2 to reprocess TriggerTowers and 3 for LAr/Tile TTL1 input (a simulation of analogue towers);
23 //
24 // ................................................................
25 //
26 
27 #ifndef TRIGT1CALOSIM_TILETTL1OVERLAY_H
28 #define TRIGT1CALOSIM_TILETTL1OVERLAY_H
29 
30 // STL
31 #include <map>
32 #include <string>
33 #include <vector>
34 
35 // Athena/Gaudi
37 #include "Identifier/Identifier.h"
38 
39 // Calorimeter tower includes
41 
42 namespace LVL1
43 {
44 
46 {
47 public:
48  TileTTL1Overlay(const std::string& name, ISvcLocator* pSvcLocator);
49 
50  // main AthReentrantAlgorithm methods
51  virtual StatusCode initialize() override final;
52  virtual StatusCode execute(const EventContext& ctx) const override final;
53 
54 private:
55  // locations of background TTL1 data
56  SG::ReadHandleKey<TileTTL1Container> m_bkgTileTTL1Key{this,"BkgTileTTL1Key","Bkg_TileTTL1Cnt","ReadHandleKey for Background Input TileTTL1Container"};
57  SG::ReadHandleKey<TileTTL1Container> m_bkgTileMBTSTTL1Key{this,"BkgTileMBTSTTL1Key","Bkg_TileTTL1MBTS","ReadHandleKey for Background Input MBTS TileTTL1Container"};
58  // locations of signal TTL1 data
59  SG::ReadHandleKey<TileTTL1Container> m_signalTileTTL1Key{this,"SignalTileTTL1Key","Sig_TileTTL1Cnt","ReadHandleKey for Signal Input TileTTL1Container"};
60  SG::ReadHandleKey<TileTTL1Container> m_signalTileMBTSTTL1Key{this,"SignalTileMBTSTTL1Key","Sig_TileTTL1MBTS","ReadHandleKey for Signal Input MBTS TileTTL1Container"};
61  // locations of output TTL1 data
62  SG::WriteHandleKey<TileTTL1Container> m_outputTileTTL1Key{this,"OutputTileTTL1Key","TileTTL1Cnt","WriteHandleKey for Output TileTTL1Container"};
63  SG::WriteHandleKey<TileTTL1Container> m_outputTileMBTSTTL1Key{this,"OutputTileMBTSTTL1Key","TileTTL1MBTS","WriteHandleKey for Output MBTS TileTTL1Container"};
64 
65  // overlay amplitudes from other TTL1
67  std::map<Identifier, std::vector<const TileTTL1*>> &towerMap) const;
68 
69  // specialised overlay functions
70  StatusCode overlay(const EventContext& ctx,
72  const SG::ReadHandleKey<TileTTL1Container> &signalKey,
74  const std::string &label) const;
75 };
76 
77 } // namespace LVL1
78 #endif
LVL1::TileTTL1Overlay::TileTTL1Overlay
TileTTL1Overlay(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TileTTL1Overlay.cxx:14
LVL1::TileTTL1Overlay::groupTowers
void groupTowers(const TileTTL1Container *towers, std::map< Identifier, std::vector< const TileTTL1 * >> &towerMap) const
Real Tile overlay towers and overlay on existing event.
Definition: TileTTL1Overlay.cxx:50
LVL1::TileTTL1Overlay::m_signalTileMBTSTTL1Key
SG::ReadHandleKey< TileTTL1Container > m_signalTileMBTSTTL1Key
Definition: TileTTL1Overlay.h:60
LVL1::TileTTL1Overlay::m_outputTileTTL1Key
SG::WriteHandleKey< TileTTL1Container > m_outputTileTTL1Key
Definition: TileTTL1Overlay.h:62
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
LVL1::TileTTL1Overlay::m_outputTileMBTSTTL1Key
SG::WriteHandleKey< TileTTL1Container > m_outputTileMBTSTTL1Key
Definition: TileTTL1Overlay.h:63
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
LVL1::TileTTL1Overlay::m_signalTileTTL1Key
SG::ReadHandleKey< TileTTL1Container > m_signalTileTTL1Key
Definition: TileTTL1Overlay.h:59
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
LVL1::TileTTL1Overlay::overlay
StatusCode overlay(const EventContext &ctx, const SG::ReadHandleKey< TileTTL1Container > &bkgKey, const SG::ReadHandleKey< TileTTL1Container > &signalKey, const SG::WriteHandleKey< TileTTL1Container > &outputKey, const std::string &label) const
Main algorithm execute.
Definition: TileTTL1Overlay.cxx:79
TileDigitizationConfig.outputKey
outputKey
Definition: TileDigitizationConfig.py:104
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::TileTTL1Overlay::m_bkgTileMBTSTTL1Key
SG::ReadHandleKey< TileTTL1Container > m_bkgTileMBTSTTL1Key
Definition: TileTTL1Overlay.h:57
LVL1::TileTTL1Overlay::m_bkgTileTTL1Key
SG::ReadHandleKey< TileTTL1Container > m_bkgTileTTL1Key
Definition: TileTTL1Overlay.h:56
TileTTL1Container.h
TrigConf::name
Definition: HLTChainList.h:35
AthReentrantAlgorithm.h
RunTileMonitoring.towers
towers
Definition: RunTileMonitoring.py:133
LVL1::TileTTL1Overlay::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Main algorithm execute.
Definition: TileTTL1Overlay.cxx:39
LVL1::TileTTL1Overlay
Definition: TileTTL1Overlay.h:46
TileContainer
Definition: TileContainer.h:38
LVL1::TileTTL1Overlay::initialize
virtual StatusCode initialize() override final
Definition: TileTTL1Overlay.cxx:17