ATLAS Offline Software
LArTTL1Overlay.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 // LArTTL1Overlay class description
9 // ================================================
10 //
11 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT
12 //
13 //
14 // class: LArTTL1Overlay
15 //
16 // Description:
17 //
18 //The LArTTL1Overlay 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_LARTTL1OVERLAY_H
28 #define TRIGT1CALOSIM_LARTTL1OVERLAY_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  LArTTL1Overlay(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<LArTTL1Container> m_bkgEmTTL1Key{this,"BkgEmTTL1Key","Bkg_LArTTL1EM","ReadHandleKey for Background Input EM LArTTL1Container"};
57  SG::ReadHandleKey<LArTTL1Container> m_bkgHadTTL1Key{this,"BkgHadTTL1Key","Bkg_LArTTL1HAD","ReadHandleKey for Background Input Had LArTTL1Container"};
58  // locations of signal TTL1 data
59  SG::ReadHandleKey<LArTTL1Container> m_signalEmTTL1Key{this,"SignalEmTTL1Key","Sig_LArTTL1EM","ReadHandleKey for Signal Input EM LArTTL1Container"};
60  SG::ReadHandleKey<LArTTL1Container> m_signalHadTTL1Key{this,"SignalHadTTL1Key","Sig_LArTTL1HAD","ReadHandleKey for Signal Input Had LArTTL1Container"};
61  // locations of output TTL1 data
62  SG::WriteHandleKey<LArTTL1Container> m_outputEmTTL1Key{this,"OutputEmTTL1Key","LArTTL1EM","WriteHandleKey for Output EM LArTTL1Container"};
63  SG::WriteHandleKey<LArTTL1Container> m_outputHadTTL1Key{this,"OutputHadTTL1Key","LArTTL1HAD","WriteHandleKey for Output Had LArTTL1Container"};
64 
65  // overlay amplitudes from other TTL1
67  std::map<Identifier, std::vector<const LArTTL1*>> &towerMap) const;
68 
69  // specialised overlay functions
70  StatusCode overlay(const EventContext& ctx,
72  const SG::ReadHandleKey<LArTTL1Container> &signalKey,
74  const std::string &label) const;
75 };
76 
77 } // namespace LVL1
78 #endif
LVL1::LArTTL1Overlay::m_signalHadTTL1Key
SG::ReadHandleKey< LArTTL1Container > m_signalHadTTL1Key
Definition: LArTTL1Overlay.h:60
LVL1::LArTTL1Overlay::overlay
StatusCode overlay(const EventContext &ctx, const SG::ReadHandleKey< LArTTL1Container > &bkgKey, const SG::ReadHandleKey< LArTTL1Container > &signalKey, const SG::WriteHandleKey< LArTTL1Container > &outputKey, const std::string &label) const
Main algorithm execute.
Definition: LArTTL1Overlay.cxx:74
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
LVL1::LArTTL1Overlay::LArTTL1Overlay
LArTTL1Overlay(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArTTL1Overlay.cxx:14
LVL1::LArTTL1Overlay::initialize
virtual StatusCode initialize() override final
Definition: LArTTL1Overlay.cxx:17
SG::ReadHandleKey< LArTTL1Container >
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LArTTL1Container.h
LVL1::LArTTL1Overlay::m_outputEmTTL1Key
SG::WriteHandleKey< LArTTL1Container > m_outputEmTTL1Key
Definition: LArTTL1Overlay.h:62
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
LVL1::LArTTL1Overlay::m_bkgHadTTL1Key
SG::ReadHandleKey< LArTTL1Container > m_bkgHadTTL1Key
Definition: LArTTL1Overlay.h:57
TileDigitizationConfig.outputKey
outputKey
Definition: TileDigitizationConfig.py:104
LVL1::LArTTL1Overlay::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Main algorithm execute.
Definition: LArTTL1Overlay.cxx:39
LVL1::LArTTL1Overlay::m_signalEmTTL1Key
SG::ReadHandleKey< LArTTL1Container > m_signalEmTTL1Key
Definition: LArTTL1Overlay.h:59
SG::WriteHandleKey< LArTTL1Container >
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::LArTTL1Overlay::groupTowers
void groupTowers(const LArTTL1Container *towers, std::map< Identifier, std::vector< const LArTTL1 * >> &towerMap) const
Steps over LAr tower collection and overlays on existing collection.
Definition: LArTTL1Overlay.cxx:48
LArTTL1Container
Container class for LArTTL1.
Definition: LArTTL1Container.h:24
TrigConf::name
Definition: HLTChainList.h:35
AthReentrantAlgorithm.h
LVL1::LArTTL1Overlay::m_outputHadTTL1Key
SG::WriteHandleKey< LArTTL1Container > m_outputHadTTL1Key
Definition: LArTTL1Overlay.h:63
LVL1::LArTTL1Overlay::m_bkgEmTTL1Key
SG::ReadHandleKey< LArTTL1Container > m_bkgEmTTL1Key
Definition: LArTTL1Overlay.h:56
RunTileMonitoring.towers
towers
Definition: RunTileMonitoring.py:133
LVL1::LArTTL1Overlay
Definition: LArTTL1Overlay.h:46