ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetConditions
SCT_ConditionsTools
src
SCT_MajorityConditionsTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
SCT_MajorityConditionsTool.h
"
6
7
#include "
SCT_ConditionsData/SCT_ConditionsParameters.h
"
8
9
// Gaudi includes
10
#include "GaudiKernel/StatusCode.h"
11
12
using namespace
SCT_ConditionsData
;
13
14
// Constructor
15
SCT_MajorityConditionsTool::SCT_MajorityConditionsTool
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent) :
16
base_class(
type
, name, parent)
17
{
18
}
19
20
// Initialize
21
StatusCode
SCT_MajorityConditionsTool::initialize
() {
22
ATH_MSG_INFO
(
"Initializing SCT_MajorityConditionsTool"
);
23
24
// Read Cond Handle Key
25
ATH_CHECK
(
m_condKey
.initialize());
26
27
return
StatusCode::SUCCESS;
28
}
29
30
// Finalize
31
StatusCode
SCT_MajorityConditionsTool::finalize
() {
32
ATH_MSG_INFO
(
"Finalizing SCT_MajorityConditionsTool"
);
33
34
return
StatusCode::SUCCESS;
35
}
36
37
// Is the detector good?
38
bool
SCT_MajorityConditionsTool::isGood
(
const
EventContext& ctx)
const
{
39
const
SCT_MajorityCondData
* condData{
getCondData
(ctx)};
40
if
(condData==
nullptr
)
return
false
;
41
42
if
(
m_overall
) {
43
return
(condData->
getMajorityState
(
OVERALL
) and (condData->
getHVFraction
(
OVERALL
) >
m_majorityFraction
));
44
}
else
{
45
return
((condData->
getMajorityState
(
BARREL
) and condData->
getMajorityState
(
ECA
) and condData->
getMajorityState
(
ECC
)) and
46
(condData->
getHVFraction
(
BARREL
) >
m_majorityFraction
) and
47
(condData->
getHVFraction
(
ECA
) >
m_majorityFraction
) and
48
(condData->
getHVFraction
(
ECC
) >
m_majorityFraction
));
49
}
50
}
51
52
// Is a barrel/endcap good?
53
bool
SCT_MajorityConditionsTool::isGood
(
int
bec,
const
EventContext& ctx)
const
{
54
const
SCT_MajorityCondData
* condData{
getCondData
(ctx)};
55
if
(condData==
nullptr
)
return
false
;
56
57
bool
result{
true
};
58
59
// Check numbering
60
61
if
(bec ==
bec_BARREL
) {
62
result = (condData->
getMajorityState
(
BARREL
) and (condData->
getHVFraction
(
BARREL
) >
m_majorityFraction
));
63
}
else
if
(bec ==
bec_ECC
) {
64
result = (condData->
getMajorityState
(
ECC
) and (condData->
getHVFraction
(
ECC
) >
m_majorityFraction
));
65
}
else
if
(bec ==
bec_ECA
) {
66
result = (condData->
getMajorityState
(
ECA
) and (condData->
getHVFraction
(
ECA
) >
m_majorityFraction
));
67
}
else
{
68
ATH_MSG_WARNING
(
"Unrecognised BEC "
<< bec);
69
}
70
71
return
result;
72
}
73
74
const
SCT_MajorityCondData
*
SCT_MajorityConditionsTool::getCondData
(
const
EventContext& ctx)
const
{
75
SG::ReadCondHandle<SCT_MajorityCondData>
condData{
m_condKey
, ctx};
76
return
condData.
retrieve
();
77
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:31
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition
AthMsgStreamMacros.h:32
SCT_ConditionsParameters.h
header file containing the number of elements and enumerated type of parameters which may be retrieve...
SCT_MajorityConditionsTool.h
header file for tool
SCT_MajorityCondData
Class for data object used in SCT_MajorityCondAlg and SCT_MajorityConditionsTool.
Definition
SCT_MajorityCondData.h:23
SCT_MajorityCondData::getHVFraction
float getHVFraction(const int ®ion) const
Get HV fraction for a region.
Definition
SCT_MajorityCondData.cxx:52
SCT_MajorityCondData::getMajorityState
bool getMajorityState(const int ®ion) const
Get majority state for a region.
Definition
SCT_MajorityCondData.cxx:28
SCT_MajorityConditionsTool::getCondData
const SCT_MajorityCondData * getCondData(const EventContext &ctx) const
Definition
SCT_MajorityConditionsTool.cxx:74
SCT_MajorityConditionsTool::m_condKey
SG::ReadCondHandleKey< SCT_MajorityCondData > m_condKey
Definition
SCT_MajorityConditionsTool.h:59
SCT_MajorityConditionsTool::finalize
virtual StatusCode finalize() override
Definition
SCT_MajorityConditionsTool.cxx:31
SCT_MajorityConditionsTool::SCT_MajorityConditionsTool
SCT_MajorityConditionsTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
SCT_MajorityConditionsTool.cxx:15
SCT_MajorityConditionsTool::m_majorityFraction
FloatProperty m_majorityFraction
Definition
SCT_MajorityConditionsTool.h:57
SCT_MajorityConditionsTool::m_overall
BooleanProperty m_overall
Definition
SCT_MajorityConditionsTool.h:56
SCT_MajorityConditionsTool::initialize
virtual StatusCode initialize() override
Definition
SCT_MajorityConditionsTool.cxx:21
SCT_MajorityConditionsTool::isGood
virtual bool isGood(const EventContext &ctx) const override
Is the detector good?
Definition
SCT_MajorityConditionsTool.cxx:38
SG::ReadCondHandle
Definition
ReadCondHandle.h:40
SG::ReadCondHandle::retrieve
const_pointer_type retrieve()
Definition
ReadCondHandle.h:161
SCT_ConditionsData
Definition
SCT_ConditionsParameters.h:17
SCT_ConditionsData::ECA
@ ECA
Definition
SCT_ConditionsParameters.h:26
SCT_ConditionsData::OVERALL
@ OVERALL
Definition
SCT_ConditionsParameters.h:24
SCT_ConditionsData::ECC
@ ECC
Definition
SCT_ConditionsParameters.h:27
SCT_ConditionsData::BARREL
@ BARREL
Definition
SCT_ConditionsParameters.h:25
SCT_ConditionsData::bec_ECC
@ bec_ECC
Definition
SCT_ConditionsParameters.h:31
SCT_ConditionsData::bec_ECA
@ bec_ECA
Definition
SCT_ConditionsParameters.h:31
SCT_ConditionsData::bec_BARREL
@ bec_BARREL
Definition
SCT_ConditionsParameters.h:31
type
Generated on
for ATLAS Offline Software by
1.17.0