ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_ReadCalibDataTool.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_DATA_TOOL
13#define SCT_READ_CALIB_DATA_TOOL
14
17
23
24// Include Gaudi classes
25#include "GaudiKernel/ServiceHandle.h"
26
27// Forward declarations
28class SCT_ID;
29
33
34class SCT_ReadCalibDataTool: public extends<AthAlgTool, ISCT_ReadCalibDataTool> {
35
36 public:
37 enum {STRIPS_PER_WAFER=768};
38 //----------Public Member Functions----------//
39 // Structors
40 SCT_ReadCalibDataTool(const std::string& type, const std::string& name, const IInterface* parent);
41 virtual ~SCT_ReadCalibDataTool() = default;
42
43 // Standard Gaudi functions
44 virtual StatusCode initialize() override;
45 virtual StatusCode finalize() override;
46
49 virtual bool canReportAbout(InDetConditions::Hierarchy h) const override;
51 virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
52 virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
54 virtual bool isGood(const IdentifierHash& /*hashId*/) const override { return true; }
55 virtual bool isGood(const IdentifierHash& hashId, const EventContext& /*ctx*/) const override { return isGood(hashId); }
56 virtual void getDetectorElementStatus(const EventContext& ctx, InDet::SiDetectorElementStatus &element_status,
59
60 // Methods to return calibration defect type and summary
61 virtual ISCT_ReadCalibDataTool::CalibDefectType defectType(const Identifier& stripId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
63 virtual SCT_CalibDefectData::CalibModuleDefects defectsSummary(const Identifier& moduleId, const std::string& scan, const EventContext& ctx) const override;
64 virtual SCT_CalibDefectData::CalibModuleDefects defectsSummary(const Identifier& moduleId, const std::string& scan) const override;
65 virtual std::list<Identifier> defectList(const std::string& defect, const EventContext& ctx) const override;
66 virtual std::list<Identifier> defectList(const std::string& defect) const override;
67
68 private:
69 // Read Cond Handles
70 SG::ReadCondHandleKey<SCT_CalibDefectData> m_condKeyGain{this, "CondKeyGain", "SCT_CalibDefectNPtGain", "SCT defects due to NPtGain calibration"};
71 SG::ReadCondHandleKey<SCT_CalibDefectData> m_condKeyNoise{this, "CondKeyNoise", "SCT_CalibDefectNPtNoise", "SCT defects due to NPtNoise calibration"};
72 SG::ReadCondHandleKey<SCT_AllGoodStripInfo> m_condKeyInfo{this, "CondKeyInfo", "SCT_AllGoodStripInfo", "SCT good strips based on calibration defects"};
73 SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
74
75 const SCT_CalibDefectData* getCondDataGain(const EventContext& ctx) const;
76 const SCT_CalibDefectData* getCondDataNoise(const EventContext& ctx) const;
77 const SCT_AllGoodStripInfo* getCondDataInfo(const EventContext& ctx) const;
78 const InDetDD::SiDetectorElement* getDetectorElement(const IdentifierHash& waferHash, const EventContext& ctx) const;
79
80 //----------Private Attributes----------//
81 ToolHandle<ISCT_CablingTool> m_cabling{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"};
82 const SCT_ID* m_id_sct{nullptr};
83};
84
85//----------------------------------------------------------------------
86#endif // SCT_READ_CALIB_DATA_TOOL
Header file for abstract interface to SCT cabling tool.
Interface file for SCT_ReadCalibDataTool.
std::array< SCT_WaferGoodStripInfo, SCT_ConditionsData::NUMBER_OF_WAFERS > SCT_AllGoodStripInfo
SCT_AllGoodStripInfo is std::array of SCT_WaferGoodStripInfo and is used in SCT_ReadCalibDataCondAlg ...
header file for data object
header file for data object for good strip information of a wafer
Header file for AthHistogramAlgorithm.
This is a "hash" representation of an Identifier.
Class to hold geometrical description of a silicon detector element.
Container with a list of defects derived from calibration data and used in SCT_ReadCalibDataCondAlg a...
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
virtual StatusCode finalize() override
Gaudi finaliser.
SG::ReadCondHandleKey< SCT_AllGoodStripInfo > m_condKeyInfo
virtual StatusCode initialize() override
Gaudi initialiser.
virtual bool isGood(const IdentifierHash &hashId, const EventContext &) const override
SG::ReadCondHandleKey< SCT_CalibDefectData > m_condKeyGain
SG::ReadCondHandleKey< SCT_CalibDefectData > m_condKeyNoise
virtual SCT_CalibDefectData::CalibModuleDefects defectsSummary(const Identifier &moduleId, const std::string &scan, const EventContext &ctx) const override
Returns module summary of defect.
virtual bool isGood(const Identifier &elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
Summarise the result from the tool as good/bad.
const SCT_ID * m_id_sct
Handle to SCT ID helper.
const SCT_CalibDefectData * getCondDataNoise(const EventContext &ctx) const
ToolHandle< ISCT_CablingTool > m_cabling
const SCT_CalibDefectData * getCondDataGain(const EventContext &ctx) const
const InDetDD::SiDetectorElement * getDetectorElement(const IdentifierHash &waferHash, const EventContext &ctx) const
virtual ISCT_ReadCalibDataTool::CalibDefectType defectType(const Identifier &stripId, const EventContext &ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
Return summary of defect type and values for a strip.
const SCT_AllGoodStripInfo * getCondDataInfo(const EventContext &ctx) const
virtual void getDetectorElementStatus(const EventContext &ctx, InDet::SiDetectorElementStatus &element_status, SG::WriteCondHandle< InDet::SiDetectorElementStatus > *whandle) const override
virtual std::list< Identifier > defectList(const std::string &defect, const EventContext &ctx) const override
Returns module summary of defect.
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
virtual bool canReportAbout(InDetConditions::Hierarchy h) const override
SCT_ReadCalibDataTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
virtual bool isGood(const IdentifierHash &) const override
same thing with id hash, introduced by shaun with dummy method for now
virtual ~SCT_ReadCalibDataTool()=default
Destructor.
void scan(TDirectory *td=0, int depth=0)
Definition listroot.cxx:440