ATLAS Offline Software
Loading...
Searching...
No Matches
TileCondToolEmscale.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TILECONDITIONS_TILECONDTOOLEMSCALE_H
6#define TILECONDITIONS_TILECONDTOOLEMSCALE_H
7
45
46// Tile includes
49
50// Athena includes
53
54
55#include <vector>
56#include <array>
57
59 public:
60
61 static const InterfaceID& interfaceID();
62 TileCondToolEmscale(const std::string& type, const std::string& name, const IInterface* parent);
63 virtual ~TileCondToolEmscale();
64
65 virtual StatusCode initialize() override;
66 virtual StatusCode finalize() override;
67
81 float channelCalib(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude
82 , TileRawChannelUnit::UNIT rawDataUnitIn, TileRawChannelUnit::UNIT rawDataUnitOut) const;
83
92 float doCalibEms(unsigned int drawerIdx, unsigned int channel, float amplitude) const;
93
102 float doCalibCes(unsigned int drawerIdx, unsigned int channel, float amplitude, bool applyLasCorr = true) const;
103
112 float doCalibLas(unsigned int drawerIdx, unsigned int channel, float amplitude) const;
113
123 float doCalibCis(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude) const;
124
137 float channelCalibOnl(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude
138 , TileRawChannelUnit::UNIT onlUnit) const;
139
148 float doCalibEmsOnl(unsigned int drawerIdx, unsigned int channel, float amplitude) const;
149
158 float doCalibCesOnl(unsigned int drawerIdx, unsigned int channel, float amplitude, bool applyLasCorr = true) const;
159
168 float doCalibLasOnl(unsigned int drawerIdx, unsigned int channel, float amplitude) const;
169
179 float doCalibCisOnl(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude) const;
180
195 float undoOnlCalib(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude
196 , TileRawChannelUnit::UNIT onlUnit) const;
197
208 float getCesRefLas(unsigned int drawerIdx, unsigned int channel, unsigned int adc) const;
209
216 float getCesRefHv(unsigned int drawerIdx, unsigned int channel) const;
217
224 float getCesRefTemp(unsigned int drawerIdx, unsigned int channel) const;
225
231 float getLasFiber(unsigned int drawerIdx, unsigned int channel) const;
232
242 float getLasPartition(unsigned int drawerIdx) const;
243
250 float getLasRefHv(unsigned int drawerIdx, unsigned int channel) const;
251
256
257 protected:
258
260 "TileEMScale", "TileEMScale", "Input Tile EMS calibration constants"};
261
262
263};
264
265#endif
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
virtual StatusCode initialize() override
float getCesRefHv(unsigned int drawerIdx, unsigned int channel) const
Returns the reference PMT HV set in last cesium calibration.
float doCalibCesOnl(unsigned int drawerIdx, unsigned int channel, float amplitude, bool applyLasCorr=true) const
Online application of cesium calibration constant.
float doCalibLas(unsigned int drawerIdx, unsigned int channel, float amplitude) const
Application of laser (PMT linearity) correction.
float channelCalibOnl(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude, TileRawChannelUnit::UNIT onlUnit) const
Calibrates an online Tile channel from OnlineADCcounts to an arbitrary Online unit,...
float doCalibCes(unsigned int drawerIdx, unsigned int channel, float amplitude, bool applyLasCorr=true) const
Application of cesium calibration constant.
TileCondToolEmscale(const std::string &type, const std::string &name, const IInterface *parent)
float doCalibCis(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude) const
Application of CIS calibration: ADC counts -> pC.
float getLasFiber(unsigned int drawerIdx, unsigned int channel) const
Returns laser fiber relative variation.
TileRawChannelUnit::UNIT getOnlCacheUnit() const
Returns the unit of cached online calibration constants.
float undoOnlCalib(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude, TileRawChannelUnit::UNIT onlUnit) const
Undoes the calibration applied in ROD signal reconstruction.
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
float doCalibEms(unsigned int drawerIdx, unsigned int channel, float amplitude) const
Calibration to EM scale: Equalized pC -> MeV.
float doCalibEmsOnl(unsigned int drawerIdx, unsigned int channel, float amplitude) const
Online calibration to EM scale: Equalized pC -> MeV.
float doCalibLasOnl(unsigned int drawerIdx, unsigned int channel, float amplitude) const
Online application of laser (PMT linearity) correction.
float doCalibCisOnl(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude) const
Online Application of CIS calibration: ADC counts -> pC.
float getLasRefHv(unsigned int drawerIdx, unsigned int channel) const
Returns the reference PMT HV from appropriate laser calibration.
virtual StatusCode finalize() override
static const InterfaceID & interfaceID()
float channelCalib(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude, TileRawChannelUnit::UNIT rawDataUnitIn, TileRawChannelUnit::UNIT rawDataUnitOut) const
Calibrates a Tile channel.
float getLasPartition(unsigned int drawerIdx) const
Returns laser partition relative variation.
float getCesRefLas(unsigned int drawerIdx, unsigned int channel, unsigned int adc) const
Returns the PMT gain reference as measured by the laser system.
float getCesRefTemp(unsigned int drawerIdx, unsigned int channel) const
Returns the drawer temperature as measured during last cesium equalization.