ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigBjetHypo
src
BJetThreeValueCheck.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
#include "
BJetThreeValueCheck.h
"
5
#include "
TrigBjetHypo/safeLogRatio.h
"
6
#include "
AthenaMonitoringKernel/Monitored.h
"
7
8
BJetThreeValueCheck::BJetThreeValueCheck
(
9
const
std::string&
type
,
10
const
std::string& name,
11
const
IInterface* parent ) :
12
AthAlgTool
(
type
, name, parent ),
13
m_acc
(nullptr)
14
{
15
}
16
17
StatusCode
BJetThreeValueCheck::initialize
() {
18
if
(
m_cFraction
< 0 || 1 <
m_cFraction
) {
19
ATH_MSG_ERROR
(
"c-jet fraction for b-tagger likelihood ratio calculation should be between 0 and 1!"
);
20
ATH_MSG_ERROR
(
"c-jet fraction requested: "
<<
m_cFraction
);
21
return
StatusCode::FAILURE;
22
}
23
if
( not
m_monTool
.name().empty() ) {
24
ATH_CHECK
(
m_monTool
.retrieve() );
25
ATH_MSG_DEBUG
(
"MonTool name: "
<<
m_monTool
);
26
}
27
m_acc
.reset(
new
Accessors
{
28
std::string(
m_bName
),
29
std::string(
m_cName
),
30
std::string(
m_uName
)});
31
return
StatusCode::SUCCESS;
32
}
33
34
bool
BJetThreeValueCheck::passThreshold
(
const
xAOD::Jet
& bjet)
const
35
{
36
float
b =
m_acc
->b(bjet);
37
float
c =
m_acc
->c(bjet);
38
float
u =
m_acc
->u(bjet);
39
float
f =
m_cFraction
;
40
float
llr =
safeLogRatio
(b, f*c + (1-f)*u);
41
Monitored::Group
(
m_monTool
,
Monitored::Scalar
(
m_llrName
, llr));
42
return
llr >
m_threshold
;
43
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
BJetThreeValueCheck.h
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
BJetThreeValueCheck::m_llrName
Gaudi::Property< std::string > m_llrName
Definition
BJetThreeValueCheck.h:40
BJetThreeValueCheck::m_bName
Gaudi::Property< std::string > m_bName
Definition
BJetThreeValueCheck.h:26
BJetThreeValueCheck::m_acc
std::unique_ptr< Accessors > m_acc
Definition
BJetThreeValueCheck.h:36
BJetThreeValueCheck::initialize
virtual StatusCode initialize() override
Definition
BJetThreeValueCheck.cxx:17
BJetThreeValueCheck::BJetThreeValueCheck
BJetThreeValueCheck(const std::string &type, const std::string &name, const IInterface *parent)
Definition
BJetThreeValueCheck.cxx:8
BJetThreeValueCheck::passThreshold
virtual bool passThreshold(const xAOD::Jet &) const override
Definition
BJetThreeValueCheck.cxx:34
BJetThreeValueCheck::m_cName
Gaudi::Property< std::string > m_cName
Definition
BJetThreeValueCheck.h:28
BJetThreeValueCheck::m_uName
Gaudi::Property< std::string > m_uName
Definition
BJetThreeValueCheck.h:30
BJetThreeValueCheck::m_threshold
Gaudi::Property< float > m_threshold
Definition
BJetThreeValueCheck.h:34
BJetThreeValueCheck::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition
BJetThreeValueCheck.h:38
BJetThreeValueCheck::m_cFraction
Gaudi::Property< float > m_cFraction
Definition
BJetThreeValueCheck.h:32
Monitored::Group
Group of local monitoring quantities and retain correlation when filling histograms
Definition
MonitoredGroup.h:53
Monitored::Scalar
Declare a monitored scalar variable.
Definition
MonitoredScalar.h:34
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition
Event/xAOD/xAODJet/xAODJet/Jet.h:17
safeLogRatio
float safeLogRatio(float num, float denom)
Definition
safeLogRatio.cxx:10
safeLogRatio.h
BJetThreeValueCheck::Accessors
Definition
BJetThreeValueCheck.h:21
type
Generated on
for ATLAS Offline Software by
1.17.0