ATLAS Offline Software
Loading...
Searching...
No Matches
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
10
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
28class SCT_ID;
29
33
34class 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
header file containing the number of elements and enumerated type of parameters which may be retrieve...
header file for data object for gain parameters for all modules
std::array< SCT_ModuleGainCalibData, SCT_ConditionsData::NUMBER_OF_MODULES > SCT_GainCalibData
Typedef for data object used in SCT_ReadCalibChipGainCondAlg and SCT_ReadCalibChipDataTool.
header file for data object for noise parameters for all modules
std::array< SCT_ModuleNoiseCalibData, SCT_ConditionsData::NUMBER_OF_MODULES > SCT_NoiseCalibData
Class for data object used in SCT_ReadCalibChipNoiseCondAlg and SCT_ReadCalibChipDataTool.
Header file for AthHistogramAlgorithm.
This is a "hash" representation of an Identifier.
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
const SCT_GainCalibData * getCondDataGain(const EventContext &ctx) const
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.
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.
SG::ReadCondHandleKey< SCT_NoiseCalibData > m_condKeyNoise
static int noiseOccIndex(const std::string &dataName)
virtual StatusCode initialize() override
Gaudi initialiser.
virtual void getDetectorElementStatus(const EventContext &ctx, InDet::SiDetectorElementStatus &element_status, SG::WriteCondHandle< InDet::SiDetectorElementStatus > *whandle) const override
virtual std::vector< float > getNoiseOccupancyData(const Identifier &moduleId, const int side, const std::string &datatype, const EventContext &ctx) const override
Get NoiseOccupancy data wafer.
SG::ReadCondHandleKey< SCT_GainCalibData > m_condKeyGain
static int nPtGainIndex(const std::string &dataName)
virtual StatusCode finalize() override
Gaudi finaliser.
const SCT_NoiseCalibData * getCondDataNoise(const EventContext &ctx) const
const SCT_ID * m_id_sct
Handle to SCT ID helper.
virtual bool canReportAbout(InDetConditions::Hierarchy h) const override
virtual ~SCT_ReadCalibChipDataTool()=default
Destructor.
SCT_ReadCalibChipDataTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.