ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_MajorityConditionsTool Class Reference

Tool which reports on whether the majority of the SCT (or component) is in LV/HV on state with at least a fraction (default 0.9) of the HV in that state. More...

#include <SCT_MajorityConditionsTool.h>

Inheritance diagram for SCT_MajorityConditionsTool:
Collaboration diagram for SCT_MajorityConditionsTool:

Public Member Functions

 SCT_MajorityConditionsTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~SCT_MajorityConditionsTool ()=default
virtual StatusCode initialize () override
virtual StatusCode finalize () override
virtual bool isGood () const override
 Is the detector good?
virtual bool isGood (const EventContext &ctx) const override
virtual bool isGood (int bec) const override
 Is a barrel/endcap good?
virtual bool isGood (int bec, const EventContext &ctx) const override

Private Member Functions

const SCT_MajorityCondDatagetCondData (const EventContext &ctx) const

Private Attributes

BooleanProperty m_overall {this, "UseOverall", false, "Use overall value or ECA/B/ECC"}
FloatProperty m_majorityFraction {this, "MajorityFraction", 0.9, "Required fraction in majority state"}
SG::ReadCondHandleKey< SCT_MajorityCondDatam_condKey {this, "CondKey", "SCT_MajorityCondData", "Majority of SCT status"}

Detailed Description

Tool which reports on whether the majority of the SCT (or component) is in LV/HV on state with at least a fraction (default 0.9) of the HV in that state.

Definition at line 38 of file SCT_MajorityConditionsTool.h.

Constructor & Destructor Documentation

◆ SCT_MajorityConditionsTool()

SCT_MajorityConditionsTool::SCT_MajorityConditionsTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 16 of file SCT_MajorityConditionsTool.cxx.

16 :
17 base_class(type, name, parent)
18{
19}

◆ ~SCT_MajorityConditionsTool()

virtual SCT_MajorityConditionsTool::~SCT_MajorityConditionsTool ( )
virtualdefault

Member Function Documentation

◆ finalize()

StatusCode SCT_MajorityConditionsTool::finalize ( )
overridevirtual

Definition at line 32 of file SCT_MajorityConditionsTool.cxx.

32 {
33 ATH_MSG_INFO("Finalizing SCT_MajorityConditionsTool");
34
35 return StatusCode::SUCCESS;
36}
#define ATH_MSG_INFO(x)

◆ getCondData()

const SCT_MajorityCondData * SCT_MajorityConditionsTool::getCondData ( const EventContext & ctx) const
private

Definition at line 85 of file SCT_MajorityConditionsTool.cxx.

85 {
86 SG::ReadCondHandle<SCT_MajorityCondData> condData{m_condKey, ctx};
87 return condData.retrieve();
88}
SG::ReadCondHandleKey< SCT_MajorityCondData > m_condKey
const_pointer_type retrieve()

◆ initialize()

StatusCode SCT_MajorityConditionsTool::initialize ( )
overridevirtual

Definition at line 22 of file SCT_MajorityConditionsTool.cxx.

22 {
23 ATH_MSG_INFO("Initializing SCT_MajorityConditionsTool");
24
25 // Read Cond Handle Key
26 ATH_CHECK(m_condKey.initialize());
27
28 return StatusCode::SUCCESS;
29}
#define ATH_CHECK
Evaluate an expression and check for errors.

◆ isGood() [1/4]

bool SCT_MajorityConditionsTool::isGood ( ) const
overridevirtual

Is the detector good?

Definition at line 53 of file SCT_MajorityConditionsTool.cxx.

53 {
54 const EventContext& ctx{Gaudi::Hive::currentContext()};
55 return isGood(ctx);
56}
virtual bool isGood() const override
Is the detector good?

◆ isGood() [2/4]

bool SCT_MajorityConditionsTool::isGood ( const EventContext & ctx) const
overridevirtual

Definition at line 39 of file SCT_MajorityConditionsTool.cxx.

39 {
40 const SCT_MajorityCondData* condData{getCondData(ctx)};
41 if (condData==nullptr) return false;
42
43 if (m_overall) {
44 return (condData->getMajorityState(OVERALL) and (condData->getHVFraction(OVERALL) > m_majorityFraction));
45 } else {
46 return ((condData->getMajorityState(BARREL) and condData->getMajorityState(ECA) and condData->getMajorityState(ECC)) and
47 (condData->getHVFraction(BARREL) > m_majorityFraction) and
48 (condData->getHVFraction(ECA) > m_majorityFraction) and
49 (condData->getHVFraction(ECC) > m_majorityFraction));
50 }
51}
float getHVFraction(const int &region) const
Get HV fraction for a region.
bool getMajorityState(const int &region) const
Get majority state for a region.
const SCT_MajorityCondData * getCondData(const EventContext &ctx) const

◆ isGood() [3/4]

bool SCT_MajorityConditionsTool::isGood ( int bec) const
overridevirtual

Is a barrel/endcap good?

Definition at line 80 of file SCT_MajorityConditionsTool.cxx.

80 {
81 const EventContext& ctx{Gaudi::Hive::currentContext()};
82 return isGood(bec, ctx);
83}

◆ isGood() [4/4]

bool SCT_MajorityConditionsTool::isGood ( int bec,
const EventContext & ctx ) const
overridevirtual

Definition at line 59 of file SCT_MajorityConditionsTool.cxx.

59 {
60 const SCT_MajorityCondData* condData{getCondData(ctx)};
61 if (condData==nullptr) return false;
62
63 bool result{true};
64
65 // Check numbering
66
67 if (bec == bec_BARREL) {
68 result = (condData->getMajorityState(BARREL) and (condData->getHVFraction(BARREL) > m_majorityFraction));
69 } else if (bec == bec_ECC) {
70 result = (condData->getMajorityState(ECC) and (condData->getHVFraction(ECC) > m_majorityFraction));
71 } else if (bec == bec_ECA) {
72 result = (condData->getMajorityState(ECA) and (condData->getHVFraction(ECA) > m_majorityFraction));
73 } else {
74 ATH_MSG_WARNING("Unrecognised BEC " << bec);
75 }
76
77 return result;
78}
#define ATH_MSG_WARNING(x)

Member Data Documentation

◆ m_condKey

SG::ReadCondHandleKey<SCT_MajorityCondData> SCT_MajorityConditionsTool::m_condKey {this, "CondKey", "SCT_MajorityCondData", "Majority of SCT status"}
private

Definition at line 61 of file SCT_MajorityConditionsTool.h.

61{this, "CondKey", "SCT_MajorityCondData", "Majority of SCT status"};

◆ m_majorityFraction

FloatProperty SCT_MajorityConditionsTool::m_majorityFraction {this, "MajorityFraction", 0.9, "Required fraction in majority state"}
private

Definition at line 59 of file SCT_MajorityConditionsTool.h.

59{this, "MajorityFraction", 0.9, "Required fraction in majority state"};

◆ m_overall

BooleanProperty SCT_MajorityConditionsTool::m_overall {this, "UseOverall", false, "Use overall value or ECA/B/ECC"}
private

Definition at line 58 of file SCT_MajorityConditionsTool.h.

58{this, "UseOverall", false, "Use overall value or ECA/B/ECC"};

The documentation for this class was generated from the following files: