ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
HeavyIonRec
HIJetRec
Root
HIJetMaxOverMeanTool.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 "
StoreGate/WriteDecorHandle.h
"
5
6
#include "
HIJetMaxOverMeanTool.h
"
7
8
HIJetMaxOverMeanTool::HIJetMaxOverMeanTool
(
const
std::string& t) :
asg
::
AsgTool
(t)
9
{
10
declareInterface<IJetDecorator>(
this
);
11
}
12
13
14
StatusCode
HIJetMaxOverMeanTool::initialize
()
15
{
16
if
(
m_jetContainerName
.empty() ){
17
ATH_MSG_ERROR
(
"HIJetMaxOverMeanTool needs to have its input jet container name configured!"
);
18
return
StatusCode::FAILURE;
19
}
20
//Preped Jet Container Name
21
m_jetMaxConstituentETKey
=
m_jetContainerName
+
"."
+
m_jetMaxConstituentETKey
.key();
22
m_jetMaxOverMeanKey
=
m_jetContainerName
+
"."
+
m_jetMaxOverMeanKey
.key();
23
24
ATH_CHECK
(
m_jetMaxConstituentETKey
.initialize() );
25
ATH_CHECK
(
m_jetMaxOverMeanKey
.initialize() );
26
27
return
StatusCode::SUCCESS;
28
29
}
30
31
StatusCode
HIJetMaxOverMeanTool::decorate
(
const
xAOD::JetContainer
& jets)
const
32
{
33
//Decorator handlers
34
SG::WriteDecorHandle<xAOD::JetContainer, float>
jetMaxConstituentETDecorHandle(
m_jetMaxConstituentETKey
);
35
SG::WriteDecorHandle<xAOD::JetContainer, float>
jetMaxOverMeanDecorHandle (
m_jetMaxOverMeanKey
);
36
for
(
const
xAOD::Jet
*
jet
: jets)
37
{
38
float
max
=-999;
39
float
sum=0;
40
float
count
=0;
41
const
xAOD::JetConstituentVector
constituents =
jet
->getConstituents();
42
for
(
const
auto
*constituent : constituents)
43
{
44
float
et
=constituent->e()/std::cosh(constituent->eta());
45
if
(
et
>
max
)
max
=
et
;
46
sum+=
et
;
47
count
++;
48
}
49
if
(
count
==0.) sum=0;
50
else
sum/=
count
;
51
float
D=0;
52
if
(sum!=0.) D=
max
/sum;
53
54
// set the attributes
55
jetMaxConstituentETDecorHandle(*
jet
) =
max
;
56
jetMaxOverMeanDecorHandle(*
jet
) = D;
57
58
}
59
return
StatusCode::SUCCESS;
60
}
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
HIJetMaxOverMeanTool.h
WriteDecorHandle.h
Handle class for adding a decoration to an object.
max
#define max(a, b)
Definition
cfImp.cxx:41
HIJetMaxOverMeanTool::m_jetMaxConstituentETKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_jetMaxConstituentETKey
Definition
HIJetMaxOverMeanTool.h:45
HIJetMaxOverMeanTool::m_jetMaxOverMeanKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_jetMaxOverMeanKey
Definition
HIJetMaxOverMeanTool.h:46
HIJetMaxOverMeanTool::HIJetMaxOverMeanTool
HIJetMaxOverMeanTool(const std::string &t)
Definition
HIJetMaxOverMeanTool.cxx:8
HIJetMaxOverMeanTool::decorate
virtual StatusCode decorate(const xAOD::JetContainer &jets) const override
Decorate a jet collection without otherwise modifying it.
Definition
HIJetMaxOverMeanTool.cxx:31
HIJetMaxOverMeanTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
HIJetMaxOverMeanTool.cxx:14
HIJetMaxOverMeanTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition
HIJetMaxOverMeanTool.h:48
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition
StoreGate/StoreGate/WriteDecorHandle.h:100
asg::AsgTool::AsgTool
AsgTool(const std::string &name)
Constructor specifying the tool instance's name.
Definition
AsgTool.cxx:58
xAOD::JetConstituentVector
A vector of jet constituents at the scale used during jet finding.
Definition
JetConstituentVector.h:117
count
int count(std::string s, const std::string ®x)
count how many occurances of a regx are in a string
Definition
hcg.cxx:148
asg
Definition
DataHandleTestTool.h:28
jet
Definition
JetCalibTools_PlotJESFactors.cxx:23
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition
Event/xAOD/xAODJet/xAODJet/Jet.h:17
xAOD::JetContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Definition
JetContainer.h:17
et
Extra patterns decribing particle interation process.
Generated on
for ATLAS Offline Software by
1.17.0