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-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
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, 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
69private:
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
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
virtual bool isGood(const Identifier &elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
Is the detector element good?
static void expandRange(const std::string &rangeStr, std::set< int > &rangeList)
UnsignedIntegerProperty m_nhits_noisychip
virtual void badStrips(std::set< Identifier > &strips) const override
List of bad strip Identifiers.
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 std::string badStripsAsString(const Identifier &moduleId) const override
String of bad strip numbers for a given module.
virtual StatusCode finalize() override
virtual StatusCode initialize() override
SCT_MonitorConditionsTool(const std::string &type, const std::string &name, const IInterface *parent)