ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_MonitorConditionsTool.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2026 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
26class SCT_ID;
27
31
32class SCT_MonitorConditionsTool: public extends<AthAlgTool, ISCT_MonitorConditionsTool> {
33
34public:
35 // Constructor
36 SCT_MonitorConditionsTool(const std::string& type, const std::string& name, const IInterface* parent);
37 // Destructor
38 virtual ~SCT_MonitorConditionsTool() = default;
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, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
49
51 virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
52 virtual void getDetectorElementStatus(const EventContext& ctx, InDet::SiDetectorElementStatus &element_status,
54
56 virtual void badStrips(std::set<Identifier>& strips, const EventContext& ctx) const override;
57
59 virtual void badStrips(const Identifier& moduleId, std::set<Identifier>& strips, const EventContext& ctx) const override;
60
62 virtual std::string badStripsAsString(const Identifier& moduleId, const EventContext& ctx) const override;
63
64private:
65 // ------------------------------------------------------------------------------------
66 // local stuff
67 // ------------------------------------------------------------------------------------
68 std::string getList(const Identifier& imodule, const EventContext& ctx) const;
69
70 static void expandRange(const std::string& rangeStr, std::set<int>& rangeList) ;
71
72 static void expandList(const std::string& defectStr, std::set<int>& defectList) ;
73
74 static const std::string s_separator;
75
76 UnsignedIntegerProperty m_nhits_noisychip{this, "Nnoisychip", 64};
77 UnsignedIntegerProperty m_nhits_noisywafer{this, "Nnoisywafer", 384};
78 UnsignedIntegerProperty m_nhits_noisymodule{this, "Nnoisycmodule", 768};
79 const SCT_ID* m_pHelper{nullptr};
80
81 SG::ReadCondHandleKey<SCT_MonitorCondData> m_condKey{this, "CondKey", "SCT_MonitorCondData", "SCT noisy strips"};
82 const SCT_MonitorCondData* getCondData(const EventContext& ctx) const;
83};
84
85#endif // SCT_MONITORCONDITIONSTOOL_SCT_MONITORCONDITIONSTOOL_H
interface file for service that keeps track of errors caught by the monitoring.
header file for data object for SCT_MonitorCondAlg and SCT_MonitorConditionsTool.
Property holding a SG store/key/clid from which a ReadHandle is made.
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
Class for data object used in SCT_MonitorCondAlg and SCT_MonitorConditionsTool.
static void expandList(const std::string &defectStr, std::set< int > &defectList)
std::string getList(const Identifier &imodule, const EventContext &ctx) const
UnsignedIntegerProperty m_nhits_noisywafer
const SCT_MonitorCondData * getCondData(const EventContext &ctx) const
SG::ReadCondHandleKey< SCT_MonitorCondData > m_condKey
static void expandRange(const std::string &rangeStr, std::set< int > &rangeList)
UnsignedIntegerProperty m_nhits_noisychip
static const std::string s_separator
virtual void getDetectorElementStatus(const EventContext &ctx, InDet::SiDetectorElementStatus &element_status, SG::WriteCondHandle< InDet::SiDetectorElementStatus > *whandle) const override
virtual bool canReportAbout(InDetConditions::Hierarchy h) const override
Can the service report about the given component? (chip, module...).
UnsignedIntegerProperty m_nhits_noisymodule
virtual ~SCT_MonitorConditionsTool()=default
virtual StatusCode finalize() override
virtual StatusCode initialize() override
virtual std::string badStripsAsString(const Identifier &moduleId, const EventContext &ctx) const override
String of bad strip numbers for a given module.
virtual void badStrips(std::set< Identifier > &strips, const EventContext &ctx) const override
List of bad strip Identifiers.
SCT_MonitorConditionsTool(const std::string &type, const std::string &name, const IInterface *parent)
virtual bool isGood(const Identifier &elementId, const EventContext &ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
Is the detector element good?