ATLAS Offline Software
Loading...
Searching...
No Matches
CaloEstimatedGainTool.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2/*
3 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
4 */
11
12
13#ifndef CALOTOOLS_CALOESTIMATEDGAINTOOL_H
14#define CALOTOOLS_CALOESTIMATEDGAINTOOL_H
15
16
25#include "GaudiKernel/ToolHandle.h"
26
27
28class LArEM_ID;
29class TileInfo;
30
31
33 : public extends<AthAlgTool, ICaloEstimatedGainTool>
34{
35public:
36 using base_class::base_class;
37
38
40
41
42 virtual StatusCode initialize() override;
43
44
45 virtual CaloGain::CaloGain estimatedGain (const EventContext& ctx,
46 const CaloCell& caloCell,
47 const Step step) const override;
48
49 virtual CaloGain::CaloGain estimatedGain (const EventContext& ctx,
50 const CaloCell& caloCell,
51 const CaloDetDescrElement& caloDDE,
52 const Step step) const override;
53
54 virtual CaloGain::CaloGain estimatedGain (const EventContext& ctx,
55 const CaloDetDescrElement& caloDDE,
56 const float energy,
57 const Step step) const override;
58
59
60private:
61 CaloGain::CaloGain estimatedLArGain (const EventContext& ctx,
62 const CaloCell_ID::SUBCALO iCalo,
63 const CaloDetDescrElement& caloDDE,
64 const float energy,
65 const Step step) const;
66
67
68 CaloGain::CaloGain estimatedTileGain (const EventContext& ctx,
69 const CaloCell& caloCell,
70 const CaloDetDescrElement& caloDDE,
71 const Step /*step*/) const;
72
73
74 float adc2mev (const EventContext& ctx,
75 const CaloDetDescrElement& caloDDE,
76 const CaloGain::CaloGain gain) const;
77
79 { this, "ADC2MeVKey", "LArADC2MeV", "SG Key of the LArADC2MeV CDO" };
80
81
82 static const int m_nCalos=4;// number of calorimeters
83
86
87 const LArEM_ID* m_lar_em_id = nullptr;
89
90 ToolHandle<TileCondIdTransforms> m_tileIdTransforms
91 { this, "TileCondIdTransforms", "TileCondIdTransforms",
92 "Tile tool to translate hardware identifiers to the drawerIdx, channel, and adc" };
93
94 ToolHandle<TileCondToolEmscale> m_tileToolEmscale
95 { this, "TileCondToolEmscale", "TileCondToolEmscale",
96 "Tile EM scale calibration tool" };
97
98 ToolHandle<TileCondToolNoiseSample> m_tileToolNoiseSample
99 { this, "TileCondToolNoiseSample", "TileCondToolNoiseSample",
100 "Tile sample noise tool" };
101};
102
103
104#endif // not CALOTOOLS_CALOESTIMATEDGAINTOOL_H
CaloCell_Base_ID::SUBCALO SUBCALO
Definition CaloCell_ID.h:50
Data object for each calorimeter readout cell.
Definition CaloCell.h:57
This class groups all DetDescr information related to a CaloCell.
CaloGain::CaloGain estimatedLArGain(const EventContext &ctx, const CaloCell_ID::SUBCALO iCalo, const CaloDetDescrElement &caloDDE, const float energy, const Step step) const
virtual CaloGain::CaloGain estimatedGain(const EventContext &ctx, const CaloCell &caloCell, const Step step) const override
float adc2mev(const EventContext &ctx, const CaloDetDescrElement &caloDDE, const CaloGain::CaloGain gain) const
ToolHandle< TileCondIdTransforms > m_tileIdTransforms
ToolHandle< TileCondToolNoiseSample > m_tileToolNoiseSample
virtual StatusCode initialize() override
ToolHandle< TileCondToolEmscale > m_tileToolEmscale
ICaloEstimatedGainTool::Step Step
SG::ReadCondHandleKey< LArADC2MeV > m_adc2mevKey
CaloGain::CaloGain estimatedTileGain(const EventContext &ctx, const CaloCell &caloCell, const CaloDetDescrElement &caloDDE, const Step) const
Helper class for LArEM offline identifiers.
Definition LArEM_ID.h:111