ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetValidation
InDetTrackPerfMon
src
TrackRoiSelectionTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef INDETTRACKPERFMON_TRACKROISELECTIONTOOL_H
6
#define INDETTRACKPERFMON_TRACKROISELECTIONTOOL_H
7
14
16
#include "
AsgTools/IAsgTool.h
"
17
#include "
AsgTools/AsgTool.h
"
18
#include "
TrigDecisionTool/TrigDecisionTool.h
"
19
#include "AthLinks/ElementLink.h"
20
22
#include <string>
23
#include <vector>
24
25
class
TrigRoiDescriptorCollection
;
26
27
namespace
IDTPM
{
28
29
class
TrackAnalysisCollections
;
30
31
typedef
struct
{
32
float
z
;
33
float
r
;
34
float
tantheta
;
35
}
exitPoint_t
;
36
37
class
TrackRoiSelectionTool
:
38
public
virtual
asg::IAsgTool
,
39
public
asg::AsgTool
{
40
41
public
:
42
43
ASG_TOOL_CLASS
(
TrackRoiSelectionTool
, IAsgTool );
44
46
TrackRoiSelectionTool
(
const
std::string& name );
47
49
virtual
~TrackRoiSelectionTool
() =
default
;
50
52
virtual
StatusCode
initialize
()
override
;
53
55
StatusCode
selectTracksInRoI
(
56
TrackAnalysisCollections
& trkAnaColls,
57
const
ElementLink< TrigRoiDescriptorCollection >
& roiLink );
58
60
template
<
class
T >
61
bool
accept
(
const
T& t,
const
TrigRoiDescriptor
*
r
)
const
;
62
64
template
<
class
T >
65
std::vector< const T* >
getTracks
(
66
const
std::vector< const T* >& tvec,
67
const
TrigRoiDescriptor
*
r
)
const
;
68
70
std::vector< const xAOD::TrackParticle* >
getTrigTracks
(
71
const
std::vector< const xAOD::TrackParticle* >& tvec,
72
const
ElementLink< TrigRoiDescriptorCollection >
& roiLink )
const
;
73
74
private
:
75
77
exitPoint_t
getExitPoint
(
float
tz0,
float
teta )
const
;
78
79
float
getOuterPhi
(
float
pt,
float
phi
,
float
r
=1000. )
const
;
80
82
SG::ReadHandleKey< xAOD::TrackParticleContainer >
m_triggerTrkParticleName
{
83
this
,
"TriggerTrkParticleContainerName"
,
""
,
"Name of container of trigger tracks"
};
84
86
PublicToolHandle< Trig::TrigDecisionTool >
m_trigDecTool
{
87
this
,
"TrigDecisionTool"
,
"Trig::TrigDecisionTool/TrigDecisionTool"
,
""
};
88
89
};
// class TrackRoiSelectionTool
90
91
}
// namespace IDTPM
92
93
94
#endif
// > !INDETTRACKPERFMON_TRACKROISELECTIONTOOL_H
AsgTool.h
IAsgTool.h
TrigDecisionTool.h
ElementLink< TrigRoiDescriptorCollection >
IDTPM::TrackAnalysisCollections
Definition
TrackAnalysisCollections.h:46
IDTPM::TrackRoiSelectionTool::initialize
virtual StatusCode initialize() override
Initialize.
Definition
TrackRoiSelectionTool.cxx:38
IDTPM::TrackRoiSelectionTool::m_triggerTrkParticleName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_triggerTrkParticleName
Trigger TrackParticleContainer's name.
Definition
TrackRoiSelectionTool.h:82
IDTPM::TrackRoiSelectionTool::ASG_TOOL_CLASS
ASG_TOOL_CLASS(TrackRoiSelectionTool, IAsgTool)
IDTPM::TrackRoiSelectionTool::~TrackRoiSelectionTool
virtual ~TrackRoiSelectionTool()=default
Destructor.
IDTPM::TrackRoiSelectionTool::getOuterPhi
float getOuterPhi(float pt, float phi, float r=1000.) const
Definition
TrackRoiSelectionTool.cxx:128
IDTPM::TrackRoiSelectionTool::getTracks
std::vector< const T * > getTracks(const std::vector< const T * > &tvec, const TrigRoiDescriptor *r) const
track getter function (for offline tracks or truth particles)
Definition
TrackRoiSelectionTool.cxx:199
IDTPM::TrackRoiSelectionTool::m_trigDecTool
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool
TrigDecTool.
Definition
TrackRoiSelectionTool.h:86
IDTPM::TrackRoiSelectionTool::accept
bool accept(const T &t, const TrigRoiDescriptor *r) const
geometric RoI filters - for non-trigger tracks (e.g. offline, truth, etc.)
Definition
TrackRoiSelectionTool.cxx:57
IDTPM::TrackRoiSelectionTool::getTrigTracks
std::vector< const xAOD::TrackParticle * > getTrigTracks(const std::vector< const xAOD::TrackParticle * > &tvec, const ElementLink< TrigRoiDescriptorCollection > &roiLink) const
TrigDecTool- and EventView-based getter function for trigger tracks.
Definition
TrackRoiSelectionTool.cxx:232
IDTPM::TrackRoiSelectionTool::getExitPoint
exitPoint_t getExitPoint(float tz0, float teta) const
Geometric utility methods for track-RoI association.
Definition
TrackRoiSelectionTool.cxx:156
IDTPM::TrackRoiSelectionTool::selectTracksInRoI
StatusCode selectTracksInRoI(TrackAnalysisCollections &trkAnaColls, const ElementLink< TrigRoiDescriptorCollection > &roiLink)
Main Track selection method.
Definition
TrackRoiSelectionTool.cxx:264
IDTPM::TrackRoiSelectionTool::TrackRoiSelectionTool
TrackRoiSelectionTool(const std::string &name)
Constructor.
Definition
TrackRoiSelectionTool.cxx:30
SG::ReadHandleKey< xAOD::TrackParticleContainer >
TrigRoiDescriptorCollection
Definition
TrigRoiDescriptorCollection.h:14
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
Definition
TrigRoiDescriptor.h:48
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition
IAsgTool.h:41
r
int r
Definition
globals.cxx:22
IDTPM
Athena include(s).
Definition
IPlotsDefinitionSvc.h:25
IDTPM::phi
float phi(const U &p)
Definition
TrackParametersHelper.h:61
IDTPM::exitPoint_t
Definition
TrackRoiSelectionTool.h:31
IDTPM::exitPoint_t::r
float r
Definition
TrackRoiSelectionTool.h:33
IDTPM::exitPoint_t::tantheta
float tantheta
Definition
TrackRoiSelectionTool.h:34
IDTPM::exitPoint_t::z
float z
Definition
TrackRoiSelectionTool.h:32
Generated on
for ATLAS Offline Software by
1.17.0