ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
D3PDMaker
MuonD3PDMaker
src
MuonTruthClassificationFillerTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
11
12
#include "
MuonTruthClassificationFillerTool.h
"
13
#include "
AthenaKernel/errorcheck.h
"
14
#include "
xAODMuon/Muon.h
"
15
16
namespace
D3PD
{
17
18
MuonTruthClassificationFillerTool::MuonTruthClassificationFillerTool
(
const
std::string&
type
,
19
const
std::string& name,
20
const
IInterface* parent)
21
:
Base
(
type
, name, parent),
22
m_classifier
(
"MCTruthClassifier"
)
23
{
24
declareProperty (
"Classifier"
,
m_classifier
,
"Classifier tool instance."
);
25
26
MuonTruthClassificationFillerTool::book
().ignore();
// Avoid coverity warnings.
27
}
28
29
StatusCode
MuonTruthClassificationFillerTool::initialize
() {
30
CHECK
(
m_classifier
.retrieve() );
31
return
Base::initialize();
32
}
33
34
35
StatusCode
MuonTruthClassificationFillerTool::book
() {
36
CHECK
(
addVariable
(
"type"
,
m_type
,
"MC particle type, from classifier tool"
) );
37
CHECK
(
addVariable
(
"origin"
,
m_origin
,
"MC particle origin, from classifier tool"
) );
38
39
return
StatusCode::SUCCESS;
40
}
41
42
StatusCode
MuonTruthClassificationFillerTool::fill
(
const
xAOD::Muon
& p) {
43
44
std::pair<
MCTruthPartClassifier::ParticleType
,
45
MCTruthPartClassifier::ParticleOrigin
>
res
;
46
47
res
=
m_classifier
->particleTruthClassifier(&p);
48
49
*
m_type
=
res
.first;
50
*
m_origin
=
res
.second;
51
52
return
StatusCode::SUCCESS;
53
}
54
55
}
// namespace D3PD
errorcheck.h
Helpers for checking error return status codes and reporting errors.
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:422
Muon.h
res
std::pair< std::vector< unsigned int >, bool > res
Definition
JetGroupProductTest.cxx:11
MuonTruthClassificationFillerTool.h
Block filler for truth classification of muons - uses MCTruthClassifier.
D3PD::BlockFillerTool< xAOD::Muon >::addVariable
virtual StatusCode addVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
Definition
AddVariable.cxx:85
D3PD::MuonTruthClassificationFillerTool::m_origin
int * m_origin
Definition
MuonTruthClassificationFillerTool.h:41
D3PD::MuonTruthClassificationFillerTool::MuonTruthClassificationFillerTool
MuonTruthClassificationFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
MuonTruthClassificationFillerTool.cxx:18
D3PD::MuonTruthClassificationFillerTool::Base
BlockFillerTool< xAOD::Muon > Base
Definition
MuonTruthClassificationFillerTool.h:27
D3PD::MuonTruthClassificationFillerTool::fill
virtual StatusCode fill(const xAOD::Muon &p)
Fill one block.
Definition
MuonTruthClassificationFillerTool.cxx:42
D3PD::MuonTruthClassificationFillerTool::book
virtual StatusCode book()
Declare tuple variables.
Definition
MuonTruthClassificationFillerTool.cxx:35
D3PD::MuonTruthClassificationFillerTool::m_type
int * m_type
Definition
MuonTruthClassificationFillerTool.h:40
D3PD::MuonTruthClassificationFillerTool::initialize
StatusCode initialize()
Definition
MuonTruthClassificationFillerTool.cxx:29
D3PD::MuonTruthClassificationFillerTool::m_classifier
ToolHandle< IMCTruthClassifier > m_classifier
Definition
MuonTruthClassificationFillerTool.h:44
D3PD
Block filler tool for noisy FEB information.
Definition
CaloCellDetailsFillerTool.cxx:29
MCTruthPartClassifier::ParticleOrigin
ParticleOrigin
Definition
TruthClasses.h:53
MCTruthPartClassifier::ParticleType
ParticleType
Definition
TruthClasses.h:10
xAOD::Muon
Muon_v1 Muon
Reference the current persistent version:
Definition
Event/xAOD/xAODMuon/xAODMuon/Muon.h:13
type
Generated on
for ATLAS Offline Software by
1.17.0