ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_DCSConditionsTool.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
7#ifndef SCT_DCSConditionsTool_h
8#define SCT_DCSConditionsTool_h
17
18// Athena
21
23#include "Identifier/Identifier.h"
27
28// Gaudi
29#include "Gaudi/Property.h"
30#include "GaudiKernel/EventContext.h"
31
32// STL
33#include <string>
34
35class SCT_ID;
36
40class SCT_DCSConditionsTool: public extends<AthAlgTool, ISCT_DCSConditionsTool> {
41
42public:
43 SCT_DCSConditionsTool(const std::string& type, const std::string& name, const IInterface* parent);
44 virtual ~SCT_DCSConditionsTool() = default;
45 virtual StatusCode initialize() override;
46 virtual StatusCode finalize() override;
47
49
50
51 virtual bool canReportAbout(InDetConditions::Hierarchy h) const override;
52 //returns the module ID (int), or returns 9999 (not a valid module number) if not able to report
53 virtual Identifier getModuleID(const Identifier& elementId, InDetConditions::Hierarchy h) const;
55 virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
56 virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
58 virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
59 virtual bool isGood(const IdentifierHash& hashId) const override;
60 virtual void getDetectorElementStatus(const EventContext& ctx, InDet::SiDetectorElementStatus &element_status,
62 //Returns HV (0 if there is no information)
63 virtual float modHV(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
64 virtual float modHV(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
65 //Does the same for hashIds
66 virtual float modHV(const IdentifierHash& hashId, const EventContext& ctx) const override;
67 virtual float modHV(const IdentifierHash& hashId) const override;
68 //Returns temp0 (0 if there is no information)
69 virtual float hybridTemperature(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
70 virtual float hybridTemperature(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
71 //Does the same for hashIds
72 virtual float hybridTemperature(const IdentifierHash& hashId, const EventContext& ctx) const override;
73 virtual float hybridTemperature(const IdentifierHash& hashId) const override;
74 //Returns temp0 + correction for Lorentz angle calculation (0 if there is no information)
75 virtual float sensorTemperature(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
76 virtual float sensorTemperature(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
77 //Does the same for hashIds
78 virtual float sensorTemperature(const IdentifierHash& hashId, const EventContext& ctx) const override;
79 virtual float sensorTemperature(const IdentifierHash& hashId) const override;
81
82private:
83 //Key for DataHandle
84 BooleanProperty m_readAllDBFolders{this, "ReadAllDBFolders", true};
85 BooleanProperty m_returnHVTemp{this, "ReturnHVTemp", true};
86 FloatProperty m_barrel_correction{this, "TempBarrelCorrection", -3.7};
87 FloatProperty m_ecInner_correction{this, "TempEcInnerCorrection", -13.1};
88 FloatProperty m_ecOuter_correction{this, "TempEcOuterCorrection", -15.5};
89 SG::ReadCondHandleKey<SCT_DCSStatCondData> m_condKeyState{this, "CondKeyState", "SCT_DCSStatCondData", "SCT DCS state"};
90 SG::ReadCondHandleKey<SCT_DCSFloatCondData> m_condKeyHV{this, "CondKeyHV", "SCT_DCSHVCondData", "SCT DCS HV"};
91 SG::ReadCondHandleKey<SCT_DCSFloatCondData> m_condKeyTemp0{this, "CondKeyTemp0", "SCT_DCSTemp0CondData", "SCT DCS temperature on side 0"};
92 const SCT_ID* m_pHelper{nullptr};
93 static const Identifier s_invalidId;
94 static const float s_defaultHV;
95 static const float s_defaultTemperature;
96 const SCT_DCSStatCondData* getCondDataState(const EventContext& ctx) const;
97 const SCT_DCSFloatCondData* getCondDataHV(const EventContext& ctx) const;
98 const SCT_DCSFloatCondData* getCondDataTemp0(const EventContext& ctx) const;
99};
100
101#endif // SCT_DCSConditionsTool_h
interface file for service that keeps track of errors in the bytestream.
Header containing the InDetHierarchy enum, to avoid pulling in a class every time it is needed and na...
header file for data object for SCT_DCSConditions{HV,Temp}CondAlg, SCT_DCSConditionsTool,...
header file for data object for SCT_DCSConditionsStatCondAlg, SCT_DCSConditionsTool,...
Header file for AthHistogramAlgorithm.
This is a "hash" representation of an Identifier.
SCT_DCSConditionsTool(const std::string &type, const std::string &name, const IInterface *parent)
SG::ReadCondHandleKey< SCT_DCSFloatCondData > m_condKeyHV
virtual ~SCT_DCSConditionsTool()=default
static const float s_defaultHV
SG::ReadCondHandleKey< SCT_DCSStatCondData > m_condKeyState
virtual float sensorTemperature(const Identifier &elementId, const EventContext &ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
virtual StatusCode finalize() override
const SCT_DCSFloatCondData * getCondDataHV(const EventContext &ctx) const
static const float s_defaultTemperature
virtual float modHV(const Identifier &elementId, const EventContext &ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
virtual void getDetectorElementStatus(const EventContext &ctx, InDet::SiDetectorElementStatus &element_status, SG::WriteCondHandle< InDet::SiDetectorElementStatus > *whandle) const override
const SCT_DCSFloatCondData * getCondDataTemp0(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 bool canReportAbout(InDetConditions::Hierarchy h) const override
Return whether this service can report on the hierarchy level (e.g. module, chip.....
const SCT_DCSStatCondData * getCondDataState(const EventContext &ctx) const
SG::ReadCondHandleKey< SCT_DCSFloatCondData > m_condKeyTemp0
virtual Identifier getModuleID(const Identifier &elementId, InDetConditions::Hierarchy h) const
virtual float hybridTemperature(const Identifier &elementId, const EventContext &ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
virtual StatusCode initialize() override
BooleanProperty m_readAllDBFolders
static const Identifier s_invalidId
Class for data object used in SCT_DCSConditions{HV,Temp}CondAlg, SCT_DCSConditionsTool,...
Classs for data object used in SCT_DCSConditionsStatCondAlg, SCT_DCSConditionsTool,...
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68