ATLAS Offline Software
SCT_ReadCalibChipDataTool.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 */
6 
11 // Multiple inclusion protection
12 #ifndef SCT_READ_CALIB_CHIP_DATA_TOOL
13 #define SCT_READ_CALIB_CHIP_DATA_TOOL
14 
15 // Include interface class
18 
19 // Include Athena stuff
23 
24 // Include Gaudi classes
25 #include "GaudiKernel/EventContext.h"
26 
27 // Forward declarations
28 class SCT_ID;
29 
34 class SCT_ReadCalibChipDataTool: public extends<AthAlgTool, ISCT_ReadCalibChipDataTool> {
35 
36  public:
37  //----------Public Member Functions----------//
38  // Structors
39  SCT_ReadCalibChipDataTool(const std::string& type, const std::string& name, const IInterface* parent);
40  virtual ~SCT_ReadCalibChipDataTool() = default;
41 
42  // Standard Gaudi functions
43  virtual StatusCode initialize() override;
44  virtual StatusCode finalize() override;
45 
48  virtual bool canReportAbout(InDetConditions::Hierarchy h) const override;
50  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
51  virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
53  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
54  virtual bool isGood(const IdentifierHash& hashId) const override;
55  virtual void getDetectorElementStatus(const EventContext& ctx, InDet::SiDetectorElementStatus &element_status,
58 
59  // Methods to return calibration data
60  virtual std::vector<float> getNPtGainData(const Identifier& moduleId, const int side, const std::string& datatype, const EventContext& ctx) const override;
61  virtual std::vector<float> getNPtGainData(const Identifier& moduleId, const int side, const std::string& datatype) const override;
62  virtual std::vector<float> getNoiseOccupancyData(const Identifier& moduleId, const int side, const std::string& datatype, const EventContext& ctx) const override;
63  virtual std::vector<float> getNoiseOccupancyData(const Identifier& moduleId, const int side, const std::string& datatype) const override;
64 
65  private:
66  // Private enums
68 
69  // Private methods
70  static int nPtGainIndex(const std::string& dataName) ;
71  static int noiseOccIndex(const std::string& dataName) ;
72 
73  const SCT_GainCalibData* getCondDataGain(const EventContext& ctx) const;
74  const SCT_NoiseCalibData* getCondDataNoise(const EventContext& ctx) const;
75 
76  //----------Private Attributes----------//
77  const SCT_ID* m_id_sct{nullptr};
78 
79  // Read Cond Handles
80  SG::ReadCondHandleKey<SCT_GainCalibData> m_condKeyGain{this, "CondKeyGain", "SCT_GainCalibData", "SCT calibration data of gains of chips"};
81  SG::ReadCondHandleKey<SCT_NoiseCalibData> m_condKeyNoise{this, "CondKeyNoise", "SCT_NoiseCalibData", "SCT calibration data of noises of chips"};
82 
83  // Noise level for isGood::Side
84  FloatProperty m_noiseLevel{this, "NoiseLevel", 1800.0, "Noise Level for isGood if ever used"};
85 };
86 
87 //----------------------------------------------------------------------
88 #endif // SCT_READ_CALIB_CHIP_DATA_TOOL
ISCT_ReadCalibChipDataTool.h
SCT_ReadCalibChipDataTool::isGood
virtual bool isGood(const Identifier &elementId, const EventContext &ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
Summarise the result from the service as good/bad.
Definition: SCT_ReadCalibChipDataTool.cxx:156
SCT_NoiseCalibData
std::array< SCT_ModuleNoiseCalibData, SCT_ConditionsData::NUMBER_OF_MODULES > SCT_NoiseCalibData
Class for data object used in SCT_ReadCalibChipNoiseCondAlg and SCT_ReadCalibChipDataTool.
Definition: SCT_NoiseCalibData.h:26
SCT_ReadCalibChipDataTool::NPTGAIN
@ NPTGAIN
Definition: SCT_ReadCalibChipDataTool.h:67
InDetConditions::Hierarchy
Hierarchy
Definition: InDetHierarchy.h:14
SCT_ConditionsParameters.h
header file containing the number of elements and enumerated type of parameters which may be retrieve...
SCT_ReadCalibChipDataTool::initialize
virtual StatusCode initialize() override
Gaudi initialiser.
Definition: SCT_ReadCalibChipDataTool.cxx:32
TRT::Hit::side
@ side
Definition: HitInfo.h:83
SCT_ReadCalibChipDataTool::getNoiseOccupancyData
virtual std::vector< float > getNoiseOccupancyData(const Identifier &moduleId, const int side, const std::string &datatype, const EventContext &ctx) const override
Get NoiseOccupancy data wafer.
Definition: SCT_ReadCalibChipDataTool.cxx:225
SCT_ReadCalibChipDataTool::getCondDataNoise
const SCT_NoiseCalibData * getCondDataNoise(const EventContext &ctx) const
Definition: SCT_ReadCalibChipDataTool.cxx:292
SCT_ReadCalibChipDataTool::UNKNOWN_FOLDER
@ UNKNOWN_FOLDER
Definition: SCT_ReadCalibChipDataTool.h:67
SCT_ReadCalibChipDataTool
This class contains a Tool that reads SCT calibration data and makes it available to other algorithms...
Definition: SCT_ReadCalibChipDataTool.h:34
SCT_GainCalibData.h
header file for data object for gain parameters for all modules
SCT_ReadCalibChipDataTool::N_FOLDERTYPES
@ N_FOLDERTYPES
Definition: SCT_ReadCalibChipDataTool.h:67
InDet::SiDetectorElementStatus
Definition: SiDetectorElementStatus.h:62
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
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
SCT_ReadCalibChipDataTool::finalize
virtual StatusCode finalize() override
Gaudi finaliser.
Definition: SCT_ReadCalibChipDataTool.cxx:45
SCT_ReadCalibChipDataTool::m_condKeyGain
SG::ReadCondHandleKey< SCT_GainCalibData > m_condKeyGain
Definition: SCT_ReadCalibChipDataTool.h:80
SCT_ReadCalibChipDataTool::SCT_ReadCalibChipDataTool
SCT_ReadCalibChipDataTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: SCT_ReadCalibChipDataTool.cxx:25
SCT_ReadCalibChipDataTool::nPtGainIndex
static int nPtGainIndex(const std::string &dataName)
Definition: SCT_ReadCalibChipDataTool.cxx:272
SCT_NoiseCalibData.h
header file for data object for noise parameters for all modules
SCT_ReadCalibChipDataTool::NOISEOCC
@ NOISEOCC
Definition: SCT_ReadCalibChipDataTool.h:67
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SCT_ReadCalibChipDataTool::getNPtGainData
virtual std::vector< float > getNPtGainData(const Identifier &moduleId, const int side, const std::string &datatype, const EventContext &ctx) const override
Get NPtGain data per wafer.
Definition: SCT_ReadCalibChipDataTool.cxx:176
SCT_ReadCalibChipDataTool::m_condKeyNoise
SG::ReadCondHandleKey< SCT_NoiseCalibData > m_condKeyNoise
Definition: SCT_ReadCalibChipDataTool.h:81
SCT_ReadCalibChipDataTool::noiseOccIndex
static int noiseOccIndex(const std::string &dataName)
Definition: SCT_ReadCalibChipDataTool.cxx:279
SG::ReadCondHandleKey< SCT_GainCalibData >
SCT_ReadCalibChipDataTool::~SCT_ReadCalibChipDataTool
virtual ~SCT_ReadCalibChipDataTool()=default
Destructor.
h
SCT_ReadCalibChipDataTool::FolderType
FolderType
Definition: SCT_ReadCalibChipDataTool.h:67
SCT_ID
Definition: SCT_ID.h:68
SCT_ReadCalibChipDataTool::getCondDataGain
const SCT_GainCalibData * getCondDataGain(const EventContext &ctx) const
Definition: SCT_ReadCalibChipDataTool.cxx:286
SCT_ReadCalibChipDataTool::m_id_sct
const SCT_ID * m_id_sct
Handle to SCT ID helper.
Definition: SCT_ReadCalibChipDataTool.h:77
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IdentifierHash
Definition: IdentifierHash.h:38
SCT_ReadCalibChipDataTool::getDetectorElementStatus
virtual void getDetectorElementStatus(const EventContext &ctx, InDet::SiDetectorElementStatus &element_status, SG::WriteCondHandle< InDet::SiDetectorElementStatus > *whandle) const override
Definition: SCT_ReadCalibChipDataTool.cxx:101
InDetConditions::DEFAULT
@ DEFAULT
Definition: InDetHierarchy.h:14
SCT_ReadCalibChipDataTool::m_noiseLevel
FloatProperty m_noiseLevel
Definition: SCT_ReadCalibChipDataTool.h:84
SG::WriteCondHandle
Definition: WriteCondHandle.h:26
SCT_GainCalibData
std::array< SCT_ModuleGainCalibData, SCT_ConditionsData::NUMBER_OF_MODULES > SCT_GainCalibData
Typedef for data object used in SCT_ReadCalibChipGainCondAlg and SCT_ReadCalibChipDataTool.
Definition: SCT_GainCalibData.h:26
SCT_ReadCalibChipDataTool::canReportAbout
virtual bool canReportAbout(InDetConditions::Hierarchy h) const override
Definition: SCT_ReadCalibChipDataTool.cxx:53