ATLAS Offline Software
Loading...
Searching...
No Matches
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
42namespace LVL1
43{
44
46{
47public:
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
54private:
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
66 void groupTowers(const LArTTL1Container *towers,
67 std::map<Identifier, std::vector<const LArTTL1*>> &towerMap) const;
68
69 // specialised overlay functions
70 StatusCode overlay(const EventContext& ctx,
74 const std::string &label) const;
75};
76
77} // namespace LVL1
78#endif
An algorithm that can be simultaneously executed in multiple threads.
Container class for LArTTL1.
virtual StatusCode initialize() override final
void groupTowers(const LArTTL1Container *towers, std::map< Identifier, std::vector< const LArTTL1 * > > &towerMap) const
Steps over LAr tower collection and overlays on existing collection.
SG::WriteHandleKey< LArTTL1Container > m_outputHadTTL1Key
SG::WriteHandleKey< LArTTL1Container > m_outputEmTTL1Key
SG::ReadHandleKey< LArTTL1Container > m_bkgHadTTL1Key
SG::ReadHandleKey< LArTTL1Container > m_bkgEmTTL1Key
virtual StatusCode execute(const EventContext &ctx) const override final
Main algorithm execute.
SG::ReadHandleKey< LArTTL1Container > m_signalEmTTL1Key
LArTTL1Overlay(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< LArTTL1Container > m_signalHadTTL1Key
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.
std::string label(const std::string &format, int i)
Definition label.h:19
bool overlay
Definition listroot.cxx:42
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...