ATLAS Offline Software
SCT_MonitorConditionsTool.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_MONITORCONDITIONSTOOL_SCT_MONITORCONDITIONSTOOL_H
8 #define SCT_MONITORCONDITIONSTOOL_SCT_MONITORCONDITIONSTOOL_H
9 
10 // Athena includes
14 
15 // Read Handle Key
18 
19 // Gaudi includes
20 #include "GaudiKernel/EventContext.h"
21 
22 //STL
23 #include <set>
24 
25 //forward declarations
26 class SCT_ID;
27 
32 class SCT_MonitorConditionsTool: public extends<AthAlgTool, ISCT_MonitorConditionsTool> {
33 
34 public:
35  // Constructor
36  SCT_MonitorConditionsTool(const std::string& type, const std::string& name, const IInterface* parent);
37  // Destructor
38  virtual ~SCT_MonitorConditionsTool() = default;
39 
40  // overloading functions
41  virtual StatusCode initialize() override;
42  virtual StatusCode finalize() override;
43 
45  virtual bool canReportAbout(InDetConditions::Hierarchy h) const override;
46 
48  virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
49  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
50 
52  virtual bool isGood(const IdentifierHash& hashId) const override;
53  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
54  virtual void getDetectorElementStatus(const EventContext& ctx, InDet::SiDetectorElementStatus &element_status,
56 
58  virtual void badStrips(std::set<Identifier>& strips) const override;
59  virtual void badStrips(std::set<Identifier>& strips, const EventContext& ctx) const override;
60 
62  virtual void badStrips(const Identifier& moduleId, std::set<Identifier>& strips) const override;
63  virtual void badStrips(const Identifier& moduleId, std::set<Identifier>& strips, const EventContext& ctx) const override;
64 
66  virtual std::string badStripsAsString(const Identifier& moduleId) const override;
67  virtual std::string badStripsAsString(const Identifier& moduleId, const EventContext& ctx) const override;
68 
69 private:
70  // ------------------------------------------------------------------------------------
71  // local stuff
72  // ------------------------------------------------------------------------------------
73  std::string getList(const Identifier& imodule, const EventContext& ctx) const;
74 
75  static void expandRange(const std::string& rangeStr, std::set<int>& rangeList) ;
76 
77  static void expandList(const std::string& defectStr, std::set<int>& defectList) ;
78 
79  static const std::string s_separator;
80 
81  UnsignedIntegerProperty m_nhits_noisychip{this, "Nnoisychip", 64};
82  UnsignedIntegerProperty m_nhits_noisywafer{this, "Nnoisywafer", 384};
83  UnsignedIntegerProperty m_nhits_noisymodule{this, "Nnoisycmodule", 768};
84  const SCT_ID* m_pHelper{nullptr};
85 
86  SG::ReadCondHandleKey<SCT_MonitorCondData> m_condKey{this, "CondKey", "SCT_MonitorCondData", "SCT noisy strips"};
87  const SCT_MonitorCondData* getCondData(const EventContext& ctx) const;
88 };
89 
90 #endif // SCT_MONITORCONDITIONSTOOL_SCT_MONITORCONDITIONSTOOL_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SCT_MonitorConditionsTool::~SCT_MonitorConditionsTool
virtual ~SCT_MonitorConditionsTool()=default
SCT_MonitorConditionsTool::isGood
virtual bool isGood(const Identifier &elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
Is the detector element good?
Definition: SCT_MonitorConditionsTool.cxx:109
SCT_MonitorConditionsTool::SCT_MonitorConditionsTool
SCT_MonitorConditionsTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: SCT_MonitorConditionsTool.cxx:41
SCT_MonitorConditionsTool::finalize
virtual StatusCode finalize() override
Definition: SCT_MonitorConditionsTool.cxx:64
SCT_MonitorConditionsTool::m_condKey
SG::ReadCondHandleKey< SCT_MonitorCondData > m_condKey
Definition: SCT_MonitorConditionsTool.h:86
SCT_MonitorConditionsTool::badStripsAsString
virtual std::string badStripsAsString(const Identifier &moduleId) const override
String of bad strip numbers for a given module.
Definition: SCT_MonitorConditionsTool.cxx:274
SCT_MonitorConditionsTool::canReportAbout
virtual bool canReportAbout(InDetConditions::Hierarchy h) const override
Can the service report about the given component? (chip, module...)
Definition: SCT_MonitorConditionsTool.cxx:71
SCT_MonitorConditionsTool
Class for keeping track of errors caught by the monitoring.
Definition: SCT_MonitorConditionsTool.h:32
InDetConditions::Hierarchy
Hierarchy
Definition: InDetHierarchy.h:14
SCT_MonitorConditionsTool::s_separator
static const std::string s_separator
Definition: SCT_MonitorConditionsTool.h:79
SCT_MonitorConditionsTool::badStrips
virtual void badStrips(std::set< Identifier > &strips) const override
List of bad strip Identifiers.
Definition: SCT_MonitorConditionsTool.cxx:224
SCT_MonitorCondData.h
header file for data object for SCT_MonitorCondAlg and SCT_MonitorConditionsTool.
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
ISCT_MonitorConditionsTool.h
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
SCT_MonitorConditionsTool::getCondData
const SCT_MonitorCondData * getCondData(const EventContext &ctx) const
Definition: SCT_MonitorConditionsTool.cxx:337
SCT_MonitorConditionsTool::m_nhits_noisywafer
UnsignedIntegerProperty m_nhits_noisywafer
Definition: SCT_MonitorConditionsTool.h:82
SCT_MonitorConditionsTool::expandRange
static void expandRange(const std::string &rangeStr, std::set< int > &rangeList)
Definition: SCT_MonitorConditionsTool.cxx:299
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SCT_MonitorConditionsTool::getList
std::string getList(const Identifier &imodule, const EventContext &ctx) const
Definition: SCT_MonitorConditionsTool.cxx:284
SG::ReadCondHandleKey< SCT_MonitorCondData >
SCT_MonitorConditionsTool::expandList
static void expandList(const std::string &defectStr, std::set< int > &defectList)
Definition: SCT_MonitorConditionsTool.cxx:320
h
SCT_ID
Definition: SCT_ID.h:68
SCT_MonitorCondData
Class for data object used in SCT_MonitorCondAlg and SCT_MonitorConditionsTool.
Definition: SCT_MonitorCondData.h:29
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SCT_MonitorConditionsTool::m_nhits_noisychip
UnsignedIntegerProperty m_nhits_noisychip
Definition: SCT_MonitorConditionsTool.h:81
SCT_MonitorConditionsTool::m_nhits_noisymodule
UnsignedIntegerProperty m_nhits_noisymodule
Definition: SCT_MonitorConditionsTool.h:83
IdentifierHash
Definition: IdentifierHash.h:38
InDetConditions::DEFAULT
@ DEFAULT
Definition: InDetHierarchy.h:14
SCT_MonitorConditionsTool::m_pHelper
const SCT_ID * m_pHelper
Definition: SCT_MonitorConditionsTool.h:84
SG::WriteCondHandle
Definition: WriteCondHandle.h:26
SCT_MonitorConditionsTool::initialize
virtual StatusCode initialize() override
Definition: SCT_MonitorConditionsTool.cxx:49
SCT_MonitorConditionsTool::getDetectorElementStatus
virtual void getDetectorElementStatus(const EventContext &ctx, InDet::SiDetectorElementStatus &element_status, SG::WriteCondHandle< InDet::SiDetectorElementStatus > *whandle) const override
Definition: SCT_MonitorConditionsTool.cxx:133