ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
D3PDMaker
MuonD3PDMaker
src
MuonTrackParticleAssociationTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// $Id$
12
13
14
#include "
MuonTrackParticleAssociationTool.h
"
15
#include "
AthenaKernel/errorcheck.h
"
16
17
18
namespace
D3PD
{
19
20
27
MuonTrackParticleAssociationTool::MuonTrackParticleAssociationTool
28
(
const
std::string&
type
,
29
const
std::string& name,
30
const
IInterface* parent)
31
:
Base
(
type
, name, parent),
32
m_type
(
PRIMARY
)
33
{
34
declareProperty (
"Type"
,
m_typeprop
=
"Primary"
,
35
"Which TrackParticle to return. One of "
36
"Primary, Combined, "
37
"InDet, InDetOrPrimary, MuonSpectrometer"
);
38
}
39
40
44
StatusCode
MuonTrackParticleAssociationTool::initialize
()
45
{
46
CHECK
( Base::initialize() );
47
48
if
(
m_typeprop
==
"Primary"
)
49
m_type
=
PRIMARY
;
50
else
if
(
m_typeprop
==
"Combined"
)
51
m_type
=
COMBINED
;
52
else
if
(
m_typeprop
==
"InDet"
)
53
m_type
=
INDET
;
54
else
if
(
m_typeprop
==
"InDetOrPrimary"
)
55
m_type
=
INDET_OR_PRIMARY
;
56
else
if
(
m_typeprop
==
"MuonSpectrometer"
) {
57
m_type
=
MUONSPECTROMETER
;
58
REPORT_MESSAGE
(MSG::INFO) <<
"called with type : MuonSpectrometer"
<<
m_typeprop
;
59
}
60
else
{
61
REPORT_MESSAGE
(MSG::ERROR) <<
"Bad type property "
<<
m_typeprop
;
62
return
StatusCode::FAILURE;
63
}
64
return
StatusCode::SUCCESS;
65
}
66
67
74
const
xAOD::TrackParticle
*
75
MuonTrackParticleAssociationTool::get
(
const
xAOD::Muon
& p)
76
{
77
switch
(
m_type
) {
78
case
PRIMARY
:
79
return
p.trackParticle(xAOD::Muon::TrackParticleType::Primary);
80
case
COMBINED
:
81
return
p.trackParticle (xAOD::Muon::CombinedTrackParticle);
82
case
INDET
:
83
return
p.trackParticle (xAOD::Muon::InnerDetectorTrackParticle);
84
case
MUONSPECTROMETER
:
85
return
p.trackParticle (xAOD::Muon::MuonSpectrometerTrackParticle);
86
case
INDET_OR_PRIMARY
:
87
{
88
const
xAOD::TrackParticle
* t = p.trackParticle (xAOD::Muon::InnerDetectorTrackParticle);
89
if
(!t)
90
t = p.trackParticle(xAOD::Muon::TrackParticleType::Primary);
91
return
t;
92
}
93
}
94
std::abort();
95
}
96
97
98
}
// namespace D3PD
errorcheck.h
Helpers for checking error return status codes and reporting errors.
REPORT_MESSAGE
#define REPORT_MESSAGE(LVL)
Report a message.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:365
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:422
MuonTrackParticleAssociationTool.h
Associate from an egamma to its primary TrackParticle.
D3PD::MuonTrackParticleAssociationTool::initialize
StatusCode initialize()
Standard Gaudi initialize method.
Definition
MuonTrackParticleAssociationTool.cxx:44
D3PD::MuonTrackParticleAssociationTool::MuonTrackParticleAssociationTool
MuonTrackParticleAssociationTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition
MuonTrackParticleAssociationTool.cxx:28
D3PD::MuonTrackParticleAssociationTool::Base
SingleAssociationTool< xAOD::Muon, xAOD::TrackParticle > Base
Definition
MuonTrackParticleAssociationTool.h:36
D3PD::MuonTrackParticleAssociationTool::m_type
enum D3PD::MuonTrackParticleAssociationTool::@372270170125360343007163127121224053354206170074 m_type
D3PD::MuonTrackParticleAssociationTool::get
virtual const xAOD::TrackParticle * get(const xAOD::Muon &p)
Return the target object.
Definition
MuonTrackParticleAssociationTool.cxx:75
D3PD::MuonTrackParticleAssociationTool::INDET
@ INDET
Definition
MuonTrackParticleAssociationTool.h:70
D3PD::MuonTrackParticleAssociationTool::INDET_OR_PRIMARY
@ INDET_OR_PRIMARY
Definition
MuonTrackParticleAssociationTool.h:71
D3PD::MuonTrackParticleAssociationTool::PRIMARY
@ PRIMARY
Definition
MuonTrackParticleAssociationTool.h:68
D3PD::MuonTrackParticleAssociationTool::MUONSPECTROMETER
@ MUONSPECTROMETER
Definition
MuonTrackParticleAssociationTool.h:72
D3PD::MuonTrackParticleAssociationTool::COMBINED
@ COMBINED
Definition
MuonTrackParticleAssociationTool.h:69
D3PD::MuonTrackParticleAssociationTool::m_typeprop
std::string m_typeprop
Property: Which track particle should we return.
Definition
MuonTrackParticleAssociationTool.h:65
D3PD
Block filler tool for noisy FEB information.
Definition
CaloCellDetailsFillerTool.cxx:29
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
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