ATLAS Offline Software
Loading...
Searching...
No Matches
SCEmulation.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGT1CALOFEXPERF_SCEMULATION_H
6#define TRIGT1CALOFEXPERF_SCEMULATION_H
7
14#include "GaudiKernel/ToolHandle.h"
18#include "CaloGeoHelpers/CaloSampling.h"
21
22#include <map>
23#include <tuple>
24#include <TH1F.h>
25
26namespace LVL1
27{
29 {
30 public:
31 SCEmulation(const std::string &name, ISvcLocator *pSvcLocator);
32 virtual ~SCEmulation() override;
33
34 virtual StatusCode initialize() override;
35 virtual StatusCode execute(const EventContext &ctx) const override;
36
37 private:
41 this, "CaloBCIDAverage", "CaloBCIDAverage"};
43 this, "CaloNoiseSigmaDiff", "CaloNoiseSigmaDiff"};
44
46 this,"CaloSuperCellDetDescrManager","CaloSuperCellDetDescrManager","SG key of the resulting CaloSuperCellDetDescrManager"};
48
50 ToolHandle<ICaloSuperCellIDTool> m_scidTool{"CaloSuperCellIDTool"};
56 std::string m_cellTimingFile;
57
58 // Internals
60 std::map<CaloSampling::CaloSample, std::vector<float>> m_etaBins;
62 std::map<CaloSampling::CaloSample, std::vector<float>> m_etBins;
64 // Map keys are sampling, eta bin, phi bin
65 std::map<std::tuple<CaloSampling::CaloSample, std::size_t, std::size_t>, std::map<float, float>> m_timingSamples;
66
68 const CaloIdManager *m_caloIdMgr{nullptr};
69
70 std::size_t getEtaIndex(CaloSampling::CaloSample sample, float eta) const;
71 std::size_t getEtIndex(CaloSampling::CaloSample sample, float et) const;
72
73 }; //> end class SCEmulation
74} // namespace LVL1
75
76#endif //> !TRIGT1CALOFEXPERF_SCEMULATION_H
Scalar eta() const
pseudorapidity method
Definition of CaloDetDescrManager.
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.
An algorithm that can be simultaneously executed in multiple threads.
This class initializes the Calo (LAr and Tile) offline identifiers.
SG::ReadCondHandleKey< CaloNoiseSigmaDiff > m_caloNoiseSigmaDiffKey
Definition SCEmulation.h:42
SG::ReadHandleKey< xAOD::EventInfo > m_evtInfoKey
Definition SCEmulation.h:39
std::size_t getEtaIndex(CaloSampling::CaloSample sample, float eta) const
virtual StatusCode execute(const EventContext &ctx) const override
std::map< CaloSampling::CaloSample, std::vector< float > > m_etaBins
eta binning read from timing file
Definition SCEmulation.h:60
virtual ~SCEmulation() override
SG::ReadHandleKey< CaloBCIDAverage > m_caloBCIDAverageKey
Definition SCEmulation.h:40
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
Super cell manager key.
Definition SCEmulation.h:45
std::map< std::tuple< CaloSampling::CaloSample, std::size_t, std::size_t >, std::map< float, float > > m_timingSamples
Timing distributions.
Definition SCEmulation.h:65
SG::WriteHandleKey< CaloCellContainer > m_outputSuperCellsKey
Definition SCEmulation.h:47
const CaloIdManager * m_caloIdMgr
Calo ID helpers.
Definition SCEmulation.h:68
virtual StatusCode initialize() override
std::size_t getEtIndex(CaloSampling::CaloSample sample, float et) const
SG::ReadHandleKey< CaloCellContainer > m_inputCellsKey
Definition SCEmulation.h:38
bool m_useBCID
Compensate for BCIDs.
Definition SCEmulation.h:54
SCEmulation(const std::string &name, ISvcLocator *pSvcLocator)
std::string m_cellTimingFile
The cell timing file.
Definition SCEmulation.h:56
ToolHandle< ICaloSuperCellIDTool > m_scidTool
Offline<->supercell mapping tool.
Definition SCEmulation.h:50
bool m_useNoise
Use noise values.
Definition SCEmulation.h:52
std::map< CaloSampling::CaloSample, std::vector< float > > m_etBins
Et binning read from timing file.
Definition SCEmulation.h:62
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...
Extra patterns decribing particle interation process.