ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetValidation
InDetTrackPerfMon
src
OfflineTrackQualitySelectionTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
OfflineTrackQualitySelectionTool.h
"
6
#include "
TrackAnalysisCollections.h
"
7
#include "
TrackParametersHelper.h
"
8
#include "
OfflineObjectDecorHelper.h
"
9
10
namespace
IDTPM
{
11
12
OfflineTrackQualitySelectionTool::OfflineTrackQualitySelectionTool
(
const
std::string& name )
13
:
asg
::
AsgTool
( name ) { }
14
15
StatusCode
OfflineTrackQualitySelectionTool::initialize
()
16
{
17
ATH_CHECK
(
asg::AsgTool::initialize
() );
18
ATH_CHECK
(
m_offlineTool
.retrieve() );
19
return
StatusCode::SUCCESS;
20
}
21
22
StatusCode
OfflineTrackQualitySelectionTool::selectTracks
(
23
TrackAnalysisCollections
& trkAnaColls )
24
{
25
std::vector< const xAOD::TrackParticle* > selected;
26
for
(
const
xAOD::TrackParticle
* track :
27
trkAnaColls.
offlTrackVec
(
TrackAnalysisCollections::FS
) ) {
28
if
(
accept
( track ) ) selected.push_back( track );
29
}
30
31
ATH_MSG_DEBUG
(
"Size before selection: "
<<
32
trkAnaColls.
offlTrackVec
(
TrackAnalysisCollections::FS
).size() <<
33
"\t Size after selection: "
<< selected.size() );
34
36
ATH_CHECK
( trkAnaColls.
fillOfflTrackVec
( selected,
TrackAnalysisCollections::FS
) );
37
38
return
StatusCode::SUCCESS;
39
}
40
41
bool
OfflineTrackQualitySelectionTool::accept
(
const
xAOD::TrackParticle
* track )
42
{
44
if
( not
m_offlineTool
->accept( track ) )
return
false
;
// TODO vertex needs to be provided here
45
47
if
(
m_maxPt
!=-9999. and (
pT
(*track)) >
m_maxPt
)
return
false
;
48
if
(
m_maxEta
!=-9999. and (
eta
(*track)) >
m_maxEta
)
return
false
;
49
if
(
m_minEta
!=-9999. and (
eta
(*track)) <
m_minEta
)
return
false
;
50
if
(
m_minPhi
!=-9999. and (
phi
(*track)) <
m_minPhi
)
return
false
;
51
if
(
m_maxPhi
!=-9999. and (
phi
(*track)) >
m_maxPhi
)
return
false
;
52
if
(
m_minD0
!=-9999. and (
d0
(*track)) <
m_minD0
)
return
false
;
53
if
(
m_minZ0
!=-9999. and (
z0
(*track)) <
m_minZ0
)
return
false
;
54
if
(
m_minQoPT
!=-9999. and (
qOverPT
(*track)) <
m_minQoPT
)
return
false
;
55
if
(
m_maxQoPT
!=-9999. and (
qOverPT
(*track)) >
m_maxQoPT
)
return
false
;
56
if
(
m_minAbsEta
!=-9999. and std::fabs(
eta
(*track)) <
m_minAbsEta
)
return
false
;
57
if
(
m_minAbsPhi
!=-9999. and std::fabs(
phi
(*track)) <
m_minAbsPhi
)
return
false
;
58
if
(
m_maxAbsPhi
!=-9999. and std::fabs(
phi
(*track)) >
m_maxAbsPhi
)
return
false
;
59
if
(
m_minAbsD0
!=-9999. and std::fabs(
d0
(*track)) <
m_minAbsD0
)
return
false
;
60
if
(
m_maxAbsD0
!=-9999. and std::fabs(
d0
(*track)) >
m_maxAbsD0
)
return
false
;
61
if
(
m_minAbsZ0
!=-9999. and std::fabs(
z0
(*track)) <
m_minAbsZ0
)
return
false
;
62
if
(
m_maxAbsZ0
!=-9999. and std::fabs(
z0
(*track)) >
m_maxAbsZ0
)
return
false
;
63
if
(
m_minAbsQoPT
!=-9999. and std::fabs(
qOverPT
(*track)) <
m_minAbsQoPT
)
return
false
;
64
if
(
m_maxAbsQoPT
!=-9999. and std::fabs(
qOverPT
(*track)) >
m_maxAbsQoPT
)
return
false
;
65
if
( !
m_etaBins
.empty() ) {
66
if
(!
m_minHitsVec
.empty() and !
nHitsSelVec
(*track,
m_minHitsVec
,
m_etaBins
))
return
false
;
67
if
(!
m_minPtVec
.empty() and !
minPtSelVec
(*track,
m_minPtVec
,
m_etaBins
))
return
false
;
68
if
(!
m_maxD0Vec
.empty() and !
maxD0SelVec
(*track,
m_maxD0Vec
,
m_etaBins
))
return
false
;
69
if
(!
m_maxZ0Vec
.empty() and !
maxZ0SelVec
(*track,
m_maxZ0Vec
,
m_etaBins
))
return
false
;
70
}
71
72
return
true
;
73
}
74
75
}
// namespace IDTPM
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
OfflineObjectDecorHelper.h
Utility methods to access offline object decorations.
OfflineTrackQualitySelectionTool.h
TrackAnalysisCollections.h
Class to hold for each event collections needed in the TrkAnalsis.
TrackParametersHelper.h
Utility methods to access track/truth particles parmeters in a consitent way in this package.
IDTPM::OfflineTrackQualitySelectionTool::m_maxAbsD0
FloatProperty m_maxAbsD0
Definition
OfflineTrackQualitySelectionTool.h:50
IDTPM::OfflineTrackQualitySelectionTool::m_maxD0Vec
FloatArrayProperty m_maxD0Vec
Definition
OfflineTrackQualitySelectionTool.h:67
IDTPM::OfflineTrackQualitySelectionTool::m_minQoPT
FloatProperty m_minQoPT
Definition
OfflineTrackQualitySelectionTool.h:62
IDTPM::OfflineTrackQualitySelectionTool::m_etaBins
FloatArrayProperty m_etaBins
Definition
OfflineTrackQualitySelectionTool.h:64
IDTPM::OfflineTrackQualitySelectionTool::m_maxPt
FloatProperty m_maxPt
Definition
OfflineTrackQualitySelectionTool.h:55
IDTPM::OfflineTrackQualitySelectionTool::m_maxEta
FloatProperty m_maxEta
Definition
OfflineTrackQualitySelectionTool.h:57
IDTPM::OfflineTrackQualitySelectionTool::m_minAbsPhi
FloatProperty m_minAbsPhi
Definition
OfflineTrackQualitySelectionTool.h:47
IDTPM::OfflineTrackQualitySelectionTool::m_minPhi
FloatProperty m_minPhi
Definition
OfflineTrackQualitySelectionTool.h:58
IDTPM::OfflineTrackQualitySelectionTool::m_minD0
FloatProperty m_minD0
Definition
OfflineTrackQualitySelectionTool.h:60
IDTPM::OfflineTrackQualitySelectionTool::m_minHitsVec
UnsignedIntegerArrayProperty m_minHitsVec
Definition
OfflineTrackQualitySelectionTool.h:65
IDTPM::OfflineTrackQualitySelectionTool::m_maxAbsQoPT
FloatProperty m_maxAbsQoPT
Definition
OfflineTrackQualitySelectionTool.h:54
IDTPM::OfflineTrackQualitySelectionTool::m_minZ0
FloatProperty m_minZ0
Definition
OfflineTrackQualitySelectionTool.h:61
IDTPM::OfflineTrackQualitySelectionTool::m_minAbsZ0
FloatProperty m_minAbsZ0
Definition
OfflineTrackQualitySelectionTool.h:51
IDTPM::OfflineTrackQualitySelectionTool::m_minAbsD0
FloatProperty m_minAbsD0
Definition
OfflineTrackQualitySelectionTool.h:49
IDTPM::OfflineTrackQualitySelectionTool::m_minEta
FloatProperty m_minEta
Definition
OfflineTrackQualitySelectionTool.h:56
IDTPM::OfflineTrackQualitySelectionTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
OfflineTrackQualitySelectionTool.cxx:15
IDTPM::OfflineTrackQualitySelectionTool::m_maxAbsPhi
FloatProperty m_maxAbsPhi
Definition
OfflineTrackQualitySelectionTool.h:48
IDTPM::OfflineTrackQualitySelectionTool::accept
bool accept(const xAOD::TrackParticle *track)
Definition
OfflineTrackQualitySelectionTool.cxx:41
IDTPM::OfflineTrackQualitySelectionTool::m_minPtVec
FloatArrayProperty m_minPtVec
Definition
OfflineTrackQualitySelectionTool.h:66
IDTPM::OfflineTrackQualitySelectionTool::m_maxZ0Vec
FloatArrayProperty m_maxZ0Vec
Definition
OfflineTrackQualitySelectionTool.h:68
IDTPM::OfflineTrackQualitySelectionTool::selectTracks
virtual StatusCode selectTracks(TrackAnalysisCollections &trkAnaColls) override
Definition
OfflineTrackQualitySelectionTool.cxx:22
IDTPM::OfflineTrackQualitySelectionTool::m_minAbsEta
FloatProperty m_minAbsEta
Definition
OfflineTrackQualitySelectionTool.h:46
IDTPM::OfflineTrackQualitySelectionTool::m_offlineTool
ToolHandle< InDet::IInDetTrackSelectionTool > m_offlineTool
Definition
OfflineTrackQualitySelectionTool.h:44
IDTPM::OfflineTrackQualitySelectionTool::m_maxPhi
FloatProperty m_maxPhi
Definition
OfflineTrackQualitySelectionTool.h:59
IDTPM::OfflineTrackQualitySelectionTool::m_minAbsQoPT
FloatProperty m_minAbsQoPT
Definition
OfflineTrackQualitySelectionTool.h:53
IDTPM::OfflineTrackQualitySelectionTool::m_maxAbsZ0
FloatProperty m_maxAbsZ0
Definition
OfflineTrackQualitySelectionTool.h:52
IDTPM::OfflineTrackQualitySelectionTool::OfflineTrackQualitySelectionTool
OfflineTrackQualitySelectionTool(const std::string &name)
Definition
OfflineTrackQualitySelectionTool.cxx:12
IDTPM::OfflineTrackQualitySelectionTool::m_maxQoPT
FloatProperty m_maxQoPT
Definition
OfflineTrackQualitySelectionTool.h:63
IDTPM::TrackAnalysisCollections
Definition
TrackAnalysisCollections.h:46
IDTPM::TrackAnalysisCollections::offlTrackVec
const std::vector< const xAOD::TrackParticle * > & offlTrackVec(Stage stage=FULL)
Definition
TrackAnalysisCollections.h:231
IDTPM::TrackAnalysisCollections::fillOfflTrackVec
StatusCode fillOfflTrackVec(const std::vector< const xAOD::TrackParticle * > &vec, Stage stage=FULL)
Offline tracks.
Definition
TrackAnalysisCollections.cxx:336
IDTPM::TrackAnalysisCollections::FS
@ FS
Definition
TrackAnalysisCollections.h:54
asg::AsgTool::AsgTool
AsgTool(const std::string &name)
Constructor specifying the tool instance's name.
Definition
AsgTool.cxx:58
asg::AsgTool::initialize
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
Definition
AsgTool.h:133
IDTPM
Athena include(s).
Definition
IPlotsDefinitionSvc.h:25
IDTPM::maxZ0SelVec
bool maxZ0SelVec(const xAOD::TrackParticle &track, const std::vector< float > &maxZ0, const std::vector< float > &etaBins)
Definition
OfflineObjectDecorHelper.h:132
IDTPM::pT
float pT(const U &p)
Accessor utility function for getting the value of pT.
Definition
TrackParametersHelper.h:33
IDTPM::minPtSelVec
bool minPtSelVec(const xAOD::TrackParticle &track, const std::vector< float > &minPt, const std::vector< float > &etaBins)
Definition
OfflineObjectDecorHelper.h:118
IDTPM::nHitsSelVec
bool nHitsSelVec(const PARTICLE &p, const std::vector< unsigned int > &minHits, const std::vector< float > &etaBins)
Definition
OfflineObjectDecorHelper.h:107
IDTPM::qOverPT
float qOverPT(const U &p)
Definition
TrackParametersHelper.h:114
IDTPM::z0
float z0(const U &p)
Definition
TrackParametersHelper.h:72
IDTPM::d0
float d0(const U &p)
Definition
TrackParametersHelper.h:84
IDTPM::maxD0SelVec
bool maxD0SelVec(const xAOD::TrackParticle &track, const std::vector< float > &maxD0, const std::vector< float > &etaBins)
Definition
OfflineObjectDecorHelper.h:125
asg
Definition
DataHandleTestTool.h:28
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
Generated on
for ATLAS Offline Software by
1.17.0